{"version":3,"file":"sm.portal.vm.academicInterest.min.js","names":["jQuery","undefined","sm","window","portal","extend","vm","AcademicInterestsViewModel","self","this","SortBySequence","a","b","Sequence","SetLevelOfStudyOn","LevelOfStudyEnabled","LevelsOfStudy","length","LevelOfStudyShow","LevelOfStudyID","validationEnabled","ko","observable","isValidationEnabled","ShowDialog","elementId","addClass","removeClass","HideDialog","ShowHideHelp","hasClass","ExpectedStartPeriodID","validatedObservable","ExpectedEntrancePeriodRequired","DeliveryMethodID","CampusID","ApplicationGoalID","AdmissionsProgramID","AcademicLevelID","EarliestStartDate","CategoryID","InitialEnrollmentStatusID","ExpectedLoadID","AttendanceTypeID","AttendanceReasonID","AdmissionsProgramDescription","APOIDescription","computed","AdmissionsProgramOfferingItemID","AdmissionsProgramOfferingItemEnabled","AcademicPeriods","observableArray","AdmissionsCategories","InitialEnrollmentStatuses","ExpectedEnrollmentLoads","AttendanceTypes","AttendanceReasons","AdmissionsAcademicLevels","Goals","AdmissionsPrograms","DeliveryMethods","Campuses","AdmissionsOfferingItems","UpdateTemplateProperties","SummaryAcademicTemplate","ProgrammeChoiceTemplate","ShowAPDescriptionOnPortal","ShowAPOIDescriptionOnPortal","AcademicSectionHeaderText","AcademicSectionHeaderTextVisible","AutoSelectSingleFields","AcademicStartPeriodLabel","AcademicLevelLabel","ApplicationGoalLabel","AdmissionsProgramLabel","DeliveryMethodLabel","ProgramRouteLabel","CampusLabel","InitialEnrollmentLabel","ExpectedEnrollmentLabel","AttendanceTypeLabel","AttendanceReasonLabel","AcademicStartPeriodRequired","AcademicLevelRequired","ApplicationGoalRequired","AdmissionsProgramRequired","DeliveryMethodRequired","ProgramRouteRequired","CampusRequired","InitialEnrollmentRequired","ExpectedEnrollmentRequired","AttendanceTypeRequired","AttendanceReasonRequired","AcademicStartPeriodVisible","AcademicLevelVisible","ApplicationGoalVisible","AdmissionsProgramVisible","DeliveryMethodVisible","ProgramRouteVisible","CampusVisible","InitialEnrollmentVisible","ExpectedEnrollmentVisible","AttendanceTypeVisible","AttendanceReasonVisible","AcademicStartPeriodHelp","AcademicLevelHelp","ApplicationGoalHelp","AdmissionsProgramHelp","DeliveryMethodHelp","ProgramRouteHelp","CampusHelp","InitialEnrollmentHelp","ExpectedEnrollmentHelp","AttendanceTypeHelp","AttendanceReasonHelp","ResetFieldsVisible","DataLoaded","DataLoading","DataContainer","Touched","DataLoadErrorCount","FirstLoad","custom","setCustomLocalizeKey","LevelOfStudiesOn","IsLevelOfStudySelected","utility","isNullOrEmpty","IsApplicantChoosesProgramCurriculumSelected","AnythingPopulated","callCustomization","LoadModel","container","extractATOMode","customData","loadModelUpdated","Payload","Config","viewModel","SetSectionsConfigData","smapi","access","loadListItemModels","ListData","InitialEnrollmentStatus","ID","IsLevelOfStudyActivated","IsExpectedEntrancePeriodRequired","IsApplicantChoosesProgramCurriculumActivated","headerTextBytes","atob","customHeaderText","TextDecoder","decode","Uint8Array","map","char","charCodeAt","myElement","DOMParser","parseFromString","querySelectorAll","forEach","li","style","listStyleType","ul","paddingLeft","p_tag","Array","from","p","innerText","trim","innerHTML","Academic","dateFormat","resources","portalResource","getValue","toUpperCase","moment","format","subscribe","newValue","GetSectionModel","DataList","that","levelOfStudyArray","data","sort","defaultItem","filter","item","IsDefault","ChooseDefaultLevelOfStudy","constant","applicationDebugFlag","console","log","GetModelData","blockui","applicationMID","personMID","callback","allCustomData","blockUI","url","_baseApiUri","formatString","ajax","type","dataType","contentType","headers","processData","crossDomain","xhrFields","withCredentials","success","textStatus","jqXHR","page","application","modelDataResponseHandler","error","exception","modelErrorHandler","handleErrorWithMessages","BlockContainer","block","message","getResourceValue","UnBlockContainer","unblock","SetFocus","ProcessOnServer","ExtractATO","stdAdmissionsAttempt","admissions","AdmissionsAttemptModel","PersonID","AdmissionsAcademicLevelID","EnrollmentStatusID","stdAdmProgram","AdmissionsAttemptProgramModel","AdmissionProgramID","stdAdmissionsAttemptCustom","AdmissionsAttemptPrograms","push","UnsetProp","props","currentValue","Initialize","getAvailableOptions","successCallback","SetAvaliableOptions","errorCallback","ResetProgrammeCategoryID","IsVMValid","ProgrammeCategoryID","optionsSelected","JSON","stringify","StartPeriodID","AdmissionsOfferingItemID","AjaxPost","onSuccess","admissionsProgramID","val","Description","admissionsProgramOfferingItemID","AdmissionsProgramOfferingItems","OnError","complete","completeCallback","UpdateOptions","event","latestAdmissionsProgramID","admissionsProgramOfferingItemsID","res","originalEvent","selectedAPValue","v","admissionsProgramOfferingItems","id","target","focus","RunAutoSelect","options","AutoSelectOptions","atLeastOneDropdownWasAutoSelected","ExpectedStartPeriods","AcademicLevels","ApplicationGoals","l","r","find","element","defaultLevelOfStudy","AcademicDetails","ResetDropdowns","isModified","min","params","validate_MustBeNumeric_Key","max","number","required","onlyIf","validate_FieldRequired_Key","smLocalDate","validate_MustBeADate_Key","ModelErrors","validation","group","Completed","ValidateModel"],"sources":["assets/js/viewmodels/admissions/sm.portal.vm.academicInterest.js"],"mappings":"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","ignoreList":[],"sourcesContent":["/// \r\n\r\n(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.vm === 'undefined') {\r\n jQuery.extend(sm.portal, { vm: {} });\r\n }\r\n\r\n /**************************************/\r\n // Academic Interests View Model\r\n // Holds the various academic values used for Inquiry and Applications\r\n /**************************************/\r\n function AcademicInterestsViewModel() {\r\n // Self-Identification\r\n var self = this;\r\n\r\n self.validationEnabled = ko.observable(false);\r\n self.isValidationEnabled = function () {\r\n return self.validationEnabled();\r\n };\r\n self.ShowDialog = function (elementId) {\r\n jQuery(elementId).addClass('inYourFace');\r\n jQuery(elementId).removeClass('hidden').addClass('visible');\r\n }\r\n self.HideDialog = function (elementId) {\r\n jQuery(elementId).removeClass('inYourFace');\r\n jQuery(elementId).removeClass('visible').addClass('hidden');\r\n }\r\n self.ShowHideHelp = function (elementId) {\r\n if (jQuery(elementId).hasClass('hidden')) {\r\n jQuery(elementId).removeClass('hidden').addClass('visible');\r\n }\r\n else {\r\n jQuery(elementId).removeClass('visible').addClass('hidden');\r\n }\r\n }\r\n\r\n /*** PROPERTIES ***/\r\n this.ExpectedStartPeriodID = ko.validatedObservable();\r\n this.ExpectedEntrancePeriodRequired = ko.observable(false);\r\n this.DeliveryMethodID = ko.validatedObservable();\r\n this.CampusID = ko.validatedObservable();\r\n this.ApplicationGoalID = ko.validatedObservable();\r\n this.AdmissionsProgramID = ko.validatedObservable();\r\n this.AcademicLevelID = ko.validatedObservable();\r\n this.EarliestStartDate = ko.validatedObservable();\r\n this.CategoryID = ko.validatedObservable();\r\n this.InitialEnrollmentStatusID = ko.validatedObservable();\r\n this.ExpectedLoadID = ko.validatedObservable();\r\n this.AttendanceTypeID = ko.validatedObservable();\r\n this.AttendanceReasonID = ko.validatedObservable();\r\n this.AdmissionsProgramDescription = ko.validatedObservable();\r\n this.APOIDescription = ko.observable();\r\n\r\n this.LevelOfStudyID = ko.validatedObservable();\r\n this.LevelOfStudyEnabled = ko.computed(function () { return false; });\r\n this.LevelOfStudyShow = ko.observable(false);\r\n\r\n this.AdmissionsProgramOfferingItemID = ko.validatedObservable();\r\n this.AdmissionsProgramOfferingItemEnabled = ko.observable(false);\r\n /*** PROPERTIES ***/\r\n\r\n /*** LIST DATA PROPERTIES ***/\r\n this.AcademicPeriods = ko.observableArray();\r\n\r\n this.AdmissionsCategories = ko.observableArray();\r\n this.InitialEnrollmentStatuses = ko.observableArray();\r\n this.ExpectedEnrollmentLoads = ko.observableArray();\r\n this.AttendanceTypes = ko.observableArray();\r\n this.AttendanceReasons = ko.observableArray();\r\n\r\n this.AdmissionsAcademicLevels = ko.observableArray();\r\n this.Goals = ko.observableArray();\r\n this.AdmissionsPrograms = ko.observableArray();\r\n this.DeliveryMethods = ko.observableArray();\r\n this.Campuses = ko.observableArray();\r\n this.AdmissionsOfferingItems = ko.observableArray();\r\n this.LevelsOfStudy = ko.observableArray();\r\n\r\n this.UpdateTemplateProperties = {\r\n SummaryAcademicTemplate: ko.observable(''),\r\n ProgrammeChoiceTemplate: ko.observable(''),\r\n ShowAPDescriptionOnPortal: ko.observable(false),\r\n ShowAPOIDescriptionOnPortal: ko.observable(false),\r\n\r\n AcademicSectionHeaderText: ko.observable(''),\r\n AcademicSectionHeaderTextVisible: ko.observable(false),\r\n AutoSelectSingleFields: ko.observable(false),\r\n\r\n AcademicStartPeriodLabel: ko.observable('AcademicStartPeriod'),\r\n AcademicLevelLabel: ko.observable('AcademicLevel'),\r\n ApplicationGoalLabel: ko.observable('ApplicationGoal'),\r\n AdmissionsProgramLabel: ko.observable('AdmissionsProgram'),\r\n DeliveryMethodLabel: ko.observable('DeliveryMethod'),\r\n ProgramRouteLabel: ko.observable('AdmissionsProgramOfferingItem'),\r\n CampusLabel: ko.observable('Campus'),\r\n InitialEnrollmentLabel: ko.observable('InitialEnrollmentStatus'),\r\n ExpectedEnrollmentLabel: ko.observable('ExpectedEnrollmentLoad'),\r\n AttendanceTypeLabel: ko.observable('AttendanceType'),\r\n AttendanceReasonLabel: ko.observable('AttendanceReason'),\r\n\r\n AcademicStartPeriodRequired: ko.observable(true),\r\n AcademicLevelRequired: ko.observable(true),\r\n ApplicationGoalRequired: ko.observable(true),\r\n AdmissionsProgramRequired: ko.observable(true),\r\n DeliveryMethodRequired: ko.observable(true),\r\n ProgramRouteRequired: ko.observable(true),\r\n CampusRequired: ko.observable(true),\r\n InitialEnrollmentRequired: ko.observable(false),\r\n ExpectedEnrollmentRequired: ko.observable(false),\r\n AttendanceTypeRequired: ko.observable(false),\r\n AttendanceReasonRequired: ko.observable(false),\r\n\r\n AcademicStartPeriodVisible: ko.observable(true),\r\n AcademicLevelVisible: ko.observable(true),\r\n ApplicationGoalVisible: ko.observable(true),\r\n AdmissionsProgramVisible: ko.observable(true),\r\n DeliveryMethodVisible: ko.observable(true),\r\n ProgramRouteVisible: ko.observable(true),\r\n CampusVisible: ko.observable(true),\r\n InitialEnrollmentVisible: ko.observable(true),\r\n ExpectedEnrollmentVisible: ko.observable(true),\r\n AttendanceTypeVisible: ko.observable(true),\r\n AttendanceReasonVisible: ko.observable(true),\r\n\r\n AcademicStartPeriodHelp: ko.observable(''),\r\n AcademicLevelHelp: ko.observable(''),\r\n ApplicationGoalHelp: ko.observable(''),\r\n AdmissionsProgramHelp: ko.observable(''),\r\n DeliveryMethodHelp: ko.observable(''),\r\n ProgramRouteHelp: ko.observable(''),\r\n CampusHelp: ko.observable(''),\r\n InitialEnrollmentHelp: ko.observable(''),\r\n ExpectedEnrollmentHelp: ko.observable(''),\r\n AttendanceTypeHelp: ko.observable(''),\r\n AttendanceReasonHelp: ko.observable(''),\r\n\r\n ResetFieldsVisible: ko.observable(true),\r\n }\r\n /*** LIST DATA PROPERTIES ***/\r\n\r\n /*** MATRIX DATA PROPERTIES ***/\r\n /*** MATRIX DATA PROPERTIES ***/\r\n\r\n /** SECTION PROPERTIES ***/\r\n this.DataLoaded = ko.observable(false);\r\n this.DataLoading = ko.observable(false);\r\n this.DataContainer = ko.observable('AcademicContainer');\r\n this.Touched = ko.observable(false);\r\n this.DataLoadErrorCount = ko.observable();\r\n this.FirstLoad = ko.observable(true);\r\n /*** SECTION PROPERTIES ***/\r\n\r\n sm.portal.vm.custom.setCustomLocalizeKey(self.UpdateTemplateProperties);\r\n\r\n /*** COMPUTED LIST PROPERTIES ***/\r\n this.LevelOfStudiesOn = ko.computed(function () {\r\n return self.LevelOfStudyEnabled() && self.LevelOfStudyShow();\r\n }, this);\r\n\r\n this.IsLevelOfStudySelected = ko.computed(function () {\r\n if (!sm.portal.utility.isNullOrEmpty(this.LevelOfStudyID()) && self.LevelOfStudyEnabled()) {\r\n return true;\r\n }\r\n return false;\r\n }, this);\r\n\r\n this.IsApplicantChoosesProgramCurriculumSelected = ko.computed(function () {\r\n if (!sm.portal.utility.isNullOrEmpty(this.AdmissionsProgramOfferingItemID()) && self.AdmissionsProgramOfferingItemEnabled()) {\r\n return true;\r\n }\r\n return false;\r\n }, this);\r\n\r\n /*** COMPUTED LIST PROPERTIES ***/\r\n\r\n /*** COMPUTED PROPERTIES ***/\r\n this.AnythingPopulated = ko.computed(function () {\r\n return true; // required section\r\n }, this);\r\n /*** COMPUTED PROPERTIES ***/\r\n\r\n sm.portal.vm.custom.callCustomization('UpdateAcademicInterestsProperties', self);\r\n\r\n /*** FILTER FUNCTION ***/\r\n\r\n function SortBySequence(a, b) {\r\n\r\n if (a.Sequence() > b.Sequence()) {\r\n return 1;\r\n }\r\n else if (a.Sequence() == b.Sequence()) {\r\n return 0;\r\n }\r\n else {\r\n return -1;\r\n }\r\n }\r\n /*** FILTER FUNCTION ***/\r\n\r\n /*** SECTION METHODS ***/\r\n this.LoadModel = function (container, extractATOMode) {\r\n var customData = {\r\n self: self,\r\n container: container,\r\n extractATOMode: extractATOMode\r\n }\r\n var loadModelUpdated = sm.portal.vm.custom.callCustomization('UpdateLoadPropertiesForAcademic', customData);\r\n if (sm.portal.utility.isNullOrEmpty(loadModelUpdated)) {\r\n // update application section configurations\r\n if (container && container.Payload && container.Payload.Config) {\r\n // Update values for Section only: Section Show/Hide, Section Name and Appearance Order\r\n viewModel.SetSectionsConfigData(\"Academic\", container.Payload.Config);\r\n\r\n // Update new config toggle: AutoSelectSingleFields\r\n this.UpdateTemplateProperties.AutoSelectSingleFields(container.Payload.Config.AutoSelectSingleFields);\r\n\r\n // Set the Basic List Data properties\r\n this.InitialEnrollmentStatuses = smapi.access.loadListItemModels(container.Payload.ListData.InitialEnrollmentStatus, this.InitialEnrollmentStatuses, true);\r\n if (this.UpdateTemplateProperties.AutoSelectSingleFields() && container.Payload.ListData.InitialEnrollmentStatus.length === 1) { this.InitialEnrollmentStatusID(container.Payload.ListData.InitialEnrollmentStatus[0].ID); }\r\n\r\n this.ExpectedEnrollmentLoads = smapi.access.loadListItemModels(container.Payload.ListData.ExpectedEnrollmentLoads, this.ExpectedEnrollmentLoads, true);\r\n if (this.UpdateTemplateProperties.AutoSelectSingleFields() && container.Payload.ListData.ExpectedEnrollmentLoads.length === 1) { this.ExpectedLoadID(container.Payload.ListData.ExpectedEnrollmentLoads[0].ID); }\r\n\r\n this.AttendanceTypes = smapi.access.loadListItemModels(container.Payload.ListData.AttendanceTypes, this.AttendanceTypes, true);\r\n if (this.UpdateTemplateProperties.AutoSelectSingleFields() && container.Payload.ListData.AttendanceTypes.length === 1) { this.AttendanceTypeID(container.Payload.ListData.AttendanceTypes[0].ID); }\r\n\r\n this.AttendanceReasons = smapi.access.loadListItemModels(container.Payload.ListData.AttendanceReasons, this.AttendanceReasons, true);\r\n if (this.UpdateTemplateProperties.AutoSelectSingleFields() && container.Payload.ListData.AttendanceReasons.length === 1) { this.AttendanceReasonID(container.Payload.ListData.AttendanceReasons[0].ID); }\r\n\r\n self.IsLevelOfStudyActivated = container.Payload.IsLevelOfStudyActivated;\r\n this.LevelOfStudyEnabled = ko.computed(function () { return self.IsLevelOfStudyActivated && self.LevelsOfStudy().length > 0; });\r\n\r\n this.ExpectedEntrancePeriodRequired(container.Payload.IsExpectedEntrancePeriodRequired);\r\n this.AdmissionsProgramOfferingItemEnabled(container.Payload.IsApplicantChoosesProgramCurriculumActivated);\r\n\r\n // Update: AcademicSectionHeaderText\r\n if (container.Payload.Config.AcademicSectionHeaderText != '') {\r\n var headerTextBytes = atob(container.Payload.Config.AcademicSectionHeaderText);\r\n var customHeaderText = new TextDecoder(\"utf-8\").decode(new Uint8Array([...headerTextBytes].map(char => char.charCodeAt(0))));\r\n\r\n let myElement = new DOMParser().parseFromString(customHeaderText, 'text/html');\r\n myElement.querySelectorAll('ul li').forEach(li => li.style.listStyleType = 'disc');\r\n myElement.querySelectorAll('ul').forEach(ul => ul.style.paddingLeft = '40px');\r\n\r\n var p_tag = Array.from(myElement.querySelectorAll('body')).map((p) => {\r\n this.UpdateTemplateProperties.AcademicSectionHeaderTextVisible(p.innerText.trim() != '');\r\n return p.innerHTML;\r\n });\r\n\r\n this.UpdateTemplateProperties.AcademicSectionHeaderText(p_tag);\r\n }\r\n\r\n // Update: AcademicStartPeriod Label, Required, Visible and Help\r\n if (container.Payload.Config.AcademicStartPeriodLabel != '') {\r\n this.UpdateTemplateProperties.AcademicStartPeriodLabel(container.Payload.Config.AcademicStartPeriodLabel);\r\n }\r\n this.UpdateTemplateProperties.AcademicStartPeriodRequired(container.Payload.Config.AcademicStartPeriodRequired);\r\n this.UpdateTemplateProperties.AcademicStartPeriodVisible(container.Payload.Config.AcademicStartPeriodVisible);\r\n this.UpdateTemplateProperties.AcademicStartPeriodHelp(container.Payload.Config.AcademicStartPeriodHelp);\r\n\r\n // Update: AcademicLevel Label, Required, Visible and Help\r\n if (container.Payload.Config.AcademicLevelLabel != '') {\r\n this.UpdateTemplateProperties.AcademicLevelLabel(container.Payload.Config.AcademicLevelLabel);\r\n }\r\n this.UpdateTemplateProperties.AcademicLevelRequired(container.Payload.Config.AcademicLevelRequired);\r\n this.UpdateTemplateProperties.AcademicLevelVisible(container.Payload.Config.AcademicLevelVisible);\r\n this.UpdateTemplateProperties.AcademicLevelHelp(container.Payload.Config.AcademicLevelHelp);\r\n\r\n // Update: ApplicationGoal Label, Required, Visible and Help\r\n if (container.Payload.Config.ApplicationGoalLabel != '') {\r\n this.UpdateTemplateProperties.ApplicationGoalLabel(container.Payload.Config.ApplicationGoalLabel);\r\n }\r\n this.UpdateTemplateProperties.ApplicationGoalRequired(container.Payload.Config.ApplicationGoalRequired);\r\n this.UpdateTemplateProperties.ApplicationGoalVisible(container.Payload.Config.ApplicationGoalVisible);\r\n this.UpdateTemplateProperties.ApplicationGoalHelp(container.Payload.Config.ApplicationGoalHelp);\r\n\r\n // Update: AdmissionsProgram Label, Required, Visible and Help\r\n if (container.Payload.Config.AdmissionsProgramLabel != '') {\r\n this.UpdateTemplateProperties.AdmissionsProgramLabel(container.Payload.Config.AdmissionsProgramLabel);\r\n }\r\n this.UpdateTemplateProperties.AdmissionsProgramRequired(container.Payload.Config.AdmissionsProgramRequired);\r\n this.UpdateTemplateProperties.AdmissionsProgramVisible(container.Payload.Config.AdmissionsProgramVisible);\r\n this.UpdateTemplateProperties.AdmissionsProgramHelp(container.Payload.Config.AdmissionsProgramHelp);\r\n\r\n // Update: DeliveryMethod Label, Required, Visible and Help\r\n if (container.Payload.Config.DeliveryMethodLabel != '') {\r\n this.UpdateTemplateProperties.DeliveryMethodLabel(container.Payload.Config.DeliveryMethodLabel);\r\n }\r\n this.UpdateTemplateProperties.DeliveryMethodRequired(container.Payload.Config.DeliveryMethodRequired);\r\n this.UpdateTemplateProperties.DeliveryMethodVisible(container.Payload.Config.DeliveryMethodVisible);\r\n this.UpdateTemplateProperties.DeliveryMethodHelp(container.Payload.Config.DeliveryMethodHelp);\r\n\r\n // Update: ProgramRoute Label, Required, Visible and Help\r\n if (container.Payload.Config.ProgramRouteLabel != '') {\r\n this.UpdateTemplateProperties.ProgramRouteLabel(container.Payload.Config.ProgramRouteLabel);\r\n }\r\n this.UpdateTemplateProperties.ProgramRouteRequired(container.Payload.Config.ProgramRouteRequired);\r\n this.UpdateTemplateProperties.ProgramRouteVisible(container.Payload.Config.ProgramRouteVisible);\r\n this.UpdateTemplateProperties.ProgramRouteHelp(container.Payload.Config.ProgramRouteHelp);\r\n\r\n // Update: Campus Label, Required, Visible and Help\r\n if (container.Payload.Config.CampusLabel != '') {\r\n this.UpdateTemplateProperties.CampusLabel(container.Payload.Config.CampusLabel);\r\n }\r\n this.UpdateTemplateProperties.CampusRequired(container.Payload.Config.CampusRequired);\r\n this.UpdateTemplateProperties.CampusVisible(container.Payload.Config.CampusVisible);\r\n this.UpdateTemplateProperties.CampusHelp(container.Payload.Config.CampusHelp);\r\n\r\n // Update: InitialEnrollment Label, Required, Visible and Help. Hidden if: OFF in the Configuration Settings and only 1 option on the dropdown \r\n if (container.Payload.Config.InitialEnrollmentLabel != '') {\r\n this.UpdateTemplateProperties.InitialEnrollmentLabel(container.Payload.Config.InitialEnrollmentLabel);\r\n }\r\n this.UpdateTemplateProperties.InitialEnrollmentRequired(container.Payload.Config.InitialEnrollmentRequired);\r\n this.UpdateTemplateProperties.InitialEnrollmentVisible(!container.Payload.Config.InitialEnrollmentRequired ? container.Payload.Config.InitialEnrollmentVisible : (container.Payload.Config.InitialEnrollmentVisible ? true : (this.InitialEnrollmentStatuses().length > 1 ? true : !this.UpdateTemplateProperties.AutoSelectSingleFields())));\r\n this.UpdateTemplateProperties.InitialEnrollmentHelp(container.Payload.Config.InitialEnrollmentHelp);\r\n\r\n // Update: ExpectedEnrollment Label, Required, Visible and Help\r\n if (container.Payload.Config.ExpectedEnrollmentLabel != '') {\r\n this.UpdateTemplateProperties.ExpectedEnrollmentLabel(container.Payload.Config.ExpectedEnrollmentLabel);\r\n }\r\n this.UpdateTemplateProperties.ExpectedEnrollmentRequired(container.Payload.Config.ExpectedEnrollmentRequired);\r\n this.UpdateTemplateProperties.ExpectedEnrollmentVisible(!container.Payload.Config.ExpectedEnrollmentRequired ? container.Payload.Config.ExpectedEnrollmentVisible : (container.Payload.Config.ExpectedEnrollmentVisible ? true : (this.ExpectedEnrollmentLoads().length > 1 ? true : !this.UpdateTemplateProperties.AutoSelectSingleFields())));\r\n this.UpdateTemplateProperties.ExpectedEnrollmentHelp(container.Payload.Config.ExpectedEnrollmentHelp);\r\n\r\n // Update: AttendanceType Label, Required, Visible and Help\r\n if (container.Payload.Config.AttendanceTypeLabel != '') {\r\n this.UpdateTemplateProperties.AttendanceTypeLabel(container.Payload.Config.AttendanceTypeLabel);\r\n }\r\n this.UpdateTemplateProperties.AttendanceTypeRequired(container.Payload.Config.AttendanceTypeRequired);\r\n this.UpdateTemplateProperties.AttendanceTypeVisible(!container.Payload.Config.AttendanceTypeRequired ? container.Payload.Config.AttendanceTypeVisible : (container.Payload.Config.AttendanceTypeVisible ? true : (this.AttendanceTypes().length > 1 ? true : !this.UpdateTemplateProperties.AutoSelectSingleFields())));\r\n this.UpdateTemplateProperties.AttendanceTypeHelp(container.Payload.Config.AttendanceTypeHelp);\r\n\r\n // Update: AttendanceReason Label, Required, Visible and Help\r\n if (container.Payload.Config.AttendanceReasonLabel != '') {\r\n this.UpdateTemplateProperties.AttendanceReasonLabel(container.Payload.Config.AttendanceReasonLabel);\r\n }\r\n this.UpdateTemplateProperties.AttendanceReasonRequired(container.Payload.Config.AttendanceReasonRequired);\r\n this.UpdateTemplateProperties.AttendanceReasonVisible(!container.Payload.Config.AttendanceReasonRequired ? container.Payload.Config.AttendanceReasonVisible : (container.Payload.Config.AttendanceReasonVisible ? true : (this.AttendanceReasons().length > 1 ? true : !this.UpdateTemplateProperties.AutoSelectSingleFields())));\r\n this.UpdateTemplateProperties.AttendanceReasonHelp(container.Payload.Config.AttendanceReasonHelp);\r\n }\r\n // Transfer the Admissions Academic Levels to the other View Models (College)\r\n //viewModel.LoadChildData('College', 'AdmissionsAcademicLevels', this.AdmissionsAcademicLevels());\r\n\r\n if (container.Payload.Academic != null) {\r\n // TODO: Load Model with Existing Data\r\n var dateFormat = sm.resources.portalResource.getValue('DateFormatExample').toUpperCase();\r\n if (container.Payload.Academic.EarliestStartDate) {\r\n this.EarliestStartDate(\r\n moment(container.Payload.Academic.EarliestStartDate, 'YYYY-MM-DDTHH:mm:ss').format(\r\n dateFormat\r\n )\r\n );\r\n } else {\r\n this.EarliestStartDate(container.Payload.Academic.EarliestStartDate);\r\n }\r\n\r\n if (container.Payload.Academic.ExpectedStartPeriodID != null) {\r\n this.ExpectedStartPeriodID(container.Payload.Academic.ExpectedStartPeriodID);\r\n }\r\n if (container.Payload.Academic.AcademicLevelID != null) {\r\n this.AcademicLevelID(container.Payload.Academic.AcademicLevelID);\r\n }\r\n if (container.Payload.Academic.ApplicationGoalID != null) {\r\n this.ApplicationGoalID(container.Payload.Academic.ApplicationGoalID);\r\n }\r\n if (container.Payload.Academic.AdmissionsProgramID != null) {\r\n this.AdmissionsProgramID(container.Payload.Academic.AdmissionsProgramID);\r\n }\r\n if (container.Payload.Academic.DeliveryMethodID != null) {\r\n this.DeliveryMethodID(container.Payload.Academic.DeliveryMethodID);\r\n }\r\n if (container.Payload.Academic.AdmissionsProgramOfferingItemID != null) {\r\n this.AdmissionsProgramOfferingItemID(container.Payload.Academic.AdmissionsProgramOfferingItemID);\r\n }\r\n if (container.Payload.Academic.CampusID != null) {\r\n this.CampusID(container.Payload.Academic.CampusID);\r\n }\r\n if (container.Payload.Academic.InitialEnrollmentStatusID != null) {\r\n this.InitialEnrollmentStatusID(container.Payload.Academic.InitialEnrollmentStatusID);\r\n }\r\n if (container.Payload.Academic.ExpectedLoadID != null) {\r\n this.ExpectedLoadID(container.Payload.Academic.ExpectedLoadID);\r\n }\r\n if (container.Payload.Academic.AttendanceTypeID != null) {\r\n this.AttendanceTypeID(container.Payload.Academic.AttendanceTypeID);\r\n }\r\n if (container.Payload.Academic.AttendanceReasonID != null) {\r\n this.AttendanceReasonID(container.Payload.Academic.AttendanceReasonID);\r\n }\r\n\r\n this.CategoryID(container.Payload.Academic.CategoryID);\r\n this.LevelOfStudyID(container.Payload.Academic.LevelOfStudyID);\r\n }\r\n\r\n this.AcademicLevelID.subscribe(function (newValue) {\r\n if (viewModel.GetSectionModel('TestScore')) {\r\n viewModel.GetSectionModel('TestScore').DataList([]);\r\n }\r\n if (!sm.portal.utility.isNullOrEmpty(newValue)) {\r\n ChooseDefaultLevelOfStudy(self);\r\n }\r\n\r\n });\r\n\r\n this.DataLoading(false);\r\n this.DataLoaded(true);\r\n }\r\n\r\n if (smapi.constant.applicationDebugFlag) { console.log('[AcademicVM] Data Loaded'); }\r\n };\r\n\r\n sm.portal.vm.custom.callCustomization('ShowAcademicTab', self);\r\n\r\n this.GetModelData = function (blockui, applicationMID, personMID, callback) {\r\n if (!this.DataLoaded() && !this.DataLoading()) {\r\n\r\n this.DataLoading(true);\r\n if (!sm.portal.utility.isNullOrEmpty(viewModel.allCustomData())) {\r\n sm.portal.vm.custom.callCustomization('LoadCustomizedModel', self);\r\n self.LoadModel(viewModel.allCustomData().Academic);\r\n var customData = {\r\n data: viewModel.allCustomData().Academic,\r\n self: self\r\n }\r\n sm.portal.vm.custom.callCustomization('LoadDefaults', customData,\r\n function () {\r\n callback && callback(viewModel.allCustomData().Academic);\r\n }\r\n );\r\n return;\r\n }\r\n if (blockui) {\r\n jQuery.blockUI();\r\n }\r\n sm.portal.vm.custom.callCustomization('LoadCustomizedModel', self);\r\n\r\n var url =\r\n _baseApiUri +\r\n sm.portal.utility.formatString(\r\n 'api/studentportal/getapplicationsection?sectionName=academic&attemptmid={0}',\r\n applicationMID\r\n );\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 sm.portal.page.application.modelDataResponseHandler(self, data, applicationMID, personMID);\r\n var customData = {\r\n data: data,\r\n self: self\r\n }\r\n sm.portal.vm.custom.callCustomization('LoadDefaults', customData,\r\n function () {\r\n callback && callback(data);\r\n }\r\n );\r\n },\r\n error: function (jqXHR, exception) {\r\n sm.portal.page.application.modelErrorHandler(self, jqXHR);\r\n sm.portal.page.application.handleErrorWithMessages(self, jqXHR, 'fetch');\r\n callback && callback();\r\n }\r\n });\r\n } else {\r\n callback && callback();\r\n }\r\n };\r\n this.BlockContainer = function () {\r\n jQuery('#' + self.DataContainer()).block({ message: sm.portal.utility.getResourceValue('Loading') });\r\n };\r\n this.UnBlockContainer = function () {\r\n jQuery('#' + self.DataContainer()).unblock();\r\n viewModel.SetFocus();\r\n };\r\n this.ProcessOnServer = function () {\r\n return true;\r\n };\r\n this.ExtractATO = function () {\r\n // [EXTEND] New fields added to view model need to be updated here\r\n\r\n var dateFormat = sm.resources.portalResource.getValue('DateFormatExample').toUpperCase();\r\n\r\n var stdAdmissionsAttempt = new smapi.admissions.AdmissionsAttemptModel({\r\n PersonID: -1,\r\n AdmissionsAcademicLevelID: self.AcademicLevelID(),\r\n ExpectedStartPeriodID: self.ExpectedStartPeriodID(),\r\n EarliestStartDate: moment(self.EarliestStartDate(), dateFormat).format('YYYY-MM-DD'),\r\n ExpectedLoadID: self.ExpectedLoadID(),\r\n EnrollmentStatusID: self.InitialEnrollmentStatusID(),\r\n AttendanceTypeID: self.AttendanceTypeID(),\r\n AttendanceReasonID: self.AttendanceReasonID(),\r\n CampusID: self.CampusID(),\r\n DeliveryMethodID: self.DeliveryMethodID(),\r\n LevelOfStudyID: self.LevelOfStudyID()\r\n });\r\n // Admissions Programs\r\n var stdAdmProgram = new smapi.admissions.AdmissionsAttemptProgramModel({\r\n AdmissionsAcademicLevelID: self.AcademicLevelID(),\r\n ApplicationGoalID: self.ApplicationGoalID(),\r\n AdmissionProgramID: self.AdmissionsProgramID(),\r\n AdmissionsProgramOfferingItemID: self.AdmissionsProgramOfferingItemID()\r\n });\r\n\r\n var data = {\r\n stdAdmissionsAttempt: stdAdmissionsAttempt,\r\n stdAdmProgram: stdAdmProgram,\r\n self: self\r\n }\r\n\r\n var stdAdmissionsAttemptCustom = sm.portal.vm.custom.callCustomization('ExtractAdditionalATOForAcademicInterest', data);\r\n if (!sm.portal.utility.isNullOrEmpty(stdAdmissionsAttemptCustom)) {\r\n return stdAdmissionsAttemptCustom;\r\n }\r\n\r\n stdAdmissionsAttempt.AdmissionsAttemptPrograms.push(stdAdmProgram);\r\n\r\n return stdAdmissionsAttempt;\r\n };\r\n\r\n sm.portal.vm.custom.callCustomization('SubscribeAcademicLevelID', self);\r\n\r\n function ChooseDefaultLevelOfStudy(that) {\r\n SetLevelOfStudyOn();\r\n sm.portal.vm.custom.callCustomization('UpdatedChooseDefaultLevelOfStudy', self);\r\n\r\n if ((that.LevelOfStudyID() == undefined || sm.portal.utility.isNullOrEmpty(that.LevelOfStudyID())) && self.LevelOfStudyShow()) {\r\n var levelOfStudyArray;\r\n var data = {\r\n levelOfStudyArray: levelOfStudyArray,\r\n that: that,\r\n self: self\r\n }\r\n\r\n sm.portal.vm.custom.callCustomization('UpdateLevelOfStudyArray', data,\r\n function () {\r\n levelOfStudyArray = that.LevelsOfStudy().sort(SortBySequence);\r\n }\r\n );\r\n\r\n var defaultItem = levelOfStudyArray.filter(function (item) {\r\n return item.IsDefault();\r\n });\r\n\r\n if (defaultItem.length >= 1) {\r\n that.LevelOfStudyID(defaultItem[0].ID());\r\n } else {\r\n if (levelOfStudyArray.length > 0) {\r\n that.LevelOfStudyID(levelOfStudyArray[0].ID());\r\n } else {\r\n that.LevelOfStudyID(null);\r\n }\r\n }\r\n }\r\n };\r\n\r\n function SetLevelOfStudyOn() {\r\n if (self.LevelOfStudyEnabled()) {\r\n if (self.LevelsOfStudy().length == 0) {\r\n self.LevelOfStudyShow(false);\r\n self.LevelOfStudyID(null);\r\n } else {\r\n self.LevelOfStudyShow(true);\r\n }\r\n }\r\n };\r\n\r\n //To set Array Values as null if it is zero\r\n this.UnsetProp = function (props) {\r\n props.forEach(function (currentValue) {\r\n if (currentValue() == 0)\r\n currentValue(null);\r\n });\r\n }\r\n\r\n //This will initialize the content of Academic Section\r\n this.Initialize = function () {\r\n\r\n var props = [this.ApplicationGoalID, this.AdmissionsProgramID];\r\n //GetAdmissionsOfferingMatrix API expect values as null for sending complete data of Academic Section.\r\n self.UnsetProp(props);\r\n\r\n this.getAvailableOptions(null, {\r\n successCallback: function (data) {\r\n if (sm.portal.utility.isNullOrEmpty(sm.portal.vm.custom.callCustomization('SkipSetAvailableOptions'))) {\r\n self.SetAvaliableOptions(data);\r\n }\r\n SetLevelOfStudyOn();\r\n },\r\n errorCallback: function (jqXHR, exception) {\r\n sm.portal.page.application.modelErrorHandler(self, jqXHR);\r\n }\r\n });\r\n };\r\n\r\n this.ResetProgrammeCategoryID = function () {\r\n if (this.IsVMValid()) {\r\n return;\r\n }\r\n\r\n self.ProgrammeCategoryID(null);\r\n };\r\n\r\n //API call to get data for Academic Section\r\n this.getAvailableOptions = function (data, callback) {\r\n var url = _baseApiUri + sm.portal.utility.formatString('api/studentportal/GetAdmissionsOfferingMatrix');\r\n\r\n var optionsSelected = JSON.stringify(\r\n {\r\n StartPeriodID: sm.portal.utility.isNullOrEmpty(this.ExpectedStartPeriodID()) ? null : this.ExpectedStartPeriodID(),\r\n AcademicLevelID: sm.portal.utility.isNullOrEmpty(this.AcademicLevelID()) ? null : this.AcademicLevelID(),\r\n ApplicationGoalID: sm.portal.utility.isNullOrEmpty(this.ApplicationGoalID()) ? null : this.ApplicationGoalID(),\r\n AdmissionsProgramID: sm.portal.utility.isNullOrEmpty(this.AdmissionsProgramID()) ? null : this.AdmissionsProgramID(),\r\n DeliveryMethodID: sm.portal.utility.isNullOrEmpty(this.DeliveryMethodID()) ? null : this.DeliveryMethodID(),\r\n CampusID: sm.portal.utility.isNullOrEmpty(this.CampusID()) ? null : this.CampusID(),\r\n AdmissionsOfferingItemID: sm.portal.utility.isNullOrEmpty(this.AdmissionsProgramOfferingItemID()) ? null : this.AdmissionsProgramOfferingItemID(),\r\n LevelOfStudyID: sm.portal.utility.isNullOrEmpty(this.LevelOfStudyID()) ? null : this.LevelOfStudyID()\r\n\r\n });\r\n if (!this.DataLoading()) {\r\n self.BlockContainer();\r\n\r\n this.DataLoading(true);\r\n\r\n sm.portal.utility.AjaxPost(\r\n url,\r\n optionsSelected,\r\n onSuccess = function (data, textStatus, jqXHR) {\r\n callback && callback.successCallback && callback.successCallback(data, textStatus, jqXHR); \r\n //AdmissionsPrograms Selected Value\r\n let admissionsProgramID = jQuery('select#AdmissionsProgramID option:selected').val(); \r\n if (!sm.portal.utility.isNullOrEmpty(admissionsProgramID) && admissionsProgramID != undefined) {\r\n if (data.AdmissionsPrograms.length == 1) {\r\n self.AdmissionsProgramDescription(data.AdmissionsPrograms[0].Description);\r\n self.UpdateTemplateProperties.ShowAPDescriptionOnPortal(data.AdmissionsPrograms[0].ShowAPDescriptionOnPortal);\r\n }\r\n else {\r\n self.AdmissionsProgramDescription('');\r\n self.UpdateTemplateProperties.ShowAPDescriptionOnPortal(false);\r\n }\r\n }\r\n //AdmissionsProgramOfferingItems Selected Value\r\n let admissionsProgramOfferingItemID = jQuery('select#AdmissionsProgramOfferingItemID option:selected').val(); \r\n if (!sm.portal.utility.isNullOrEmpty(admissionsProgramOfferingItemID) && admissionsProgramOfferingItemID != undefined) {\r\n if (data.AdmissionsProgramOfferingItems.length == 1) {\r\n self.APOIDescription(data.AdmissionsProgramOfferingItems[0].APOIDescription);\r\n self.UpdateTemplateProperties.ShowAPOIDescriptionOnPortal(data.AdmissionsProgramOfferingItems[0].ShowAPOIDescriptionOnPortal);\r\n }\r\n else {\r\n self.APOIDescription('');\r\n self.UpdateTemplateProperties.ShowAPOIDescriptionOnPortal(false);\r\n }\r\n } \r\n self.UnBlockContainer();\r\n self.DataLoading(false);\r\n },\r\n OnError = function (jqXHR, exception) {\r\n callback && callback.errorCallback && callback.errorCallback(jqXHR, exception);\r\n self.DataLoading(false);\r\n },\r\n complete = function (jqXHR, textStatus) {\r\n callback && callback.completeCallback && callback.completeCallback(jqXHR, textStatus);\r\n }\r\n );\r\n }\r\n };\r\n\r\n this.UpdateOptions = function (data, event) {\r\n var customData = {\r\n self: self,\r\n event: event\r\n }\r\n var latestAdmissionsProgramID = self.AdmissionsProgramID();\r\n var admissionsProgramOfferingItemsID = self.AdmissionsProgramOfferingItemID();\r\n var res = sm.portal.vm.custom.callCustomization('UpdateOptions', customData);\r\n if (sm.portal.utility.isNullOrEmpty(res)) {\r\n if (event.originalEvent) {\r\n this.getAvailableOptions(null, {\r\n successCallback: function (data) {\r\n if (latestAdmissionsProgramID != null && latestAdmissionsProgramID != undefined) {\r\n let selectedAPValue = data.AdmissionsPrograms.filter(v => v.ID == latestAdmissionsProgramID);\r\n if (selectedAPValue.length > 0 && selectedAPValue[0].ShowAPDescriptionOnPortal) {\r\n self.AdmissionsProgramDescription(selectedAPValue[0].Description);\r\n self.UpdateTemplateProperties.ShowAPDescriptionOnPortal(selectedAPValue[0].ShowAPDescriptionOnPortal);\r\n }\r\n else {\r\n self.AdmissionsProgramDescription('');\r\n self.UpdateTemplateProperties.ShowAPDescriptionOnPortal(false);\r\n }\r\n }\r\n else {\r\n self.AdmissionsProgramDescription('');\r\n self.UpdateTemplateProperties.ShowAPDescriptionOnPortal(false);\r\n }\r\n\r\n if (admissionsProgramOfferingItemsID != null && admissionsProgramOfferingItemsID != undefined) {\r\n let admissionsProgramOfferingItems = data.AdmissionsProgramOfferingItems.filter(v => v.ID == admissionsProgramOfferingItemsID);\r\n if (admissionsProgramOfferingItems.length > 0 && admissionsProgramOfferingItems[0].ShowAPOIDescriptionOnPortal) {\r\n self.APOIDescription(admissionsProgramOfferingItems[0].APOIDescription);\r\n self.UpdateTemplateProperties.ShowAPOIDescriptionOnPortal(true);\r\n }\r\n else {\r\n self.APOIDescription('');\r\n self.UpdateTemplateProperties.ShowAPOIDescriptionOnPortal(false);\r\n }\r\n\r\n }\r\n else {\r\n self.APOIDescription('');\r\n self.UpdateTemplateProperties.ShowAPOIDescriptionOnPortal(false);\r\n }\r\n\r\n var id = (event && event.target && event.target.id) || null;\r\n self.SetAvaliableOptions(data, id);\r\n },\r\n errorCallback: function (jqXHR, exception) {\r\n sm.portal.page.application.modelErrorHandler(self, jqXHR);\r\n },\r\n completeCallback: function (jqXHR, textStatus) {\r\n event && event.target && event.target.focus();\r\n },\r\n });\r\n }\r\n }\r\n };\r\n\r\n this.RunAutoSelect = function (options) {\r\n\r\n if (this.AutoSelectOptions(options)) {\r\n\r\n this.DataLoading(false);\r\n this.getAvailableOptions(null, {\r\n successCallback: function (data) {\r\n self.RunAutoSelect(data);\r\n },\r\n errorCallback: function (jqXHR, exception) {\r\n sm.portal.page.application.modelErrorHandler(self, jqXHR);\r\n }\r\n });\r\n }\r\n }\r\n\r\n this.AutoSelectOptions = function (options) {\r\n\r\n var atLeastOneDropdownWasAutoSelected = false;\r\n\r\n if (options.ExpectedStartPeriods.length === 0) { this.ExpectedStartPeriodID(null) }\r\n if (options.ExpectedStartPeriods.length === 1\r\n && (sm.portal.utility.isNullOrEmpty(this.ExpectedStartPeriodID()) || this.ExpectedStartPeriodID() != options.ExpectedStartPeriods[0].ID)) {\r\n self.AcademicPeriods(smapi.access.loadListItemModels(options.ExpectedStartPeriods, [], true));\r\n self.ExpectedStartPeriodID(options.ExpectedStartPeriods[0].ID);\r\n atLeastOneDropdownWasAutoSelected = true;\r\n }\r\n if (options.AcademicLevels.length === 0) { this.AcademicLevelID(null) }\r\n if (options.AcademicLevels.length === 1\r\n && (sm.portal.utility.isNullOrEmpty(this.AcademicLevelID()) || this.AcademicLevelID() != options.AcademicLevels[0].ID)) {\r\n self.AdmissionsAcademicLevels(smapi.access.loadListItemModels(options.AcademicLevels, [], true));\r\n self.AcademicLevelID(options.AcademicLevels[0].ID);\r\n atLeastOneDropdownWasAutoSelected = true;\r\n }\r\n if (options.ApplicationGoals.length === 0) { this.ApplicationGoalID(null) }\r\n if (options.ApplicationGoals.length === 1\r\n && (sm.portal.utility.isNullOrEmpty(this.ApplicationGoalID()) || this.ApplicationGoalID() != options.ApplicationGoals[0].ID)) {\r\n self.Goals(smapi.access.loadListItemModels(options.ApplicationGoals, [], true));\r\n self.ApplicationGoalID(options.ApplicationGoals[0].ID);\r\n atLeastOneDropdownWasAutoSelected = true;\r\n }\r\n if (options.AdmissionsPrograms.length === 0) { this.AdmissionsProgramID(null) }\r\n if (options.AdmissionsPrograms.length === 1\r\n && (sm.portal.utility.isNullOrEmpty(this.AdmissionsProgramID()) || this.AdmissionsProgramID() != options.AdmissionsPrograms[0].ID)) {\r\n self.AdmissionsPrograms(smapi.access.loadListItemModels(options.AdmissionsPrograms, [], true));\r\n self.AdmissionsProgramID(options.AdmissionsPrograms[0].ID);\r\n atLeastOneDropdownWasAutoSelected = true;\r\n }\r\n if (options.DeliveryMethods.length === 0) { this.DeliveryMethodID(null) }\r\n if (options.DeliveryMethods.length === 1\r\n && (sm.portal.utility.isNullOrEmpty(this.DeliveryMethodID()) || this.DeliveryMethodID() != options.DeliveryMethods[0].ID)) {\r\n self.DeliveryMethods(smapi.access.loadListItemModels(options.DeliveryMethods, [], true));\r\n self.DeliveryMethodID(options.DeliveryMethods[0].ID);\r\n atLeastOneDropdownWasAutoSelected = true;\r\n }\r\n if (options.AdmissionsProgramOfferingItems.length === 0) { this.AdmissionsProgramOfferingItemID(null) }\r\n if (options.AdmissionsProgramOfferingItems.length === 1\r\n && (sm.portal.utility.isNullOrEmpty(this.AdmissionsProgramOfferingItemID()) || this.AdmissionsProgramOfferingItemID() != options.AdmissionsProgramOfferingItems[0].ID)) {\r\n self.AdmissionsOfferingItems(smapi.access.loadListItemModels(options.AdmissionsProgramOfferingItems, [], true));\r\n self.AdmissionsProgramOfferingItemID(options.AdmissionsProgramOfferingItems[0].ID);\r\n atLeastOneDropdownWasAutoSelected = true;\r\n }\r\n if (options.Campuses.length === 0) { this.CampusID(null) }\r\n if (options.Campuses.length === 1\r\n && (sm.portal.utility.isNullOrEmpty(this.CampusID()) || this.CampusID() != options.Campuses[0].ID)) {\r\n self.Campuses(smapi.access.loadListItemModels(options.Campuses, [], true));\r\n self.CampusID(options.Campuses[0].ID);\r\n atLeastOneDropdownWasAutoSelected = true;\r\n }\r\n return atLeastOneDropdownWasAutoSelected;\r\n }\r\n\r\n this.SetAvaliableOptions = function (options, id) {\r\n\r\n self.AcademicPeriods(smapi.access.loadListItemModels(options.ExpectedStartPeriods, [], true));\r\n self.AdmissionsAcademicLevels(smapi.access.loadListItemModels(options.AcademicLevels, [], true));\r\n self.Goals(smapi.access.loadListItemModels(options.ApplicationGoals, [], true));\r\n self.AdmissionsPrograms(smapi.access.loadListItemModels(options.AdmissionsPrograms, [], true));\r\n self.DeliveryMethods(smapi.access.loadListItemModels(options.DeliveryMethods, [], true));\r\n self.AdmissionsOfferingItems(smapi.access.loadListItemModels(options.AdmissionsProgramOfferingItems, [], true));\r\n self.Campuses(smapi.access.loadListItemModels(options.Campuses, [], true));\r\n\r\n self.UpdateTemplateProperties.AcademicStartPeriodVisible(!self.UpdateTemplateProperties.AcademicStartPeriodRequired() ? self.UpdateTemplateProperties.AcademicStartPeriodVisible() : (self.UpdateTemplateProperties.AcademicStartPeriodVisible() ? true : (options.ExpectedStartPeriods.length > 1 ? true : !this.UpdateTemplateProperties.AutoSelectSingleFields())));\r\n self.UpdateTemplateProperties.AcademicLevelVisible(!self.UpdateTemplateProperties.AcademicLevelRequired() ? self.UpdateTemplateProperties.AcademicLevelVisible() : (self.UpdateTemplateProperties.AcademicLevelVisible() ? true : (options.AcademicLevels.length > 1 ? true : !this.UpdateTemplateProperties.AutoSelectSingleFields())));\r\n self.UpdateTemplateProperties.ApplicationGoalVisible(!self.UpdateTemplateProperties.ApplicationGoalRequired() ? self.UpdateTemplateProperties.ApplicationGoalVisible() : (self.UpdateTemplateProperties.ApplicationGoalVisible() ? true : (options.ApplicationGoals.length > 1 ? true : !this.UpdateTemplateProperties.AutoSelectSingleFields())));\r\n self.UpdateTemplateProperties.AdmissionsProgramVisible(!self.UpdateTemplateProperties.AdmissionsProgramRequired() ? self.UpdateTemplateProperties.AdmissionsProgramVisible() : (self.UpdateTemplateProperties.AdmissionsProgramVisible() ? true : (options.AdmissionsPrograms.length > 1 ? true : !this.UpdateTemplateProperties.AutoSelectSingleFields())));\r\n self.UpdateTemplateProperties.DeliveryMethodVisible(!self.UpdateTemplateProperties.DeliveryMethodRequired() ? self.UpdateTemplateProperties.DeliveryMethodVisible() : (self.UpdateTemplateProperties.DeliveryMethodVisible() ? true : (options.DeliveryMethods.length > 1 ? true : !this.UpdateTemplateProperties.AutoSelectSingleFields())));\r\n self.UpdateTemplateProperties.ProgramRouteVisible(!self.UpdateTemplateProperties.ProgramRouteRequired() ? self.UpdateTemplateProperties.ProgramRouteVisible() : (self.UpdateTemplateProperties.ProgramRouteVisible() ? true : (options.AdmissionsProgramOfferingItems.length > 1 ? true : !this.UpdateTemplateProperties.AutoSelectSingleFields())));\r\n self.UpdateTemplateProperties.CampusVisible(!self.UpdateTemplateProperties.CampusRequired() ? self.UpdateTemplateProperties.CampusVisible() : (self.UpdateTemplateProperties.CampusVisible() ? true : (options.Campuses.length > 1 ? true : !this.UpdateTemplateProperties.AutoSelectSingleFields())));\r\n\r\n self.LevelsOfStudy(smapi.access.loadListItemModels(options.LevelsOfStudy.sort(function (l, r) { return l.Sequence - r.Sequence; }), []));\r\n\r\n if (id === 'AcademicLevelID') {\r\n if (!!self.LevelOfStudyID() && !!options.LevelsOfStudy.find(function (element) { return element.ID == self.LevelOfStudyID(); })) {\r\n return;\r\n }\r\n\r\n var defaultLevelOfStudy = self.LevelOfStudiesOn() && self.AcademicDetails().AcademicLevelID()\r\n ? options.LevelsOfStudy.find(function (element) { return element.IsDefault; })\r\n : undefined;\r\n self.LevelOfStudyID(!!defaultLevelOfStudy ? defaultLevelOfStudy.ID : undefined);\r\n }\r\n\r\n if (self.UpdateTemplateProperties.AutoSelectSingleFields()) { this.RunAutoSelect(options); }\r\n };\r\n\r\n this.ResetDropdowns = function () {\r\n self.ExpectedStartPeriodID(null);\r\n self.ExpectedStartPeriodID.isModified(false);\r\n\r\n self.AcademicLevelID(null);\r\n self.AcademicLevelID.isModified(false);\r\n\r\n self.ApplicationGoalID(null);\r\n self.ApplicationGoalID.isModified(false);\r\n\r\n self.AdmissionsProgramID(null);\r\n self.AdmissionsProgramID.isModified(false);\r\n\r\n self.DeliveryMethodID(null);\r\n self.DeliveryMethodID.isModified(false);\r\n\r\n self.AdmissionsProgramOfferingItemID(null);\r\n self.AdmissionsProgramOfferingItemID.isModified(false);\r\n\r\n self.CampusID(null);\r\n self.CampusID.isModified(false);\r\n\r\n /*\r\n self.InitialEnrollmentStatusID(null);\r\n self.InitialEnrollmentStatusID.isModified(false);\r\n \r\n self.ExpectedLoadID(null);\r\n self.ExpectedLoadID.isModified(false);\r\n \r\n self.AttendanceTypeID(null);\r\n self.AttendanceTypeID.isModified(false);\r\n \r\n self.AttendanceReasonID(null);\r\n self.AttendanceReasonID.isModified(false);\r\n */\r\n\r\n self.EarliestStartDate(null);\r\n self.EarliestStartDate.isModified(false);\r\n\r\n self.CategoryID(null);\r\n self.CategoryID.isModified(false);\r\n\r\n self.LevelOfStudyID(null);\r\n self.LevelOfStudyID.isModified(false);\r\n\r\n this.Initialize();\r\n };\r\n /*** SECTION METHODS ***/\r\n\r\n /*** VALIDATION METHODS ***/\r\n\r\n sm.portal.vm.custom.callCustomization('OverrideAcademicValidation', self);\r\n\r\n this.ExpectedStartPeriodID.extend({\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n required: {\r\n onlyIf: function () {\r\n return self.ExpectedEntrancePeriodRequired() || self.UpdateTemplateProperties.AcademicStartPeriodRequired();\r\n },\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n }\r\n });\r\n this.DeliveryMethodID.extend({\r\n required: {\r\n onlyIf: function () {\r\n return self.UpdateTemplateProperties.DeliveryMethodRequired();\r\n },\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n this.AdmissionsProgramOfferingItemID.extend({\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n required: {\r\n onlyIf: function () {\r\n return self.AdmissionsProgramOfferingItemEnabled() || self.UpdateTemplateProperties.ProgramRouteRequired();\r\n },\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n }\r\n });\r\n this.CampusID.extend({\r\n required: {\r\n onlyIf: function () {\r\n return self.UpdateTemplateProperties.CampusRequired();\r\n },\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n this.ApplicationGoalID.extend({\r\n required: {\r\n onlyIf: function () {\r\n return self.UpdateTemplateProperties.ApplicationGoalRequired();\r\n },\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n this.AdmissionsProgramID.extend({\r\n required: {\r\n onlyIf: function () {\r\n return self.UpdateTemplateProperties.AdmissionsProgramRequired();\r\n },\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n this.AcademicLevelID.extend({\r\n required: {\r\n onlyIf: function () {\r\n return self.UpdateTemplateProperties.AcademicLevelRequired();\r\n },\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n this.EarliestStartDate.extend({\r\n smLocalDate: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeADate_Key)\r\n }\r\n });\r\n this.CategoryID.extend({\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n this.InitialEnrollmentStatusID.extend({\r\n required: {\r\n onlyIf: function () {\r\n return self.UpdateTemplateProperties.InitialEnrollmentRequired();\r\n },\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n this.ExpectedLoadID.extend({\r\n required: {\r\n onlyIf: function () {\r\n return self.UpdateTemplateProperties.ExpectedEnrollmentRequired();\r\n },\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n this.AttendanceTypeID.extend({\r\n required: {\r\n onlyIf: function () {\r\n return self.UpdateTemplateProperties.AttendanceTypeRequired();\r\n },\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n this.AttendanceReasonID.extend({\r\n required: {\r\n onlyIf: function () {\r\n return self.UpdateTemplateProperties.AttendanceReasonRequired();\r\n },\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n this.LevelOfStudyID.extend({\r\n min: {\r\n params: -9223372036854775808,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n number: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n },\r\n required: {\r\n onlyIf: function () {\r\n return self.LevelOfStudiesOn();\r\n },\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n }\r\n });\r\n\r\n // Set Model Grouping for validation\r\n this.ModelErrors = ko.validation.group(this);\r\n // Check if Model is valid\r\n // (will NOT validate attached models, unless we\r\n // init that in ui.js - currently it has performance problems)\r\n this.IsVMValid = function () {\r\n if (this.ModelErrors().length == 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n this.Completed = ko.computed(function () {\r\n var isCompleted = this.IsVMValid();\r\n return isCompleted;\r\n }, this);\r\n /*** VALIDATION METHODS ***/\r\n\r\n this.ValidateModel = function () {\r\n self.validationEnabled(true);\r\n if (!this.IsVMValid()) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n\r\n return self;\r\n }\r\n\r\n if (typeof sm.portal.vm.AcademicInterestsViewModel === 'undefined') {\r\n jQuery.extend(true, sm.portal.vm, {\r\n AcademicInterestsViewModel: AcademicInterestsViewModel\r\n });\r\n }\r\n})(jQuery);\r\n"]}