{"version":3,"sources":["webpack:///./src/views/TVDisplaySales.vue?53f9","webpack:///./src/views/TVDisplaySales.vue?90c1","webpack:///./src/views/TVDisplaySales.vue","webpack:///./src/views/TVDisplaySales.vue?abd4","webpack:///./src/views/TVDisplaySales.vue?fa78","webpack:///./node_modules/client-website-ts-library/plugins/view/index.ts","webpack:///./src/views/TVDisplaySales.vue?6c42"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","on","$event","fullScreen","_v","_s","methodOfSale","_e","handleAfterLeave","style","dwellTime","listing","Images","length","Preview","Url","Address","MicroAddress","HiddenAddress","Header","Price","Introduction","Features","Bedrooms","Bathrooms","Parking","Total","Agents","FullName","MobilePhone","Photo","staticRenderFns","maxListings","listingFilter","Statuses","Current","UnderContract","Categories","ResidentialSale","ResidentialLand","PageSize","IsHighlightListing","isFullScreen","listings","currentIdx","window","location","hostname","PropertyId","API","Base","Id","Website","MethodOfSale","indexOf","document","documentElement","requestFullscreen","exitFullscreen","clearTimeout","nextTimeout","setTimeout","updateListings","then","console","log","queueNext","Promise","resolve","Listings","Search","Items","catch","component","prolistAnalyticsService","ServiceManager","Get","Analytics","headService","Require","Head","evt","obj","getAnalyticsEvent","call","getAnalyticsData","$route","path","name","undefined","triggerAnalyticsEvent","event","GetAll","forEach","adapter","Record","result","head","bind","meta","Update","UpdateWithStatic","View","requestAnimationFrame","updateHead","updateAnalytics","AsyncView","$on"],"mappings":"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","file":"js/chunk-530dd8f2.51e1d283.js","sourcesContent":["export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TVDisplaySales.vue?vue&type=style&index=0&id=a3291f4e&prod&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tv-display\"},[_c('div',{staticClass:\"tv-display__header\"},[_c('div',{staticClass:\"tv-display__header__brand\"},[_c('img',{attrs:{\"src\":\"/assets/images/brand/logo.png\"},on:{\"click\":function($event){return _vm.fullScreen()}}})]),_c('div',{staticClass:\"tv-display__header__mos\"},[_c('transition',{attrs:{\"name\":\"tvd-fade\"}},[(_vm.listing)?_c('span',[_vm._v(\" \"+_vm._s(_vm.methodOfSale)+\" \")]):_vm._e()])],1)]),_c('div',{staticClass:\"tv-display__content\"},[_c('transition',{attrs:{\"name\":\"tvd-fade\"},on:{\"after-leave\":_vm.handleAfterLeave}},[(_vm.listing)?_c('div',{staticClass:\"tvd-listing\"},[_c('div',{staticClass:\"tvd-progress-bar\",style:({'--dwell-time': _vm.dwellTime})}),_c('div',{staticClass:\"tvd-listing__body\"},[_c('div',{staticClass:\"tvd-listing__images\"},[(_vm.listing.Images.length === 0)?[_c('div',{staticClass:\"tvd-listing__images__item tvd-listing__images__item--placeholder\"},[_vm._v(\" Sorry, there are no photos for this listing yet. \")])]:(_vm.listing.Images.length < 3)?[_c('div',{staticClass:\"tvd-listing__images__item tvd-listing__images__item--only-main\",style:({'background-image': 'url(' + _vm.listing.Images[0].Preview.Url + ')'})})]:[_c('div',{staticClass:\"tvd-listing__images__item tvd-listing__images__item--main\",style:({'background-image': 'url(' + _vm.listing.Images[0].Preview.Url + ')'})}),_c('div',{staticClass:\"tvd-listing-images__row\"},[_c('div',{staticClass:\"tvd-listing__images__item tvd-listing__images__item--sub\",style:({'background-image': 'url(' + _vm.listing.Images[1].Preview.Url + ')'})}),_c('div',{staticClass:\"tvd-listing__images__item tvd-listing__images__item--sub\",style:({'background-image': 'url(' + _vm.listing.Images[2].Preview.Url + ')'})})])]],2),_c('div',{staticClass:\"tvd-listing__details\"},[_c('div',{staticClass:\"tvd-listing-details__heading\"},[_c('div',{staticClass:\"tvd-listing-details__heading__details\"},[_c('h4',{staticClass:\"listing-address\"},[_vm._v(_vm._s(_vm.listing.Address.MicroAddress))]),_c('h5',{staticClass:\"listing-suburb\"},[_vm._v(_vm._s(_vm.listing.Address.HiddenAddress))])])]),_c('div',{staticClass:\"tvd-listing__details__body\"},[_c('h2',{staticClass:\"listing-heading\"},[_vm._v(_vm._s(_vm.listing.Header))]),(_vm.listing.Price.DisplayPrice)?_c('h3',{staticClass:\"listing-price\"},[_vm._v(_vm._s(_vm.listing.Price.Price))]):_vm._e(),_c('p',{staticClass:\"listing-introduction\"},[_vm._v(_vm._s(_vm.listing.Introduction))]),_c('ul',{staticClass:\"listing-meta\"},[(_vm.listing.Features.Bedrooms)?_c('li',{staticClass:\"listing-meta__item\"},[_c('Icon',{staticClass:\"listing-meta__item__icon\",attrs:{\"icon\":\"bed\"}}),_c('span',{staticClass:\"listing-meta__item__label\"},[_vm._v(\" \"+_vm._s(_vm.listing.Features.Bedrooms)+\" \")])],1):_vm._e(),(_vm.listing.Features.Bathrooms)?_c('li',{staticClass:\"listing-meta__item\"},[_c('Icon',{staticClass:\"listing-meta__item__icon\",attrs:{\"icon\":\"bath\"}}),_c('span',{staticClass:\"listing-meta__item__label\"},[_vm._v(\" \"+_vm._s(_vm.listing.Features.Bathrooms)+\" \")])],1):_vm._e(),(_vm.listing.Features.Parking.Total)?_c('li',{staticClass:\"listing-meta__item\"},[_c('Icon',{staticClass:\"listing-meta__item__icon\",attrs:{\"icon\":\"car\"}}),_c('span',{staticClass:\"listing-meta__item__label\"},[_vm._v(\" \"+_vm._s(_vm.listing.Features.Parking.Total)+\" \")])],1):_vm._e()])])])]),_c('div',{staticClass:\"tvd-listing__footer\"},[_c('div',{staticClass:\"tvd-listing__agency\"},[_vm._v(\" 1/5 / 20 Lake Street, Cairns | 4031 3138 | tspropertygroup.com.au \")]),_c('div',{staticClass:\"tvd-listing__agent\"},[_c('div',{staticClass:\"listing-agent__name\"},[_vm._v(\" \"+_vm._s(_vm.listing.Agents[0].FullName)+\" \")]),_c('div',{staticClass:\"listing-agent__phone\"},[_vm._v(\" \"+_vm._s(_vm.listing.Agents[0].MobilePhone)+\" \")])]),_c('div',{staticClass:\"tvd-listing-agent-photo\"},[_c('img',{attrs:{\"src\":_vm.listing.Agents[0].Photo.Preview.Url}})])])]):_vm._e()])],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\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\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\n\n\n\n\n\n\n\n\nimport { Component, Mixins } from 'vue-property-decorator';\n\nimport { ListingFilter } from 'client-website-ts-library/filters';\nimport {\n ListingStatus,\n ListingCategory,\n Listing,\n} from 'client-website-ts-library/types';\n\nimport { View } from 'client-website-ts-library/plugins';\nimport { API, Config } from 'client-website-ts-library/services';\n\n@Component\nexport default class TVDisplaySales extends Mixins(View) {\n private dwellTime = 10 * 1000 * 1;\n\n private maxListings = 20;\n\n private listingFilter = new ListingFilter({\n Statuses: [\n ListingStatus.Current,\n ListingStatus.UnderContract,\n ],\n Categories: [\n ListingCategory.ResidentialSale,\n ListingCategory.ResidentialLand,\n ],\n PageSize: this.maxListings,\n IsHighlightListing: true,\n });\n\n private isFullScreen = false;\n\n private listings: Listing[] = [];\n\n private listing: Listing | null = null;\n\n private nextTimeout?: number;\n\n private currentIdx = 0;\n\n get listingLink() {\n if (this.listing === null) return '';\n\n return `${window.location.hostname}/${this.listing.PropertyId}`;\n }\n\n get qrCodeLink() {\n if (this.listing === null) return null;\n\n return `${Config.API.Base}/api/links/qrcode/listings/${this.listing.Id}?clientWebsiteId=${Config.Website.Id}`;\n }\n\n get methodOfSale() {\n if (this.listing === null) return 'For Sale';\n\n if (this.listing.MethodOfSale.indexOf('For') !== -1) return this.listing.MethodOfSale;\n\n return `For ${this.listing.MethodOfSale}`;\n }\n\n fullScreen() {\n this.isFullScreen = !this.isFullScreen;\n\n if (this.isFullScreen) {\n document.documentElement.requestFullscreen();\n } else {\n document.exitFullscreen();\n }\n }\n\n queueNext() {\n clearTimeout(this.nextTimeout);\n\n this.nextTimeout = setTimeout(() => {\n this.currentIdx += 1;\n\n if (this.currentIdx >= this.listings.length && this.listings.length > 0) {\n this.updateListings().then(() => {\n // eslint-disable-next-line prefer-destructuring\n this.currentIdx = 0;\n this.listing = null;\n });\n } else {\n this.listing = null;\n }\n }, this.dwellTime);\n }\n\n handleAfterLeave() {\n this.listing = this.listings[this.currentIdx];\n\n console.log(this.listing);\n\n this.queueNext();\n }\n\n updateListings() {\n return new Promise((resolve) => {\n API.Listings.Search(this.listingFilter).then((listings) => {\n this.listings = listings.Items;\n\n this.handleAfterLeave();\n\n resolve();\n }).catch(() => {\n if (this.listings.length > 0) {\n this.handleAfterLeave();\n\n resolve();\n }\n });\n });\n }\n\n mounted() {\n this.updateListings();\n }\n}\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/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TVDisplaySales.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/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TVDisplaySales.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TVDisplaySales.vue?vue&type=template&id=a3291f4e&scoped=true&\"\nimport script from \"./TVDisplaySales.vue?vue&type=script&lang=ts&\"\nexport * from \"./TVDisplaySales.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TVDisplaySales.vue?vue&type=style&index=0&id=a3291f4e&prod&lang=css&\"\nimport style1 from \"./TVDisplaySales.vue?vue&type=style&index=1&id=a3291f4e&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a3291f4e\",\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","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TVDisplaySales.vue?vue&type=style&index=1&id=a3291f4e&prod&scoped=true&lang=css&\""],"sourceRoot":""}