{"version":3,"file":"js/150.292a74edd48ae1d7995c.script.js","mappings":"qLAYA,SACIA,KAAM,aACNC,KAAI,KACO,CACHC,UAAW,wBACXC,gBAAgB,EAChBC,qBAAqB,EACrBC,WAAY,GACZC,gBAAgB,IAIxB,OAAAC,GACI,MAAMC,EAAMC,KAAKC,MAAMC,MAAMC,kBAEzBJ,IACAC,KAAKJ,WAAaG,EAAIK,QAAQC,WAC9BN,EAAIO,iBACA,QACA,KACIC,EAAA,EAASC,MACL,0BACA,qBACA,eACAR,KAAKJ,WACL,CACIa,KAAM,WAGdT,KAAKL,qBAAsB,CAAI,GAEnC,CACIe,MAAM,IA2BtB,EAEAC,SAAU,OAAF,yBACD,QAAW,CACVC,KAAM,aACNH,KAAM,gBACR,CAEF,yBAAAI,GACI,OAAOb,KAAKY,MAAQZ,KAAKS,OAAST,KAAKP,SAC3C,IAGJqB,QAAS,OAAF,yBACA,QAAW,CACVC,UAAW,gBACb,CAEF,UAAAC,GACI,MAAMjB,EAAMC,KAAKC,MAAMC,MAAMC,kBACxBJ,IAEDA,EAAIkB,QACJlB,EAAImB,OACJlB,KAAKN,gBAAiB,IAEtBK,EAAIoB,QACJnB,KAAKN,gBAAiB,GAGrBM,KAAKH,iBACNG,KAAKH,gBAAiB,EAEtBU,EAAA,EAASC,MACL,0BACA,qBACA,cACAR,KAAKJ,WACL,CACIa,KAAM,YAItB,EAOA,WAAAW,CAAYC,EAAuBC,GAC9BtB,KAAKC,MAAMC,MAAMqB,gBAAwBX,KACtCS,EACAC,EAER,EAOA,sBAAAE,CAAuBC,GAClBzB,KAAKC,MAAMC,MAAMwB,2BAAmCd,KAAKa,EAC9D,EAEA,yBAAAE,GACI3B,KAAKe,UAAUf,KAAKP,UACxB,KCpIR,GAFiC,E,QAAA,GAAgB,EAAQ,CAAC,CAAC,SCHpD,SAAgBmC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAO,gBAAYL,EAAKM,OAAQ,UAAW,CACzCd,YAAaa,EAASb,YACtBI,uBAAwBS,EAAST,uBACjCG,0BAA2BM,EAASN,0BACpCd,0BAA2BoB,EAASpB,0BACpCG,WAAYiB,EAASjB,WACrBtB,eAAgBsC,EAAMtC,eACtBC,oBAAqBqC,EAAMrC,qBAE/B,I","sources":["webpack://danbolig.frontend/./js/components/templates/Property.vue?b793","webpack://danbolig.frontend/./js/components/templates/Property.vue","webpack://danbolig.frontend/./js/components/templates/Property.vue?00df"],"sourcesContent":["\nimport { mapActions, mapGetters } from 'vuex';\nimport tracking from '@/functions/tracking';\n\ninterface Data {\n modalName: string;\n isPlayingVideo: boolean;\n showPlayPauseButton: boolean;\n propertyId: string;\n togglePlayUsed: boolean;\n}\n\nexport default {\n name: 't-property',\n data(): Data {\n return {\n modalName: 'comingSoonInfoCurtain',\n isPlayingVideo: true,\n showPlayPauseButton: false,\n propertyId: '',\n togglePlayUsed: false,\n };\n },\n\n mounted(): void {\n const vid = this.$root.$refs.propertyHeroVideo as HTMLVideoElement;\n\n if (vid) {\n this.propertyId = vid.dataset.propertyid;\n vid.addEventListener(\n 'play',\n () => {\n tracking.track(\n 'trackBoligpraesentation',\n 'Boligpraesentation',\n 'Video synlig',\n this.propertyId,\n {\n type: 'Mosaik',\n },\n );\n this.showPlayPauseButton = true;\n },\n {\n once: true,\n },\n );\n\n // Ended event is not fired on looped videos\n // Therefore we need to listen for the ended\n // event and set the loop property of the video manually\n // vid.addEventListener(\n // 'ended',\n // () => {\n // tracking.track(\n // 'trackBoligpraesentation',\n // 'Boligpraesentation',\n // 'Video slut',\n // this.propertyId,\n // {\n // type: 'Mosaik',\n // },\n // );\n // vid.setAttribute('loop', '');\n // vid.play();\n // },\n // {\n // once: true,\n // },\n // );\n }\n },\n\n computed: {\n ...mapGetters({\n show: 'modal/show',\n type: 'modal/type',\n }),\n\n showComingSoonInfoCurtain(): boolean {\n return this.show && this.type === this.modalName;\n },\n },\n\n methods: {\n ...mapActions({\n openModal: 'modal/open',\n }),\n\n togglePlay(): void {\n const vid = this.$root.$refs.propertyHeroVideo as HTMLVideoElement;\n if (!vid) return;\n\n if (vid.paused) {\n vid.play();\n this.isPlayingVideo = true;\n } else {\n vid.pause();\n this.isPlayingVideo = false;\n }\n\n if (!this.togglePlayUsed) {\n this.togglePlayUsed = true;\n\n tracking.track(\n 'trackBoligpraesentation',\n 'Boligpraesentation',\n 'Video pause',\n this.propertyId,\n {\n type: 'Mosaik',\n },\n );\n }\n },\n\n /**\n * Open property gallery with galleryItemId and galleryMediaType.\n *\n * @return {void}\n */\n openGallery(galleryItemId: string, mediaType: string): void {\n (this.$root.$refs.propertyGallery as any).show(\n galleryItemId,\n mediaType,\n );\n },\n\n /**\n * Open property interactive gallery with index.\n *\n * @return {void}\n */\n openInteractiveGallery(value: string): void {\n (this.$root.$refs.propertyInteractiveGallery as any).show(value);\n },\n\n openComingSoonInfoCurtain(): void {\n this.openModal(this.modalName);\n },\n },\n};\n","import { render } from \"./Property.vue?vue&type=template&id=6098e7e2&ts=true\"\nimport script from \"./Property.vue?vue&type=script&lang=ts\"\nexport * from \"./Property.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderSlot as _renderSlot } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return _renderSlot(_ctx.$slots, \"default\", {\n openGallery: $options.openGallery,\n openInteractiveGallery: $options.openInteractiveGallery,\n openComingSoonInfoCurtain: $options.openComingSoonInfoCurtain,\n showComingSoonInfoCurtain: $options.showComingSoonInfoCurtain,\n togglePlay: $options.togglePlay,\n isPlayingVideo: $data.isPlayingVideo,\n showPlayPauseButton: $data.showPlayPauseButton\n })\n}"],"names":["name","data","modalName","isPlayingVideo","showPlayPauseButton","propertyId","togglePlayUsed","mounted","vid","this","$root","$refs","propertyHeroVideo","dataset","propertyid","addEventListener","tracking","track","type","once","computed","show","showComingSoonInfoCurtain","methods","openModal","togglePlay","paused","play","pause","openGallery","galleryItemId","mediaType","propertyGallery","openInteractiveGallery","value","propertyInteractiveGallery","openComingSoonInfoCurtain","_ctx","_cache","$props","$setup","$data","$options","$slots"],"sourceRoot":""}