{"version":3,"sources":["webpack:///./src/views/TVDisplaySales.vue?2d03","webpack:///./src/views/TVDisplaySales.vue?a83c","webpack:///./src/views/TVDisplaySales.vue","webpack:///./src/views/TVDisplaySales.vue?c80f","webpack:///./src/views/TVDisplaySales.vue?58e0","webpack:///./node_modules/client-website-ts-library/plugins/view/index.ts","webpack:///./src/views/TVDisplaySales.vue?ea9f"],"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","Large","staticRenderFns","maxListings","listingFilter","Statuses","Current","UnderContract","Categories","ResidentialSale","ResidentialLand","PageSize","listings","currentIdx","isFullScreen","window","location","hostname","PropertyId","API","Base","Id","Website","MethodOfSale","indexOf","clearTimeout","nextTimeout","setTimeout","updateListings","then","console","log","queueNext","Promise","resolve","Listings","Search","Items","catch","document","documentElement","requestFullscreen","exitFullscreen","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","requestAnimationFrame","updateHead","updateAnalytics","$on"],"mappings":"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","file":"js/chunk-4de89ad2.2488cfac.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-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-loader/lib/index.js??vue-loader-options!./TVDisplaySales.vue?vue&type=style&index=1&id=40494578&scoped=true&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\"}),_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.Large.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\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 = 1 * 1000 * 5;\n\n private maxListings = 5;\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 });\n\n private listings: Listing[] = [];\n\n private listing: Listing | null = null;\n\n private nextTimeout?: number;\n\n private currentIdx = 0;\n\n private isFullScreen = false;\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 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 fullScreen() {\n this.isFullScreen = !this.isFullScreen;\n\n if (this.isFullScreen) {\n document.documentElement.requestFullscreen();\n } else {\n document.exitFullscreen();\n }\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-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-loader/lib/index.js??vue-loader-options!./TVDisplaySales.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TVDisplaySales.vue?vue&type=template&id=40494578&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&lang=css&\"\nimport style1 from \"./TVDisplaySales.vue?vue&type=style&index=1&id=40494578&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 \"40494578\",\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-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-loader/lib/index.js??vue-loader-options!./TVDisplaySales.vue?vue&type=style&index=0&lang=css&\""],"sourceRoot":""}