{"version":3,"file":"sm.portal.vm.phoneNumber.min.js","names":["jQuery","undefined","sm","window","portal","extend","vm","PhoneNumberViewModel","self","this","hideDoNotContact","ko","observable","hideEffectiveLabelDisplay","custom","setCustomLocalizeKey","LoadModel","container","Payload","ListData","mapping","fromJS","PhoneTypeEntries","TypeEntries","DoNotContactReasons","AddressTimings","Carriers","PhoneNumberAssociations","Associations","LoadPhoneModel","AssociationIDs","me","dateFormat","resources","portalResource","getValue","toUpperCase","phoneNumberEffectiveFrom","EffectiveFrom","moment","format","phoneNumberEffectiveTo","EffectiveTo","ID","PhoneNumber","Number","Extension","TypeEntryID","AddressTypeID","AddressTimingTypeID","DoNotContact","NoContactReasonID","CarrierID","PhoneCarrierID","removeAll","i","length","push","toString","AssociationNames","TypeEntryName","AddressTypeName","AddressTimingTypeName","NoContactReasonName","CarrierName","validatedObservable","observableArray","smapi","access","ListItemModel","EffectiveLabelDisplay","computed","utility","isNullOrEmpty","getResourceValue","EffectiveDisplay","DoNotContactAsYesNo","PhoneNumberDisplay","formatString","AssociationDisplay","display","ExtractATO","submitPhoneObject","toJS","assocIDs","Array","data","cusData","callCustomization","Reset","min","params","message","constant","validate_MustBeNumeric_Key","max","number","pattern","validate_ErrorInFormat0_Key","maxLength","validate_0CharactersOrLess_Key","required","validate_FieldRequired_Key","smLocalDate","validate_MustBeADate_Key","smValidateEffectiveFromDate","validate_EffectiveBeginDate_Key","smValidateEffectiveToDate","validate_EffectiveEndDate_Key","ModelErrors","validation","group","IsVMValid"],"sources":["assets/js/viewmodels/community/sm.portal.vm.phoneNumber.js"],"mappings":"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","ignoreList":[],"sourcesContent":["(function (jQuery, undefined) {\r\n var sm = window.sm = window.sm || {};\r\n var windowProxy;\r\n var actionQueue = [];\r\n\r\n if (typeof sm.portal === \"undefined\") {\r\n jQuery.extend(sm, { portal: {} });\r\n }\r\n if (typeof sm.portal.vm === \"undefined\") {\r\n jQuery.extend(sm.portal, { vm: {} });\r\n }\r\n\r\n // SUPPORTING MODEL\r\n // This model represents a Phone Number\r\n function PhoneNumberViewModel() {\r\n\r\n // Self-Identification\r\n var self = this;\r\n self.hideDoNotContact = ko.observable(false);\r\n self.hideEffectiveLabelDisplay = ko.observable(false);\r\n sm.portal.vm.custom.setCustomLocalizeKey(self);\r\n\r\n this.LoadModel = function (container) {\r\n if (container.Payload.ListData) {\r\n ko.mapping.fromJS(container.Payload.ListData.PhoneTypeEntries, {}, this.TypeEntries);\r\n ko.mapping.fromJS(container.Payload.ListData.DoNotContactReasons, {}, this.DoNotContactReasons);\r\n ko.mapping.fromJS(container.Payload.ListData.AddressTimings, {}, this.AddressTimings);\r\n ko.mapping.fromJS(container.Payload.ListData.Carriers, {}, this.Carriers);\r\n ko.mapping.fromJS(container.Payload.ListData.PhoneNumberAssociations, {}, this.Associations);\r\n }\r\n }\r\n this.LoadPhoneModel = function (container) {\r\n\r\n if (!container || !container.AssociationIDs) {\r\n if (this.me) {\r\n container = this.me;\r\n }\r\n }\r\n\r\n var dateFormat = sm.resources.portalResource.getValue('DateFormatExample').toUpperCase();\r\n var phoneNumberEffectiveFrom = container.EffectiveFrom ? moment(container.EffectiveFrom).format(dateFormat) : '';\r\n var phoneNumberEffectiveTo = container.EffectiveTo ? moment(container.EffectiveTo).format(dateFormat) : '';\r\n\r\n this.me = container;\r\n this.ID(container.ID);\r\n this.PhoneNumber(container.Number);\r\n this.Extension(container.Extension);\r\n this.TypeEntryID(container.TypeEntryID);\r\n this.EffectiveFrom(phoneNumberEffectiveFrom);\r\n this.EffectiveTo(phoneNumberEffectiveTo);\r\n this.AddressTypeID(container.AddressTypeID);\r\n this.AddressTimingTypeID(container.AddressTimingTypeID);\r\n this.DoNotContact(container.DoNotContact);\r\n this.NoContactReasonID(container.NoContactReasonID);\r\n this.CarrierID(container.PhoneCarrierID);\r\n\r\n this.AssociationIDs.removeAll();\r\n for (var i = 0; i < container.AssociationIDs.length; i++) {\r\n this.AssociationIDs.push(container.AssociationIDs[i].toString());\r\n }\r\n\r\n this.AssociationNames.removeAll();\r\n for (var i = 0; i < container.AssociationNames.length; i++) {\r\n this.AssociationNames.push(container.AssociationNames[i]);\r\n }\r\n\r\n this.TypeEntryName(container.TypeEntryName);\r\n this.AddressTypeName(container.AddressTypeName);\r\n this.AddressTimingTypeName(container.AddressTimingTypeName);\r\n this.NoContactReasonName(container.NoContactReasonName);\r\n this.CarrierName(container.CarrierName); \r\n };\r\n\r\n this.ID = ko.validatedObservable();\r\n this.PhoneNumber = ko.validatedObservable();\r\n this.Extension = ko.validatedObservable();\r\n this.TypeEntryID = ko.validatedObservable();\r\n this.TypeEntryName = ko.validatedObservable();\r\n this.EffectiveFrom = ko.validatedObservable();\r\n this.EffectiveTo = ko.validatedObservable();\r\n this.AddressTypeID = ko.validatedObservable();\r\n this.AddressTypeName = ko.validatedObservable();\r\n this.AddressTimingTypeID = ko.validatedObservable();\r\n this.AddressTimingTypeName = ko.validatedObservable();\r\n this.DoNotContact = ko.validatedObservable();\r\n this.NoContactReasonID = ko.validatedObservable();\r\n this.NoContactReasonName = ko.validatedObservable();\r\n this.CarrierID = ko.validatedObservable();\r\n this.CarrierName = ko.validatedObservable();\r\n\r\n this.AssociationIDs = ko.observableArray();\r\n this.AssociationNames = ko.observableArray();\r\n\r\n this.TypeEntries = ko.observableArray([new smapi.access.ListItemModel()]);\r\n this.Associations = ko.observableArray([new smapi.access.ListItemModel()]);\r\n this.DoNotContactReasons = ko.observableArray([new smapi.access.ListItemModel()]);\r\n this.AddressTimings = ko.observableArray([new smapi.access.ListItemModel()]);\r\n this.Carriers = ko.observableArray([new smapi.access.ListItemModel()]);\r\n\r\n this.EffectiveLabelDisplay = ko.computed(function () {\r\n\r\n if (sm.portal.utility.isNullOrEmpty(this.EffectiveFrom()) && !sm.portal.utility.isNullOrEmpty(this.EffectiveTo())) {\r\n return sm.portal.utility.getResourceValue('EffectiveTill');\r\n }\r\n return sm.portal.utility.getResourceValue('EffectiveFrom');\r\n\r\n }, this);\r\n this.EffectiveDisplay = ko.computed(function () {\r\n if (!sm.portal.utility.isNullOrEmpty(this.EffectiveFrom()) && !sm.portal.utility.isNullOrEmpty(this.EffectiveTo())) {\r\n // Return full FROM..TO.. string\r\n return this.EffectiveFrom() + \" to \" + this.EffectiveTo();\r\n } else if (!sm.portal.utility.isNullOrEmpty(this.EffectiveFrom()) && sm.portal.utility.isNullOrEmpty(this.EffectiveTo())) {\r\n // Return FROM...\r\n return this.EffectiveFrom();\r\n } else if (sm.portal.utility.isNullOrEmpty(this.EffectiveFrom()) && !sm.portal.utility.isNullOrEmpty(this.EffectiveTo())) {\r\n return this.EffectiveTo();\r\n }\r\n return \"\";\r\n\r\n }, this);\r\n this.DoNotContactAsYesNo = ko.computed(function () {\r\n if (this.DoNotContact()) {\r\n return sm.portal.utility.getResourceValue('Yes');\r\n }\r\n return sm.portal.utility.getResourceValue('No');\r\n }, this);\r\n this.PhoneNumberDisplay = ko.computed(function () {\r\n\r\n if (!sm.portal.utility.isNullOrEmpty(this.PhoneNumber()) && !sm.portal.utility.isNullOrEmpty(this.Extension())) {\r\n return sm.portal.utility.formatString(\"{0} x{1}\", this.PhoneNumber(), this.Extension());\r\n } else if (!sm.portal.utility.isNullOrEmpty(this.PhoneNumber()) && sm.portal.utility.isNullOrEmpty(this.Extension())) {\r\n return this.PhoneNumber();\r\n } else if (sm.portal.utility.isNullOrEmpty(this.PhoneNumber()) && !sm.portal.utility.isNullOrEmpty(this.Extension())) {\r\n return sm.portal.utility.formatString(\"x{0}\", this.Extension());\r\n }\r\n return \"\";\r\n }, this);\r\n this.AssociationDisplay = ko.computed(function () {\r\n\r\n var display = '';\r\n for (var i = 0; i < this.AssociationNames().length; i++) {\r\n if (display == '') {\r\n display = this.AssociationNames()[i];\r\n } else {\r\n display += ', ' + this.AssociationNames()[i];\r\n }\r\n }\r\n return display;\r\n\r\n }, this);\r\n\r\n this.ExtractATO = function () {\r\n var submitPhoneObject = ko.mapping.toJS(this);\r\n var phoneNumberEffectiveFrom = submitPhoneObject.EffectiveFrom ? moment(submitPhoneObject.EffectiveFrom, sm.resources.portalResource.getValue('DateFormatExample').toUpperCase()).format(\"MM/DD/YYYY\") : '';\r\n var phoneNumberEffectiveTo = submitPhoneObject.EffectiveTo ? moment(submitPhoneObject.EffectiveTo, sm.resources.portalResource.getValue('DateFormatExample').toUpperCase()).format(\"MM/DD/YYYY\") : '';\r\n\r\n var assocIDs = Array();\r\n for (var i = 0; i < submitPhoneObject.AssociationIDs.length; i++) {\r\n assocIDs.push(submitPhoneObject.AssociationIDs[i]);\r\n }\r\n\r\n\r\n var data = {\r\n ID: submitPhoneObject.ID,\r\n Number: submitPhoneObject.PhoneNumber,\r\n Extension: submitPhoneObject.Extension,\r\n TypeEntryID: submitPhoneObject.TypeEntryID,\r\n EffectiveFrom: phoneNumberEffectiveFrom,\r\n EffectiveTo: phoneNumberEffectiveTo,\r\n AddressTypeID: submitPhoneObject.AddressTypeID,\r\n AddressTimingTypeID: submitPhoneObject.AddressTimingTypeID,\r\n DoNotContact: submitPhoneObject.DoNotContact,\r\n NoContactReasonID: submitPhoneObject.NoContactReasonID,\r\n PhoneCarrierID: submitPhoneObject.CarrierID,\r\n AssociationIDs: assocIDs\r\n };\r\n\r\n var cusData = {\r\n submitPhoneObject: submitPhoneObject,\r\n data:data\r\n }\r\n\r\n sm.portal.vm.custom.callCustomization('UpdatePhoneNoExtractATOProps', cusData);\r\n\r\n return data;\r\n };\r\n this.Reset = function () {\r\n this.ID(0);\r\n this.PhoneNumber('');\r\n this.Extension('');\r\n this.TypeEntryID(undefined);\r\n this.EffectiveFrom('');\r\n this.EffectiveTo('');\r\n this.AddressTypeID(undefined);\r\n this.AddressTimingTypeID(undefined);\r\n this.DoNotContact(false);\r\n this.NoContactReasonID(undefined);\r\n this.CarrierID(undefined);\r\n\r\n this.TypeEntryName('');\r\n this.AddressTypeName('');\r\n this.AddressTimingTypeName('');\r\n this.NoContactReasonName('');\r\n this.CarrierName('');\r\n };\r\n\r\n sm.portal.vm.custom.callCustomization('UpdateValidationsPhoneNo', self);\r\n /*** VALIDATION METHODS ***/\r\n this.ID.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 message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n this.PhoneNumber.extend({\r\n\r\n pattern: {\r\n // TODO needs to change via type\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.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_ErrorInFormat0_Key), '###-###-####')\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 required: {\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n }\r\n });\r\n this.Extension.extend({\r\n maxLength: {\r\n params: 10,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '10')\r\n }\r\n });\r\n this.TypeEntryID.extend({\r\n min: {\r\n params: 1,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n max: {\r\n params: 9223372036854775807,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n number: {\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n required: {\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n }\r\n });\r\n this.EffectiveFrom.extend({\r\n smLocalDate: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeADate_Key)\r\n },\r\n smValidateEffectiveFromDate: {\r\n params: this.EffectiveTo,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_EffectiveBeginDate_Key)\r\n }\r\n });\r\n this.EffectiveTo.extend({\r\n smLocalDate: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeADate_Key)\r\n },\r\n smValidateEffectiveToDate: {\r\n params: this.EffectiveFrom,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_EffectiveEndDate_Key)\r\n }\r\n });\r\n this.AddressTypeID.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 message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n this.AddressTimingTypeID.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 message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n this.NoContactReasonID.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 message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n this.CarrierID.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 message: sm.portal.utility.getResourceValue(smapi.constant.validate_MustBeNumeric_Key)\r\n }\r\n });\r\n\r\n this.ModelErrors = ko.validation.group(this);\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 /*** VALIDATION METHODS ***/\r\n\r\n return self;\r\n }\r\n\r\n jQuery.extend(true, sm.portal.vm, {\r\n PhoneNumberViewModel: PhoneNumberViewModel\r\n });\r\n\r\n})(jQuery);"]}