{"version":3,"file":"sm.portal.vm.demographic.min.js","names":["jQuery","undefined","sm","window","portal","extend","vm","DemographicViewModel","euFeatureEnabled","utility","isEUFeatureEnabled","ukFeatureEnabled","isUKFeatureEnabled","apasFeatureEnabled","isAPASFeatureEnabled","self","this","ID","ko","observable","GID","GenderID","validatedObservable","GenderIdentityID","SexualOrientationID","CitizenshipItemID","CitizenshipItemGID","CitizenshipID","DualNationalityID","BirthCountryID","ResidentStateID","IndigenousPersonDeclarationID","IsVeteranFlag","IsHispanicFlag","SystemCountryID","PermanentResidentFlagID","AlienIDNumber","PassportNumber","RequireVisa","VisaTypeID","VisaExpirationDate","IsPermanentResident","HaveWorkPermit","HaveStudyPermit","EntryDateIntoCanada","StudyPermitNumber","StudyPermitExpirationDate","WorkPermitNumber","WorkPermitExpirationDate","IsGuardiansAttendedcollege","MilitaryServiceID","MilitaryServiceGID","MilitaryBranchID","MilitaryStatusID","DateOfServiceStart","DateOfServiceEnd","DualNationalityItemID","DualNationalityItemGID","ReligionID","DateOfEntryToUK","PassportExpiration","PassportIssuePlace","VisaNumber","CriminalConviction","UpdateTemplateProperties","DemographicDescriptionText","SetNationalityRequired","SetBirthCountryRequired","SetEthnicOriginRequired","SetReligionRequired","HideDemographicData","SetGenderRequired","DemographicInternationalTemplate","SummaryDemographicTemplate","SummaryDemographicVisaTemplate","HideDemographicText","custom","setCustomLocalizeKey","ukdemographic","InitializeLocalizationProperties","EthnicOriginIDs","observableArray","DataLoaded","DataLoading","DataContainer","Touched","DataLoadErrorCount","CountriesDataLoaded","StatesDataLoaded","callCustomization","ShowForeignBornDetails","computed","showForeignBornDetails","isNullOrEmpty","toString","updatedReqVisa","ShowMilitaryDetails","FullServiceDates","dates","AnythingPopulated","response","Countries","States","EthnicOrigins","IndigenousPersonDeclaration","PermanentResidentFlags","VisaTypes","MilitaryBranches","MilitaryStatuses","ReligionOptions","UKCountries","Query","Genders","GenderIdentities","SexualOrientations","subscribe","newValue","sectionsToAdd","Array","sectionsToRemove","push","section","required","viewModel","SetRequired","MaintainSections","handlePermanentResidentChange","i","length","FilterField1Value","handleCitizenshipIDChange","LoadModel","container","Payload","Config","SetSectionsConfigData","dateFormat","resources","portalResource","getValue","toUpperCase","extraData","smapi","access","loadListItemModels","ListData","Demographic","moment","Date","format","res","includes","apasdemographic","constant","applicationDebugFlag","console","log","GetModelData","blockui","applicationMID","personMID","callback","blockUI","url","_baseApiUri","formatString","ajax","type","dataType","contentType","headers","processData","crossDomain","xhrFields","withCredentials","success","data","textStatus","jqXHR","page","application","modelDataResponseHandler","error","exception","modelErrorHandler","custData","BlockContainer","block","message","getResourceValue","UnBlockContainer","unblock","SetFocus","ProcessOnServer","ExtractATO","demoMain","community","DemographicDataModel","IsHispanic","Veteran","NumOfDependents","NumOfDependentsInHousehold","BirthCity","DriversLicense","dateOfServiceStart","dateOfServiceEnd","military","MilitaryServiceModel","BranchID","DateOfServiceFrom","DateOfServiceTo","PrimaryAFSC","SecondaryAFSC","TertiaryAFSC","QuaternaryAFSC","Unit","PromotionLineNumber","EligibleForReinstatement","MilitaryService","citizenship","CitizenshipModel","CountryID","PermanentResidentStatusID","NationalID","customData","citizenshipUpdated","Citizenships","additionData","eudemographic","min","params","validate_MustBeNumeric_Key","max","number","maxLength","validate_0CharactersOrLess_Key","smLocalDate","validate_MustBeADate_Key","validate_FieldRequired_Key","onlyIf","pattern","ModelErrors","validation","group","IsVMValid","Completed"],"sources":["assets/js/viewmodels/admissions/sm.portal.vm.demographic.js"],"mappings":"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","ignoreList":[],"sourcesContent":["/// \r\n\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 // Demographic Data View Model\r\n // Holds the demographic information for an applicant\r\n /**************************************/\r\n function DemographicViewModel() {\r\n\r\n var euFeatureEnabled = sm.portal.utility.isEUFeatureEnabled();\r\n var ukFeatureEnabled = sm.portal.utility.isUKFeatureEnabled();\r\n var apasFeatureEnabled = sm.portal.utility.isAPASFeatureEnabled();\r\n // Self-Identification\r\n var self = this;\r\n\r\n /*** PROPERTIES ***/\r\n this.ID = ko.observable();\r\n this.GID = ko.observable();\r\n this.GenderID = ko.validatedObservable();\r\n this.GenderIdentityID = ko.validatedObservable();\r\n this.SexualOrientationID = ko.validatedObservable();\r\n\r\n this.CitizenshipItemID = ko.validatedObservable();\r\n this.CitizenshipItemGID = ko.validatedObservable();\r\n this.CitizenshipID = ko.validatedObservable();\r\n this.DualNationalityID = ko.validatedObservable();\r\n this.BirthCountryID = ko.validatedObservable();\r\n this.ResidentStateID = ko.validatedObservable();\r\n this.IndigenousPersonDeclarationID = ko.validatedObservable();\r\n this.IsVeteranFlag = ko.validatedObservable();\r\n this.IsHispanicFlag = ko.validatedObservable();\r\n this.SystemCountryID = ko.validatedObservable();\r\n this.PermanentResidentFlagID = ko.validatedObservable();\r\n this.AlienIDNumber = ko.validatedObservable();\r\n this.PassportNumber = ko.validatedObservable();\r\n this.RequireVisa = ko.validatedObservable();\r\n this.VisaTypeID = ko.validatedObservable();\r\n this.VisaExpirationDate = ko.validatedObservable();\r\n this.IsPermanentResident = ko.validatedObservable();\r\n this.HaveWorkPermit = ko.validatedObservable();\r\n this.HaveStudyPermit = ko.validatedObservable();\r\n this.EntryDateIntoCanada = ko.validatedObservable();\r\n this.StudyPermitNumber = ko.validatedObservable();\r\n this.StudyPermitExpirationDate = ko.validatedObservable();\r\n this.WorkPermitNumber = ko.validatedObservable();\r\n this.WorkPermitExpirationDate = ko.validatedObservable();\r\n this.IsGuardiansAttendedcollege = ko.validatedObservable();\r\n\r\n this.MilitaryServiceID = ko.observable();\r\n this.MilitaryServiceGID = ko.observable();\r\n this.MilitaryBranchID = ko.validatedObservable();\r\n this.MilitaryStatusID = ko.validatedObservable();\r\n this.DateOfServiceStart = ko.validatedObservable();\r\n this.DateOfServiceEnd = ko.validatedObservable();\r\n\r\n //UK portal properties\r\n this.DualNationalityItemID = ko.validatedObservable();\r\n this.DualNationalityItemGID = ko.validatedObservable();\r\n this.ReligionID = ko.validatedObservable();\r\n this.DateOfEntryToUK = ko.validatedObservable();\r\n this.PassportExpiration = ko.validatedObservable();\r\n this.PassportIssuePlace = ko.validatedObservable();\r\n this.VisaNumber = ko.validatedObservable();\r\n this.CriminalConviction = ko.validatedObservable();\r\n this.UpdateTemplateProperties = {\r\n DemographicDescriptionText : ko.observable(''),\r\n SetNationalityRequired : ko.observable(false),\r\n SetBirthCountryRequired : ko.observable(false),\r\n SetEthnicOriginRequired : ko.observable(false),\r\n SetReligionRequired : ko.observable(false),\r\n HideDemographicData : ko.observable(false),\r\n SetGenderRequired : ko.observable(false),\r\n DemographicInternationalTemplate : ko.observable(''),\r\n SummaryDemographicTemplate : ko.observable(''),\r\n SummaryDemographicVisaTemplate : ko.observable(''),\r\n HideDemographicText : ko.observable(true)\r\n }\r\n\r\n sm.portal.vm.custom.setCustomLocalizeKey(self.UpdateTemplateProperties);\r\n\r\n if (ukFeatureEnabled != undefined && ukFeatureEnabled) {\r\n sm.portal.vm.ukdemographic.InitializeLocalizationProperties(this);\r\n }\r\n\r\n\r\n this.EthnicOriginIDs = ko.observableArray();\r\n\r\n /*** 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(\"DemographicContainer\");\r\n this.Touched = ko.observable(false);\r\n this.DataLoadErrorCount = ko.observable(0);\r\n\r\n this.CountriesDataLoaded = ko.observable(false);\r\n this.StatesDataLoaded = ko.observable(false);\r\n /*** SECTION PROPERTIES ***/\r\n sm.portal.vm.custom.callCustomization('UpdateDemographicProperties', self);\r\n\r\n /*** SUBSECTION PROPERTIES ***/\r\n this.ShowForeignBornDetails = ko.computed(function () {\r\n\r\n var showForeignBornDetails = false;\r\n if (!sm.portal.utility.isNullOrEmpty(this.CitizenshipID()) && !sm.portal.utility.isNullOrEmpty(this.SystemCountryID())) {\r\n if (this.CitizenshipID().toString() != this.SystemCountryID().toString()) {\r\n showForeignBornDetails = true;\r\n }\r\n }\r\n\r\n if (typeof sm.portal.vm.ukdemographic !== 'undefined' && ukFeatureEnabled) {\r\n showForeignBornDetails = sm.portal.vm.ukdemographic.ShowForeignBornDetails(this);\r\n }\r\n\r\n if (!showForeignBornDetails) {\r\n this.PermanentResidentFlagID(null);\r\n this.AlienIDNumber(null);\r\n this.VisaTypeID(null);\r\n this.VisaExpirationDate(null);\r\n \r\n var updatedReqVisa= sm.portal.vm.custom.callCustomization('OverrideRequireVisa');\r\n if(!sm.portal.utility.isNullOrEmpty(updatedReqVisa)){\r\n this.RequireVisa(undefined);\r\n }else{\r\n this.RequireVisa(null); \r\n } \r\n this.DateOfEntryToUK(null);\r\n this.PassportExpiration(null);\r\n this.PassportIssuePlace(null);\r\n this.VisaNumber(null);\r\n this.EntryDateIntoCanada(null);\r\n this.StudyPermitNumber(null);\r\n this.StudyPermitExpirationDate(null);\r\n this.WorkPermitNumber(null);\r\n this.WorkPermitExpirationDate(null);\r\n }\r\n \r\n return showForeignBornDetails;\r\n\r\n }, this);\r\n this.ShowMilitaryDetails = ko.computed(function () {\r\n if (!sm.portal.utility.isNullOrEmpty(this.IsVeteranFlag()) && this.IsVeteranFlag() == \"true\") {\r\n return true;\r\n }\r\n return false;\r\n }, this);\r\n /*** SUBSECTION PROPERTIES ***/\r\n\r\n /*** COMPUTED PROPERTIES ***/\r\n this.FullServiceDates = ko.computed(function () {\r\n var dates = '';\r\n if (!sm.portal.utility.isNullOrEmpty(this.DateOfServiceStart())) {\r\n dates = this.DateOfServiceStart();\r\n }\r\n if (!sm.portal.utility.isNullOrEmpty(this.DateOfServiceEnd()) && !sm.portal.utility.isNullOrEmpty(dates)) {\r\n dates += ' - ' + this.DateOfServiceEnd();\r\n } else if (!sm.portal.utility.isNullOrEmpty(this.DateOfServiceEnd()) && sm.portal.utility.isNullOrEmpty(dates)) {\r\n dates = 'Ended: ' + this.DateOfServiceEnd();\r\n }\r\n return dates;\r\n }, this);\r\n this.AnythingPopulated = ko.computed(function () {\r\n\r\n if (!sm.portal.utility.isNullOrEmpty(this.CitizenshipID())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.BirthCountryID())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.ResidentStateID())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.IsVeteranFlag())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.IsHispanicFlag())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.IndigenousPersonDeclarationID())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.EthnicOriginIDs())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.PermanentResidentFlagID())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.AlienIDNumber())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.PassportNumber())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.VisaTypeID())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.VisaExpirationDate())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.EntryDateIntoCanada())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.StudyPermitNumber())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.StudyPermitExpirationDate())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.WorkPermitNumber())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.WorkPermitExpirationDate())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.IsGuardiansAttendedcollege())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.MilitaryBranchID())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.MilitaryStatusID())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.DateOfServiceStart())) return true;\r\n if (!sm.portal.utility.isNullOrEmpty(this.DateOfServiceEnd())) return true;\r\n\r\n var response = sm.portal.vm.custom.callCustomization('PopulateCustomDemographicData', self);\r\n if (response != undefined) {\r\n return response;\r\n }\r\n if (typeof sm.portal.vm.ukdemographic !== 'undefined' && ukFeatureEnabled) {\r\n if (sm.portal.vm.ukdemographic.AnythingPopulated(this)) return true;\r\n }\r\n return false;\r\n\r\n }, this);\r\n /*** COMPUTED PROPERTIES ***/\r\n\r\n /*** LIST DATA PROPERTIES ***/\r\n this.Countries = ko.observableArray();\r\n this.States = ko.observableArray();\r\n this.EthnicOrigins = ko.observableArray();\r\n this.IndigenousPersonDeclaration = ko.observableArray();\r\n this.PermanentResidentFlags = ko.observableArray();\r\n this.VisaTypes = ko.observableArray();\r\n this.MilitaryBranches = ko.observableArray();\r\n this.MilitaryStatuses = ko.observableArray();\r\n this.ReligionOptions = ko.observableArray();\r\n this.UKCountries = ko.observableArray();\r\n this.UKCountries.Query = ko.observable('');\r\n this.Genders = ko.observableArray([]);\r\n this.GenderIdentities = ko.observableArray([]);\r\n this.SexualOrientations = ko.observableArray([]);\r\n /*** LIST DATA PROPERTIES ***/\r\n \r\n sm.portal.vm.custom.callCustomization('BuildCountries', self);\r\n /*** SECTION DRIVING SUBSCRIPTION PROPERTIES ***/\r\n this.CitizenshipID.subscribe(function (newValue) {\r\n var sectionsToAdd = Array();\r\n var sectionsToRemove = Array();\r\n\r\n if (!sm.portal.utility.isNullOrEmpty(this.CitizenshipID()) && !sm.portal.utility.isNullOrEmpty(this.SystemCountryID())) {\r\n if (this.CitizenshipID().toString() != this.SystemCountryID().toString()) {\r\n sectionsToAdd.push({ section: 'Documents', required: false });\r\n\r\n // Set the section required, since there are required fields in the FB Section\r\n viewModel.SetRequired();\r\n\r\n } else {\r\n sectionsToRemove.push('Documents');\r\n }\r\n } else {\r\n sectionsToRemove.push('Documents');\r\n }\r\n viewModel.MaintainSections(sectionsToAdd, sectionsToRemove);\r\n\r\n\r\n }, this);\r\n\r\n /*** SECTION DRIVING SUBSCRIPTION PROPERTIES ***/\r\n\r\n this.handlePermanentResidentChange = function (newValue) {\r\n this.IsPermanentResident(false);\r\n this.HaveWorkPermit(false);\r\n this.HaveStudyPermit(false);\r\n this.WorkPermitNumber(\"\");\r\n this.WorkPermitExpirationDate(\"\");\r\n this.StudyPermitNumber(\"\");\r\n this.StudyPermitExpirationDate(\"\");\r\n for (var i = 0; i < this.PermanentResidentFlags().length; i++) {\r\n if(this.PermanentResidentFlags()[i].ID() == newValue){\r\n if(this.PermanentResidentFlags()[i].FilterField1Value() === \"PermanentResidentStatus.PermanentResident\"){\r\n this.IsPermanentResident(true); \r\n }else if(this.PermanentResidentFlags()[i].FilterField1Value() === \"PermanentResidentStatus.WorkPermit\"){\r\n this.HaveWorkPermit(true);\r\n }else if(this.PermanentResidentFlags()[i].FilterField1Value() === \"PermanentResidentStatus.StudyPermit\"){\r\n this.HaveStudyPermit(true);\r\n }\r\n }\r\n }\r\n if(!(this.IsPermanentResident() || this.HaveWorkPermit() || this.HaveStudyPermit())) this.EntryDateIntoCanada(\"\");\r\n };\r\n this.handleCitizenshipIDChange = function (newValue) {\r\n self.IndigenousPersonDeclarationID(null);\r\n };\r\n\r\n /*** SECTION METHODS ***/\r\n this.LoadModel = function (container) {\r\n // update application section configurations\r\n if (container && container.Payload && container.Payload.Config) {\r\n viewModel.SetSectionsConfigData(\"Demographic\", container.Payload.Config);\r\n }\r\n var dateFormat = sm.resources.portalResource.getValue('DateFormatExample').toUpperCase();\r\n var extraData = {\r\n self: self,\r\n container: container\r\n }\r\n sm.portal.vm.custom.callCustomization('LoadExtraData', extraData, \r\n function () {\r\n self.EthnicOrigins = smapi.access.loadListItemModels(container.Payload.ListData.EthnicOrigins, self.EthnicOrigins); \r\n if (container.Payload.Demographic != null) {\r\n self.VisaTypeID(container.Payload.Demographic.VisaTypeID);\r\n if (container.Payload.Demographic.VisaExpirationDate != null && container.Payload.Demographic.VisaExpirationDate != undefined) {\r\n self.VisaExpirationDate(moment(new Date(container.Payload.Demographic.VisaExpirationDate)).format(dateFormat));\r\n } \r\n } \r\n }\r\n );\r\n\r\n this.PermanentResidentFlags = smapi.access.loadListItemModels(container.Payload.ListData.PermanentResidentFlags, this.PermanentResidentFlags);\r\n this.MilitaryBranches = smapi.access.loadListItemModels(container.Payload.ListData.MilitaryBranches, this.MilitaryBranches);\r\n this.MilitaryStatuses = smapi.access.loadListItemModels(container.Payload.ListData.MilitaryStatuses, this.MilitaryStatuses);\r\n this.VisaTypes = smapi.access.loadListItemModels(container.Payload.ListData.VisaTypes, this.VisaTypes);\r\n this.IndigenousPersonDeclaration = smapi.access.loadListItemModels(container.Payload.ListData.IndigenousPersonDeclaration, this.IndigenousPersonDeclaration);\r\n\r\n var res = sm.portal.vm.custom.callCustomization('LoadDemographicExtraData', extraData);\r\n\r\n if (container.Payload.Demographic != null && sm.portal.utility.isNullOrEmpty(res)) {\r\n this.ID(container.Payload.Demographic.ID);\r\n this.GID(container.Payload.Demographic.GID);\r\n\r\n this.CitizenshipItemID(container.Payload.Demographic.CitizenshipItemID);\r\n this.CitizenshipItemGID(container.Payload.Demographic.CitizenshipItemGID);\r\n this.CitizenshipID(container.Payload.Demographic.CitizenshipID);\r\n this.BirthCountryID(container.Payload.Demographic.BirthCountryID);\r\n this.ResidentStateID(container.Payload.Demographic.ResidentStateID);\r\n this.IsVeteranFlag(container.Payload.Demographic.IsVeteranFlag.toString());\r\n this.IsHispanicFlag(container.Payload.Demographic.IsHispanicFlag.toString());\r\n this.IndigenousPersonDeclarationID(container.Payload.Demographic.IndigenousPersonDeclarationID);\r\n this.PassportNumber(container.Payload.Demographic.PassportNumber);\r\n\r\n for (var i = 0; i < container.Payload.Demographic.EthnicOriginIDs.length; i++) {\r\n this.EthnicOriginIDs.push(container.Payload.Demographic.EthnicOriginIDs[i].toString());\r\n }\r\n\r\n this.PermanentResidentFlagID(container.Payload.Demographic.PermanentResidentFlagID);\r\n this.handlePermanentResidentChange(this.PermanentResidentFlagID());\r\n this.AlienIDNumber(container.Payload.Demographic.AlienIDNumber);\r\n self.VisaTypeID(container.Payload.Demographic.VisaTypeID);\r\n if (container.Payload.Demographic.VisaExpirationDate != null && container.Payload.Demographic.VisaExpirationDate != undefined) {\r\n self.VisaExpirationDate(moment(new Date(container.Payload.Demographic.VisaExpirationDate)).format(dateFormat));\r\n } \r\n\r\n this.MilitaryServiceID(container.Payload.Demographic.MilitaryServiceID);\r\n this.MilitaryServiceGID(container.Payload.Demographic.MilitaryServiceGID);\r\n this.MilitaryBranchID(container.Payload.Demographic.MilitaryBranchID);\r\n this.MilitaryStatusID(container.Payload.Demographic.MilitaryStatusID);\r\n if (container.Payload.Demographic.EntryDateIntoCanada) {\r\n self.EntryDateIntoCanada(moment(new Date(container.Payload.Demographic.EntryDateIntoCanada)).format(dateFormat));\r\n if (self.EntryDateIntoCanada().includes('1900')) {\r\n self.EntryDateIntoCanada('');\r\n }\r\n } \r\n this.StudyPermitNumber(container.Payload.Demographic.StudyPermitNumber);\r\n if (container.Payload.Demographic.StudyPermitExpirationDate) {\r\n self.StudyPermitExpirationDate(moment(new Date(container.Payload.Demographic.StudyPermitExpirationDate)).format(dateFormat));\r\n if (self.StudyPermitExpirationDate().includes('1900')) {\r\n self.StudyPermitExpirationDate('');\r\n }\r\n }\r\n this.WorkPermitNumber(container.Payload.Demographic.WorkPermitNumber);\r\n if (container.Payload.Demographic.WorkPermitExpirationDate) {\r\n self.WorkPermitExpirationDate(moment(new Date(container.Payload.Demographic.WorkPermitExpirationDate)).format(dateFormat));\r\n if (self.WorkPermitExpirationDate().includes('1900')) {\r\n self.WorkPermitExpirationDate('');\r\n }\r\n }\r\n this.IsGuardiansAttendedcollege(container.Payload.Demographic.IsGuardiansAttendedcollege);\r\n\r\n if (container.Payload.Demographic.DateOfServiceStart != null && container.Payload.Demographic.DateOfServiceStart != undefined) {\r\n self.DateOfServiceStart(moment(container.Payload.Demographic.DateOfServiceStart, 'YYYY-MM-DDTHH:mm:ss').format(dateFormat));\r\n } else {\r\n self.DateOfServiceStart(container.Payload.Demographic.DateOfServiceStart);\r\n }\r\n if (container.Payload.Demographic.DateOfServiceEnd != null && container.Payload.Demographic.DateOfServiceEnd != undefined) {\r\n self.DateOfServiceEnd(moment(container.Payload.Demographic.DateOfServiceEnd, 'YYYY-MM-DDTHH:mm:ss').format(dateFormat));\r\n } else {\r\n self.DateOfServiceEnd(container.Payload.Demographic.DateOfServiceEnd);\r\n }\r\n }\r\n\r\n sm.portal.vm.custom.callCustomization('GetAdditionalDemographicData', extraData,\r\n function () {\r\n if (typeof sm.portal.vm.ukdemographic !== 'undefined' && ukFeatureEnabled) {\r\n sm.portal.vm.ukdemographic.LoadModel(self, container);\r\n }\r\n \r\n if (typeof sm.portal.vm.apasdemographic !== 'undefined' && apasFeatureEnabled) {\r\n sm.portal.vm.apasdemographic.LoadModel(self, container);\r\n } \r\n }\r\n );\r\n\r\n this.DataLoading(false);\r\n this.DataLoaded(true);\r\n if (smapi.constant.applicationDebugFlag) { console.log('[DemographicVM] Data Loaded'); }\r\n };\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 (blockui) { jQuery.blockUI(); }\r\n var url = _baseApiUri + sm.portal.utility.formatString('api/studentportal/getapplicationsection?sectionName=demographic&attemptmid={0}', applicationMID);\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 callback && callback(data);\r\n },\r\n error: function (jqXHR, exception) {\r\n sm.portal.page.application.modelErrorHandler(self, jqXHR);\r\n callback && callback();\r\n }\r\n });\r\n\r\n var custData = {\r\n personMID : personMID,\r\n self : self\r\n }\r\n sm.portal.vm.custom.callCustomization('GetDemographicModelData', custData);\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 var dateFormat = sm.resources.portalResource.getValue('DateFormatExample').toUpperCase();\r\n var demoMain;\r\n var demoMain = sm.portal.vm.custom.callCustomization('ExtractDemographicATO', self);\r\n if (sm.portal.utility.isNullOrEmpty(demoMain)) {\r\n demoMain = new smapi.community.DemographicDataModel({\r\n IsHispanic: self.IsHispanicFlag(),\r\n BirthCountryID: self.BirthCountryID(),\r\n ResidentStateID: self.ResidentStateID(),\r\n Veteran: self.IsVeteranFlag,\r\n IndigenousPersonDeclarationID: self.IndigenousPersonDeclarationID() ? self.IndigenousPersonDeclarationID() : null,\r\n ID: self.ID(),\r\n GID: self.GID(),\r\n NumOfDependents: null,\r\n NumOfDependentsInHousehold: null,\r\n BirthCity: null,\r\n DriversLicense: null,\r\n IsGuardiansAttendedcollege: self.IsGuardiansAttendedcollege()\r\n });\r\n }\r\n\r\n // TODO: NOTE: The Many-to-Many relationships shouldn't be part of the defaults list, or should they?\r\n demoMain.EthnicOrigins = self.EthnicOriginIDs();\r\n\r\n if (!sm.portal.utility.isNullOrEmpty(self.MilitaryBranchID()) && self.MilitaryBranchID() > 0) {\r\n var dateOfServiceStart = moment(self.DateOfServiceStart(), dateFormat).format('YYYY-MM-DD');\r\n var dateOfServiceEnd = moment(self.DateOfServiceEnd(), dateFormat).format('YYYY-MM-DD');\r\n var military = new smapi.community.MilitaryServiceModel({\r\n BranchID: self.MilitaryBranchID(),\r\n MilitaryStatusID: self.MilitaryStatusID(),\r\n DateOfServiceFrom: dateOfServiceStart,\r\n DateOfServiceTo: dateOfServiceEnd,\r\n ID: self.MilitaryServiceID(),\r\n GID: self.MilitaryServiceGID(),\r\n PrimaryAFSC: null,\r\n SecondaryAFSC: null,\r\n TertiaryAFSC: null,\r\n QuaternaryAFSC: null,\r\n Unit: null,\r\n PromotionLineNumber: null,\r\n EligibleForReinstatement: null\r\n });\r\n\r\n sm.portal.vm.custom.callCustomization('UpdateMilitaryProps', military);\r\n demoMain.MilitaryService().push(military);\r\n }\r\n\r\n if (!sm.portal.utility.isNullOrEmpty(self.CitizenshipID()) && self.CitizenshipID() > 0) {\r\n \r\n var citizenship = sm.portal.vm.custom.callCustomization('UpdateATOData', self);\r\n if (sm.portal.utility.isNullOrEmpty(citizenship)) {\r\n citizenship = new smapi.community.CitizenshipModel({\r\n CountryID: self.CitizenshipID(),\r\n PassportNumber: self.PassportNumber(),\r\n PermanentResidentStatusID: self.PermanentResidentFlagID(),\r\n VisaTypeID: self.VisaTypeID(),\r\n VisaExpirationDate: self.VisaExpirationDate(),\r\n AlienIDNumber: self.AlienIDNumber(),\r\n ID: self.CitizenshipItemID(),\r\n GID: self.CitizenshipItemGID(),\r\n NationalID: null,\r\n EntryDateIntoCanada: self.EntryDateIntoCanada() ? self.EntryDateIntoCanada() : '01/01/1900',\r\n StudyPermitNumber : self.StudyPermitNumber(),\r\n StudyPermitExpirationDate: self.StudyPermitExpirationDate() ? self.StudyPermitExpirationDate() : '01/01/1900',\r\n WorkPermitNumber : self.WorkPermitNumber(),\r\n WorkPermitExpirationDate: self.WorkPermitExpirationDate() ? self.WorkPermitExpirationDate() : '01/01/1900'\r\n }); \r\n }\r\n var customData = {\r\n citizenship: citizenship,\r\n self: self\r\n }\r\n var citizenshipUpdated = sm.portal.vm.custom.callCustomization('UpdateCitizenshipProps', customData);\r\n if(!sm.portal.utility.isNullOrEmpty(citizenshipUpdated)){\r\n citizenship = citizenshipUpdated;\r\n }\r\n demoMain.Citizenships().push(citizenship);\r\n }\r\n var additionData = {\r\n self: self,\r\n demoMain: demoMain\r\n }\r\n sm.portal.vm.custom.callCustomization('GetAditionalDemographicATO', additionData, \r\n function () {\r\n if (typeof sm.portal.vm.eudemographic !== 'undefined' && euFeatureEnabled) {\r\n sm.portal.vm.eudemographic.ExtractATO(self, demoMain);\r\n }\r\n if (typeof sm.portal.vm.ukdemographic !== 'undefined' && ukFeatureEnabled) {\r\n sm.portal.vm.ukdemographic.ExtractATO(self, demoMain);\r\n } \r\n }\r\n );\r\n return demoMain;\r\n };\r\n /*** SECTION METHODS ***/\r\n sm.portal.vm.custom.callCustomization('OverrideDemographicValidation', self);\r\n\r\n /*** VALIDATION METHODS ***/\r\n this.CitizenshipID.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.BirthCountryID.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.ResidentStateID.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.SystemCountryID.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.PermanentResidentFlagID.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.IndigenousPersonDeclarationID.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.AlienIDNumber.extend({\r\n maxLength: {\r\n params: 50,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '50')\r\n }\r\n });\r\n this.PassportNumber.extend({\r\n maxLength: {\r\n params: 30,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '30')\r\n }\r\n });\r\n this.VisaTypeID.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.VisaExpirationDate.extend({\r\n smLocalDate: {\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeADate_Key)\r\n }\r\n });\r\n this.MilitaryServiceID.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.MilitaryBranchID.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.MilitaryStatusID.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.DateOfServiceStart.extend({\r\n smLocalDate: {\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeADate_Key)\r\n }\r\n });\r\n this.DateOfServiceEnd.extend({\r\n smLocalDate: {\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeADate_Key)\r\n }\r\n });\r\n this.GenderID.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.GenderIdentityID.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.SexualOrientationID.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.DualNationalityID.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.ReligionID.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.DateOfEntryToUK.extend({\r\n smLocalDate: {\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeADate_Key)\r\n }\r\n });\r\n this.PassportExpiration.extend({\r\n smLocalDate: {\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeADate_Key)\r\n }\r\n });\r\n this.PassportIssuePlace.extend({\r\n maxLength: {\r\n params: 50,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '50')\r\n }\r\n });\r\n this.VisaNumber.extend({\r\n maxLength: {\r\n params: 50,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '50')\r\n }\r\n });\r\n this.EntryDateIntoCanada.extend({\r\n required: {\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key),\r\n onlyIf: function () {\r\n return apasFeatureEnabled && (self.IsPermanentResident() || self.HaveWorkPermit() || self.HaveStudyPermit());\r\n }\r\n },\r\n smLocalDate: {\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeADate_Key)\r\n }\r\n });\r\n this.StudyPermitNumber.extend({\r\n pattern:{\r\n params: /^[A-Za-z0-9 -]+$/g,\r\n message: sm.resources.portalResource.getValue('PermitNumberValidationMessage')\r\n },\r\n maxLength: {\r\n params: 20,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '20')\r\n }\r\n });\r\n this.StudyPermitExpirationDate.extend({\r\n required: {\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key),\r\n onlyIf: function () {\r\n return self.StudyPermitNumber();\r\n }\r\n },\r\n smLocalDate: {\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeADate_Key)\r\n }\r\n });\r\n this.WorkPermitNumber.extend({\r\n required: {\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key),\r\n onlyIf: function () {\r\n return apasFeatureEnabled && self.HaveWorkPermit();\r\n }\r\n },\r\n pattern:{\r\n params: /^[A-Za-z0-9 -]+$/g,\r\n message: sm.resources.portalResource.getValue('PermitNumberValidationMessage')\r\n },\r\n maxLength: {\r\n params: 20,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '20')\r\n }\r\n });\r\n this.WorkPermitExpirationDate.extend({\r\n required: {\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key),\r\n onlyIf: function () {\r\n return self.WorkPermitNumber();\r\n }\r\n },\r\n smLocalDate: {\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeADate_Key)\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 // No Required Fields\r\n var isCompleted = this.IsVMValid() && (this.AnythingPopulated() || this.Touched());\r\n return isCompleted\r\n\r\n }, this);\r\n /*** VALIDATION METHODS ***/\r\n\r\n return self;\r\n };\r\n\r\n jQuery.extend(true, sm.portal.vm, {\r\n DemographicViewModel: DemographicViewModel,\r\n });\r\n\r\n})(jQuery);"]}