{"version":3,"sources":["webpack:///./src/views/ContactUs.vue?fdb4","webpack:///./node_modules/client-website-ts-library/plugins/view/index.ts","webpack:///./src/views/ContactUs.vue","webpack:///./src/views/ContactUs.vue?9c0b","webpack:///./src/views/ContactUs.vue?fc97","webpack:///./src/views/ContactUs.vue?85eb"],"names":["ViewBase","Vue","constructor","prolistAnalyticsService","ServiceManager","Get","ServiceType","Analytics","headService","Require","Head","updateAnalytics","evt","obj","this","getAnalyticsEvent","call","getAnalyticsData","AnalyticsPageView","$route","path","name","undefined","triggerAnalyticsEvent","event","GetAll","forEach","adapter","Record","triggerCustomAnalyticsEvent","updateHead","result","head","bind","Promise","then","meta","Update","UpdateWithStatic","__decorate","Component","View","mounted","requestAnimationFrame","AsyncView","$on","render","_vm","_c","_self","_setupProxy","attrs","_v","staticClass","mapSettings","staticStyle","_e","staticRenderFns","ContactUs","Mixins","office","API","Profiles","Config","Website","Settings","WebsiteId","profile","Office","MapSettings","Markers","MapMarker","Address","AddressLine1","AddressLine2","Title","FranchiseName","Coordinate","Lat","Lon","console","debug","components","Map","Form","component"],"mappings":"gHAAA,W,ihBCcA,IAAMA,EAAN,cAAuBC,aAAvBC,c,oBACY,KAAAC,wBAA0BC,OAAeC,IAA6BC,OAAYC,UAAW,2BAC7F,KAAAC,YAAcJ,OAAeK,QAAqBH,OAAYI,MAEjEC,kBACL,IAAIC,EAA6B,KAC7BC,EAAmC,KAED,qBAA3BC,KAAKC,kBACdH,EAAME,KAAKC,kBAAkBC,KAAKF,MACO,qBAA1BA,KAAKG,mBACpBJ,EAAMC,KAAKG,iBAAiBD,KAAKF,OAGvB,OAARF,IAAcA,EAAM,IAAIM,OAAkBJ,KAAKK,OAAOC,KAAMN,KAAKK,OAAOE,MAAQ,GAAIR,QAAOS,IAE/FR,KAAKS,sBAAsBX,GAGtBW,sBAAsBC,GAC3BpB,OAAeqB,OAA0BnB,OAAYC,WAAWmB,QAASC,IACvEA,EAAQC,OAAOJ,KAIZK,4BAA4BL,GACI,OAAjCV,KAAKX,yBAAkCW,KAAKX,wBAAwByB,OAAOJ,GAGvEM,aACR,GAAI,SAAUhB,KAAM,CAClB,MAAMiB,EAASjB,KAAKkB,KAAMC,KAAKnB,KAAhBA,GAEZiB,aAAkBG,QACnBH,EAAOI,KAAMC,IACXtB,KAAKN,YAAY6B,OAAOD,KAG1BtB,KAAKN,YAAY6B,OAAON,QAG1BjB,KAAKN,YAAY8B,iBAAiBxB,KAAKK,OAAOC,QAzC9CpB,EAAQuC,EAAA,CADbC,QACKxC,GA+CN,IAAMyC,EAAN,cAAmBzC,EACV0C,UACLC,sBAAsB,KACpB7B,KAAKgB,aACLhB,KAAKH,sBAJL8B,EAAIF,EAAA,CADTC,QACKC,GAUN,IAAMG,EAAN,cAAwB5C,EACf0C,UACL5B,KAAK+B,IAAI,aAAc,KACrBF,sBAAsB,KACpB7B,KAAKgB,aACLhB,KAAKH,wBALPiC,EAASL,EAAA,CADdC,QACKI,I,yCCvEN,IAAIE,EAAS,WAAkB,IAAIC,EAAIjC,KAAKkC,EAAGD,EAAIE,MAAMD,GAAUD,EAAIE,MAAMC,YAAY,OAAOF,EAAG,OAAO,CAACA,EAAG,eAAe,CAACG,MAAM,CAAC,MAAO,EAAK,MAAQ,aAAaH,EAAG,aAAa,CAACA,EAAG,eAAe,CAACD,EAAIK,GAAG,kBAAkBJ,EAAG,mBAAmB,CAACK,YAAY,6BAA6B,CAACL,EAAG,OAAO,CAACG,MAAM,CAAC,KAAO,iCAAiC,IAAI,GAAIJ,EAAIO,YAAaN,EAAG,aAAa,CAACA,EAAG,MAAM,CAACO,YAAY,CAAC,aAAa,SAASJ,MAAM,CAAC,SAAWJ,EAAIO,gBAAgB,GAAGP,EAAIS,MAAM,IAEpeC,EAAkB,G,oFCYtB,IAAqBC,EAArB,cAAuCC,eAAOlB,SAA9CvC,c,oBACU,KAAA0D,OAAwB,KAExB,KAAAN,YAAkC,KAE1CZ,UACEmB,OAAIC,SAASzD,IAAI0D,OAAOC,QAAQC,SAAUC,WAAW,GAAM/B,KAAMgC,IAC/DrD,KAAK8C,OAASO,EAAQC,OAEtBtD,KAAKwC,YAAc,IAAIe,OAAY,CACjCC,QAAS,CACP,IAAIC,OAAU,CACZC,QAAS,GAAG1D,KAAK8C,OAAOa,gBAAgB3D,KAAK8C,OAAOc,eACpDC,MAAO7D,KAAK8C,OAAOgB,cACnBC,WAAY,CACVC,KAAM,WACNC,IAAK,kBAMbC,QAAQC,MAAMnE,KAAKwC,iBAtBJI,EAASnB,wBAAA,CAN7BC,eAAU,CACT0C,WAAY,CACVC,WACAC,gBAGiB1B,WCd8W,I,wBCQ/X2B,EAAY,eACd,EACAvC,EACAW,GACA,EACA,KACA,WACA,MAIa,aAAA4B,E","file":"js/chunk-6df059aa.02fc5552.js","sourcesContent":["export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactUs.vue?vue&type=style&index=0&id=a76137f8&prod&scoped=true&lang=css\"","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","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('Page',[_c('SiteMasthead',{attrs:{\"mini\":true,\"title\":\"Contact\"}}),_c('ContentRow',[_c('SectionTitle',[_vm._v(\"Get In Touch\")]),_c('ContentContainer',{staticClass:\"content-container--narrow\"},[_c('Form',{attrs:{\"type\":\"Generic.WebsiteContactForm\"}})],1)],1),(_vm.mapSettings)?_c('Deferrable',[_c('Map',{staticStyle:{\"max-height\":\"500px\"},attrs:{\"settings\":_vm.mapSettings}})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\nimport { Office, MapSettings, MapMarker } from 'client-website-ts-library/types';\r\nimport { API, Config } from 'client-website-ts-library/services';\r\nimport { Map } from 'client-website-ts-library/components';\r\nimport { View } from 'client-website-ts-library/plugins';\r\nimport Form from '@/components/Forms/Form.vue';\r\n\r\n@Component({\r\n components: {\r\n Map,\r\n Form,\r\n },\r\n})\r\nexport default class ContactUs extends Mixins(View) {\r\n private office: Office | null = null;\r\n\r\n private mapSettings: MapSettings | null = null;\r\n\r\n mounted() {\r\n API.Profiles.Get(Config.Website.Settings!.WebsiteId, true).then((profile) => {\r\n this.office = profile.Office;\r\n\r\n this.mapSettings = new MapSettings({\r\n Markers: [\r\n new MapMarker({\r\n Address: `${this.office.AddressLine1} ${this.office.AddressLine2}`,\r\n Title: this.office.FranchiseName,\r\n Coordinate: {\r\n Lat: -16.8962074,\r\n Lon: 145.6995042,\r\n },\r\n }),\r\n ],\r\n });\r\n\r\n console.debug(this.mapSettings);\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactUs.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactUs.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ContactUs.vue?vue&type=template&id=a76137f8&scoped=true\"\nimport script from \"./ContactUs.vue?vue&type=script&lang=ts\"\nexport * from \"./ContactUs.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ContactUs.vue?vue&type=style&index=0&id=a76137f8&prod&scoped=true&lang=css\"\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 \"a76137f8\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}