{"version":3,"file":"js/app.f7ad9d91c2a084ce5873.js","mappings":"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","sources":["webpack:///./resources/area/web/default/js/components/catalog/product/ProductStockCheck.vue?1f87","webpack:///./resources/area/web/default/js/components/catalog/product/ProductStockCheck.vue?ec15","webpack:///./resources/area/web/default/js/components/catalog/product/ProductStockCheck.vue?9cd6","webpack:///./resources/area/web/default/js/components/catalog/product/ProductStockCheck.vue?9f2c"],"sourcesContent":["\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\nimport {Component, Prop, Vue} from 'vue-property-decorator';\nimport {extend, ValidationObserver, ValidationProvider} from 'vee-validate';\nimport {required} from 'vee-validate/dist/rules';\nimport {UICoreCookies} from '@flashpointbv/solar-ui-core';\n\nextend('required', required);\n\n@Component({\n name: 'catalog-product-stock-check',\n components: {\n ValidationProvider,\n ValidationObserver\n }\n})\n\nexport default class extends Vue {\n $refs!: {\n postcodeInput: HTMLFormElement\n }\n\n @Prop({required: true}) sku: string;\n @Prop({required: true}) route: string;\n @Prop({default: 5}) resultCutoff: number;\n @Prop({default: true}) showStockCheck: boolean;\n @Prop({default: false}) isItemOnlyOnlineAvailable: boolean;\n\n private postcode: string = '';\n private pending: boolean = false;\n private result: Array<object> = [];\n private showStockForm: boolean = false;\n private showMore: boolean = false;\n private hasStockResult: boolean = false;\n private showResult: boolean = false;\n\n private get limitedResultSet(): Array<object> {\n return this.showMore ? this.result : this.result.slice(0, 5);\n }\n\n private async fetchStockByPostcode(): Promise<void> {\n if (!this.postcode.length || this.pending) {\n return;\n }\n\n this.pending = true;\n\n try {\n const {data} = await this.$solarClient.get(`/api/catalog/product/${this.sku}/stock/${this.postcode}`);\n this.result = data;\n\n if (this.result.length) {\n this.hasStockResult = true;\n }\n\n } catch (e) {\n this.hasStockResult = false;\n this.showResult = false;\n this.pending = false;\n return;\n }\n\n this.showResult = true;\n this.pending = false;\n }\n\n private toggleStockCheck(): void {\n this.showStockForm = !this.showStockForm;\n if (this.showStockForm) {\n if (this.postcode) {\n this.fetchStockByPostcode();\n } else {\n this.$nextTick(() => this.$refs.postcodeInput.focus());\n }\n }\n }\n\n private getColorCodeByStockCode(code: string): string {\n switch (code) {\n case 'low':\n return '#CC4B37';\n case 'medium':\n return '#FF6400';\n default:\n return '#00C853'\n }\n }\n\n private getHumanDistance(distance: number): string {\n return distance > 1 ? `${Math.floor(distance)} kilometer` : `${Math.floor(distance * 100)} meter`;\n }\n\n private created(): void {\n let helper = new UICoreCookies;\n this.postcode = <string>helper.getCookie(\"user_postcode\") ?? '';\n const placeholder = document.getElementById('stockPlaceholder');\n if (placeholder) {\n placeholder.style.display = 'none';\n }\n }\n\n private postcodeUpdated(): void {\n let helper = new UICoreCookies;\n if(!this.postcode) {\n helper.deleteCookie('user_postcode')\n } else {\n helper.setCookie('user_postcode', this.postcode)\n }\n }\n}\n","import { render, staticRenderFns } from \"./ProductStockCheck.vue?vue&type=template&id=739efac4&scoped=true&\"\nimport script from \"./ProductStockCheck.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProductStockCheck.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProductStockCheck.vue?vue&type=style&index=0&id=739efac4&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 \"739efac4\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../../../../node_modules/ts-loader/index.js??clonedRuleSet-5[0].rules[0].use[0]!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductStockCheck.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../../../node_modules/ts-loader/index.js??clonedRuleSet-5[0].rules[0].use[0]!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductStockCheck.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"product__stock-check\"},[(!_vm.showStockCheck)?_vm._t(\"default\"):_vm._e(),_vm._v(\" \"),(_vm.showStockCheck)?[_c('div',{staticClass:\"--header\"},[(!_vm.isItemOnlyOnlineAvailable)?_c('button',{class:{ '--active': _vm.showStockForm },on:{\"click\":function($event){return _vm.toggleStockCheck()}}},[_c('span'),_vm._v(\"\\n \"+_vm._s(_vm.$t('View the stock in store'))+\"\\n \")]):_vm._e()]),_vm._v(\" \"),_c('transition',{attrs:{\"name\":\"fade\"}},[_c('section',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showStockForm),expression:\"showStockForm\"}]},[_c('div',{staticClass:\"product__stock-check__form\"},[_c('ValidationObserver',{attrs:{\"slim\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('form',{on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return handleSubmit(_vm.fetchStockByPostcode)}}},[_c('ValidationProvider',{attrs:{\"name\":_vm.$t('Postcode or city'),\"rules\":\"required\",\"skip-if-empty\":false,\"slim\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar classes = ref.classes;\nreturn [_c('section',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.postcode),expression:\"postcode\"}],ref:\"postcodeInput\",attrs:{\"placeholder\":_vm.$t('1234 AS / Amsterdam'),\"type\":\"text\"},domProps:{\"value\":(_vm.postcode)},on:{\"change\":function($event){return _vm.postcodeUpdated()},\"input\":function($event){if($event.target.composing){ return; }_vm.postcode=$event.target.value}}}),_vm._v(\" \"),_c('button',{staticClass:\"--button\",attrs:{\"type\":\"submit\",\"disabled\":_vm.pending}},[_vm._v(_vm._s(_vm.$t('Search')))])]),_vm._v(\" \"),(errors.length)?_c('span',{staticClass:\"global__message --error\"},[_vm._v(_vm._s(_vm.$t(errors[0])))]):_vm._e()]}}],null,true)})],1)]}}],null,false,2748266334)})],1),_vm._v(\" \"),(_vm.pending)?_c('div',[_c('span',{staticClass:\"--pending\"},[_vm._v(_vm._s(_vm.$t('Please wait, we are loading stock information...')))])]):_vm._e(),_vm._v(\" \"),(_vm.showResult && !_vm.pending)?[(_vm.hasStockResult)?_c('div',{staticClass:\"store__stock__result\"},[_vm._l((_vm.limitedResultSet),function(stockItem){return _c('div',{key:(\"stock-item-\" + (stockItem['store_information']['id'])),staticClass:\"--item\"},[_c('span',{staticClass:\"--indicator\"},[_c('span',{style:((\"backgroundColor: \" + (_vm.getColorCodeByStockCode(stockItem['stock_indicator'])) + \";\"))})]),_vm._v(\" \"),_c('section',[_c('a',{attrs:{\"href\":(_vm.route + \"/\" + (stockItem['store_information']['identifier'])),\"target\":\"_blank\"}},[_vm._v(_vm._s(stockItem['store_information']['name']))]),_vm._v(\" \"),_c('span',{style:((\"color: \" + (_vm.getColorCodeByStockCode(stockItem['stock_indicator'])))),domProps:{\"textContent\":_vm._s(stockItem['stock_message'])}})]),_vm._v(\" \"),_c('small',[_vm._v(_vm._s(_vm.getHumanDistance(stockItem['store_information']['distance_to_client'])))])])}),_vm._v(\" \"),(_vm.result.length > _vm.resultCutoff)?_c('span',{staticClass:\"--toggle\",on:{\"click\":function($event){_vm.showMore = !_vm.showMore}}},[_vm._v(\"\\n \"+_vm._s(_vm.result.length > _vm.resultCutoff && !_vm.showMore ? _vm.$t('Show more') : _vm.$t('Show less'))+\"\\n \")]):_vm._e()],2):_c('span',{staticClass:\"global__message --warning --margin--top\"},[_vm._v(_vm._s(_vm.$t('We can\\'t find a Xenos store with stock, try another city or zip code.')))])]:_vm._e()],2)])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"],"names":["extend","required","Vue","postcode","pending","result","showStockForm","showMore","hasStockResult","showResult","limitedResultSet","this","slice","fetchStockByPostcode","length","data","$solarClient","get","sku","e","toggleStockCheck","$nextTick","$refs","postcodeInput","focus","getColorCodeByStockCode","code","getHumanDistance","distance","Math","floor","created","helper","UICoreCookies","getCookie","placeholder","document","getElementById","style","display","postcodeUpdated","setCookie","deleteCookie","Prop","default","Component","name","components","ValidationProvider","ValidationObserver","render","_vm","_h","$createElement","_c","_self","staticClass","showStockCheck","_e","_t","_v","isItemOnlyOnlineAvailable","class","on","$event","_s","$t","attrs","directives","rawName","value","expression","scopedSlots","_u","key","fn","ref","handleSubmit","stopPropagation","preventDefault","errors","classes","domProps","target","composing","_l","stockItem","route","resultCutoff","staticRenderFns"],"sourceRoot":""}