{"version":3,"sources":["webpack:///./src/views/TVDisplaySales.vue?2cfe","webpack:///./src/views/TVDisplaySales.vue","webpack:///./src/views/TVDisplaySales.vue?c80f","webpack:///./src/views/TVDisplaySales.vue?58e0","webpack:///./src/views/TVDisplaySales.vue?f013","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","_m","attrs","_v","_s","methodOfSale","_e","on","handleAfterLeave","style","dwellTime","listing","Images","length","Preview","Url","Address","MicroAddress","HiddenAddress","qrCodeLink","listingLink","Header","Price","Introduction","Features","Bedrooms","Bathrooms","Parking","Total","Agents","FullName","MobilePhone","Photo","staticRenderFns","maxListings","listingFilter","Statuses","Current","UnderContract","Categories","ResidentialSale","ResidentialLand","PageSize","listings","currentIdx","window","location","hostname","PropertyId","API","Base","Id","Website","MethodOfSale","indexOf","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":"kJAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,MAAM,CAACE,YAAY,sBAAsB,CAACN,EAAIO,GAAG,GAAGH,EAAG,MAAM,CAACE,YAAY,2BAA2B,CAACF,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,aAAa,CAAER,EAAW,QAAEI,EAAG,OAAO,CAACJ,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAIW,cAAc,OAAOX,EAAIY,QAAQ,KAAKR,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAACF,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,YAAYK,GAAG,CAAC,cAAcb,EAAIc,mBAAmB,CAAEd,EAAW,QAAEI,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,MAAM,CAACE,YAAY,mBAAmBS,MAAM,CAAE,eAAgBf,EAAIgB,aAAcZ,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAAgC,IAA9BN,EAAIiB,QAAQC,OAAOC,OAAc,CAACf,EAAG,MAAM,CAACE,YAAY,oEAAoE,CAACN,EAAIS,GAAG,yDAA0DT,EAAIiB,QAAQC,OAAOC,OAAS,EAAG,CAACf,EAAG,MAAM,CAACE,YAAY,iEAAiES,MAAM,CAAE,mBAAoB,OAASf,EAAIiB,QAAQC,OAAO,GAAGE,QAAQC,IAAM,QAAS,CAACjB,EAAG,MAAM,CAACE,YAAY,4DAA4DS,MAAM,CAAE,mBAAoB,OAASf,EAAIiB,QAAQC,OAAO,GAAGE,QAAQC,IAAM,OAAQjB,EAAG,MAAM,CAACE,YAAY,2BAA2B,CAACF,EAAG,MAAM,CAACE,YAAY,2DAA2DS,MAAM,CAAE,mBAAoB,OAASf,EAAIiB,QAAQC,OAAO,GAAGE,QAAQC,IAAM,OAAQjB,EAAG,MAAM,CAACE,YAAY,2DAA2DS,MAAM,CAAE,mBAAoB,OAASf,EAAIiB,QAAQC,OAAO,GAAGE,QAAQC,IAAM,WAAY,GAAGjB,EAAG,MAAM,CAACE,YAAY,wBAAwB,CAACF,EAAG,MAAM,CAACE,YAAY,gCAAgC,CAACF,EAAG,MAAM,CAACE,YAAY,yCAAyC,CAACF,EAAG,KAAK,CAACE,YAAY,mBAAmB,CAACN,EAAIS,GAAGT,EAAIU,GAAGV,EAAIiB,QAAQK,QAAQC,iBAAiBnB,EAAG,KAAK,CAACE,YAAY,kBAAkB,CAACN,EAAIS,GAAGT,EAAIU,GAAGV,EAAIiB,QAAQK,QAAQE,oBAAoBpB,EAAG,MAAM,CAACE,YAAY,yCAAyC,CAACF,EAAG,MAAM,CAACI,MAAM,CAAC,IAAMR,EAAIyB,cAAcrB,EAAG,MAAM,CAACE,YAAY,+CAA+C,CAACN,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0B,aAAa,WAAWtB,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,KAAK,CAACE,YAAY,mBAAmB,CAACN,EAAIS,GAAGT,EAAIU,GAAGV,EAAIiB,QAAQU,WAAY3B,EAAIiB,QAAQW,MAAkB,aAAExB,EAAG,KAAK,CAACE,YAAY,iBAAiB,CAACN,EAAIS,GAAGT,EAAIU,GAAGV,EAAIiB,QAAQW,MAAMA,UAAU5B,EAAIY,KAAKR,EAAG,IAAI,CAACE,YAAY,wBAAwB,CAACN,EAAIS,GAAGT,EAAIU,GAAGV,EAAIiB,QAAQY,iBAAiBzB,EAAG,KAAK,CAACE,YAAY,gBAAgB,CAAEN,EAAIiB,QAAQa,SAAiB,SAAE1B,EAAG,KAAK,CAACE,YAAY,sBAAsB,CAACF,EAAG,OAAO,CAACE,YAAY,2BAA2BE,MAAM,CAAC,KAAO,SAASJ,EAAG,OAAO,CAACE,YAAY,6BAA6B,CAACN,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAIiB,QAAQa,SAASC,UAAU,QAAQ,GAAG/B,EAAIY,KAAMZ,EAAIiB,QAAQa,SAAkB,UAAE1B,EAAG,KAAK,CAACE,YAAY,sBAAsB,CAACF,EAAG,OAAO,CAACE,YAAY,2BAA2BE,MAAM,CAAC,KAAO,UAAUJ,EAAG,OAAO,CAACE,YAAY,6BAA6B,CAACN,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAIiB,QAAQa,SAASE,WAAW,QAAQ,GAAGhC,EAAIY,KAAMZ,EAAIiB,QAAQa,SAASG,QAAa,MAAE7B,EAAG,KAAK,CAACE,YAAY,sBAAsB,CAACF,EAAG,OAAO,CAACE,YAAY,2BAA2BE,MAAM,CAAC,KAAO,SAASJ,EAAG,OAAO,CAACE,YAAY,6BAA6B,CAACN,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAIiB,QAAQa,SAASG,QAAQC,OAAO,QAAQ,GAAGlC,EAAIY,aAAaR,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAACF,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAACN,EAAIS,GAAG,yEAAyEL,EAAG,MAAM,CAACE,YAAY,sBAAsB,CAACF,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAACN,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAIiB,QAAQkB,OAAO,GAAGC,UAAU,OAAOhC,EAAG,MAAM,CAACE,YAAY,wBAAwB,CAACN,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAIiB,QAAQkB,OAAO,GAAGE,aAAa,SAASjC,EAAG,MAAM,CAACE,YAAY,2BAA2B,CAACF,EAAG,MAAM,CAACI,MAAM,CAAC,IAAMR,EAAIiB,QAAQkB,OAAO,GAAGG,MAAMlB,QAAQC,aAAarB,EAAIY,QAAQ,MACv6H2B,EAAkB,CAAC,WAAa,IAAIvC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,MAAM,CAACI,MAAM,CAAC,IAAM,uC,wECqHrL,IAAqB,EAArB,cAA4C,eAAO,SAAnD,c,oBACU,KAAAQ,UAAY,IAEZ,KAAAwB,YAAc,EAEd,KAAAC,cAAgB,IAAI,OAAc,CACxCC,SAAU,CACR,OAAcC,QACd,OAAcC,eAEhBC,WAAY,CACV,OAAgBC,gBAChB,OAAgBC,iBAElBC,SAAU/C,KAAKuC,cAGT,KAAAS,SAAsB,GAEtB,KAAAhC,QAA0B,KAI1B,KAAAiC,WAAa,EAErB,kBACE,OAAqB,OAAjBjD,KAAKgB,QAAyB,GAE3B,GAAGkC,OAAOC,SAASC,YAAYpD,KAAKgB,QAAQqC,aAGrD,iBACE,OAAqB,OAAjBrD,KAAKgB,QAAyB,KAE3B,GAAG,OAAOsC,IAAIC,kCAAkCvD,KAAKgB,QAAQwC,sBAAsB,OAAOC,QAAQD,KAG3G,mBACE,OAAqB,OAAjBxD,KAAKgB,QAAyB,YAEgB,IAA9ChB,KAAKgB,QAAQ0C,aAAaC,QAAQ,OAAsB3D,KAAKgB,QAAQ0C,aAElE,OAAO1D,KAAKgB,QAAQ0C,aAG7B,YACEE,aAAa5D,KAAK6D,aAElB7D,KAAK6D,YAAcC,WAAW,KAC5B9D,KAAKiD,YAAc,EAEfjD,KAAKiD,YAAcjD,KAAKgD,SAAS9B,QAAUlB,KAAKgD,SAAS9B,OAAS,EACpElB,KAAK+D,iBAAiBC,KAAK,KAEzBhE,KAAKiD,WAAa,EAClBjD,KAAKgB,QAAU,OAGjBhB,KAAKgB,QAAU,MAEhBhB,KAAKe,WAGV,mBACEf,KAAKgB,QAAUhB,KAAKgD,SAAShD,KAAKiD,YAElCgB,QAAQC,IAAIlE,KAAKgB,SAEjBhB,KAAKmE,YAGP,iBACE,OAAO,IAAIC,QAASC,IAClB,OAAIC,SAASC,OAAOvE,KAAKwC,eAAewB,KAAMhB,IAC5ChD,KAAKgD,SAAWA,EAASwB,MAEzBxE,KAAKa,mBAELwD,MACCI,MAAM,KACHzE,KAAKgD,SAAS9B,OAAS,IACzBlB,KAAKa,mBAELwD,SAMR,UACErE,KAAK+D,mBA1FY,EAAc,yBADlC,QACoB,WCtHoX,I,kCCSrYW,EAAY,eACd,EACA5E,EACAwC,GACA,EACA,KACA,WACA,MAIa,aAAAoC,E,6CCpBf,W,kLCcA,IAAM,EAAN,cAAuB,aAAvB,c,oBACY,KAAAC,wBAA0BC,EAAA,KAAeC,IAA6B,OAAYC,UAAW,2BAC7F,KAAAC,YAAcH,EAAA,KAAeI,QAAqB,OAAYC,MAEjE,kBACL,IAAIC,EAA6B,KAC7BC,EAAmC,KAED,qBAA3BnF,KAAKoF,kBACdF,EAAMlF,KAAKoF,kBAAkBC,KAAKrF,MACO,qBAA1BA,KAAKsF,mBACpBH,EAAMnF,KAAKsF,iBAAiBD,KAAKrF,OAGvB,OAARkF,IAAcA,EAAM,IAAIJ,EAAA,KAAkB9E,KAAKuF,OAAOC,KAAMxF,KAAKuF,OAAOE,MAAQ,GAAIN,QAAOO,IAE/F1F,KAAK2F,sBAAsBT,GAGtB,sBAAsBU,GAC3BhB,EAAA,KAAeiB,OAA0B,OAAYf,WAAWgB,QAASC,IACvEA,EAAQC,OAAOJ,KAIZ,4BAA4BA,GACI,OAAjC5F,KAAK2E,yBAAkC3E,KAAK2E,wBAAwBqB,OAAOJ,GAGvE,aACR,GAAI,SAAU5F,KAAM,CAClB,MAAMiG,EAASjG,KAAKkG,KAAMC,KAAKnG,KAAhBA,GAEZiG,aAAkB7B,QACnB6B,EAAOjC,KAAMoC,IACXpG,KAAK+E,YAAYsB,OAAOD,KAG1BpG,KAAK+E,YAAYsB,OAAOJ,QAG1BjG,KAAK+E,YAAYuB,iBAAiBtG,KAAKuF,OAAOC,QAzC9C,EAAQ,yBADb,QACK,GA+CN,IAAMe,EAAN,cAAmB,EACV,UACLC,sBAAsB,KACpBxG,KAAKyG,aACLzG,KAAK0G,sBAJLH,EAAI,yBADT,QACKA,GAUN,IAAMI,EAAN,cAAwB,EACf,UACL3G,KAAK4G,IAAI,aAAc,KACrBJ,sBAAsB,KACpBxG,KAAKyG,aACLzG,KAAK0G,wBALPC,EAAS,yBADd,QACKA,I,kCCvEN,W","file":"js/chunk-587b6ba4.e9f4d681.js","sourcesContent":["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\"},[_vm._m(0),_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__heading__qr-code\"},[_c('img',{attrs:{\"src\":_vm.qrCodeLink}}),_c('div',{staticClass:\"tvd-listing-details__heading__qr-code__link\"},[_vm._v(\" \"+_vm._s(_vm.listingLink)+\" \")])])]),_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 = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tv-display__header__brand\"},[_c('img',{attrs:{\"src\":\"/assets/images/brand/logo.png\"}})])}]\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\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\n\r\nimport { ListingFilter } from 'client-website-ts-library/filters';\r\nimport {\r\n ListingStatus,\r\n ListingCategory,\r\n Listing,\r\n} from 'client-website-ts-library/types';\r\n\r\nimport { View } from 'client-website-ts-library/plugins';\r\nimport { API, Config } from 'client-website-ts-library/services';\r\n\r\n@Component\r\nexport default class TVDisplaySales extends Mixins(View) {\r\n private dwellTime = 10 * 1000 * 0.5;\r\n\r\n private maxListings = 5;\r\n\r\n private listingFilter = new ListingFilter({\r\n Statuses: [\r\n ListingStatus.Current,\r\n ListingStatus.UnderContract,\r\n ],\r\n Categories: [\r\n ListingCategory.ResidentialSale,\r\n ListingCategory.ResidentialLand,\r\n ],\r\n PageSize: this.maxListings,\r\n });\r\n\r\n private listings: Listing[] = [];\r\n\r\n private listing: Listing | null = null;\r\n\r\n private nextTimeout?: number;\r\n\r\n private currentIdx = 0;\r\n\r\n get listingLink() {\r\n if (this.listing === null) return '';\r\n\r\n return `${window.location.hostname}/${this.listing.PropertyId}`;\r\n }\r\n\r\n get qrCodeLink() {\r\n if (this.listing === null) return null;\r\n\r\n return `${Config.API.Base}/api/links/qrcode/listings/${this.listing.Id}?clientWebsiteId=${Config.Website.Id}`;\r\n }\r\n\r\n get methodOfSale() {\r\n if (this.listing === null) return 'For Sale';\r\n\r\n if (this.listing.MethodOfSale.indexOf('For') !== -1) return this.listing.MethodOfSale;\r\n\r\n return `For ${this.listing.MethodOfSale}`;\r\n }\r\n\r\n queueNext() {\r\n clearTimeout(this.nextTimeout);\r\n\r\n this.nextTimeout = setTimeout(() => {\r\n this.currentIdx += 1;\r\n\r\n if (this.currentIdx >= this.listings.length && this.listings.length > 0) {\r\n this.updateListings().then(() => {\r\n // eslint-disable-next-line prefer-destructuring\r\n this.currentIdx = 0;\r\n this.listing = null;\r\n });\r\n } else {\r\n this.listing = null;\r\n }\r\n }, this.dwellTime);\r\n }\r\n\r\n handleAfterLeave() {\r\n this.listing = this.listings[this.currentIdx];\r\n\r\n console.log(this.listing);\r\n\r\n this.queueNext();\r\n }\r\n\r\n updateListings() {\r\n return new Promise((resolve) => {\r\n API.Listings.Search(this.listingFilter).then((listings) => {\r\n this.listings = listings.Items;\r\n\r\n this.handleAfterLeave();\r\n\r\n resolve();\r\n }).catch(() => {\r\n if (this.listings.length > 0) {\r\n this.handleAfterLeave();\r\n\r\n resolve();\r\n }\r\n });\r\n });\r\n }\r\n\r\n mounted() {\r\n this.updateListings();\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!./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=5a1eb745&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=5a1eb745&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 \"5a1eb745\",\n null\n \n)\n\nexport default component.exports","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=5a1eb745&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","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":""}