{"version":3,"file":"sm.portal.vm.degreeAudit.widget.min.js","names":["jQuery","undefined","sm","window","portal","extend","widget","PrimaryGoalDataList","ko","observableArray","CurrentSelectedTabName","observable","AcademicProgramsSection","AcademicLevelsSection","EnrollmentLevelsSection","AcademicPeriodsSection","AverageDateRangesSection","CreditTypesSection","DegreeAuditViewModel","this","IsUserDefinedAverageEnabled","LoadModel","container","Payload","Entity","IsMatchingIDs","milestone","DegreeRequirementMilestone","ID","SearchID","FormatDate","date","dt","Date","doc","getDate","getMonth","getFullYear","DegreeName","Name","GID","UnitOfMeasure","DegreeInProgress","toFixed","DegreeCompleted","MinCreditRequired","CreditsRemaining","MinGPARequired","CummulativeGPA","FinalGrade","ConfirmationStatus","showFinalGrade","PercentageDegreeComplete","PercentageDegreeInProgress","TotalDegreeCredits","DegreeCreditsInProgress","DegreeReserved","DegreeWaitlisted","DegreeCreditsCompleted","GPAAttained","ReassessedGradeFunctionality","MinimumMilestones","MilestonesRemaining","ResidencyRequirementMet","CourseGroupsCreditCompleted","CourseGroupCreditsCompleted","CurrentlyEnrolled","DegreeAuditEvaluations","each","dae","Milestones","forEach","ms","MilestoneType","BusinessMeaningName","MilestoneTypePC","find","DateOfCompletion","MilestoneTypeOther","Score","MilestoneQueryListMappings","self","push","StudentCumulativeAverage","AcademicPrograms","AcademicLevels","EnrollmentLevels","AcademicPeriods","AverageDateRanges","CreditTypes","ReloadDegreeAudit","UpdateReqIndicators","ViewApplicableCourses","wireUpFulfillment","wireUpTransfers","LoadAwards","currentStudentDegreeAudit","StudentDegreeAuditViewModel","AlternativeAwardsPortal","makeUI","ui","lightBox","html","not","that","myPercent","attr","animate","width","append","LoadDescription","CourseDescription","PageReady","children","icon","keyboardNav","keyboardControl","on","hasClass","addClass","removeClass","length","GetCourseDescription","show","hide","readyPage","LoadAlternativeAwards","degreeAuditID","callbackFunction","url","_baseApiUri","blockUI","ajax","type","dataType","contentType","headers","processData","crossDomain","xhrFields","withCredentials","success","data","textStatus","jqXHR","smapi","access","ApiContainerModel","Status","ValidationTitle","ValidationMessages","IsError","HandleError","unblockUI","error","exception","status","title","utility","getResourceValue","body","LoadInitialData","studentID","messages","ErrorMessages","isNullOrEmpty","ErrorHeader","values","index","requirementID","DegreeAuditRequirementID","pager","RecordPagingViewModel","Page","PageSize","DataSourceUrl","DataResponseFunc","pagingContent","formatString","loadOrCreateLightbox","GenerateAvailableContent","AvailableCourses","GetData","transferIdentify","closest","remove","TransferMappings","tableBody","applyBindingsToNode","template","name","after","gid","moreInfoRow","FulfillCourses","EnrolledCourses","newRow","CreateTableRow","item","CourseType","Period","CourseID","CourseTitle","Credits","Grade","courses","temp","TemplatesLoaded","ShowMostRecentProgramCurriculumVersion","Complete","DegreeAuditUnitOfMeasure","observableDictionary","ExtractATO","mapping","toJS","that2","descriptionUrl","id","myDetails","viewModel","studentId","payload","DegreeAuditShopList","ShowMostRecentVersionofProgramCurriculuminDegreeShopping","i","itemShop","DaInfo","j","currentlyEnrolledDA","Count","SelectedDegreeAuditShop","degreeAuditShoppingItemModel","DegreeAuditShoppingItemModel","AcademicLevelName","GoalName","ProgramName","Version","applyBindings","getCookie","updatedList","UpdatedDegreeAuditRecordList","first","click","SelectDegreeAudit","degreeAuditInfo","detailedList","_currentStudentId","match","utils","arrayFirst","removeAll","replace","currentIndex","indexOf","ShopDegree","addScenarioButton","degreeModalData","myUl","clone","PagingData","RecordCount","ClearShopDegree","arrayForEach","len","GetAlternativeAwards","degreeAudit","CloseCurrentShopDegree","currentDegreeAudit","StudentDegreeAudit","DegreeAuditGidsFromStudentMatriculantGoals","table","document","getElementById","tbody","createElement","tr","Eligible","Assigned"],"sources":["assets/js/viewmodels/academic/sm.portal.vm.degreeAudit.widget.js"],"mappings":"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","ignoreList":[],"sourcesContent":["(function (jQuery, undefined) {\r\n var sm = window.sm = window.sm || {};\r\n var windowProxy;\r\n var actionQueue = [];\r\n\r\n if (typeof sm.portal === \"undefined\") {\r\n jQuery.extend(sm, { portal: {} });\r\n }\r\n if (typeof sm.portal.widget === \"undefined\") {\r\n jQuery.extend(sm.portal, { widget: {} });\r\n }\r\n\r\n // Created Global Variables to support cross view model communication\r\n sm.portal.PrimaryGoalDataList = ko.observableArray();\r\n sm.portal.CurrentSelectedTabName = ko.observable('');\r\n sm.portal.AcademicProgramsSection = ko.observableArray();\r\n sm.portal.AcademicLevelsSection = ko.observableArray();\r\n sm.portal.EnrollmentLevelsSection = ko.observableArray();\r\n sm.portal.AcademicPeriodsSection = ko.observableArray();\r\n sm.portal.AverageDateRangesSection = ko.observableArray();\r\n sm.portal.CreditTypesSection = ko.observableArray();\r\n\r\n // Degree Audit Evaluation View MOdel\r\n function DegreeAuditViewModel() {\r\n this.IsUserDefinedAverageEnabled = ko.observable(false);\r\n\r\n // Handlers\r\n this.LoadModel = function (container) {\r\n\r\n // Set the main Entity\r\n var entity = container.Payload.Entity;\r\n if(container && container.Payload){\r\n\r\n if (container.Payload.DegreeName !== undefined) {\r\n this.Name(container.Payload.DegreeName);\r\n }\r\n\r\n if (container.Payload.ID !== undefined) {\r\n this.ID(container.Payload.ID);\r\n }\r\n if (container.Payload.GID !== undefined) {\r\n this.GID(container.Payload.GID);\r\n }\r\n if (container.Payload.UnitOfMeasure !== undefined) {\r\n this.UnitOfMeasure(container.Payload.UnitOfMeasure);\r\n }\r\n if (container.Payload.DegreeInProgress !== undefined) {\r\n this.DegreeInProgress(container.Payload.DegreeInProgress.toFixed(1));\r\n }\r\n if (container.Payload.DegreeCompleted !== undefined) {\r\n this.DegreeCompleted(container.Payload.DegreeCompleted.toFixed(1));\r\n }\r\n if (container.Payload.MinCreditRequired !== undefined) {\r\n this.MinCreditRequired(container.Payload.MinCreditRequired.toFixed(1));\r\n }\r\n if (container.Payload.CreditsRemaining !== undefined) {\r\n this.CreditsRemaining(container.Payload.CreditsRemaining.toFixed(1));\r\n }\r\n if (container.Payload.MinGPARequired !== undefined) {\r\n this.MinGPARequired(container.Payload.MinGPARequired.toFixed(3));\r\n }\r\n if (container.Payload.CummulativeGPA !== undefined) {\r\n this.CummulativeGPA(container.Payload.CummulativeGPA);\r\n }\r\n if(container.Payload.FinalGrade){\r\n this.FinalGrade(container.Payload.FinalGrade);\r\n }\r\n if(!container.Payload.ConfirmationStatus){\r\n this.showFinalGrade(true);\r\n }\r\n if (container.Payload.PercentageDegreeComplete !== undefined) {\r\n this.PercentageDegreeComplete(container.Payload.PercentageDegreeComplete.toFixed(1));\r\n }\r\n if (container.Payload.PercentageDegreeInProgress !== undefined) {\r\n this.PercentageDegreeInProgress(container.Payload.PercentageDegreeInProgress.toFixed(1));\r\n }\r\n if (container.Payload.TotalDegreeCredits !== undefined) {\r\n this.TotalDegreeCredits(container.Payload.TotalDegreeCredits);\r\n }\r\n if (container.Payload.DegreeCreditsInProgress !== undefined) {\r\n this.DegreeCreditsInProgress(container.Payload.DegreeCreditsInProgress.toFixed(1));\r\n }\r\n if (container.Payload.DegreeReserved !== undefined) {\r\n this.DegreeReserved(container.Payload.DegreeReserved.toFixed(1));\r\n }\r\n if (container.Payload.DegreeWaitlisted !== undefined) {\r\n this.DegreeWaitlisted(container.Payload.DegreeWaitlisted.toFixed(1));\r\n }\r\n if (container.Payload.DegreeCreditsCompleted !== undefined) {\r\n this.DegreeCreditsCompleted(container.Payload.DegreeCreditsCompleted.toFixed(1));\r\n }\r\n if (container.Payload.GPAAttained !== undefined) {\r\n this.GPAAttained(container.Payload.GPAAttained);\r\n }\r\n if (container.Payload.ReassessedGradeFunctionality !== undefined) {\r\n this.ReassessedGradeFunctionality(container.Payload.ReassessedGradeFunctionality);\r\n }\r\n if (container.Payload.MinimumMilestones !== undefined) {\r\n this.MinimumMilestones(container.Payload.MinimumMilestones);\r\n }\r\n if (container.Payload.MilestonesRemaining !== undefined) {\r\n this.MilestonesRemaining(container.Payload.MilestonesRemaining);\r\n }\r\n if (container.Payload.ResidencyRequirementMet !== undefined) {\r\n this.ResidencyRequirementMet(container.Payload.ResidencyRequirementMet);\r\n }\r\n\r\n if (container.Payload.CourseGroupsCreditCompleted !== undefined) {\r\n if (container.Payload.CourseGroupsCreditCompleted) {\r\n this.CourseGroupCreditsCompleted(container.Payload.CourseGroupsCreditCompleted);\r\n }\r\n }\r\n\r\n if (container.Payload.CurrentlyEnrolled !== undefined) {\r\n this.CurrentlyEnrolled(container.Payload.CurrentlyEnrolled);\r\n }\r\n\r\n if (container.Payload.IsUserDefinedAverageEnabled !== undefined) {\r\n this.IsUserDefinedAverageEnabled(container.Payload.IsUserDefinedAverageEnabled);\r\n }\r\n \r\n if (container.Payload.DegreeAuditEvaluations !== undefined) {\r\n if (container.Payload.DegreeAuditEvaluations) {\r\n jQuery.each(container.Payload.DegreeAuditEvaluations, function () {\r\n var dae = this;\r\n dae.Milestones.forEach(function(ms) {\r\n if (ms.MilestoneType.BusinessMeaningName == 'MilestoneType.ProofOfCompletion') {\r\n ms.MilestoneTypePC = dae.MilestoneTypePC.find(IsMatchingIDs, { SearchID: ms.ID });\r\n if (ms.MilestoneTypePC === undefined) {\r\n ms.MilestoneTypePC = { DateOfCompletion: null };\r\n } else {\r\n ms.MilestoneTypePC.DateOfCompletion = FormatDate(ms.MilestoneTypePC.DateOfCompletion);\r\n }\r\n }\r\n else {\r\n ms.MilestoneTypeOther = dae.MilestoneTypeOther.find(IsMatchingIDs, { SearchID: ms.ID });\r\n if (ms.MilestoneTypeOther === undefined) {\r\n ms.MilestoneTypeOther = { DateOfCompletion: null, Score: null };\r\n } else {\r\n ms.MilestoneTypeOther.DateOfCompletion = FormatDate(ms.MilestoneTypeOther.DateOfCompletion);\r\n if (ms.MilestoneTypeOther.Score != null) {\r\n ms.MilestoneTypeOther.Score = ms.MilestoneTypeOther.Score.toFixed(2);\r\n }\r\n }\r\n } \r\n\r\n ms.MilestoneQueryListMappings = dae.MilestoneQueryListMappings[ms.ID];\r\n });\r\n self.DegreeAuditEvaluations.push(this.Name, dae);\r\n });\r\n }\r\n }\r\n\r\n if (container.Payload.StudentCumulativeAverage) {\r\n sm.portal.AcademicProgramsSection(container.Payload.StudentCumulativeAverage.AcademicPrograms);\r\n sm.portal.AcademicLevelsSection(container.Payload.StudentCumulativeAverage.AcademicLevels);\r\n sm.portal.EnrollmentLevelsSection(container.Payload.StudentCumulativeAverage.EnrollmentLevels);\r\n sm.portal.AcademicPeriodsSection(container.Payload.StudentCumulativeAverage.AcademicPeriods);\r\n sm.portal.AverageDateRangesSection(container.Payload.StudentCumulativeAverage.AverageDateRanges);\r\n sm.portal.CreditTypesSection(container.Payload.StudentCumulativeAverage.CreditTypes); \r\n }\r\n\r\n \r\n function IsMatchingIDs(milestone) {\r\n return milestone.DegreeRequirementMilestone.ID == this.SearchID;\r\n };\r\n\r\n function FormatDate(date) {\r\n if (date != null) {\r\n var dt = new Date(date);\r\n var doc = dt.getDate();\r\n var dtm = dt.getMonth() + 1;\r\n var dty = dt.getFullYear();\r\n\r\n return dtm + \"/\" + doc + \"/\" + dty;\r\n }\r\n else {\r\n return;\r\n } \r\n };\r\n\r\n this.ReloadDegreeAudit(false);\r\n\r\n this.UpdateReqIndicators();\r\n self.ViewApplicableCourses();\r\n self.wireUpFulfillment();\r\n self.wireUpTransfers();\r\n }\r\n };\r\n\r\n this.LoadAwards = function (container) {\r\n\r\n var currentStudentDegreeAudit = new sm.portal.widget.StudentDegreeAuditViewModel();\r\n\r\n if (container.Payload.AlternativeAwardsPortal !== undefined) {\r\n if (container.Payload.AlternativeAwardsPortal) {\r\n currentStudentDegreeAudit.makeUI(container);\r\n }\r\n }\r\n\r\n\r\n\r\n // Jit put lightbox here ************\r\n\r\n // This probably isn't the right way to render this stuff in KO...\r\n // Instead of loading the data on the button click, you should just load the data \r\n // into a hidden div in the page - via the KO data-bind. Then just wire the\r\n // lightbox function to the button and pass in the div contents as the data e.g:\r\n sm.portal.ui.lightBox('Alternative Awards', jQuery('#alternativeAwardsDialog').html(), 'smallDialog', null, null, null, null, 'true', 'true', null);\r\n\r\n }; \r\n\r\n // Requirement Progress Bars\r\n this.UpdateReqIndicators = function () {\r\n jQuery('.auditReqProgress > span').not('[data-processed=\"true\"]').each(function () {\r\n var that = jQuery(this);\r\n var myPercent = that.attr('data-progress-percent');\r\n\r\n if (myPercent != undefined && myPercent != '0') {\r\n that.animate({\r\n width: myPercent + '%'\r\n }, 1000).append(myPercent + '%');\r\n }\r\n that.attr('data-processed', true);\r\n });\r\n };\r\n this.LoadDescription = function (container) {\r\n this.CourseDescription(container.Payload.CourseDescription);\r\n };\r\n\r\n\r\n\r\n this.PageReady = function () {\r\n\r\n jQuery(\"ul.reqCourseList\").children('li').not('[data-processed=\"true\"]').each(function () {\r\n var that = jQuery(this);\r\n //var clickables = that;\r\n var icon = that.children('.icon');\r\n // accessibility\r\n that.attr('aria-expanded', 'false');\r\n sm.portal.keyboardNav.keyboardControl(that);\r\n\r\n that.on('click', function () {\r\n\r\n if (icon.hasClass('show')) {\r\n that.addClass('active');\r\n that.attr('aria-expanded', 'true');\r\n icon.removeClass('show').addClass('hide');\r\n if (that.children('.itemDetails').length <= 0) {\r\n self.GetCourseDescription(that);\r\n } else {\r\n that.children('.itemDetails').show();\r\n }\r\n\r\n }\r\n else {\r\n icon.removeClass('hide').addClass('show');\r\n that.removeClass('active');\r\n that.attr('aria-expanded', 'false');\r\n that.children('.itemDetails').hide();\r\n }\r\n });\r\n that.attr('data-processed', true);\r\n });\r\n sm.portal.ui.readyPage();\r\n };\r\n\r\n this.LoadAlternativeAwards = function (degreeAuditID, callbackFunction) {\r\n var url = _baseApiUri + 'api/studentdegreeauditevaluation/GetAlternativeAwards/?degreeID=' + degreeAuditID;\r\n\r\n jQuery.blockUI();\r\n\r\n jQuery.ajax({\r\n url: url,\r\n type: 'GET',\r\n dataType: 'json',\r\n contentType: 'application/json; charset=utf-8',\r\n headers: {\r\n \"x-api-version\": '1' //,\r\n },\r\n processData: false,\r\n crossDomain: true,\r\n\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n success: function (data, textStatus, jqXHR) {\r\n var container = new smapi.access.ApiContainerModel(data.Status, data.Payload, data.ValidationTitle, data.ValidationMessages);\r\n\r\n if (data.Status == 'success') {\r\n\r\n self.IsError(false);\r\n self.LoadAwards(container);\r\n\r\n\r\n } else if (data.Status == 'validationerror') {\r\n\r\n self.HandleError(container.ValidationTitle, container.ValidationMessages);\r\n\r\n } else if (data.Status == 'error') {\r\n\r\n self.HandleError(container.ValidationTitle, container.ValidationMessages);\r\n }\r\n jQuery.unblockUI();\r\n\r\n sm.portal.ui.readyPage();\r\n },\r\n error: function (jqXHR, exception) {\r\n if (jqXHR.status == 401) {\r\n var title = sm.portal.utility.getResourceValue('UnAuthorized');\r\n var body = sm.portal.utility.getResourceValue('NotAuthorizedToViewPage');\r\n self.HandleError(title, [body]);\r\n } else {\r\n self.HandleError(exception);\r\n }\r\n jQuery.unblockUI();\r\n }\r\n });\r\n\r\n if (callbackFunction != null)\r\n callbackFunction(self);\r\n };\r\n\r\n this.LoadInitialData = function (studentID, degreeAuditID, callbackFunction ) {\r\n var url = _baseApiUri + 'api/studentdegreeauditevaluation/get/?degreeID=' + degreeAuditID;\r\n\r\n jQuery.blockUI();\r\n\r\n jQuery.ajax({\r\n url: url,\r\n type: 'GET',\r\n dataType: 'json',\r\n contentType: 'application/json; charset=utf-8',\r\n headers: {\r\n \"x-api-version\": '1' //,\r\n },\r\n processData: false,\r\n crossDomain: true,\r\n\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n success: function (data, textStatus, jqXHR) {\r\n var container = new smapi.access.ApiContainerModel(data.Status, data.Payload, data.ValidationTitle, data.ValidationMessages);\r\n if (data.Status == 'success') {\r\n\r\n self.IsError(false);\r\n self.LoadModel(container);\r\n\r\n\r\n } else if (data.Status == 'validationerror') {\r\n\r\n self.HandleError(container.ValidationTitle, container.ValidationMessages);\r\n\r\n } else if (data.Status == 'error') {\r\n\r\n self.HandleError(container.ValidationTitle, container.ValidationMessages);\r\n }\r\n jQuery.unblockUI();\r\n\r\n sm.portal.ui.readyPage();\r\n },\r\n error: function (jqXHR, exception) {\r\n if (jqXHR.status == 401) {\r\n var title = sm.portal.utility.getResourceValue('UnAuthorized');\r\n var body = sm.portal.utility.getResourceValue('NotAuthorizedToViewPage');\r\n self.HandleError(title, [body]);\r\n } else {\r\n self.HandleError(exception);\r\n }\r\n jQuery.unblockUI();\r\n }\r\n });\r\n\r\n if (callbackFunction != null) {\r\n callbackFunction(self);\r\n }\r\n\r\n };\r\n this.HandleError = function (title, messages) {\r\n this.IsError(true);\r\n this.ErrorMessages(messages);\r\n if (sm.portal.utility.isNullOrEmpty(title)) {\r\n self.ErrorHeader(sm.portal.utility.getResourceValue('ThereWasAnError'));\r\n } else {\r\n self.ErrorHeader(title);\r\n }\r\n };\r\n\r\n this.ViewApplicableCourses = function () {\r\n if (self.DegreeAuditEvaluations.values().length > 0) {\r\n jQuery('button.reqCoursesNeeded').not('[data-processed=\"true\"]').each(function () {\r\n var that = jQuery(this);\r\n that.on('click', function () {\r\n\r\n // Here's where we make the AJAX call to load the Available Courses, using our new Paging Methodology\r\n\r\n // Get the parent Requirement ID\r\n var index = jQuery(this).attr('data-index');\r\n var requirementID = self.DegreeAuditEvaluations.values()[index].DegreeAuditRequirementID;\r\n if (requirementID > 0) {\r\n\r\n // Generate the Paging object for the data\r\n var pager = new sm.portal.ui.RecordPagingViewModel();\r\n\r\n // Set the current Page Index, 0 since every time we click this we want to start at the first page\r\n pager.Page(0);\r\n\r\n // Set the default page size (enhancement, make this a drop down in the template)\r\n pager.PageSize(10);\r\n\r\n // Set the full URL to retrieve the data\r\n // This end-point should expect two additional parameters as well: page (int) and pageSize (int)\r\n // which will get added on in the Paging View Model\r\n pager.DataSourceUrl(_baseApiUri\r\n + 'api/studentdegreeauditevaluation/getavailableforrequirement/?requirementid='\r\n + requirementID);\r\n\r\n // Set the function that fires when a response to paging comes in (load your content)\r\n pager.DataResponseFunc = function (container, pagingContent) {\r\n\r\n // Resource driven title for the LightBox dialog\r\n var title = sm.portal.utility.formatString(sm.portal.utility.getResourceValue('CoursesThatSatisfy0'),\r\n self.DegreeAuditEvaluations.values()[index].Name);\r\n\r\n // Call the lightbox method\r\n sm.portal.ui.loadOrCreateLightbox(title, self.GenerateAvailableContent(container.Payload.AvailableCourses), '', null, null, pagingContent);\r\n\r\n self.PageReady();\r\n };\r\n\r\n // Call the GetData and let the Paging Object do the rest\r\n pager.GetData();\r\n }\r\n });\r\n that.attr('data-processed', true);\r\n });\r\n }\r\n };\r\n\r\n this.wireUpTransfers = function () {\r\n if (self.DegreeAuditEvaluations.values().length > 0) {\r\n jQuery('[transferID]').not('[data-processed-tramsferID=\"true\"]').each(function () {\r\n var that = jQuery(this);\r\n var transferIdentify = that.attr(\"transferID\");\r\n var url = _baseApiUri + 'api/studentdegreeauditevaluation/getTransferMappings?transferID= ' + transferIdentify;\r\n\r\n that.on('click', function () {\r\n\r\n\r\n //// add id as attribute to tie fulfilled list to original course record\r\n //that.closest('row').attr('data-rowid', transferIdentify);\r\n\r\n // if open - close it\r\n if (jQuery('[data-parent-rowid*=\"' + transferIdentify + '\"]').length > 0) {\r\n that.removeClass('open').addClass('closed');\r\n that.closest('row').removeClass('parentRowHilite');\r\n jQuery('[data-parent-rowid*=\"' + transferIdentify + '\"]').remove();\r\n }\r\n\r\n\r\n else {\r\n\r\n jQuery.blockUI();\r\n\r\n jQuery.ajax({\r\n url: url,\r\n type: 'GET',\r\n dataType: 'json',\r\n contentType: 'application/x-www-form-urlencoded; charset=UTF-8',\r\n headers: {\r\n \"x-api-version\": '1' //,\r\n },\r\n processData: false,\r\n crossDomain: true,\r\n\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n success: function (data, textStatus, jqXHR) {\r\n\r\n var container = new smapi.access.ApiContainerModel(data.Status, data.Payload, data.ValidationTitle, data.ValidationMessages);\r\n if (data.Status == 'success') {\r\n\r\n jQuery(container.Payload.TransferMappings).each(function () {\r\n var tableBody = jQuery('
');\r\n\r\n ko.applyBindingsToNode(tableBody[0], { template: { \"name\": \"TransferMappingsTemplate\", \"data\": data.Payload } });\r\n var html = tableBody.html();\r\n tableBody.remove();\r\n\r\n that.closest('tr').after(html);\r\n });\r\n\r\n\r\n\r\n }\r\n },\r\n error: function (jqXHR, exception) {\r\n self.HandleError(exception);\r\n\r\n }\r\n });\r\n\r\n\r\n jQuery.unblockUI();\r\n }\r\n\r\n });\r\n\r\n\r\n that.attr(\"data-processed-tramsferID\", 'true');\r\n });\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n this.wireUpFulfillment = function () {\r\n if (self.DegreeAuditEvaluations.values().length > 0) {\r\n jQuery('[datafulfilled]').not('[data-processed-fulfilled=\"true\"]').each(function () {\r\n var that = jQuery(this);\r\n var gid = that.attr(\"datafulfilled\");\r\n var url = _baseApiUri + 'api/studentdegreeauditevaluation/getfulfillmentcourses?courseGroupCourseGID= ' + gid;\r\n\r\n\r\n\r\n that.on('click', function () {\r\n\r\n // add gid as attribute to tie fulfilled list to original course record\r\n that.closest('row').attr('data-rowid', gid);\r\n\r\n // if open - close it\r\n if (jQuery('[data-parent-rowid=\"' + gid + '\"]').length > 0) {\r\n that.removeClass('open').addClass('closed');\r\n that.closest('row').removeClass('parentRowHilite');\r\n jQuery('[data-parent-rowid=\"' + gid + '\"]').remove();\r\n }\r\n\r\n\r\n else {\r\n\r\n\r\n\r\n\r\n jQuery.ajax({\r\n url: url,\r\n type: 'GET',\r\n dataType: 'json',\r\n contentType: 'application/x-www-form-urlencoded; charset=UTF-8',\r\n headers: {\r\n \"x-api-version\": '1' //,\r\n },\r\n processData: false,\r\n crossDomain: true,\r\n\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n success: function (data, textStatus, jqXHR) {\r\n jQuery.blockUI();\r\n var container = new smapi.access.ApiContainerModel(data.Status, data.Payload, data.ValidationTitle, data.ValidationMessages);\r\n if (data.Status == 'success') {\r\n\r\n var moreInfoRow = jQuery('Course Type | Period | Course ID | Course Title | Credits | Grade |
---|
' + container.Payload.CourseDescription + '