{"version":3,"sources":["webpack:///./src/components/UI/Loader.vue?25f6","webpack:///./src/components/UI/Loader.vue","webpack:///./src/components/UI/Loader.vue?05d4","webpack:///./src/components/UI/Loader.vue?d4ac","webpack:///./src/components/UI/Loader.vue?b05e","webpack:///./node_modules/client-website-ts-library/plugins/view/index.ts","webpack:///./src/views/AgentProfileListingsSold.vue?993f","webpack:///./src/views/AgentProfileListingsSold.vue?2286","webpack:///./src/views/AgentProfileListingsSold.vue","webpack:///./src/views/AgentProfileListingsSold.vue?ec1c","webpack:///./src/views/AgentProfileListingsSold.vue?1e54"],"names":["render","_vm","this","_h","$createElement","_c","_self","directives","name","rawName","value","expression","staticClass","staticRenderFns","component","prolistAnalyticsService","ServiceManager","Get","Analytics","headService","Require","Head","evt","obj","getAnalyticsEvent","call","getAnalyticsData","$route","path","undefined","triggerAnalyticsEvent","event","GetAll","forEach","adapter","Record","result","head","bind","Promise","then","meta","Update","UpdateWithStatic","requestAnimationFrame","updateHead","updateAnalytics","$on","attrs","profile","FullName","Position","_v","_s","FirstName","charAt","length","toLowerCase","currentListingFilter","on","$event","hasCurrentListings","_e","id","params","updateAgent","Slugs","Resolve","resolved","Type","Id","html","el","document","createElement","innerHTML","innerText","about","stripHtml","AboutAgent","substring","title","description","image","Photo","Preview","Url","Profiles","$emit","SearchLevel","Profile","SearchGuid","Statuses","Sold","OrderByStatements","SoldDateDesc","PageSize","resolveId","FromProfile","components","Masthead","Listings"],"mappings":"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","file":"js/chunk-949316be.0078ca6f.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"loader\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class Loader extends Vue {\r\n @Prop()\r\n private readonly loading!: boolean;\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!./Loader.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!./Loader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Loader.vue?vue&type=template&id=b15215d2&scoped=true&\"\nimport script from \"./Loader.vue?vue&type=script&lang=ts&\"\nexport * from \"./Loader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Loader.vue?vue&type=style&index=0&id=b15215d2&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 \"b15215d2\",\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!./Loader.vue?vue&type=style&index=0&id=b15215d2&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!./AgentProfileListingsSold.vue?vue&type=style&index=0&id=44ce21a9&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Page',[(_vm.profile)?[_c('SiteMasthead',{attrs:{\"title\":_vm.profile.FullName,\"subtitle\":_vm.profile.Position,\"mini\":\"true\"}}),(_vm.hasCurrentListings)?_c('ContentRow',[_c('ContentContainer',[_c('SectionTitle',[_vm._v(_vm._s(_vm.profile.FirstName)+_vm._s(_vm.profile.FirstName.charAt(_vm.profile.FirstName.length - 1).toLowerCase() === 's' ? '\\'' : '\\'s')+\" Sold Listings\")]),_c('Listings',{attrs:{\"filter\":_vm.currentListingFilter},on:{\"got_listing_count\":function($event){_vm.hasCurrentListings = $event > 0}}})],1)],1):_vm._e()]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Profile, ListingStatus, WebsiteLevel } from 'client-website-ts-library/types';\r\nimport { API } from 'client-website-ts-library/services';\r\nimport { ListingFilter, ListingOrderBy } from 'client-website-ts-library/filters';\r\nimport { AsyncView, RouteMeta } from 'client-website-ts-library/plugins';\r\n\r\nimport Masthead from '@/components/Common/Masthead.vue';\r\nimport Listings from '@/components/Listings.vue';\r\nimport { AnalyticsEventObject } from 'client-website-ts-library/services/Analytics';\r\n\r\n@Component({\r\n components: {\r\n Masthead,\r\n Listings,\r\n },\r\n})\r\nexport default class AgentProfileSoldListings extends Mixins(AsyncView) {\r\n private profile: Profile | null = null;\r\n\r\n private currentListingFilter: ListingFilter | null = null;\r\n\r\n private hasCurrentListings = true;\r\n\r\n resolveId() {\r\n const { id } = this.$route.params;\r\n\r\n if (id.length === 36) {\r\n // If the ID is 36 long we'll treat it as a guid\r\n\r\n this.updateAgent(id);\r\n } else {\r\n API.Slugs.Resolve(id).then((resolved) => {\r\n if (resolved.Type === 'Profile') {\r\n this.updateAgent(resolved.Id);\r\n }\r\n });\r\n }\r\n }\r\n\r\n stripHtml(html: string): string {\r\n const el = document.createElement('div');\r\n\r\n el.innerHTML = html;\r\n\r\n return el.innerText;\r\n }\r\n\r\n head(): RouteMeta | null {\r\n if (this.profile === null) return null;\r\n\r\n let about = this.stripHtml(this.profile.AboutAgent);\r\n\r\n if (about.length > 156) {\r\n about = `${about.substring(0, 156)}...`;\r\n }\r\n\r\n return {\r\n title: `${this.profile.FullName}'s Sold Listings - ${this.profile.Position}`,\r\n description: about,\r\n image: this.profile.Photo ? this.profile.Photo.Preview.Url : undefined,\r\n };\r\n }\r\n\r\n updateAgent(id: string) {\r\n API.Profiles.Get(id).then((profile) => {\r\n this.profile = profile;\r\n\r\n this.$emit('updateView');\r\n\r\n this.currentListingFilter = new ListingFilter({\r\n SearchLevel: WebsiteLevel.Profile,\r\n SearchGuid: this.profile!.Id,\r\n Statuses: [\r\n ListingStatus.Sold,\r\n ],\r\n OrderByStatements: [\r\n ListingOrderBy.SoldDateDesc,\r\n ],\r\n PageSize: 9,\r\n });\r\n });\r\n }\r\n\r\n mounted() {\r\n this.resolveId();\r\n }\r\n\r\n getAnalyticsData(): AnalyticsEventObject | null {\r\n if (this.profile === null) return null;\r\n\r\n return AnalyticsEventObject.FromProfile(this.profile);\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!./AgentProfileListingsSold.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!./AgentProfileListingsSold.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgentProfileListingsSold.vue?vue&type=template&id=44ce21a9&scoped=true&\"\nimport script from \"./AgentProfileListingsSold.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgentProfileListingsSold.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AgentProfileListingsSold.vue?vue&type=style&index=0&id=44ce21a9&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 \"44ce21a9\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}