\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./message.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./message.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./message.vue?vue&type=template&id=001d673c\"\nimport script from \"./message.vue?vue&type=script&lang=js\"\nexport * from \"./message.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/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","export default {\r\n methods: {\r\n /*\r\n * Validate data based on input\r\n */\r\n validateData(data, step) {\r\n // Parse validation data\r\n let parsedData = this.parsevalidationData(data, step);\r\n\r\n // Console log if in dev, test or beta environment\r\n this.clog(\"data for validation\", parsedData);\r\n\r\n // Create encrypted data\r\n let encryptedData = JSON.stringify(\r\n this.encrypt(JSON.stringify(parsedData))\r\n );\r\n\r\n // Create api string\r\n let apiString = `/api/validate`;\r\n\r\n return this.axios({\r\n method: \"post\",\r\n url: apiString,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"x-ws-key\": process.env.VUE_APP_KEY,\r\n Authorization: `Bearer ${this.$store.state.token}`,\r\n },\r\n data: encryptedData,\r\n }).then((response) => {\r\n return response.data;\r\n });\r\n },\r\n /*\r\n * Parse validation fields from product\r\n */\r\n parsevalidationData(data, step) {\r\n // Parsed data to return\r\n let parsedData = new Object();\r\n\r\n // eslint-disable-next-line no-unused-vars\r\n for (const [key, value] of Object.entries(data.fields)) {\r\n if (value.validation && (!value.step || value.step == step || (\"extraValidationSteps\" in value && value.extraValidationSteps.includes(step)))) {\r\n parsedData[value.property] = value.filter\r\n ? this.$options.filters[value.filter](value.value)\r\n : value.value;\r\n }\r\n }\r\n\r\n // Return parsed data\r\n return parsedData;\r\n },\r\n },\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.policy)?_c('form',{attrs:{\"id\":\"bmcLeasing\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.updatePolicy.apply(null, arguments)}}},[_c('div',{staticClass:\"container small margin-bottom-30\"},[_vm._m(0),_c('h1',{staticClass:\"page-headline margin-bottom-40\"},[_vm._v(_vm._s(_vm.product.productName))]),_vm._m(1)]),(_vm.product.fields.registrationNumber.value)?_c('div',{staticClass:\"container small\"},[_c('div',{staticClass:\"vehicle-information border-radius-lg margin-top-0\"},[_c('i',{staticClass:\"fa-light fa-fw fa-car-side vehicle-icon\"}),_c('div',{staticClass:\"vehicle-information-text\"},[_c('span',{staticClass:\"registration-number\"},[_vm._v(\"Oplysninger for \"),_c('b',[_vm._v(\"\\\"\"+_vm._s(_vm.product.fields.registrationNumber.value)+\"\\\"\")])]),_c('table',{staticClass:\"vehicle-information-table\"},[_c('tr',[_c('td',[_vm._v(\"Mærke\")]),_c('td',[_vm._v(_vm._s(_vm.product.fields.vehicleBrand.value))])]),_c('tr',[_c('td',[_vm._v(\"Model\")]),_c('td',[_vm._v(_vm._s(_vm.product.fields.vehicleModel.value))])]),_c('tr',[_c('td',[_vm._v(\"Årgang\")]),_c('td',[_vm._v(_vm._s(_vm.product.fields.modelYear.value))])]),_c('tr',[_c('td',[_vm._v(\"Variant\")]),_c('td',[_vm._v(_vm._s(_vm.product.fields.vehicleVariant.value))])])])])])]):_vm._e(),_c('packages',{staticClass:\"margin-top-60\",attrs:{\"altLinkText\":\"Læs mere om vores bilforsikring\",\"altErrorMessage\":\"Vælg en pakke, for at kunne opdatere din forsikring.\",\"packages\":_vm.product.packages,\"packageLink\":_vm.product.packageLink,\"requirementsMet\":_vm.allRequirementsMet},on:{\"packageChoice\":_vm.choosePackage},scopedSlots:_vm._u([(_vm.product.fields.excessId.selected)?{key:\"subtitle\",fn:function(){return [_c('p',{staticClass:\"text-align-center margin-bottom-30 margin-top-negative-10 font-size-18\"},[_vm._v(\"Selvrisiko: \"+_vm._s(_vm.product.fields.excessId.selected))])]},proxy:true}:null],null,true)}),_c('coverages',{ref:\"coverages\",attrs:{\"requirementsMet\":_vm.allRequirementsMet},on:{\"packageChoice\":_vm.choosePackage},model:{value:(_vm.product.coverages),callback:function ($$v) {_vm.$set(_vm.product, \"coverages\", $$v)},expression:\"product.coverages\"}}),_c('div',{staticClass:\"container small\"},[_c('h2',{staticClass:\"text-align-center margin-top-60 margin-bottom-40\"},[_vm._v(\" Betalingsoplysninger \")]),(!_vm.policy.hasPayment)?_c('div',{staticClass:\"box\"},[(!_vm.policy.hasPayment)?[_vm._m(2),_c('FormInput',{attrs:{\"data\":_vm.product.fields.regnr,\"product\":_vm.product},on:{\"formFunction\":_vm.formFunction}}),_c('FormInput',{attrs:{\"data\":_vm.product.fields.accountNumber,\"product\":_vm.product},on:{\"formFunction\":_vm.formFunction}})]:_vm._e()],2):_c('Message',{attrs:{\"message\":{\n headline: 'Du er allerede tilmeldt Betalingsservice',\n text: 'Da du allerede er kunde i Aros Forsikring tilføjes betalingen af denne forsikring til din eksisterende Betalingsserviceaftale med Aros Forsikring.',\n },\"type\":\"info\"}})],1),_c('div',{staticClass:\"container small\"},[_c('h2',{staticClass:\"text-align-center margin-top-60 margin-bottom-40\"},[_vm._v(\" Nyhedsbrev og markedsføring \")]),_c('div',{staticClass:\"box\"},[_c('h5',[_vm._v(\"Tilmeld dig vores nyhedsbrev og produktnyheder\")]),_vm._m(3),_c('FormInput',{staticClass:\"margin-bottom-20\",attrs:{\"data\":_vm.product.fields.news,\"product\":_vm.product},on:{\"formFunction\":_vm.formFunction}}),_c('FormInput',{attrs:{\"data\":_vm.product.fields.marketing,\"product\":_vm.product},on:{\"formFunction\":_vm.formFunction}})],1)]),_vm._m(4),_c('product-footer',{attrs:{\"productName\":_vm.product.productName,\"altTitle\":`Mere om ${_vm.product.productName}`,\"productId\":_vm.product.productId,\"productLink\":_vm.product.productLink,\"showContactButton\":false},on:{\"contactFromFooter\":_vm.messageBox}},[_vm._v(\" Med vores bilforsikring er din leasede bil forsvarligt dækket ind i en travl hverdag, hvor meget kan ske – også uheld og ulykker. Du vælger selv, hvilke tilvalgsforsikringer du ønsker at tilføje til din bilforsikring. Er du uheldig og får en skade, kan du frit vælge dit lokale værksted, og vælger du et af vores fordelsværksteder, giver det mulighed for lånebil på attraktive vilkår. \")])],1):_vm._e()\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"logo-image\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/logo/logo-kvadrat-lilla.svg\"),\"alt\":\"Aros Forsikring GS\",\"width\":\"100\",\"height\":\"93\"}})])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',{staticClass:\"text-align-center font-size-18\"},[_c('b',[_vm._v(\"Tillykke med din nye leasingbil fra BMC Leasing.\")]),_c('br'),_c('br'),_vm._v(\"Her på siden kan du udvide din obligatoriske ansvars- og kaskoforsikring med autohjælp og udvidet glasskadeforsikring. Skulle du have brug for at tale med en af vores forsikringsrådgivere, eller vil du gerne have et tilbud på dine øvrige forsikringer, er du altid velkommen til at kontakte os.\"),_c('br'),_c('br'),_vm._v(\" Du kan ringe til os på \"),_c('a',{attrs:{\"href\":\"tel:7060 2402\"}},[_vm._v(\"7060 2402\")]),_vm._v(\" – vi har ingen telefonkø. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"margin-bottom-30\"},[_c('p',[_vm._v(\" Vi tilmelder dig automatisk PBS med månedlig betaling. Vær opmærksom på, at du her i den første opkrævning både skal betale for den igangværende måned og den følgende måned. \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"display-block margin-bottom-20\"},[_c('p',[_vm._v(\" Modtag forebyggende råd og viden om dine kundefordele med vores nyhedsbrev, og få direkte information om vores produktnyheder, når du tilmelder dig vores markedsføring. Du vil modtage nyhedsbreve 1-2 gange om måneden. \")]),_c('p',[_vm._v(\" Du kan til enhver tid tilbagekalde dine samtykker direkte i e-mailen eller via vores hjemmeside. \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"container small margin-top-40\"},[_c('div',{staticClass:\"button-flex-container justify-content-center\"},[_c('button',{staticClass:\"button large-padding\",attrs:{\"type\":\"submit\",\"form\":\"bmcLeasing\"}},[_vm._v(\" Opdater forsikring \")])])])\n}]\n\nexport { render, staticRenderFns }","\r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./M90.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./M90.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./M90.vue?vue&type=template&id=50c3d356&scoped=true\"\nimport script from \"./M90.vue?vue&type=script&lang=js\"\nexport * from \"./M90.vue?vue&type=script&lang=js\"\nimport style0 from \"./M90.vue?vue&type=style&index=0&id=50c3d356&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"50c3d356\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/vue-style-loader/index.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-3!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./M90.vue?vue&type=style&index=0&id=50c3d356&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/vue-style-loader/index.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-3!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./coverages.vue?vue&type=style&index=0&id=32db150c&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"container\",attrs:{\"id\":\"packages\"}},[_c('h2',{staticClass:\"text-align-center margin-top-40 margin-bottom-40\"},[_vm._v(_vm._s(_vm.altTitle || \"Vælg din pakke\"))]),_vm._t(\"subtitle\"),_c('div',{staticClass:\"packages\"},[_vm._l((_vm.packages),function(bundle,index){return [_c('div',{key:index,staticClass:\"package-item\",class:[\n { chosen: bundle.value },\n { loading: bundle.loading },\n { disabled: !bundle.price || !_vm.requirementsMet },\n ],style:(_vm._package_item_style)},[(bundle.infoBox)?_c('span',{staticClass:\"sticker small\"},[_vm._v(_vm._s(bundle.infoBox.text))]):_vm._e(),_c('input',{staticClass:\"package-input\",attrs:{\"type\":\"radio\",\"id\":bundle.name,\"name\":\"package\",\"tabindex\":\"-1\",\"required\":\"\"},domProps:{\"value\":bundle,\"checked\":bundle.value},on:{\"invalid\":function($event){$event.preventDefault();return _vm.onInvalid.apply(null, arguments)}}}),_c('div',{staticClass:\"package-info\"},[(bundle.name != '')?_c('h5',[_vm._v(_vm._s(bundle.name))]):_vm._e(),_c('div',{staticClass:\"package-price\"},[_c('span',{staticClass:\"number\"},[(bundle.price && bundle.price.totalMonthlyPrice && !bundle.loading)?[_vm._v(_vm._s(_vm.numFormat(bundle.price.totalMonthlyPrice)))]:(!bundle.price && !bundle.loading)?[_vm._v(\".....\")]:_vm._e()],2),_c('span',{staticClass:\"description\"},[_vm._v(\"kr./md.\")])])]),_c('div',{staticClass:\"package-coverages\"},[_vm._l((bundle.coverages),function(coverage,index){return [(coverage.show)?_c('div',{key:index,staticClass:\"coverage\",class:{ 'included' : coverage.included },on:{\"click\":function($event){return _vm.showModal(coverage.value, coverage.text || coverage.value)}}},[_vm._v(\" \"+_vm._s(coverage.value)+\" \")]):_vm._e()]})],2),(Object.keys(_vm.packages).length > 1)?_c('div',{staticClass:\"package-buttons\"},[_c('button',{staticClass:\"button block-button\",class:{ 'white': !bundle.value },attrs:{\"type\":\"button\",\"disabled\":!bundle.price || !_vm.requirementsMet},on:{\"click\":function($event){return _vm.choosePackage(bundle)}}},[(bundle.value)?[_vm._v(\"Valgt\")]:[_vm._v(\"Vælg denne pakke\")]],2)]):_vm._e()])]})],2),(_vm.error)?_c('Message',{attrs:{\"message\":_vm.error,\"type\":\"error\"},on:{\"formFunction\":_vm.formFunction}}):_vm._e(),(_vm.packageLink)?_c('div',{staticClass:\"display-block text-align-center margin-top-30\"},[_c('a',{staticClass:\"font-size-16\",attrs:{\"href\":_vm.packageLink,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.altLinkText || \"Læs mere om vores pakker\"))])]):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n
\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./packages.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./packages.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./packages.vue?vue&type=template&id=123ab1d1\"\nimport script from \"./packages.vue?vue&type=script&lang=js\"\nexport * from \"./packages.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/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","export default {\r\n data() {\r\n return {\r\n loading: {\r\n step1: false,\r\n step2: false,\r\n step3: false,\r\n },\r\n error: {\r\n step1: null,\r\n step2: null,\r\n step3: null,\r\n step: null,\r\n price: null,\r\n },\r\n info: {\r\n step1: null,\r\n step2: null,\r\n step3: null,\r\n step: null,\r\n price: null,\r\n },\r\n validationError: null,\r\n existingPolicy: false,\r\n existingPolicyKey: null,\r\n };\r\n },\r\n watch: {\r\n \"product.step\": {\r\n handler: function (newValue, oldValue) {\r\n this.scrollToTop();\r\n\r\n // Update temporary product if product is not existing\r\n if (!this.existingPolicy) {\r\n this.$store.commit(\"temporaryProduct\", this.product);\r\n }\r\n\r\n // If you change step, update router with push,. otherwise just update router with replace, so that navigation is intact\r\n if (oldValue && newValue != oldValue) {\r\n // Update query with new step value\r\n let query = this.copy(this.$route.query);\r\n query.step = newValue;\r\n\r\n // Push value to router\r\n this.$router\r\n .push({ name: this.product.productName, query: query })\r\n .catch(() => {});\r\n } else if (!oldValue && newValue != this.$route.query.step) {\r\n // Update query with new step value\r\n let query = this.copy(this.$route.query);\r\n query.step = newValue;\r\n\r\n // Push value to router\r\n this.$router.replace({\r\n name: this.product.productName,\r\n query: query,\r\n });\r\n }\r\n },\r\n immediate: true,\r\n },\r\n \"$route.query.step\": {\r\n handler(value) {\r\n if (value) {\r\n this.product.step = parseInt(value);\r\n }\r\n },\r\n immediate: true,\r\n },\r\n },\r\n methods: {\r\n /*\r\n * Parse data to api\r\n */\r\n parseSubmitData(product) {\r\n // Create Submit data object with standard baseInfo\r\n let submitData = {\r\n carObjectData: [],\r\n homeObjectData: [],\r\n personalAccidentObjectData: [],\r\n buildingObjectData: [],\r\n caravanObjectData: [],\r\n dogObjectData: [],\r\n travelObjectData: [],\r\n baseInfo: {},\r\n };\r\n\r\n // Loop through packages\r\n for (const [key, value] of Object.entries(product.packages)) {\r\n const pkey = key;\r\n\r\n // Do not parse?\r\n if (\"parse\" in value && !value.parse) {\r\n submitData[product.priceObject].push({ ...value, key: key });\r\n continue;\r\n }\r\n\r\n // Create car object for the array in submitData\r\n let currentObject = {\r\n key: key,\r\n coverages:\r\n \"coveragesBase\" in value\r\n ? this.$options.filters.renderTextInObject(\r\n Array.from(value.coveragesBase),\r\n product\r\n )\r\n : [],\r\n };\r\n\r\n // Run through fields and fill out data\r\n for (const [key, value] of Object.entries(product.fields)) {\r\n // Only send if the field is set to export\r\n if (value.export) {\r\n currentObject[key] = value.value;\r\n }\r\n\r\n // If base info set to true, export to baseInfo\r\n if (value.baseInfo) {\r\n submitData.baseInfo[key] = value.value;\r\n }\r\n }\r\n\r\n // Reset price on package\r\n value.price = null;\r\n\r\n // Set bundle to loading\r\n value.loading = true;\r\n\r\n // Run through coverages and put in car object\r\n if (\"coverages\" in value) {\r\n value.coverages.forEach((element) => {\r\n // Only send if package is included and set to export\r\n if (element.included && element.export) {\r\n // Create coverage element\r\n let coverage = {\r\n bundleCode: element.key,\r\n excessId: product.fields.excessId.value,\r\n };\r\n\r\n // Inject values\r\n if (\"inject\" in element) {\r\n for (const key in element.inject) {\r\n coverage[key] = product.fields[element.inject[key]].value;\r\n }\r\n }\r\n\r\n // Push this coverage to car object\r\n currentObject.coverages.push(coverage);\r\n }\r\n });\r\n }\r\n\r\n //Run through extra coverages and put in coverages\r\n if (product.coverages && \"coverages\" in value) {\r\n //eslint-disable-next-line no-unused-vars\r\n for (const [key, value] of Object.entries(product.coverages)) {\r\n // Only send if coverage is chosen\r\n if (value.chosen) {\r\n const keys = Array.isArray(value.keys) ? value.keys : value.keys[pkey];\r\n\r\n // Run through keys on extra coverage\r\n keys.forEach((element) => {\r\n let coverage = {\r\n bundleCode: element,\r\n excessId: product.fields.excessId.value,\r\n };\r\n\r\n // Inject values\r\n if (\"inject\" in value) {\r\n for (const key in value.inject) {\r\n coverage[key] = product.fields[value.inject[key]].value;\r\n }\r\n }\r\n\r\n // Push this coverage to car object\r\n currentObject.coverages.push(coverage);\r\n });\r\n }\r\n }\r\n }\r\n\r\n // Map if priceobject is 'personalAccidentObjectData'\r\n if (product.priceObject == \"personalAccidentObjectData\") {\r\n currentObject.coverages = currentObject.coverages.map((cov) => {\r\n if ([200, 250].includes(parseInt(cov.bundleCode))) {\r\n cov.bundleSumInsured = parseInt(currentObject.bundleSumInsured);\r\n }\r\n\r\n if ([100].includes(parseInt(cov.bundleCode))) {\r\n cov.bundleSumInsured = parseInt(currentObject.deathSumInsured);\r\n }\r\n\r\n return cov;\r\n });\r\n }\r\n\r\n // Push to submit data\r\n submitData[product.priceObject].push(currentObject);\r\n\r\n // Add extra products\r\n if (\"extra\" in product) {\r\n for (const key in product.extra) {\r\n const extra = product.extra[key];\r\n\r\n if (extra.chosen) {\r\n let prod = { ...extra.product, key: `extra_${key}` };\r\n\r\n // imports from main product\r\n if (\"import\" in extra) {\r\n for (const imp of extra.import) {\r\n prod[imp] = currentObject[imp];\r\n }\r\n }\r\n\r\n // Add prod\r\n submitData[product.priceObject].push(prod);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return submitData;\r\n },\r\n /*\r\n * Function for changing step\r\n */\r\n changeStep(step) {\r\n this.product.step = step;\r\n },\r\n /*\r\n * Remove packages\r\n */\r\n resetPackages() {\r\n let self = this;\r\n\r\n // Set all packages to false\r\n // eslint-disable-next-line no-unused-vars\r\n for (const [key, value] of Object.entries(self.product.packages)) {\r\n value.value = false;\r\n }\r\n },\r\n /*\r\n * When a package is chosen\r\n */\r\n choosePackage(value) {\r\n this.product.package = value;\r\n\r\n // Reset selection\r\n this.resetPackages();\r\n value.value = true;\r\n\r\n // Track data for retargeting\r\n this.trackData(\"calculatePrice\", this.product, this.$store.state.basket);\r\n\r\n // Update temporary product if product is not existing\r\n if (!this.existingPolicy) {\r\n this.$store.commit(\"temporaryProduct\", this.product);\r\n }\r\n // If exiting policy, update existing policy\r\n if (this.existingPolicy && this.allRequirementsMet) {\r\n this.updateExistingPolicy(this.product, this.existingPolicyKey);\r\n }\r\n },\r\n /*\r\n * Go to message box\r\n */\r\n messageBox() {\r\n this.$router.push({\r\n name: \"Henvendelse\",\r\n params: {\r\n validation: this.validationError,\r\n },\r\n });\r\n },\r\n /*\r\n * Set from price response\r\n */\r\n insertPrice(data) {\r\n // Check if the response has objects\r\n if (data.objects && data.objects.length > 0) {\r\n // Run through coverages and put in car object\r\n data.objects.forEach((element) => {\r\n if (\"key\" in element && element.key.indexOf(\"extra_\") == 0) {\r\n // Price is for extra product\r\n this.product.extraPrices[element.key.split(\"_\")[1]] = element;\r\n } else if (\"key\" in element) {\r\n // Price is for package\r\n this.product.packages[element.key].price = element;\r\n\r\n // Remove loading\r\n this.product.packages[element.key].loading = false;\r\n } else {\r\n // Add object as key\r\n element.key = element.object.toLowerCase();\r\n\r\n // Price is for package\r\n this.product.packages[element.object.toLowerCase()].price = element;\r\n\r\n // Remove loading\r\n this.product.packages[element.object.toLowerCase()].loading = false;\r\n }\r\n });\r\n }\r\n },\r\n /*\r\n * Form error\r\n */\r\n formError(property, value) {\r\n this.product.fields[property].error = value;\r\n },\r\n },\r\n};\r\n","module.exports = __webpack_public_path__ + \"img/logo-kvadrat-lilla.b6b44300.svg\";","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:_vm._class},[(_vm.showTitle && (Object.keys(_vm._coverage_groups).length > 0 || _vm.slots.length > 0))?_c('h3',{staticClass:\"text-align-center margin-top-40 margin-bottom-40\"},[_vm._v(\" \"+_vm._s(_vm.altTitle || \"Tilvalgsforsikringer\")+\" \")]):_c('div',[_vm._v(\" \")]),_c('div',{staticClass:\"coverages\"},[_vm._t(\"default\"),_vm._l((_vm._coverage_groups),function(group,j){return _c('div',{key:j,class:_vm.coverageGroupClass(group)},_vm._l((group),function(coverage,i){return _c('div',{key:i,staticStyle:{\"position\":\"relative\"}},[_c('div',{class:{ coverage: true, blocked: 'blocked' in coverage.base && coverage.base.blocked }},[('blocked' in coverage.base && coverage.base.blocked && 'blockedText' in coverage.base)?_c('div',{staticClass:\"block-text-padding\"},[_c('i',{staticClass:\"fa-regular fa-circle-info\"}),_vm._v(\" \"+_vm._s(coverage.base.blockedText))]):_vm._e(),('blocked' in coverage.base && coverage.base.blocked)?_c('div',{staticClass:\"block-overlay\"}):_vm._e(),_c('div',{staticClass:\"coverage-item\",class:[{ disabled: !_vm.requirementsMet }]},[_c('i',{staticClass:\"fa-light fa-fw coverage-icon\",class:coverage.base.icon}),_c('div',{staticClass:\"coverage-text\"},[_c('span',{staticClass:\"coverage-name\"},[_vm._v(_vm._s(coverage.base.value))]),_c('span',{staticClass:\"coverage-description\",domProps:{\"innerHTML\":_vm._s(coverage.base.description)}})]),_c('FlipSwitch',{attrs:{\"value\":coverage.base.chosen,\"enabled\":coverage.ext._enabled},on:{\"input\":function($event){return _vm.toggleCoverage(coverage)}}})],1),_vm._l((coverage.base.keys),function(key){return _c('div',{key:`coverage-${key}`,staticStyle:{\"border-top\":\"1px solid #e2e2e2\"}},[_vm._t(`key-${key}`,null,{\"coverage\":coverage})],2)})],2),('blocked' in coverage.base && coverage.base.blocked && 'blockedText' in coverage.base)?_c('div',{staticClass:\"block-text\"},[_c('i',{staticClass:\"fa-regular fa-circle-info\"}),_vm._v(\" \"+_vm._s(coverage.base.blockedText))]):_vm._e()])}),0)}),_vm._l((_vm.slots),function(slot){return _c('div',{key:slot,staticClass:\"coverage-group white\"},[_c('div',{staticStyle:{\"position\":\"relative\"}},[_c('div',{staticClass:\"coverage\"}),_c('div',{staticStyle:{\"border-top\":\"1px solid #e2e2e2\"}},[_vm._t(slot)],2)])])})],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n
\r\n \r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./coverages.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./coverages.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./coverages.vue?vue&type=template&id=32db150c&scoped=true\"\nimport script from \"./coverages.vue?vue&type=script&lang=js\"\nexport * from \"./coverages.vue?vue&type=script&lang=js\"\nimport style0 from \"./coverages.vue?vue&type=style&index=0&id=32db150c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"32db150c\",\n null\n \n)\n\nexport default component.exports","// style-loader: Adds some css to the DOM by adding a