{"version":3,"file":"8965.js?id=6996cd0587f24c11","mappings":"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","sources":["webpack://website-js/./src/components/product-details/DetailsDatasheet.vue?b3ea","webpack://website-js/./src/components/product-details/DetailsDatasheet.vue","webpack://website-js/./src/services/GS1DataService.ts","webpack://website-js/./src/components/product-details/DetailsDatasheet.vue?e187","webpack://website-js/./src/components/product-details/DetailsDatasheet.vue?d4f5","webpack://website-js/./src/components/product-details/DetailsDatasheet.vue?1300","webpack://website-js/./src/components/product-details/DetailsDatasheet.vue?f103"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.details-datasheet-list-item{display:flex;margin-bottom:7px}.details-datasheet-list-item>div:first-of-type{flex:1}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.data && _vm.translationsReady)?_c('div',{staticClass:\"details-datasheet\"},[_c('ul',{attrs:{\"uk-accordion\":\"\"}},[(_vm.ingredientsHtml)?_c('li',[_c('a',{staticClass:\"uk-accordion-title\",attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(_vm.$t('datasheet.ingredients', ['Ingredienser'])))]),_c('div',{staticClass:\"uk-accordion-content\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.ingredientsHtml)}})])]):_vm._e(),(_vm.packaging)?_c('li',[_c('a',{staticClass:\"uk-accordion-title\",attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(_vm.$t('datasheet.packaging', ['Emballageinformation'])))]),_c('div',{staticClass:\"uk-accordion-content\"},_vm._l((_vm.packaging),function(item,index){return _c('div',{key:index,staticClass:\"details-datasheet-list-item\"},[_c('div',[_vm._v(_vm._s(item.key))]),_c('div',[_vm._v(_vm._s(item.value))])])}),0)]):_vm._e(),(_vm.nutrients)?_c('li',[_c('a',{staticClass:\"uk-accordion-title\",attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(_vm.$t('datasheet.nutrients', [ _vm.nutrientheader.servingsize, _vm.nutrientheader.unit, 'Næringsindhold pr {0} {1}', ])))]),_c('div',{staticClass:\"uk-accordion-content\"},_vm._l((_vm.nutrients),function(item,index){return _c('div',{key:index,staticClass:\"details-datasheet-list-item\"},[_c('div',[_vm._v(_vm._s(item.key))]),_c('div',[_vm._v(_vm._s(item.value))])])}),0)]):_vm._e(),(_vm.allergens)?_c('li',[_c('a',{staticClass:\"uk-accordion-title\",attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(_vm.$t('datasheet.allergens', ['Allergener'])))]),_c('div',{staticClass:\"uk-accordion-content\"},_vm._l((_vm.allergens),function(item,index){return _c('p',{key:index},[_vm._v(\" \"+_vm._s(item.key)+\" \"),_c('strong',[_vm._v(_vm._s(item.value))])])}),0)]):_vm._e(),(_vm.manufactoringinfo)?_c('li',[_c('a',{staticClass:\"uk-accordion-title\",attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(_vm.$t('datasheet.manufactoringinfo', ['Produktionsinformation'])))]),_c('div',{staticClass:\"uk-accordion-content\"},_vm._l((_vm.manufactoringinfo),function(item,index){return _c('div',{key:index,staticClass:\"details-datasheet-list-item\"},[_c('div',[_vm._v(_vm._s(item.key))]),_c('div',[_vm._v(_vm._s(item.value))])])}),0)]):_vm._e()])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios, { AxiosResponse } from 'axios';\n\nexport default class GS1DataService {\n private profileId: string = (window as any).CbxApiContextKey;\n private endpoint: string;\n\n constructor(args: any = {}) {\n if (args.profileId) this.profileId = args.profileId;\n this.endpoint = `/contextapi/${this.profileId}/v1/gs1data`;\n }\n\n public async getByGTIN(gtin: string): Promise<any> {\n try {\n const res: AxiosResponse<any> = await axios.get(`${this.endpoint}/getbygtin/${gtin}`);\n return res.data;\n } catch (e) {\n console.log(e);\n }\n }\n public async getById(id: string): Promise<any> {\n try {\n const res: AxiosResponse<any> = await axios.get(`${this.endpoint}/getbyid/${id}`);\n return res.data;\n } catch (e) {\n console.log(e);\n }\n }\n}\n","\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { DatasheetValue } from '../../models/Product';\nimport { ServingSize } from '../../models/GS1';\nimport GS1DataService from '../../services/GS1DataService';\n\n@Component({\n name: 'DetailsDatasheet',\n})\nexport default class DetailsDatasheet extends Vue {\n @Prop({ type: String, required: false, default: null }) private gtin: string;\n @Prop({ type: String, required: false, default: null }) private sku: string;\n\n\n private service: GS1DataService = new GS1DataService();\n private data: any = null;\n\n get translationsReady(): boolean {\n return this.$root.$data.translationsLoaded === true;\n }\n\n get ingredientinfo(): DatasheetValue[] {\n return this.data?.ingredientinfo;\n }\n\n get ingredients(): string {\n return this.ingredientinfo?.find((item) => item.key === 'da')?.value;\n }\n\n get ingredientsHtml(): string {\n if(!this.ingredients) return null\n return this.ingredients\n .split(' ')\n .map((x) => ({ word: x, cleanWord: this.removeSpecialChars(x) }))\n .map((input) =>\n this.wordIsUppercase(input.cleanWord) || this.allergens.map((x) => x.value).includes(input.cleanWord)\n ? `<b>${input.word}</b>`\n : input.word\n )\n .join(' ');\n }\n\n get packaging(): DatasheetValue[] {\n return this.data?.packaging;\n }\n\n get allergeninfo(): DatasheetValue[] {\n return this.data?.allergeninfo;\n }\n\n get allergens(): DatasheetValue[] {\n return this.allergeninfo;\n }\n\n get nutrients(): DatasheetValue[] {\n return this.data?.nutritioninfo;\n }\n\n get nutrientheader(): ServingSize {\n return this.data?.nutrientheader;\n }\n\n get manufactoringinfo(): DatasheetValue[] {\n return this.data?.manufactoringinfo;\n }\n\n private removeSpecialChars(word: string) {\n return word.replace(/([^a-zA-z0-9]+)/g, (s0) => '');\n }\n\n private wordIsUppercase(word: string) {\n // All except a-zA-Z-0-9 will be removed.\n return /^[A-ZÆØÅ]+$/.test(word);\n }\n\n private async created() {\n if (this.gtin)\n this.data = await this.service.getByGTIN(this.gtin)\n\n if (this.data == null && this.sku)\n this.data = await this.service.getById(this.sku)\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??clonedRuleSet-41.use[0]!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[3]!../../../node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!../../../node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./DetailsDatasheet.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??clonedRuleSet-41.use[0]!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[3]!../../../node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!../../../node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./DetailsDatasheet.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DetailsDatasheet.vue?vue&type=template&id=353c37c1&\"\nimport script from \"./DetailsDatasheet.vue?vue&type=script&lang=ts&\"\nexport * from \"./DetailsDatasheet.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DetailsDatasheet.vue?vue&type=style&index=0&id=353c37c1&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/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","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!../../../node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!../../../node_modules/@vue/cli-service/lib/config/vue-loader-v15-resolve-compat/vue-loader.js??vue-loader-options!./DetailsDatasheet.vue?vue&type=style&index=0&id=353c37c1&prod&lang=scss&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"389d7e88\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["___CSS_LOADER_EXPORT___","push","module","id","render","_vm","this","_c","_self","_setupProxy","data","translationsReady","staticClass","attrs","ingredientsHtml","_v","_s","$t","domProps","_e","packaging","_l","item","index","key","value","nutrients","nutrientheader","servingsize","unit","allergens","manufactoringinfo","staticRenderFns","GS1DataService","constructor","args","_defineProperty","window","CbxApiContextKey","profileId","endpoint","async","gtin","res","axios","e","console","log","DetailsDatasheet","Vue","$root","$data","translationsLoaded","ingredientinfo","ingredients","find","split","map","x","word","cleanWord","removeSpecialChars","input","wordIsUppercase","includes","join","allergeninfo","nutritioninfo","replace","s0","test","service","getByGTIN","sku","getById","__decorate","Prop","type","String","required","default","Component","name","component","content","__esModule","locals","exports","add"],"sourceRoot":""}