{"version":3,"sources":["webpack:///./src/views/Unsubscribe.vue?4729","webpack:///./src/views/Unsubscribe.vue","webpack:///./src/views/Unsubscribe.vue?26d0","webpack:///./src/views/Unsubscribe.vue?299e","webpack:///./node_modules/client-website-ts-library/plugins/view/index.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","_v","_s","email","on","optOut","_e","staticRenderFns","loading","invalid","error","optedOut","contactId","$route","query","ContactId","userId","UserId","length","CRM","GetOptoutStatus","then","status","Email","OptedOut","catch","OptOut","data","components","Loader","component","prolistAnalyticsService","ServiceManager","Get","Analytics","headService","Require","Head","evt","obj","getAnalyticsEvent","call","getAnalyticsData","path","name","undefined","triggerAnalyticsEvent","event","GetAll","forEach","adapter","Record","result","head","bind","Promise","meta","Update","UpdateWithStatic","requestAnimationFrame","updateHead","updateAnalytics","$on"],"mappings":"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","file":"js/chunk-77563f5d.33efaf38.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Page',[_c('SiteMasthead',{attrs:{\"mini\":\"true\",\"title\":\"Opt Out\"}}),_c('ContentRow',[_c('ContentContainer',[_c('div',{staticClass:\"center-text static-content\"},[(_vm.loading)?[_c('Loader',{attrs:{\"loading\":\"true\"}})]:(_vm.error)?[_c('p',[_vm._v(\" There was an error processing your request. Please contact us to opt out, or try again later. \")])]:(_vm.email)?[(_vm.optedOut)?_c('p',[_vm._v(\" Your email \"+_vm._s(_vm.email)+\" has been unsubscribed. \")]):[_c('p',[_vm._v(\" Please confirm that you wish to unsubscribe \"+_vm._s(_vm.email)+\". \")]),_c('br'),_c('Button',{on:{\"click\":_vm.optOut}},[_vm._v(\"Confirm\")])]]:_vm._e()],2)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\n\r\nimport Loader from '@/components/UI/Loader.vue';\r\nimport { API } from 'client-website-ts-library/services';\r\nimport { View } from 'client-website-ts-library/plugins';\r\n\r\n@Component({\r\n components: {\r\n Loader,\r\n },\r\n})\r\nexport default class Unsubscribe extends Mixins(View) {\r\n private loading = true;\r\n\r\n private invalid = false;\r\n\r\n private error = false;\r\n\r\n private email: string | null = null;\r\n\r\n private optedOut = false;\r\n\r\n mounted() {\r\n const contactId = this.$route.query?.ContactId;\r\n const userId = this.$route.query?.UserId;\r\n\r\n if (contactId && contactId.length && userId && userId.length && typeof contactId === 'string' && typeof userId === 'string') {\r\n API.CRM.GetOptoutStatus(contactId, userId).then((status) => {\r\n this.email = status.Email;\r\n this.optedOut = status.OptedOut;\r\n this.loading = false;\r\n }).catch(() => {\r\n this.error = true;\r\n this.loading = false;\r\n });\r\n } else {\r\n this.invalid = true;\r\n this.loading = false;\r\n }\r\n }\r\n\r\n optOut() {\r\n const contactId = this.$route.query?.ContactId;\r\n const userId = this.$route.query?.UserId;\r\n\r\n this.loading = true;\r\n\r\n if (contactId && contactId.length && userId && userId.length && typeof contactId === 'string' && typeof userId === 'string') {\r\n API.CRM.OptOut(contactId, userId).then((data) => {\r\n this.loading = false;\r\n\r\n this.optedOut = data.OptedOut;\r\n }).catch(() => {\r\n this.loading = false;\r\n this.error = true;\r\n });\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Unsubscribe.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Unsubscribe.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Unsubscribe.vue?vue&type=template&id=41b2b334&\"\nimport script from \"./Unsubscribe.vue?vue&type=script&lang=ts&\"\nexport * from \"./Unsubscribe.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport { Component } from \"vue-property-decorator\";\r\nimport { AnalyticsEvent, AnalyticsEventObject, AnalyticsPageView, IAnalyticsAdapter, PROListAnalyticsAdapter } from \"../../services/Analytics\";\r\nimport { HeadService } from \"../../services/HeadService\";\r\nimport { ServiceManager, ServiceType } from \"../../services/ServiceManager\";\r\nimport { RouteMeta } from \"../meta\";\r\n\r\ninterface ViewBase {\r\n getAnalyticsEvent?(): AnalyticsEvent | null;\r\n getAnalyticsData?(): AnalyticsEventObject | null;\r\n head?(): RouteMeta | Promise | null;\r\n}\r\n\r\n@Component\r\nclass ViewBase extends Vue {\r\n protected prolistAnalyticsService = ServiceManager.Get(ServiceType.Analytics, 'PROListAnalyticsAdapter');\r\n protected headService = ServiceManager.Require(ServiceType.Head)!;\r\n\r\n public updateAnalytics() {\r\n let evt: AnalyticsEvent | null = null;\r\n let obj: AnalyticsEventObject | null = null;\r\n\r\n if (typeof this.getAnalyticsEvent !== 'undefined') {\r\n evt = this.getAnalyticsEvent.call(this);\r\n } else if(typeof this.getAnalyticsData !== 'undefined') {\r\n obj = this.getAnalyticsData.call(this);\r\n }\r\n\r\n if (evt === null) evt = new AnalyticsPageView(this.$route.path, this.$route.name || '', obj || undefined);\r\n\r\n this.triggerAnalyticsEvent(evt);\r\n }\r\n\r\n public triggerAnalyticsEvent(event: AnalyticsEvent) {\r\n ServiceManager.GetAll(ServiceType.Analytics).forEach((adapter) => {\r\n adapter.Record(event);\r\n });\r\n }\r\n\r\n public triggerCustomAnalyticsEvent(event: AnalyticsEvent) {\r\n if (this.prolistAnalyticsService !== null) this.prolistAnalyticsService.Record(event);\r\n }\r\n\r\n protected updateHead() {\r\n if ('head' in this) {\r\n const result = this.head!.bind(this)();\r\n\r\n if(result instanceof Promise) {\r\n result.then((meta: RouteMeta | null) => {\r\n this.headService.Update(meta);\r\n });\r\n } else {\r\n this.headService.Update(result as RouteMeta | null);\r\n }\r\n } else {\r\n this.headService.UpdateWithStatic(this.$route.path);\r\n }\r\n }\r\n}\r\n\r\n@Component\r\nclass View extends ViewBase {\r\n public mounted() {\r\n requestAnimationFrame(() => {\r\n this.updateHead();\r\n this.updateAnalytics();\r\n });\r\n }\r\n}\r\n\r\n@Component\r\nclass AsyncView extends ViewBase {\r\n public mounted() {\r\n this.$on('updateView', () => {\r\n requestAnimationFrame(() => {\r\n this.updateHead();\r\n this.updateAnalytics();\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport {\r\n View,\r\n AsyncView\r\n}\r\n"],"sourceRoot":""}