{"version":3,"sources":["webpack:///./src/views/Product.vue?b30b","webpack:///./src/views/Product.vue?8788","webpack:///./src/views/Product.vue","webpack:///./src/views/Product.vue?0410","webpack:///./src/views/Product.vue?4924"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","loading","_l","cat","key","id","class","product","category","staticStyle","on","$event","navigateCategory","_v","_s","name","_e","navigateProduct","staticRenderFns","console","log","routeParam","$route","params","setupProduct","productId","GetProduct","setupCategories","categoryId","GetAllCategories","categories","$router","push","path","components","FoodinProduct","PulseLoader","component"],"mappings":"yIAAA,yBAAse,EAAG,G,yCCAze,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,sBAAsB,CAAEN,EAAW,QAAEI,EAAG,MAAM,CAACA,EAAG,eAAe,CAACG,MAAM,CAAC,QAAUP,EAAIQ,YAAY,GAAIR,EAAW,QAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAAEJ,EAAc,WAAEI,EAAG,QAAQ,CAACE,YAAY,mBAAmBC,MAAM,CAAC,GAAK,MAAM,CAACP,EAAIS,GAAIT,EAAc,YAAE,SAASU,GAAK,OAAON,EAAG,MAAM,CAACO,IAAID,EAAIE,IAAI,CAACR,EAAG,WAAW,CAACS,MAAMH,EAAIE,IAAMZ,EAAIc,QAAQC,SAASH,GAAK,iBAAmB,oBAAoBI,YAAY,CAAC,MAAQ,OAAO,gBAAgB,QAAQC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOlB,EAAImB,iBAAiBT,EAAIE,OAAO,CAACZ,EAAIoB,GAAG,IAAIpB,EAAIqB,GAAGX,EAAIY,MAAM,QAAQ,MAAKlB,EAAG,IAAI,CAACE,YAAY,cAAc,CAACN,EAAIoB,GAAG,4FAA4F,GAAGpB,EAAIuB,KAAKnB,EAAG,QAAQ,CAACG,MAAM,CAAC,GAAK,OAAO,CAACH,EAAG,iBAAiB,CAACG,MAAM,CAAC,QAAUP,EAAIc,SAASG,GAAG,CAAC,mBAAmBjB,EAAIwB,oBAAoB,IAAI,IAAI,GAAGxB,EAAIuB,QACp7BE,EAAkB,G,0JC4CD,EAArB,6D,+DAGI,EAAAjB,SAAmB,EAHvB,8KASQkB,QAAQC,IAAI,WACZ1B,KAAKO,SAAU,EAEXoB,EAAa3B,KAAK4B,OAAOC,OAAOlB,GAZ5C,kCAacX,KAAK8B,aAAaH,IAbhC,OAeQ3B,KAAKO,SAAU,EAfvB,iFAmBQkB,QAAQC,IAAI,aAnBpB,mCAyBuBK,GAzBvB,2HA0B6B,OAAWC,WAAWD,IA1BnD,cA0BQ/B,KAAKa,QA1Bb,yCA2Bcb,KAAKiC,gBAAgBjC,KAAKa,QAAQC,SAASH,KA3BzD,uFA8B0BuB,GA9B1B,2HA+BgC,OAAYC,oBA/B5C,OA+BQnC,KAAKoC,WA/Bb,OAgCQX,QAAQC,IAAI1B,KAAKoC,YAhCzB,uFAmCoBL,GACZ/B,KAAKqC,QAAQC,KAAK,CAAEC,KAAM,YAAF,OAAcR,OApC9C,uCAuCqBG,GACblC,KAAKqC,QAAQC,KAAK,CAAEC,KAAM,aAAF,OAAeL,SAxC/C,GAAyC,QAApB,EAAW,gBAN/B,eAAU,CACPM,WAAY,CACRC,cAAA,OACAC,cAAA,SAGa,WC7C6W,I,wBCQ9XC,EAAY,eACd,EACA7C,EACA0B,GACA,EACA,KACA,WACA,MAIa,aAAAmB,E","file":"js/chunk-74ec8f30.0d3c3be0.js","sourcesContent":["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!./Product.vue?vue&type=style&index=0&id=18814e24&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!./Product.vue?vue&type=style&index=0&id=18814e24&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"limit-width center\"},[(_vm.loading)?_c('div',[_c('pulse-loader',{attrs:{\"loading\":_vm.loading}})],1):(_vm.product)?_c('div',[_c('b-row',[(_vm.categories)?_c('b-col',{staticClass:\"margin-top-match\",attrs:{\"lg\":\"2\"}},[_vm._l((_vm.categories),function(cat){return _c('div',{key:cat.id},[_c('b-button',{class:cat.id == _vm.product.category.id ? 'activeCategory' : 'bg-foodin-primary',staticStyle:{\"width\":\"100%\",\"margin-bottom\":\"10px\"},on:{\"click\":function($event){return _vm.navigateCategory(cat.id)}}},[_vm._v(\" \"+_vm._s(cat.name)+\" \")])],1)}),_c('p',{staticClass:\"disclaimer\"},[_vm._v(\" Disclaimer: No rights can be derived from the information provided on this website. \")])],2):_vm._e(),_c('b-col',{attrs:{\"lg\":\"10\"}},[_c('foodin-product',{attrs:{\"product\":_vm.product},on:{\"navigate-product\":_vm.navigateProduct}})],1)],1)],1):_vm._e()])}\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\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport ProductApi from '@/services/productService';\nimport CategoryApi from '@/services/categoryService';\nimport { Product, Category } from '@/types/types';\nimport FoodinProduct from '@/components/foodin-product.vue';\nimport PulseLoader from 'vue-spinner/src/PulseLoader.vue';\n\n@Component({\n components: {\n FoodinProduct,\n PulseLoader\n }\n})\nexport default class ProductPage extends Vue {\n //Data\n product!: Product;\n loading: Boolean = true;\n categories!: Category[];\n //End Data\n\n //Create and Mount\n async created() {\n console.log('created');//eslint-disable-line no-console\n this.loading = true;\n\n let routeParam = this.$route.params.id;\n await this.setupProduct(routeParam);\n\n this.loading = false;\n }\n\n mounted() {\n console.log('mounted');//eslint-disable-line no-console\n }\n //Finish Create and Mount\n\n\n //Methods\n async setupProduct(productId: any) {\n this.product = await ProductApi.GetProduct(productId);\n await this.setupCategories(this.product.category.id);\n }\n\n async setupCategories(categoryId: any) {\n this.categories = await CategoryApi.GetAllCategories();\n console.log(this.categories)//eslint-disable-line no-console\n }\n\n navigateProduct(productId: Number) {\n this.$router.push({ path: `/product/${productId}` });\n }\n\n navigateCategory(categoryId: Number) {\n this.$router.push({ path: `/category/${categoryId}` });\n }\n //End Methods\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!./Product.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!./Product.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Product.vue?vue&type=template&id=18814e24&scoped=true&\"\nimport script from \"./Product.vue?vue&type=script&lang=ts&\"\nexport * from \"./Product.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Product.vue?vue&type=style&index=0&id=18814e24&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 \"18814e24\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}