{"version":3,"sources":["webpack:///./src/pages/ProductsPage.vue?e309","webpack:///./src/components/Other/IZettleProductBuyButton.vue?42e7","webpack:///./src/components/Other/IZettleProductBuyButton.vue?6d54","webpack:///./src/components/Other/IZettleProductBuyButton.vue?ebd3","webpack:///./src/components/Other/IZettleProductBuyButton.vue","webpack:///./src/components/Other/IZettleCartEmbed.vue?1258","webpack:///./src/components/Other/IZettleCartEmbed.vue?b8dd","webpack:///./src/components/Other/IZettleCartEmbed.vue?f3c1","webpack:///./src/components/Other/IZettleCartEmbed.vue","webpack:///./src/pages/ProductsPage.vue?fa9f","webpack:///./src/components/Other/ProductThumb.vue?9ee3","webpack:///./src/components/Other/ProductThumb.vue?f760","webpack:///./src/components/Other/ProductThumb.vue?16d0","webpack:///./src/components/Other/ProductThumb.vue","webpack:///./src/pages/ProductsPage.vue?5087","webpack:///./src/pages/ProductsPage.vue?8ed0","webpack:///./src/pages/ProductsPage.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","domProps","_s","script","staticRenderFns","logos","thin","iZettleProduct","urls","short","required","default","component","Config","SelzStoreId","selzStoreId","toString","staticClass","productPages","_v","data","fields","title","introduction","_l","item","index","key","numberOfPages","linkGen","PageSize","model","value","callback","$$v","currentPage","expression","slot","_e","loading","length","class","url","images","contentfulImageUrlByWidth","directives","name","rawName","orderable","izettleproduct","product","components","IZettleProductBuyButton","QueryPage","setCurrentPageFromQuery","getContent","newVal","pageNum","queryPage","$route","query","undefined","queryPageNr","Number","isNaN","EventBus","$emit","PageIsLoadingEvent","GetFirstEntry","content_type","ProductsPage","order","then","result","Consoler","debugLog","setDocumentTitle","getProductPages","finally","GetEntries","ProductPage","skip","limit","items","Math","ceil","total","document","DocumentTitleBase","immediate","deep","ProductThumb","IZettleCartEmbed"],"mappings":"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","file":"assets/js/ProductsPage.3f281b92.js","sourcesContent":["import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductsPage.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductsPage.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{attrs:{\"data-embed\":\"button\"}},[_c('script',{attrs:{\"type\":\"application/json\"},domProps:{\"innerHTML\":_vm._s(_vm.script)}})]),_c('script',{attrs:{\"async\":\"\",\"src\":\"https://embeds.selzstatic.com/1/loader.js\",\"type\":\"application/javascript\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { Product } from '@/models/selz-product';\r\n\r\n@Component\r\nexport default class IZettleProductBuyButton extends Vue {\r\n @Prop() private iZettleProduct!: Product;\r\n @Prop({ required: false, default: () => false }) private thin!: boolean;\r\n @Prop({ required: false, default: () => false }) private logos!: boolean;\r\n\r\n private get script(): string {\r\n return `{\r\n \"action\": {\r\n \"root\": \"add-to-cart\",\r\n \"product\": \"add-to-cart\"\r\n },\r\n \"colors\": {\r\n \"buttons\": {\r\n \"background\": \"#6aca89\",\r\n \"text\": \"#ffffff\"\r\n },\r\n \"checkout\": {\r\n \"background\": \"#6aca89\",\r\n \"text\": \"#ffffff\"\r\n }\r\n },\r\n \"layout\": { \"product\": \"portrait\" },\r\n \"logos\": ${this.logos ? 'true' : 'false'},\r\n \"modal\": { \"checkout\": false, \"product\": true },\r\n \"saleRibbons\": { \"product\": false },\r\n \"showFileList\": true,\r\n \"showQuantity\": true,\r\n \"showSku\": true,\r\n \"squareImages\": { \"product\": false },\r\n ${this.thin ? `\"style\": \"price-above\",` : ''}\r\n \"text\": \"${this.thin ? 'Köp' : 'Lägg i varukorg'}\",\r\n \"url\": \"${this.iZettleProduct.urls.short}\"\r\n }`;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IZettleProductBuyButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IZettleProductBuyButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IZettleProductBuyButton.vue?vue&type=template&id=6267cb94&\"\nimport script from \"./IZettleProductBuyButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./IZettleProductBuyButton.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{attrs:{\"data-embed\":\"cart\"}},[_c('script',{attrs:{\"type\":\"application/json\"},domProps:{\"innerHTML\":_vm._s(_vm.script)}})]),_c('script',{attrs:{\"async\":\"\",\"src\":\"https://embeds.selzstatic.com/1/loader.js\",\"type\":\"application/javascript\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport { Config } from '@/utils/Config';\r\n\r\n@Component\r\nexport default class IZettleCartEmbed extends Vue {\r\n private get selzStoreId(): number {\r\n return Config.SelzStoreId;\r\n }\r\n\r\n private get script(): string {\r\n return `{\r\n \"colors\": {\r\n \"buttons\": { \"background\": \"#6aca89\", \"text\": \"#ffffff\" },\r\n \"checkout\": { \"background\": \"#6aca89\", \"text\": \"#ffffff\" }\r\n },\r\n \"store\": ${this.selzStoreId.toString()}\r\n }`;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IZettleCartEmbed.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IZettleCartEmbed.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IZettleCartEmbed.vue?vue&type=template&id=26c4d7f8&\"\nimport script from \"./IZettleCartEmbed.vue?vue&type=script&lang=ts&\"\nexport * from \"./IZettleCartEmbed.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"section home subpage thin-hero\"}),_c('div',{staticClass:\"section\",attrs:{\"id\":\"firstContent\"}},[(_vm.productPages.length)?_c('b-container',[_c('b-row',[_c('b-colxx',{staticClass:\"text-center\",attrs:{\"xxs\":\"12\"}},[_c('h1',[_vm._v(_vm._s(_vm.data.fields.title))]),_c('p',[_vm._v(_vm._s(_vm.data.fields.introduction))])])],1),_c('b-row',{staticClass:\"mt-5\"},_vm._l((_vm.productPages),function(item,index){return _c('ProductThumb',{key:index,attrs:{\"data\":item}})}),1),(_vm.numberOfPages > 1)?_c('b-row',[_c('b-colxx',{staticClass:\"text-center mt-5 mb-5\",attrs:{\"xxs\":\"12\"}},[_c('b-pagination-nav',{attrs:{\"use-router\":true,\"align\":\"center\",\"number-of-pages\":_vm.numberOfPages,\"link-gen\":_vm.linkGen,\"per-page\":_vm.PageSize},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}},[_c('i',{staticClass:\"icon-arrow-right\",attrs:{\"slot\":\"next-text\"},slot:\"next-text\"}),_vm._v(\"\\\"\\n \"),_c('i',{staticClass:\"icon-arrow-left\",attrs:{\"slot\":\"prev-text\"},slot:\"prev-text\"}),_vm._v(\"\\\"\\n \"),_c('i',{staticClass:\"icon-control-start\",attrs:{\"slot\":\"first-text\"},slot:\"first-text\"}),_vm._v(\"\\\"\\n \"),_c('i',{staticClass:\"icon-control-end\",attrs:{\"slot\":\"last-text\"},slot:\"last-text\"}),_vm._v(\"\\\"\\n \")])],1)],1):_vm._e()],1):_vm._e(),(!_vm.loading && !_vm.productPages.length)?_c('b-container',[_c('b-row',{staticClass:\"mt-5\"},[_vm._v(\"Inga produkter tillgängliga just nu.\")])],1):_vm._e()],1),_c('IZettleCartEmbed')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-colxx',{staticClass:\"mb-4\",attrs:{\"xxs\":\"12\",\"lg\":\"6\"}},[_c('b-card',{staticClass:\"flex-row mb-5 listing-card-container\",attrs:{\"no-body\":\"\"}},[_c('div',{staticClass:\"w-40 position-relative\"},[_c('router-link',{class:{ 'video-play-icon': false },attrs:{\"to\":_vm.url,\"tag\":\"a\"}},[(false)?_c('span'):_vm._e(),(_vm.data.fields.images && _vm.data.fields.images.length)?_c('img',{staticClass:\"card-img-left\",attrs:{\"src\":_vm.contentfulImageUrlByWidth(_vm.data.fields.images[0], 276),\"alt\":_vm.data.fields.title}}):_vm._e()])],1),_c('div',{staticClass:\"w-60 d-flex align-items-center\"},[_c('b-card-body',[_c('router-link',{attrs:{\"to\":_vm.url,\"tag\":\"a\"}},[_c('h3',{staticClass:\"mb-4 listing-heading\"},[_vm._v(_vm._s(_vm.data.fields.title))]),_c('p',{directives:[{name:\"line-clamp\",rawName:\"v-line-clamp\",value:(4),expression:\"4\"}],staticClass:\"listing-desc v-line-clamp\"},[_vm._v(\"\\n \"+_vm._s(_vm.data.fields.introduction)+\"\\n \")])]),_c('footer',[(_vm.iZettleProduct !== null && _vm.orderable)?_c('IZettleProductBuyButton',{attrs:{\"iZettleProduct\":_vm.iZettleProduct}}):_vm._e()],1)],1)],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\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport IZettleProductBuyButton from '@/components/Other/IZettleProductBuyButton.vue';\r\nimport { ProductPageData } from '@/models/pages';\r\nimport linkResolver from '@/contentful/link-resolver';\r\nimport { Product } from '@/models/selz-product';\r\n\r\n@Component({\r\n components: {\r\n IZettleProductBuyButton\r\n }\r\n})\r\nexport default class ProductThumb extends Vue {\r\n @Prop() private data!: ProductPageData;\r\n\r\n private get orderable(): boolean {\r\n return this.data !== null && this.data.fields.orderable === true;\r\n }\r\n\r\n private get iZettleProduct(): Product | null {\r\n return this.data !== null && this.data.fields.izettleproduct !== null\r\n ? this.data.fields.izettleproduct.product\r\n : null;\r\n }\r\n\r\n private get url(): string {\r\n return linkResolver(this.data);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductThumb.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductThumb.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductThumb.vue?vue&type=template&id=bc2da9e8&\"\nimport script from \"./ProductThumb.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProductThumb.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","\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\r\nimport { Component, Vue, Watch } from 'vue-property-decorator';\r\nimport ProductThumb from '@/components/Other/ProductThumb.vue';\r\nimport IZettleCartEmbed from '@/components/Other/IZettleCartEmbed.vue';\r\nimport { ContentfulHelper } from '@/helpers/contentful-helper';\r\nimport {\r\n ProductsPageData,\r\n ProductPageData,\r\n PageContentTypes\r\n} from '@/models/pages';\r\nimport { Config } from '@/utils/Config';\r\nimport { EventBus } from '@/utils/EventBus';\r\nimport { Consoler } from '@/utils/Consoler';\r\n\r\n@Component({\r\n components: {\r\n ProductThumb,\r\n IZettleCartEmbed\r\n }\r\n})\r\nexport default class ProductsPage extends Vue {\r\n private get selzStoreId() {\r\n return Config.SelzStoreId;\r\n }\r\n\r\n private get skip(): number {\r\n return (this.currentPage - 1) * this.PageSize;\r\n }\r\n 7;\r\n private data: ProductsPageData | null = null;\r\n\r\n private readonly QueryPage = 'page';\r\n private readonly PageSize: number = 8;\r\n\r\n private numberOfPages: number = 1;\r\n private currentPage: number = 1;\r\n private loading: boolean = true;\r\n\r\n private productPages: ProductPageData[] = [];\r\n\r\n created() {\r\n this.setCurrentPageFromQuery();\r\n this.getContent();\r\n }\r\n\r\n // Watch url change\r\n @Watch('$route', { immediate: false, deep: true })\r\n private onUrlChange(newVal: any) {\r\n this.setCurrentPageFromQuery();\r\n this.getContent();\r\n }\r\n\r\n private linkGen(pageNum) {\r\n return '?page=' + pageNum;\r\n }\r\n private setCurrentPageFromQuery() {\r\n const queryPage = this.$route.query[this.QueryPage];\r\n if (queryPage !== undefined && queryPage !== null && queryPage !== '') {\r\n const queryPageNr = Number(queryPage);\r\n if (!isNaN(queryPageNr)) {\r\n this.currentPage = queryPageNr;\r\n }\r\n }\r\n }\r\n\r\n private getContent(): void {\r\n this.loading = true;\r\n this.data = null;\r\n EventBus.$emit(Config.PageIsLoadingEvent, true);\r\n\r\n ContentfulHelper.GetFirstEntry(this.$route, {\r\n content_type: PageContentTypes.ProductsPage,\r\n order: 'sys.createdAt'\r\n })\r\n .then(result => {\r\n this.data = result as ProductsPageData;\r\n Consoler.debugLog('Fetched products page', this.data);\r\n this.setDocumentTitle();\r\n return this.getProductPages();\r\n })\r\n .finally(() => {\r\n this.loading = false;\r\n EventBus.$emit(Config.PageIsLoadingEvent, false);\r\n });\r\n }\r\n\r\n private getProductPages(): Promise {\r\n this.productPages = [];\r\n\r\n return ContentfulHelper.GetEntries(this.$route, {\r\n content_type: PageContentTypes.ProductPage,\r\n skip: this.skip,\r\n limit: this.PageSize,\r\n order: '-fields.sortOrder'\r\n }).then(result => {\r\n this.productPages = result.items as ProductPageData[];\r\n this.numberOfPages = Math.ceil(result.total / this.PageSize);\r\n Consoler.debugLog(\r\n 'Product pages fetched successfully.',\r\n this.productPages\r\n );\r\n });\r\n }\r\n\r\n private setDocumentTitle() {\r\n document.title =\r\n Config.DocumentTitleBase +\r\n (this.data !== null ? ' - ' + this.data.fields.title : '');\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductsPage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductsPage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductsPage.vue?vue&type=template&id=3001ab30&\"\nimport script from \"./ProductsPage.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProductsPage.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProductsPage.vue?vue&type=style&index=0&lang=scss&\"\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":""}