{"version":3,"sources":["webpack:///./src/views/PropertiesForSale.vue?fd63","webpack:///./src/views/PropertiesForSale.vue","webpack:///./src/views/PropertiesForSale.vue?c6c6","webpack:///./src/views/PropertiesForSale.vue?b0d6","webpack:///./src/views/PropertiesForSale.vue?5468"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","source","formats","fallback","_v","listingFilter","_e","staticRenderFns","updateFilter","propertyCategories","$route","query","ListingCategory","split","map","v","parseInt","filter","PropertyCategories","Statuses","Current","UnderContract","Categories","ResidentialSale","ResidentialLand","Rural","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":"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","file":"js/chunk-28a5f549.b9dc0215.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\":\"“Real estate cannot be lost or stolen, nor can it be carried away. Purchased with common sense, paid for in full,\\n and managed with reasonable care, it is about the safest investment in the world”\",\"mini\":\"true\",\"image\":{ source: '/assets/images/photos/for-sale', formats: ['avif', 'webp', 'jpg'], fallback: 'jpg' }}}),_c('ContentRow',[_c('ContentContainer',[_c('SectionTitle',[_vm._v(\"Your Property for Sale in Cairns\")]),_c('p',[_vm._v(\" Harnessing the experience and expertise of some of Cairns most highly regarded real estate professionals, the Property Shop’s credentials in property sales are unparalleled on the market. \")]),_c('p',[_vm._v(\" The Property Shop is committed to giving our clients the best possible agent service by anticipating their expectations and ensuring that our responsibilities and promises are executed to the highest standards in Cairns. \")]),_c('p',[_vm._v(\" Simply, we want our clients to enjoy the journey, comfortable in the knowledge that our objective is always to obtain outstanding price results for their benefit. The ongoing satisfaction and trust our clients have in us is the true measure of our success. \")]),_c('p',[_vm._v(\" We believe that before a client engages us to sell a property, we need to get to know each other, for them to trust us, and just as importantly, for us to understand their lifestyle, dreams and aspirations prior to going to market. \")]),_c('p',[_vm._v(\" Our agent strategy is to assemble a buyer profile that will find your home incredibly appealing and then to launch a marketing campaign that will sell your Cairns property for the highest dollar value. \")]),_c('p',[_vm._v(\" We do this by devising and deploying a multi-level, multi-media property marketing mix incorporating high quality photography and engaging copy to capture your lifestyle, adopting premium positioning on the most influential websites, calculated use of social media and e-brochure alert to over 10,000 registered subscribers. Throughout the sales process, we employ strong negotiation skills to elicit the interest of potential property buyers to ultimately close the sale at a great price point. \")])],1)],1),_c('ContentRow',{attrs:{\"noPadding\":true}},[(_vm.listingFilter)?_c('Listings',{attrs:{\"filter\":_vm.listingFilter,\"infiniteScroll\":true}}):_vm._e()],1)],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\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 } 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\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 const filter = new ListingFilter({\r\n PropertyCategories: propertyCategories,\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 ListingCategory.Rural,\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 (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 filter.SearchTerm = searchVal.Value;\r\n }\r\n }\r\n\r\n if (this.$route.query.areaMin) filter.MinFloorArea = this.$route.query.areaMin as string;\r\n if (this.$route.query.areaMax) filter.MaxFloorArea = 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 (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 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=4ce5cf26&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=4ce5cf26&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 \"4ce5cf26\",\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=4ce5cf26&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=4ce5cf26&scoped=true&lang=css&\""],"sourceRoot":""}