{"version":3,"sources":["webpack:///./src/views/PropertiesForSale.vue?2bbf","webpack:///./src/views/PropertiesForSale.vue","webpack:///./src/views/PropertiesForSale.vue?c6c6","webpack:///./src/views/PropertiesForSale.vue?b0d6","webpack:///./src/views/PropertiesForSale.vue?530a"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","listingFilter","_e","staticRenderFns","updateFilter","propertyCategories","propertyTypes","hasLand","hasRural","$route","query","ListingCategory","split","map","v","parseInt","includes","filter","PropertyCategories","PropertyTypes","Statuses","Current","UnderContract","MethodsOfSale","Sale","Both","Auction","Tender","EOI","ForSale","Offers","PageSize","OrderByStatements","CreateDateDesc","Categories","push","Rural","Cropping","Dairy","Farmlet","Horticulture","Lifestyle","Livestock","MixedFarming","Viticulture","Other","ResidentialLand","House","BlockOfUnits","Acreage","Alpine","Studio","Terrace","Townhouse","Unit","Villa","Warehouse","Apartment","Duplex","Flat","Retirement","SemiDetached","ServicedApartment","ResidentialSale","areaMin","MinLandArea","areaMax","MaxLandArea","priceMin","MinPrice","priceMax","MaxPrice","suburbs","Suburbs","isVacantPosession","IsVacant","isTenanted","IsTenanted","isStandalone","IsWholeBuilding","isStrata","keywordOptions","keywordOpts","opt","Type","Value","categories","length","searchVal","find","test","SearchTerm","components","Listings","ListingSearch","component"],"mappings":"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","file":"js/chunk-7e20dabd.83043cc9.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\":\"Innisfail Real Estate For Sale\",\"mini\":\"true\"}}),_c('ContentRow',[_c('ContentContainer',[_c('ListingSearch',{attrs:{\"maxWidth\":'100%',\"methodOfSale\":\"Buy\"}}),(_vm.listingFilter)?_c('Listings',{attrs:{\"filter\":_vm.listingFilter,\"allowLoadMore\":true,\"infiniteScroll\":false}}):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins, Watch } from 'vue-property-decorator';\r\nimport { ListingFilter, ListingOrderBy } from 'client-website-ts-library/filters';\r\nimport { View } from 'client-website-ts-library/plugins';\r\nimport { ListingCategory, ListingStatus, MethodOfSale, PropertyCategory, PropertyType } from 'client-website-ts-library/types';\r\n\r\nimport Listings from '../components/Listings.vue';\r\nimport ListingSearch from '../components/ListingSearch.vue';\r\n\r\n@Component({\r\n components: {\r\n Listings,\r\n ListingSearch,\r\n },\r\n})\r\nexport default class PropertiesForSale extends Mixins(View) {\r\n private listingFilter: ListingFilter | null = null;\r\n\r\n mounted() {\r\n this.updateFilter();\r\n }\r\n\r\n @Watch('$route.query')\r\n updateFilter() {\r\n let propertyCategories: PropertyCategory[] = [];\r\n let propertyTypes: PropertyType[] = [];\r\n let hasLand = false;\r\n let hasRural = false;\r\n\r\n if (this.$route.query.ListingCategory) {\r\n // eslint-disable-next-line radix\r\n propertyCategories = (this.$route.query.ListingCategory! as string).split(',').map((v) => parseInt(v) as PropertyCategory);\r\n }\r\n\r\n if (this.$route.query.propertyTypes) {\r\n // eslint-disable-next-line radix\r\n propertyTypes = (this.$route.query.propertyTypes! as string).split('|').map((v) => parseInt(v) as PropertyType);\r\n hasLand = this.$route.query.propertyTypes!.includes('Land');\r\n hasRural = this.$route.query.propertyTypes!.includes('Rural');\r\n }\r\n\r\n let filter = new ListingFilter({\r\n PropertyCategories: propertyCategories,\r\n PropertyTypes: propertyTypes,\r\n Statuses: [\r\n ListingStatus.Current,\r\n ListingStatus.UnderContract,\r\n ],\r\n MethodsOfSale: [\r\n MethodOfSale.Sale,\r\n MethodOfSale.Both,\r\n MethodOfSale.Auction,\r\n MethodOfSale.Tender,\r\n MethodOfSale.EOI,\r\n MethodOfSale.ForSale,\r\n MethodOfSale.Offers,\r\n ],\r\n PageSize: 9,\r\n OrderByStatements: [\r\n ListingOrderBy.CreateDateDesc,\r\n ],\r\n });\r\n\r\n if (hasRural) {\r\n filter.Categories.push(ListingCategory.Rural);\r\n filter.PropertyTypes.push(PropertyType.Cropping);\r\n filter.PropertyTypes.push(PropertyType.Dairy);\r\n filter.PropertyTypes.push(PropertyType.Farmlet);\r\n filter.PropertyTypes.push(PropertyType.Horticulture);\r\n filter.PropertyTypes.push(PropertyType.Lifestyle);\r\n filter.PropertyTypes.push(PropertyType.Livestock);\r\n filter.PropertyTypes.push(PropertyType.MixedFarming);\r\n filter.PropertyTypes.push(PropertyType.Viticulture);\r\n filter.PropertyTypes.push(PropertyType.Other);\r\n }\r\n\r\n if (hasLand) {\r\n filter.Categories.push(ListingCategory.ResidentialLand);\r\n }\r\n\r\n if (filter.PropertyTypes.includes(PropertyType.House)\r\n || filter.PropertyTypes.includes(PropertyType.BlockOfUnits)\r\n || filter.PropertyTypes.includes(PropertyType.Acreage)\r\n || filter.PropertyTypes.includes(PropertyType.Alpine)\r\n || filter.PropertyTypes.includes(PropertyType.Studio)\r\n || filter.PropertyTypes.includes(PropertyType.Terrace)\r\n || filter.PropertyTypes.includes(PropertyType.Townhouse)\r\n || filter.PropertyTypes.includes(PropertyType.Unit)\r\n || filter.PropertyTypes.includes(PropertyType.Villa)\r\n || filter.PropertyTypes.includes(PropertyType.Warehouse)\r\n || filter.PropertyTypes.includes(PropertyType.Apartment)\r\n || filter.PropertyTypes.includes(PropertyType.Duplex)\r\n || filter.PropertyTypes.includes(PropertyType.Flat)\r\n || filter.PropertyTypes.includes(PropertyType.Retirement)\r\n || filter.PropertyTypes.includes(PropertyType.SemiDetached)\r\n || filter.PropertyTypes.includes(PropertyType.ServicedApartment)) {\r\n filter.Categories.push(ListingCategory.ResidentialSale);\r\n }\r\n\r\n if (this.$route.query.areaMin) filter.MinLandArea = this.$route.query.areaMin as string;\r\n if (this.$route.query.areaMax) filter.MaxLandArea = this.$route.query.areaMax as string;\r\n\r\n if (this.$route.query.priceMin) filter.MinPrice = this.$route.query.priceMin as string;\r\n if (this.$route.query.priceMax) filter.MaxPrice = this.$route.query.priceMax as string;\r\n if (this.$route.query.suburbs) filter.Suburbs = (this.$route.query.suburbs as string).split('|');\r\n\r\n if (filter.MaxPrice as number >= 3000000) {\r\n filter.MaxPrice = 100000000;\r\n }\r\n\r\n if (this.$route.query.isVacantPosession) filter.IsVacant = true;\r\n if (this.$route.query.isTenanted) filter.IsTenanted = true;\r\n if (this.$route.query.isStandalone) filter.IsWholeBuilding = true;\r\n if (this.$route.query.isStrata) filter.IsVacant = true;\r\n\r\n if (this.$route.query.keywordOptions) {\r\n const keywordOpts = (this.$route.query.keywordOptions as string).split('|').map((opt) => {\r\n const split = opt.split(':');\r\n\r\n return {\r\n Type: split[0],\r\n Value: split[1],\r\n };\r\n });\r\n\r\n filter.Suburbs = keywordOpts.filter((opt) => opt.Type === 'suburb').map((opt) => opt.Value);\r\n\r\n const categories = keywordOpts.filter((opt) => opt.Type === 'categories').map((opt) => parseInt(opt.Value, 10));\r\n\r\n if (categories.length > 0) {\r\n filter.PropertyCategories = categories;\r\n }\r\n\r\n const searchVal = keywordOpts.find((opt) => opt.Type === 'search');\r\n\r\n if (searchVal) {\r\n if ((/^\\d+$/.test(searchVal.Value))) {\r\n filter = new ListingFilter({\r\n });\r\n\r\n filter.SearchTerm = searchVal.Value;\r\n } else {\r\n filter.SearchTerm = searchVal.Value;\r\n }\r\n }\r\n }\r\n\r\n this.listingFilter = filter;\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!./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=1b8539af&scoped=true&\"\nimport script from \"./PropertiesForSale.vue?vue&type=script&lang=ts&\"\nexport * from \"./PropertiesForSale.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PropertiesForSale.vue?vue&type=style&index=0&id=1b8539af&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 \"1b8539af\",\n null\n \n)\n\nexport default component.exports","import mod 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!./PropertiesForSale.vue?vue&type=style&index=0&id=1b8539af&scoped=true&lang=css&\"; export default mod; 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!./PropertiesForSale.vue?vue&type=style&index=0&id=1b8539af&scoped=true&lang=css&\""],"sourceRoot":""}