{"version":3,"sources":["webpack:///./src/app/@standalone/communication-subscription/sms/sms-subscription.component.scss","webpack:///./src/app/shared/validators/phone.validator.ts","webpack:///./src/app/@standalone/communication-subscription/package-tracking/package-tracking-unsubscribe.component.ts","webpack:///./src/app/@standalone/communication-subscription/sms/sms-subscription.component.html","webpack:///./src/app/@standalone/communication-subscription/package-tracking/package-tracking-unsubscribe.component.html","webpack:///./src/app/@standalone/communication-subscription/mass-comm/mass-comm-subscription.component.ts","webpack:///./src/app/@standalone/communication-subscription/sms/sms-subscription.component.ts","webpack:///./src/app/@standalone/communication-subscription/communication-subscription.module.ts","webpack:///./src/app/@standalone/communication-subscription/mass-comm/mass-comm-subscription.component.scss","webpack:///./src/app/@standalone/communication-subscription/mass-comm/mass-comm-subscription.component.html","webpack:///./src/app/@standalone/communication-subscription/package-tracking/package-tracking-unsubscribe.component.scss","webpack:///./src/app/@standalone/communication-subscription/services/communication-preference.service.ts"],"names":["module","exports","validation_constants_1","__webpack_require__","validatePhone","control","value","ValidationConstants","PHONE_REGEXP","test","validateConnectPhone","CONNECT_PHONE_REGEXP","validatePhoneRegex","trim","length","replace","pattern","formatPhone","key","ALPHABET_REGEXP","newVal","isValid","ONLY_DIGITS_REGEXP","substring","core_1","angular2_recaptcha_1","fsr_loading_service_1","toast_service_1","communication_preference_service_1","PackageTrackingSubscriptionComponent","_loadingService","_communicationSubscriptionService","_toastService","this","successfullyUpdated","reCaptchaSiteKey","isSaving","prototype","ngOnInit","$global","recaptchaPublicKey","resident","privacyPolicyUrl","connectInstanceUrl","stop","onCaptchaResponse","$event","_this","start","unsubscribeToPackageTrackingEmails","residentId","c4Uid","subscribe","error","unsubscribe","reCaptcha","execute","__decorate","ViewChild","ReCaptchaComponent","Component","selector","LoadingService","CommunicationSubscriptionService","ToastService","models_1","device_service_1","fsr_dialog_service_1","communication_channel_enum_1","sms_subscription_status_enum_1","app_context_1","MassCommSubscriptionComponent","appContext","device","_viewContainerRef","_dialogService","eConsentCampaignDisabledText","letterDisabledText","preferences","residentConsent","ResidentConsent","isSmsEnabled","showEConsentTimeSpan","consented","dateUpdatedUtc","helperTextLength","isMobile","loadPreferences","setConsentCampaigns","Object","defineProperty","verbiageHtml","html","$","text","hasResidentCommunicationData","CommunicationChannelEnum","EMAIL","email","secondaryEmail","viewAllHelperText","helperText","preventDefault","openInformationModal","message","onPreferenceChange","preference","checked","isResidentPreferenceOptedIn","autoSelected","onEconsentChanged","event","forEach","campaign","backup","find","x","campaignId","oldCampaign","ResidentCampaignPreference","campaignName","isCampaignRequired","channelsPreferences","hasCampaign","emailPref","emailPreference","smsPref","smsPreference","autoSelect","updatePreferences","missingCampaings","checkMissingCampaigns","errorWithoutCustomerCareNumber","join","unsubscribeAll","disabled","saveMassCommPreferences","c4PropertyId","resolvePreferencesToSAve","econsentPref","nonEconsentPref","campaignPreference","y","channel","SMS","push","mapCompaignChannelPreference","sort","a","b","_a","apply","__spread","formatConsentDate","moment","format","hasCampaigns","electronicConsentEnabledAndDeclined","electronicConsentEnabledAndUnselected","consentCampaignDisabled","consentCampaignsRequired","campaignIds","includes","isAnyResidentCampaignRequired","some","pref","isAnyResidentCampaignRequiredAndUnchecked","isEnabled","isAnyEConsentCampaignEnabled","hasEmailOrSmsChannelEnabled","phoneStatus","SmsSubscriptionStatusEnum","ACCEPTED","eConsentTooltipText","result","map","hasResidentData","isSmsVerified","hasChannelEnabled","anyCampaignEnabled","anyResidentCommunicationData","hasEmailOrSmsChannelSelected","consentCampaigns","displayLetterTooltip","validation","validateIfUseLetterChannel","shouldUseLetter","hasLetterEnabled","mobileCampaignTooltipText","tooltipText","letterChannelPref","getLetterChannelPreference","channelPreference","missing","__values","_b","next","done","campaignValidation","savePreferences","letterChannel","data","c","letterPref","LETTER","ResidentChannelPreference","isResidentDataOptedIn","isRequired","loginPageUrl","location","protocol","host","customerCareCenter800Number","customerCareNumber","encapsulation","ViewEncapsulation","None","AppContext","DeviceService","ViewContainerRef","DialogService","forms_1","phone_validator_1","SmsSubscriptionComponent","_communicationSubsctiptionService","_formBuilder","_device","checkboxClass","residentData","cellPhoneForm","get","phoneNumber","phoneNumberStatus","smsDisabledMessage","createForm","setCheckBoxClassAndTitle","cellPhoneCtrl","setValue","savePreference","dirty","saveSmsSubscriptionPreference","subscribedCtrl","DECLINED","checkboxTitle","PENDING","group","cellPhone","subscribed","valueChanges","valid","enable","disable","FormBuilder","shared_module_1","router_1","mass_comm_subscription_component_1","package_tracking_unsubscribe_component_1","sms_subscription_component_1","CommunicationSubscriptionModule","NgModule","imports","SharedModule","ReCaptchaModule","RouterModule","forChild","path","component","declarations","providers","http_1","residentportal_routes_1","_http","eConsentAccepted","reCaptchaResponse","post","residentPortalRoutes","COMMUNICATION_SUBSCRIPTION","campaignPreferences","getSavePreferences","SaveResidentCampaignPreference","SaveResidentChannelPreference","isOptedIn","channelPreferences","Injectable","HttpClient"],"mappings":"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","file":"22.e1e6126d168551392231.js","sourcesContent":["module.exports = \".subscription-container {\\n display: flex;\\n margin: 0;\\n padding: 0;\\n position: fixed;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n background-image: url(data:image/gif;base64,R0lGODlhFACwAtUAAAB/rwB5pwBojwZTcgCLwACLwAB0nwNcfgBwmwCIvACNwgBmjQCFtwCPxQCBsgBtlgRZegB3pAFfggCHugCPxABslACDtACRyAB9rACNwghOagB7qQRXdwCKvgB1oQBliwCJvQCGuAdQbAdSbwFhhgCEtgdRbQVVdQBqkgCOwwCFtwB+rQBkiQB6qABumQCDtQBjiAFegANbfABihwCCswBynQB8qwZSbwdTcAdSbgCMwQCIuwCGuQCQxwdPaghOaSH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwMTQgNzkuMTU2Nzk3LCAyMDE0LzA4LzIwLTA5OjUzOjAyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5ODcyNDg4NzgyREMxMUU0ODU2NUIzQ0EyQUZBRkEzMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5ODcyNDg4ODgyREMxMUU0ODU2NUIzQ0EyQUZBRkEzMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NzI0ODg1ODJEQzExRTQ4NTY1QjNDQTJBRkFGQTMzIiBzdFJlZjpkb2N1bWVudElEPSJ4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);\\n background-position: left top;\\n background-repeat: repeat-x;\\n background-color: #0e4e68;\\n overflow-y: auto; }\\n .subscription-container .img-title {\\n margin-bottom: 50px; }\\n .subscription-container .container-top {\\n background-color: #FFFFFF;\\n background-image: url(data:image/gif;base64,R0lGODlhDwAHALMAAH/DjH7Ci3y/in7BioHFjn3Ain/Di4DEjIHFjYHGjoDEjYHHjwAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwMTQgNzkuMTU2Nzk3LCAyMDE0LzA4LzIwLTA5OjUzOjAyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGN0I4RTQ1NDgyRkIxMUU0ODU2NUIzQ0EyQUZBRkEzMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGN0I4RTQ1NTgyRkIxMUU0ODU2NUIzQ0EyQUZBRkEzMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkY3QjhFNDUyODJGQjExRTQ4NTY1QjNDQTJBRkFGQTMzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkY3QjhFNDUzODJGQjExRTQ4NTY1QjNDQTJBRkFGQTMzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAAAAAAAsAAAAAA8ABwAABDawqLWIQBQJQhUJB0UMU4IUWLIgBtAZ4aIY5Qq/8UEfKkKqioBCpSvwKpIeqpMYuBYJo0hCiQAAOw==);\\n background-position: left top;\\n background-repeat: repeat-x;\\n padding-top: 30px;\\n margin-top: 10px; }\\n .subscription-container .container-top .message-title {\\n color: #0076a2;\\n font-size: 20px;\\n font-weight: bold;\\n padding-left: 10%;\\n background-image: url(data:image/gif;base64,R0lGODlhGAAbANUAAO3373S/gnXAgsDlxnS+gZjUpL7jxa/et7/jxer17P///6/dt67ct6zZtbfhv93w4a7ctq7btt7w4dju3t7x4n7EjK3atYDGjN3v4fb694DFi8Hkx8Dkxvr8+tft3b/kxu/48azZtJPRnXvFirfgvv3+/b3ixMnozq7dt7riwsvo0XvIin7Diu338HXAg3bBg3fDhXbEhXXDhHjEhnfFhnbChHfFh3fGhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwMTQgNzkuMTU2Nzk3LCAyMDE0LzA4LzIwLTA5OjUzOjAyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowMTc4MDY3NTgyRkQxMUU0ODU2NUIzQ0EyQUZBRkEzMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowMTc4MDY3NjgyRkQxMUU0ODU2NUIzQ0EyQUZBRkEzMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkY3QjhFNDU2ODJGQjExRTQ4NTY1QjNDQTJBRkFGQTMzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAxNzgwNjc0ODJGRDExRTQ4NTY1QjNDQTJBRkFGQTMzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAAAAAAAsAAAAABgAGwAABv9AS+RwYDQgh4WRkYSEUMlII5VRzGqw2y2G1cJqsZvtOxPDXqLStrsO375umaxsq8kmttvMNcvHXmVvgFoyNTRaNRtuNASBMwSHWwF5by6UBi8yWjYuWTc0AnQzAYc2MZM3HFeaemwzL2GmsGIxfAN6clpcMAVtXmCENR95rzB+Lwm9XG5khAbGnwExxBXJWwKRMC6RBi6sNwKeNizWjI4EeQM0NTVa66w0GtZ7sTOhtzSFWjO5ehfWu3TVQHDoHTEsfkx4EMjsWalOeWi4mObgwcRjgRC8qEEJopgAJB58arSP1I0BdV5s2qjFAQZWNgQsCjADnwyVnwo5oLBqn6t7FwRzGsIlgVi/GDI8xTAgo1Smgi+gFfMDJg8CdpEy5eEEjYY0YqFs3KrhQsuNFzhveDMbbhOBGLfGlBVz0x07u/CAlqFxpuDNiPpwsZpxYo4YOwURf7JzUIaNFSAKRVJsI+rDri5GqFDQAgCAFqA9g+78OXTpFh0UKAgCADs=);\\n background-repeat: no-repeat;\\n margin-right: 20px; }\\n .subscription-container .container-top .message-title.success {\\n color: darkgray; }\\n .subscription-container .container-top .message-title.alternate {\\n color: black; }\\n .subscription-container .container-top .message {\\n padding-left: 10%;\\n padding-right: 15px;\\n margin-top: 20px; }\\n .subscription-container .container-top .message.success {\\n font-weight: bold; }\\n .subscription-container .container-top .resident-info {\\n font-weight: bold;\\n color: black; }\\n .subscription-container .container-top .button-container {\\n padding-left: 10%;\\n margin-top: 20px; }\\n .subscription-container .container-top .button-container .primary-fsr-button {\\n background-color: #0076a2;\\n width: auto; }\\n .subscription-container .container-top .button-container.mt-5 {\\n margin-top: 5px; }\\n .subscription-container .container-bottom {\\n height: 50px;\\n background-color: #FFFFFF;\\n background-image: url(data:image/gif;base64,R0lGODlhCgBOANUAAGaxfWm1f2WwfWi0f/v7+/r6+ufn5/f392eyffj4+Pn5+fX19fDw8PPz8/T09Pb29uvr62WwfOjo6PHx8e/v7+Pj4+3t7fz8/O7u7uTk5Orq6ubm5uHh4ezs7OLi4mi0fuXl5WSvfOnp6fLy8mm2gP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwMTQgNzkuMTU2Nzk3LCAyMDE0LzA4LzIwLTA5OjUzOjAyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowMTc4MDY3OTgyRkQxMUU0ODU2NUIzQ0EyQUZBRkEzMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowMTc4MDY3QTgyRkQxMUU0ODU2NUIzQ0EyQUZBRkEzMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjAxNzgwNjc3ODJGRDExRTQ4NTY1QjNDQTJBRkFGQTMzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAxNzgwNjc4ODJGRDExRTQ4NTY1QjNDQTJBRkFGQTMzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAAAAAAAsAAAAAAoATgAABpvAknBILBqPyKRyyWwiLxclQUpNTq3KQnabLCiU32QYmVCWk2fkQblOtpGPh3IxrycdSnyyoeTvlSMTSoJJDEqGhUoUikoYjUoWFkodShCVShqYSiJKEp1KBgagShukSiBKGalKFaxKHhxJAAIktQIAtSQBCBG1AbO5AwgCAyQDswEfugAAxcfMxSS3xQG3AgG1zNi6CCG+AL0kQQA7);\\n background-position: left bottom;\\n background-repeat: repeat-x; }\\n .subscription-container .privacy-policy {\\n text-align: center;\\n margin-top: 10px;\\n color: white; }\\n .subscription-container .privacy-policy a {\\n color: dodgerblue; }\\n .subscription-container .recaptcha-text {\\n color: white;\\n margin-top: 20px;\\n font-size: 12px;\\n text-align: center;\\n line-height: 1.6; }\\n .subscription-container .recaptcha-text a {\\n color: dodgerblue; }\\n .subscription-container .primary-fsr-button[disabled] {\\n background-color: #9b9b9b !important; }\\n .form-container {\\n padding-left: 10%; }\\n .form-container .form-header {\\n font-weight: bold; }\\n .form-container form .input-container {\\n margin-bottom: 0px !important; }\\n .form-container .checkbox {\\n padding-top: 20px; }\\n .form-container .checkbox.pl-20 {\\n padding-left: 20px; }\\n .pt-15 {\\n padding-top: 15px; }\\n .input-valid {\\n color: green; }\\n .subscribe-text {\\n font-size: 14px; }\\n .subscription-body {\\n width: 100%;\\n max-width: 750px;\\n margin: 0 auto; }\\n .container-top {\\n max-width: 750px; }\\n .container-bottom {\\n width: 100%;\\n max-width: 100%; }\\n .privacy-policy {\\n width: 100%;\\n max-width: 100%; }\\n .recaptcha-text {\\n width: 100%;\\n max-width: 100%; }\\n .message-title {\\n font-size: 13pt !important; }\\n .message-title.nobg {\\n background: transparent !important; }\\n .message-title .message {\\n color: rgba(0, 0, 0, 0.87);\\n font-size: 10.5pt;\\n font-weight: 400;\\n padding-left: 0 !important;\\n margin-bottom: 0 !important;\\n padding-bottom: 1rem !important; }\\n .message-title .message b {\\n font-weight: bold; }\\n .message {\\n font-size: 10.5pt;\\n padding-right: 10% !important;\\n margin-bottom: 0 !important;\\n padding-bottom: 1rem !important; }\\n .message .followthislink {\\n font-size: 13pt !important;\\n color: #0076a2;\\n font-weight: bold; }\\n .message.success-message {\\n color: #a9a9a9;\\n font-weight: 700;\\n padding-top: 5px;\\n background-image: url(data:image/gif;base64,R0lGODlhGAAbANUAAO3373S/gnXAgsDlxnS+gZjUpL7jxa/et7/jxer17P///6/dt67ct6zZtbfhv93w4a7ctq7btt7w4dju3t7x4n7EjK3atYDGjN3v4fb694DFi8Hkx8Dkxvr8+tft3b/kxu/48azZtJPRnXvFirfgvv3+/b3ixMnozq7dt7riwsvo0XvIin7Diu338HXAg3bBg3fDhXbEhXXDhHjEhnfFhnbChHfFh3fGhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwMTQgNzkuMTU2Nzk3LCAyMDE0LzA4LzIwLTA5OjUzOjAyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowMTc4MDY3NTgyRkQxMUU0ODU2NUIzQ0EyQUZBRkEzMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowMTc4MDY3NjgyRkQxMUU0ODU2NUIzQ0EyQUZBRkEzMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkY3QjhFNDU2ODJGQjExRTQ4NTY1QjNDQTJBRkFGQTMzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAxNzgwNjc0ODJGRDExRTQ4NTY1QjNDQTJBRkFGQTMzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAAAAAAAsAAAAABgAGwAABv9AS+RwYDQgh4WRkYSEUMlII5VRzGqw2y2G1cJqsZvtOxPDXqLStrsO375umaxsq8kmttvMNcvHXmVvgFoyNTRaNRtuNASBMwSHWwF5by6UBi8yWjYuWTc0AnQzAYc2MZM3HFeaemwzL2GmsGIxfAN6clpcMAVtXmCENR95rzB+Lwm9XG5khAbGnwExxBXJWwKRMC6RBi6sNwKeNizWjI4EeQM0NTVa66w0GtZ7sTOhtzSFWjO5ehfWu3TVQHDoHTEsfkx4EMjsWalOeWi4mObgwcRjgRC8qEEJopgAJB58arSP1I0BdV5s2qjFAQZWNgQsCjADnwyVnwo5oLBqn6t7FwRzGsIlgVi/GDI8xTAgo1Smgi+gFfMDJg8CdpEy5eEEjYY0YqFs3KrhQsuNFzhveDMbbhOBGLfGlBVz0x07u/CAlqFxpuDNiPpwsZpxYo4YOwURf7JzUIaNFSAKRVJsI+rDri5GqFDQAgCAFqA9g+78OXTpFh0UKAgCADs=);\\n background-repeat: no-repeat; }\\n ::ng-deep .default ::ng-deep .mat-checkbox.declined ::ng-deep .mat-checkbox-inner-container ::ng-deep .mat-checkbox-background {\\n border: 3px solid red !important; }\\n ::ng-deep .default ::ng-deep .mat-checkbox.pending ::ng-deep .mat-checkbox-inner-container ::ng-deep .mat-checkbox-background {\\n border: 3px solid yellow !important; }\\n @media screen and (max-width: 768px) {\\n .container-top {\\n width: calc(100% - 10%); }\\n .container-bottom {\\n width: calc(100% - 10%); }\\n .privacy-policy {\\n width: calc(100% - 10%); }\\n .recaptcha-text {\\n width: calc(100% - 10%); } }\\n\"","import { AbstractControl } from '@angular/forms';\r\nimport { ValidationConstants } from './validation.constants';\r\n\r\n\r\n\r\nexport function validatePhone(control: AbstractControl): { [key: string]: any } {\r\n if (!control.value) return null;\r\n\r\n let isValid: boolean = ValidationConstants.PHONE_REGEXP.test(control.value);\r\n return isValid ? null : { validatePhone: true };\r\n}\r\n\r\nexport function validateConnectPhone(control: AbstractControl): { [key: string]: any } {\r\n if (!control.value) return null;\r\n\r\n let isValid: boolean = ValidationConstants.CONNECT_PHONE_REGEXP.test(control.value);\r\n return isValid ? null : { validatePhone: true };\r\n}\r\n\r\nexport function validatePhoneRegex(control: AbstractControl): { [key: string]: any } {\r\n if (control.value == null || control.value.trim().length == 0) return null;\r\n\r\n var regex = /[a-zA-Z]/g;\r\n var phoneFormat = control.value.replace(/\\D/g, '');\r\n\r\n if (phoneFormat.length < 10 || regex.test(control.value)) return { 'pattern': true };\r\n return null;\r\n}\r\nexport function formatPhone(key: string): any {\r\n if (key == null || key.trim().length == 0) return null;\r\n let isOnlyAlphaNum: boolean = ValidationConstants.ALPHABET_REGEXP.test(key);\r\n if (isOnlyAlphaNum)\r\n return key;\r\n let newVal = key.replace(/\\D/g, '');\r\n let isValid: boolean = ValidationConstants.ONLY_DIGITS_REGEXP.test(newVal);\r\n if (isValid && newVal.trim().length == 10) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(\\d{0,4})/, '($1) $2-$3');\r\n return newVal;\r\n }\r\n else if (isValid && newVal.substring(0, 1) == '1' && newVal.trim().length == 11) {\r\n newVal = newVal.substring(1, 11).replace(/^(\\d{0,3})(\\d{0,3})(\\d{0,4})/, '($1) $2-$3');\r\n return newVal;\r\n }\r\n return key;\r\n}","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ReCaptchaComponent } from 'angular2-recaptcha';\r\nimport { LoadingService } from '../../../shared/components/fsr-loading/fsr-loading.service';\r\nimport { ToastService } from '../../../shared/services/toast.service';\r\nimport { IResident } from '../models/resident.model';\r\nimport { CommunicationSubscriptionService } from '../services/communication-preference.service';\r\n\r\n@Component({\r\n selector: 'fsr-package-tracking-unsubscribe',\r\n templateUrl: './package-tracking-unsubscribe.component.html',\r\n styleUrls: ['./package-tracking-unsubscribe.component.scss']\r\n})\r\nexport class PackageTrackingSubscriptionComponent implements OnInit {\r\n\r\n @ViewChild(ReCaptchaComponent)\r\n public reCaptcha: ReCaptchaComponent;\r\n\r\n public privacyPolicyUrl: string;\r\n public resident: IResident;\r\n public successfullyUpdated: boolean = false;\r\n public reCaptchaSiteKey = \"\";\r\n public isSaving: boolean = false;\r\n\r\n constructor(private _loadingService: LoadingService\r\n , private _communicationSubscriptionService: CommunicationSubscriptionService\r\n , private _toastService: ToastService) { }\r\n\r\n\r\n ngOnInit() {\r\n this.reCaptchaSiteKey = $global.recaptchaPublicKey;\r\n this.resident = $global.resident;\r\n this.privacyPolicyUrl = `${$global.connectInstanceUrl}/LandingPages/PrivacyPolicy.aspx`;\r\n this._loadingService.stop('subscription-package-tracking');\r\n }\r\n\r\n public onCaptchaResponse($event) {\r\n this._loadingService.start('subscription', null, true);\r\n this._communicationSubscriptionService.unsubscribeToPackageTrackingEmails(this.resident.residentId, $global.c4Uid, $event)\r\n .subscribe(() => {\r\n this.isSaving = false;\r\n this.successfullyUpdated = true;\r\n this._loadingService.stop('subscription');\r\n }, () => {\r\n this.isSaving = false;\r\n this._loadingService.stop('subscription');\r\n this._toastService.error('There was an issue updating your preferences. Please try again.');\r\n });\r\n }\r\n\r\n public unsubscribe(): void {\r\n this.isSaving = true;\r\n this.reCaptcha.execute();\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Step 1: Submit Your Phone Number for Verification\\r\\n

\\r\\n

\\r\\n To begin the process of subscribing to SMS (text) communications from FirstService\\r\\n Residential, please enter or confirm your Phone Number below, select the Verify\\r\\n checkbox, and then click Submit.\\r\\n

\\r\\n

\\r\\n Step 2: Receive Text Message and Reply to Confirm\\r\\n

\\r\\n

\\r\\n You will receive an automated text message and must reply to the message to complete\\r\\n the phone number verification process. After replying, you will receive a text message\\r\\n welcoming you to FirstService Residential mobile alerts. This means you have\\r\\n successfully verified your phone number. There's just one thing left to do.\\r\\n

\\r\\n
\\r\\n

\\r\\n Next Step:\\r\\n You must proceed to the next page and follow the link to update your\\r\\n SMS communication preferences. IMPORTANT: If you do not select your SMS\\r\\n communication
preferences, you will not receive important text communications from\\r\\n FirstService Residential in
the future.\\r\\n
\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Phone Number
\\r\\n
Verify
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Formatted phone: {{ cellPhoneCtrl.value | formatPhone }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Subscribe\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n

\\r\\n Step 3 (Final Step): Follow the Link to Select Your SMS Communication Preferences\\r\\n

\\r\\n

\\r\\n After replying affirmatively to the text message and receiving another message welcoming\\r\\n you to FirstService Residential mobile alerts, you are now ready to select the types of\\r\\n communication you would like to receive via text.\\r\\n

\\r\\n Please FOLLOW THIS LINK to make your selections. Once you have done so, you have\\r\\n completed the process of subscribing to SMS communications from your Management\\r\\n Team!\\r\\n

\\r\\n\\r\\n
\\r\\n {{ smsDisabledMessage }}\\r\\n
\\r\\n \\r\\n \\r\\n
You are unsubscribed from FirstService Residential mobile alerts.To further manage your communication preferences, please \\r\\n click here to log into your Community's Website or contact Customer Care at {{ customerCareNumber }}.
\\r\\n
\\r\\n \\r\\n
Your changes have been successfully updated.
\\r\\n
\\r\\n Thank you.
\\r\\n Your Property Management Team
\\r\\n www.fsresidential.com\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Please review our Privacy Policy.\\r\\n
\\r\\n\\r\\n
\\r\\n This site is protected by reCaptcha and the Google
\\r\\n Privacy Policy and\\r\\n Terms of Service apply.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n\\r\\n
\\r\\n
\\r\\n
Package Notifications
\\r\\n

\\r\\n To unsubscribe {{ resident?.email }} from future Package Notifications, please\\r\\n click on the button below.\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
Your preferences have been successfully updated.
\\r\\n
\\r\\n Thank you.
\\r\\n Your Property Management Team
\\r\\n www.fsresidential.com\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Please review our Privacy Policy.
\\r\\n\\r\\n
\\r\\n This site is protected by reCaptcha and the Google
\\r\\n Privacy Policy and\\r\\n Terms of Service apply.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\r\nimport { IResident } from '../models/resident.model'\r\nimport { LoadingService } from '../../../shared/components/fsr-loading/fsr-loading.service';\r\nimport { IResidentCampaignPreference, IResidentChannelPreference, ResidentCampaignPreference, ResidentChannelPreference, ResidentConsent } from '../../../models';\r\nimport { DeviceService } from '../../../shared/services/device.service';\r\nimport { DialogService } from '../../../shared/components/fsr-dialog/fsr-dialog.service';\r\nimport { CommunicationSubscriptionService } from '../services/communication-preference.service';\r\nimport { ToastService } from '../../../shared/services/toast.service';\r\nimport { ReCaptchaComponent } from 'angular2-recaptcha';\r\nimport { CommunicationChannelEnum } from '../../../models/enums/communication-channel.enum';\r\nimport { SmsSubscriptionStatusEnum } from '../../../models/enums/sms-subscription-status.enum';\r\nimport { AppContext } from '../../../shared/core/context/app.context';\r\n\r\n@Component({\r\n selector: 'fsr-mass-comm-subscription',\r\n templateUrl: './mass-comm-subscription.component.html',\r\n styleUrls: ['./mass-comm-subscription.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class MassCommSubscriptionComponent implements OnInit {\r\n\r\n @ViewChild(ReCaptchaComponent)\r\n public reCaptcha: ReCaptchaComponent;\r\n public eConsentCampaignDisabledText: string = 'To select the {0} option, you must first Accept Electronic Consent.';\r\n public letterDisabledText: string = ' If an electronic communication is not elected for this category, your preference will be set to Letter';\r\n public privacyPolicyUrl: string;\r\n public resident: IResident;\r\n public residentConsent: ResidentConsent;\r\n public preferences: ResidentCampaignPreference[] = [];\r\n public consentCampaigns: IResidentCampaignPreference[];\r\n public helperTextLength: number;\r\n public successfullyUpdated: boolean = false;\r\n public reCaptchaSiteKey = \"\";\r\n public isSaving: boolean = false;\r\n public showEConsentTimeSpan: boolean;\r\n public isSmsEnabled: boolean;\r\n\r\n constructor(private _loadingService: LoadingService\r\n , public appContext: AppContext\r\n , public device: DeviceService\r\n , private _viewContainerRef: ViewContainerRef\r\n , private _dialogService: DialogService\r\n , private _communicationSubscriptionService: CommunicationSubscriptionService\r\n , private _toastService: ToastService) { }\r\n\r\n ngOnInit() {\r\n this.reCaptchaSiteKey = $global.recaptchaPublicKey;\r\n this.resident = $global.resident;\r\n this.residentConsent = new ResidentConsent($global.residentConsent);\r\n this.isSmsEnabled = $global.isSmsEnabled;\r\n this.showEConsentTimeSpan = this.residentConsent.consented != null && this.residentConsent.dateUpdatedUtc != null;\r\n this.privacyPolicyUrl = `${$global.connectInstanceUrl}/LandingPages/PrivacyPolicy.aspx`;\r\n this.helperTextLength = this.device.isMobile ? 10 : 50;\r\n this.loadPreferences();\r\n this.setConsentCampaigns();\r\n this._loadingService.stop('subscription-masscomm');\r\n }\r\n\r\n get verbiageText(): string {\r\n if (this.residentConsent && this.residentConsent.verbiageHtml) {\r\n const html = $('
');\r\n html.html(this.residentConsent.verbiageHtml);\r\n return html.text();\r\n }\r\n return '';\r\n }\r\n\r\n get displayEmail(): string {\r\n if (this.resident && this.hasResidentCommunicationData(CommunicationChannelEnum.EMAIL))\r\n return this.resident.email;\r\n return 'no email address';\r\n }\r\n\r\n get displaySecondaryEmail(): string {\r\n if (this.resident && this.hasResidentCommunicationData(CommunicationChannelEnum.EMAIL))\r\n return this.resident.secondaryEmail;\r\n return 'no secondary email address';\r\n }\r\n\r\n get HaveSecondaryEmailValid(): boolean {\r\n return typeof this.resident.secondaryEmail != 'undefined' && this.resident.secondaryEmail ? true : false;\r\n }\r\n\r\n public viewAllHelperText(helperText: string, $event: any): void {\r\n $event.preventDefault();\r\n this._dialogService.openInformationModal({message: helperText}, this._viewContainerRef);\r\n }\r\n\r\n public onPreferenceChange(preference: IResidentChannelPreference, checked: boolean): void {\r\n preference.isResidentPreferenceOptedIn = checked;\r\n preference.autoSelected = false;\r\n }\r\n\r\n public onEconsentChanged(event): void {\r\n const consented = event.value; \r\n this.showEConsentTimeSpan = false;\r\n this.preferences.forEach(campaign => {\r\n const backup = $global.preferences.find(x => x.campaignId === campaign.campaignId);\r\n let oldCampaign = new ResidentCampaignPreference(backup.campaignId, backup.campaignName, backup.helperText, backup.isCampaignRequired);\r\n oldCampaign.channelsPreferences = backup.channelsPreferences;\r\n\r\n if (this.residentConsent.hasCampaign(campaign.campaignId)) {\r\n const emailPref = campaign.emailPreference();\r\n const smsPref = campaign.smsPreference();\r\n if (emailPref) {\r\n if (consented)\r\n emailPref.autoSelect();\r\n else \r\n emailPref.isResidentPreferenceOptedIn = oldCampaign.emailPreference().isResidentPreferenceOptedIn;\r\n }\r\n \r\n if (smsPref) {\r\n if (consented)\r\n smsPref.autoSelect();\r\n else \r\n smsPref.isResidentPreferenceOptedIn = oldCampaign.smsPreference().isResidentPreferenceOptedIn;\r\n }\r\n }\r\n });\r\n }\r\n\r\n public updatePreferences(): void {\r\n const missingCampaings= this.checkMissingCampaigns();\r\n if (missingCampaings.length) {\r\n this._toastService.errorWithoutCustomerCareNumber(`The following required categories: ${missingCampaings.join(', ')} do not allow for letter option, therefore you must select an electronic communication.`);\r\n return;\r\n }\r\n this.isSaving = true;\r\n this.reCaptcha.execute();\r\n }\r\n\r\n public unsubscribeAll(): void {\r\n this.preferences.forEach(campaign => {\r\n const emailPref = campaign.emailPreference();\r\n if (!emailPref.disabled() && emailPref.checked())\r\n emailPref.isResidentPreferenceOptedIn = false;\r\n\r\n const smsPref = campaign.smsPreference();\r\n if (!smsPref.disabled() && smsPref.checked())\r\n smsPref.isResidentPreferenceOptedIn = false;\r\n });\r\n this.updatePreferences();\r\n }\r\n\r\n public onCaptchaResponse($event) {\r\n this._loadingService.start('savePreferences', null, true);\r\n this._communicationSubscriptionService.saveMassCommPreferences(this.resident.residentId\r\n , $global.c4PropertyId\r\n , $global.c4Uid\r\n , this.residentConsent.consented\r\n , this.resolvePreferencesToSAve()\r\n , $event)\r\n .subscribe(() => {\r\n this.isSaving = false;\r\n this.successfullyUpdated = true;\r\n this._loadingService.stop('savePreferences');\r\n }, ( ) => {\r\n this.isSaving = false;\r\n this._loadingService.stop('savePreferences');\r\n this._toastService.error('There was an issue updating your preferences. Please try again.');\r\n });\r\n }\r\n\r\n private loadPreferences(): void {\r\n this.preferences = [];\r\n let econsentPref: ResidentCampaignPreference[] = [];\r\n let nonEconsentPref: ResidentCampaignPreference[] = [];\r\n $global.preferences.forEach(x => {\r\n let campaignPreference = new ResidentCampaignPreference(x.campaignId, x.campaignName, x.helperText, x.isCampaignRequired);\r\n\r\n x.channelsPreferences.forEach((y: IResidentChannelPreference) => {\r\n if (y.channel === CommunicationChannelEnum.EMAIL || y.channel === CommunicationChannelEnum.SMS) {\r\n campaignPreference.channelsPreferences.push(this.mapCompaignChannelPreference(y, this.residentConsent.consented && this.residentConsent.hasCampaign(x.campaignId)));\r\n }\r\n });\r\n\r\n if (this.residentConsent.hasCampaign(campaignPreference.campaignId)) \r\n econsentPref.push(campaignPreference)\r\n else \r\n nonEconsentPref.push(campaignPreference);\r\n });\r\n\r\n econsentPref = econsentPref.sort((a, b) => (a.campaignName > b.campaignName) ? 1 : -1);\r\n nonEconsentPref = nonEconsentPref.sort((a, b) => (a.campaignName > b.campaignName) ? 1 : -1);\r\n\r\n this.preferences.push(...econsentPref, ... nonEconsentPref);\r\n }\r\n\r\n public formatConsentDate(): string {\r\n if (!this.residentConsent || this.residentConsent.dateUpdatedUtc == null)\r\n return '';\r\n \r\n return moment(this.residentConsent.dateUpdatedUtc).format('MM/DD/YYYY hh:mm:ss A');\r\n }\r\n\r\n public get consentCampaignsRequired(): boolean {\r\n return this.residentConsent \r\n && this.residentConsent.hasCampaigns \r\n && (this.residentConsent.electronicConsentEnabledAndDeclined || this.residentConsent.electronicConsentEnabledAndUnselected);\r\n }\r\n\r\n\r\n public consentCampaignDisabled(campaignId: number): boolean {\r\n return this.consentCampaignsRequired ? this.residentConsent.campaignIds.includes(campaignId) : false;\r\n }\r\n\r\n public isAnyResidentCampaignRequired(): boolean {\r\n return this.preferences.some(pref => pref.isCampaignRequired);\r\n }\r\n\r\n public isAnyResidentCampaignRequiredAndUnchecked(): boolean {\r\n return this.preferences.some(pref => pref.isCampaignRequired && pref.channelsPreferences.some(channel => channel.isEnabled && !channel.checked()));\r\n }\r\n\r\n public isAnyEConsentCampaignEnabled(): boolean {\r\n return this.preferences.some(campaign => this.residentConsent.isEnabled \r\n && this.residentConsent.hasCampaign(campaign.campaignId)\r\n && this.hasEmailOrSmsChannelEnabled(campaign));\r\n }\r\n \r\n public get isSmsVerified(): boolean { \r\n return this.resident && this.resident.phoneStatus === SmsSubscriptionStatusEnum.ACCEPTED;\r\n }\r\n\r\n public eConsentTooltipText(channel: CommunicationChannelEnum): string {\r\n return channel === CommunicationChannelEnum.EMAIL ? this.eConsentCampaignDisabledText.replace('{0}', 'Email') : this.eConsentCampaignDisabledText.replace('{0}', 'Text');\r\n }\r\n\r\n public hasResidentCommunicationData(channel: CommunicationChannelEnum): boolean {\r\n let result: boolean = false;\r\n switch (channel) {\r\n case CommunicationChannelEnum.EMAIL:\r\n result = this.preferences\r\n .map(x => x.emailPreference())\r\n .some(x => x.hasResidentData);\r\n break;\r\n\r\n case CommunicationChannelEnum.SMS:\r\n result = this.preferences\r\n .map(x => x.smsPreference())\r\n .some(x => x.hasResidentData)\r\n && this.isSmsVerified\r\n && this.isSmsEnabled;\r\n break;\r\n }\r\n return result;\r\n }\r\n\r\n public hasChannelEnabled(preference: ResidentCampaignPreference, channel: CommunicationChannelEnum): boolean {\r\n if (!preference)\r\n return false;\r\n \r\n switch (channel) {\r\n case CommunicationChannelEnum.EMAIL:\r\n const emailPref = preference.emailPreference();\r\n return emailPref && emailPref.isEnabled && emailPref.hasResidentData;\r\n \r\n case CommunicationChannelEnum.SMS:\r\n const smsPref = preference.smsPreference();\r\n return smsPref && smsPref.isEnabled && smsPref.hasResidentData && this.isSmsVerified && this.isSmsEnabled;\r\n }\r\n }\r\n\r\n public anyCampaignEnabled(): boolean {\r\n return this.preferences.some(x => this.hasEmailOrSmsChannelEnabled(x))\r\n }\r\n\r\n public anyResidentCommunicationData(): boolean {\r\n return this.hasResidentCommunicationData(CommunicationChannelEnum.EMAIL) \r\n || this.hasResidentCommunicationData(CommunicationChannelEnum.SMS);\r\n }\r\n\r\n public hasEmailOrSmsChannelEnabled(preference: ResidentCampaignPreference): boolean {\r\n return this.hasChannelEnabled(preference, CommunicationChannelEnum.EMAIL) \r\n || this.hasChannelEnabled(preference, CommunicationChannelEnum.SMS); \r\n }\r\n\r\n public hasEmailOrSmsChannelSelected(preference: ResidentCampaignPreference): boolean {\r\n const emailPref = preference.emailPreference();\r\n const smsPref = preference.smsPreference();\r\n return (emailPref && emailPref.checked()) || (smsPref && smsPref.checked() && this.isSmsEnabled && this.isSmsVerified);\r\n }\r\n\r\n private setConsentCampaigns(): void {\r\n this.consentCampaigns = [];\r\n if (!this.residentConsent.campaignIds || !this.residentConsent.campaignIds.length)\r\n return;\r\n \r\n this.preferences.forEach((pref: IResidentCampaignPreference) => {\r\n if (this.residentConsent.campaignIds.includes(pref.campaignId)) {\r\n this.consentCampaigns.push(pref);\r\n }\r\n });\r\n }\r\n\r\n public displayLetterTooltip(campaign: ResidentCampaignPreference): boolean {\r\n const validation = this.validateIfUseLetterChannel(campaign);\r\n return campaign.isCampaignRequired && validation.shouldUseLetter && validation.hasLetterEnabled;\r\n }\r\n\r\n public mobileCampaignTooltipText(campaign: ResidentCampaignPreference): string {\r\n let result = '';\r\n if (this.consentCampaignDisabled(campaign.campaignId) && this.hasEmailOrSmsChannelEnabled(campaign)) {\r\n let tooltipText = '';\r\n if (this.hasChannelEnabled(campaign, CommunicationChannelEnum.EMAIL) && this.hasChannelEnabled(campaign, CommunicationChannelEnum.SMS))\r\n tooltipText ='Email/SMS' ;\r\n else if (this.hasChannelEnabled(campaign, CommunicationChannelEnum.EMAIL))\r\n tooltipText = 'Email' ;\r\n else if (this.hasChannelEnabled(campaign, CommunicationChannelEnum.SMS))\r\n tooltipText = 'SMS' ;\r\n \r\n result = this.eConsentCampaignDisabledText.replace('{0}', tooltipText);\r\n } \r\n if (this.displayLetterTooltip(campaign)) {\r\n return result += this.letterDisabledText;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n public validateIfUseLetterChannel(campaign: ResidentCampaignPreference): { shouldUseLetter: boolean, hasLetterEnabled?: boolean, channelPreference?: ResidentChannelPreference } {\r\n if (!this.hasEmailOrSmsChannelEnabled(campaign)\r\n || !this.hasEmailOrSmsChannelSelected(campaign) \r\n || (this.hasEmailOrSmsChannelSelected(campaign) && this.consentCampaignDisabled(campaign.campaignId))) {\r\n const letterChannelPref = this.getLetterChannelPreference(campaign.campaignId);\r\n const letterEnabled = letterChannelPref && letterChannelPref.isEnabled && letterChannelPref.hasResidentData;\r\n return { \r\n shouldUseLetter: true,\r\n hasLetterEnabled: letterEnabled,\r\n channelPreference: letterChannelPref \r\n };\r\n } \r\n return { \r\n shouldUseLetter: false\r\n };\r\n }\r\n\r\n private checkMissingCampaigns(): string[] {\r\n const missing = [];\r\n for (const campaign of this.preferences) {\r\n if (campaign.isCampaignRequired) {\r\n const campaignValidation = this.validateIfUseLetterChannel(campaign);\r\n if (campaignValidation.shouldUseLetter && !campaignValidation.hasLetterEnabled) {\r\n missing.push(campaign.campaignName);\r\n } \r\n } \r\n }\r\n return missing;\r\n }\r\n\r\n private resolvePreferencesToSAve(): ResidentCampaignPreference[] {\r\n const savePreferences = [];\r\n for (const campaign of this.preferences) {\r\n if (campaign.isCampaignRequired) {\r\n const letterChannel = this.validateIfUseLetterChannel(campaign);\r\n if (letterChannel.shouldUseLetter && letterChannel.hasLetterEnabled) {\r\n const letterChannelPref = letterChannel.channelPreference;\r\n letterChannelPref.isResidentPreferenceOptedIn = true;\r\n campaign.channelsPreferences.push(this.mapCompaignChannelPreference(letterChannelPref, false));\r\n } \r\n }\r\n savePreferences.push(campaign);\r\n }\r\n return savePreferences;\r\n }\r\n\r\n private getLetterChannelPreference(campaignId: number): ResidentChannelPreference {\r\n const data: IResidentCampaignPreference = $global.preferences.find(c => c.campaignId === campaignId);\r\n if (!data || !data.channelsPreferences)\r\n return null;\r\n const letterPref = data.channelsPreferences.find(pref => pref.channel === CommunicationChannelEnum.LETTER);\r\n return letterPref ? this.mapCompaignChannelPreference(letterPref, false) : null;\r\n }\r\n \r\n private mapCompaignChannelPreference(pref: IResidentChannelPreference, autoSelected: boolean): ResidentChannelPreference {\r\n return new ResidentChannelPreference(pref.channel\r\n , pref.isEnabled\r\n , pref.hasResidentData\r\n , pref.isResidentDataOptedIn\r\n , pref.isRequired\r\n , pref.isResidentPreferenceOptedIn\r\n , autoSelected)\r\n }\r\n\r\n public loginPageUrl(): string {\r\n return location.protocol + \"//\" + location.host;\r\n }\r\n\r\n public get customerCareNumber(): string {\r\n return $global.customerCareCenter800Number ? $global.customerCareCenter800Number : this.appContext.customerCareNumber;\r\n }\r\n\r\n public get unmaskedCustomerCareNumber(): string {\r\n return this.customerCareNumber.replace(/[^a-zA-Z0-9 ]/g, \"\").replace(/\\s/g, '');\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { ReCaptchaComponent } from 'angular2-recaptcha';\r\nimport { SmsSubscriptionStatusEnum } from '../../../models/enums/sms-subscription-status.enum';\r\nimport { LoadingService } from '../../../shared/components/fsr-loading/fsr-loading.service';\r\nimport { DeviceService } from '../../../shared/services/device.service';\r\nimport { ToastService } from '../../../shared/services/toast.service';\r\nimport { validateConnectPhone } from '../../../shared/validators/phone.validator';\r\nimport { CommunicationSubscriptionService } from '../services/communication-preference.service';\r\nimport { AppContext } from '../../../shared/core/context/app.context'\r\n\r\n@Component({\r\n selector: 'fsr-sms-subscription',\r\n templateUrl: './sms-subscription.component.html',\r\n styleUrls: ['./sms-subscription.component.scss']\r\n})\r\nexport class SmsSubscriptionComponent implements OnInit {\r\n\r\n @ViewChild(ReCaptchaComponent)\r\n public reCaptcha: ReCaptchaComponent;\r\n\r\n public privacyPolicyUrl: string;\r\n public phoneNumber: string;\r\n public phoneNumberStatus: SmsSubscriptionStatusEnum;\r\n public successfullyUpdated: boolean = false;\r\n public isSaving: boolean = false;\r\n public cellPhoneForm: FormGroup;\r\n public successMessage: string;\r\n public checkboxClass: string = \"\";\r\n public checkboxTitle: string;\r\n public reCaptchaSiteKey = \"\";\r\n public residentId: string = \"\";\r\n public smsDisabledMessage: string;\r\n\r\n public get smsEnabled() { return $global.residentId != null; }\r\n public get residentData() { return $global.residentData; }\r\n public get cellPhoneCtrl() { return this.cellPhoneForm.get('cellPhone'); }\r\n public get subscribedCtrl() { return this.cellPhoneForm.get('subscribed'); }\r\n\r\n constructor(private _loadingService: LoadingService\r\n , public appContext: AppContext\r\n , private _communicationSubsctiptionService: CommunicationSubscriptionService\r\n , private _toastService: ToastService\r\n , private _formBuilder: FormBuilder\r\n , public _device: DeviceService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.reCaptchaSiteKey = $global.recaptchaPublicKey;\r\n this.privacyPolicyUrl = `${$global.connectInstanceUrl}/LandingPages/PrivacyPolicy.aspx`;\r\n this.phoneNumber = $global.phoneNumber;\r\n this.phoneNumberStatus = $global.phoneNumberStatus;\r\n this.residentId = $global.residentId;\r\n this.smsDisabledMessage = \"SMS Functionality has been disabled for your property/company.\";\r\n this.createForm();\r\n this.setCheckBoxClassAndTitle();\r\n this.cellPhoneCtrl.setValue(this.phoneNumber); \r\n this._loadingService.stop('unsubscribe-sms');\r\n }\r\n\r\n public savePreference(): void {\r\n if (!this.cellPhoneForm.dirty) {\r\n this.successfullyUpdated = true;\r\n return;\r\n }\r\n this.isSaving = true;\r\n this.reCaptcha.execute();\r\n }\r\n\r\n public onCaptchaResponse($event) {\r\n this._loadingService.start('savePreference', null, true);\r\n this._communicationSubsctiptionService.saveSmsSubscriptionPreference($global.residentId\r\n , $global.c4Uid\r\n , this.cellPhoneCtrl.value\r\n , this.subscribedCtrl.value\r\n , $event)\r\n .subscribe(() => {\r\n this.successfullyUpdated = true;\r\n this.isSaving = false;\r\n this._loadingService.stop('savePreference');\r\n }, () => {\r\n this.isSaving = false;\r\n this._loadingService.stop('savePreference');\r\n this._toastService.error('There was an issue updating your preferences. Please try again.');\r\n });\r\n }\r\n\r\n private setCheckBoxClassAndTitle(): void {\r\n switch (this.phoneNumberStatus) {\r\n case SmsSubscriptionStatusEnum.DECLINED:\r\n this.checkboxClass = \"declined\";\r\n this.checkboxTitle = \"A previous subscription request has already been declined by this resident.\";\r\n break;\r\n case SmsSubscriptionStatusEnum.PENDING:\r\n this.checkboxClass = \"pending\";\r\n this.checkboxTitle = \"Subscription message(s) already sent to this phone number. Confirmation pending.\";\r\n break;\r\n }\r\n }\r\n\r\n private createForm(): void {\r\n this.cellPhoneForm = this._formBuilder.group({\r\n cellPhone: [null, [validateConnectPhone]],\r\n subscribed: [this.phoneNumberStatus === SmsSubscriptionStatusEnum.ACCEPTED ? true : false]\r\n });\r\n\r\n this.cellPhoneCtrl.valueChanges.subscribe(() => {\r\n if (this.cellPhoneCtrl.valid && this.cellPhoneCtrl.value)\r\n this.subscribedCtrl.enable();\r\n else {\r\n this.subscribedCtrl.setValue(false);\r\n this.subscribedCtrl.disable();\r\n }\r\n });\r\n }\r\n public get customerCareNumber(): string {\r\n return $global.customerCareCenter800Number ? $global.customerCareCenter800Number : this.appContext.customerCareNumber;\r\n }\r\n\r\n public get unmaskedCustomerCareNumber(): string {\r\n return this.customerCareNumber.replace(/[^a-zA-Z0-9 ]/g, \"\").replace(/\\s/g, '');\r\n }\r\n}\r\n","import { SharedModule } from '../../shared/shared.module';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { MassCommSubscriptionComponent } from './mass-comm/mass-comm-subscription.component';\r\nimport { CommunicationSubscriptionService } from './services/communication-preference.service';\r\nimport { PackageTrackingSubscriptionComponent } from './package-tracking/package-tracking-unsubscribe.component';\r\nimport { SmsSubscriptionComponent } from './sms/sms-subscription.component';\r\n\r\nimport { ReCaptchaModule } from 'angular2-recaptcha';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n ReCaptchaModule,\r\n RouterModule.forChild([{\r\n path: 'masscomm',\r\n component: MassCommSubscriptionComponent\r\n },\r\n {\r\n path: 'package-tracking',\r\n component: PackageTrackingSubscriptionComponent\r\n },\r\n {\r\n path: 'sms',\r\n component: SmsSubscriptionComponent\r\n }])\r\n ],\r\n declarations: [\r\n MassCommSubscriptionComponent,\r\n PackageTrackingSubscriptionComponent,\r\n SmsSubscriptionComponent\r\n ],\r\n providers: [\r\n CommunicationSubscriptionService\r\n ]\r\n})\r\nexport class CommunicationSubscriptionModule { }\r\n","module.exports = \".subscription-container {\\n display: flex;\\n margin: 0;\\n padding: 0;\\n position: fixed;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n background-image: url(data:image/gif;base64,R0lGODlhFACwAtUAAAB/rwB5pwBojwZTcgCLwACLwAB0nwNcfgBwmwCIvACNwgBmjQCFtwCPxQCBsgBtlgRZegB3pAFfggCHugCPxABslACDtACRyAB9rACNwghOagB7qQRXdwCKvgB1oQBliwCJvQCGuAdQbAdSbwFhhgCEtgdRbQVVdQBqkgCOwwCFtwB+rQBkiQB6qABumQCDtQBjiAFegANbfABihwCCswBynQB8qwZSbwdTcAdSbgCMwQCIuwCGuQCQxwdPaghOaSH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwMTQgNzkuMTU2Nzk3LCAyMDE0LzA4LzIwLTA5OjUzOjAyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5ODcyNDg4NzgyREMxMUU0ODU2NUIzQ0EyQUZBRkEzMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5ODcyNDg4ODgyREMxMUU0ODU2NUIzQ0EyQUZBRkEzMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NzI0ODg1ODJEQzExRTQ4NTY1QjNDQTJBRkFGQTMzIiBzdFJlZjpkb2N1bWVudElEPSJ4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);\\n background-position: left top;\\n background-repeat: repeat-x;\\n background-color: #0e4e68;\\n overflow-y: auto; }\\n .subscription-container .img-title {\\n margin-bottom: 50px; }\\n .subscription-container .container-top {\\n background-color: #FFFFFF;\\n background-image: url(data:image/gif;base64,R0lGODlhDwAHALMAAH/DjH7Ci3y/in7BioHFjn3Ain/Di4DEjIHFjYHGjoDEjYHHjwAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwMTQgNzkuMTU2Nzk3LCAyMDE0LzA4LzIwLTA5OjUzOjAyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGN0I4RTQ1NDgyRkIxMUU0ODU2NUIzQ0EyQUZBRkEzMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGN0I4RTQ1NTgyRkIxMUU0ODU2NUIzQ0EyQUZBRkEzMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkY3QjhFNDUyODJGQjExRTQ4NTY1QjNDQTJBRkFGQTMzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkY3QjhFNDUzODJGQjExRTQ4NTY1QjNDQTJBRkFGQTMzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAAAAAAAsAAAAAA8ABwAABDawqLWIQBQJQhUJB0UMU4IUWLIgBtAZ4aIY5Qq/8UEfKkKqioBCpSvwKpIeqpMYuBYJo0hCiQAAOw==);\\n background-position: left top;\\n background-repeat: repeat-x;\\n padding-top: 30px;\\n margin-top: 10px; }\\n .subscription-container .container-top .message-title {\\n color: #0076a2;\\n font-size: 20px;\\n font-weight: bold;\\n padding-left: 10%;\\n background-image: url(data:image/gif;base64,R0lGODlhGAAbANUAAO3373S/gnXAgsDlxnS+gZjUpL7jxa/et7/jxer17P///6/dt67ct6zZtbfhv93w4a7ctq7btt7w4dju3t7x4n7EjK3atYDGjN3v4fb694DFi8Hkx8Dkxvr8+tft3b/kxu/48azZtJPRnXvFirfgvv3+/b3ixMnozq7dt7riwsvo0XvIin7Diu338HXAg3bBg3fDhXbEhXXDhHjEhnfFhnbChHfFh3fGhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwMTQgNzkuMTU2Nzk3LCAyMDE0LzA4LzIwLTA5OjUzOjAyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowMTc4MDY3NTgyRkQxMUU0ODU2NUIzQ0EyQUZBRkEzMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowMTc4MDY3NjgyRkQxMUU0ODU2NUIzQ0EyQUZBRkEzMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkY3QjhFNDU2ODJGQjExRTQ4NTY1QjNDQTJBRkFGQTMzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAxNzgwNjc0ODJGRDExRTQ4NTY1QjNDQTJBRkFGQTMzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAAAAAAAsAAAAABgAGwAABv9AS+RwYDQgh4WRkYSEUMlII5VRzGqw2y2G1cJqsZvtOxPDXqLStrsO375umaxsq8kmttvMNcvHXmVvgFoyNTRaNRtuNASBMwSHWwF5by6UBi8yWjYuWTc0AnQzAYc2MZM3HFeaemwzL2GmsGIxfAN6clpcMAVtXmCENR95rzB+Lwm9XG5khAbGnwExxBXJWwKRMC6RBi6sNwKeNizWjI4EeQM0NTVa66w0GtZ7sTOhtzSFWjO5ehfWu3TVQHDoHTEsfkx4EMjsWalOeWi4mObgwcRjgRC8qEEJopgAJB58arSP1I0BdV5s2qjFAQZWNgQsCjADnwyVnwo5oLBqn6t7FwRzGsIlgVi/GDI8xTAgo1Smgi+gFfMDJg8CdpEy5eEEjYY0YqFs3KrhQsuNFzhveDMbbhOBGLfGlBVz0x07u/CAlqFxpuDNiPpwsZpxYo4YOwURf7JzUIaNFSAKRVJsI+rDri5GqFDQAgCAFqA9g+78OXTpFh0UKAgCADs=);\\n background-repeat: no-repeat;\\n margin-right: 20px; }\\n .subscription-container .container-top .message-title.success {\\n color: darkgray; }\\n .subscription-container .container-top .message-title.alternate {\\n color: black; }\\n .subscription-container .container-top .message {\\n padding-left: 10%;\\n padding-right: 15px;\\n margin-top: 20px; }\\n .subscription-container .container-top .message.success {\\n font-weight: bold; }\\n .subscription-container .container-top .resident-info {\\n font-weight: bold;\\n color: black; }\\n .subscription-container .container-top .button-container {\\n padding-left: 10%;\\n margin-top: 20px; }\\n .subscription-container .container-top .button-container .primary-fsr-button {\\n background-color: #0076a2;\\n width: auto; }\\n .subscription-container .container-top .button-container.mt-5 {\\n margin-top: 5px; }\\n .subscription-container .container-bottom {\\n height: 50px;\\n background-color: #FFFFFF;\\n background-image: url(data:image/gif;base64,R0lGODlhCgBOANUAAGaxfWm1f2WwfWi0f/v7+/r6+ufn5/f392eyffj4+Pn5+fX19fDw8PPz8/T09Pb29uvr62WwfOjo6PHx8e/v7+Pj4+3t7fz8/O7u7uTk5Orq6ubm5uHh4ezs7OLi4mi0fuXl5WSvfOnp6fLy8mm2gP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwMTQgNzkuMTU2Nzk3LCAyMDE0LzA4LzIwLTA5OjUzOjAyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowMTc4MDY3OTgyRkQxMUU0ODU2NUIzQ0EyQUZBRkEzMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowMTc4MDY3QTgyRkQxMUU0ODU2NUIzQ0EyQUZBRkEzMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjAxNzgwNjc3ODJGRDExRTQ4NTY1QjNDQTJBRkFGQTMzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAxNzgwNjc4ODJGRDExRTQ4NTY1QjNDQTJBRkFGQTMzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAAAAAAAsAAAAAAoATgAABpvAknBILBqPyKRyyWwiLxclQUpNTq3KQnabLCiU32QYmVCWk2fkQblOtpGPh3IxrycdSnyyoeTvlSMTSoJJDEqGhUoUikoYjUoWFkodShCVShqYSiJKEp1KBgagShukSiBKGalKFaxKHhxJAAIktQIAtSQBCBG1AbO5AwgCAyQDswEfugAAxcfMxSS3xQG3AgG1zNi6CCG+AL0kQQA7);\\n background-position: left bottom;\\n background-repeat: repeat-x; }\\n .subscription-container .privacy-policy {\\n text-align: center;\\n margin-top: 10px;\\n color: white; }\\n .subscription-container .privacy-policy a {\\n color: dodgerblue; }\\n .subscription-container .recaptcha-text {\\n color: white;\\n margin-top: 20px;\\n font-size: 12px;\\n text-align: center;\\n line-height: 1.6; }\\n .subscription-container .recaptcha-text a {\\n color: dodgerblue; }\\n .subscription-container .primary-fsr-button[disabled] {\\n background-color: #9b9b9b !important; }\\n .container-top .message {\\n margin-bottom: 0; }\\n .container-top .mat-icon {\\n cursor: pointer;\\n font-size: 20px;\\n padding-left: 2px;\\n color: #0076a2; }\\n .container-top .campaign-name {\\n font-size: 14px;\\n position: relative; }\\n .container-top .campaign-name .required-mark {\\n position: absolute;\\n left: -15px; }\\n .container-top .campaign-name .mat-icon {\\n position: absolute;\\n top: -2px;\\n right: -25px; }\\n .container-top .econsent {\\n margin-left: 10%; }\\n .container-top .econsent h4 {\\n display: flex;\\n align-items: center;\\n margin-bottom: 5px; }\\n .container-top .econsent .mat-radio-button {\\n display: block;\\n padding-top: 5px; }\\n .container-top .econsent .mat-radio-label {\\n display: inline; }\\n .container-top .econsent .timespan {\\n font-style: italic;\\n font-size: 11px;\\n padding-left: 25px;\\n margin-top: 5px; }\\n .container-top .preferences {\\n margin-left: 10%;\\n margin-bottom: 40px;\\n margin-top: 20px; }\\n .container-top .preferences ul {\\n list-style: none;\\n padding-left: 0; }\\n .container-top .preferences .disabled {\\n opacity: 0.5; }\\n .container-top .preferences .channel-title {\\n font-weight: bold; }\\n .container-top .preferences .preference-row li {\\n display: block; }\\n .container-top .preferences .preference-row .view-all-helper-text {\\n text-decoration: underline;\\n cursor: pointer; }\\n .container-top .preferences .preference-row .helper-text, .container-top .preferences .preference-row .view-all-helper-text {\\n font-size: 10px;\\n color: lightslategray; }\\n .container-top .preferences .preference-row .helper-text.p-l-25 {\\n padding-left: 25px; }\\n .container-top .preferences .preference-row .mat-checkbox {\\n padding-left: 6px; }\\n .container-top .preferences .legend {\\n font-size: 11px;\\n font-style: italic;\\n margin-top: 20px; }\\n .container-top .button-container {\\n padding-bottom: 5px; }\\n .mobile .subscription-container {\\n height: 100%; }\\n .mobile .subscription-container img {\\n margin-left: 5%; }\\n .mobile .subscription-container img.img-title {\\n margin-bottom: 20px !important;\\n width: 300px; }\\n .mobile .subscription-container .container-top {\\n max-height: none;\\n padding-bottom: 10px; }\\n .mobile .subscription-container .container-top .mat-icon {\\n font-size: 22px; }\\n .mobile .subscription-container .container-top .message {\\n padding: 15px;\\n text-align: justify;\\n margin-top: 20px; }\\n .mobile .subscription-container .container-top .econsent .mat-radio-label {\\n display: inline-flex;\\n white-space: normal; }\\n .mobile .subscription-container .container-top .econsent .mat-radio-label .mat-radio-container {\\n display: inline-block; }\\n .mobile .subscription-container .container-top .econsent .mat-radio-label .mat-radio-label-content {\\n display: inline-block;\\n font-size: 15px !important;\\n max-width: 305px;\\n padding-top: 10px; }\\n .mobile .subscription-container .container-top .preferences .channel-title {\\n font-weight: normal;\\n padding-bottom: 5px; }\\n .mobile .subscription-container .container-top .preferences .preference-row {\\n margin-bottom: 20px; }\\n .mobile .subscription-container .container-top .preferences .preference-row .campaign-name {\\n font-size: 16px; }\\n .mobile .subscription-container .container-top .preferences .preference-row .channels-row {\\n margin-top: 10px; }\\n .mobile .subscription-container .container-top .preferences .preference-row .channels-row .m-l-15 {\\n margin-left: 15px; }\\n .ie .subscription-container {\\n display: block; }\\n\"","module.exports = \"
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
Manage Your Electronic Communication Preferences
\\r\\n

\\r\\n Please review the electronic preferences for {{ resident?.firstName + ' ' + resident?.lastName }} ({{ displayEmail }}{{HaveSecondaryEmailValid ? ' and ' + displaySecondaryEmail : ''}}) below. To continue to receive the communications that you are interested in, please leave the topic checked and click Update Preferences.\\r\\n Alternatively, if you wish to opt out of a specific topic, you can do so by unchecking the topic and clicking Update Preferences. Your preferences will be updated immediately.\\r\\n

\\r\\n \\r\\n

\\r\\n Please review the electronic communication preferences for {{ resident?.firstName + ' ' + resident?.lastName }} ({{ displayEmail }}{{HaveSecondaryEmailValid ? ' and ' + displaySecondaryEmail : ''}}) below. To continue to receive the communications that you are interested in, please leave the topic checked and click Update Preferences.\\r\\n Alternatively, if you wish to opt out of electronic communications from the management team at {{ resident?.propertyName }} you can do so by unselecting the topics and click Update Preferences. Your preferences will be updated immediately.\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n

\\r\\n Electronic Consent Election:\\r\\n \\r\\n \\r\\n info\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n info\\r\\n \\r\\n \\r\\n

\\r\\n \\r\\n \\r\\n I give my consent to communicate electronically with me\\r\\n \\r\\n \\r\\n I decline electronic communications\\r\\n \\r\\n \\r\\n

\\r\\n {{ residentConsent.consented ? 'Accepted' : 'Declined' }} on {{ formatConsentDate() }}\\r\\n

\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n * \\r\\n {{ preference.campaignName }}\\r\\n \\r\\n info\\r\\n \\r\\n \\r\\n \\r\\n  \\r\\n this.helperTextLength; else helperText\\\">\\r\\n ({{ preference.helperText.substring(0, this.helperTextLength) + '...' }}\\r\\n view more)\\r\\n \\r\\n \\r\\n ({{ preference.helperText }})\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Email
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
SMS
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n * \\r\\n Required\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Email
\\r\\n
SMS
\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • \\r\\n \\r\\n * \\r\\n {{ preference.campaignName }}\\r\\n \\r\\n info\\r\\n \\r\\n \\r\\n \\r\\n  \\r\\n this.helperTextLength; else helperText\\\">\\r\\n ({{ preference.helperText.substring(0, this.helperTextLength) + '...' }}\\r\\n view more)\\r\\n \\r\\n \\r\\n ({{ preference.helperText }})\\r\\n \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n * \\r\\n Required\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
Manage Your Communication Preferences
\\r\\n

\\r\\n There is no contact information on file. To manage your communication preferences, \\r\\n please click here to log into your Community's Website \\r\\n or contact Customer Care at {{ customerCareNumber }}.\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
Your preferences have been successfully updated.
\\r\\n
\\r\\n Thank you.
\\r\\n Your Property Management Team
\\r\\n www.fsresidential.com\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Please review our Privacy Policy.
\\r\\n\\r\\n
\\r\\n This site is protected by reCaptcha and the Google
\\r\\n Privacy Policy and\\r\\n Terms of Service apply.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \".subscription-container {\\n display: flex;\\n margin: 0;\\n padding: 0;\\n position: fixed;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n background-image: url(data:image/gif;base64,R0lGODlhFACwAtUAAAB/rwB5pwBojwZTcgCLwACLwAB0nwNcfgBwmwCIvACNwgBmjQCFtwCPxQCBsgBtlgRZegB3pAFfggCHugCPxABslACDtACRyAB9rACNwghOagB7qQRXdwCKvgB1oQBliwCJvQCGuAdQbAdSbwFhhgCEtgdRbQVVdQBqkgCOwwCFtwB+rQBkiQB6qABumQCDtQBjiAFegANbfABihwCCswBynQB8qwZSbwdTcAdSbgCMwQCIuwCGuQCQxwdPaghOaSH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwMTQgNzkuMTU2Nzk3LCAyMDE0LzA4LzIwLTA5OjUzOjAyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5ODcyNDg4NzgyREMxMUU0ODU2NUIzQ0EyQUZBRkEzMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5ODcyNDg4ODgyREMxMUU0ODU2NUIzQ0EyQUZBRkEzMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NzI0ODg1ODJEQzExRTQ4NTY1QjNDQTJBRkFGQTMzIiBzdFJlZjpkb2N1bWVudElEPSJ4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);\\n background-position: left top;\\n background-repeat: repeat-x;\\n background-color: #0e4e68;\\n overflow-y: auto; }\\n .subscription-container .img-title {\\n margin-bottom: 50px; }\\n .subscription-container .container-top {\\n background-color: #FFFFFF;\\n background-image: url(data:image/gif;base64,R0lGODlhDwAHALMAAH/DjH7Ci3y/in7BioHFjn3Ain/Di4DEjIHFjYHGjoDEjYHHjwAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwMTQgNzkuMTU2Nzk3LCAyMDE0LzA4LzIwLTA5OjUzOjAyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGN0I4RTQ1NDgyRkIxMUU0ODU2NUIzQ0EyQUZBRkEzMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGN0I4RTQ1NTgyRkIxMUU0ODU2NUIzQ0EyQUZBRkEzMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkY3QjhFNDUyODJGQjExRTQ4NTY1QjNDQTJBRkFGQTMzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkY3QjhFNDUzODJGQjExRTQ4NTY1QjNDQTJBRkFGQTMzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAAAAAAAsAAAAAA8ABwAABDawqLWIQBQJQhUJB0UMU4IUWLIgBtAZ4aIY5Qq/8UEfKkKqioBCpSvwKpIeqpMYuBYJo0hCiQAAOw==);\\n background-position: left top;\\n background-repeat: repeat-x;\\n padding-top: 30px;\\n margin-top: 10px; }\\n .subscription-container .container-top .message-title {\\n color: #0076a2;\\n font-size: 20px;\\n font-weight: bold;\\n padding-left: 10%;\\n background-image: url(data:image/gif;base64,R0lGODlhGAAbANUAAO3373S/gnXAgsDlxnS+gZjUpL7jxa/et7/jxer17P///6/dt67ct6zZtbfhv93w4a7ctq7btt7w4dju3t7x4n7EjK3atYDGjN3v4fb694DFi8Hkx8Dkxvr8+tft3b/kxu/48azZtJPRnXvFirfgvv3+/b3ixMnozq7dt7riwsvo0XvIin7Diu338HXAg3bBg3fDhXbEhXXDhHjEhnfFhnbChHfFh3fGhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwMTQgNzkuMTU2Nzk3LCAyMDE0LzA4LzIwLTA5OjUzOjAyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowMTc4MDY3NTgyRkQxMUU0ODU2NUIzQ0EyQUZBRkEzMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowMTc4MDY3NjgyRkQxMUU0ODU2NUIzQ0EyQUZBRkEzMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkY3QjhFNDU2ODJGQjExRTQ4NTY1QjNDQTJBRkFGQTMzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAxNzgwNjc0ODJGRDExRTQ4NTY1QjNDQTJBRkFGQTMzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAAAAAAAsAAAAABgAGwAABv9AS+RwYDQgh4WRkYSEUMlII5VRzGqw2y2G1cJqsZvtOxPDXqLStrsO375umaxsq8kmttvMNcvHXmVvgFoyNTRaNRtuNASBMwSHWwF5by6UBi8yWjYuWTc0AnQzAYc2MZM3HFeaemwzL2GmsGIxfAN6clpcMAVtXmCENR95rzB+Lwm9XG5khAbGnwExxBXJWwKRMC6RBi6sNwKeNizWjI4EeQM0NTVa66w0GtZ7sTOhtzSFWjO5ehfWu3TVQHDoHTEsfkx4EMjsWalOeWi4mObgwcRjgRC8qEEJopgAJB58arSP1I0BdV5s2qjFAQZWNgQsCjADnwyVnwo5oLBqn6t7FwRzGsIlgVi/GDI8xTAgo1Smgi+gFfMDJg8CdpEy5eEEjYY0YqFs3KrhQsuNFzhveDMbbhOBGLfGlBVz0x07u/CAlqFxpuDNiPpwsZpxYo4YOwURf7JzUIaNFSAKRVJsI+rDri5GqFDQAgCAFqA9g+78OXTpFh0UKAgCADs=);\\n background-repeat: no-repeat;\\n margin-right: 20px; }\\n .subscription-container .container-top .message-title.success {\\n color: darkgray; }\\n .subscription-container .container-top .message-title.alternate {\\n color: black; }\\n .subscription-container .container-top .message {\\n padding-left: 10%;\\n padding-right: 15px;\\n margin-top: 20px; }\\n .subscription-container .container-top .message.success {\\n font-weight: bold; }\\n .subscription-container .container-top .resident-info {\\n font-weight: bold;\\n color: black; }\\n .subscription-container .container-top .button-container {\\n padding-left: 10%;\\n margin-top: 20px; }\\n .subscription-container .container-top .button-container .primary-fsr-button {\\n background-color: #0076a2;\\n width: auto; }\\n .subscription-container .container-top .button-container.mt-5 {\\n margin-top: 5px; }\\n .subscription-container .container-bottom {\\n height: 50px;\\n background-color: #FFFFFF;\\n background-image: url(data:image/gif;base64,R0lGODlhCgBOANUAAGaxfWm1f2WwfWi0f/v7+/r6+ufn5/f392eyffj4+Pn5+fX19fDw8PPz8/T09Pb29uvr62WwfOjo6PHx8e/v7+Pj4+3t7fz8/O7u7uTk5Orq6ubm5uHh4ezs7OLi4mi0fuXl5WSvfOnp6fLy8mm2gP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwMTQgNzkuMTU2Nzk3LCAyMDE0LzA4LzIwLTA5OjUzOjAyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowMTc4MDY3OTgyRkQxMUU0ODU2NUIzQ0EyQUZBRkEzMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowMTc4MDY3QTgyRkQxMUU0ODU2NUIzQ0EyQUZBRkEzMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjAxNzgwNjc3ODJGRDExRTQ4NTY1QjNDQTJBRkFGQTMzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAxNzgwNjc4ODJGRDExRTQ4NTY1QjNDQTJBRkFGQTMzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAAAAAAAsAAAAAAoATgAABpvAknBILBqPyKRyyWwiLxclQUpNTq3KQnabLCiU32QYmVCWk2fkQblOtpGPh3IxrycdSnyyoeTvlSMTSoJJDEqGhUoUikoYjUoWFkodShCVShqYSiJKEp1KBgagShukSiBKGalKFaxKHhxJAAIktQIAtSQBCBG1AbO5AwgCAyQDswEfugAAxcfMxSS3xQG3AgG1zNi6CCG+AL0kQQA7);\\n background-position: left bottom;\\n background-repeat: repeat-x; }\\n .subscription-container .privacy-policy {\\n text-align: center;\\n margin-top: 10px;\\n color: white; }\\n .subscription-container .privacy-policy a {\\n color: dodgerblue; }\\n .subscription-container .recaptcha-text {\\n color: white;\\n margin-top: 20px;\\n font-size: 12px;\\n text-align: center;\\n line-height: 1.6; }\\n .subscription-container .recaptcha-text a {\\n color: dodgerblue; }\\n .subscription-container .primary-fsr-button[disabled] {\\n background-color: #9b9b9b !important; }\\n\"","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { residentPortalRoutes } from '../../../residentportal.routes';\r\nimport { IResidentCampaignPreference, SaveResidentCampaignPreference, SaveResidentChannelPreference } from '../../../models';\r\n\r\n\r\n@Injectable()\r\nexport class CommunicationSubscriptionService {\r\n\r\n constructor(private _http: HttpClient) { }\r\n\r\n public saveMassCommPreferences(residentId: string, c4PropertyId: string, c4Uid: string, eConsentAccepted: boolean, preferences: IResidentCampaignPreference[], reCaptchaResponse: string): Observable {\r\n return this._http.post(`${residentPortalRoutes.COMMUNICATION_SUBSCRIPTION}/masscomm`, {\r\n residentId: residentId,\r\n c4PropertyId: c4PropertyId,\r\n c4Uid: c4Uid,\r\n eConsentAccepted: eConsentAccepted,\r\n campaignPreferences: this.getSavePreferences(preferences),\r\n reCaptchaResponse: reCaptchaResponse\r\n });\r\n }\r\n\r\n public unsubscribeToPackageTrackingEmails(residentId: string, c4Uid: string, reCaptchaResponse: string): Observable {\r\n return this._http.post(`${residentPortalRoutes.COMMUNICATION_SUBSCRIPTION}/package-tracking`, {\r\n residentId: residentId,\r\n c4Uid: c4Uid,\r\n reCaptchaResponse: reCaptchaResponse\r\n });\r\n }\r\n\r\n public saveSmsSubscriptionPreference(residentId: string, c4Uid: string, phoneNumber: string, subscribe: boolean, reCaptchaResponse: string): Observable {\r\n return this._http.post(`${residentPortalRoutes.COMMUNICATION_SUBSCRIPTION}/sms`, {\r\n residentId: residentId,\r\n c4Uid: c4Uid,\r\n subscribe: subscribe,\r\n phoneNumber: phoneNumber,\r\n reCaptchaResponse: reCaptchaResponse\r\n });\r\n }\r\n\r\n private getSavePreferences(campaignPreferences: IResidentCampaignPreference[]): SaveResidentCampaignPreference[] {\r\n let result: SaveResidentCampaignPreference[] = [];\r\n \r\n campaignPreferences.forEach(x => {\r\n\r\n let campaignPreference = new SaveResidentCampaignPreference();\r\n campaignPreference.campaignId = x.campaignId;\r\n\r\n x.channelsPreferences.forEach(channelPreference => {\r\n if (!channelPreference.disabled()) {\r\n const savePreference = new SaveResidentChannelPreference();\r\n savePreference.channel = channelPreference.channel;\r\n savePreference.isOptedIn = !!channelPreference.isResidentPreferenceOptedIn;\r\n campaignPreference.channelPreferences.push(savePreference);\r\n }\r\n });\r\n\r\n if (campaignPreference.channelPreferences.length)\r\n result.push(campaignPreference);\r\n });\r\n\r\n return result;\r\n } \r\n}\r\n"],"sourceRoot":""}