{"version":3,"file":"sm.portal.vm.basicContact.min.js","names":["$","sm","window","portal","extend","vm","BasicContactViewModel","sectionWrapper","self","this","euFeatureEnabled","utility","isEUFeatureEnabled","ukFeatureEnabled","isUKFeatureEnabled","PrimaryPhoneNumberGID","ko","observable","PrimaryPhoneNumberID","PrimaryPhoneNumber","validatedObservable","PrimaryPhoneExtension","PrimaryPhoneCountryPrefixCode","PrimaryPhoneAreaCityCode","PermanentMailingAddress","MailingAddressViewModel","PrimaryMailingAddress","SelectedCountryID","showPermanentMailingAddress","DoNotContact","EnableDoNotContactFlag","HideCountryData","SummaryContactTemplate","MailingAddressText","EducationAdviserInfo","CountriesUpdated","HidePrimaryPhoneNumber","HideAddress","custom","setCustomLocalizeKey","DataLoaded","DataLoading","DataContainer","Touched","DataLoadErrorCount","FullNumber","computed","number","isNullOrEmpty","callCustomization","AnythingPopulated","getDefaultAddressFormatId","control","tpls","AvailableTemplates","defaultId","each","k","tpl","DefaultSiteTemplate","ID","Display","initAddressLookup","Initialize","LoadModel","container","Payload","Config","viewModel","SetSectionsConfigData","data","LoadChildData","Countries","GoverningDistrict","SystemCountry","StreetSuffix","Associations","AllCountryTemplates","BasicContactPrep","AddressGID","PrimaryAddressGID","BillingAddressGID","customData","BasicContact","customParams","UpdateAddressCountry","LoadAddressModel","CountryID","SelectedTemplateID","MailingAddressTemplateID","paraCountrytemplate","params","smapi","constant","applicationDebugFlag","console","log","eubasicContact","ukbasicContact","selectCountryTemplate","fieldset","templateId","GetModelData","blockui","applicationMID","personMID","callback","allCustomData","BlockContainer","url","_baseApiUri","formatString","ajax","type","dataType","contentType","headers","processData","crossDomain","xhrFields","withCredentials","success","textStatus","jqXHR","page","application","modelDataResponseHandler","error","exception","modelErrorHandler","handleErrorWithMessages","block","message","getResourceValue","UnBlockContainer","unblock","SetFocus","ProcessAddressOnServer","addressModel","ExtractATO","customDataPos","dataPer","JSON","stringify","access","ApiContainerModel","Status","ValidationTitle","ValidationMessages","encodedAddress","HTMLValue","AddressHtmlValue","replace","AddressTextValue","TEXTValue","statusText","responseMsg","responseText","parseJSON","Message","ProcessOnServer","useMailingAddress","stdPhone","community","PhoneNumberModel","ContactID","Number","Extension","CountryPrefixCode","AreaCityCode","EffectiveFromJS","EffectiveToJS","AddressTimingTypeID","NoContactReasonID","PhoneCarrierID","GID","stdMailingAddress","returnData","customReturn","r","PhoneNumber","MailingAddress","required","validate_FieldRequired_Key","pattern","validate_ItsNotAValidPhoneNumber","maxLength","validate_0CharactersOrLess_Key","minLength","ModelErrors","validation","group","IsVMValid","validFlag","length","Completed","isCompleted","isCompletedCustom","jQuery"],"sources":["assets/js/viewmodels/admissions/sm.portal.vm.basicContact.js"],"mappings":"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","ignoreList":[],"sourcesContent":["/// \r\n\r\n(function ($, undefined) {\r\n var sm = window.sm = window.sm || {};\r\n\r\n if (typeof sm.portal === \"undefined\") {\r\n $.extend(sm, { portal: {} });\r\n }\r\n if (typeof sm.portal.vm === \"undefined\") {\r\n $.extend(sm.portal, { vm: {} });\r\n }\r\n\r\n /**************************************/\r\n // Basic Contact View Model\r\n // Holds the Contact Data for the Person\r\n /**************************************/\r\n function BasicContactViewModel(sectionWrapper) {\r\n var self = this;\r\n var euFeatureEnabled = sm.portal.utility.isEUFeatureEnabled();\r\n var ukFeatureEnabled = sm.portal.utility.isUKFeatureEnabled();\r\n\r\n /*** PROPERTIES ***/\r\n this.PrimaryPhoneNumberGID = ko.observable();\r\n this.PrimaryPhoneNumberID = ko.observable();\r\n this.PrimaryPhoneNumber = ko.validatedObservable();\r\n this.PrimaryPhoneExtension = ko.validatedObservable();\r\n this.PrimaryPhoneCountryPrefixCode = ko.validatedObservable();\r\n this.PrimaryPhoneAreaCityCode = ko.validatedObservable();\r\n\r\n this.PermanentMailingAddress = ko.observable(new sm.portal.vm.MailingAddressViewModel());\r\n this.PrimaryMailingAddress = ko.observable(new sm.portal.vm.MailingAddressViewModel());\r\n\r\n // add permanent basic details to subcontext\r\n this.SelectedCountryID = ko.observable();\r\n this.showPermanentMailingAddress = ko.observable(false);\r\n this.DoNotContact = ko.observable(false);\r\n this.EnableDoNotContactFlag = ko.observable(false);\r\n this.HideCountryData = ko.observable(false);\r\n this.SummaryContactTemplate = ko.observable('');\r\n this.MailingAddressText = ko.observable('MailingAddress');\r\n this.EducationAdviserInfo = ko.observable('');\r\n this.CountriesUpdated = ko.observable('');\r\n this.HidePrimaryPhoneNumber = ko.observable(false);\r\n this.HideAddress = ko.observable(false);\r\n /*** PROPERTIES ***/\r\n\r\n sm.portal.vm.custom.setCustomLocalizeKey(self);\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(\"BasicContactContainer\");\r\n this.Touched = ko.observable(false);\r\n this.DataLoadErrorCount = ko.observable(0);\r\n /*** SECTION PROPERTIES ***/\r\n\r\n /*** COMPUTED PROPERTIES ***/\r\n this.FullNumber = ko.computed(function () {\r\n var number = this.PrimaryPhoneNumber();\r\n if (!sm.portal.utility.isNullOrEmpty(this.PrimaryPhoneExtension())) {\r\n number += ' x' + this.PrimaryPhoneExtension();\r\n }\r\n return number;\r\n }, this);\r\n\r\n sm.portal.vm.custom.callCustomization('UpdatedBasicContactProps', self);\r\n\r\n this.AnythingPopulated = ko.computed(function () {\r\n return true; // required section\r\n }, this);\r\n /*** COMPUTED PROPERTIES ***/\r\n /**\r\n * Returns the option ID of the 'default' selectable option\r\n *\r\n * @return int\r\n */\r\n this.getDefaultAddressFormatId = function (control) {\r\n\r\n var tpls = control.AvailableTemplates();\r\n var defaultId = 1;\r\n\r\n // no selectable templates?\r\n if (sm.portal.utility.isNullOrEmpty(tpls)) {\r\n // default to first item\r\n return defaultId;\r\n }\r\n // iterate items...\r\n $.each(tpls, function (k, tpl) {\r\n // found a detault option?\r\n if (tpl.DefaultSiteTemplate() == true) {\r\n defaultId = tpl.ID();\r\n return;\r\n }\r\n \r\n });\r\n\r\n return defaultId;\r\n };\r\n this.Display = function () {\r\n self.PrimaryMailingAddress().initAddressLookup();\r\n self.PermanentMailingAddress().initAddressLookup();\r\n };\r\n /*** SECTION METHODS ***/\r\n this.Initialize = function () {\r\n\r\n };\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(\"BasicContact\", container.Payload.Config);\r\n }\r\n self.PrimaryMailingAddress(new sm.portal.vm.MailingAddressViewModel());\r\n self.PrimaryMailingAddress().LoadModel(container);\r\n\r\n self.EnableDoNotContactFlag(container.Payload.EnableDoNotContactFlag);\r\n self.DoNotContact(container.Payload.DoNotContact);\r\n var data = {\r\n self: self,\r\n container: container\r\n }\r\n sm.portal.vm.custom.callCustomization('UpdateLoadModelBasicContact', data)\r\n\r\n // Transfer the System-Country, Country-List, System-Country-GDistricts to the other View Models that need it. (Demographic)\r\n viewModel.LoadChildData('Demographic', 'Countries', self.PrimaryMailingAddress().Countries());\r\n viewModel.LoadChildData('Demographic', 'States', self.PrimaryMailingAddress().GoverningDistrict());\r\n\r\n // TODO: The SystemCountry isn't loading as a MailingAddress model, so we're using a straight JS mapping - needs to change, too fragile.\r\n if (!sm.portal.utility.isNullOrEmpty(self.PrimaryMailingAddress()) && !sm.portal.utility.isNullOrEmpty(self.PrimaryMailingAddress().SystemCountry()) && !sm.portal.utility.isNullOrEmpty(self.PrimaryMailingAddress().SystemCountry().ID())) {\r\n viewModel.LoadChildData('Demographic', 'SystemCountryID', self.PrimaryMailingAddress().SystemCountry().ID());\r\n }\r\n\r\n // Transfer the Mailing Address logic to the other View Models (Payment)\r\n viewModel.LoadChildData('Payment', 'BillingAddress().Countries', self.PrimaryMailingAddress().Countries());\r\n viewModel.LoadChildData('Payment', 'BillingAddress().GoverningDistrict', self.PrimaryMailingAddress().GoverningDistrict());\r\n viewModel.LoadChildData('Payment', 'BillingAddress().StreetSuffix', self.PrimaryMailingAddress().StreetSuffix());\r\n viewModel.LoadChildData('Payment', 'BillingAddress().Associations', self.PrimaryMailingAddress().Associations());\r\n viewModel.LoadChildData('Payment', 'BillingAddress().SystemCountry', self.PrimaryMailingAddress().SystemCountry());\r\n viewModel.LoadChildData('Payment', 'BillingAddress().AllCountryTemplates', self.PrimaryMailingAddress().AllCountryTemplates());\r\n\r\n if (container.Payload.BasicContactPrep != null) {\r\n self.PrimaryPhoneNumberGID(container.Payload.BasicContactPrep.PrimaryPhoneNumberGID);\r\n\r\n self.PrimaryMailingAddress().AddressGID(container.Payload.BasicContactPrep.PrimaryAddressGID);\r\n viewModel.LoadChildData('Payment', 'BillingAddress().AddressGID', container.Payload.BasicContactPrep.BillingAddressGID);\r\n var customData = {\r\n self: self,\r\n container: container\r\n }\r\n sm.portal.vm.custom.callCustomization('UpdateBasicContactPrep', customData);\r\n }\r\n\r\n if (container.Payload.BasicContact != null) {\r\n // Load Model with Existing Data\r\n self.PrimaryPhoneNumberID(container.Payload.BasicContact.PrimaryPhoneNumberID);\r\n self.PrimaryPhoneNumberGID(container.Payload.BasicContact.PrimaryPhoneNumberGID);\r\n self.PrimaryPhoneNumber(container.Payload.BasicContact.PrimaryPhoneNumber);\r\n self.PrimaryPhoneExtension(container.Payload.BasicContact.PrimaryPhoneExtension);\r\n self.PrimaryPhoneCountryPrefixCode(container.Payload.BasicContact.PrimaryPhoneCountryPrefixCode);\r\n self.PrimaryPhoneAreaCityCode(container.Payload.BasicContact.PrimaryPhoneAreaCityCode);\r\n var customParams = {\r\n self: self,\r\n container: container\r\n }\r\n sm.portal.vm.custom.callCustomization('UpdatePermanentMailingAdress', customParams);\r\n\r\n if (!sm.portal.utility.isNullOrEmpty(container.Payload.BasicContact.PrimaryMailingAddress)) {\r\n self.PrimaryMailingAddress().LoadAddressModel(container.Payload.BasicContact.PrimaryMailingAddress);\r\n self.PrimaryMailingAddress().SelectedCountryID(container.Payload.BasicContact.PrimaryMailingAddress.CountryID);\r\n self.PrimaryMailingAddress().SelectedTemplateID(container.Payload.BasicContact.PrimaryMailingAddress.MailingAddressTemplateID);\r\n var paraCountrytemplate = {\r\n self: self,\r\n container: container\r\n }\r\n sm.portal.vm.custom.callCustomization('UpdateSelectCountryTemplate', paraCountrytemplate);\r\n }\r\n else {\r\n self.UpdateAddressCountry();\r\n }\r\n } else {\r\n sm.portal.vm.custom.callCustomization('UpdateSet', self)\r\n\r\n self.UpdateAddressCountry();\r\n }\r\n var params = {\r\n self: self,\r\n container: container \r\n }\r\n\r\n sm.portal.vm.custom.callCustomization('LoadModelPortalUpdate', params)\r\n\r\n self.DataLoading(false);\r\n self.DataLoaded(true);\r\n if (smapi.constant.applicationDebugFlag) { console.log('[ContactVM] Data Loaded'); }\r\n\r\n if (typeof sm.portal.vm.eubasicContact !== 'undefined' && euFeatureEnabled) {\r\n sm.portal.vm.eubasicContact.LoadModel(self, container);\r\n }\r\n if (typeof sm.portal.vm.ukbasicContact !== 'undefined' && ukFeatureEnabled) {\r\n sm.portal.vm.ukbasicContact.LoadModel(self, container);\r\n }\r\n sm.portal.vm.custom.setCustomLocalizeKey(self);\r\n };\r\n\r\n this.UpdateAddressCountry = function () {\r\n self.PrimaryMailingAddress().SelectedCountryID(self.PrimaryMailingAddress().SystemCountry().ID());\r\n if (!sm.portal.utility.isNullOrEmpty(self.PrimaryMailingAddress().AvailableTemplates())) {\r\n\r\n if (typeof self.PrimaryMailingAddress().AvailableTemplates()[0].ID === \"function\") {\r\n self.PrimaryMailingAddress().SelectedTemplateID(self.PrimaryMailingAddress().AvailableTemplates()[0].ID());\r\n } else {\r\n self.PrimaryMailingAddress().SelectedTemplateID(self.PrimaryMailingAddress().AvailableTemplates()[0].ID);\r\n }\r\n }\r\n };\r\n\r\n this.selectCountryTemplate = function (fieldset, templateId) {\r\n\r\n // explicitly setting?\r\n if (templateId) {\r\n\r\n fieldset.SelectedTemplateID(templateId);\r\n return;\r\n }\r\n\r\n // has templates?\r\n if (!sm.portal.utility.isNullOrEmpty(fieldset.AvailableTemplates())) {\r\n\r\n if (typeof fieldset.AvailableTemplates()[0].ID === \"function\") {\r\n\r\n fieldset.SelectedTemplateID(fieldset.AvailableTemplates()[0].ID());\r\n\r\n } else {\r\n\r\n fieldset.SelectedTemplateID(fieldset.AvailableTemplates()[0].ID);\r\n }\r\n }\r\n };\r\n\r\n this.GetModelData = function (blockui, applicationMID, personMID, callback) {\r\n \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('UpdateGetModelData', viewModel.allCustomData().BasicContact);\r\n self.LoadModel(viewModel.allCustomData().BasicContact);\r\n callback && callback(viewModel.allCustomData().BasicContact);\r\n return;\r\n }\r\n if (blockui) { self.BlockContainer(); }\r\n var url = _baseApiUri + sm.portal.utility.formatString('api/studentportal/getapplicationsection?sectionName=contact&attemptmid={0}', applicationMID);\r\n\r\n $.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.vm.custom.callCustomization('UpdateGetModelData', data);\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 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 $(\"#\" + self.DataContainer()).block({ message: sm.portal.utility.getResourceValue('Loading') });\r\n };\r\n this.UnBlockContainer = function () {\r\n $(\"#\" + self.DataContainer()).unblock();\r\n viewModel.SetFocus();\r\n };\r\n\r\n\r\n this.ProcessAddressOnServer = function(addressModel, callback){\r\n var data = addressModel.ExtractATO();\r\n var customDataPos = {\r\n self: self,\r\n data: data\r\n }\r\n var dataPer = sm.portal.vm.custom.callCustomization('UpdateProcessOnServer', customDataPos);\r\n\r\n var url = _baseApiUri + 'api/studentportal/processaddress';\r\n $.ajax({\r\n url: url,\r\n type: 'POST',\r\n dataType: 'json',\r\n data: JSON.stringify(data),\r\n contentType: 'application/json; charset=utf-8',\r\n headers: {\r\n \"x-api-version\": '1' //,\r\n },\r\n processData: false,\r\n crossDomain: true,\r\n\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n success: function (data, textStatus, jqXHR) {\r\n var container = new smapi.access.ApiContainerModel(data.Status, data.Payload, data.ValidationTitle, data.ValidationMessages);\r\n if (data && data.Status == 'success') {\r\n \r\n // Set the HTML and Text Values\r\n var encodedAddress = container.Payload.HTMLValue;\r\n if (!sm.portal.utility.isNullOrEmpty(encodedAddress)) {\r\n addressModel.AddressHtmlValue(encodedAddress.replace(/</g, '<').replace(/>/g, '>'));\r\n } else {\r\n addressModel.AddressHtmlValue('');\r\n }\r\n addressModel.AddressTextValue(container.Payload.TEXTValue);\r\n }\r\n callback && callback(data);\r\n },\r\n error: function (jqXHR, exception) {\r\n\r\n var statusText = jqXHR.statusText;\r\n var responseMsg = sm.portal.utility.getResourceValue('UnknownError');\r\n if (jqXHR != null && jqXHR.responseText != null) {\r\n responseMsg = $.parseJSON(jqXHR.responseText).Message;\r\n }\r\n var messageToUser = sm.portal.utility.formatString(\"{0} - {1}\", statusText, responseMsg);\r\n self.UnBlockContainer();\r\n callback && callback();\r\n }\r\n });\r\n\r\n var customData= {\r\n dataPer: dataPer,\r\n self: self,\r\n url : url\r\n }\r\n sm.portal.vm.custom.callCustomization('UpdateProcessOnServerCall', customData);\r\n };\r\n\r\n this.ProcessOnServer = function () {\r\n // Submit an entered address to the server to construct TEXT and HTML Values\r\n this.ProcessAddressOnServer(self.PrimaryMailingAddress(), function(){\r\n // if EU or UK region and permanent address is different from primary address, process the address\r\n if((sm.portal.utility.isEUFeatureEnabled() || sm.portal.utility.isUKFeatureEnabled()) && \r\n !self.PrimaryMailingAddress().useMailingAddress()){\r\n self.ProcessAddressOnServer(self.PermanentMailingAddress());\r\n }\r\n });\r\n };\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 stdPhone = new smapi.community.PhoneNumberModel({\r\n ContactID: 0,\r\n Number: self.PrimaryPhoneNumber(),\r\n Extension: self.PrimaryPhoneExtension(),\r\n CountryPrefixCode: self.PrimaryPhoneCountryPrefixCode(),\r\n AreaCityCode: self.PrimaryPhoneAreaCityCode(),\r\n EffectiveFromJS: null,\r\n EffectiveToJS: null,\r\n AddressTimingTypeID: 0,\r\n DoNotContact: false,\r\n NoContactReasonID: 0,\r\n PhoneCarrierID: 0,\r\n ID: self.PrimaryPhoneNumberID(),\r\n GID: self.PrimaryPhoneNumberGID()\r\n });\r\n\r\n var stdMailingAddress = self.PrimaryMailingAddress().ExtractATO();\r\n var returnData = {\r\n self: self,\r\n stdPhone: stdPhone,\r\n stdMailingAddress: stdMailingAddress,\r\n }\r\n var customReturn= sm.portal.vm.custom.callCustomization('UpdateExtractATOBasicContact', returnData)\r\n var r = {\r\n PhoneNumber: stdPhone,\r\n MailingAddress: stdMailingAddress,\r\n DoNotContact: self.DoNotContact()\r\n };\r\n if (typeof sm.portal.vm.eubasicContact !== 'undefined' && euFeatureEnabled) {\r\n sm.portal.vm.eubasicContact.ExtractATO(self, r);\r\n }\r\n if (typeof sm.portal.vm.ukbasicContact !== 'undefined' && ukFeatureEnabled) {\r\n sm.portal.vm.ukbasicContact.ExtractATO(self, r);\r\n }\r\n if(sm.portal.utility.isNullOrEmpty(customReturn)){\r\n return r;\r\n }\r\n else{\r\n return customReturn;\r\n }\r\n\r\n };\r\n /*** SECTION METHODS ***/\r\n\r\n sm.portal.vm.custom.callCustomization('OverrideBasicContactValidation',self);\r\n /*** VALIDATION METHODS ***/\r\n this.PrimaryPhoneNumber.extend({\r\n required: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n pattern: {\r\n params: /^(?:(?:\\(?(?:00|\\+)([1-4]\\d\\d|[1-9]\\d?)\\)?)?[\\-\\.\\ \\\\\\/]?)?((?:\\(?\\d{1,}\\)?[\\-\\.\\ \\\\\\/]?){0,})(?:[\\-\\.\\ \\\\\\/]?(?:#|ext\\.?|extension|x)[\\-\\.\\ \\\\\\/]?(\\d+))?$/i,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_ItsNotAValidPhoneNumber)\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 minLength: {\r\n params: 6,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_ItsNotAValidPhoneNumber)\r\n }\r\n });\r\n this.PrimaryPhoneExtension.extend({\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.PrimaryPhoneCountryPrefixCode.extend({\r\n maxLength: {\r\n params: 3,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '3')\r\n }\r\n });\r\n this.PrimaryPhoneAreaCityCode.extend({\r\n maxLength: {\r\n params: 5,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '5')\r\n }\r\n });\r\n\r\n this.ModelErrors = ko.validation.group(this);\r\n this.IsVMValid = function () {\r\n var validFlag = sm.portal.vm.custom.callCustomization('UpdateModalErrors', self);\r\n if (!sm.portal.utility.isNullOrEmpty(validFlag)){\r\n return validFlag\r\n }\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 var isCompletedCustom = sm.portal.vm.custom.callCustomization('UpdateCompleted', self);\r\n if(!sm.portal.utility.isNullOrEmpty(isCompletedCustom)){\r\n if(isCompletedCustom==false){\r\n isCompleted = false;\r\n }\r\n }\r\n else{\r\n if (!self.PrimaryMailingAddress().IsVMValid()) isCompleted = false;\r\n if (typeof sm.portal.vm.eubasicContact !== 'undefined' && euFeatureEnabled && !sm.portal.vm.eubasicContact.Completed(self)) isCompleted = false;\r\n if (typeof sm.portal.vm.ukbasicContact !== 'undefined' && ukFeatureEnabled && !sm.portal.vm.ukbasicContact.Completed(self)) isCompleted = false;\r\n }\r\n\r\n return isCompleted;\r\n\r\n }, this);\r\n /*** VALIDATION METHODS ***/\r\n\r\n var self = this;\r\n return self;\r\n }\r\n\r\n $.extend(true, sm.portal.vm, {\r\n BasicContactViewModel: BasicContactViewModel,\r\n });\r\n\r\n})(jQuery);"]}