{"version":3,"sources":["webpack:///./src/views/PropertiesForSale.vue?6510","webpack:///./src/views/PropertiesForSale.vue","webpack:///./src/views/PropertiesForSale.vue?c6c6","webpack:///./src/views/PropertiesForSale.vue?b0d6"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","listingFilter","_e","staticRenderFns","updateFilter","propertyCategories","$route","query","ListingCategory","split","map","v","parseInt","filter","PropertyCategories","Statuses","Current","UnderContract","Categories","Commercial","CommercialLand","MethodsOfSale","Sale","Both","Auction","Tender","EOI","ForSale","Offers","PageSize","OrderByStatements","CreateDateDesc","keywordOptions","keywordOpts","opt","Type","Value","Suburbs","categories","length","searchVal","find","SearchTerm","areaMin","MinFloorArea","areaMax","MaxFloorArea","priceMin","MinPrice","priceMax","MaxPrice","suburbs","isVacantPosession","IsVacant","isTenanted","IsTenanted","isStandalone","IsWholeBuilding","isStrata","components","Listings","ListingSearch","component"],"mappings":"uHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQ,sBAAsB,KAAO,UAAUF,EAAG,aAAa,CAACA,EAAG,mBAAmB,CAAEJ,EAAiB,cAAEI,EAAG,WAAW,CAACE,MAAM,CAAC,OAASN,EAAIO,iBAAiBP,EAAIQ,MAAM,IAAI,IAAI,IAClTC,EAAkB,G,4ZCyBtB,IAAqB,EAArB,cAA+C,eAAO,SAAtD,c,oBACU,KAAAF,cAAsC,KAE9C,UACEN,KAAKS,eAIP,eACE,IAAIC,EAAyC,GAEzCV,KAAKW,OAAOC,MAAMC,kBAEpBH,EAAsBV,KAAKW,OAAOC,MAAMC,gBAA4BC,MAAM,KAAKC,IAAKC,GAAMC,SAASD,KAGrG,MAAME,EAAS,IAAI,OAAc,CAC/BC,mBAAoBT,EACpBU,SAAU,CACR,OAAcC,QACd,OAAcC,eAEhBC,WAAY,CACV,OAAgBC,WAChB,OAAgBC,gBAElBC,cAAe,CACb,OAAaC,KACb,OAAaC,KACb,OAAaC,QACb,OAAaC,OACb,OAAaC,IACb,OAAaC,QACb,OAAaC,QAEfC,SAAU,EACVC,kBAAmB,CACjB,OAAeC,kBAInB,GAAIpC,KAAKW,OAAOC,MAAMyB,eAAgB,CACpC,MAAMC,EAAetC,KAAKW,OAAOC,MAAMyB,eAA0BvB,MAAM,KAAKC,IAAKwB,IAC/E,MAAMzB,EAAQyB,EAAIzB,MAAM,KAExB,MAAO,CACL0B,KAAM1B,EAAM,GACZ2B,MAAO3B,EAAM,MAIjBI,EAAOwB,QAAUJ,EAAYpB,OAAQqB,GAAqB,WAAbA,EAAIC,MAAmBzB,IAAKwB,GAAQA,EAAIE,OAErF,MAAME,EAAaL,EAAYpB,OAAQqB,GAAqB,eAAbA,EAAIC,MAAuBzB,IAAKwB,GAAQtB,SAASsB,EAAIE,MAAO,KAEvGE,EAAWC,OAAS,IACtB1B,EAAOC,mBAAqBwB,GAG9B,MAAME,EAAYP,EAAYQ,KAAMP,GAAqB,WAAbA,EAAIC,MAE5CK,IACF3B,EAAO6B,WAAaF,EAAUJ,OAI9BzC,KAAKW,OAAOC,MAAMoC,UAAS9B,EAAO+B,aAAejD,KAAKW,OAAOC,MAAMoC,SACnEhD,KAAKW,OAAOC,MAAMsC,UAAShC,EAAOiC,aAAenD,KAAKW,OAAOC,MAAMsC,SAEnElD,KAAKW,OAAOC,MAAMwC,WAAUlC,EAAOmC,SAAWrD,KAAKW,OAAOC,MAAMwC,UAChEpD,KAAKW,OAAOC,MAAM0C,WAAUpC,EAAOqC,SAAWvD,KAAKW,OAAOC,MAAM0C,UAChEtD,KAAKW,OAAOC,MAAM4C,UAAStC,EAAOwB,QAAW1C,KAAKW,OAAOC,MAAM4C,QAAmB1C,MAAM,MAExFd,KAAKW,OAAOC,MAAM6C,oBAAmBvC,EAAOwC,UAAW,GACvD1D,KAAKW,OAAOC,MAAM+C,aAAYzC,EAAO0C,YAAa,GAClD5D,KAAKW,OAAOC,MAAMiD,eAAc3C,EAAO4C,iBAAkB,GACzD9D,KAAKW,OAAOC,MAAMmD,WAAU7C,EAAOwC,UAAW,GAElD1D,KAAKM,cAAgBY,EAGvB,aAAaA,GACXlB,KAAKM,cAAgBY,IA1EvB,GADC,eAAM,iB,2BAwEN,MA/EkB,EAAiB,GANrC,eAAU,CACT8C,WAAY,CACVC,WAAA,KACAC,gBAAA,SAGiB,WC1BuX,I,YCOxYC,EAAY,eACd,EACArE,EACAU,GACA,EACA,KACA,KACA,MAIa,aAAA2D,E","file":"js/chunk-2d0c919a.409f2181.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Page',[_c('SiteMasthead',{attrs:{\"title\":\"Properties For Sale\",\"mini\":\"true\"}}),_c('ContentRow',[_c('ContentContainer',[(_vm.listingFilter)?_c('Listings',{attrs:{\"filter\":_vm.listingFilter}}):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Mixins, Watch } from 'vue-property-decorator';\nimport { ListingFilter, ListingOrderBy } from 'client-website-ts-library/filters';\nimport { ListingStatus, ListingCategory, MethodOfSale, PropertyCategory } from 'client-website-ts-library/types';\nimport { View } from 'client-website-ts-library/plugins';\n\nimport Listings from '../components/Listings.vue';\nimport ListingSearch from '../components/ListingSearch.vue';\n\n@Component({\n components: {\n Listings,\n ListingSearch,\n },\n})\nexport default class PropertiesForSale extends Mixins(View) {\n private listingFilter: ListingFilter | null = null;\n\n mounted() {\n this.updateFilter();\n }\n\n @Watch('$route.query')\n updateFilter() {\n let propertyCategories: PropertyCategory[] = [];\n\n if (this.$route.query.ListingCategory) {\n // eslint-disable-next-line radix\n propertyCategories = (this.$route.query.ListingCategory! as string).split(',').map((v) => parseInt(v) as PropertyCategory);\n }\n\n const filter = new ListingFilter({\n PropertyCategories: propertyCategories,\n Statuses: [\n ListingStatus.Current,\n ListingStatus.UnderContract,\n ],\n Categories: [\n ListingCategory.Commercial,\n ListingCategory.CommercialLand,\n ],\n MethodsOfSale: [\n MethodOfSale.Sale,\n MethodOfSale.Both,\n MethodOfSale.Auction,\n MethodOfSale.Tender,\n MethodOfSale.EOI,\n MethodOfSale.ForSale,\n MethodOfSale.Offers,\n ],\n PageSize: 9,\n OrderByStatements: [\n ListingOrderBy.CreateDateDesc,\n ],\n });\n\n if (this.$route.query.keywordOptions) {\n const keywordOpts = (this.$route.query.keywordOptions as string).split('|').map((opt) => {\n const split = opt.split(':');\n\n return {\n Type: split[0],\n Value: split[1],\n };\n });\n\n filter.Suburbs = keywordOpts.filter((opt) => opt.Type === 'suburb').map((opt) => opt.Value);\n\n const categories = keywordOpts.filter((opt) => opt.Type === 'categories').map((opt) => parseInt(opt.Value, 10));\n\n if (categories.length > 0) {\n filter.PropertyCategories = categories;\n }\n\n const searchVal = keywordOpts.find((opt) => opt.Type === 'search');\n\n if (searchVal) {\n filter.SearchTerm = searchVal.Value;\n }\n }\n\n if (this.$route.query.areaMin) filter.MinFloorArea = this.$route.query.areaMin as string;\n if (this.$route.query.areaMax) filter.MaxFloorArea = this.$route.query.areaMax as string;\n\n if (this.$route.query.priceMin) filter.MinPrice = this.$route.query.priceMin as string;\n if (this.$route.query.priceMax) filter.MaxPrice = this.$route.query.priceMax as string;\n if (this.$route.query.suburbs) filter.Suburbs = (this.$route.query.suburbs as string).split('|');\n\n if (this.$route.query.isVacantPosession) filter.IsVacant = true;\n if (this.$route.query.isTenanted) filter.IsTenanted = true;\n if (this.$route.query.isStandalone) filter.IsWholeBuilding = true;\n if (this.$route.query.isStrata) filter.IsVacant = true;\n\n this.listingFilter = filter;\n }\n\n handleFilter(filter: ListingFilter) {\n this.listingFilter = filter;\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!./PropertiesForSale.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!./PropertiesForSale.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PropertiesForSale.vue?vue&type=template&id=af07b7b8&\"\nimport script from \"./PropertiesForSale.vue?vue&type=script&lang=ts&\"\nexport * from \"./PropertiesForSale.vue?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}