{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/events.ts","webpack:///./src/components/ProductPage/CarbonSavingsCalculation.vue?6a32","webpack:///./src/components/ProductPage/CarbonSavingsCalculation.ts","webpack:///./src/components/ProductPage/CarbonSavingsCalculation.ts?6341","webpack:///./src/components/ProductPage/CarbonSavingsCalculation.vue","webpack:///./src/services/PreloadState.ts","webpack:///./src/services/Translations.ts","webpack:///./src/modules/ProductConfigurator/models/common.ts","webpack:///./src/modules/ProductConfigurator/models/wallconfigurator.ts","webpack:///./src/modules/ProductConfigurator/models/buildingconfigurator.ts","webpack:///./src/modules/ProductConfigurator/models/configuratorConstants.ts","webpack:///./src/modules/ProductConfigurator/store/index.ts","webpack:///./src/services/Http.ts","webpack:///./src/modules/ResellerOrderCheckout/store/index.ts","webpack:///./src/store/DeliveriesModule.ts","webpack:///./src/store/index.ts","webpack:///./src/components/ProductFactList.vue?f804","webpack:///./src/components/ProductFactList.ts","webpack:///./src/models/product.ts","webpack:///./src/components/ProductFactList.ts?2a76","webpack:///./src/components/ProductFactList.vue","webpack:///./src/components/VariantSelector.vue?bc8b","webpack:///./src/services/Cart.ts","webpack:///./src/components/SingleVariantFilter.vue?e876","webpack:///./src/components/UniqueVariantFilter.vue?764a","webpack:///./src/components/UniqueVariantFilter.ts","webpack:///./src/components/UniqueVariantFilter.ts?3dbd","webpack:///./src/components/UniqueVariantFilter.vue","webpack:///./src/components/ImageVariantFilter.vue?099a","webpack:///./src/components/ImageVariantFilter.ts","webpack:///./src/components/ImageVariantFilter.ts?a8f2","webpack:///./src/components/ImageVariantFilter.vue","webpack:///./src/components/SingleVariantFilter.ts","webpack:///./src/components/SingleVariantFilter.ts?e77c","webpack:///./src/components/SingleVariantFilter.vue","webpack:///./src/components/ConsumptionCalculator.vue?82e8","webpack:///./src/components/ConsumptionCalculator.ts","webpack:///./src/components/ConsumptionCalculator.ts?49a4","webpack:///./src/components/ConsumptionCalculator.vue","webpack:///./src/components/DeliverySelector.vue?04a7","webpack:///./src/services/GoogleEnhancedEcommerce.ts","webpack:///./src/modules/ResellerOrderCheckout/ResellerOrderCheckout.vue?4810","webpack:///./src/modules/ResellerOrderCheckout/components/PaymentWidget.vue?f97d","webpack:///./src/modules/ResellerOrderCheckout/components/PaymentWidget.ts","webpack:///./src/modules/ResellerOrderCheckout/components/PaymentWidget.ts?a9dc","webpack:///./src/modules/ResellerOrderCheckout/components/PaymentWidget.vue","webpack:///./src/modules/ResellerOrderCheckout/components/ResellerMap.vue?55b5","webpack:///./src/modules/ResellerOrderCheckout/models/index.ts","webpack:///./src/services/HtmlElementHelper.ts","webpack:///./src/modules/ResellerOrderCheckout/components/ResellerMap.ts","webpack:///./src/modules/ResellerOrderCheckout/components/ResellerMap.ts?c3ac","webpack:///./src/modules/ResellerOrderCheckout/components/ResellerMap.vue","webpack:///./src/modules/ResellerOrderCheckout/components/ResellerProductList.vue?5e4c","webpack:///./src/modules/ResellerOrderCheckout/components/ResellerProductList.ts","webpack:///./src/modules/ResellerOrderCheckout/components/ResellerProductList.ts?5ce6","webpack:///./src/modules/ResellerOrderCheckout/components/ResellerProductList.vue","webpack:///./src/modules/ResellerOrderCheckout/ResellerOrderCheckout.ts","webpack:///./src/modules/ResellerOrderCheckout/ResellerOrderCheckout.ts?aa74","webpack:///./src/modules/ResellerOrderCheckout/ResellerOrderCheckout.vue","webpack:///./src/components/DeliverySelector.ts","webpack:///./src/components/DeliverySelector.ts?dfc8","webpack:///./src/components/DeliverySelector.vue","webpack:///./src/components/FavouriteIcon.vue?753e","webpack:///./src/components/FavouriteIcon.ts","webpack:///./src/components/FavouriteIcon.ts?bfb1","webpack:///./src/components/FavouriteIcon.vue","webpack:///./src/components/DoubleVariantFilter.vue?2f8a","webpack:///./src/components/DoubleVariantFilter.ts","webpack:///./src/models/documentArchive.ts","webpack:///./src/components/DoubleVariantFilter.ts?8597","webpack:///./src/components/DoubleVariantFilter.vue","webpack:///./src/components/DocumentArchive.vue?b530","webpack:///./src/components/DocumentArchive.ts","webpack:///./src/components/DocumentArchive.ts?ac82","webpack:///./src/components/DocumentArchive.vue","webpack:///./src/components/RelatedProductList.vue?b511","webpack:///./src/components/RelatedProductList.ts","webpack:///./src/components/RelatedProductList.ts?9956","webpack:///./src/components/RelatedProductList.vue","webpack:///./src/components/HandlingFeeMessageCart.vue?9652","webpack:///./src/components/HandlingFeeMessageCart.ts","webpack:///./src/components/HandlingFeeMessageCart.ts?5b37","webpack:///./src/components/HandlingFeeMessageCart.vue","webpack:///./src/components/CartSummaryTotalValueOfGoods.vue?4740","webpack:///./src/components/CartSummaryTotalValueOfGoods.ts","webpack:///./src/components/CartSummaryTotalValueOfGoods.ts?f107","webpack:///./src/components/CartSummaryTotalValueOfGoods.vue","webpack:///./src/components/AddToCartContainer.vue?51cf","webpack:///./src/components/AddToCartModal.vue?1a0c","webpack:///./src/components/AddToCartModal.ts","webpack:///./src/components/AddToCartModal.ts?76ef","webpack:///./src/components/AddToCartModal.vue","webpack:///./src/components/AddToCartContainer.ts","webpack:///./src/components/AddToCartContainer.ts?d47c","webpack:///./src/components/AddToCartContainer.vue","webpack:///./src/components/FreightCalculation.vue?5a7d","webpack:///./src/components/FreightCalculation.ts","webpack:///./src/enums/Shapes.ts","webpack:///./src/components/FreightCalculation.ts?3bef","webpack:///./src/components/FreightCalculation.vue","webpack:///./src/components/QuantityCalculatorCastProductContainer.vue?1869","webpack:///./src/components/QuantityCalculatorCastProduct.vue?5f4f","webpack:///./src/components/QuantityCalculatorCastProduct.ts","webpack:///./src/components/QuantityCalculatorCastProduct.ts?0c75","webpack:///./src/components/QuantityCalculatorCastProduct.vue","webpack:///./src/components/QuantityCalculatorCastProductContainer.ts","webpack:///./src/components/QuantityCalculatorCastProductContainer.ts?3132","webpack:///./src/components/QuantityCalculatorCastProductContainer.vue","webpack:///./src/components/QuantityCalculatorFloorProduct.vue?2517","webpack:///./src/components/QuantityCalculatorFloorProduct.ts","webpack:///./src/components/QuantityCalculatorFloorProduct.ts?b39b","webpack:///./src/components/QuantityCalculatorFloorProduct.vue","webpack:///./src/components/QuantityCalculatorMortarProduct.vue?60a3","webpack:///./src/components/QuantityCalculatorMortarProduct.ts","webpack:///./src/components/QuantityCalculatorMortarProduct.ts?e24e","webpack:///./src/components/QuantityCalculatorMortarProduct.vue","webpack:///./src/components/QuantityCalculatorMortarProductContainer.vue?71f6","webpack:///./src/components/QuantityCalculatorMortarProductContainer.ts","webpack:///./src/components/QuantityCalculatorMortarProductContainer.ts?239e","webpack:///./src/components/QuantityCalculatorMortarProductContainer.vue","webpack:///./src/components/QuantityCalculatorBlockProduct.vue?2dc4","webpack:///./src/components/QuantityCalculatorBlockProduct.ts","webpack:///./src/components/QuantityCalculatorBlockProduct.ts?026f","webpack:///./src/components/QuantityCalculatorBlockProduct.vue","webpack:///./src/components/QuantityCalculatorSandboxProduct.vue?9916","webpack:///./src/components/QuantityCalculatorSandboxProduct.ts","webpack:///./src/components/QuantityCalculatorSandboxProduct.ts?25da","webpack:///./src/components/QuantityCalculatorSandboxProduct.vue","webpack:///./src/components/QuantityCalculatorFogsandProduct.vue?171b","webpack:///./src/components/QuantityCalculatorFogsandProduct.ts","webpack:///./src/components/QuantityCalculatorFogsandProduct.ts?e376","webpack:///./src/components/QuantityCalculatorFogsandProduct.vue","webpack:///./src/components/ConsumptionCalculatorSand.vue?0269","webpack:///./src/components/ConsumptionCalculatorSand.ts","webpack:///./src/components/ConsumptionCalculatorSand.ts?cba2","webpack:///./src/components/ConsumptionCalculatorSand.vue","webpack:///./src/components/QuantityCalculatorUBlockProduct.vue?93b9","webpack:///./src/components/QuantityCalculatorUBlockProduct.ts","webpack:///./src/components/QuantityCalculatorUBlockProduct.ts?568b","webpack:///./src/components/QuantityCalculatorUBlockProduct.vue","webpack:///./src/components/QuantityCalculatorUBlockProductContainer.vue?473a","webpack:///./src/components/QuantityCalculatorUBlockProductContainer.ts","webpack:///./src/components/QuantityCalculatorUBlockProductContainer.ts?76ef","webpack:///./src/components/QuantityCalculatorUBlockProductContainer.vue","webpack:///./src/components/ProductPage/ProductEnvironmentDataBase.vue?2a91","webpack:///./src/components/ProductPage/ProductEnvironmentDataBaseModal.vue?db02","webpack:///./src/components/ProductPage/ProductEnvironmentDataBaseModal.ts","webpack:///./src/components/ProductPage/ProductEnvironmentDataBaseModal.ts?967d","webpack:///./src/components/ProductPage/ProductEnvironmentDataBaseModal.vue","webpack:///./src/components/ProductPage/ProductEnvironmentDataBase.ts","webpack:///./src/components/ProductPage/ProductEnvironmentDataBase.ts?3b9e","webpack:///./src/components/ProductPage/ProductEnvironmentDataBase.vue","webpack:///./src/components/ProductPage/CarbonSavingsCalculationContainer.vue?d2e9","webpack:///./src/components/ProductPage/CarbonSavingsCalculationContainer.ts","webpack:///./src/components/ProductPage/CarbonSavingsCalculationContainer.ts?5fcf","webpack:///./src/components/ProductPage/CarbonSavingsCalculationContainer.vue","webpack:///./src/components/ProductPage/DiyVariantItem.vue?c484","webpack:///./src/components/ProductPage/DiyVariantItem.ts","webpack:///./src/components/ProductPage/DiyVariantItem.ts?0af3","webpack:///./src/components/ProductPage/DiyVariantItem.vue","webpack:///./src/models/SiteConstants.ts","webpack:///./src/components/VariantSelector.ts","webpack:///./src/components/VariantSelector.ts?318e","webpack:///./src/components/VariantSelector.vue","webpack:///./src/modules/ProductConfigurator/ProductConfigurator.vue?b4ca","webpack:///./src/services/Cookie.ts","webpack:///./src/modules/ProductConfigurator/components/RadioButtonInputModule.vue?f793","webpack:///./src/modules/ProductConfigurator/components/RadioButtonInputModule.ts","webpack:///./src/modules/ProductConfigurator/components/RadioButtonInputModule.ts?249f","webpack:///./src/modules/ProductConfigurator/components/RadioButtonInputModule.vue","webpack:///./src/modules/ProductConfigurator/components/ImageInputModule.vue?22a2","webpack:///./src/modules/ProductConfigurator/components/ImageInputModule.ts","webpack:///./src/modules/ProductConfigurator/components/ImageInputModule.ts?90da","webpack:///./src/modules/ProductConfigurator/components/ImageInputModule.vue","webpack:///./src/modules/ProductConfigurator/components/TextInputModule.vue?4c4e","webpack:///./src/modules/ProductConfigurator/components/TextInputModule.ts","webpack:///./src/modules/ProductConfigurator/components/TextInputModule.ts?bde9","webpack:///./src/modules/ProductConfigurator/components/TextInputModule.vue","webpack:///./src/modules/ProductConfigurator/components/ContentModule.vue?246c","webpack:///./src/modules/ProductConfigurator/components/ContentModule.ts","webpack:///./src/modules/ProductConfigurator/components/ContentModule.ts?76a2","webpack:///./src/modules/ProductConfigurator/components/ContentModule.vue","webpack:///./src/modules/ProductConfigurator/components/ProductListModule.vue?1fd4","webpack:///./src/modules/ProductConfigurator/components/ProductSpecification.vue?bd74","webpack:///./src/modules/ProductConfigurator/components/ProductSpecification.ts","webpack:///./src/modules/ProductConfigurator/components/ProductSpecification.ts?960d","webpack:///./src/modules/ProductConfigurator/components/ProductSpecification.vue","webpack:///./src/modules/ProductConfigurator/components/ProductListModule.ts","webpack:///./src/modules/ProductConfigurator/components/ProductListModule.ts?4e13","webpack:///./src/modules/ProductConfigurator/components/ProductListModule.vue","webpack:///./src/modules/ProductConfigurator/components/ProductSummaryModule.vue?dcf2","webpack:///./src/components/ClimateSavings/CarbonSavingsCompilation.vue?1860","webpack:///./src/components/ClimateSavings/CarbonSavingsCompilation.ts","webpack:///./src/components/ClimateSavings/CarbonSavingsCompilation.ts?bd18","webpack:///./src/components/ClimateSavings/CarbonSavingsCompilation.vue","webpack:///./src/modules/ProductConfigurator/components/ProductSummaryModule.ts","webpack:///./src/modules/ProductConfigurator/components/ProductSummaryModule.ts?4f18","webpack:///./src/modules/ProductConfigurator/components/ProductSummaryModule.vue","webpack:///./src/modules/ProductConfigurator/components/SelectedOptionsSummaryModule.vue?52d1","webpack:///./src/modules/ProductConfigurator/components/SelectedOptionsSummaryModule.ts","webpack:///./src/modules/ProductConfigurator/components/SelectedOptionsSummaryModule.ts?801c","webpack:///./src/modules/ProductConfigurator/components/SelectedOptionsSummaryModule.vue","webpack:///./src/modules/ProductConfigurator/components/StraightWallSectionModule.vue?ab98","webpack:///./src/modules/ProductConfigurator/components/StraightWallSectionModule.ts","webpack:///./src/modules/ProductConfigurator/components/StraightWallSectionModule.ts?5942","webpack:///./src/modules/ProductConfigurator/components/StraightWallSectionModule.vue","webpack:///./src/modules/ProductConfigurator/components/CurvedWallSectionModule.vue?a8cc","webpack:///./src/modules/ProductConfigurator/components/CurvedWallSectionModule.ts","webpack:///./src/modules/ProductConfigurator/components/CurvedWallSectionModule.ts?65fb","webpack:///./src/modules/ProductConfigurator/components/CurvedWallSectionModule.vue","webpack:///./src/modules/ProductConfigurator/components/BuildingOutdoorWallSectionModule.vue?19a5","webpack:///./src/modules/ProductConfigurator/components/BuildingOutdoorWallSectionModule.ts","webpack:///./src/modules/ProductConfigurator/components/BuildingOutdoorWallSectionModule.ts?46d7","webpack:///./src/modules/ProductConfigurator/components/BuildingOutdoorWallSectionModule.vue","webpack:///./src/modules/ProductConfigurator/components/BuildingIndoorWallSectionModule.vue?7c08","webpack:///./src/modules/ProductConfigurator/components/BuildingIndoorWallSectionModule.ts","webpack:///./src/modules/ProductConfigurator/components/BuildingIndoorWallSectionModule.ts?56bb","webpack:///./src/modules/ProductConfigurator/components/BuildingIndoorWallSectionModule.vue","webpack:///./src/modules/ProductConfigurator/components/BathroomWallSectionModule.vue?ce20","webpack:///./src/modules/ProductConfigurator/components/BathroomWallSectionModule.ts","webpack:///./src/modules/ProductConfigurator/components/BathroomWallSectionModule.ts?af18","webpack:///./src/modules/ProductConfigurator/components/BathroomWallSectionModule.vue","webpack:///./src/modules/ProductConfigurator/components/ProductListCustomModule.vue?9c88","webpack:///./src/modules/ProductConfigurator/components/ProductListCustomModule.ts","webpack:///./src/modules/ProductConfigurator/components/ProductListCustomModule.ts?1688","webpack:///./src/modules/ProductConfigurator/components/ProductListCustomModule.vue","webpack:///./src/modules/ProductConfigurator/components/StepByStepInstructionsProductListModule.vue?3326","webpack:///./src/modules/ProductConfigurator/components/StepByStepInstructionsProductListModule.ts","webpack:///./src/modules/ProductConfigurator/components/StepByStepInstructionsProductListModule.ts?90eb","webpack:///./src/modules/ProductConfigurator/components/StepByStepInstructionsProductListModule.vue","webpack:///./src/modules/ProductConfigurator/ProductConfigurator.ts","webpack:///./src/modules/ProductConfigurator/ProductConfigurator.ts?d941","webpack:///./src/modules/ProductConfigurator/ProductConfigurator.vue","webpack:///./src/components/VoucherCampaign.vue?decf","webpack:///./src/components/VoucherCampaign.ts","webpack:///./src/components/VoucherCampaign.ts?1295","webpack:///./src/components/VoucherCampaign.vue","webpack:///./src/modules/CheckoutKundPortalen/Components/PaymentMethod.vue?6dcf","webpack:///./src/modules/CheckoutKundPortalen/Components/PaymentMethod.ts","webpack:///./src/modules/CheckoutKundPortalen/Components/PaymentMethod.ts?efcb","webpack:///./src/modules/CheckoutKundPortalen/Components/PaymentMethod.vue","webpack:///./src/modules/CheckoutKundPortalen/Components/CheckoutSummary.vue?7ff7","webpack:///./src/modules/CheckoutKundPortalen/Components/CheckoutSummary.ts","webpack:///./src/modules/CheckoutKundPortalen/Components/CheckoutSummary.ts?2642","webpack:///./src/modules/CheckoutKundPortalen/Components/CheckoutSummary.vue","webpack:///./src/filters/CurrencyFilter.ts","webpack:///./src/filters/index.ts","webpack:///./src/main.ts","webpack:///./src/store/ProductModule.ts","webpack:///./src/enums/CalculatorTypes.ts","webpack:///./src/services/AppSettings.ts","webpack:///./src/store/AppModule.ts","webpack:///./src/services/CalculatorService.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","app","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","__webpack_exports__","EventBus","vue__WEBPACK_IMPORTED_MODULE_0__","render","_vm","this","_h","$createElement","_c","_self","class","isAddToCartPopUp","carbonSavingsModel","isCurrentVariantECO","staticClass","attrs","src","imageUrl","_v","_s","translations","youSaveText","numberOfDigits","carbonSavings","kilogramUnitText","carbonDioxideText","thanksForChoiceText","saveClimateText","domProps","innerHTML","GetVariantDescription","ecoVariantSavedText","isConfigurator","isCalculator","href","mainVariantUrl","target","mainVariantName","on","click","$event","saveSessionAndRedirect","saveText","chooseECOVariantText","selectECOProduct","selectECOVariant","ecoVariantUrl","thisIsHowWeCalculatedPageUrl","isProductListModule","_e","thisIsHowWeCalculatedText","staticRenderFns","CarbonSavingsCalculationvue_type_script_lang_ts_CarbonSavingsCalculation","_temp","_Vue","CarbonSavingsCalculation","_this","classCallCheck","possibleConstructorReturn","getPrototypeOf","assertThisInitialized","__finja","inherits","createClass","events","$emit","isGDS","quantity","url","CalculatorService","storeSessionQuantity","quantityWithFactor","location","originalDescription","kiloUnitText","replace","toString","ecoVariantName","ProductModule","product","variant","calculationCarbonSavingsModel","calculatedQuantity","packagingFactor","quantityToReturn","Math","floor","ceil","globalWarmingPotentialMainProduct","globalWarmingPotentialECOProduct","toLocaleString","AppModule","state","culture","maximumFractionDigits","minimumFractionDigits","vue_property_decorator","tslib_es6","CarbonSavingsCalculationvue_type_script_lang_ts_","ProductPage_CarbonSavingsCalculationvue_type_script_lang_ts_","component","componentNormalizer","PreloadState","deliveries","totalValueOfGoods","preloadstate","variants","Array","getTranslations","ProductConfiguratorModuleType","WallTypes","CurvedWallSectionDirection","CurvedWallSectionTypes","BlockType","Constants","outdoorWallMaxOpeningWidthMetre","indoorThickWallBreakpointMillimetre","indoorThickWallMaxOpeningWidthMetre","indoorThinWallMaxOpeningWidthMetre","WallOpeningBeamHeightMetre","WallOpeningBeamHeightMetreIndoor","WallOpeningUblockHeightMetre","IndoorWallOpeningMaxWidthBearing","IndoorWallOpeningMaxWidthNonBearing","configuratorConstants","RecommendedSectionProducts","GroundShape","OuterCorners","InnerCorners","BasicElementsProductSelector","PlasticBoardPercentage","SecurityMargin","TotalSurfaceArea","Perimeter","selectedConfiguratorProducts","selectedCustomConfiguratorProducts","productList","edgeHeight","InnerWallMasonryType","recommendedProductSelected","BuildingProductSelector","PlasterThicknessRange","PlasteredIndoorWallSides","BuildingConfiguratorautoAddProducts","PlasteredIndoorWallSidesNone","StepByStepInstructions","ResetPropertiesOnFloorChange","FloorType","TotalFloorArea","FloorJointWidth","FloorWidth","FloorLength","FloorThickness","FloorThicknessCastConcrete","GreenhouseProductSelector","ECOProductCookieSuffix","MaterialConsumptionFactorOutdoorWall","MaterialConsumptionFactorIndoorWall","BuildingConfiguratorFactors","MaterialConsumptionFactorExaktOutdoorWall","CornerBlockOpeningBlockQuantityFactor","AdjustmentFactorForNormalBlockPassPicker","initialState","configuratorType","products","productListModules","propertyGroups","configuratorValues","propertyModelValues","apiUrl","stepByStepInstructionsProducts","store","dist","store_products","configuratorPropertyGroups","store_translations","getProducts","read","getProductListModules","getPropertyGroups","getApiUrl","store_getTranslations","getConfiguratorValues","getPropertyModelValues","getConfiguratorType","getStepByStepInstructionsProducts","commitAddOrUpdateProduct","payload","tempProducts","toConsumableArray","productIndex","findIndex","articleNumber","assign_default","commitRemoveProduct","commitStepByStepInstructionsAddProduct","commitStepByStepInstructionsRemoveProduct","commitAddProductListModule","tempProductsListModules","productListModuleIndex","id","commitAddConfiguratorValue","tempConfiguratorValues","commitAddPropertyGroup","commitAddPropertyGroups","forEach","propertyGroup","commitUpdateConfiguratorValue","configuratorValue","find","propertyName","indexOf","valueDescriptions","_relatedValue","a","relatedValueInner","relatedValue","undefined","UpdateConfiguratorFieldValue","split","map","configuratorValueUpdate","title","text","existingValue","commitAddPropertyModelValue","tempPropertyModelValues","valueIndex","commitSetConfiguratorType","store_addProduct","_callee","context","regeneratorRuntime","wrap","_context","prev","next","stop","updateProduct","_callee2","_context2","store_removeProduct","_callee3","_context3","stepByStepInstructionsAddProduct","_callee4","_context4","stepByStepInstructionsRemoveProduct","_callee5","_context5","addProductListModule","_callee6","productListModule","_context6","addConfiguratorValue","_callee7","_context7","addPropertyGroup","_callee8","_context8","addPropertyGroups","_callee9","_context9","store_updateConfiguratorValue","_callee10","model","_context10","addPropertyModelValue","_callee11","_context11","setConfiguratorType","_callee12","_context12","DataFormat","productConfiguratorStore","addProduct","dispatch","removeProduct","updateConfiguratorValue","Http_Http","promise","fetch","then","response","json","arguments","method","contentType","Json","options","body","CreateUrlSearchParams","stringify_default","contentTypeHeaderValue","headers","Accept-Language","Content-Type","X-Litium-Page","pageId","X-Litium-Website","webSiteId","X-Litium-Language","languageId","checkStatus","source","URLSearchParams","entries_default","_ref","_ref2","slicedToArray","append","ok","status","responseText","JSON","parse","error","message","Error","services_Http","store_initialState","paymentWidget","paymentWidgetLoading","paymentError","resellers","orderInfo","selectedReseller","store_store","store_apiUrl","store_resellers","ResellerOrderCheckout_store_translations","store_getApiUrl","getRellers","getOrderInfo","getSelectedReller","ResellerOrderCheckout_store_getTranslations","getPaymentWidget","getPaymentError","commitSetResellers","commitSetOrderInfo","commitSetSelectedReseller","commitSetPaymentWidget","commitSetPaymentWidgetLoading","commitSetPaymentError","setResellers","setOrderInfo","setSelectedReseller","res","widget","catch","ex","finally","resellerOrderCheckoutStore","DeliveriesModule_initialState","DeliveriesModule_store","getDeliveries","getTotalValueOfGoods","commitDeliveries","commitTotalValueOfGoods","dispatchDeliveries","curDeliveries","dispatchTotalValueOfGoods","deliveriesStore","commit","vue_esm","use","vuex_esm","src_store_store","vuexStore","src_store","variantName","variantArticleNumber","variantId","_l","productFact","ProductFactListvue_type_script_lang_ts_ProductFactList","ProductFactList","productFacts","FilterType","ProductFactListvue_type_script_lang_ts_","components_ProductFactListvue_type_script_lang_ts_","components_ProductFactList","VariantSelectorvue_type_template_id_21673ebb_render","content","itemSecondaryPackagingContentLabel","itemSecondaryPackagingContent","filter","variantFilterOptions","filters","showPrice","isProductWebShop","rel","priceInfoText","isBuyable","typeof","campaignPrice","campaignPriceValue","price","priceValue","currencyCode","palletQunatityLabel","directives","rawName","expression","modifiers","number","type","min","change","updateQuantityToPallet","input","composing","palletRequired","_n","blur","$forceUpdate","itemSecondaryPackagingUnit","itemQuantityLabel","shouldQuantityBeReadonly","readonly","itemPriceUnit","addToShoppingList","ref","disabled","buyButtonDisabled","data-role","data-notification-id","addToCart","addToCartButtonText","mapToEvent","buyButton","purchaseInfoText","itemConsumptionCalculatorBlock","itemConsumptionCalculatorBag","itemConsumptionCalculatorPlaster","itemConsumptionCalculatorSandBoxSand","itemConsumptionCalculatorFogSand","VariantSelectorvue_type_template_id_21673ebb_staticRenderFns","Cart_Cart","sourceElement","Accelerator","libs","cart","addArticle","eventBus","variantSystemId","currentVariant","x","carbonSavingModel","add","removeArticle","services_Cart","SingleVariantFiltervue_type_template_id_2206f8b4_render","filterName","isImageFilter","filterType","filterValues","selectedFilterValue","update:selectedFilterValue","update:selected-filter-value","$$selectedVal","selected","val","_value","multiple","item","variantsWithFilterValue","SingleVariantFiltervue_type_template_id_2206f8b4_staticRenderFns","UniqueVariantFiltervue_type_template_id_54fb9fa0_render","variantSelectorLabel","selectedVariant","UniqueVariantFiltervue_type_template_id_54fb9fa0_staticRenderFns","UniqueVariantFiltervue_type_script_lang_ts_UniqueVariantFilter","UniqueVariantFiltervue_type_script_lang_ts_temp","UniqueVariantFilter","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","get_iterator_default","done","err","return","set","dispatchVariant","UniqueVariantFiltervue_type_script_lang_ts_","components_UniqueVariantFiltervue_type_script_lang_ts_","UniqueVariantFilter_component","components_UniqueVariantFilter","ImageVariantFiltervue_type_template_id_73d1b930_render","toggleImagePicker","hidden","selectedFilter","imageResourceUrl","checked","_q","onFilterChange","for","active","ImageVariantFiltervue_type_template_id_73d1b930_staticRenderFns","ImageVariantFiltervue_type_script_lang_ts_ImageVariantFilter","ImageVariantFiltervue_type_script_lang_ts_temp","ImageVariantFilter","_getPrototypeOf2","_len","args","_key","concat","_this2","_this3","showImagePicker","ImageVariantFiltervue_type_script_lang_ts_","components_ImageVariantFiltervue_type_script_lang_ts_","ImageVariantFilter_component","components_ImageVariantFilter","SingleVariantFiltervue_type_script_lang_ts_SingleVariantFilter","SingleVariantFiltervue_type_script_lang_ts_temp","SingleVariantFilter","setInitialSelectedFilterValue","Image","getAttributeValue","filterId","variantAttributes","attribute","attributeId","attributeValue","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","v","hasAttribute","variantFound","components","SingleVariantFiltervue_type_script_lang_ts_","components_SingleVariantFiltervue_type_script_lang_ts_","SingleVariantFilter_component","components_SingleVariantFilter","ConsumptionCalculatorvue_type_template_id_34af1256_render","blockCalculationDisclaimerHeader","itemConsumptionCalculatorFloor","floorCalculationDisclaimerHeader","plasterCalculationDisclaimerHeader","consumptionCalculatorBlockDisclaimer","consumptionCalculatorDisclaimer","itemConsumptionCalculator","consumptionCalculatorBlockHeader1","consumptionCalculatorHeader1","focus","isCalculating","area","consumptionCalculatorBlockUnit1","consumptionCalculatorUnit1","consumptionCalculatorHeader2","layer","consumptionCalculatorUnit2","ConsumptionCalculatorvue_type_template_id_34af1256_staticRenderFns","ConsumptionCalculatorvue_type_script_lang_ts_ConsumptionCalculator","ConsumptionCalculatorvue_type_script_lang_ts_temp","ConsumptionCalculator","NaN","Number","consumptionArea","parse_float_default","getSession","consumptionLayer","setMeasurementsFromSessionFloor","setMeasurementsFromSessionBlock","oldValue","itemPrimaryPackagingWeight","productMaterialConsumption","dispatchQuantity","storeSession","calculateQuantity","itemMaterialConsumption","material","kgNeeded","_quantity","sessionStorage","setItem","baseProductArticleNumber","getItem","floorquantity","getSessionWithoutVariantId","floorquantityPlaster","quantityCalcResults","currentVariantData","sack","yta","layerThickness","_quantityCalcResults","_currentVariantData","blockquantity","ConsumptionCalculatorvue_type_script_lang_ts_","components_ConsumptionCalculatorvue_type_script_lang_ts_","ConsumptionCalculator_component","components_ConsumptionCalculator","DeliverySelectorvue_type_template_id_7700161d_render","deliveryMethodPostCodeMessage","placeholder","deliveryMethodPostCodePlaceholder","pattern","isLoading","keyup","_k","keyCode","onClick","postalCode","deliveryPostalCodesMisMatch","deliveryMethodButtonText","deliveryMethodsAvailable","deliveryMethodText","selectedDelivery","displayName","description","handlingFeeMessage","handlingFeeSectionHeader","deliveryMethodNoMethodsAvailableMessage","deliveryDateDisableDaysLabel","deliveryDateDisableDaysPlaceholder","disabledays","disableDays","saveonchange","saveonChange","paste","_m","DeliverySelectorvue_type_template_id_7700161d_staticRenderFns","GoogleEnhancedEcommerce_GoogleEnhancedEcommerce","Name","Id","Price","Category","Products","category","geeObject","event","ecommerce","detail","PushDataLayer","dimensionIdentifier","isShoppingList","addToCartProducts","dimension1","metric1","getTotalItemPrice","PushProductsAddToCartToGoogle","dataLayer","services_GoogleEnhancedEcommerce","ResellerOrderCheckoutvue_type_template_id_569ee892_render","vm","textContent","infoHeading","infoBlock","deliveryInformation","showPaymentWidget","ResellerOrderCheckoutvue_type_template_id_569ee892_staticRenderFns","PaymentWidgetvue_type_template_id_014fce83_render","PaymentWidgetvue_type_template_id_014fce83_staticRenderFns","PaymentWidgetvue_type_script_lang_ts_PaymentWidget","PaymentWidgetvue_type_script_lang_ts_temp","PaymentWidget","$","PaymentWidgetvue_type_script_lang_ts_","components_PaymentWidgetvue_type_script_lang_ts_","PaymentWidget_component","components_PaymentWidget","ResellerMapvue_type_template_id_486633da_render","mapTitle","mapText","enterLocation","searchTerm","selectResellerHeader","reseller","listIndex","longitude","handleSelectedResellerChange","address","city","formatDistance","distance","removeSelectedReseller","changeReseller","center","fallbackPosition","zoom","mapOptions","map-type-id","bounds_changed","boundsChanged","index","icon","position","getGooglePosition","clickable","draggable","ResellerMapvue_type_template_id_486633da_staticRenderFns","zoomControl","mapTypeControl","scaleControl","streetViewControl","rotateControl","fullscreenControl","disableDefaultUi","maxZoom","mapTypeId","HtmlElementHelper_HtmlElementHelper","inputElement","document","activeElement","eventTarget","HTMLElement","isFocusedElement","numericValue","isNaN","max","services_HtmlElementHelper","ResellerMapvue_type_script_lang_ts_ResellerMap","ResellerMapvue_type_script_lang_ts_temp","ResellerMap","lat","lng","$on","checkExist","setInterval","google","findResellers","clearInterval","setDefaultLocation","navigator","geolocation","getCurrentPosition","userPosition","currentPosition","coords","latitude","getClosestResellers","googleMapInit","setFitBounds","inputValue","isEventTargetFocusedElement","_this4","geocoder","maps","Geocoder","geocode","componentRestrictions","country","results","geometry","HTMLInputElement","toFixed","calcFlyingDistance","_this5","tempResellers","getDistanceFromLatLonInMeters","sort","b","numberOfResellersToDisplay","parseToBool","site","settings","enableresellerdefaultcheck","default","filteredResellers","lat1","lon1","lat2","lon2","R","dLat","deg2rad","dLon","sin","cos","atan2","sqrt","deg","PI","_this6","$refs","googleMap","$mapPromise","bounds","LatLngBounds","extend","LatLng","innerWidth","fitBounds","getCenter","offsetX","offsetY","getBounds","span","toSpan","newCenter","panTo","ResellerMapvue_type_script_lang_ts_","components_ResellerMapvue_type_script_lang_ts_","ResellerMap_component","components_ResellerMap","ResellerProductListvue_type_template_id_328606d5_render","cartHeading","orderRowId","bundle","virtualProducts","virtualProductsHeading","expanded","showVirtualProducts","toggleVirtualProducts","ResellerProductListvue_type_template_id_328606d5_staticRenderFns","ResellerProductListvue_type_script_lang_ts_ResellerProductList","ResellerProductListvue_type_script_lang_ts_temp","ResellerProductList","map_default","bundles","bundleStates","ResellerProductListvue_type_script_lang_ts_","components_ResellerProductListvue_type_script_lang_ts_","ResellerProductList_component","components_ResellerProductList","ResellerOrderCheckoutvue_type_script_lang_ts_ResellerOrderCheckout","ResellerOrderCheckoutvue_type_script_lang_ts_temp","ResellerOrderCheckout","postalRegion","$nextTick","ResellerOrderCheckoutvue_type_script_lang_ts_","ResellerOrderCheckout_ResellerOrderCheckoutvue_type_script_lang_ts_","ResellerOrderCheckout_component","ResellerOrderCheckout_ResellerOrderCheckout","DeliverySelectorvue_type_script_lang_ts_DeliverySelector","DeliverySelectorvue_type_script_lang_ts_temp","DeliverySelector","origin","pathname","$attrs","klarnaValidationFailed","deliverypostalcode","element","getElementById","scrollTo","offsetTop","changeDeliveryMethod","_klarnaCheckout","api","suspend","post","isResellerCheckout","showResellerCheckout","getKlarnaCheckout","forceKlarnaRerender","resume","fromCreated","ReportPostalCodeToGoogleEnhancedEcommerce","previousNofDeliveryMethods","showDeliveries","deliveryMethods","handlingFeeMessageInCart","console","gee","PushPostalCodeToGoogle","DeliverySelectorvue_type_script_lang_ts_","components_DeliverySelectorvue_type_script_lang_ts_","DeliverySelector_component","components_DeliverySelector","FavouriteIconvue_type_template_id_66f1ac4a_render","className","data-favourite","dataRole","data-product-identifier","favouriteClassName","data-favourite-amount","FavouriteIconvue_type_template_id_66f1ac4a_staticRenderFns","FavouriteIconvue_type_script_lang_ts_FavouriteIcon","FavouriteIcon","isFavorite","isInFavouriteList","favourite","FavouriteIconvue_type_script_lang_ts_","components_FavouriteIconvue_type_script_lang_ts_","FavouriteIcon_component","components_FavouriteIcon","DoubleVariantFiltervue_type_template_id_25c4ace9_render","primaryFilterName","primaryFilterValue","primaryFilterValueUnit","secondaryFilterName","secondaryFilterValues","secondaryFilterValue","selectedVariantId","onSecondaryFilterChange","secondaryFilterValueUnit","DoubleVariantFiltervue_type_template_id_25c4ace9_staticRenderFns","DoubleVariantFiltervue_type_script_lang_ts_DoubleVariantFilter","DoubleVariantFiltervue_type_script_lang_ts_temp","DoubleVariantFilter","primaryFilter","secondaryFilter","primaryFilterId","primaryFilterValues","filterValueUnit","secondaryFilterId","setInitialSelectedFilterValues","showVaraintsIfNeeded","onPrimaryFilterChange","setPrimaryFilter","curFilterValue","filteredVariants","curPrimaryFilterValue","filterValue","getImageResourceUrl","distinctSecondaryFilterValues","tempList","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","thisSelectedFilterValue","DocumentFilterType","DoubleVariantFiltervue_type_script_lang_ts_","components_DoubleVariantFiltervue_type_script_lang_ts_","DoubleVariantFilter_component","components_DoubleVariantFilter","DocumentArchivevue_type_template_id_385f1a0d_render","is-full-page","color","loader","pageTitleHeading","pageTitleText","mainDocumentFilter","mainFilterOption","onMainFilterChange","mainFilterPlaceHolder","filterOption","count","documentFilterOptions","isArray","selectedFilters","_i","$$a","$$el","$$c","$$v","$$i","onFilterOptionChange","downloadSectionHeading","fileType","alt","downloadUrl","download","downloadButtonText","DocumentArchivevue_type_template_id_385f1a0d_staticRenderFns","Loading","DocumentArchivevue_type_script_lang_ts_DocumentArchive","DocumentArchivevue_type_script_lang_ts_temp","DocumentArchive","Group","DocumentType","polyfill","initialize","search","updateUrl","option","includes","flatMap","flatMapNative","flatMapPolyfill","responsePromise","urlRequest","getSearchModelFromUrl","getMainFilterPlaceHolderName","selectedFilterOptions","documentFilters","y","updateModel","mainFilterSelectorPlaceHolder","URL","documentType","searchParams","urlParameterByFilterType","categoryList","getAll","categories","groupList","groups","request","searchResult","delete","history","replaceState","arr","mapCallback","flat","reduce","acc","DocumentArchivevue_type_script_lang_ts_","components_DocumentArchivevue_type_script_lang_ts_","DocumentArchive_component","components_DocumentArchive","RelatedProductListvue_type_template_id_04fd1879_render","relatedProducts","relatedProductsHeader","relatedProduct","itemprop","image","campaignDisplay","brand","descriptionShort","minimalVariantPrice","isVariant","fromPrice","productAvailableInVariants","showQuantityField","quantityFieldId","data-buy-quantity-input","maxlength","data-consumption","data-weight","showPackagingAmount","unitOptions","data-item-number","data-variant-system-id","systemId","unit","packagingName","data-packaging-quantity","packagingQuantity","packagingUnit","data-plusminus","refInFor","buyButtonClass","data-cart","dataCartTag","buyButtonTitle","RelatedProductListvue_type_template_id_04fd1879_staticRenderFns","RelatedProductListvue_type_script_lang_ts_RelatedProductList","RelatedProductListvue_type_script_lang_ts_temp","RelatedProductList","googleAnalyticsDimensionIdentifier","ReportAddToCartToGoogleEnhancedEcommerce","PushAddToCartToGoogle","webShopActivated","dispatchPalletRequired","RelatedProductListvue_type_script_lang_ts_","components_RelatedProductListvue_type_script_lang_ts_","RelatedProductList_component","components_RelatedProductList","HandlingFeeMessageCartvue_type_template_id_5ef11ffc_render","handlingFeeCartHeader","handlingFeeMessageInCartSection","HandlingFeeMessageCartvue_type_template_id_5ef11ffc_staticRenderFns","HandlingFeeMessageCartvue_type_script_lang_ts_HandlingFeeMessageCart","HandlingFeeMessageCartvue_type_script_lang_ts_temp","HandlingFeeMessageCart","HandlingFeeMessageCartvue_type_script_lang_ts_","components_HandlingFeeMessageCartvue_type_script_lang_ts_","HandlingFeeMessageCart_component","components_HandlingFeeMessageCart","CartSummaryTotalValueOfGoodsvue_type_template_id_33982557_render","weightTitleText","weight","weightText","totalProduct","isCompanyUser","totalProductExcludingMVAText","totalProductIncludingMVAText","discount","discountText","excludingMVAText","deliveryCostText","deliveryCost","nextStep","deliveryCostDiscount","deliveryCostDiscountText","palletFee","palletTotalText","palletQuantity","handlingFee","handlingFeeLabelText","mva","mvaText","totalText","includingMVAText","total","CartSummaryTotalValueOfGoodsvue_type_template_id_33982557_staticRenderFns","CartSummaryTotalValueOfGoodsvue_type_script_lang_ts_CartSummaryTotalValueOfGoods","CartSummaryTotalValueOfGoodsvue_type_script_lang_ts_temp","CartSummaryTotalValueOfGoods","getCartSummary","getDeliveriesRefreshed","getHandlingFeeMessage","allowBuyingGDSProducts","CartSummaryTotalValueOfGoodsvue_type_script_lang_ts_","components_CartSummaryTotalValueOfGoodsvue_type_script_lang_ts_","CartSummaryTotalValueOfGoods_component","components_CartSummaryTotalValueOfGoods","AddToCartContainervue_type_template_id_06cb56d0_render","close","closeModal","AddToCartContainervue_type_template_id_06cb56d0_staticRenderFns","AddToCartModalvue_type_template_id_06d0521e_render","addedToShoppingListHeader","addedToCartHeader","tipsOnRelatedProductsHeader","swiperOptions","cartIndicationClass","relatedProductAddedToCartText","slot","continueToShop","checkoutUrl","redirectToShoppingList","redirectToCheckout","savingsComparedToNonECOVariant","AddToCartModalvue_type_template_id_06d0521e_staticRenderFns","AddToCartModalvue_type_script_lang_ts_AddToCartModal","AddToCartModalvue_type_script_lang_ts_temp","AddToCartModal","init","slidesPerView","spaceBetween","direction","effect","initialSlide","observer","centerInsufficientSlides","observeParents","observeSlideChildren","navigation","nextEl","prevEl","loop","watchOverflow","breakpoints","480","640","checkoutbutton","swiper","$swiper","slidePrev","slideNext","Swiper","vue_awesome_swiper","SwiperSlide","Promise","resolve","AddToCartModalvue_type_script_lang_ts_","components_AddToCartModalvue_type_script_lang_ts_","AddToCartModal_component","components_AddToCartModal","AddToCartContainervue_type_script_lang_ts_AddToCartContainer","AddToCartContainervue_type_script_lang_ts_temp","AddToCartContainer","ecoVariantId","currentVariantId","shoppingList","isProductSelectorPage","showModal","fetchAddToCartInfo","fetchAddToCartInfoArticleNumbers","variantSystemIds","fetchAddToCartInfoMultipleVariants","fetchAddToCartInfoConfigurator","isModalVisible","classList","remove","_fetchAddToCartInfo","asyncToGenerator","mark","_x","_x2","_x3","_fetchAddToCartInfoMultipleVariants","variantIds","_x4","_x5","_fetchAddToCartInfoConfigurator","configuratortype","_x6","_x7","_fetchAddToCartInfoArticleNumbers","articleNumbers","_x8","_x9","AddToCartContainervue_type_script_lang_ts_","components_AddToCartContainervue_type_script_lang_ts_","AddToCartContainer_component","components_AddToCartContainer","FreightCalculationvue_type_template_id_c30bf9cc_render","infoModel","freightCalculationValidationErrorText","isValidPostalNumber","freightCalculationValidationInvalidPostNumberText","isValidPostalCity","freightCalculationValidationInvalidPostCityText","isValidWeight","freightCalculationValidationInvalidWeightText","freightCalculationValidationWeightLimitText","obsText","freightCalculationPostNumberText","minlength","validatePostalNumber","freightCalculationPostCityText","validatePostalCity","freightCalculationWeightText","keypress","validateWeight","getFreightCost","freightCalculationButtonText","resultModel","freightCostSEK","freightCalculationResultDesriptionText","freightCalculationWareHouseNameText","freightCalc_WarehouseName","freightCalculationResultCostText","reservationText","FreightCalculationvue_type_template_id_c30bf9cc_staticRenderFns","FreightCalculationvue_type_script_lang_ts_FreightCalculation","FreightCalculationvue_type_script_lang_ts_temp","FreightCalculation","customerNumber","obstext","reservationtext","currencycode","customernumber","postNumber","postNumberRegExp","postCity","match","postCityRegExp","preventDefault","showError","weightLimitExceeded","formattedFreight","Shapes","FreightCalculationvue_type_script_lang_ts_","components_FreightCalculationvue_type_script_lang_ts_","FreightCalculation_component","components_FreightCalculation","QuantityCalculatorCastProductContainervue_type_template_id_32fc5bcb_render","castCalculationDisclaimerHeader","castCalculationDisclaimer","castQuantityCalculatorStartCalculating","QuantityCalculatorCastProductContainervue_type_template_id_32fc5bcb_staticRenderFns","QuantityCalculatorCastProductvue_type_template_id_cab2f160_render","isPartOfSection","castQuantityCalculatorHeader","castApplicableTypesText","selectedOption","filterProducts","castApplicableTypesDefaultText","applicableTypesCommonNoFiltering","castQuantityCalculatorFormSelect","shape","shapeCube","setShape","CastQuantityCalculatorCubeImageUrl","shapeCylinder","CastQuantityCalculatorCylinderImageUrl","shapeTriangular","CastQuantityCalculatorTriangularImageUrl","castQuantityCalculatorCubeShape","castQuantityCalculatorCylinderShape","castQuantityCalculatorTriangularShape","castQuantityCalculatorQuantity","castQuantityCalculatorInventory","castQuantityCalculatorDimensionsOrVolume","castQuantityCalculatorWidth","data-children-count","step","measurementChanged","width","castQuantityCalculatorLength","castQuantityCalculatorDiameter","diameter","castQuantityCalculatorHeight","height","castQuantityCalculatorVolume","volume","castQuantityCalculatorCalculatedAmount","selectedProductId","calculatedSack","noProductSelectedHeader","commonRecommendedProductForText","productFilterSelectedOptionName","noProductSelectedText","castQuantityCalculatorResultPreloadHeader","castQuantityCalculatorResultPreloadText","selectedResult","itemPackagingWeight","castQuantityCalculatorLargeSacks","castQuantityCalculatorSacks","castQuantityCalculatorOr","castCalculationSelectProduct","ArticleNumber","Url","isiframe","selectedProductUrl","castCalculationGoToProduct","castQuantityCalculatorSaveAndClose","castQuantityCalculatorClose","GetCarbonSavingsModel","QuantityCalculatorCastProductvue_type_template_id_cab2f160_staticRenderFns","QuantityCalculatorCastProductvue_type_script_lang_ts_QuantityCalculatorCastProduct","QuantityCalculatorCastProductvue_type_script_lang_ts_temp","QuantityCalculatorCastProduct","GetDefaultQuantityCalculatorResultModel","CUBE","section","noproductselectedheader","noproductselectedtext","cubeImageUrl","cubeimageurl","cylinderImageUrl","cylinderimageurl","triangularImageUrl","triangularimageurl","includedproducts","productsUnfiltered","isMobile","ismobile","applicableFilterOptions","filteroptions","quantityInput","scrollIntoView","behavior","block","inline","volumeSetAmount","resetValues","CalculateVolume","itemConsumptionCalculatorCast","isPartOfSectionAndProductSelected","selectedShape","variantJoint","depth","ShowProductForType","CalculateCubeVolume","CYLINDER","CalculateCylinderVolume","TRIANGULAR","CalculateTriangleVolume","checkIfMesaurementsAreValid","core_js_parse_float_default","pow","volumeUnformatted","str","e","castQuantity","sessionValue","isJson","GetSelectedProductUrl","GetVariant","CalculatorTypes","Cast","GetVariants","castQuantityCalculatorCubeImageUrl","castQuantityCalculatorCylinderImageUrl","castQuantityCalculatorTriangularImageUrl","QuantityCalculatorCastProductvue_type_script_lang_ts_","components_QuantityCalculatorCastProductvue_type_script_lang_ts_","QuantityCalculatorCastProduct_component","components_QuantityCalculatorCastProduct","QuantityCalculatorCastProductContainervue_type_script_lang_ts_QuantityCalculatorCastProductContainer","QuantityCalculatorCastProductContainervue_type_script_lang_ts_temp","QuantityCalculatorCastProductContainer","QuantityCalculatorCastProductContainervue_type_script_lang_ts_","components_QuantityCalculatorCastProductContainervue_type_script_lang_ts_","QuantityCalculatorCastProductContainer_component","components_QuantityCalculatorCastProductContainer","QuantityCalculatorFloorProductvue_type_template_id_084a9dfc_render","calculatorType","plasterApplicableTypesText","plasterApplicableTypesDefaultText","plasterCalculatorDimensionsOrVolume","floorCalculatorDimensionsOrVolume","floorCalculatorYTAText","numberOfSquareMeters","floorCalculatorLayerThicknessText","hideProductListInput","plasterCalculatorResultPreloadHeader","floorCalculatorResultPreloadHeader","plasterCalculatorResultPreloadText","floorCalculatorResultPreloadText","productChanged","plasterLattbetongNoProductsText","QuantityCalculatorFloorProductvue_type_template_id_084a9dfc_staticRenderFns","QuantityCalculatorFloorProductvue_type_script_lang_ts_QuantityCalculatorFloorProduct","QuantityCalculatorFloorProductvue_type_script_lang_ts_temp","QuantityCalculatorFloorProduct","calculatortype","selectedProductMaterialConsumption","GetSelectedProductMaterialConsumption","Bag","QuantityCalculatorFloorProductvue_type_script_lang_ts_","components_QuantityCalculatorFloorProductvue_type_script_lang_ts_","QuantityCalculatorFloorProduct_component","components_QuantityCalculatorFloorProduct","QuantityCalculatorMortarProductvue_type_template_id_306ecb9d_render","quantityCalculatorMortarMainHeader","quantityCalculatorMortarBuildingOptionHeader","selectedBuildingOption","loadVariantOptions","quantityCalculatorMortarBuildingTypeSelectOptionDefaultText","mortarCalculatorModel","buildingOption","hideVariantOptions","productsCannotBeCalculated","quantityCalculatorMortarNoVariantsCanBeCalculatedText","selectedProductName","buildingOptionName","productName","quantityCalculatorMortarRecommendedMortar","baseProductId","baseProductName","quantityCalculatorMortarBlockStoneSizeHeader","style","quantityCalculatorMortarVariantSelectNoProductDefaultText","quantityCalculatorMortarVariantSelectOptionDefaultText","variantOption","quantityCalculatorMortarTotalAreaHeader","totalYta","quantityCalculatorMortarAreaUnit","quantityCalculatorMortarResultHeader","mortarCalculatorResultPreloadHeader","mortarCalculatorResultPreloadText","quantityCalculatorMortarPreResultText","quantityCalculatorMortarOrText","mortarJointInformationText","mortarFullJointText","mortarStringJointText","changeProduct","quantityCalculatorMortarButtonTextWhenResultAvailable","quantityCalculatorMortarButtonText","QuantityCalculatorMortarProductvue_type_template_id_306ecb9d_staticRenderFns","QuantityCalculatorMortarProductvue_type_script_lang_ts_QuantityCalculatorMortarProduct","QuantityCalculatorMortarProductvue_type_script_lang_ts_temp","QuantityCalculatorMortarProduct","mortarProductsList","buildingOptions","initialProductData","buildingoptions","mortarCalculatorViewModel","buildingOptionFromRequest","changedProduct","loadProductsBasedOnVariantOption","selectedProductData","tempOptions","MortarModel","variantsCanBeCalculated","z","selectedProductList","variantsCanBeCalculatedExists","productsCannotBeCalculatedExists","tempProductData","itemConsumptionCalculatorMortar","selectedVariantJoint","itemConsumptionFullJoint","itemConsumptionStringJoint","tempResults","Mortar","QuantityCalculatorMortarProductvue_type_script_lang_ts_","components_QuantityCalculatorMortarProductvue_type_script_lang_ts_","QuantityCalculatorMortarProduct_component","components_QuantityCalculatorMortarProduct","QuantityCalculatorMortarProductContainervue_type_template_id_10deaf0b_render","mortarCalculationDisclaimerHeader","mortarCalculationDisclaimer","QuantityCalculatorMortarProductContainervue_type_template_id_10deaf0b_staticRenderFns","QuantityCalculatorMortarProductContainervue_type_script_lang_ts_QuantityCalculatorMortarProductContainer","QuantityCalculatorMortarProductContainervue_type_script_lang_ts_temp","QuantityCalculatorMortarProductContainer","QuantityCalculatorMortarProductContainervue_type_script_lang_ts_","components_QuantityCalculatorMortarProductContainervue_type_script_lang_ts_","QuantityCalculatorMortarProductContainer_component","components_QuantityCalculatorMortarProductContainer","QuantityCalculatorBlockProductvue_type_template_id_e71d07ac_render","blockApplicableTypesText","blockApplicableTypesDefaultText","blockCalculatorDimensionsOrVolume","blockCalculatorResultPreloadHeader","blockCalculatorResultPreloadText","blockCalculatorResultUnitText","QuantityCalculatorBlockProductvue_type_template_id_e71d07ac_staticRenderFns","QuantityCalculatorBlockProductvue_type_script_lang_ts_QuantityCalculatorBlockProduct","QuantityCalculatorBlockProductvue_type_script_lang_ts_temp","QuantityCalculatorBlockProduct","log","Block","QuantityCalculatorBlockProductvue_type_script_lang_ts_","components_QuantityCalculatorBlockProductvue_type_script_lang_ts_","QuantityCalculatorBlockProduct_component","components_QuantityCalculatorBlockProduct","QuantityCalculatorSandboxProductvue_type_template_id_268267bf_render","sandQuantityCalculatorSandBoxDimensionsText","sandQuantityCalculatorSandBoxWidth","quantityCalculatorMeterUnitText","sandQuantityCalculatorSandBoxLength","sandQuantityCalculatorSandBoxDepth","quantityCalculatorCentiMeterUnitText","sandQuantityCalculatorSandBoxResultPreloadHeader","sandQuantityCalculatorSandBoxResultPreloadText","QuantityCalculatorSandboxProductvue_type_template_id_268267bf_staticRenderFns","QuantityCalculatorSandboxProductvue_type_script_lang_ts_QuantityCalculatorSandboxProduct","QuantityCalculatorSandboxProductvue_type_script_lang_ts_temp","QuantityCalculatorSandboxProduct","CalculateVolumeSandBox","SandboxSand","QuantityCalculatorSandboxProductvue_type_script_lang_ts_","components_QuantityCalculatorSandboxProductvue_type_script_lang_ts_","QuantityCalculatorSandboxProduct_component","components_QuantityCalculatorSandboxProduct","QuantityCalculatorFogsandProductvue_type_template_id_46181aaf_render","sandQuantityCalculatorFogSandDimensionsText","sandQuantityCalculatorFogSandWidth","quantityCalculatorMilliMeterUnitText","sandQuantityCalculatorFogSandLength","sandQuantityCalculatorFogSandThickness","thickness","sandQuantityCalculatorFogSandAdditionalDimensionsText","sandQuantityCalculatorFogSandJointWidth","jointwidth","sandQuantityCalculatorFogSandMarkyta","quantityCalculatorMeterSquareUnitText","markyta","sandQuantityCalculatorFogSandResultPreloadHeader","sandQuantityCalculatorFogSandResultPreloadText","QuantityCalculatorFogsandProductvue_type_template_id_46181aaf_staticRenderFns","QuantityCalculatorFogsandProductvue_type_script_lang_ts_QuantityCalculatorFogsandProduct","QuantityCalculatorFogsandProductvue_type_script_lang_ts_temp","QuantityCalculatorFogsandProduct","superItemStyle","font-size","CalculateWeightFogSand","fogSandMultiplyingFactor","FogSand","QuantityCalculatorFogsandProductvue_type_script_lang_ts_","components_QuantityCalculatorFogsandProductvue_type_script_lang_ts_","QuantityCalculatorFogsandProduct_component","components_QuantityCalculatorFogsandProduct","ConsumptionCalculatorSandvue_type_template_id_0c851f22_render","sandQuantityCalculatorSandBoxDisclaimerHeader","sandQuantityCalculatorFogSandDisclaimerHeader","sandBoxCalculationDisclaimer","fogSandCalculationDisclaimer","ConsumptionCalculatorSandvue_type_template_id_0c851f22_staticRenderFns","ConsumptionCalculatorSandvue_type_script_lang_ts_ConsumptionCalculatorSand","ConsumptionCalculatorSandvue_type_script_lang_ts_temp","ConsumptionCalculatorSand","floatLeft","float","margin","margin-left","setMeasurementsFromSessionSandBox","setMeasurementsFromSessionFogSand","sandboxquantity","fogsandquantity","ConsumptionCalculatorSandvue_type_script_lang_ts_","components_ConsumptionCalculatorSandvue_type_script_lang_ts_","ConsumptionCalculatorSand_component","components_ConsumptionCalculatorSand","QuantityCalculatorUBlockProductvue_type_template_id_36b6d316_render","uBlockQuantityCalculatorHeaderText","uBlockQuantityCalculatorLengthOfBlockText","uBlockQuantityCalculatorFullMeterUnitText","uBlockQuantityCalculatorIsBlockIsolatedText","isIsolated","radiobuttonchanged","quantityCalculatorCommonYes","quantityCalculatorCommonNo","insulationVariantModel","uBlockQuantityCalculatorIsBlockConcretedText","isConcreted","uBlockFooterDescription","uBlockResultPreloadHeader","uBlockResultPreloadText","insulationQuantityResults","insulationItemsQuantity","uBlockQuantityCalculatorPacketResultUnitText","fillingQuantityResults","fillingProductModel","some","fillingQuantityResult","QuantityCalculatorUBlockProductvue_type_template_id_36b6d316_staticRenderFns","QuantityCalculatorUBlockProductvue_type_script_lang_ts_QuantityCalculatorUBlockProduct","QuantityCalculatorUBlockProductvue_type_script_lang_ts_temp","QuantityCalculatorUBlockProduct","italicFontObject","font-style","italicFont","selectedId","resetCalculatedQuantities","fillingQuantityResultsForSession","itemConsumptionCalculatorUBlock","calculateInsulationItemsQuantity","calculateFillingItemsQuantity","packagingLength","fillingVariantModel","showIsolatedOptions","itemAdditionalMaterialConsumption","itemFillingWithInsulation","sacks","packagingWeight","addToCartWithSingleAddedToCart","activateProductWebshop","isOnlyShoppingList","QuantityCalculatorUBlockProductvue_type_script_lang_ts_","components_QuantityCalculatorUBlockProductvue_type_script_lang_ts_","QuantityCalculatorUBlockProduct_component","components_QuantityCalculatorUBlockProduct","QuantityCalculatorUBlockProductContainervue_type_template_id_87a38d86_render","uBlockCalculationDisclaimerHeader","uBlockCalculationDisclaimer","QuantityCalculatorUBlockProductContainervue_type_template_id_87a38d86_staticRenderFns","QuantityCalculatorUBlockProductContainervue_type_script_lang_ts_QuantityCalculatorUBlockProductContainer","QuantityCalculatorUBlockProductContainervue_type_script_lang_ts_temp","QuantityCalculatorUBlockProductContainer","QuantityCalculatorUBlockProductContainervue_type_script_lang_ts_","components_QuantityCalculatorUBlockProductContainervue_type_script_lang_ts_","QuantityCalculatorUBlockProductContainer_component","components_QuantityCalculatorUBlockProductContainer","ProductEnvironmentDataBasevue_type_template_id_7abfff4d_render","iconUrl","GetEnvironmentDataBasePopUpInfo","environmentModel","environmentDatabases","selectedIndex","ProductEnvironmentDataBasevue_type_template_id_7abfff4d_staticRenderFns","ProductEnvironmentDataBaseModalvue_type_template_id_198b0a3f_render","hideModal","productEnvironmentDatabaseText","productEnvironmentDatabaseCriteriaText","GetAllIndicators","productEnvironmentDatabaseLevel2","indicator","indicatorVersion","indicatorIdentifier","GetIndicatorValues","allAvailableOptions","indicatorValues","indicatorCriteras","indicatorValue","activatedCriteria","generalOnText","aboutText","generalMoreInformationText","_blank","ProductEnvironmentDataBaseModalvue_type_template_id_198b0a3f_staticRenderFns","ProductEnvironmentDataBaseModalvue_type_script_lang_ts_ProductEnvironmentDataBaseModal","ProductEnvironmentDataBaseModalvue_type_script_lang_ts_temp","ProductEnvironmentDataBaseModal","textdecoration","text-decoration","ProductEnvironmentDataBaseModalvue_type_script_lang_ts_","ProductPage_ProductEnvironmentDataBaseModalvue_type_script_lang_ts_","ProductEnvironmentDataBaseModal_component","ProductPage_ProductEnvironmentDataBaseModal","ProductEnvironmentDataBasevue_type_script_lang_ts_ProductEnvironmentDataBase","ProductEnvironmentDataBasevue_type_script_lang_ts_temp","ProductEnvironmentDataBase","environmentdatabases","ProductEnvironmentDataBasevue_type_script_lang_ts_","ProductPage_ProductEnvironmentDataBasevue_type_script_lang_ts_","ProductEnvironmentDataBase_component","ProductPage_ProductEnvironmentDataBase","CarbonSavingsCalculationContainervue_type_template_id_77fb4e53_render","CarbonSavingsCalculationContainervue_type_template_id_77fb4e53_staticRenderFns","CarbonSavingsCalculationContainervue_type_script_lang_ts_CarbonSavingsCalculationContainer","CarbonSavingsCalculationContainervue_type_script_lang_ts_temp","CarbonSavingsCalculationContainer","isgds","calculationcarbonsavingsmodel","quantitydata","isconfigurator","CarbonSavingsCalculationContainervue_type_script_lang_ts_","ProductPage_CarbonSavingsCalculationContainervue_type_script_lang_ts_","CarbonSavingsCalculationContainer_component","ProductPage_CarbonSavingsCalculationContainer","DiyVariantItemvue_type_template_id_e4b38b78_render","gdsVariant","virtualItemClass","data-gdsid","virtualItemClassExists","doItYourSelfConsumerDescription","toggleCarbonSavingsInfo","carbonsavingsexpanded","showCarbonSavingsInfo","switchToECOText","neccessary","consumerName","articleIncludedInANonSplitablePackage","data-gds","data-variantid","getVariantId","$set","DiyVariantItemvue_type_template_id_e4b38b78_staticRenderFns","DiyVariantItemvue_type_script_lang_ts_DiyVariantItem","DiyVariantItemvue_type_script_lang_ts_temp","DiyVariantItem","gdsVariants","gdsvariant","carbonSavingsProductStates","productStateIndex","productState","productsData","currentVariantIndex","modifiedQuantity","ps","getCarbonSavingsProductState","DiyVariantItemvue_type_script_lang_ts_","ProductPage_DiyVariantItemvue_type_script_lang_ts_","DiyVariantItem_component","ProductPage_DiyVariantItem","SiteConstants","Area","Layer","VariantSelectorvue_type_script_lang_ts_VariantSelector","VariantSelectorvue_type_script_lang_ts_temp","VariantSelector","ready","createImageGallery","resetQuantitiesInputs","setQuantityFromSession","setQuantityFromSessionMortar","setQuantityFromSessionFloor","setQuantityFromSessionBlock","setQuantityFromSessionUBlock","setQuantityFromSessionCarbonSavingsProduct","ReportViewToGoogleEnhancedEcommerce","_","pickPhotoOfSelectedVariant","itemInPallet","isCarbonSavingsCalculationVariant","castquantity","setQuantityFromSessionJson","mortarquantity","insulationQuantity","fillingQuantity","quantityResults","PushViewToGoogle","self","slider","slick","arrows","infinite","asNavFor","lazyLoad","currentSlide","nextSlide","slideCurrent","$slides","variantIdElement","centerMode","focusOnSelect","variableWidth","slickLightbox","itemSelector","imageMaxHeight","lazy","css","each","parent","itemsInPallet","showPalletQuantity","quantityDefault","calculateQuantityRemainder","resetQuantity","quantityPerPallet","showQuantity","_area","VariantSelectorvue_type_script_lang_ts_","components_VariantSelectorvue_type_script_lang_ts_","VariantSelector_component","components_VariantSelector","ProductConfiguratorvue_type_template_id_5bffcf94_render","sharedConfiguratorInfoFound","shareConfiguratorInfoNotFoundText","activeStepIndex","setActiveStep","visibleSections","no-outline","hideDelimiter","getModuleComponent","_b","tag","update-configurator-value","getModuleProps","displayNextStepButton","isMandatoryStepPropertyValuesSet","goToStep","nextStepText","quantityChangedModalName","classes","adaptive","max-width","scrollable","clickToClose","hideQuantityChangedModal","quantityChangedHeading","quantityChangedText","quantityChangedClose","ProductConfiguratorvue_type_template_id_5bffcf94_staticRenderFns","Cookie_Cookie","selectedCustomConfiguratorProductCookie","decodeURI","cookieArray","vmTemp","cookie","wallSections","cookieNames","cookieExist","cookies","cookieName","cookieCollection","allCookies","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","allCookie","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_step5","_iterator5","fullCookieNames","getCookieFullNames","date","Date","setTime","getTime","_iteratorNormalCompletion6","_didIteratorError6","_iteratorError6","_step6","_iterator6","toUTCString","getCookie","parses","propertyNameList","_iteratorNormalCompletion7","_didIteratorError7","_iteratorError7","_step7","_iterator7","cookieString","createCookie","values","now","setDate","getDate","expires","newValue","valuesObjects","configValues","addValueOnce","_iteratorNormalCompletion8","_didIteratorError8","_iteratorError8","_step8","_iterator8","valuesObject","isText","_articleNumbers","GetAddedProducts","_newUpdateModelValue","currentRecommenedValue","newUpdateModelValue","filterConfigValues","encodeURI","existingCookies","carbonSavingsCookie","added","indexOfGroundShape","indexOfOuterCorners","services_Cookie","RadioButtonInputModulevue_type_template_id_4b9b8ea5_render","onSelectedChange","RadioButtonInputModulevue_type_template_id_4b9b8ea5_staticRenderFns","RadioButtonInputModulevue_type_script_lang_ts_RadioButtonInputModule","RadioButtonInputModulevue_type_script_lang_ts_temp","RadioButtonInputModule","preselectedOption","preSelected","setCookie","configuratorProperties","resetClimateSavingsCookie","updateModelPlasterThickness","RadioButtonInputModulevue_type_script_lang_ts_","components_RadioButtonInputModulevue_type_script_lang_ts_","RadioButtonInputModule_component","components_RadioButtonInputModule","ImageInputModulevue_type_template_id_53c2e8e5_render","imageClass","desktopNumberOfImageOptions","mobileNumberOfImageOptions","altText","ImageInputModulevue_type_template_id_53c2e8e5_staticRenderFns","ImageInputModulevue_type_script_lang_ts_ImageInputModule","ImageInputModulevue_type_script_lang_ts_temp","ImageInputModule","autoSelect","updatedValueOption","ImageInputModulevue_type_script_lang_ts_","components_ImageInputModulevue_type_script_lang_ts_","ImageInputModule_component","components_ImageInputModule","TextInputModulevue_type_template_id_aa7656d0_render","listTextBoxHorizontally","label","no-label","data-property-name","configuratorProperty","data-property-unit","handleBlur","dataType","TextInputModulevue_type_template_id_aa7656d0_staticRenderFns","TextInputModulevue_type_script_lang_ts_TextInputModule","TextInputModulevue_type_script_lang_ts_temp","TextInputModule","backgroundColor","background-color","optionInner","_updatedValueOption","propertyValue","propertyNamedataElement","propertyUnitDataElement","isValidNumberInput","dataset","propertyUnit","setOptionValue","TextInputModulevue_type_script_lang_ts_","components_TextInputModulevue_type_script_lang_ts_","TextInputModule_component","components_TextInputModule","ContentModulevue_type_template_id_6ef980e0_render","open","contentReadMore","showReadMore","toggleReadMore","getBtnText","ContentModulevue_type_template_id_6ef980e0_staticRenderFns","ContentModulevue_type_script_lang_ts_ContentModule","ContentModulevue_type_script_lang_ts_temp","ContentModule","fadeColor","background","borderColor","border","readLess","readMore","ContentModulevue_type_script_lang_ts_","components_ContentModulevue_type_script_lang_ts_","ContentModule_component","components_ContentModule","ProductListModulevue_type_template_id_558e7218_render","hideQuantity","showProductSpecification","toggleProductSpecification","showProductSpecificationButtonText","handleQuantityUpdate","buy-button","isProductAdded","confirmedQuantity","getButtonText","ProductListModulevue_type_template_id_558e7218_staticRenderFns","ProductSpecificationvue_type_template_id_20b9fbb4_render","productSpecification","fileId","fileName","ProductSpecificationvue_type_template_id_20b9fbb4_staticRenderFns","ProductSpecificationvue_type_script_lang_ts_ProductSpecification","ProductSpecificationvue_type_script_lang_ts_temp","ProductSpecification","ProductSpecificationvue_type_script_lang_ts_","components_ProductSpecificationvue_type_script_lang_ts_","ProductSpecification_component","components_ProductSpecification","ProductListModulevue_type_script_lang_ts_ProductListModule","ProductListModulevue_type_script_lang_ts_temp","ProductListModule","productStates","_loop","tempproduct","productsInCookie","matchingProduct","addOnlyOneProduct","showSelectText","currentValue","valueData","updateModelRecommended","selectedProductButtonText","addedProductButtonText","selectProductButtonText","addProductButtonText","localeCompare","numeric","ProductListModulevue_type_script_lang_ts_","components_ProductListModulevue_type_script_lang_ts_","ProductListModule_component","components_ProductListModule","ProductSummaryModulevue_type_template_id_ad089f68_render","addToCartDisabled","imageUrlCompilation","ProductSummaryModulevue_type_template_id_ad089f68_staticRenderFns","CarbonSavingsCompilationvue_type_template_id_212f1c7f_render","carbonSavingsFormatted","climateSavingsCompilationHeader","getDescription","climateSavingsCompilationText","CarbonSavingsCompilationvue_type_template_id_212f1c7f_staticRenderFns","CarbonSavingsCompilationvue_type_script_lang_ts_CarbonSavingsCompilation","CarbonSavingsCompilationvue_type_script_lang_ts_temp","CarbonSavingsCompilation","compilationText","CarbonSavingsCompilationvue_type_script_lang_ts_","ClimateSavings_CarbonSavingsCompilationvue_type_script_lang_ts_","CarbonSavingsCompilation_component","ClimateSavings_CarbonSavingsCompilation","ProductSummaryModulevue_type_script_lang_ts_ProductSummaryModule","ProductSummaryModulevue_type_script_lang_ts_temp","ProductSummaryModule","getProductState","updateMiniCart","reportAddToCartToGoogleEnhancedEcommerce","cartUrl","productPrice","googleProducts","configuratorIdentifier","imagesrc","ProductSummaryModulevue_type_script_lang_ts_","components_ProductSummaryModulevue_type_script_lang_ts_","ProductSummaryModule_component","components_ProductSummaryModule","SelectedOptionsSummaryModulevue_type_template_id_287a7881_render","propertyGroupType","configuratorValueGroups","getConfiguratorValueDescriptions","valueDescription","getHtmlStringWithRowBreaks","cookieExists","resetCookie","resetSelectedCookie","enableShareConfigurator","shareConfigurator","shareButtonText","SelectedOptionsSummaryModulevue_type_template_id_287a7881_staticRenderFns","SelectedOptionsSummaryModulevue_type_script_lang_ts_SelectedOptionsSummaryModule","SelectedOptionsSummaryModulevue_type_script_lang_ts_temp","SelectedOptionsSummaryModule","removeCookies","reload","moduleValue","valueDefinedProperties","valueDefinedPropertiesTemp","properties","prop","group","objectSpread","SelectedOptionsSummaryModulevue_type_script_lang_ts_","components_SelectedOptionsSummaryModulevue_type_script_lang_ts_","SelectedOptionsSummaryModule_component","components_SelectedOptionsSummaryModule","StraightWallSectionModulevue_type_template_id_14fb0584_render","straightWallModel","deleteSection","trim","wallSectionNamePlaceholder","tryUpdateConfiguratorValue","rules","scopedSlots","_u","fn","errors","validate","commonLength","commonMeter","retainingWallMaxHeight","heightRetainingWall","heightAboveGroundMinHeight","dividingWallMaxHeight","isRetainingWall","heightAboveGround","commonHeight","addSection","StraightWallSectionModulevue_type_template_id_14fb0584_staticRenderFns","vee_validate_esm","belowAllowedLimitMessage","StraightWallSectionModulevue_type_script_lang_ts_StraightWallSectionModule","StraightWallSectionModulevue_type_script_lang_ts_temp","StraightWallSectionModule","applyCustomCookies","tempSections","sectionIndex","every","unnamedWallSection","cv","Retaining","ValidationProvider","StraightWallSectionModulevue_type_script_lang_ts_","components_StraightWallSectionModulevue_type_script_lang_ts_","StraightWallSectionModule_component","components_StraightWallSectionModule","CurvedWallSectionModulevue_type_template_id_53bd4be8_render","curvedWallModel","toggleSectionTypeSelector","sectionDegree","selectWallSectionType","showSectionTypeSelector","activeSectionTypeSelector","stopPropagation","setSectionOptions","applicableProperies","toTheLeft","toTheRight","getSectionMaxHeight","handleSectionHeightUpdate","coping","commonYes","commonNo","CurvedWallSectionModulevue_type_template_id_53bd4be8_staticRenderFns","CurvedWallSectionModulevue_type_script_lang_ts_CurvedWallSectionModule","CurvedWallSectionModulevue_type_script_lang_ts_temp","CurvedWallSectionModule","sectionType","angle","sectionAngle","resetSectionValues","Straight","getValueDescription","wallSection","directionDescription","Left","Right","CurvedWallSectionModulevue_type_script_lang_ts_","components_CurvedWallSectionModulevue_type_script_lang_ts_","CurvedWallSectionModule_component","components_CurvedWallSectionModule","BuildingOutdoorWallSectionModulevue_type_template_id_4b7c8753_render","slim","outdoorWallModel","hideGableInput","gableEnd","showOpeningSection","toggleOpeningSection","addBuildingWallOpenings","opening","openingIndex","deleteOpening","wallSectionOpeningNamePlaceholder","getOpeningBeamMaxWidth","getOpeningMaxWidth","commonWidth","getOpeningMaxHeight","commonQuantity","commonPiecesAbbreviation","beam","beamChanged","addOpening","BuildingOutdoorWallSectionModulevue_type_template_id_4b7c8753_staticRenderFns","invalidBuildingWallOpeningMessage","BuildingOutdoorWallSectionModulevue_type_script_lang_ts_BuildingOutdoorWallSectionModule","BuildingOutdoorWallSectionModulevue_type_script_lang_ts_temp","BuildingOutdoorWallSectionModule","showOpenings","wallOpenings","validationObs","requiredLoadBearingProductHeight","isFromCookie","success","wo","gableEndData","unnamedBuildingWallSection","unnamedBuildingWallOpening","join","unshift","ValidationObserver","BuildingOutdoorWallSectionModulevue_type_script_lang_ts_","components_BuildingOutdoorWallSectionModulevue_type_script_lang_ts_","BuildingOutdoorWallSectionModule_component","components_BuildingOutdoorWallSectionModule","BuildingIndoorWallSectionModulevue_type_template_id_a03dbf80_render","indoorWallModel","isMurblockInnerWall","blockTypeInnerWall","blockType","showThicknessOptions","hideWidthOptions","indoorBuildingWallThicknessHeading","soundIsolatedBlockInfo","BuildingIndoorWallSectionModulevue_type_template_id_a03dbf80_staticRenderFns","notWithinValidIntervalMessage","BuildingIndoorWallSectionModulevue_type_script_lang_ts_BuildingIndoorWallSectionModule","BuildingIndoorWallSectionModulevue_type_script_lang_ts_temp","BuildingIndoorWallSectionModule","Standard","SoundIsolated","commonThickness","masonaryType","BuildingIndoorWallSectionModulevue_type_script_lang_ts_","components_BuildingIndoorWallSectionModulevue_type_script_lang_ts_","BuildingIndoorWallSectionModule_component","components_BuildingIndoorWallSectionModule","BathroomWallSectionModulevue_type_template_id_d87e66cc_render","bathroomWallModel","BathroomWallSectionModulevue_type_template_id_d87e66cc_staticRenderFns","invalidBathroomWallOpeningMessage","BathroomWallSectionModulevue_type_script_lang_ts_BathroomWallSectionModule","BathroomWallSectionModulevue_type_script_lang_ts_temp","BathroomWallSectionModule","unnamedBathroomWallOpening","BathroomWallSectionModulevue_type_script_lang_ts_","components_BathroomWallSectionModulevue_type_script_lang_ts_","BathroomWallSectionModule_component","components_BathroomWallSectionModule","ProductListCustomModulevue_type_template_id_17cf47c6_render","productListCustomText","selectedBaseProductWidthOptions","basicElementsWidthOptionHeader","basicElementsWidthOptionText","selectedOptionWidth","onSelectedChangeWidth","selectedBaseProductHeightOptions","basicElementsHeightOptionHeader","basicElementsHeightOptionText","selectedOptionHeight","onSelectedChangeHeight","ProductListCustomModulevue_type_template_id_17cf47c6_staticRenderFns","ProductListCustomModulevue_type_script_lang_ts_ProductListCustomModule","ProductListCustomModulevue_type_script_lang_ts_temp","ProductListCustomModule","selectedProduct","recommendedSectionProductFromCookie","getWidthHeightOptions","selectedWidthFromCookie","updateModelWidth","selectedHeightFromCookie","updateModelHeight","customProducts","heightOptions","customProductsHeightOptions","widthOptions","customProductsWidthOptions","_updateModel","ProductListCustomModulevue_type_script_lang_ts_","components_ProductListCustomModulevue_type_script_lang_ts_","ProductListCustomModule_component","components_ProductListCustomModule","StepByStepInstructionsProductListModulevue_type_template_id_7f370998_render","StepByStepInstructionsProductListModulevue_type_template_id_7f370998_staticRenderFns","StepByStepInstructionsProductListModulevue_type_script_lang_ts_StepByStepInstructionsProductListModule","StepByStepInstructionsProductListModulevue_type_script_lang_ts_temp","StepByStepInstructionsProductListModule","elementVal","jsondata","removeFromCart","StepByStepInstructionsProductListModulevue_type_script_lang_ts_","components_StepByStepInstructionsProductListModulevue_type_script_lang_ts_","StepByStepInstructionsProductListModule_component","components_StepByStepInstructionsProductListModule","ProductConfiguratorvue_type_script_lang_ts_ProductConfigurator","ProductConfiguratorvue_type_script_lang_ts_temp","ProductConfigurator","cookieStringList","getCookieStringList","cookieCustomStringList","isConfigIncluded","configList","containsGroundShapeOrCorners","steps","sections","mandatory","propValue","translationModel","sharedconfiguratorinfofound","toLowerCase","initiateConfigurator","calculateProductQuantity","checkMandatoryStepPropertyValuesSet","plasticBoardPercentage","updateFieldValuesFromSettings","securityMargin","materialConsumptionFactorOutdoorWall","materialConsumptionFactorIndoorWall","materialConsumptionFactorExaktOutdoorWall","cornerBlockOpeningBlockQuantityFactor","adjustmentFactorForNormalBlockPassPicker","ecoVarintCookie","remapToDifferentVariant","fromVariantId","toVariantId","updateCookie","fromProduct","productData","CreateCarbonSavingsCookie","availableProducts","moduleType","_this5$availableProdu","_this5$availableProdu2","stepProductListModule","recommendedProductSelectedProperty","sortIndex","setLocalStorage","clearHiddenSectionPropertyValues","selectedConfiguratorProductCookie","_this7","moduleProductsWithoutAutoAdd","moduleProducts","autoAddProducts","handleProductUpdate","configuratorProducts","autoAddIndicator","replaceECOVariants","changeCalculatedPlaster","remapFromProducts","changeToPlasterProduct","displayQuantityChangedMessage","showQuantityChangedModal","stepIndex","scrollToElement","elementRef","$modal","hide","show","conditionalPropertyValues","cpv","validPropertyValues","valueToCheck","_this8","hiddenSections","settingsProperty","coreProduct","autoAddProduct","storedProduct","getProductFromCoreProduct","ProductConfiguratorvue_type_script_lang_ts_","ProductConfigurator_ProductConfiguratorvue_type_script_lang_ts_","ProductConfigurator_component","ProductConfigurator_ProductConfigurator","VoucherCampaignvue_type_template_id_74f1e398_render","labelText","data-validationgroup","submit","applyCampaignCode","voucherCode","voucherCodeResult","buttonText","VoucherCampaignvue_type_template_id_74f1e398_staticRenderFns","VoucherCampaignvue_type_script_lang_ts_VoucherCampaign","VoucherCampaignvue_type_script_lang_ts_temp","VoucherCampaign","labeltext","buttontext","campaignCode","VoucherCampaignvue_type_script_lang_ts_","components_VoucherCampaignvue_type_script_lang_ts_","VoucherCampaign_component","components_VoucherCampaign","PaymentMethodvue_type_template_id_d778f68a_render","PaymentMethodvue_type_template_id_d778f68a_staticRenderFns","PaymentMethodvue_type_script_lang_ts_PaymentMethod","PaymentMethodvue_type_script_lang_ts_temp","PaymentMethod","PaymentMethodvue_type_script_lang_ts_","Components_PaymentMethodvue_type_script_lang_ts_","PaymentMethod_component","Components_PaymentMethod","CheckoutSummaryvue_type_template_id_94460046_render","jeevesResult","WeightString","sumText","hasPalletSharingFee","excludeShippingAndPalletSharingFee","excludeShippingText","orderRowTotal","PalletString","palletCost","palletSplitFee","palletSharingFeeText","FreightServiceString","freightServiceCost","FreightString","WarningString","freightCost","CheckoutSummaryvue_type_template_id_94460046_staticRenderFns","CheckoutSummaryvue_type_script_lang_ts_CheckoutSummary","CheckoutSummaryvue_type_script_lang_ts_temp","CheckoutSummary","orderrowtotal","palletsplitfee","haspalletsharingfee","zipCode","zipcode","getCheckoutFreightCost","responseData","freightCostCheckout","orderTotal","PalletCost","formatNumber","FreightCost","FreightServiceCost","totalElem","innerText","CheckoutSummaryvue_type_script_lang_ts_","Components_CheckoutSummaryvue_type_script_lang_ts_","CheckoutSummary_component","Components_CheckoutSummary","CurrencyFilter","numberValue","minFractionDigits","is_integer_default","currency","src_filters","config","productionTip","vue_js_modal_dist_default","vue_debounce_min_default","listenTo","defaultTime","main","load","libraries","$mount","_services_PreloadState__WEBPACK_IMPORTED_MODULE_5__","getInitialVariant","vuex_typex__WEBPACK_IMPORTED_MODULE_4__","curProduct","curVariant","getVariantFilterOptions","getVariants","getVariant","getProduct","getQuantity","getPalletRequired","commitVariant","commitQuantity","commitPalletRequired","productStore","setUrl","AppSettings_AppSettings","services_AppSettings","appStore","currentState","getState","newVariants","Variants","showBuyButton","ItemPrimaryPackagingWeight","ItemMaterialConsumption","ItemConsumptionCalculatorBlock","ItemConsumptionCalculator","ItemConsumptionCalculatorCast","ItemConsumptionCalculatorBag","ItemConsumptionCalculatorMortar","ItemConsumptionCalculatorPlaster","ItemConsumptionCalculatorFogSand","ItemConsumptionCalculatorSandBoxSand","ItemConsumptionCalculatorUBlock","InsulationVariantModel","ItemAdditionalMaterialConsumption","ItemFillingWithInsulation","FillingProductModel","CarbonSavingsModel","IsBuyable","FogSandMultiplyingFactor","_store_ProductModule__WEBPACK_IMPORTED_MODULE_4__","_enums_CalculatorTypes__WEBPACK_IMPORTED_MODULE_5__","D_a_1_s_src_Web_UI_app_node_modules_babel_runtime_corejs2_core_js_json_stringify__WEBPACK_IMPORTED_MODULE_1___default","productArray","ProductMaterialConsumption","GetSelectedProduct","fogSandFactor","consumptionPerArea","CalculateConsumptionPerAreaFogSand","weightParsed","D_a_1_s_src_Web_UI_app_node_modules_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_0___default"],"mappings":"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","file":"js/app.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/ui/app/dist/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import Vue from \"vue\";\r\nexport const EventBus = new Vue();\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.isAddToCartPopUp ? 'carbonsavings__addtocart-content' : 'carbonsavings__main-content'},[(!_vm.carbonSavingsModel.isCurrentVariantECO)?_c('div',{staticClass:\"carbonsavings__container\"},[_c('div',{staticClass:\"carbonsavings__container-items carbonsavings__container-noneco-item\"},[_c('div',{staticClass:\"carbonsavings__image\"},[_c('img',{attrs:{\"src\":_vm.carbonSavingsModel.imageUrl}})]),_c('div',{staticClass:\"carbonsavings__small-text\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.saveText)+\"\\n \")]),_c('div',{class:'carbonsavings__green-text carbonsavings__fontcontrol-' + _vm.numberOfDigits},[_vm._v(\"\\n \"+_vm._s(_vm.carbonSavings)+\" \"+_vm._s(_vm.translations.kilogramUnitText)+\" \"+_vm._s(_vm.translations.carbonDioxideText)+\"\\n \")])]),_c('div',{staticClass:\"carbonsavings__container-items\"},[_c('div',{staticClass:\"carbonsavings__header\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.saveClimateText)+\"\\n \")]),_c('div',{staticClass:\"carbonsavings__medium-text\",domProps:{\"innerHTML\":_vm._s(_vm.GetVariantDescription(_vm.translations.chooseECOVariantText, _vm.translations.kilogramUnitText,\n _vm.translations.carbonDioxideText))}}),_c('div',{staticClass:\"carbonsavings__button\"},[(!_vm.isConfigurator)?_c('a',{staticClass:\"button buy-button\",on:{\"click\":function($event){return _vm.saveSessionAndRedirect(_vm.carbonSavingsModel.ecoVariantUrl)}}},[_vm._v(_vm._s(_vm.translations.selectECOVariant))]):_c('a',{staticClass:\"button buy-button\",on:{\"click\":function($event){return _vm.selectECOProduct()}}},[_vm._v(_vm._s(_vm.translations.selectECOVariant))])])])]):_c('div',{staticClass:\"carbonsavings__container\"},[_c('div',{staticClass:\"carbonsavings__container-items carbonsavings__container-eco-item\"},[_c('div',{staticClass:\"carbonsavings__image\"},[_c('img',{attrs:{\"src\":_vm.carbonSavingsModel.imageUrl}})]),_c('div',{staticClass:\"carbonsavings__small-text\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.youSaveText)+\"\\n \")]),_c('div',{class:'carbonsavings__green-text carbonsavings__fontcontrol-' + _vm.numberOfDigits},[_vm._v(\"\\n \"+_vm._s(_vm.carbonSavings)+\" \"+_vm._s(_vm.translations.kilogramUnitText)+\" \"+_vm._s(_vm.translations.carbonDioxideText)+\"\\n \")])]),_c('div',{staticClass:\"carbonsavings__container-items carbonsavings__additional\"},[_c('div',{staticClass:\"carbonsavings__header\"},[_vm._v(\"\\n \"+_vm._s(_vm.isAddToCartPopUp ? _vm.translations.thanksForChoiceText : _vm.translations.saveClimateText)+\"\\n \")]),_c('div',{staticClass:\"carbonsavings__medium-text\",domProps:{\"innerHTML\":_vm._s(_vm.GetVariantDescription(_vm.translations.ecoVariantSavedText, _vm.translations.kilogramUnitText,\n _vm.translations.carbonDioxideText))}}),(_vm.isConfigurator && !_vm.isCalculator)?_c('a',{staticClass:\"carbonsavings__medium-text\",attrs:{\"href\":_vm.carbonSavingsModel.mainVariantUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.carbonSavingsModel.mainVariantName))]):_c('a',{staticClass:\"carbonsavings__medium-text\",on:{\"click\":function($event){return _vm.saveSessionAndRedirect(_vm.carbonSavingsModel.mainVariantUrl)}}},[_vm._v(_vm._s(_vm.carbonSavingsModel.mainVariantName))])])]),(_vm.carbonSavingsModel.thisIsHowWeCalculatedPageUrl !== '' && !_vm.isProductListModule)?_c('div',{staticClass:\"carbonsavings__very-small-text text-right\"},[_c('a',{attrs:{\"href\":_vm.carbonSavingsModel.thisIsHowWeCalculatedPageUrl,\"target\":(_vm.isConfigurator && !_vm.isCalculator ? '_blank' : '')}},[_vm._v(_vm._s(_vm.translations.thisIsHowWeCalculatedText))])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { TranslationModel, ProductModel, Variant, CarbonSavingsModel } from \"../../models/product\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport {appStore} from \"../../store/AppModule\";\r\nimport { EventBus } from \"@/events\";\r\nimport CalculatorService from \"@/services/CalculatorService\";\r\n\r\n@Component\r\nexport default class CarbonSavingsCalculation extends Vue {\r\n protected vm: any = {};\r\n protected isModalVisible: boolean = false;\r\n protected shoppingListPrevious: boolean = false;\r\n @Prop()\r\n protected quantity!: number;\r\n @Prop()\r\n protected isAddToCartPopUp!: boolean;\r\n @Prop()\r\n protected calculationCarbonSavingsModel!: CarbonSavingsModel;\r\n @Prop()\r\n protected isConfigurator!: boolean;\r\n @Prop()\r\n protected isGDS!: boolean;\r\n @Prop()\r\n protected isCalculator!: boolean;\r\n @Prop()\r\n protected isProductListModule!: boolean;\r\n private translations: TranslationModel;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected selectECOProduct() {\r\n EventBus.$emit(\"selectedECOvariant\", this.carbonSavingsModel, this.isGDS, this.quantity);\r\n }\r\n\r\n protected saveSessionAndRedirect(url: string) {\r\n CalculatorService.storeSessionQuantity(\"carbonsavingsproductquantity\", this.carbonSavingsModel.isCurrentVariantECO ? this.quantity : this.quantityWithFactor);\r\n window.location.href = url;\r\n }\r\n\r\n get product(): ProductModel {\r\n return productStore.product;\r\n }\r\n\r\n get variant(): Variant {\r\n return productStore.variant;\r\n }\r\n\r\n get carbonSavingsModel(): CarbonSavingsModel {\r\n return this.calculationCarbonSavingsModel ? this.calculationCarbonSavingsModel : this.variant.carbonSavingsModel;\r\n }\r\n\r\n get quantityWithFactor(): number {\r\n const calculatedQuantity = this.quantity * this.carbonSavingsModel.packagingFactor;\r\n const quantityToReturn = this.carbonSavingsModel.isCurrentVariantECO ? Math.floor(calculatedQuantity) : Math.ceil(calculatedQuantity);\r\n return this.quantity > 5 ? quantityToReturn : this.quantity;\r\n }\r\n\r\n get carbonSavings(): string {\r\n if (this.carbonSavingsModel.isCurrentVariantECO) {\r\n return (this.carbonSavingsModel.globalWarmingPotentialMainProduct * this.quantityWithFactor -\r\n this.carbonSavingsModel.globalWarmingPotentialECOProduct * this.quantity)\r\n .toLocaleString(appStore.state.culture, {maximumFractionDigits: 1, minimumFractionDigits: 1});\r\n } else {\r\n return (this.carbonSavingsModel.globalWarmingPotentialMainProduct * this.quantity -\r\n this.carbonSavingsModel.globalWarmingPotentialECOProduct * this.quantityWithFactor)\r\n .toLocaleString(appStore.state.culture, {maximumFractionDigits: 1, minimumFractionDigits: 1});\r\n }\r\n }\r\n\r\n get numberOfDigits(): number {\r\n return this.carbonSavings.replace(\" \", \"\").length > 2 ? this.carbonSavings.replace(\" \", \"\").length - 2 : 0;\r\n }\r\n\r\n protected GetVariantDescription(originalDescription: string, kiloUnitText: string, carbonDioxideText: string): string {\r\n return originalDescription.replace(\"{sacks}\", (this.carbonSavingsModel.isCurrentVariantECO ? this.quantity : this.quantityWithFactor).toString()).replace(\"{ecoproductname}\", this.carbonSavingsModel.ecoVariantName)\r\n .replace(\"{carbonsavings}\", this.carbonSavings + \" \" + kiloUnitText + \" \" + carbonDioxideText);\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!./CarbonSavingsCalculation.ts?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!./CarbonSavingsCalculation.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CarbonSavingsCalculation.vue?vue&type=template&id=483ceeee&\"\nimport script from \"./CarbonSavingsCalculation.ts?vue&type=script&lang=ts&\"\nexport * from \"./CarbonSavingsCalculation.ts?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","import { TotalValueOfGoodsModel } from \"@/models/Cart\";\r\nimport { DeliveryModel } from \"@/models/deliveryModel\";\r\nimport { ProductModel, Variant } from \"../models/product\";\r\n\r\nclass PreloadState implements IPreloadState {\r\n\r\n get product(): ProductModel {\r\n return this.state.product;\r\n }\r\n\r\n get deliveries(): DeliveryModel {\r\n return this.state.deliveries;\r\n }\r\n\r\n get totalValueOfGoods(): TotalValueOfGoodsModel {\r\n return this.state.totalValueOfGoods;\r\n }\r\n\r\n get state(): IPreloadState {\r\n if (window.__finja) {\r\n return window.__finja.preloadstate;\r\n }\r\n\r\n return {\r\n product: { variants: Array() } as ProductModel,\r\n deliveries: {} as DeliveryModel,\r\n totalValueOfGoods: {} as TotalValueOfGoodsModel\r\n };\r\n }\r\n}\r\n\r\nexport interface IPreloadState {\r\n product: ProductModel;\r\n deliveries: DeliveryModel;\r\n totalValueOfGoods: TotalValueOfGoodsModel;\r\n}\r\n\r\nexport default new PreloadState();\r\n","import { TranslationCollection } from \"@/models/translation\";\r\n\r\nexport function getTranslations(): T {\r\n if (window.__finja) {\r\n return window.__finja.translations as T;\r\n }\r\n\r\n return {} as T;\r\n}\r\n\r\nlet translations = {} as TranslationCollection;\r\nif (window.__finja) {\r\n translations = window.__finja.translations;\r\n}\r\n\r\nexport default translations;\r\n","import { CarbonSavingsModel } from \"../../../models/product\";\r\n\r\nexport enum ProductConfiguratorModuleType {\r\n ContentModule = 0,\r\n RadioButtonInputModule = 1,\r\n ImageInputModule = 2,\r\n TextInputModule = 3,\r\n ProductListModule = 4,\r\n ProductSummaryModule = 5,\r\n SelectedOptionsSummaryModule = 6,\r\n StraightWallSectionModule = 7,\r\n CurvedWallSectionModule = 8,\r\n BuildingOutdoorWallSectionModule = 9,\r\n BuildingIndoorWallSectionModule = 10,\r\n BathroomWallSectionModule = 11,\r\n ProductListCustomModule = 12,\r\n StepByStepInstructionsProductListModule = 13,\r\n}\r\n\r\nexport interface UiState {\r\n id: any;\r\n state: T;\r\n}\r\n\r\nexport enum WallTypes {\r\n Undefined = 0,\r\n Dividing = 1,\r\n Retaining = 2\r\n}\r\n\r\nexport interface PropertyModelValue {\r\n key: string;\r\n value: any;\r\n}\r\n\r\nexport interface ConfiguratorValue {\r\n property: ConfiguratorProperty;\r\n value: any;\r\n}\r\n\r\nexport interface ConfiguratorModuleValue extends ConfiguratorValue {\r\n id: string;\r\n valueDescriptions: ValueDescription[];\r\n}\r\n\r\nexport interface ValueDescription {\r\n title: string;\r\n text: string;\r\n}\r\n\r\nexport interface ConfiguratorValueUpdateModel {\r\n moduleId: string;\r\n value: any;\r\n valueDescriptions: ValueDescription[];\r\n propertyName: string;\r\n isText: boolean;\r\n resetClimateSavingsCookie: boolean;\r\n}\r\n\r\nexport interface ProductConfiguratorModel {\r\n configuratorType: string;\r\n title: string;\r\n description: string;\r\n steps: Step[];\r\n products: Product[];\r\n propertyGroups: ConfiguratorPropertyGroup[];\r\n plasticBoardPercentage: number;\r\n securityMargin: number;\r\n enableShareConfigurator: number;\r\n materialConsumptionFactorOutdoorWall: number;\r\n materialConsumptionFactorIndoorWall: number;\r\n materialConsumptionFactorExaktOutdoorWall: number;\r\n cornerBlockOpeningBlockQuantityFactor: number;\r\n adjustmentFactorForNormalBlockPassPicker: number;\r\n}\r\n\r\nexport interface ConfiguratorProperty {\r\n propertyName: string;\r\n description: string;\r\n mandatory: boolean;\r\n sortIndex: number;\r\n settingsProperty: boolean;\r\n}\r\n\r\nexport interface ConfiguratorPropertyGroup {\r\n propertyGroupType: number;\r\n description: string;\r\n sortIndex: number;\r\n properties: ConfiguratorProperty[];\r\n}\r\n\r\nexport interface Step {\r\n id: string;\r\n index: number;\r\n title: string;\r\n content: string;\r\n displayNextStepButton: boolean;\r\n sections: Section[];\r\n}\r\n\r\nexport interface Section {\r\n id: string;\r\n index: number;\r\n title: string;\r\n content: string;\r\n hideDelimiter: boolean;\r\n modules: Module[];\r\n conditionalPropertyValues: ConditionalPropertyValue[];\r\n}\r\n\r\nexport interface Module {\r\n options: any;\r\n id: string;\r\n index: number;\r\n title: string;\r\n moduleType: ProductConfiguratorModuleType;\r\n configuratorProperties: ConfiguratorProperty[];\r\n hideGableInput: boolean;\r\n configuratorType: string;\r\n desktopNumberOfImageOptions: number;\r\n mobileNumberOfImageOptions: number;\r\n isOnlyShoppingList: boolean;\r\n resetClimateSavingsCookie: boolean;\r\n}\r\n\r\nexport interface ContentModuleModel extends Module {\r\n content: string;\r\n contentReadMore: string;\r\n backgroundColor: string;\r\n borderColor: string;\r\n}\r\n\r\nexport interface ProductListModuleModel extends Module {\r\n products: Product[];\r\n autoAddProducts: boolean;\r\n hideQuantity: boolean;\r\n addOnlyOneProduct: boolean;\r\n showSelectText: boolean;\r\n}\r\n\r\nexport interface StepByStepInstructionsProductListModuleModel extends Module {\r\n products: Product[];\r\n}\r\n\r\nexport interface ProductListCustomModuleModel extends Module {\r\n customProducts: Product[];\r\n customProductsHeightOptions: VariantHeightOrWeightOptions[];\r\n customProductsWidthOptions: VariantHeightOrWeightOptions[];\r\n recommendedSectionProductFromCookie: string;\r\n selectedWidthFromCookie: number;\r\n selectedHeightFromCookie: number;\r\n}\r\n\r\nexport interface InputModule extends Module {\r\n}\r\n\r\nexport interface RadioButtonInputModuleModel extends Module {\r\n value: T;\r\n options: Array>;\r\n}\r\n\r\nexport interface RadioButtonInputModuleOption {\r\n title: string;\r\n description: string;\r\n value: T;\r\n preSelected: boolean;\r\n}\r\n\r\nexport interface ImageInputModuleModel extends Module {\r\n options: Array>;\r\n}\r\n\r\nexport interface ImageInputModuleOption {\r\n url: string;\r\n title: string;\r\n description: string;\r\n value: T;\r\n preSelected: boolean;\r\n}\r\n\r\nexport interface TextInputModuleModel extends Module {\r\n options: Array>;\r\n listTextBoxHorizontally: boolean;\r\n backgroundColor: string;\r\n}\r\n\r\nexport interface ProductSummaryModuleModel extends Module {\r\n products: Product[];\r\n cartUrl: string;\r\n}\r\n\r\nexport interface SelectedOptionsSummaryModuleModel extends Module {\r\n enableShareConfigurator: boolean;\r\n}\r\n\r\nexport interface TextInputModuleOption {\r\n label: string;\r\n unit: string;\r\n placeHolder: string;\r\n dataType: string;\r\n configuratorProperty: ConfiguratorProperty;\r\n value: T;\r\n istext: boolean;\r\n}\r\n\r\nexport interface CoreProduct {\r\n articleNumber: string;\r\n calculatedQuantity: number;\r\n confirmedQuantity: number;\r\n added: boolean;\r\n }\r\n\r\nexport interface Product extends CoreProduct {\r\n name: string;\r\n imageUrl: string;\r\n productPrice: ProductPrice;\r\n productSpecification: ProductSpecification;\r\n itemPriceUnit: string;\r\n carbonSavingsModel: CarbonSavingsModel;\r\n showCarbonSavingsInfo: boolean;\r\n isECOVariantChoosen: boolean;\r\n changeToPlasterProduct: string;\r\n }\r\n\r\nexport interface ProductSpecification {\r\n title: string;\r\n description: string;\r\n imageUrl: string;\r\n documents: ProductDocument[];\r\n itemPriceUnit: string;\r\n}\r\n\r\nexport interface ProductPrice {\r\n price: number;\r\n currencyCode: string;\r\n formattedPrice: string;\r\n}\r\n\r\nexport interface ProductDocument {\r\n fileid: string;\r\n fileName: string;\r\n url: string;\r\n downloadUrl: string;\r\n fileType: string;\r\n }\r\n\r\nexport interface ConditionalPropertyValue {\r\n propertyName: string;\r\n validPropertyValues: string[];\r\n}\r\n\r\nexport interface CalculateProductQuantityRequestModel {\r\n products: CoreProduct[];\r\n configuratorValues: ConfiguratorValue[];\r\n}\r\n\r\nexport interface CalculateProductQuantityResponseModel {\r\n products: CoreProduct[];\r\n propertyModelValues: PropertyModelValue[];\r\n changeCalculatedPlaster: boolean;\r\n}\r\n\r\nexport interface AddToCartRequestModel {\r\n products: CoreProduct[];\r\n}\r\n\r\nexport interface TranslationModel {\r\n nextStepText: string;\r\n addToCartButtonText: string;\r\n addedProductButtonText: string;\r\n addProductButtonText: string;\r\n showProductSpecificationButtonText: string;\r\n quantityChangedHeading: string;\r\n quantityChangedText: string;\r\n addedToCartHeading: string;\r\n addedToCartText: string;\r\n addedToCartContinueToCart: string;\r\n addedToCartCancel: string;\r\n commonHeight: string;\r\n commonLength: string;\r\n commonMeter: string;\r\n commonYes: string;\r\n commonNo: string;\r\n commonThickness: string;\r\n wallSectionNamePlaceholder: string;\r\n heightAboveGround: string;\r\n heightRetainingWall: string;\r\n unnamedWallSection: string;\r\n coping: string;\r\n toTheLeft: string;\r\n toTheRight: string;\r\n selectWallSectionType: string;\r\n readMore: string;\r\n readLess: string;\r\n beam: string;\r\n beamDescription: string;\r\n buildingWallOpenings: string;\r\n buildingWallOpeningsDescription: string;\r\n addBuildingWallOpenings: string;\r\n indoorBuildingWallThicknessHeading: string;\r\n exceedAllowedLimitMessage: string;\r\n belowAllowedLimitMessage: string;\r\n notWithinValidIntervalMessage: string;\r\n invalidBuildingWallOpeningMessage: string;\r\n gableEnd: string;\r\n unnamedBuildingWallSection: string;\r\n unnamedBuildingWallOpening: string;\r\n commonPiecesAbbreviation: string;\r\n blockType: string;\r\n unnamedBathroomWallOpening: string;\r\n invalidBathroomWallOpeningMessage: string;\r\n selectedProductButtonText: string;\r\n selectProductButtonText: string;\r\n productListCustomText: string;\r\n basicElementsHeightOptionHeader: string;\r\n basicElementsHeightOptionText: string;\r\n basicElementsWidthOptionHeader: string;\r\n basicElementsWidthOptionText: string;\r\n resetSelectedCookie: string;\r\n}\r\n\r\nexport interface VariantHeightOrWeightOptions {\r\n id: string;\r\n options: number[];\r\n}\r\n","import * as Common from \"./common\";\r\n\r\nexport interface StraightWallModel {\r\n wallSections: StraightWallSection[];\r\n}\r\n\r\nexport interface StraightWallSection extends WallSection {\r\n heightRetainingWall: number;\r\n}\r\n\r\nexport interface CurvedWallSectionModuleModel extends Common.Module {\r\n options: CurvedWallSecionModuleOption[];\r\n}\r\n\r\nexport interface StraightWallSectionModuleModel extends Common.Module {\r\n}\r\n\r\nexport interface CurvedWallSecionModuleOption {\r\n id: string;\r\n description: string;\r\n sectionType: number;\r\n curveDirection: CurvedWallSectionDirection;\r\n sectionAngle: number;\r\n applicableProperies: ApplicableCurvedWallProperies;\r\n}\r\n\r\nexport interface ApplicableCurvedWallProperies {\r\n height: boolean;\r\n length: boolean;\r\n direction: boolean;\r\n coping: boolean;\r\n}\r\n\r\nexport enum CurvedWallSectionDirection {\r\n Straight = 0,\r\n Left = 1,\r\n Right = 2\r\n}\r\n\r\nexport interface CurvedWallModel {\r\n wallSections: CurvedWallSection[];\r\n}\r\n\r\nexport interface WallSection {\r\n name: string;\r\n heightAboveGround: number;\r\n length: number;\r\n}\r\n\r\nexport interface CurvedWallSection extends WallSection {\r\n sectionType: CurvedWallSectionTypes;\r\n direction: CurvedWallSectionDirection;\r\n angle: number;\r\n coping?: boolean;\r\n\r\n selectedOption: CurvedWallSecionModuleOption;\r\n}\r\n\r\nexport enum CurvedWallSectionTypes {\r\n Straight = 0,\r\n Pillar = 1,\r\n Opening = 2,\r\n Corner = 3,\r\n Curve = 4\r\n}\r\n","import * as Common from \"./common\";\r\n\r\nexport const Constants = {\r\n outdoorWallMaxOpeningWidthMetre: 5.5,\r\n indoorThickWallBreakpointMillimetre: 150,\r\n indoorThickWallMaxOpeningWidthMetre: 5.5,\r\n indoorThinWallMaxOpeningWidthMetre: 3.1,\r\n WallOpeningBeamHeightMetre: 0.1,\r\n WallOpeningBeamHeightMetreIndoor: 0.1,\r\n WallOpeningUblockHeightMetre: 0.2,\r\n IndoorWallOpeningMaxWidthBearing: 2.899,\r\n IndoorWallOpeningMaxWidthNonBearing: 3.099,\r\n};\r\n\r\nexport enum BlockType {\r\n Standard = 0,\r\n SoundIsolated = 1\r\n}\r\n\r\nexport interface BuildingIndoorWallSectionModuleModel extends Common.Module {\r\n WallThicknessOptions: IndoorWallThicknessOption[];\r\n BlockTypeOptions: BlockTypeOption[];\r\n HideWidthOptions: boolean;\r\n}\r\n\r\nexport interface IndoorWallThicknessOption {\r\n description: string;\r\n value: number;\r\n}\r\n\r\nexport interface BlockTypeOption {\r\n description: string;\r\n value: number;\r\n}\r\n\r\nexport interface BuildingOutdoorWallSectionModuleModel extends Common.Module {\r\n}\r\n\r\nexport interface BuildingWallSection {\r\n name: string;\r\n height: number;\r\n length: number;\r\n gableEnd: number;\r\n wallOpenings: WallOpening[];\r\n\r\n showOpenings: boolean;\r\n}\r\n\r\nexport interface WallOpening {\r\n name: string;\r\n width: number;\r\n height: number;\r\n quantity: number;\r\n beam: boolean;\r\n}\r\n\r\nexport interface OutdoorWallModel {\r\n wallSections: BuildingWallSection[];\r\n}\r\n\r\nexport interface IndoorWallModel {\r\n wallSections: IndoorWallSection[];\r\n}\r\n\r\nexport interface IndoorWallSection extends BuildingWallSection {\r\n thickness: number;\r\n blockType: BlockType;\r\n}\r\n","export const configuratorConstants = {\r\n RecommendedSectionProducts: \"RecommendedSectionProducts\",\r\n GroundShape: \"GroundShape\",\r\n OuterCorners: \"OuterCorners\",\r\n InnerCorners: \"InnerCorners\",\r\n BasicElementsProductSelector: \"BasicElementsProductSelector\",\r\n PlasticBoardPercentage: \"PlasticBoardPercentage\",\r\n SecurityMargin: \"SecurityMargin\",\r\n TotalSurfaceArea: \"TotalSurfaceArea\",\r\n Perimeter: \"Perimeter\",\r\n selectedConfiguratorProducts: \"SelectedConfiguratorProducts-\",\r\n selectedCustomConfiguratorProducts: \"SelectedCustomConfiguratorProducts-\",\r\n productList: \"ProductList\",\r\n edgeHeight: \"EdgeHeight\",\r\n InnerWallMasonryType: \"InnerWallMasonryType\",\r\n recommendedProductSelected: \"RecommendedProductSelected\",\r\n BuildingProductSelector: \"BuildingProductSelector\",\r\n PlasterThicknessRange: \"PlasterThicknessRange\",\r\n PlasteredIndoorWallSides: \"PlasteredIndoorWallSides\",\r\n BuildingConfiguratorautoAddProducts : \"1841012;9221000;92148;5540305;5586015;\",\r\n PlasteredIndoorWallSidesNone: \"4\",\r\n StepByStepInstructions: \"StepByStepInstructions\",\r\n ResetPropertiesOnFloorChange: \"TotalFloorArea;FloorJointWidth;FloorWidth;FloorLength;FloorThickness;FloorThicknessCastConcrete;TotalSurfaceArea;\",\r\n FloorType: \"FloorType\",\r\n TotalFloorArea: \"TotalFloorArea\",\r\n FloorJointWidth: \"FloorJointWidth\",\r\n FloorWidth: \"FloorWidth\",\r\n FloorLength: \"FloorLength\",\r\n FloorThickness: \"FloorThickness\",\r\n FloorThicknessCastConcrete: \"FloorThicknessCastConcrete\",\r\n GreenhouseProductSelector: \"GreenHouseProductSelector\",\r\n ECOProductCookieSuffix: \"-ecoproducts\",\r\n MaterialConsumptionFactorOutdoorWall: \"MaterialConsumptionFactorOutdoorWall\",\r\n MaterialConsumptionFactorIndoorWall: \"MaterialConsumptionFactorIndoorWall\",\r\n BuildingConfiguratorFactors: \"MaterialConsumptionFactorOutdoorWall;MaterialConsumptionFactorIndoorWall;\",\r\n MaterialConsumptionFactorExaktOutdoorWall: \"MaterialConsumptionFactorExaktOutdoorWall\",\r\n CornerBlockOpeningBlockQuantityFactor: \"CornerBlockOpeningBlockQuantityFactor\",\r\n AdjustmentFactorForNormalBlockPassPicker: \"AdjustmentFactorForNormalBlockPassPicker\",\r\n };\r\n","import { BareActionContext, getStoreBuilder } from \"vuex-typex\";\r\nimport * as Models from \"../models\";\r\nimport { RootState } from \"@/store\";\r\nimport * as TranslationService from \"@/services/Translations\";\r\nimport { configuratorConstants } from \"../models\";\r\nimport Cookie from \"@/services/Cookie\";\r\n\r\nexport interface ProductConfiguratorState {\r\n configuratorType: string;\r\n products: Models.Product[];\r\n productListModules: Models.ProductListModuleModel[];\r\n propertyGroups: Models.ConfiguratorPropertyGroup[];\r\n configuratorValues: Models.ConfiguratorModuleValue[];\r\n propertyModelValues: Models.PropertyModelValue[];\r\n translations: Models.TranslationModel;\r\n apiUrl: string;\r\n stepByStepInstructionsProducts: Models.Product[];\r\n}\r\n\r\nconst initialState: ProductConfiguratorState = {\r\n configuratorType: \"\",\r\n products: [],\r\n productListModules: [],\r\n propertyGroups: [],\r\n configuratorValues: [],\r\n propertyModelValues: [],\r\n apiUrl: \"/api/productconfigurator\",\r\n translations: TranslationService.getTranslations(),\r\n stepByStepInstructionsProducts: [],\r\n};\r\n\r\nconst store = getStoreBuilder().module(\"productConfigurator\", initialState);\r\n\r\nfunction products(state: ProductConfiguratorState) {\r\n return state.products;\r\n}\r\n\r\nfunction productListModules(state: ProductConfiguratorState) {\r\n return state.productListModules;\r\n}\r\n\r\nfunction configuratorPropertyGroups(state: ProductConfiguratorState) {\r\n return state.propertyGroups;\r\n}\r\n\r\nfunction configuratorValues(state: ProductConfiguratorState) {\r\n return state.configuratorValues;\r\n}\r\n\r\nfunction propertyModelValues(state: ProductConfiguratorState) {\r\n return state.propertyModelValues;\r\n}\r\n\r\nfunction apiUrl(state: ProductConfiguratorState) {\r\n return state.apiUrl;\r\n}\r\n\r\nfunction translations(state: ProductConfiguratorState) {\r\n return state.translations;\r\n}\r\n\r\nfunction configuratorType(state: ProductConfiguratorState) {\r\n return state.configuratorType;\r\n}\r\n\r\nfunction stepByStepInstructionsProducts(state: ProductConfiguratorState) {\r\n return state.stepByStepInstructionsProducts;\r\n}\r\n\r\n// getters\r\nconst getProducts = store.read(products, \"products\");\r\nconst getProductListModules = store.read(productListModules, \"productListModules\");\r\nconst getPropertyGroups = store.read(configuratorPropertyGroups, \"configuratorPropertyGroups\");\r\nconst getApiUrl = store.read(apiUrl, \"apiUrl\");\r\nconst getTranslations = store.read(translations, \"translations\");\r\nconst getConfiguratorValues = store.read(configuratorValues, \"configuratorValues\");\r\nconst getPropertyModelValues = store.read(propertyModelValues, \"propertyModelValues\");\r\nconst getConfiguratorType = store.read(configuratorType, \"configuratorType\");\r\nconst getStepByStepInstructionsProducts = store.read(stepByStepInstructionsProducts, \"stepByStepInstructionsProducts\");\r\n\r\n// mutations\r\nfunction commitAddOrUpdateProduct(state: ProductConfiguratorState, payload: Models.Product) {\r\n const tempProducts = [...state.products];\r\n const productIndex = state.products.findIndex(p => p.articleNumber === payload.articleNumber);\r\n\r\n if (productIndex === -1) {\r\n tempProducts.push(Object.assign({}, payload));\r\n } else {\r\n tempProducts[productIndex] = Object.assign({}, payload);\r\n }\r\n\r\n state.products = tempProducts;\r\n}\r\n\r\nfunction commitRemoveProduct(state: ProductConfiguratorState, payload: Models.CoreProduct) {\r\n const tempProducts = [...state.products];\r\n const productIndex = tempProducts.findIndex(p => p.articleNumber === payload.articleNumber);\r\n\r\n if (productIndex !== -1) {\r\n tempProducts.splice(productIndex, 1);\r\n }\r\n\r\n state.products = tempProducts;\r\n}\r\n\r\nfunction commitStepByStepInstructionsAddProduct(state: ProductConfiguratorState, payload: Models.Product) {\r\n const tempProducts = [...state.stepByStepInstructionsProducts];\r\n const productIndex = state.stepByStepInstructionsProducts.findIndex(p => p.articleNumber === payload.articleNumber);\r\n\r\n if (productIndex === -1) {\r\n tempProducts.push(Object.assign({}, payload));\r\n } else {\r\n tempProducts[productIndex] = Object.assign({}, payload);\r\n }\r\n\r\n state.stepByStepInstructionsProducts = tempProducts;\r\n}\r\n\r\nfunction commitStepByStepInstructionsRemoveProduct(state: ProductConfiguratorState, payload: Models.CoreProduct) {\r\nconst tempProducts = [...state.stepByStepInstructionsProducts];\r\nconst productIndex = tempProducts.findIndex(p => p.articleNumber === payload.articleNumber);\r\n\r\nif (productIndex !== -1) {\r\n tempProducts.splice(productIndex, 1);\r\n}\r\n\r\nstate.stepByStepInstructionsProducts = tempProducts;\r\n}\r\n\r\nfunction commitAddProductListModule(state: ProductConfiguratorState, payload: Models.ProductListModuleModel) {\r\n const tempProductsListModules = [...state.productListModules];\r\n const productListModuleIndex = tempProductsListModules.findIndex(p => p.id === payload.id);\r\n\r\n if (productListModuleIndex === -1) {\r\n tempProductsListModules.push(Object.assign({}, payload));\r\n } else {\r\n tempProductsListModules[productListModuleIndex] = Object.assign({}, payload);\r\n }\r\n\r\n state.productListModules = tempProductsListModules;\r\n}\r\n\r\nfunction commitAddConfiguratorValue(state: ProductConfiguratorState, payload: Models.ConfiguratorModuleValue) {\r\n const tempConfiguratorValues = [...state.configuratorValues];\r\n tempConfiguratorValues.push(Object.assign({}, payload));\r\n state.configuratorValues = tempConfiguratorValues;\r\n}\r\n\r\nfunction commitAddPropertyGroup(state: ProductConfiguratorState, payload: Models.ConfiguratorPropertyGroup) {\r\n state.propertyGroups.push(payload);\r\n}\r\n\r\nfunction commitAddPropertyGroups(state: ProductConfiguratorState, payload: Models.ConfiguratorPropertyGroup[]) {\r\n payload.forEach(propertyGroup => commitAddPropertyGroup(state, propertyGroup));\r\n}\r\n\r\nfunction commitUpdateConfiguratorValue(state: ProductConfiguratorState, payload: Models.ConfiguratorValueUpdateModel) {\r\n const tempConfiguratorValues = [...state.configuratorValues];\r\n\r\n const configuratorValue = tempConfiguratorValues.find(p => {\r\n if (payload.propertyName) {\r\n return (payload.propertyName === configuratorConstants.recommendedProductSelected\r\n || configuratorConstants.ResetPropertiesOnFloorChange.indexOf(payload.propertyName + \";\") > -1) ? p.property.propertyName === payload.propertyName\r\n : p.id === payload.moduleId && p.property.propertyName === payload.propertyName;\r\n }\r\n return p.id === payload.moduleId;\r\n });\r\n if (configuratorValue) {\r\n configuratorValue.value = payload.value;\r\n configuratorValue.valueDescriptions = payload.valueDescriptions;\r\n }\r\n\r\n // for basic elements configurator, has to be changed when another configurator uses this\r\n if (state.configuratorType === configuratorConstants.BasicElementsProductSelector) {\r\n if ((payload.propertyName === configuratorConstants.OuterCorners || payload.propertyName === configuratorConstants.InnerCorners) && payload.value) {\r\n const relatedValue = tempConfiguratorValues.find(a => a && a.property.propertyName === configuratorConstants.GroundShape && a.value);\r\n if (relatedValue) {\r\n relatedValue.value = undefined;\r\n }\r\n } else if (payload.propertyName === configuratorConstants.GroundShape && payload.value) {\r\n const relatedValue = tempConfiguratorValues.find(a => a.property.propertyName === configuratorConstants.OuterCorners);\r\n if (relatedValue) {\r\n relatedValue.value = \"\";\r\n }\r\n const relatedValueInner = tempConfiguratorValues.find(a => a.property.propertyName === configuratorConstants.InnerCorners);\r\n if (relatedValueInner) {\r\n relatedValueInner.value = \"\";\r\n }\r\n }\r\n\r\n if (payload.propertyName === configuratorConstants.PlasticBoardPercentage ||\r\n payload.propertyName === configuratorConstants.SecurityMargin) {\r\n UpdateConfiguratorFieldValue(tempConfiguratorValues, payload, payload.propertyName);\r\n }\r\n }\r\n\r\n if (state.configuratorType === configuratorConstants.BuildingProductSelector) {\r\n if (payload.propertyName === configuratorConstants.MaterialConsumptionFactorOutdoorWall ||\r\n payload.propertyName === configuratorConstants.MaterialConsumptionFactorIndoorWall ||\r\n payload.propertyName === configuratorConstants.MaterialConsumptionFactorExaktOutdoorWall ||\r\n payload.propertyName === configuratorConstants.CornerBlockOpeningBlockQuantityFactor ||\r\n payload.propertyName === configuratorConstants.AdjustmentFactorForNormalBlockPassPicker) {\r\n UpdateConfiguratorFieldValue(tempConfiguratorValues, payload, payload.propertyName);\r\n }\r\n }\r\n\r\n if (state.configuratorType === configuratorConstants.GreenhouseProductSelector) {\r\n if (payload.propertyName === configuratorConstants.FloorType) {\r\n configuratorConstants.ResetPropertiesOnFloorChange.split(\";\").map(propertyName => {\r\n const configuratorValueUpdate = tempConfiguratorValues.find(p => p.property.propertyName === propertyName);\r\n if (configuratorValueUpdate) {\r\n configuratorValueUpdate.value = undefined;\r\n configuratorValueUpdate.valueDescriptions = [{ title: \"\", text: \"\" }];\r\n }\r\n });\r\n }\r\n }\r\n state.configuratorValues = tempConfiguratorValues;\r\n}\r\n\r\nfunction UpdateConfiguratorFieldValue(tempConfiguratorValues: Models.ConfiguratorModuleValue[], payload: Models.ConfiguratorValueUpdateModel, propertyName: string) {\r\n const existingValue = tempConfiguratorValues.find(a => a.property.propertyName === propertyName);\r\n if (existingValue && payload.value && existingValue.value !== payload.value) {\r\n existingValue.value = payload.value;\r\n existingValue.valueDescriptions = payload.valueDescriptions;\r\n }\r\n}\r\n\r\nfunction commitAddPropertyModelValue(state: ProductConfiguratorState, payload: Models.PropertyModelValue) {\r\n const tempPropertyModelValues = [...state.propertyModelValues];\r\n const valueIndex = tempPropertyModelValues.findIndex(p => p.key === payload.key);\r\n\r\n if (valueIndex === -1) {\r\n tempPropertyModelValues.push(Object.assign({}, payload));\r\n } else {\r\n tempPropertyModelValues[valueIndex] = Object.assign({}, payload);\r\n }\r\n\r\n state.propertyModelValues = tempPropertyModelValues;\r\n}\r\n\r\nfunction commitSetConfiguratorType(state: ProductConfiguratorState, payload: string) {\r\n state.configuratorType = payload;\r\n}\r\n\r\n// actions\r\nasync function addProduct(context: BareActionContext, product: Models.Product) {\r\n commitAddOrUpdateProduct(context.state, product);\r\n}\r\n\r\nasync function updateProduct(context: BareActionContext, product: Models.Product) {\r\n commitAddOrUpdateProduct(context.state, product);\r\n}\r\n\r\nasync function removeProduct(context: BareActionContext, product: Models.CoreProduct) {\r\n commitRemoveProduct(context.state, product);\r\n}\r\n\r\nasync function stepByStepInstructionsAddProduct(context: BareActionContext, product: Models.Product) {\r\n commitStepByStepInstructionsAddProduct(context.state, product);\r\n}\r\n\r\n\r\nasync function stepByStepInstructionsRemoveProduct(context: BareActionContext, product: Models.CoreProduct) {\r\n commitStepByStepInstructionsRemoveProduct(context.state, product);\r\n}\r\n\r\nasync function addProductListModule(context: BareActionContext, productListModule: Models.ProductListModuleModel) {\r\n commitAddProductListModule(context.state, productListModule);\r\n}\r\n\r\nasync function addConfiguratorValue(context: BareActionContext, configuratorValue: Models.ConfiguratorModuleValue) {\r\n commitAddConfiguratorValue(context.state, configuratorValue);\r\n}\r\n\r\nasync function addPropertyGroup(context: BareActionContext, propertyGroup: Models.ConfiguratorPropertyGroup) {\r\n commitAddPropertyGroup(context.state, propertyGroup);\r\n}\r\n\r\nasync function addPropertyGroups(context: BareActionContext, propertyGroups: Models.ConfiguratorPropertyGroup[]) {\r\n commitAddPropertyGroups(context.state, propertyGroups);\r\n}\r\n\r\nasync function updateConfiguratorValue(context: BareActionContext, model: Models.ConfiguratorValueUpdateModel) {\r\n commitUpdateConfiguratorValue(context.state, model);\r\n}\r\n\r\nasync function addPropertyModelValue(context: BareActionContext, model: Models.PropertyModelValue) {\r\n commitAddPropertyModelValue(context.state, model);\r\n}\r\n\r\nasync function setConfiguratorType(context: BareActionContext, model: string) {\r\n commitSetConfiguratorType(context.state, model);\r\n}\r\n\r\nexport const productConfiguratorStore = {\r\n get products() { return getProducts(); },\r\n get productListModules() { return getProductListModules(); },\r\n get configuratorValues() { return getConfiguratorValues(); },\r\n get propertyModelValues() { return getPropertyModelValues(); },\r\n get propertyGroups() { return getPropertyGroups(); },\r\n get apiUrl() { return getApiUrl(); },\r\n get translations() { return getTranslations(); },\r\n get configuratorType() { return getConfiguratorType(); },\r\n get stepByStepInstructionsProducts() { return getStepByStepInstructionsProducts(); },\r\n addProduct: store.dispatch(addProduct, \"addProduct\"),\r\n updateProduct: store.dispatch(updateProduct, \"updateProduct\"),\r\n removeProduct: store.dispatch(removeProduct, \"removeProduct\"),\r\n addProductListModule: store.dispatch(addProductListModule, \"addProductListModule\"),\r\n addConfiguratorValue: store.dispatch(addConfiguratorValue, \"addConfiguratorValue\"),\r\n addPropertyModelValue: store.dispatch(addPropertyModelValue, \"addPropertyModelValue\"),\r\n addPropertyGroup: store.dispatch(addPropertyGroup, \"addProductGroup\"),\r\n addPropertyGroups: store.dispatch(addPropertyGroups, \"addProductGroups\"),\r\n updateConfiguratorValue: store.dispatch(updateConfiguratorValue, \"updateConfiguratorValue\"),\r\n setConfiguratorType: store.dispatch(setConfiguratorType, \"setConfiguratorType\"),\r\n stepByStepInstructionsAddProduct: store.dispatch(stepByStepInstructionsAddProduct, \"stepByStepInstructionsAddProduct\"),\r\n stepByStepInstructionsRemoveProduct: store.dispatch(stepByStepInstructionsRemoveProduct, \"stepByStepInstructionsRemoveProduct\"),\r\n};\r\n","import \"whatwg-fetch\";\r\nimport { appStore } from \"@/store/AppModule\";\r\nclass Http {\r\n\r\n public get(url: string): Promise {\r\n const promise = this.fetch(\"GET\", url)\r\n .then(response => {\r\n return response.json();\r\n });\r\n\r\n return promise;\r\n }\r\n\r\n public post(url: string, data: any = null): Promise {\r\n\r\n const promise = this.fetch(\"POST\", url, data)\r\n .then(response => {\r\n return response.json();\r\n });\r\n\r\n return promise;\r\n }\r\n\r\n private fetch(method: string, url: string, data: any = null, contentType: DataFormat = DataFormat.Json): Promise {\r\n\r\n const options: RequestInit = {\r\n method,\r\n };\r\n\r\n if (data != null) {\r\n switch (method) {\r\n case \"GET\":\r\n options.body = this.CreateUrlSearchParams(data);\r\n break;\r\n default:\r\n options.body = JSON.stringify(data);\r\n }\r\n }\r\n\r\n let contentTypeHeaderValue: string = \"\";\r\n\r\n switch (contentType) {\r\n case DataFormat.Json:\r\n contentTypeHeaderValue = \"application/json\";\r\n break;\r\n default:\r\n contentTypeHeaderValue = \"text/plain\";\r\n }\r\n\r\n options.headers = {\r\n \"Accept-Language\": appStore.state.culture,\r\n \"Content-Type\": contentTypeHeaderValue,\r\n \"X-Litium-Page\": appStore.state.pageId,\r\n \"X-Litium-Website\": appStore.state.webSiteId,\r\n \"X-Litium-Language\": appStore.state.languageId\r\n };\r\n\r\n return fetch(url, options)\r\n .then(this.checkStatus);\r\n }\r\n\r\n private CreateUrlSearchParams(source: object): URLSearchParams {\r\n const data: URLSearchParams = new URLSearchParams();\r\n Object.entries(source)\r\n .forEach(([key, value]) => data.append(key, value));\r\n\r\n return data;\r\n }\r\n\r\n private async checkStatus(response: Response) {\r\n if (response.ok && response.status >= 200 && response.status < 300) {\r\n return response;\r\n } else {\r\n const responseText = await response.text();\r\n const data = responseText ? JSON.parse(responseText) : {};\r\n const error = data.message ? data.message : response.status.toString();\r\n\r\n throw new Error(error);\r\n }\r\n }\r\n}\r\n\r\nenum DataFormat {\r\n Json,\r\n FormData\r\n}\r\n\r\nexport default new Http();\r\n","import { BareActionContext, getStoreBuilder } from \"vuex-typex\";\r\nimport * as Models from \"../models\";\r\nimport { RootState } from \"@/store\";\r\nimport * as TranslationService from \"@/services/Translations\";\r\nimport http from \"@/services/Http\";\r\n\r\nexport interface ResellerOrderCheckoutState {\r\n apiUrl: string;\r\n paymentWidget: string;\r\n paymentWidgetLoading: boolean;\r\n resellers: Models.Reseller[];\r\n orderInfo: Models.OrderInfo;\r\n paymentError: string;\r\n selectedReseller: Models.Reseller;\r\n translations: Models.TranslationModel;\r\n}\r\n\r\nconst initialState: ResellerOrderCheckoutState = {\r\n apiUrl: \"/api/resellerordercheckout\",\r\n paymentWidget: \"\",\r\n paymentWidgetLoading: false,\r\n paymentError: \"\",\r\n resellers: [],\r\n orderInfo: {} as Models.OrderInfo,\r\n selectedReseller: {} as Models.Reseller,\r\n translations: TranslationService.getTranslations(),\r\n};\r\n\r\nconst store = getStoreBuilder().module(\"resllerOrder\", initialState);\r\n\r\nfunction apiUrl(state: ResellerOrderCheckoutState) {\r\n return state.apiUrl;\r\n}\r\n\r\nfunction resellers(state: ResellerOrderCheckoutState) {\r\n return state.resellers;\r\n}\r\n\r\nfunction orderInfo(state: ResellerOrderCheckoutState) {\r\n return state.orderInfo;\r\n}\r\n\r\nfunction selectedReseller(state: ResellerOrderCheckoutState) {\r\n return state.selectedReseller;\r\n}\r\n\r\nfunction translations(state: ResellerOrderCheckoutState) {\r\n return state.translations;\r\n}\r\n\r\nfunction paymentWidget(state: ResellerOrderCheckoutState) {\r\n return state.paymentWidget;\r\n}\r\n\r\nfunction paymentError(state: ResellerOrderCheckoutState) {\r\n return state.paymentError;\r\n}\r\n\r\n// getters\r\nconst getApiUrl = store.read(apiUrl, \"apiUrl\");\r\nconst getRellers = store.read(resellers, \"resellers\");\r\nconst getOrderInfo = store.read(orderInfo, \"orderInfo\");\r\nconst getSelectedReller = store.read(selectedReseller, \"selectedReseller\");\r\nconst getTranslations = store.read(translations, \"translations\");\r\nconst getPaymentWidget = store.read(paymentWidget, \"paymentWidget\");\r\nconst getPaymentError = store.read(paymentError, \"paymentError\");\r\n\r\nfunction commitSetResellers(state: ResellerOrderCheckoutState, payload: Models.Reseller[]) {\r\n state.resellers = payload;\r\n}\r\n\r\nfunction commitSetOrderInfo(state: ResellerOrderCheckoutState, payload: Models.OrderInfo) {\r\n state.orderInfo = payload;\r\n}\r\n\r\nfunction commitSetSelectedReseller(state: ResellerOrderCheckoutState, payload: Models.Reseller) {\r\n state.selectedReseller = payload;\r\n}\r\n\r\nfunction commitSetPaymentWidget(state: ResellerOrderCheckoutState, payload: string) {\r\n state.paymentWidget = payload;\r\n}\r\n\r\nfunction commitSetPaymentWidgetLoading(state: ResellerOrderCheckoutState, payload: boolean) {\r\n state.paymentWidgetLoading = payload;\r\n}\r\n\r\nfunction commitSetPaymentError(state: ResellerOrderCheckoutState, payload: string) {\r\n state.paymentError = payload;\r\n}\r\n\r\n// actions\r\nasync function setResellers(context: BareActionContext, model: Models.Reseller[]) {\r\n commitSetResellers(context.state, model);\r\n}\r\n\r\nasync function setOrderInfo(context: BareActionContext, model: Models.OrderInfo) {\r\n commitSetOrderInfo(context.state, model);\r\n}\r\n\r\nasync function setSelectedReseller(context: BareActionContext, model: Models.Reseller) {\r\n commitSetSelectedReseller(context.state, model);\r\n if (model.id) {\r\n commitSetPaymentWidget(context.state, \"\");\r\n commitSetPaymentError(context.state, \"\");\r\n commitSetPaymentWidgetLoading(context.state, true);\r\n http.get(getApiUrl() + \"/paymentwidget/\" + model.id)\r\n .then(res => commitSetPaymentWidget(context.state, res.widget))\r\n .catch(ex => commitSetPaymentError(context.state, ex.message))\r\n .finally(() => commitSetPaymentWidgetLoading(context.state, false));\r\n }\r\n}\r\n\r\nexport const resellerOrderCheckoutStore = {\r\n get paymentWidget() { return getPaymentWidget(); },\r\n get apiUrl() { return getApiUrl(); },\r\n get resellers() { return getRellers(); },\r\n get selectedReseller() { return getSelectedReller(); },\r\n get translations() { return getTranslations(); },\r\n get paymentError() { return getPaymentError(); },\r\n get orderInfo() { return getOrderInfo(); },\r\n setResellers: store.dispatch(setResellers, \"setResellers\"),\r\n setSelectedReseller: store.dispatch(setSelectedReseller, \"setSelectedReseller\"),\r\n setOrderInfo: store.dispatch(setOrderInfo, \"setOrderInfo\"),\r\n};\r\n","import { BareActionContext, getStoreBuilder } from \"vuex-typex\";\r\nimport { RootState } from \"./index\";\r\nimport { DeliveryModel } from \"@/models/deliveryModel\";\r\nimport preloadState from \"../services/PreloadState\";\r\nimport { TotalValueOfGoodsModel } from \"@/models/Cart\";\r\n\r\nexport interface DeliveriesState {\r\n deliveries: DeliveryModel;\r\n totalValueOfGoods: TotalValueOfGoodsModel;\r\n}\r\n\r\nconst initialState: DeliveriesState = {\r\n deliveries: preloadState.deliveries,\r\n totalValueOfGoods: preloadState.totalValueOfGoods\r\n};\r\n\r\nconst store = getStoreBuilder().module(\"deliveries\", initialState);\r\n\r\nfunction deliveries(state: DeliveriesState) {\r\n return state.deliveries;\r\n}\r\n\r\nfunction totalValueOfGoods(state: DeliveriesState) {\r\n return state.totalValueOfGoods;\r\n}\r\n\r\n// getters\r\nconst getDeliveries = store.read(deliveries, \"deliveries\");\r\nconst getTotalValueOfGoods = store.read(totalValueOfGoods, \"totalValueOfGoods\");\r\n\r\n// mutations\r\nfunction commitDeliveries(state: DeliveriesState, payload: DeliveryModel) {\r\n state.deliveries = payload;\r\n}\r\n\r\nfunction commitTotalValueOfGoods(state: DeliveriesState, payload: TotalValueOfGoodsModel) {\r\n state.totalValueOfGoods = payload;\r\n}\r\n\r\n// actions\r\nasync function dispatchDeliveries(context: BareActionContext, curDeliveries: DeliveryModel) {\r\n commitDeliveries(context.state, curDeliveries);\r\n}\r\n\r\nasync function dispatchTotalValueOfGoods(context: BareActionContext, curDeliveries: TotalValueOfGoodsModel) {\r\n commitTotalValueOfGoods(context.state, curDeliveries);\r\n}\r\n\r\n\r\nexport const deliveriesStore = {\r\n get deliveries() { return getDeliveries(); },\r\n get totalValueOfGoods() { return getTotalValueOfGoods(); },\r\n commitDeliveries: store.commit(commitDeliveries, \"commitDeliveries\"),\r\n commitTotalValueOfGoods: store.commit(commitTotalValueOfGoods, \"commitTotalValueOfGoods\"),\r\n dispatchDeliveries: store.dispatch(dispatchDeliveries, \"dispatchDeliveries\"),\r\n dispatchTotalValueOfGoods: store.dispatch(dispatchTotalValueOfGoods, \"dispatchTotalValueOfGoods\"),\r\n};\r\n","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\nimport { getStoreBuilder } from \"vuex-typex\";\r\n\r\n// Each module must be explicitly imported here\r\n// so that they are built before the store is built.\r\nimport \"./ProductModule\";\r\nimport \"./AppModule\";\r\nimport \"../modules/ProductConfigurator/store/index\";\r\nimport \"../modules/ResellerOrderCheckout/store/index\";\r\nimport \"./DeliveriesModule\";\r\n\r\nimport { ProductState } from \"./ProductModule\";\r\nimport { AppState } from \"./AppModule\";\r\nimport { ProductConfiguratorState } from \"../modules/ProductConfigurator/store/index\";\r\nimport { ResellerOrderCheckoutState } from \"../modules/ResellerOrderCheckout/store/index\";\r\nimport { DeliveriesState } from \"./DeliveriesModule\";\r\n\r\nVue.use(Vuex);\r\n\r\nexport interface RootState {\r\n product: ProductState;\r\n appSettings: AppState;\r\n productConfigurator: ProductConfiguratorState;\r\n resellerOrderCheckout: ResellerOrderCheckoutState;\r\n deliveries: DeliveriesState;\r\n}\r\n\r\nconst store = getStoreBuilder().vuexStore();\r\n\r\nexport default store;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"product-wv-info-data\"},[(_vm.variant)?_c('div',[_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.translations.variantName)+\": \"+_vm._s(_vm.variant.variantName)+\"\\n \")]),_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.translations.variantArticleNumber)+\": \"+_vm._s(_vm.variant.variantId)+\"\\n \")]),_vm._l((_vm.productFacts),function(productFact){return _c('div',{key:productFact.name},[_vm._v(\"\\n \"+_vm._s(productFact.name)+\": \"+_vm._s(productFact.value)+\"\\n \")])})],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport { Variant, ProductFact, TranslationModel } from \"../models/product\";\r\n\r\n@Component\r\nexport default class ProductFactList extends Vue {\r\n\r\n private translations: TranslationModel;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n get variant(): Variant {\r\n return productStore.variant;\r\n }\r\n\r\n get productFacts(): ProductFact[] {\r\n return this.variant.productFacts;\r\n }\r\n}\r\n","import { Translation, TranslationCollection } from \"./translation\";\r\n\r\nexport interface ProductPage {\r\n product: ProductModel;\r\n translations: TranslationModel;\r\n}\r\n\r\nexport interface ProductModel {\r\n showPrice: boolean;\r\n variants: Variant[];\r\n variantFilterOptions: VariantFilterOptionsModel[];\r\n selectedVariantId: string;\r\n productMaterialConsumption: number;\r\n consumptionArea: number;\r\n consumptionLayer: number;\r\n quantity: number;\r\n quantityDefault: number;\r\n palletRequired: number;\r\n priceInfoText: string;\r\n checkoutUrl: string;\r\n castQuantityCalculatorCubeImageUrl: string;\r\n castQuantityCalculatorCylinderImageUrl: string;\r\n castQuantityCalculatorTriangularImageUrl: string;\r\n isMobile: boolean;\r\n mortarCalculatorViewModel: MortarCalculatorModel;\r\n buildingOptionFromRequest: string;\r\n itemPriceUnit: string;\r\n itemSecondaryPackagingUnit: string;\r\n isOnlyShoppingList: boolean;\r\n}\r\n\r\nexport interface MortarCalculatorModel {\r\n mortarProductsList: ApplicableProducts[];\r\n buildingOptions: ApplicableFilterOption[];\r\n}\r\n\r\nexport interface ApplicableProducts {\r\n productId: string;\r\n buildingOption: string;\r\n variantsCanBeCalculated: Variant[];\r\n productsCannotBeCalculated: ProductsCannotBeCalculated[];\r\n}\r\n\r\nexport interface ProductsCannotBeCalculated {\r\n baseProductId: string;\r\n baseProductName: string;\r\n url: string;\r\n}\r\n\r\nexport interface ApplicableFilterOption {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport interface VariantFilterOptionsModel {\r\n filterType: FilterType;\r\n filterId: string;\r\n filterName: string;\r\n filterValues: VariantFilterValue[];\r\n filterValueUnit: string;\r\n}\r\n\r\nexport enum FilterType {\r\n Text = 0,\r\n Image = 1\r\n}\r\n\r\nexport interface VariantFilterValue {\r\n variantId: string;\r\n value: string;\r\n imageResourceUrl: string;\r\n}\r\n\r\nexport interface Variant {\r\n variantId: string;\r\n variantSystemId: string;\r\n variantName: string;\r\n category: string;\r\n url: string;\r\n productFacts: ProductFact[];\r\n price: string;\r\n priceValue: number;\r\n currencyCode: string;\r\n showBuyButton: boolean;\r\n showQuantity: boolean;\r\n showPalletQuantity: boolean;\r\n variantAttributes: VariantAttributeModel[];\r\n itemPrimaryPackagingWeight: number;\r\n itemSecondaryPackagingContent: number;\r\n isInFavouriteList: boolean;\r\n relatedProducts: RelatedProductModel[];\r\n itemMaterialConsumption: number;\r\n itemConsumptionCalculatorBlock: boolean;\r\n itemConsumptionCalculator: string;\r\n itemConsumptionCalculatorCast: boolean;\r\n itemConsumptionCalculatorBag: boolean;\r\n baseProductArticleNumber: string;\r\n itemConsumptionCalculatorMortar: boolean;\r\n itemConsumptionStringJoint: number;\r\n itemConsumptionFullJoint: number;\r\n itemConsumptionCalculatorPlaster: boolean;\r\n itemConsumptionCalculatorSandBoxSand: boolean;\r\n itemConsumptionCalculatorFogSand: boolean;\r\n itemConsumptionCalculatorUBlock: boolean;\r\n insulationVariantModel: InsulationVariantModel;\r\n itemFillingWithInsulation: number;\r\n itemAdditionalMaterialConsumption: number;\r\n fillingProductModel: FillingProductModel[];\r\n carbonSavingsModel: CarbonSavingsModel;\r\n isBuyable: boolean;\r\n fogSandMultiplyingFactor: number;\r\n}\r\n\r\nexport interface InsulationVariantModel {\r\n id: string;\r\n name: string;\r\n url: string;\r\n packagingLength: number;\r\n variantSystemId: string;\r\n}\r\n\r\nexport interface FillingProductModel {\r\n baseProductId: string;\r\n name: string;\r\n url: string;\r\n fillingVariantModel: FillingVariantModel[];\r\n}\r\n\r\nexport interface FillingVariantModel {\r\n id: string;\r\n packagingWeight: number;\r\n variantSystemId: string;\r\n}\r\n\r\nexport interface VariantAttributeModel {\r\n attributeId: string;\r\n attributeName: string;\r\n attributeValue: string;\r\n}\r\n\r\nexport interface TranslationModel extends TranslationCollection {\r\n buyButton: Translation;\r\n variantName: Translation;\r\n variantArticleNumber: Translation;\r\n variantSelectorLabel: Translation;\r\n consumptionCalculatorHeader: Translation;\r\n consumptionCalculatorDisclaimer: Translation;\r\n consumptionCalculatorHeader1: Translation;\r\n consumptionCalculatorHeader2: Translation;\r\n consumptionCalculatorUnit1: Translation;\r\n consumptionCalculatorUnit2: Translation;\r\n itemSecondaryPackagingContentLabel: Translation;\r\n palletQunatityLabel: Translation;\r\n itemQuantityLabel: Translation;\r\n purchaseInfoText: Translation;\r\n relatedProductsHeader: Translation;\r\n}\r\n\r\nexport interface ProductFact {\r\n name: string;\r\n value: string;\r\n}\r\n\r\nexport interface RelatedProductModel {\r\n brand: string;\r\n description: string;\r\n descriptionShort: string;\r\n id: string;\r\n systemId: string;\r\n image: string;\r\n isInStock: boolean;\r\n name: string;\r\n showPrice: boolean;\r\n price: string;\r\n priceValue: number;\r\n campaignPrice: string;\r\n showBuyButton: boolean;\r\n showQuantityField: boolean;\r\n url: string;\r\n quantity: number;\r\n showPackagingAmount: boolean;\r\n unitOptions: UnitOptions[];\r\n isGDS: boolean;\r\n hasCampaignPrice: boolean;\r\n campaignDisplay: CampaignDisplay;\r\n hasPrice: ConstrainBooleanParameters;\r\n minimalVariantPrice: number;\r\n quantityFieldId: string;\r\n isProductSelectorPageType: boolean;\r\n variantsHaveDifferentPrices: boolean;\r\n hasMultipleVariants: boolean;\r\n quantitySelectorPlaceholderClass: string;\r\n currencyCode: string;\r\n buyButtonTitle: string;\r\n buyButtonClass: string;\r\n isVariant: boolean;\r\n dataCartTag: string;\r\n itemSecondaryPackagingContent: number;\r\n}\r\n\r\nexport interface CampaignDisplay {\r\n image: string;\r\n text: string;\r\n textStyle: string;\r\n}\r\n\r\nexport interface UnitOptions {\r\n packagingName: string;\r\n packagingUnit: string;\r\n packagingQuantity: number;\r\n}\r\n\r\nexport interface CarbonSavingsModel {\r\n isCurrentVariantECO: boolean;\r\n mainVariantName: string;\r\n ecoVariantName: string;\r\n globalWarmingPotentialMainProduct: number;\r\n globalWarmingPotentialECOProduct: number;\r\n savingsComparedToNonECOVariant: number;\r\n ecoVariantUrl: string;\r\n mainVariantUrl: string;\r\n thisIsHowWeCalculatedPageUrl: string;\r\n ecoVariantId: string;\r\n currentVariantId: string;\r\n packagingFactor: number;\r\n imageUrl: string;\r\n}\r\n\r\nexport interface ProductEnvironmentDatabase {\r\n displayName: string;\r\n url: string;\r\n iconUrl: string;\r\n productEnvironmentDatabaseLevel2: ProductEnvironmentDatabaseLevel2;\r\n aboutText: string;\r\n isIndicatorSplit: boolean;\r\n imageUrl: string;\r\n modalEnabled: boolean;\r\n}\r\n\r\nexport interface ProductEnvironmentDatabaseLevel2 {\r\n criteriaName: string;\r\n activatedCriteria: string;\r\n indicatorCriteras: string[];\r\n allAvailableOptions: EnvironmentDatabaseLevl2Option[];\r\n}\r\n\r\nexport interface EnvironmentDatabaseLevl2Option {\r\n id: string;\r\n name: string;\r\n indicatorVersion: string;\r\n indicatorIdentifier: string;\r\n indicatorValue: string;\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!./ProductFactList.ts?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!./ProductFactList.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductFactList.vue?vue&type=template&id=67dc8a14&\"\nimport script from \"./ProductFactList.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductFactList.ts?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 (_vm.variant)?_c('div',{staticClass:\"rightdiv\"},[_c('div',{staticClass:\"product-wv-artnr__artnr\",attrs:{\"property\":\"schema:sku\",\"content\":_vm.variant.variantId}},[_vm._v(_vm._s(_vm.translations.variantArticleNumber)+\": \"+_vm._s(_vm.variant.variantId))]),_c('div',{staticClass:\"product-wv-artnr__packaging\"},[_vm._v(_vm._s(_vm.translations.itemSecondaryPackagingContentLabel)+\": \"+_vm._s(_vm.variant.itemSecondaryPackagingContent))]),(_vm.hasVariants)?_c('div',[(_vm.singleVariantFilter)?_c('div',[_c('single-variant-filter',{attrs:{\"filter\":_vm.variantFilterOptions[0]}})],1):_vm._e(),(_vm.doubleVariantFilter)?_c('div',[_c('double-variant-filter',{attrs:{\"filters\":_vm.variantFilterOptions}})],1):_vm._e()]):_vm._e(),(_vm.variant.showBuyButton)?_c('div',{staticClass:\"product-page-buy-wrapper\"},[(_vm.product.showPrice || _vm.isProductWebShop)?_c('div',{staticClass:\"row\",attrs:{\"rel\":\"schema:offers\"}},[(_vm.product.priceInfoText && _vm.variant.isBuyable)?_c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"large-offset-2 large-10 medium-12 columns end gds-product-info product-view\"},[_vm._v(\"\\n \"+_vm._s(_vm.product.priceInfoText)+\"\\n \")])])]):_vm._e(),_c('div',{staticClass:\"small-12 small-centered columns product-price-margin\",attrs:{\"typeof\":\"schema:Offer\"}},[(!_vm.variant.campaignPrice)?_c('div',{attrs:{\"property\":\"schema:price\",\"content\":_vm.variant.priceValue}},[_c('span',{staticClass:\"product-page-price-tag not-gds\"},[_vm._v(_vm._s(_vm.variant.price))])]):_c('div',{attrs:{\"property\":\"schema:price\",\"content\":_vm.variant.campaignPriceValue}},[_c('span',{staticClass:\"product-page-price-tag not-gds\"},[_c('span',{staticClass:\"price-campaign\"},[_vm._v(_vm._s(_vm.variant.campaignPrice))]),_c('span',{staticClass:\"price-campaign-old-price price-campaign-old-price__margin\"},[_vm._v(_vm._s(_vm.variant.price))])])]),_c('div',{attrs:{\"property\":\"schema:priceCurrency\",\"content\":_vm.variant.currencyCode}})])]):_vm._e(),(_vm.variant.isBuyable)?_c('div',{staticClass:\"row product-wv-buy-quantity\"},[_c('div',{staticClass:\"small-6 large-3 columns\"},[(_vm.variant.showPalletQuantity)?[_c('label',[_vm._v(_vm._s(_vm.translations.palletQunatityLabel)+\"\\n \"),_c('div',{staticClass:\"quantity-input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.palletRequired),expression:\"palletRequired\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.palletRequired)},on:{\"change\":function($event){return _vm.updateQuantityToPallet(true, true)},\"input\":function($event){if($event.target.composing){ return; }_vm.palletRequired=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',{staticClass:\"product-item-price-unit\"},[_vm._v(_vm._s(_vm.variant.itemSecondaryPackagingUnit))])])])]:[_vm._v(\" \\n \")]],2),_c('div',{staticClass:\"small-6 large-3 columns\"},[_c('label',[_vm._v(_vm._s(_vm.translations.itemQuantityLabel)+\"\\n \"),_c('div',{class:_vm.shouldQuantityBeReadonly() ? 'quantity-input-container readonly' : 'quantity-input-container'},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.quantity),expression:\"quantity\",modifiers:{\"number\":true}}],attrs:{\"id\":\"variant-selector-quantity\",\"readonly\":_vm.shouldQuantityBeReadonly(),\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.quantity)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.quantity=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',{staticClass:\"product-item-price-unit\"},[_vm._v(_vm._s(_vm.variant.itemPriceUnit))])])])]),(_vm.isProductWebShop)?_c('div',{staticClass:\"small-12 large-6 columns end product-button-margin\"},[_c('div',{staticClass:\"cta-buy-shopping-list\"},[_c('div',{staticClass:\"add-to-shopping-list\"},[_c('a',{staticClass:\"shopping-list-add\",on:{\"click\":_vm.addToShoppingList}})]),_c('a',{ref:\"buyButton\",staticClass:\"button buy-button expand\",attrs:{\"disabled\":_vm.buyButtonDisabled,\"data-role\":\"buybutton\",\"data-notification-id\":\"added-to-cart\"},on:{\"click\":_vm.addToCart}},[_vm._v(_vm._s(_vm.translations.addToCartButtonText))])])]):_c('div',{staticClass:\"small-12 large-6 columns end product-button-margin\"},[_c('a',{ref:\"buyButton\",class:'button expand' + (_vm.isProductWebShop ? ' buy-button-shopping-list' : ' buy-button'),attrs:{\"disabled\":_vm.buyButtonDisabled,\"data-role\":\"buybutton\",\"data-notification-id\":\"added-to-cart\"},on:{\"click\":_vm.mapToEvent}},[_vm._v(_vm._s(_vm.translations.buyButton))])]),(_vm.translations.purchaseInfoText && _vm.variant.isBuyable)?_c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"large-offset-2 large-10 medium-12 columns end gds-product-info product-view\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.purchaseInfoText)+\"\\n \")])])]):_vm._e()]):_vm._e()]):_vm._e(),(_vm.variant.itemConsumptionCalculatorBlock || _vm.variant.itemConsumptionCalculatorBag || _vm.variant.itemConsumptionCalculatorPlaster)?_c('div',[_c('consumption-calculator')],1):_vm._e(),(_vm.variant.itemConsumptionCalculatorCast)?_c('div',[_c('quantity-calculator-cast-product-container')],1):_vm._e(),(_vm.variant.itemConsumptionCalculatorMortar)?_c('div',[_c('quantity-calculator-mortar-product-container')],1):_vm._e(),(_vm.variant.itemConsumptionCalculatorSandBoxSand || _vm.variant.itemConsumptionCalculatorFogSand)?_c('div',[_c('consumption-calculator-sand')],1):_vm._e(),(_vm.variant.itemConsumptionCalculatorUBlock)?_c('div',[_c('quantity-calculator-u-block-product-container')],1):_vm._e(),(_vm.isCarbonSavingsCalculationVariant)?_c('div',{staticClass:\"fortab\"},[_c('carbon-savings-calculation',{attrs:{\"quantity\":_vm.quantity}})],1):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AddToCartModel } from \"../models/Cart\";\r\nimport { EventBus } from \"../events\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\n\r\nclass Cart {\r\n\r\n public add(model: AddToCartModel, sourceElement: Element): void {\r\n\r\n window.Accelerator.libs.cart.addArticle(model, sourceElement);\r\n\r\n if (window.eventBus) {\r\n if (model.variantSystemId !== \"\") {\r\n const currentVariant = productStore.variants.find(x => x.variantSystemId === model.variantSystemId);\r\n const carbonSavingModel = currentVariant ? currentVariant.carbonSavingsModel : null;\r\n EventBus.$emit(\"productAddedToCart\", model.variantSystemId, carbonSavingModel, model.quantity,\r\n false);\r\n } else if (model.variantId !== \"\") {\r\n window.eventBus.$emit(\"productAddedToCartArticleNumber\", model.variantId, true);\r\n }\r\n }\r\n }\r\n\r\n public addToCart(model: AddToCartModel): void {\r\n this.add(model, {} as Element);\r\n }\r\n\r\n public addToCartWithSingleAddedToCart(model: AddToCartModel, sourceElement: Element): void {\r\n window.Accelerator.libs.cart.addArticle(model, sourceElement);\r\n }\r\n\r\n public removeFromCart(model: AddToCartModel): void {\r\n window.Accelerator.libs.cart.removeArticle(model, {} as Element);\r\n }\r\n}\r\n\r\nexport default new Cart();\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('label',[_vm._v(_vm._s(_vm.filter.filterName))]),(_vm.isImageFilter(_vm.filter.filterType))?_c('div',[_c('image-variant-filter',{attrs:{\"filterValues\":_vm.filter.filterValues,\"selectedFilterValue\":_vm.selectedFilterValue},on:{\"update:selectedFilterValue\":function($event){_vm.selectedFilterValue=$event},\"update:selected-filter-value\":function($event){_vm.selectedFilterValue=$event}}})],1):_c('div',[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedFilterValue),expression:\"selectedFilterValue\"}],on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedFilterValue=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.filter.filterValues),function(item){return _c('option',{key:item.value,domProps:{\"value\":item.value}},[_vm._v(_vm._s(item.value)+\" \")])}),0)]),(_vm.variantsWithFilterValue.length > 0)?_c('div',[_c('unique-variant-filter',{attrs:{\"variants\":_vm.variantsWithFilterValue}})],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('label',[_vm._v(_vm._s(_vm.translations.variantSelectorLabel))]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedVariant),expression:\"selectedVariant\"}],on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedVariant=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.variants),function(variant){return _c('option',{key:variant.variantId,domProps:{\"value\":variant}},[_vm._v(_vm._s(variant.variantName)+\" (\"+_vm._s(variant.variantId)+\")\")])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport { Variant, TranslationModel } from \"../models/product\";\r\n\r\n@Component\r\nexport default class UniqueVariantFilter extends Vue {\r\n\r\n @Prop()\r\n protected variants!: Variant[];\r\n protected translations: TranslationModel;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n get selectedVariant(): Variant {\r\n return productStore.variant;\r\n }\r\n\r\n set selectedVariant(value: Variant) {\r\n productStore.dispatchVariant(value);\r\n }\r\n\r\n private variantExist(variantId: string): boolean {\r\n for (const item of this.variants) {\r\n if (item.variantId === variantId) {\r\n return true;\r\n }\r\n }\r\n return false;\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!./UniqueVariantFilter.ts?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!./UniqueVariantFilter.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UniqueVariantFilter.vue?vue&type=template&id=54fb9fa0&\"\nimport script from \"./UniqueVariantFilter.ts?vue&type=script&lang=ts&\"\nexport * from \"./UniqueVariantFilter.ts?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',{staticClass:\"custom-dropdown\",on:{\"click\":_vm.toggleImagePicker}},[_c('span',[_c('img',{class:{ 'hidden': !_vm.selectedFilter.imageResourceUrl || _vm.selectedFilter.imageResourceUrl === '' },attrs:{\"src\":_vm.selectedFilter.imageResourceUrl}}),_vm._v(\" \"+_vm._s(_vm.selectedFilter.value))]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showImagePicker),expression:\"showImagePicker\"}],staticClass:\"dropdown-item\"},_vm._l((_vm.filterValues),function(item){return _c('div',{key:item.value},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedFilter),expression:\"selectedFilter\"}],staticClass:\"image-filter-input\",attrs:{\"type\":\"radio\",\"id\":'current-filter-' + item.value},domProps:{\"value\":item,\"checked\":_vm._q(_vm.selectedFilter,item)},on:{\"change\":[function($event){_vm.selectedFilter=item},_vm.onFilterChange]}}),_c('label',{staticClass:\"image-filter-input-label\",attrs:{\"for\":'current-filter-' + item.value}},[_c('img',{class:{ 'active': item.value === _vm.selectedFilter.value },attrs:{\"src\":item.imageResourceUrl,\"title\":item.value}})])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { VariantFilterValue } from \"../models/product\";\r\n\r\n@Component\r\nexport default class ImageVariantFilter extends Vue {\r\n protected showImagePicker: boolean = false;\r\n protected selectedFilter: VariantFilterValue = { imageResourceUrl: \"\", value: \"\", variantId: \"\"};\r\n\r\n @Prop()\r\n protected filterValues!: VariantFilterValue[];\r\n\r\n @Prop()\r\n protected selectedFilterValue!: string;\r\n\r\n @Watch(\"filterValues\")\r\n protected onFilterValuesChange() {\r\n if (this.filterValues && this.filterValues.length) {\r\n this.selectedFilter = this.filterValues[0];\r\n }\r\n }\r\n\r\n @Watch(\"selectedFilterValue\")\r\n protected onSelectedFilterValueChange() {\r\n this.selectedFilter = this.filterValues.find(x => x.value === this.selectedFilterValue) || this.filterValues[0];\r\n }\r\n\r\n protected mounted() {\r\n if (this.filterValues && this.filterValues.length) {\r\n this.selectedFilter = this.filterValues.find(x => x.value === this.selectedFilterValue) || this.filterValues[0];\r\n }\r\n }\r\n\r\n protected onFilterChange() {\r\n this.toggleImagePicker();\r\n this.$emit(\"update:selectedFilterValue\", this.selectedFilter.value);\r\n }\r\n\r\n protected toggleImagePicker() {\r\n this.showImagePicker = !this.showImagePicker;\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!./ImageVariantFilter.ts?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!./ImageVariantFilter.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ImageVariantFilter.vue?vue&type=template&id=73d1b930&\"\nimport script from \"./ImageVariantFilter.ts?vue&type=script&lang=ts&\"\nexport * from \"./ImageVariantFilter.ts?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","import { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport { Variant, VariantFilterOptionsModel, VariantFilterValue, FilterType } from \"../models/product\";\r\nimport UniqueVariantFilter from \"./UniqueVariantFilter\";\r\nimport ImageVariantFilter from \"./ImageVariantFilter\";\r\n\r\n@Component({ components: {\r\n UniqueVariantFilter,\r\n ImageVariantFilter\r\n}})\r\nexport default class SingleVariantFilter extends Vue {\r\n\r\n protected thisSelectedFilterValue: string = \"\";\r\n\r\n @Prop()\r\n protected filter!: VariantFilterOptionsModel;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected created() {\r\n this.setInitialSelectedFilterValue();\r\n }\r\n\r\n protected isImageFilter(filterType: number) {\r\n return filterType === FilterType.Image;\r\n }\r\n\r\n private setInitialSelectedFilterValue() {\r\n this.selectedFilterValue = this.getAttributeValue(this.selectedVariant, this.filter.filterId);\r\n }\r\n\r\n get variants(): Variant[] {\r\n return productStore.variants;\r\n }\r\n\r\n get selectedFilterValue(): string {\r\n return this.getAttributeValue(this.selectedVariant, this.filter.filterId);\r\n }\r\n\r\n set selectedFilterValue(value: string) {\r\n const variants = this.variants.filter(v => this.hasAttribute(v, this.filter.filterId, value));\r\n if (this.selectedVariant) {\r\n const variantFound = variants.find(x => x.variantId === this.selectedVariant.variantId);\r\n if (variantFound) {\r\n productStore.dispatchVariant(variantFound);\r\n } else {\r\n productStore.dispatchVariant(variants[0]);\r\n }\r\n } else {\r\n productStore.dispatchVariant(variants[0]);\r\n }\r\n }\r\n\r\n get variantsWithFilterValue(): Variant[] {\r\n const selectedFilterValue = this.selectedFilterValue;\r\n const variants = this.variants.filter(v => this.hasAttribute(v, this.filter.filterId, selectedFilterValue));\r\n\r\n if (variants.length === 1) {\r\n return [];\r\n } else {\r\n return variants;\r\n }\r\n }\r\n\r\n private hasAttribute(variant: Variant, id: string, value: string): boolean {\r\n for (const attribute of variant.variantAttributes) {\r\n if (attribute.attributeId === id) {\r\n if (attribute.attributeValue === value) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private getAttributeValue(variant: Variant, filterId: string): string {\r\n for (const attribute of variant.variantAttributes) {\r\n if (attribute.attributeId === filterId) {\r\n return attribute.attributeValue;\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n get selectedVariant() {\r\n return productStore.variant;\r\n }\r\n\r\n get selectedVariantId(): string {\r\n return this.selectedVariant.variantId;\r\n }\r\n\r\n set selectedVariantId(value: string) {\r\n const variant = this.variants.find(x => x.variantId.toString() === value.toString());\r\n\r\n if (variant) {\r\n productStore.dispatchVariant(variant);\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!./SingleVariantFilter.ts?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!./SingleVariantFilter.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SingleVariantFilter.vue?vue&type=template&id=2206f8b4&\"\nimport script from \"./SingleVariantFilter.ts?vue&type=script&lang=ts&\"\nexport * from \"./SingleVariantFilter.ts?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',{staticClass:\"product-wv-consumption-cal\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns\"},[_c('strong',[_vm._v(\"\\n \"+_vm._s(_vm.itemConsumptionCalculatorBlock ? _vm.translations.blockCalculationDisclaimerHeader :\n (_vm.itemConsumptionCalculatorFloor ? _vm.translations.floorCalculationDisclaimerHeader : _vm.translations.plasterCalculationDisclaimerHeader))+\"\\n \")])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns disclaimer\"},[_c('p',[_vm._v(_vm._s(_vm.itemConsumptionCalculatorBlock ? _vm.translations.consumptionCalculatorBlockDisclaimer : _vm.translations.consumptionCalculatorDisclaimer))])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 medium-6 columns col2centermargin\"},[_c('label',{staticClass:\"label-input\"},[_vm._v(\"\\n \"+_vm._s(_vm.itemConsumptionCalculator ? _vm.translations.consumptionCalculatorBlockHeader1 : _vm.translations.consumptionCalculatorHeader1)+\"\\n \"),_c('div',{staticClass:\"quantity-input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.area),expression:\"area\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.area)},on:{\"focus\":function($event){_vm.isCalculating = true},\"blur\":[function($event){_vm.isCalculating = false},function($event){return _vm.$forceUpdate()}],\"input\":function($event){if($event.target.composing){ return; }_vm.area=_vm._n($event.target.value)}}}),_c('div',{staticClass:\"product-item-price-unit\",domProps:{\"innerHTML\":_vm._s(_vm.itemConsumptionCalculator ? _vm.translations.consumptionCalculatorBlockUnit1 : _vm.translations.consumptionCalculatorUnit1)}})])])]),(!_vm.itemConsumptionCalculatorBlock)?_c('div',{staticClass:\"small-12 medium-6 columns col2centermargin\"},[_c('label',{staticClass:\"label-input\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.consumptionCalculatorHeader2)+\"\\n \"),_c('div',{staticClass:\"quantity-input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.layer),expression:\"layer\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.layer)},on:{\"focus\":function($event){_vm.isCalculating = true},\"blur\":[function($event){_vm.isCalculating = false},function($event){return _vm.$forceUpdate()}],\"input\":function($event){if($event.target.composing){ return; }_vm.layer=_vm._n($event.target.value)}}}),_c('div',{staticClass:\"product-item-price-unit\",domProps:{\"innerHTML\":_vm._s(_vm.translations.consumptionCalculatorUnit2)}})])])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport { Variant, TranslationModel, ProductModel } from \"../models/product\";\r\nimport { QuantityCalculationResultModel } from \"../models/QuanityCalculatorCast\";\r\n\r\n@Component\r\nexport default class ConsumptionCalculator extends Vue {\r\n protected area: number = NaN;\r\n protected layer: number = NaN;\r\n protected translations: TranslationModel;\r\n private isCalculating: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected created() {\r\n if (!this.area && Number(productStore.product.consumptionArea) && productStore.product.consumptionArea > 0) {\r\n this.area = productStore.product.consumptionArea;\r\n } else {\r\n this.area = Number.parseFloat(this.getSession(\"area\"));\r\n }\r\n\r\n if (!this.layer && Number(productStore.product.consumptionLayer) && productStore.product.consumptionLayer > 0) {\r\n this.layer = productStore.product.consumptionLayer;\r\n } else {\r\n this.layer = Number.parseFloat(this.getSession(\"layer\"));\r\n }\r\n this.setMeasurementsFromSessionFloor();\r\n this.setMeasurementsFromSessionBlock();\r\n }\r\n\r\n get product(): ProductModel {\r\n return productStore.product;\r\n }\r\n\r\n get variant(): Variant {\r\n return productStore.variant;\r\n }\r\n\r\n get quantity(): number {\r\n return productStore.quantity;\r\n }\r\n\r\n get itemConsumptionCalculatorBlock(): boolean {\r\n return productStore.variant.itemConsumptionCalculatorBlock;\r\n }\r\n\r\n get itemConsumptionCalculatorFloor(): boolean {\r\n return productStore.variant.itemConsumptionCalculatorBag;\r\n }\r\n\r\n get itemConsumptionCalculator(): string {\r\n return productStore.variant.itemConsumptionCalculator;\r\n }\r\n\r\n get itemMaterialConsumption(): number {\r\n return productStore.variant.itemMaterialConsumption;\r\n }\r\n\r\n @Watch(\"quantity\")\r\n protected onQuantityChange(value: number, oldValue: number) {\r\n if (this.isCalculating) {\r\n return;\r\n }\r\n\r\n if (Number(this.layer)) {\r\n const area = Math.floor((value * this.variant.itemPrimaryPackagingWeight) / (this.layer * this.product.productMaterialConsumption));\r\n this.area = area;\r\n }\r\n\r\n productStore.dispatchQuantity(value);\r\n }\r\n\r\n @Watch(\"area\")\r\n protected onAreaChange(value: number, oldValue: number) {\r\n if (Number(value) && value !== oldValue) {\r\n this.storeSession(\"area\", value);\r\n }\r\n this.calculateQuantity();\r\n }\r\n\r\n @Watch(\"layer\")\r\n protected onLayerChange(value: number, oldValue: number) {\r\n if (Number(value) && value !== oldValue) {\r\n this.storeSession(\"layer\", value);\r\n this.calculateQuantity();\r\n }\r\n }\r\n\r\n private calculateQuantity() {\r\n if (this.variant.itemConsumptionCalculatorBlock) {\r\n if (!Number(this.area) || !Number(this.itemMaterialConsumption)) {\r\n productStore.dispatchQuantity(1);\r\n } else {\r\n const quantity = Math.ceil(this.area * this.itemMaterialConsumption);\r\n productStore.dispatchQuantity(quantity);\r\n }\r\n } else {\r\n if (!Number(this.area) || !Number(this.layer)) {\r\n productStore.dispatchQuantity(0);\r\n } else {\r\n const material = this.area * this.layer;\r\n const kgNeeded = material * this.product.productMaterialConsumption;\r\n const quantity = Math.ceil(kgNeeded / this.variant.itemPrimaryPackagingWeight);\r\n productStore.dispatchQuantity(quantity);\r\n }\r\n }\r\n }\r\n\r\n private storeSession(key: string, value: number): void {\r\n if (typeof(sessionStorage) !== \"undefined\") {\r\n sessionStorage.setItem(this.variant.baseProductArticleNumber + key, value.toString());\r\n }\r\n }\r\n\r\n private getSession(key: string): string {\r\n if (typeof(sessionStorage) !== \"undefined\") {\r\n return sessionStorage.getItem(this.variant.baseProductArticleNumber + key) || \"\";\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n private setMeasurementsFromSessionFloor() {\r\n const floorquantity = this.getSessionWithoutVariantId(\"floorquantityBag\");\r\n const floorquantityPlaster = this.getSessionWithoutVariantId(\"floorquantityPlaster\");\r\n if (floorquantity !== \"\" && this.variant.itemConsumptionCalculatorBag) {\r\n const quantityCalcResults = JSON.parse(floorquantity);\r\n if (quantityCalcResults !== undefined) {\r\n const currentVariantData = quantityCalcResults.filter((x: QuantityCalculationResultModel) => x.variantId === this.variant.variantId);\r\n if (currentVariantData.length > 0 && Number(currentVariantData[0].sack) && currentVariantData[0].sack > 0) {\r\n this.area = currentVariantData[0].yta;\r\n this.layer = currentVariantData[0].layerThickness;\r\n\r\n sessionStorage.setItem(\"floorquantityBag\", \"\");\r\n this.isCalculating = true;\r\n }\r\n }\r\n }\r\n if (floorquantityPlaster !== \"\" && this.variant.itemConsumptionCalculatorPlaster) {\r\n const quantityCalcResults = JSON.parse(floorquantityPlaster);\r\n if (quantityCalcResults !== undefined) {\r\n const currentVariantData = quantityCalcResults.filter((x: QuantityCalculationResultModel) => x.variantId === this.variant.variantId);\r\n if (currentVariantData.length > 0 && Number(currentVariantData[0].sack) && currentVariantData[0].sack > 0) {\r\n this.area = currentVariantData[0].yta;\r\n this.layer = currentVariantData[0].layerThickness;\r\n\r\n sessionStorage.setItem(\"floorquantityPlaster\", \"\");\r\n this.isCalculating = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private setMeasurementsFromSessionBlock() {\r\n const blockquantity = this.getSessionWithoutVariantId(\"blockquantity\");\r\n if (blockquantity !== \"\") {\r\n const quantityCalcResults = JSON.parse(blockquantity);\r\n if (quantityCalcResults !== undefined) {\r\n const currentVariantData = quantityCalcResults.filter((x: QuantityCalculationResultModel) => x.variantId === this.variant.variantId);\r\n if (currentVariantData.length > 0 && Number(currentVariantData[0].sack) && currentVariantData[0].sack > 0) {\r\n this.area = currentVariantData[0].yta;\r\n\r\n sessionStorage.setItem(\"blockquantity\", \"\");\r\n this.isCalculating = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private getSessionWithoutVariantId(key: string): string {\r\n if (typeof(sessionStorage) !== \"undefined\") {\r\n return sessionStorage.getItem(key) || \"\";\r\n }\r\n\r\n return \"\";\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!./ConsumptionCalculator.ts?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!./ConsumptionCalculator.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ConsumptionCalculator.vue?vue&type=template&id=34af1256&\"\nimport script from \"./ConsumptionCalculator.ts?vue&type=script&lang=ts&\"\nexport * from \"./ConsumptionCalculator.ts?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',{staticClass:\"row-inner\"},[_c('div',{staticClass:\"delivery-section content\"},[_c('div',{staticClass:\"small-12 medium-6 medium-offset-3 small-offset-0\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.deliveryMethodPostCodeMessage)+\"\\n \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.postalCode),expression:\"postalCode\"}],attrs:{\"placeholder\":_vm.translations.deliveryMethodPostCodePlaceholder,\"type\":\"text\",\"id\":\"Customer_Delivery_PostalCode\",\"pattern\":\"\\\\d+\",\"disabled\":_vm.isLoading},domProps:{\"value\":(_vm.postalCode)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onClick($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.postalCode=$event.target.value}}}),(_vm.klarnaValidationFailed)?_c('div',{staticClass:\"klarna__validation-text error-text\",attrs:{\"id\":\"dvValidateFailed\"}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.deliveryPostalCodesMisMatch)+\"\\n \")]):_vm._e(),_c('button',{staticClass:\"button expand submit\",attrs:{\"type\":\"button\",\"id\":\"delivery-method-btn\",\"disabled\":_vm.isLoading},on:{\"click\":_vm.onClick}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.deliveryMethodButtonText)+\"\\n \")])])]),(_vm.showDeliveries)?_c('div',{staticClass:\"delivery-methods delivery-section content\"},[_c('div',{class:'small-12 ' + (_vm.deliveryMethodsAvailable ? 'medium-3' : 'medium-6') + ' medium-offset-3 small-offset-0'},[(!_vm.deliveryMethodsAvailable)?_c('div',{staticClass:\"error-text\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.deliveryMethodNoMethodsAvailableMessage)+\"\\n \")]):_c('div',[_c('fieldset',[_c('legend',[_vm._v(_vm._s(_vm.translations.deliveryMethodText))]),_c('ul',{staticClass:\"delivery-method-list\"},_vm._l((_vm.deliveries),function(item){return _c('li',{key:item.id},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedDelivery),expression:\"selectedDelivery\"}],attrs:{\"type\":\"radio\",\"disabled\":_vm.isLoading},domProps:{\"value\":item.id,\"checked\":_vm._q(_vm.selectedDelivery,item.id)},on:{\"change\":function($event){_vm.selectedDelivery=item.id}}}),_vm._v(\"\\n \"+_vm._s(item.displayName)+\" \"+_vm._s(item.price)+\"\\n \"),_c('span',[_vm._v(_vm._s(item.description))])])])}),0)]),(_vm.handlingFeeMessage != null && _vm.handlingFeeMessage != '')?_c('fieldset',[_c('legend',[_vm._v(_vm._s(_vm.translations.handlingFeeSectionHeader))]),_c('label',{staticClass:\"delivery-selector-handling-fee-text\"},[_c('input',{attrs:{\"type\":\"radio\",\"disabled\":_vm.isLoading},domProps:{\"checked\":true}}),_c('span',[_vm._v(_vm._s(_vm.handlingFeeMessage))])])]):_vm._e()])]),(_vm.deliveryMethodsAvailable)?_c('div',{staticClass:\"small-12 medium-5 small-offset-0\"},[_c('div',{staticClass:\"row collapse\"},[_c('p',{staticClass:\"delivery-date-picker-label\"},[_vm._v(_vm._s(_vm.translations.deliveryDateDisableDaysLabel))]),_c('div',{staticClass:\"small-12 columns\"},[_c('div',{staticClass:\"small-10 padding-0 columns\"},[_c('input',{attrs:{\"placeholder\":_vm.translations.deliveryDateDisableDaysPlaceholder,\"type\":\"text\",\"disabled\":true,\"disabledays\":_vm.disableDays,\"saveonchange\":_vm.saveonChange,\"id\":\"checkout-deliverydate-datepicker-input\",\"pattern\":\"([12]\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01]))\"},on:{\"paste\":_vm.onClick}})]),_vm._m(0),_c('div',{staticClass:\"columns\"})])])]):_vm._e(),_c('div',{staticClass:\"columns\"})]):_vm._e(),(_vm.showResellerCheckout)?_c('div',[_c('reseller-order-checkout')],1):_vm._e(),(_vm.deliveryMethodsAvailable)?_c('div',{attrs:{\"id\":\"klarna-widget\"}}):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"small-2 padding-0 columns\"},[_c('span',{staticClass:\"postfix\",attrs:{\"id\":\"checkout-deliverydate-datepicker-button\"}},[_c('i',{staticClass:\"fi-calendar\"})])])}]\n\nexport { render, staticRenderFns }","import { IGeeProduct, IGeeProductAddToCart, IGeeProductDetail } from \"../models/GoogleEnhancedEcommerce\";\r\n\r\nclass GoogleEnhancedEcommerce {\r\n // Report View of product or variant to Google\r\n public PushViewToGoogle(\r\n Name: string,\r\n Id: string,\r\n Price: number,\r\n Category: string,\r\n ) {\r\n let Products: IGeeProductDetail[];\r\n Products = [\r\n {\r\n name: Name,\r\n id: Id,\r\n price: Price ? Price.toString() : \"0\",\r\n category: Category\r\n } as IGeeProductDetail\r\n ];\r\n\r\n // Create GEE View product object\r\n const geeObject = {\r\n event: \"detail\",\r\n ecommerce: {\r\n detail:\r\n { products: Products }\r\n }\r\n };\r\n\r\n this.PushDataLayer(geeObject);\r\n }\r\n\r\n public PushPostalCodeToGoogle(postalCode: string) {\r\n // Create GEE postal code Object\r\n const geeObject = {\r\n event: \"checkoutPostalCodeSelection\",\r\n postalCode: { postalCode }\r\n };\r\n\r\n this.PushDataLayer(geeObject);\r\n }\r\n\r\n public PushProductsAddToCartToGoogle(products: IGeeProduct[], currencyCode: string, dimensionIdentifier: string, isShoppingList: boolean = false) {\r\n const addToCartProducts = products.map(product => ({\r\n name: product.name,\r\n id: product.id,\r\n price: product.price ? product.price.toString() : \"0\",\r\n category: product.category,\r\n quantity: product.quantity,\r\n dimension1: dimensionIdentifier,\r\n metric1: this.getTotalItemPrice(product.price, product.quantity)\r\n })\r\n );\r\n\r\n // Create GEE AddToCart Object\r\n const geeObject = {\r\n event: isShoppingList ? \"add_to_wishlist\" : \"addToCart\",\r\n ecommerce: {\r\n currencyCode,\r\n add: {\r\n products: addToCartProducts\r\n }\r\n }\r\n };\r\n\r\n this.PushDataLayer(geeObject);\r\n }\r\n\r\n // Report products that add to cart to Google\r\n public PushAddToCartToGoogle(\r\n name: string,\r\n id: string,\r\n price: number,\r\n category: string,\r\n quantity: number | undefined,\r\n dimensionIdentifier: string,\r\n currencyCode: string,\r\n isShoppingList: boolean,\r\n ) {\r\n\r\n let products: IGeeProduct[];\r\n products = [\r\n {\r\n name,\r\n id,\r\n price,\r\n category,\r\n quantity\r\n }\r\n ];\r\n\r\n this.PushProductsAddToCartToGoogle(products, currencyCode, dimensionIdentifier, isShoppingList);\r\n }\r\n\r\n private PushDataLayer(geeObject: any) {\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push(geeObject);\r\n }\r\n\r\n private getTotalItemPrice(price: number | undefined, quantity: number | undefined) {\r\n if (Number(price) && Number(quantity)) {\r\n return (Number(price) * Number(quantity)).toString();\r\n }\r\n return \"0\";\r\n }\r\n}\r\n\r\nexport default GoogleEnhancedEcommerce;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row-inner\"},[(_vm.vm.infoHeading)?_c('h1',{staticClass:\"checkout-reseller__info-heading\",domProps:{\"textContent\":_vm._s(_vm.vm.infoHeading)}}):_vm._e(),(_vm.vm.infoBlock)?_c('div',{staticClass:\"checkout-reseller__info\",domProps:{\"innerHTML\":_vm._s(_vm.vm.infoBlock)}}):_vm._e(),(_vm.showOrderInfo)?_c('reseller-product-list'):_vm._e(),(_vm.showMap)?_c('reseller-map'):_vm._e(),(_vm.vm.deliveryInformation && _vm.showPaymentWidget)?_c('div',{staticClass:\"checkout-reseller__delivery-info\",attrs:{\"id\":\"delivery-info\"},domProps:{\"innerHTML\":_vm._s(_vm.vm.deliveryInformation)}}):_vm._e(),(_vm.showPaymentWidget)?_c('payment-widget',{attrs:{\"paymentWidget\":_vm.paymentWidget}}):_vm._e(),(_vm.paymentError)?_c('div',[_vm._v(_vm._s(_vm.paymentError))]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row-inner\"},[_c('div',{attrs:{\"id\":\"klarna-widget\"}})])}]\n\nexport { render, staticRenderFns }","import { Component, Vue, Watch, Prop} from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class PaymentWidget extends Vue {\r\n @Prop()\r\n protected paymentWidget!: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected mounted() {\r\n if (this.paymentWidget) {\r\n $(\"#klarna-widget\").append(this.paymentWidget);\r\n }\r\n }\r\n\r\n\r\n // FINJA-928 (commented temporarily, enable later)\r\n protected created() {\r\n // this.scrollMapTextIntoView();\r\n }\r\n\r\n // protected scrollMapTextIntoView() {\r\n // const mapElem = document.getElementById(\"delivery-info\");\r\n // if (mapElem) {\r\n // mapElem.scrollIntoView({ behavior: \"smooth\", block: \"start\", inline: \"nearest\" });\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!./PaymentWidget.ts?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!./PaymentWidget.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PaymentWidget.vue?vue&type=template&id=014fce83&\"\nimport script from \"./PaymentWidget.ts?vue&type=script&lang=ts&\"\nexport * from \"./PaymentWidget.ts?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',{staticClass:\"row-inner reseller-map\",attrs:{\"id\":\"reseller-map\"}},[_c('div',[_c('div',{staticClass:\"row reseller-map__intro\"},[_c('div',{staticClass:\"small-12 medium-6 column reseller-map__intro-text-container\"},[_c('div',{staticClass:\"reseller-map__maptitle\"},[_vm._v(_vm._s(_vm.translations.mapTitle))]),_c('div',[_vm._v(_vm._s(_vm.translations.mapText))])]),_c('div',{staticClass:\"small-12 medium-6 large-offset-3 large-3 column reseller-map__search-input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTerm),expression:\"searchTerm\"},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],attrs:{\"type\":\"text\",\"placeholder\":_vm.translations.enterLocation},domProps:{\"value\":(_vm.searchTerm)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.searchTerm=$event.target.value}}})])]),_c('div',{staticClass:\"reseller-map__container\"},[_c('div',{staticClass:\"reseller-map__list\"},[_c('div',{staticClass:\"reseller-map__list-container\"},[_c('h2',[_vm._v(_vm._s(_vm.translations.selectResellerHeader))]),_vm._l((_vm.filteredResellers),function(reseller,listIndex){return _c('div',{key:reseller.id,staticClass:\"reseller-map__reseller\",class:{ 'disabled': _vm.selectedReseller.id && _vm.selectedReseller.id != reseller.id}},[_c('input',{attrs:{\"type\":\"checkbox\",\"name\":'label-' + reseller.longitude,\"id\":'label-' + reseller.longitude},domProps:{\"value\":reseller,\"checked\":reseller.id == _vm.selectedReseller.id},on:{\"change\":function($event){return _vm.handleSelectedResellerChange(reseller, $event)}}}),_c('label',{attrs:{\"for\":'label-' + reseller.longitude}},[_c('h3',{staticClass:\"reseller-map__reseller-name\"},[_vm._v(\"\\n (\"+_vm._s(listIndex + 1)+\") \"+_vm._s(reseller.name)+\"\\n \")]),_c('span',{staticClass:\"reseller-map__reseller-address\"},[_vm._v(\"\\n \"+_vm._s(reseller.address)+\", \"+_vm._s(reseller.city)+\" -\\n \"+_vm._s(_vm.formatDistance(reseller.distance))+\" km\\n \")])])])})],2),(_vm.selectedReseller.id)?_c('a',{staticClass:\"reseller-map__reseller-change button expand-reseller-change-button\",on:{\"click\":_vm.removeSelectedReseller}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.changeReseller)+\"\\n \")]):_vm._e()]),_c('GmapMap',{ref:\"googleMap\",staticClass:\"map-reseller\",attrs:{\"center\":_vm.fallbackPosition,\"zoom\":7,\"options\":_vm.mapOptions,\"map-type-id\":\"terrain\"},on:{\"bounds_changed\":function($event){return _vm.boundsChanged($event)}}},_vm._l((_vm.filteredResellers),function(reseller,index){return _c('GmapMarker',{key:index,attrs:{\"icon\":{\n url:\n 'https://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=' +\n (index + 1) +\n '|ffd600|000000',\n },\"position\":_vm.getGooglePosition(reseller),\"clickable\":false,\"draggable\":false}})}),1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {TranslationCollection} from \"../../../models/translation\";\r\n\r\nexport interface UiState {\r\n id: any;\r\n state: T;\r\n}\r\n\r\nexport interface TranslationModel extends TranslationCollection {\r\n enterLocation: string;\r\n selectResellerHeader: string;\r\n mapTitle: string;\r\n mapText: string;\r\n}\r\n\r\nexport interface ResellerOrderCheckoutModel {\r\n infoBlock: string;\r\n resellers: Reseller[];\r\n orderInfo: OrderInfo;\r\n}\r\n\r\nexport interface Reseller {\r\n id: string;\r\n name: string;\r\n address: string;\r\n postalCode: number;\r\n latitude: number;\r\n longitude: number;\r\n city: string;\r\n distance: number;\r\n default: boolean;\r\n}\r\n\r\nexport interface OrderInfo {\r\n products: Product[];\r\n bundles: Bundle[];\r\n}\r\n\r\nexport interface Product {\r\n orderRowId: string;\r\n articleNumber: string;\r\n name: string;\r\n imageUrl: string;\r\n quantity: number;\r\n unit: string;\r\n itemPriceUnit: string;\r\n}\r\n\r\nexport interface Bundle {\r\n id: string;\r\n name: string;\r\n products: Product[];\r\n virtualProducts: Product[];\r\n}\r\n\r\nexport interface Position {\r\n lat: number;\r\n lng: number;\r\n}\r\n\r\nexport const mapOptions = {\r\n zoomControl: true,\r\n mapTypeControl: false,\r\n scaleControl: false,\r\n streetViewControl: false,\r\n rotateControl: false,\r\n fullscreenControl: false,\r\n disableDefaultUi: false,\r\n maxZoom: 17,\r\n mapTypeId: \"roadmap\"\r\n};\r\n\r\n","class HtmlElementHelper {\r\n public isFocusedElement(inputElement: HTMLElement): boolean {\r\n return inputElement === document.activeElement;\r\n }\r\n\r\n public isEventTargetFocusedElement(eventTarget: EventTarget | null): boolean {\r\n if (eventTarget !== null && eventTarget instanceof HTMLElement) {\r\n return this.isFocusedElement(eventTarget);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public isValidNumberInput(inputElement: HTMLInputElement) {\r\n const numericValue = Number(inputElement.value);\r\n\r\n if (isNaN(numericValue)) {\r\n return false;\r\n }\r\n\r\n if (inputElement.min.length > 0) {\r\n if (numericValue < Number(inputElement.min)) {\r\n return false;\r\n }\r\n }\r\n\r\n if (inputElement.max.length > 0) {\r\n if (numericValue > Number(inputElement.max)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n\r\nexport default new HtmlElementHelper();\r\n","import { Component, Vue } from \"vue-property-decorator\";\r\nimport * as Models from \"../models\";\r\nimport { resellerOrderCheckoutStore as store } from \"../store\";\r\nimport HtmlElementHelper from \"@/services/HtmlElementHelper\";\r\nimport { EventBus } from \"../../../events\";\r\n\r\ndeclare var google: any;\r\n\r\n@Component\r\nexport default class ResellerMap extends Vue {\r\n public $refs!: {\r\n googleMap: any;\r\n };\r\n\r\n protected mapMarkerUrl: string = \"/ui/img/site/marker.png\";\r\n protected numberOfResellersToDisplay: number = 5;\r\n protected searchTerm: string = \"\";\r\n protected google: any = {};\r\n protected googleMapInit: boolean = false;\r\n protected currentPosition: Models.Position = {} as Models.Position;\r\n protected fallbackPosition: Models.Position = {\r\n lat: 56.39311481256241,\r\n lng: 12.731664035600776\r\n } as Models.Position;\r\n protected filteredResellers: Models.Reseller[] = [];\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected mounted() {\r\n EventBus.$on(\"initMapSearch\", (searchTerm: string) => {\r\n this.searchTerm = searchTerm;\r\n const checkExist = setInterval(() => {\r\n if (google !== undefined) {\r\n this.findResellers();\r\n clearInterval(checkExist);\r\n }\r\n }, 2000);\r\n });\r\n }\r\n\r\n protected created() {\r\n if (this.searchTerm === \"\") {\r\n this.setDefaultLocation();\r\n }\r\n }\r\n\r\n protected removeSelectedReseller() {\r\n this.selectedReseller = {} as Models.Reseller;\r\n }\r\n\r\n protected setDefaultLocation() {\r\n // Try get user location\r\n navigator.geolocation.getCurrentPosition(userPosition => {\r\n this.currentPosition.lat = userPosition.coords.latitude;\r\n this.currentPosition.lng = userPosition.coords.longitude;\r\n this.getClosestResellers(this.currentPosition);\r\n },\r\n error => {\r\n this.currentPosition = this.fallbackPosition;\r\n this.getClosestResellers(this.currentPosition);\r\n },\r\n );\r\n }\r\n\r\n protected boundsChanged(event: any) {\r\n if (this.googleMapInit) {\r\n return;\r\n }\r\n\r\n if (event) {\r\n this.googleMapInit = true;\r\n this.setFitBounds(this.currentPosition);\r\n }\r\n }\r\n\r\n protected handleInputDebounce(inputValue: any, event: Event) {\r\n if (HtmlElementHelper.isEventTargetFocusedElement(event.target)) {\r\n this.findResellers();\r\n }\r\n }\r\n\r\n protected findResellers() {\r\n const geocoder = new google.maps.Geocoder();\r\n geocoder.geocode({\r\n address: this.searchTerm,\r\n componentRestrictions: {\r\n country: \"SE\",\r\n }\r\n }, (results: any, status: any) => {\r\n if (status === \"OK\") {\r\n if (results[0] && results[0].geometry) {\r\n const position: Models.Position = { lat: results[0].geometry.location.lat(), lng: results[0].geometry.location.lng() };\r\n this.currentPosition = position;\r\n this.getClosestResellers(position);\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n protected handleSelectedResellerChange(reseller: Models.Reseller, event: Event) {\r\n if (event.target instanceof HTMLInputElement) {\r\n event.target.checked ? this.selectedReseller = reseller : this.removeSelectedReseller();\r\n }\r\n }\r\n\r\n protected getGooglePosition(reseller: Models.Reseller): Models.Position {\r\n return { lat: reseller.latitude, lng: reseller.longitude };\r\n }\r\n\r\n protected formatDistance(distance: number) {\r\n if (distance) {\r\n return distance.toFixed(1);\r\n }\r\n }\r\n\r\n private getClosestResellers(position: Models.Position) {\r\n this.calcFlyingDistance(position);\r\n this.setFitBounds(position);\r\n }\r\n\r\n private calcFlyingDistance(position: Models.Position) {\r\n const tempResellers = [...this.resellers];\r\n\r\n tempResellers.forEach((reseller, index) => {\r\n if (reseller.latitude !== 0 && reseller.longitude !== 0) {\r\n // ALTERNATIVE NO GOOGLE CALCULATION\r\n reseller.distance = this.getDistanceFromLatLonInMeters(position.lat, position.lng, reseller.latitude, reseller.longitude);\r\n }\r\n });\r\n\r\n tempResellers.sort((a, b) => {\r\n return a.distance - b.distance;\r\n }).splice(this.numberOfResellersToDisplay, this.resellers.length - this.numberOfResellersToDisplay);\r\n if (this.parseToBool(window.site.settings.enableresellerdefaultcheck) && tempResellers.length > 0) {\r\n tempResellers[0].default = true;\r\n this.selectedReseller = tempResellers[0];\r\n }\r\n\r\n this.filteredResellers = tempResellers;\r\n }\r\n\r\n private getDistanceFromLatLonInMeters(lat1: number, lon1: number, lat2: number, lon2: number) {\r\n const R = 6371; // Radius of the earth in km\r\n const dLat = this.deg2rad(lat2 - lat1); // deg2rad below\r\n const dLon = this.deg2rad(lon2 - lon1);\r\n const a =\r\n Math.sin(dLat / 2) * Math.sin(dLat / 2) +\r\n Math.cos(this.deg2rad(lat1)) * Math.cos(this.deg2rad(lat2)) *\r\n Math.sin(dLon / 2) * Math.sin(dLon / 2)\r\n ;\r\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\r\n const d = R * c; // Distance in km\r\n return d;\r\n }\r\n\r\n private deg2rad(deg: number) {\r\n return deg * (Math.PI / 180);\r\n }\r\n\r\n private setFitBounds(position: Models.Position) {\r\n if (this.$refs.googleMap) {\r\n this.$refs.googleMap.$mapPromise.then((map: any) => {\r\n const bounds = new google.maps.LatLngBounds();\r\n if (this.filteredResellers.length > 0) {\r\n this.filteredResellers.forEach((reseller: Models.Reseller) => {\r\n bounds.extend(\r\n new google.maps.LatLng(\r\n reseller.latitude,\r\n reseller.longitude\r\n )\r\n );\r\n });\r\n if (position) {\r\n bounds.extend(\r\n new google.maps.LatLng(\r\n position.lat,\r\n position.lng\r\n )\r\n );\r\n }\r\n }\r\n\r\n window.innerWidth > 640 ? map.fitBounds(bounds, 100) : map.fitBounds(bounds);\r\n // Centers map correctly when overlay is used\r\n if (window.innerWidth > 640) {\r\n const center = map.getCenter(); // a latLng\r\n const offsetX = -0.205; // move center one quarter map width left\r\n const offsetY = 0.00; // move center one quarter map height down\r\n // NEED FIX - Init listen when map event bounds_changed\r\n if (map.getBounds()) {\r\n const span = map.getBounds().toSpan(); // a latLng - # of deg map spans\r\n const newCenter = {\r\n lat: center.lat() + span.lat() * offsetY,\r\n lng: center.lng() + span.lng() * offsetX\r\n };\r\n map.panTo(newCenter); // or map.setCenter(newCenter);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n private parseToBool(input: any) {\r\n if (input === \"True\") {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n get translations() {\r\n return store.translations;\r\n }\r\n\r\n get resellers() {\r\n return store.resellers;\r\n }\r\n\r\n get selectedReseller() {\r\n return store.selectedReseller;\r\n }\r\n\r\n\r\n set selectedReseller(reseller: Models.Reseller) {\r\n store.setSelectedReseller(reseller);\r\n }\r\n\r\n get mapOptions() {\r\n return Models.mapOptions;\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!./ResellerMap.ts?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!./ResellerMap.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResellerMap.vue?vue&type=template&id=486633da&\"\nimport script from \"./ResellerMap.ts?vue&type=script&lang=ts&\"\nexport * from \"./ResellerMap.ts?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('h2',{staticClass:\"product-list-module__title\"},[_vm._v(_vm._s(_vm.translations.cartHeading))]),_c('div',{staticClass:\"checkout-reseller__product-list product-list-module\"},[_c('div',{staticClass:\"product-list-module__products-container\"},[_vm._l((_vm.vm.products),function(product){return _c('div',{key:product.orderRowId,staticClass:\"product-list-module__item\",attrs:{\"value\":product}},[_c('div',{staticClass:\"product-list-module__item-container\"},[_c('img',{staticClass:\"product-list-module__image\",attrs:{\"src\":product.imageUrl}}),_c('div',{staticClass:\"product-list-module__item-info\"},[_c('div',{staticClass:\"product-list-module__item-title\"},[_vm._v(\"\\n \"+_vm._s(product.name)+\"\\n \")]),_c('div',{staticClass:\"product-list-module__item-articlenr\"},[_vm._v(\"\\n \"+_vm._s(product.articleNumber)+\"\\n \")])]),_c('input',{staticClass:\"product-list-module__item-quantity\",attrs:{\"type\":\"number\",\"disabled\":\"\"},domProps:{\"value\":product.quantity}})])])}),_vm._l((_vm.vm.bundles),function(bundle){return _c('div',{key:bundle.id,attrs:{\"value\":bundle}},[_c('h4',{staticClass:\"product-list-module__sub-title\",domProps:{\"textContent\":_vm._s(bundle.name)}}),_vm._l((bundle.products),function(product){return _c('div',{key:product.orderRowId,staticClass:\"product-list-module__item\",attrs:{\"value\":product}},[_c('div',{staticClass:\"product-list-module__item-container\"},[_c('img',{staticClass:\"product-list-module__image\",attrs:{\"src\":product.imageUrl}}),_c('div',{staticClass:\"product-list-module__item-info\"},[_c('div',{staticClass:\"product-list-module__item-title\"},[_vm._v(\"\\n \"+_vm._s(product.name)+\"\\n \")]),_c('div',{staticClass:\"product-list-module__item-articlenr\"},[_vm._v(\"\\n \"+_vm._s(product.articleNumber)+\"\\n \")])]),_c('input',{staticClass:\"product-list-module__item-quantity\",attrs:{\"type\":\"number\",\"disabled\":\"\"},domProps:{\"value\":product.quantity}})])])}),(bundle.virtualProducts.length)?_c('div',{staticClass:\"product-list-module__sub-list\"},[_c('h4',{staticClass:\"product-list-module__sub-list-title\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.virtualProductsHeading)+\"\\n \")]),_c('span',{staticClass:\"wall-section__toggle-virtual-products-button icon-button-text\",class:{ expanded: _vm.showVirtualProducts(bundle) },on:{\"click\":function($event){return _vm.toggleVirtualProducts(bundle)}}},[_vm._v(\"\\n \"+_vm._s(_vm.showVirtualProducts(bundle) ? \"Dölj\" : \"Visa\")+\"\\n \")]),(_vm.showVirtualProducts(bundle))?_c('div',_vm._l((bundle.virtualProducts),function(product){return _c('div',{key:product.orderRowId,staticClass:\"product-list-module__item\",attrs:{\"value\":product}},[_c('div',{staticClass:\"product-list-module__item-container\"},[_c('img',{staticClass:\"product-list-module__image\",attrs:{\"src\":product.imageUrl}}),_c('div',{staticClass:\"product-list-module__item-info\"},[_c('div',{staticClass:\"product-list-module__item-title\"},[_vm._v(\"\\n \"+_vm._s(product.name)+\"\\n \")]),_c('div',{staticClass:\"product-list-module__item-articlenr\"},[_vm._v(\"\\n \"+_vm._s(product.articleNumber)+\"\\n \")])]),_c('input',{staticClass:\"product-list-module__item-quantity\",attrs:{\"type\":\"number\",\"disabled\":\"\"},domProps:{\"value\":product.quantity}})])])}),0):_vm._e()]):_vm._e()],2)})],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue } from \"vue-property-decorator\";\r\nimport { resellerOrderCheckoutStore as store } from \"../store\";\r\nimport * as Models from \"../models\";\r\n\r\n@Component\r\nexport default class ResellerProductList extends Vue {\r\n protected bundleStates: Map = new Map();\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected created() {\r\n this.vm.bundles.forEach(p => this.bundleStates.set(p.id, false));\r\n }\r\n\r\n protected toggleVirtualProducts(bundle: Models.Bundle) {\r\n this.bundleStates.set(bundle.id, !this.showVirtualProducts(bundle));\r\n this.bundleStates = new Map(this.bundleStates);\r\n }\r\n\r\n protected showVirtualProducts(bundle: Models.Bundle) {\r\n return this.bundleStates.get(bundle.id) === true;\r\n }\r\n\r\n get vm() {\r\n return store.orderInfo;\r\n }\r\n\r\n get translations() {\r\n return store.translations;\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!./ResellerProductList.ts?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!./ResellerProductList.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResellerProductList.vue?vue&type=template&id=328606d5&\"\nimport script from \"./ResellerProductList.ts?vue&type=script&lang=ts&\"\nexport * from \"./ResellerProductList.ts?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","import { Component, Vue } from \"vue-property-decorator\";\r\nimport { resellerOrderCheckoutStore as store } from \"./store\";\r\nimport http from \"@/services/Http\";\r\nimport * as Models from \"./models\";\r\nimport { deliveriesStore } from \"@/store/DeliveriesModule\";\r\nimport { DeliveryModel} from \"../../models/deliveryModel\";\r\nimport { EventBus } from \"../../events\";\r\n\r\nimport PaymentWidget from \"./components/PaymentWidget\";\r\nimport ResellerMap from \"./components/ResellerMap\";\r\nimport ResellerProductList from \"./components/ResellerProductList\";\r\n\r\n@Component({\r\n components: {\r\n PaymentWidget,\r\n ResellerMap,\r\n ResellerProductList\r\n }\r\n})\r\nexport default class ResellerOrderCheckout extends Vue {\r\n protected vm: Models.ResellerOrderCheckoutModel = {} as Models.ResellerOrderCheckoutModel;\r\n protected created() {\r\n http.get(store.apiUrl + \"?postalRegion=\" + (deliveriesStore.deliveries as DeliveryModel).postalRegion)\r\n .then(model => {\r\n this.vm = model;\r\n this.$nextTick(() => {\r\n EventBus.$emit(\"initMapSearch\", (deliveriesStore.deliveries as DeliveryModel).postalRegion);\r\n });\r\n this.resellers = model.resellers;\r\n this.orderInfo = model.orderInfo;\r\n });\r\n }\r\n\r\n set resellers(resellers: Models.Reseller[]) {\r\n store.setResellers(resellers);\r\n }\r\n\r\n get resellers() {\r\n return store.resellers;\r\n }\r\n\r\n get orderInfo() {\r\n return store.orderInfo;\r\n }\r\n\r\n set orderInfo(products: Models.OrderInfo) {\r\n store.setOrderInfo(products);\r\n }\r\n\r\n get selectedReseller() {\r\n return store.selectedReseller;\r\n }\r\n\r\n get paymentWidget() {\r\n return store.paymentWidget;\r\n }\r\n\r\n get paymentError() {\r\n return store.paymentError;\r\n }\r\n\r\n get showPaymentWidget(): boolean {\r\n if (this.paymentWidget && !this.paymentError && this.selectedReseller.id) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n get showMap() {\r\n return this.resellers.length > 0;\r\n }\r\n\r\n get showOrderInfo(): boolean {\r\n if (this.orderInfo &&\r\n ((store.orderInfo.products && store.orderInfo.products.length) ||\r\n (store.orderInfo.bundles && store.orderInfo.products.length))) {\r\n return true;\r\n }\r\n return false;\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!./ResellerOrderCheckout.ts?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!./ResellerOrderCheckout.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResellerOrderCheckout.vue?vue&type=template&id=569ee892&\"\nimport script from \"./ResellerOrderCheckout.ts?vue&type=script&lang=ts&\"\nexport * from \"./ResellerOrderCheckout.ts?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","import { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport { DeliveryModel, DeliveryMethodModel, ChangeDeliveryMethod, CheckoutTranslationModel as TranslationModel} from \"../models/deliveryModel\";\r\nimport { KlarnaCheckoutApi, KlarnaCheckout, KlarnaCheckoutWidget } from \"@/models/KlarnaCheckout\";\r\nimport GoogleEnhancedEcommerce from \"../services/GoogleEnhancedEcommerce\";\r\nimport http from \"../services/Http\";\r\nimport HandlingFeeMessageCart from \"./HandlingFeeMessageCart\";\r\nimport { deliveriesStore } from \"@/store/DeliveriesModule\";\r\nimport { EventBus } from \"../events\";\r\nimport ResellerOrderCheckout from \"../modules/ResellerOrderCheckout/ResellerOrderCheckout\";\r\n\r\n@Component({\r\n components: {\r\n ResellerOrderCheckout\r\n }\r\n})\r\nexport default class DeliverySelector extends Vue {\r\n protected translations: TranslationModel;\r\n private postalCode: string = \"\";\r\n private deliveries: DeliveryModel[] = new Array();\r\n private selectedDelivery: any = null;\r\n private widget: any = null;\r\n private showDeliveries: boolean = false;\r\n private forceKlarnaRerender: boolean = false;\r\n private handlingFeeMessage: string = \"\";\r\n private handlingFeeMessageInCart: string = \"\";\r\n private showResellerCheckout: boolean = false;\r\n private isLoading: boolean = false;\r\n private disableDays: string = \"\";\r\n private saveonChange: any = false;\r\n private klarnaValidationFailed: boolean = false;\r\n\r\n private url: string = window.location.origin + window.location.pathname;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n protected created() {\r\n this.disableDays = this.$attrs.disabledays;\r\n this.saveonChange = this.$attrs.saveonchange;\r\n\r\n this.klarnaValidationFailed = window.location.href.indexOf(\"validateFailed\") > -1;\r\n if (this.$attrs.deliverypostalcode !== \"\" && this.klarnaValidationFailed) {\r\n this.postalCode = this.$attrs.deliverypostalcode;\r\n this.onClick(true);\r\n }\r\n }\r\n get deliveryMethodsAvailable(): boolean {\r\n return this.deliveries && this.deliveries.length > 0;\r\n }\r\n\r\n protected mounted() {\r\n EventBus.$on(\"refreshDeliverySelector\", (variantId: string) => {\r\n if (deliveriesStore.deliveries.postalCode !== undefined) {\r\n this.onClick();\r\n }\r\n });\r\n\r\n if (this.klarnaValidationFailed) {\r\n const element = document.getElementById(\"dvValidateFailed\");\r\n if (element) {\r\n window.scrollTo(0, element.offsetTop);\r\n }\r\n }\r\n }\r\n\r\n @Watch(\"selectedDelivery\")\r\n protected onSelectedDeliveryChange(value: string, oldValue: string) {\r\n this.changeDeliveryMethod(value);\r\n }\r\n\r\n protected changeDeliveryMethod(value: string) {\r\n if (window._klarnaCheckout) {\r\n window._klarnaCheckout((api: KlarnaCheckoutApi) => {\r\n api.suspend();\r\n });\r\n }\r\n\r\n this.isLoading = true;\r\n http.post(`${this.url}.ChangeDeliveryMethod?deliveryMethodId=${value}`)\r\n .then(response => response).then(data => {\r\n if (data.isResellerCheckout) {\r\n this.showResellerCheckout = true;\r\n } else {\r\n this.getKlarnaCheckout();\r\n }\r\n });\r\n this.isLoading = false;\r\n }\r\n\r\n protected getKlarnaCheckout() {\r\n http.get(`${this.url}.GetKlarnaCheckout`)\r\n .then(r => {\r\n if (window._klarnaCheckout && !this.forceKlarnaRerender) {\r\n window._klarnaCheckout((api: KlarnaCheckoutApi) => {\r\n api.resume();\r\n });\r\n } else {\r\n $(\"#klarna-widget\").append(r.widget);\r\n if (this.forceKlarnaRerender) {\r\n this.forceKlarnaRerender = false;\r\n }\r\n }\r\n\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n protected onClick(fromCreated: boolean = false): void {\r\n if (this.postalCode && this.postalCode.length > 0) {\r\n this.ReportPostalCodeToGoogleEnhancedEcommerce();\r\n this.isLoading = true;\r\n const previousNofDeliveryMethods = this.deliveries ? this.deliveries.length : 0;\r\n http.get(`${this.url}.GetDeliveryMethods?postalCode=${this.postalCode}`)\r\n .then(r => {\r\n this.showDeliveries = true;\r\n this.deliveries = r.deliveryMethods;\r\n if (fromCreated !== true) {\r\n this.klarnaValidationFailed = false;\r\n }\r\n\r\n if (this.deliveries.length === 1) {\r\n this.selectedDelivery = this.deliveries[0].id;\r\n this.handlingFeeMessage = this.deliveries[0].handlingFeeMessage;\r\n this.handlingFeeMessageInCart = this.deliveries[0].handlingFeeMessageInCart;\r\n deliveriesStore.dispatchDeliveries(this.deliveries[0]);\r\n deliveriesStore.dispatchTotalValueOfGoods(this.deliveries[0].totalValueOfGoods);\r\n this.forceKlarnaRerender = true;\r\n }\r\n\r\n if (this.deliveryMethodsAvailable && previousNofDeliveryMethods === 0) {\r\n this.forceKlarnaRerender = true;\r\n if (this.deliveries.length === 1) {\r\n this.changeDeliveryMethod(this.selectedDelivery);\r\n }\r\n }\r\n if (r.isResellerCheckout && this.deliveryMethodsAvailable) {\r\n this.showResellerCheckout = true;\r\n if (window.eventBus && this.deliveries.length > 0) {\r\n EventBus.$emit(\"initMapSearch\", this.deliveries[0].postalRegion);\r\n }\r\n } else {\r\n this.showResellerCheckout = false;\r\n this.getKlarnaCheckout();\r\n }\r\n this.isLoading = false;\r\n })\r\n .catch(err => console.error(err));\r\n }\r\n }\r\n private ReportPostalCodeToGoogleEnhancedEcommerce() {\r\n const gee = new GoogleEnhancedEcommerce();\r\n gee.PushPostalCodeToGoogle(this.postalCode);\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!./DeliverySelector.ts?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!./DeliverySelector.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DeliverySelector.vue?vue&type=template&id=7700161d&\"\nimport script from \"./DeliverySelector.ts?vue&type=script&lang=ts&\"\nexport * from \"./DeliverySelector.ts?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',{staticClass:\"product-page-star-icon\",on:{\"click\":_vm.onClick}},[_c('span',{class:_vm.className,attrs:{\"id\":\"favouriteIcon\",\"data-favourite\":_vm.variant.variantId,\"data-role\":_vm.dataRole,\"data-product-identifier\":\"\"}},[_c('i',{class:_vm.favouriteClassName}),_c('span',{staticClass:\"favourite-amount\",attrs:{\"data-favourite-amount\":_vm.variant.variantId}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport { Variant } from \"../models/product\";\r\n\r\n@Component\r\nexport default class FavouriteIcon extends Vue {\r\n\r\n get dataRole(): string {\r\n return (this.variant.isInFavouriteList ? \"favouritebuttonactive\" : \"favouritebutton\");\r\n }\r\n\r\n get className(): string {\r\n return (this.variant.isInFavouriteList ? \"favourite-icon favourite-active\" : \"favourite-icon favourite-inactive\");\r\n }\r\n\r\n get favouriteClassName(): string {\r\n return \"far fa-star\" + (this.variant.isInFavouriteList ? \" favourite-active\" : \" favourite-inactive\");\r\n }\r\n\r\n get variant(): Variant {\r\n return productStore.variant;\r\n }\r\n\r\n private onClick() {\r\n const isFavorite = this.variant.isInFavouriteList;\r\n this.variant.isInFavouriteList = !isFavorite;\r\n productStore.dispatchVariant(this.variant);\r\n\r\n if (isFavorite) {\r\n window.Accelerator.libs.favourite.removeArticle(null, null, this.variant.variantId);\r\n } else {\r\n window.Accelerator.libs.favourite.addArticle(this.variant.variantId);\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!./FavouriteIcon.ts?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!./FavouriteIcon.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FavouriteIcon.vue?vue&type=template&id=66f1ac4a&\"\nimport script from \"./FavouriteIcon.ts?vue&type=script&lang=ts&\"\nexport * from \"./FavouriteIcon.ts?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',[_c('label',[_vm._v(_vm._s(_vm.primaryFilterName))]),(_vm.isImageFilter(_vm.filters[0].filterType))?_c('div',[_c('image-variant-filter',{attrs:{\"filterValues\":_vm.filters[0].filterValues,\"selectedFilterValue\":_vm.primaryFilterValue},on:{\"update:selectedFilterValue\":function($event){_vm.primaryFilterValue=$event},\"update:selected-filter-value\":function($event){_vm.primaryFilterValue=$event}}})],1):_c('div',[_c('div',{staticClass:\"primary-filter\"},_vm._l((_vm.primaryFilterValues),function(item){return _c('div',{key:item.value,staticClass:\"primary-filter-item\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.primaryFilterValue),expression:\"primaryFilterValue\"}],staticClass:\"primary-filter-input\",attrs:{\"type\":\"radio\",\"id\":'primary-filter-' + item.value},domProps:{\"value\":item.value,\"checked\":_vm._q(_vm.primaryFilterValue,item.value)},on:{\"change\":function($event){_vm.primaryFilterValue=item.value}}}),_c('label',{staticClass:\"primary-filter-input-label\",attrs:{\"for\":'primary-filter-' + item.value}},[_vm._v(_vm._s(item.value)+\" \"+_vm._s(_vm.primaryFilterValueUnit))])])}),0)])]),_c('div',[_c('label',[_vm._v(_vm._s(_vm.secondaryFilterName))]),(_vm.isImageFilter(_vm.filters[1].filterType))?_c('div',[_c('image-variant-filter',{attrs:{\"filterValues\":_vm.secondaryFilterValues,\"selectedFilterValue\":_vm.secondaryFilterValue},on:{\"update:selectedFilterValue\":function($event){_vm.secondaryFilterValue=$event},\"update:selected-filter-value\":function($event){_vm.secondaryFilterValue=$event}}})],1):_c('div',[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedVariantId),expression:\"selectedVariantId\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedVariantId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.onSecondaryFilterChange]}},_vm._l((_vm.secondaryFilterValues),function(item){return _c('option',{key:item.variantId,domProps:{\"value\":item.variantId}},[_vm._v(_vm._s(item.value)+\" \"+_vm._s(_vm.secondaryFilterValueUnit))])}),0)])]),(_vm.variantsWithFilterValue.length > 0)?_c('div',[_c('unique-variant-filter',{attrs:{\"variants\":_vm.variantsWithFilterValue}})],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport { Variant, VariantFilterOptionsModel, VariantFilterValue, FilterType } from \"../models/product\";\r\nimport UniqueVariantFilter from \"./UniqueVariantFilter\";\r\nimport ImageVariantFilter from \"./ImageVariantFilter\";\r\n\r\n@Component({\r\n components: {\r\n UniqueVariantFilter,\r\n ImageVariantFilter\r\n }\r\n})\r\nexport default class DoubleVariantFilter extends Vue {\r\n protected primaryFilterId: string = \"\";\r\n protected primaryFilterName: string = \"\";\r\n protected primaryFilterValues: VariantFilterValue[] = [];\r\n protected primaryFilterValueUnit: string = \"\";\r\n protected primaryFilterValue: string = \"\";\r\n protected secondaryFilterId: string = \"\";\r\n protected secondaryFilterName: string = \"\";\r\n protected secondaryFilterValues: VariantFilterValue[] = [];\r\n protected secondaryFilterValueUnit: string = \"\";\r\n protected secondaryFilterValue: string = \"\";\r\n\r\n protected thisSelectedFilterValue: string = \"\";\r\n protected variantsWithFilterValue: Variant[] = [];\r\n\r\n\r\n @Prop()\r\n protected filters!: VariantFilterOptionsModel[];\r\n protected filter!: VariantFilterOptionsModel;\r\n\r\n protected mounted() {\r\n const primaryFilter = this.filters[0];\r\n const secondaryFilter = this.filters[1];\r\n this.primaryFilterId = primaryFilter.filterId;\r\n this.primaryFilterName = primaryFilter.filterName;\r\n this.primaryFilterValues = primaryFilter.filterValues;\r\n this.primaryFilterValueUnit = primaryFilter.filterValueUnit;\r\n this.secondaryFilterId = secondaryFilter.filterId;\r\n this.secondaryFilterName = secondaryFilter.filterName;\r\n this.secondaryFilterValueUnit = secondaryFilter.filterValueUnit;\r\n this.setInitialSelectedFilterValues();\r\n\r\n this.showVaraintsIfNeeded();\r\n }\r\n @Watch(\"selectedVariantId\")\r\n protected onSelectedVariantIdChange() {\r\n const selectedFilterValue = this.primaryFilterValues.find(x => x.variantId === this.selectedVariantId);\r\n if (selectedFilterValue) {\r\n this.primaryFilterValue = selectedFilterValue.value;\r\n this.onPrimaryFilterChange();\r\n }\r\n }\r\n\r\n @Watch(\"primaryFilterValue\")\r\n protected onPrimaryFilterChange() {\r\n this.setPrimaryFilter(this.primaryFilterValue);\r\n\r\n if (this.secondaryFilterValues && this.secondaryFilterValues.length) {\r\n this.selectedVariantId = this.secondaryFilterValues[0].variantId;\r\n }\r\n this.showVaraintsIfNeeded();\r\n }\r\n\r\n @Watch(\"secondaryFilterValue\")\r\n protected onSecondayFilterValueChange() {\r\n const selectedFilterValue = this.secondaryFilterValues.find(x => x.value === this.secondaryFilterValue);\r\n if (selectedFilterValue) {\r\n this.selectedVariantId = selectedFilterValue.variantId;\r\n }\r\n this.onSecondaryFilterChange();\r\n }\r\n\r\n protected onSecondaryFilterChange() {\r\n this.showVaraintsIfNeeded();\r\n }\r\n\r\n protected isImageFilter(filterType: number) {\r\n return filterType === FilterType.Image;\r\n }\r\n\r\n private showVaraintsIfNeeded() {\r\n const curFilterValue = this.getAttributeValue(this.selectedVariant, this.secondaryFilterId);\r\n\r\n let filteredVariants = this.variants.filter(v => this.hasAttribute(v, this.secondaryFilterId, curFilterValue));\r\n\r\n const curPrimaryFilterValue = this.getAttributeValue(this.selectedVariant, this.primaryFilterId);\r\n filteredVariants = filteredVariants.filter(v => this.hasAttribute(v, this.primaryFilterId, curPrimaryFilterValue));\r\n\r\n if (filteredVariants.length === 1) {\r\n this.variantsWithFilterValue = []; // to hide variant selector dropdown\r\n productStore.dispatchVariant(filteredVariants[0]);\r\n } else {\r\n this.variantsWithFilterValue = filteredVariants;\r\n }\r\n }\r\n\r\n private setInitialSelectedFilterValues() {\r\n this.primaryFilterValue = this.getAttributeValue(this.selectedVariant, this.primaryFilterId);\r\n this.setPrimaryFilter(this.primaryFilterValue);\r\n this.selectedVariantId = this.selectedVariant.variantId;\r\n }\r\n\r\n private get selectedVariant() {\r\n return productStore.variant;\r\n }\r\n\r\n get variants(): Variant[] {\r\n return productStore.variants;\r\n }\r\n\r\n get selectedFilterValue(): string {\r\n return this.thisSelectedFilterValue;\r\n }\r\n\r\n get selectedVariantId(): string {\r\n return productStore.variant.variantId;\r\n }\r\n\r\n set selectedVariantId(value: string) {\r\n const variant = this.variants.find(x => x.variantId.toString() === value.toString());\r\n\r\n if (variant) {\r\n productStore.dispatchVariant(variant);\r\n }\r\n }\r\n\r\n private setPrimaryFilter(filterValue: string) {\r\n const variants = this.variants.filter(v => this.hasAttribute(v, this.primaryFilterId, filterValue));\r\n const secondaryFilterValues: VariantFilterValue[] = variants.map(x => {\r\n return {\r\n variantId: x.variantId,\r\n value: this.getAttributeValue(x, this.secondaryFilterId),\r\n imageResourceUrl: this.getImageResourceUrl(x.variantId)\r\n };\r\n }\r\n );\r\n\r\n // Make List Distinct\r\n const distinctSecondaryFilterValues = [];\r\n const tempList = [];\r\n for (const item of secondaryFilterValues) {\r\n if (tempList.indexOf(item.value) === -1) {\r\n tempList.push(item.value);\r\n distinctSecondaryFilterValues.push(item);\r\n }\r\n }\r\n\r\n this.secondaryFilterValues = distinctSecondaryFilterValues;\r\n }\r\n\r\n private hasAttribute(variant: Variant, id: string, value: string): boolean {\r\n for (const attribute of variant.variantAttributes) {\r\n if (attribute.attributeId === id) {\r\n if (attribute.attributeValue === value) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private getAttributeValue(variant: Variant, filterId: string): string {\r\n for (const attribute of variant.variantAttributes) {\r\n if (attribute.attributeId === filterId) {\r\n return attribute.attributeValue;\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n private getImageResourceUrl(variantId: string) {\r\n const filterValue = this.filters[1].filterValues.find(x => x.variantId === variantId);\r\n return filterValue ? filterValue.imageResourceUrl : \"\";\r\n }\r\n}\r\n","import { Translation, TranslationCollection } from \"./translation\";\r\n\r\nexport interface DocumentArchiveModel {\r\n searchResult: Document[];\r\n mainDocumentFilter: DocumentFilter;\r\n documentFilters: DocumentFilter[];\r\n}\r\n\r\nexport interface DocumentFilter {\r\n id: string;\r\n title: string;\r\n documentFilterOptions: DocumentFilterOption[];\r\n}\r\n\r\nexport interface DocumentFilterOption {\r\n filterType: number;\r\n id: string;\r\n name: string;\r\n count: number;\r\n}\r\n\r\nexport interface Document {\r\n id: string;\r\n name: string;\r\n url: string;\r\n downloadUrl: string;\r\n iconUrl: string;\r\n}\r\n\r\nexport interface DocumentSearchModel {\r\n mainFilterOption: DocumentFilterOption;\r\n selectedFilterOptions: DocumentFilterOption[];\r\n}\r\n\r\nexport interface DocumentArchiveTranslations extends TranslationCollection {\r\n pageTitleHeading: string;\r\n pageTitleText: string;\r\n downloadButtonText: string;\r\n mainFilterSelectorPlaceHolder: string;\r\n}\r\n\r\nexport enum DocumentFilterType {\r\n DocumentType = 0,\r\n Group = 1,\r\n Category = 2\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!./DoubleVariantFilter.ts?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!./DoubleVariantFilter.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DoubleVariantFilter.vue?vue&type=template&id=25c4ace9&\"\nimport script from \"./DoubleVariantFilter.ts?vue&type=script&lang=ts&\"\nexport * from \"./DoubleVariantFilter.ts?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',{staticClass:\"archive__container vld-parent\"},[_c('div',{staticClass:\"hide-for-medium-up\"},[_c('loading',{attrs:{\"active\":_vm.isLoading,\"is-full-page\":true,\"color\":'#0075bf',\"loader\":'bars'}})],1),_c('div',{staticClass:\"row hide-for-medium-up\"},[_c('div',{staticClass:\"columns\"},[_c('h1',[_vm._v(_vm._s(_vm.translations.pageTitleHeading))]),_c('div',{staticClass:\"archive__ingress\",domProps:{\"innerHTML\":_vm._s(_vm.translations.pageTitleText)}})])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"medium-3 large-3 columns leftColumnContent vld-parent\"},[_c('div',{staticClass:\"show-for-medium-up\"},[_c('loading',{attrs:{\"active\":_vm.isLoading,\"is-full-page\":false,\"loader\":'bars'}},[_vm._v(\" \")])],1),(_vm.model.mainDocumentFilter)?_c('div',{staticClass:\"archive__filter-item\"},[_c('h3',{staticClass:\"archive__filter-title\"},[_vm._v(_vm._s(_vm.model.mainDocumentFilter.title))]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mainFilterOption),expression:\"mainFilterOption\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.mainFilterOption=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.onMainFilterChange]}},[_c('option',{attrs:{\"disabled\":\"\"},domProps:{\"value\":_vm.mainFilterPlaceHolder}},[_vm._v(_vm._s(_vm.mainFilterPlaceHolder.name))]),_vm._l((_vm.model.mainDocumentFilter.documentFilterOptions),function(filterOption){return _c('option',{key:filterOption.id,domProps:{\"value\":filterOption}},[_vm._v(\"\\n \"+_vm._s(filterOption.name)+\" (\"+_vm._s(filterOption.count)+\")\\n \")])})],2)]):_vm._e(),_vm._l((_vm.model.documentFilters),function(filter){return _c('div',{key:filter.id,staticClass:\"archive__filter-item\"},[(filter.documentFilterOptions.length)?_c('div',[_c('h3',{staticClass:\"archive__filter-title\"},[_vm._v(_vm._s(filter.title))]),_c('ul',_vm._l((filter.documentFilterOptions),function(filterOption){return _c('li',{key:filterOption.filterType + filterOption.id,staticClass:\"custom-checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedFilters),expression:\"selectedFilters\"}],attrs:{\"type\":\"checkbox\",\"id\":'product-filter_' + filterOption.filterType + filterOption.id},domProps:{\"value\":filterOption,\"checked\":Array.isArray(_vm.selectedFilters)?_vm._i(_vm.selectedFilters,filterOption)>-1:(_vm.selectedFilters)},on:{\"change\":[function($event){var $$a=_vm.selectedFilters,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=filterOption,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.selectedFilters=$$a.concat([$$v]))}else{$$i>-1&&(_vm.selectedFilters=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.selectedFilters=$$c}},function($event){return _vm.onFilterOptionChange(filterOption)}]}}),_c('label',{attrs:{\"for\":'product-filter_' + filterOption.filterType + filterOption.id}},[_c('span',[_vm._v(_vm._s(filterOption.name)+\" (\"+_vm._s(filterOption.count)+\")\")])])])}),0)]):_vm._e()])})],2),_c('div',{staticClass:\"small-12 medium-9 large-9 columns rightColumnContent vld-parent\"},[_c('div',{staticClass:\"show-for-medium-up\"},[_c('loading',{attrs:{\"active\":_vm.isLoading,\"is-full-page\":false,\"color\":'#0075bf',\"loader\":'bars'}})],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns\"},[_c('div',{staticClass:\"hide-for-small-only\"},[_c('h1',[_vm._v(_vm._s(_vm.translations.pageTitleHeading))]),_c('div',{staticClass:\"archive__ingress\",domProps:{\"innerHTML\":_vm._s(_vm.translations.pageTitleText)}})]),(_vm.downloadSectionHeading)?_c('h2',{staticClass:\"archive__title\"},[_vm._v(_vm._s(_vm.downloadSectionHeading))]):_vm._e(),(_vm.model)?_c('div',{staticClass:\"archive__item-container\"},_vm._l((_vm.model.searchResult),function(item){return _c('div',{key:item.id,staticClass:\"archive__item\"},[_c('div',{staticClass:\"archive__item-content\"},[_c('a',{attrs:{\"href\":item.url,\"target\":\"_blank\"}},[_c('i',{staticClass:\"archive__icon\",class:item.fileType,attrs:{\"alt\":\"\"}}),_c('span',[_vm._v(_vm._s(item.name))])])]),_c('div',{staticClass:\"archive__save\"},[_c('a',{attrs:{\"href\":item.downloadUrl,\"download\":\"\"}},[_vm._v(_vm._s(_vm.translations.downloadButtonText))])])])}),0):_vm._e()])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue } from \"vue-property-decorator\";\r\nimport \"vue-loading-overlay/dist/vue-loading.css\";\r\nimport { DocumentArchiveTranslations as TranslationModel} from \"../models/documentArchive\";\r\nimport * as ArchiveModels from \"../models/documentArchive\";\r\nimport http from \"../services/Http\";\r\nconst Loading = require(\"vue-loading-overlay\");\r\n\r\n@Component({ components: {\r\n Loading\r\n}})\r\nexport default class DocumentArchive extends Vue {\r\n\r\n protected translations: TranslationModel;\r\n protected model: ArchiveModels.DocumentArchiveModel = {} as ArchiveModels.DocumentArchiveModel;\r\n protected mainFilterOption: ArchiveModels.DocumentFilterOption = {} as ArchiveModels.DocumentFilterOption;\r\n protected selectedFilters: ArchiveModels.DocumentFilterOption[] = [];\r\n protected mainFilterPlaceHolder: ArchiveModels.DocumentFilterOption = {} as ArchiveModels.DocumentFilterOption;\r\n protected isLoading: boolean = false;\r\n private readonly apiUrl: string = \"/api/documentarchive\";\r\n private readonly url: string = \"\";\r\n private readonly urlParameterByFilterType: Map = new Map([\r\n [ ArchiveModels.DocumentFilterType.Group, \"group\" ],\r\n [ ArchiveModels.DocumentFilterType.Category, \"category\" ],\r\n [ ArchiveModels.DocumentFilterType.DocumentType, \"type\" ]\r\n ]);\r\n\r\n constructor() {\r\n super();\r\n this.polyfill();\r\n this.url = document.location.href;\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected created() {\r\n this.initialize();\r\n }\r\n\r\n protected get downloadSectionHeading(): string | undefined {\r\n if (this.mainFilterOption.id) {\r\n return this.mainFilterOption.name;\r\n }\r\n }\r\n\r\n protected onMainFilterChange() {\r\n this.selectedFilters = [];\r\n this.search().then(this.updateUrl);\r\n }\r\n\r\n protected onFilterOptionChange(option: ArchiveModels.DocumentFilterOption) {\r\n\r\n if (option.filterType === ArchiveModels.DocumentFilterType.Group) {\r\n if (!this.selectedFilters.includes(option)) {\r\n // The group filter option was removed => clear all category filters\r\n this.selectedFilters = this.selectedFilters.filter(x => x.filterType === ArchiveModels.DocumentFilterType.Group);\r\n }\r\n }\r\n\r\n this.search().then(this.updateUrl);\r\n }\r\n\r\n private polyfill() {\r\n this.flatMap = typeof Array.prototype.flatMap === \"function\" ? this.flatMapNative : this.flatMapPolyfill;\r\n }\r\n\r\n private initialize() {\r\n let responsePromise: Promise;\r\n const urlRequest = this.getSearchModelFromUrl();\r\n\r\n if (urlRequest) {\r\n responsePromise = this.search(urlRequest)\r\n .then(response => {\r\n const mainFilterOption = response.mainDocumentFilter.documentFilterOptions.find(x => x.id === urlRequest.mainFilterOption.id);\r\n\r\n if (!mainFilterOption) {\r\n throw new Error(`Filter option '${urlRequest.mainFilterOption.id}' does not exist!`);\r\n }\r\n\r\n this.mainFilterPlaceHolder.name = this.getMainFilterPlaceHolderName(response.mainDocumentFilter);\r\n this.mainFilterOption = mainFilterOption;\r\n const selectedFilters = urlRequest.selectedFilterOptions.map(x => x.id);\r\n this.selectedFilters = this.flatMap(response.documentFilters, x => x.documentFilterOptions)\r\n .filter(y => selectedFilters.includes(y.id));\r\n return response;\r\n });\r\n } else {\r\n responsePromise = http.get(this.apiUrl)\r\n .then(response => {\r\n this.updateModel(response);\r\n this.mainFilterPlaceHolder.name = this.getMainFilterPlaceHolderName(response.mainDocumentFilter);\r\n this.mainFilterOption = this.mainFilterPlaceHolder;\r\n return response;\r\n });\r\n }\r\n\r\n responsePromise.catch(error => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n private getMainFilterPlaceHolderName(mainDocumentFilter: ArchiveModels.DocumentFilter): string {\r\n return this.translations.mainFilterSelectorPlaceHolder + \" \" + mainDocumentFilter.title;\r\n }\r\n\r\n private getSearchModelFromUrl(): ArchiveModels.DocumentSearchModel | null {\r\n const url = new URL(this.url);\r\n const documentType = url.searchParams.get(this.urlParameterByFilterType.get(ArchiveModels.DocumentFilterType.DocumentType) as string);\r\n\r\n if (!documentType) {\r\n return null;\r\n }\r\n\r\n const categoryList = url.searchParams.getAll(this.urlParameterByFilterType.get(ArchiveModels.DocumentFilterType.Category) as string);\r\n const categories = this.flatMap(categoryList, x => x.split(\",\"));\r\n const groupList = url.searchParams.getAll(this.urlParameterByFilterType.get(ArchiveModels.DocumentFilterType.Group) as string);\r\n const groups = this.flatMap(groupList, x => x.split(\",\"));\r\n const filters = categories.map(x => ({ id: x, filterType: ArchiveModels.DocumentFilterType.Category }))\r\n .concat(groups.map(x => ({ id: x, filterType: ArchiveModels.DocumentFilterType.Group })));\r\n\r\n return {\r\n mainFilterOption: {\r\n filterType: ArchiveModels.DocumentFilterType.DocumentType,\r\n id: documentType,\r\n },\r\n selectedFilterOptions: filters\r\n } as ArchiveModels.DocumentSearchModel;\r\n }\r\n\r\n /**\r\n * Performs a request to the api.\r\n */\r\n private search(request?: ArchiveModels.DocumentSearchModel): Promise {\r\n this.model.searchResult = [];\r\n this.isLoading = true;\r\n\r\n if (request === undefined) {\r\n request = {\r\n mainFilterOption: this.mainFilterOption,\r\n selectedFilterOptions: this.selectedFilters\r\n };\r\n }\r\n\r\n const promise = http.post(this.apiUrl, request)\r\n .then(data => {\r\n this.updateModel(data);\r\n return data;\r\n })\r\n .finally(() => {\r\n this.isLoading = false;\r\n });\r\n\r\n return promise;\r\n }\r\n\r\n private updateModel(data: ArchiveModels.DocumentArchiveModel) {\r\n this.model = data;\r\n }\r\n\r\n /**\r\n * Updates the URL in the browser address field to match the current search filter.\r\n */\r\n private updateUrl(): void {\r\n const url = new URL(this.url);\r\n\r\n if (this.mainFilterOption) {\r\n this.urlParameterByFilterType.forEach(x => url.searchParams.delete(x));\r\n url.searchParams.set(this.urlParameterByFilterType.get(ArchiveModels.DocumentFilterType.DocumentType) as string, this.mainFilterOption.id);\r\n this.selectedFilters\r\n .filter(filter => filter.filterType !== ArchiveModels.DocumentFilterType.DocumentType)\r\n .forEach(filter => {\r\n url.searchParams.append(this.urlParameterByFilterType.get(filter.filterType) as string, filter.id);\r\n });\r\n }\r\n\r\n window.history.replaceState(null, \"\", url.toString());\r\n }\r\n\r\n private flatMap(arr: T[], mapCallback: (arg: T) => K[]): K[] {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n /**\r\n * Wrapper around Array.prototype.flatMap.\r\n * @param arr\r\n * @param mapCallback\r\n */\r\n private flatMapNative(arr: T[], mapCallback: (arg: T) => K[]): K[] {\r\n return arr.flatMap(mapCallback);\r\n }\r\n\r\n /**\r\n * Polyfill for Array.prototype.flatMap. Executes Array.prototype.flatMap if it exists.\r\n * Returns a new array formed by applying a given callback function to each element of the array,\r\n * and then flattening the result by one level.\r\n * @param arr\r\n * @param mapCallback\r\n */\r\n private flatMapPolyfill(arr: T[], mapCallback: (arg: T) => K[]): K[] {\r\n const map = arr.map(mapCallback);\r\n const flat = map.reduce((acc, val) => acc.concat(val), []);\r\n\r\n return flat;\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!./DocumentArchive.ts?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!./DocumentArchive.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DocumentArchive.vue?vue&type=template&id=385f1a0d&\"\nimport script from \"./DocumentArchive.ts?vue&type=script&lang=ts&\"\nexport * from \"./DocumentArchive.ts?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 (_vm.relatedProducts.length > 0)?_c('div',[_c('div',{staticClass:\"small-12 columns product-list seperator\"},[_c('h2',[_vm._v(_vm._s(_vm.translations.relatedProductsHeader))]),_c('div',{staticClass:\"small-block-grid-1 medium-block-grid-5 product-list related-product-list\"},_vm._l((_vm.relatedProducts),function(relatedProduct,index){return _c('div',{key:relatedProduct.id+index,staticClass:\"product-item related-product-item\"},[_c('div',{staticClass:\"product-image\"},[_c('a',{attrs:{\"href\":relatedProduct.url,\"itemprop\":\"url\"}},[_c('img',{attrs:{\"src\":relatedProduct.image,\"alt\":relatedProduct.name,\"itemprop\":\"image\"}})])]),(relatedProduct.showFavouriteIcon)?_c('div',{staticClass:\"product-page-star-icon\"},[_c('span',{staticClass:\"favourite-icon\",attrs:{\"data-favourite\":relatedProduct.id,\"data-product-identifier\":\"\"}},[_c('i',{staticClass:\"far fa-star\"}),_c('span',{staticClass:\"favourite-amount\"})])]):_vm._e(),(relatedProduct.hasCampaignToDisplay)?_c('div',{staticClass:\"product-list-campaign\"},[_c('div',{staticClass:\"campaign-splash\"},[(relatedProduct.campaignDisplay.image)?_c('img',{staticClass:\"campaign-splash__image\",attrs:{\"src\":relatedProduct.campaignDisplay.image}}):_vm._e(),(relatedProduct.campaignDisplay.text)?_c('div',{staticClass:\"campaign-splash__text\"},[_vm._v(\"\\n \"+_vm._s(relatedProduct.campaignDisplay.text)+\"\\n \")]):_vm._e()])]):_vm._e(),_c('div',{staticClass:\"product-info\"},[_c('div',[_c('a',{staticClass:\"wrap-product-name\",attrs:{\"href\":relatedProduct.url,\"itemprop\":\"url\"}},[_c('hgroup',[_c('h3',[_vm._v(_vm._s(relatedProduct.name))]),(relatedProduct.brand)?_c('h4',{attrs:{\"itemprop\":\"brand\"}},[_vm._v(_vm._s(relatedProduct.brand))]):_vm._e()]),(relatedProduct.hasCampaignToDisplay)?_c('div',{staticClass:\"list-view-campaign\"},[(relatedProduct.campaignDisplay.image)?_c('img',{staticClass:\"campaign-splash__image\",attrs:{\"src\":relatedProduct.campaignDisplay.image}}):_vm._e(),(relatedProduct.campaignDisplay.text)?_c('div',{staticClass:\"campaign-splash__text\"},[_vm._v(\"\\n \"+_vm._s(relatedProduct.campaignDisplay.text)+\"\\n \")]):_vm._e()]):_vm._e()])]),(relatedProduct.isProductSelectorPageType)?_c('div',[_c('div',{staticClass:\"product-description-short\"},[_c('a',{attrs:{\"href\":relatedProduct.url,\"itemprop\":\"url\"}},[_vm._v(_vm._s(relatedProduct.descriptionShort))])])]):_vm._e(),(relatedProduct.showPrice)?_c('div',{staticClass:\"product-list-price-tag\"},[(relatedProduct.minimalVariantPrice > 0)?_c('div',[(!relatedProduct.isVariant)?_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.translations.fromPrice)+\"\\n \")]):_vm._e(),(relatedProduct.hasCampaignPrice)?_c('span',{staticClass:\"price-campaign\"},[_vm._v(_vm._s(relatedProduct.campaignPrice))]):_vm._e(),(relatedProduct.hasCampaignPrice)?_c('span',{staticClass:\"price-campaign-old-price\"},[_vm._v(_vm._s(relatedProduct.price))]):_c('span',[_vm._v(_vm._s(relatedProduct.price))])]):_vm._e(),_c('div',[(!relatedProduct.isVariant)?_c('p',[_vm._v(_vm._s(_vm.translations.productAvailableInVariants))]):_vm._e()])]):_vm._e(),(relatedProduct.showBuyButton)?_c('div',{staticClass:\"row\"},[(relatedProduct.showQuantityField && relatedProduct.isVariant)?_c('div',{staticClass:\"small-12 columns buy-quantity\"},[_c('div',{staticClass:\"row-inner\"},[_c('div',{staticClass:\"small-6 medium-8 large-8 columns\"},[_c('div',{staticClass:\"label-input js-label-input\"},[(relatedProduct.productMaterialConsumption)?_c('div',[_c('input',{attrs:{\"id\":relatedProduct.quantityFieldId,\"type\":\"number\",\"data-buy-quantity-input\":\"\",\"min\":\"0\",\"max\":\"999\",\"maxlength\":\"3\",\"data-consumption\":relatedProduct.productMaterialConsumption,\"data-weight\":relatedProduct.itemPrimaryPackagingWeight},domProps:{\"value\":relatedProduct.quantity}}),(relatedProduct.showPackagingAmount && relatedProduct.unitOptions != null)?_c('div',{staticClass:\"product-list-unit-chooser\",attrs:{\"data-item-number\":relatedProduct.Id,\"data-variant-system-id\":relatedProduct.systemId}},[_c('select',{staticClass:\"js-product-unit-dropdown-chooser product-list-unit-dropdown-chooser\",attrs:{\"id\":\"selectProductListUnit\"}},_vm._l((relatedProduct.unitOptions),function(unit){return _c('option',{key:unit.packagingName,attrs:{\"data-packaging-quantity\":unit.packagingQuantity},domProps:{\"value\":unit.packagingName}},[_vm._v(_vm._s(unit.packagingUnit))])}),0)]):_vm._e()]):_c('div',[_c('input',{attrs:{\"id\":relatedProduct.quantityFieldId,\"type\":\"number\",\"data-buy-quantity-input\":\"\",\"min\":\"0\",\"max\":\"999\",\"maxlength\":\"3\"},domProps:{\"value\":relatedProduct.quantity}}),(relatedProduct.showPackagingAmount && relatedProduct.unitOptions != null)?_c('div',{staticClass:\"product-list-unit-chooser\",attrs:{\"data-item-number\":relatedProduct.id,\"data-variant-system-id\":relatedProduct.systemId}},[_c('select',{staticClass:\"js-product-unit-dropdown-chooser product-list-unit-dropdown-chooser\",attrs:{\"id\":\"selectProductListUnit\"}},_vm._l((relatedProduct.unitOptions),function(unit){return _c('option',{key:unit.packagingName,attrs:{\"data-packaging-quantity\":unit.packagingQuantity},domProps:{\"value\":unit.packagingName}},[_vm._v(_vm._s(unit.packagingUnit)+\"\\n \")])}),0)]):_vm._e()])])]),_c('div',{staticClass:\"small-3 medium-2 large-2 columns clearpadding-left\"},[_c('input',{staticClass:\"plusMinusBtn button\",attrs:{\"data-plusminus\":\"plus\",\"value\":\"+\",\"type\":\"button\"},on:{\"click\":function($event){relatedProduct.quantity = relatedProduct.quantity + \n (relatedProduct.itemSecondaryPackagingContent > 0 ? relatedProduct.itemSecondaryPackagingContent : 1)}}})]),_c('div',{staticClass:\"small-3 medium-2 large-2 columns clearpadding-left\"},[_c('input',{staticClass:\"plusMinusBtn button\",attrs:{\"data-plusminus\":\"minus\",\"value\":\"-\",\"type\":\"button\"},on:{\"click\":function($event){relatedProduct.quantity = \n (relatedProduct.quantity - (relatedProduct.itemSecondaryPackagingContent > 0 ? relatedProduct.itemSecondaryPackagingContent : 1)) < 1 ? \n (relatedProduct.itemSecondaryPackagingContent > 0 ? relatedProduct.itemSecondaryPackagingContent : 1) : \n relatedProduct.quantity - (relatedProduct.itemSecondaryPackagingContent > 0 ? relatedProduct.itemSecondaryPackagingContent : 1)}}})])])]):_vm._e()]):_vm._e(),(relatedProduct.showBuyButton)?_c('div',{staticClass:\"product-page-buy-wrapper\"},[(!relatedProduct.isVariant)?_c('a',{class:relatedProduct.buyButtonClass,attrs:{\"href\":relatedProduct.url}},[_vm._v(_vm._s(relatedProduct.buyButtonTitle))]):_c('a',{ref:\"buyButton\",refInFor:true,class:relatedProduct.buyButtonClass,attrs:{\"id\":relatedProduct.id,\"data-role\":\"buybutton\",\"data-notification-id\":\"added-to-cart\",\"data-cart\":relatedProduct.dataCartTag},on:{\"click\":function($event){return _vm.addToCart(relatedProduct)}}},[_vm._v(_vm._s(relatedProduct.buyButtonTitle))])]):_vm._e()])])}),0)])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport { Variant, TranslationModel, RelatedProductModel } from \"../models/product\";\r\nimport cart from \"../services/Cart\";\r\nimport GoogleEnhancedEcommerce from \"../services/GoogleEnhancedEcommerce\";\r\n\r\n@Component\r\nexport default class RelatedProductList extends Vue {\r\n private readonly googleAnalyticsDimensionIdentifier: string;\r\n private translations: TranslationModel;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n this.googleAnalyticsDimensionIdentifier = \"ProductPage\";\r\n }\r\n\r\n get variant(): Variant {\r\n return productStore.variant;\r\n }\r\n\r\n get relatedProducts(): RelatedProductModel[] {\r\n return this.variant.relatedProducts;\r\n }\r\n\r\n get quantity(): number {\r\n return productStore.quantity;\r\n }\r\n\r\n set quantity(value: number) {\r\n productStore.dispatchQuantity(value);\r\n }\r\n\r\n get buyButtonDisabled(): boolean {\r\n return this.quantity < 1;\r\n }\r\n\r\n get palletRequired(): number {\r\n return productStore.palletRequired;\r\n }\r\n\r\n set palletRequired(value: number) {\r\n productStore.dispatchPalletRequired(value);\r\n }\r\n\r\n protected addToCart(relatedProduct: RelatedProductModel) {\r\n if (this.buyButtonDisabled) {\r\n return;\r\n }\r\n\r\n cart.addToCart({\r\n quantity: relatedProduct.quantity,\r\n variantId: relatedProduct.id,\r\n variantSystemId: relatedProduct.systemId\r\n });\r\n\r\n this.ReportAddToCartToGoogleEnhancedEcommerce(relatedProduct);\r\n }\r\n\r\n private ReportAddToCartToGoogleEnhancedEcommerce(relatedProduct: RelatedProductModel) {\r\n const gee = new GoogleEnhancedEcommerce();\r\n gee.PushAddToCartToGoogle(\r\n relatedProduct.name,\r\n relatedProduct.id,\r\n relatedProduct.priceValue,\r\n \"\",\r\n relatedProduct.quantity,\r\n this.googleAnalyticsDimensionIdentifier,\r\n relatedProduct.currencyCode,\r\n window.site.settings.webShopActivated ? true : false,\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!./RelatedProductList.ts?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!./RelatedProductList.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RelatedProductList.vue?vue&type=template&id=04fd1879&\"\nimport script from \"./RelatedProductList.ts?vue&type=script&lang=ts&\"\nexport * from \"./RelatedProductList.ts?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 (_vm.handlingFeeMessageInCartSection)?_c('div',{staticClass:\"shopping-cart-handlingfee\"},[_c('h4',[_vm._v(_vm._s(_vm.handlingFeeCartHeader))]),_vm._v(\"\\n \"+_vm._s(_vm.handlingFeeMessageInCartSection)+\"\\n \")]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport { DeliveryModel, CheckoutTranslationModel as TranslationModel } from \"../models/deliveryModel\";\r\nimport { KlarnaCheckoutApi, KlarnaCheckout, KlarnaCheckoutWidget } from \"@/models/KlarnaCheckout\";\r\nimport GoogleEnhancedEcommerce from \"../services/GoogleEnhancedEcommerce\";\r\nimport http from \"../services/Http\";\r\nimport { deliveriesStore } from \"@/store/DeliveriesModule\";\r\n\r\n\r\n@Component\r\nexport default class HandlingFeeMessageCart extends Vue {\r\n private url: string = window.location.origin + window.location.pathname;\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected created() {\r\n http.get(`${this.url}.GetHandlingFeeMessageOnLoad`)\r\n .then(r => {\r\n deliveriesStore.dispatchDeliveries(r);\r\n });\r\n }\r\n get handlingFeeMessageInCartSection(): string {\r\n return deliveriesStore.deliveries && deliveriesStore.deliveries.handlingFeeMessageInCart;\r\n }\r\n\r\n get handlingFeeCartHeader(): string {\r\n return deliveriesStore.deliveries && deliveriesStore.deliveries.handlingFeeCartHeader;\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!./HandlingFeeMessageCart.ts?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!./HandlingFeeMessageCart.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HandlingFeeMessageCart.vue?vue&type=template&id=5ef11ffc&\"\nimport script from \"./HandlingFeeMessageCart.ts?vue&type=script&lang=ts&\"\nexport * from \"./HandlingFeeMessageCart.ts?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',{staticClass:\"totalvalueofgoods-container\"},[_c('div',{staticClass:\"item-name item-weight-title\"},[_vm._v(_vm._s(_vm.translations.weightTitleText)+\" : \"+_vm._s(_vm.weight)+\" \"+_vm._s(_vm.translations.weightText))]),(_vm.totalProduct != '')?_c('div',{staticClass:\"totalPriceWeight\"},[_c('span',{staticClass:\"item-name \"},[_vm._v(_vm._s(_vm.isCompanyUser ? _vm.translations.totalProductExcludingMVAText : _vm.translations.totalProductIncludingMVAText))]),_c('span',{staticClass:\"item-value item-totalProduct\"},[_vm._v(_vm._s(_vm.totalProduct))])]):_vm._e(),(_vm.discount != '')?_c('div',{staticClass:\"discount\"},[_c('span',{staticClass:\"item-name\"},[_vm._v(_vm._s(_vm.translations.discountText)+\" \"+_vm._s(_vm.isCompanyUser ? _vm.translations.excludingMVAText : \"\"))]),_c('span',{staticClass:\"item-value item-discount\"},[_vm._v(_vm._s(_vm.discount))])]):_vm._e(),_c('div',{staticClass:\"cart-summary-container delivery-cost-container\"},[_c('span',{staticClass:\"item-name\"},[_vm._v(_vm._s(_vm.translations.deliveryCostText)+\" \"+_vm._s(_vm.isCompanyUser ? _vm.translations.excludingMVAText : \"\"))]),(_vm.deliveryCost != '')?_c('span',{staticClass:\"item-value\"},[_vm._v(_vm._s(_vm.deliveryCost))]):_c('span',{staticClass:\"item-value item-italic\"},[_vm._v(_vm._s(_vm.translations.nextStep))])]),(_vm.deliveryCost != '' && _vm.deliveryCostDiscount != '')?_c('div',{staticClass:\"cart-summary-general-container\"},[_c('span',{staticClass:\"item-name\"},[_vm._v(_vm._s(_vm.translations.deliveryCostDiscountText)+\" \"+_vm._s(_vm.isCompanyUser ? _vm.translations.excludingMVAText : \"\"))]),_c('span',{staticClass:\"item-value\"},[_vm._v(_vm._s(_vm.deliveryCostDiscount))])]):_vm._e(),(_vm.palletFee != '' && _vm.palletFee != '0')?_c('div',{staticClass:\"cart-summary-general-container\"},[_c('span',{staticClass:\"item-name\"},[_vm._v(_vm._s(_vm.translations.palletTotalText)+\" \"+_vm._s(_vm.isCompanyUser ? _vm.translations.excludingMVAText : _vm.palletQuantity))]),_c('span',{staticClass:\"item-value\"},[_vm._v(_vm._s(_vm.palletFee))])]):_vm._e(),(_vm.handlingFee != '')?_c('div',{staticClass:\"cart-summary-general-container\"},[_c('span',{staticClass:\"item-name\"},[_vm._v(_vm._s(_vm.translations.handlingFeeLabelText)+\" \"+_vm._s(_vm.isCompanyUser ? _vm.translations.excludingMVAText : \"\"))]),_c('span',{staticClass:\"item-value\"},[_vm._v(_vm._s(_vm.handlingFee))])]):_vm._e(),(_vm.mva != '' && _vm.isCompanyUser)?_c('div',{staticClass:\"cart-summary-general-container\"},[_c('span',{staticClass:\"item-name\"},[_vm._v(_vm._s(_vm.translations.mvaText))]),_c('span',{staticClass:\"item-value\"},[_vm._v(_vm._s(_vm.mva))])]):_vm._e(),_c('div',{staticClass:\"cart-summary-container\"},[_c('span',{staticClass:\"item-name item-highlighted\"},[_vm._v(_vm._s(_vm.translations.totalText)+\" \"+_vm._s(_vm.translations.includingMVAText))]),_c('span',{staticClass:\"item-value item-highlighted\"},[_vm._v(_vm._s(_vm.total))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport http from \"../services/Http\";\r\nimport { TotalValueOfGoodsModel } from \"../models/cart\";\r\nimport { deliveriesStore } from \"@/store/DeliveriesModule\";\r\nimport { DeliveryModel, DeliveryMethodModel, CheckoutTranslationModel as TranslationModel } from \"../models/deliveryModel\";\r\nimport { EventBus } from \"../events\";\r\n\r\n\r\n@Component\r\nexport default class CartSummaryTotalValueOfGoods extends Vue {\r\n protected translations: TranslationModel;\r\n protected vm: any = {};\r\n private url: string = window.location.origin + window.location.pathname;\r\n private deliveries: DeliveryModel[] = new Array();\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected created() {\r\n this.getCartSummary();\r\n }\r\n\r\n protected mounted() {\r\n EventBus.$on(\"refreshCartSummary\", (variantId: string) => {\r\n if (deliveriesStore.deliveries.postalCode !== undefined) {\r\n this.getDeliveriesRefreshed();\r\n } else {\r\n this.getCartSummary();\r\n this.getHandlingFeeMessage();\r\n }\r\n });\r\n }\r\n\r\n private getCartSummary() {\r\n http.get(`${this.url}.GetTotalValueOfGoodsSectionData`)\r\n .then(r => {\r\n deliveriesStore.dispatchTotalValueOfGoods(r);\r\n });\r\n }\r\n private getHandlingFeeMessage() {\r\n http.get(`${this.url}.GetHandlingFeeMessageOnLoad`)\r\n .then(r => {\r\n deliveriesStore.dispatchDeliveries(r);\r\n });\r\n }\r\n\r\n private getDeliveriesRefreshed() {\r\n http.get(`${this.url}.GetDeliveryMethods?postalCode=${deliveriesStore.deliveries.postalCode}`)\r\n .then(r => {\r\n this.deliveries = r.deliveryMethods;\r\n\r\n if (this.deliveries.length === 1) {\r\n deliveriesStore.dispatchDeliveries(this.deliveries[0]);\r\n deliveriesStore.dispatchTotalValueOfGoods(this.deliveries[0].totalValueOfGoods);\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n get deliveryCost(): string {\r\n return deliveriesStore.totalValueOfGoods && deliveriesStore.totalValueOfGoods.deliveryCost;\r\n }\r\n\r\n get deliveryCostDiscount(): string {\r\n return deliveriesStore.totalValueOfGoods && deliveriesStore.totalValueOfGoods.deliveryCostDiscount;\r\n }\r\n\r\n get discount(): string {\r\n return deliveriesStore.totalValueOfGoods && deliveriesStore.totalValueOfGoods.discount;\r\n }\r\n\r\n get total(): string {\r\n return deliveriesStore.totalValueOfGoods && deliveriesStore.totalValueOfGoods.total;\r\n }\r\n\r\n get isCompanyUser(): boolean {\r\n return deliveriesStore.totalValueOfGoods && deliveriesStore.totalValueOfGoods.isCompanyUser;\r\n }\r\n\r\n get mva(): string {\r\n return deliveriesStore.totalValueOfGoods && deliveriesStore.totalValueOfGoods.mva;\r\n }\r\n\r\n get handlingFee(): string {\r\n return deliveriesStore.totalValueOfGoods && deliveriesStore.totalValueOfGoods.handlingFee;\r\n }\r\n\r\n get totalProduct(): string {\r\n return deliveriesStore.totalValueOfGoods && deliveriesStore.totalValueOfGoods.totalProduct;\r\n }\r\n\r\n get weight(): string {\r\n return deliveriesStore.totalValueOfGoods && deliveriesStore.totalValueOfGoods.weight;\r\n }\r\n\r\n get isResellerCheckout(): boolean {\r\n return deliveriesStore.totalValueOfGoods && deliveriesStore.totalValueOfGoods.allowBuyingGDSProducts;\r\n }\r\n get palletQuantity(): string {\r\n return deliveriesStore.totalValueOfGoods && deliveriesStore.totalValueOfGoods.palletQuantity;\r\n }\r\n get palletFee(): string {\r\n return deliveriesStore.totalValueOfGoods && deliveriesStore.totalValueOfGoods.palletFee;\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!./CartSummaryTotalValueOfGoods.ts?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!./CartSummaryTotalValueOfGoods.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CartSummaryTotalValueOfGoods.vue?vue&type=template&id=33982557&\"\nimport script from \"./CartSummaryTotalValueOfGoods.ts?vue&type=script&lang=ts&\"\nexport * from \"./CartSummaryTotalValueOfGoods.ts?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',[(_vm.isModalVisible)?_c('add-to-cart-modal',{attrs:{\"vm\":_vm.vm,\"carbonSavingsModel\":_vm.carbonSavingsModel,\"quantity\":_vm.quantity},on:{\"close\":_vm.closeModal}}):_vm._e()],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('div',{staticClass:\"added-to-cart-popup-overlay\",attrs:{\"id\":\"added-to-cart-popup-overlay\"}},[(_vm.vm.product)?_c('div',{staticClass:\"added-to-cart-popup-content\"},[_c('h3',[_vm._v(_vm._s(_vm.vm.product.name)+\" - \"+_vm._s(_vm.vm.isShoppingList ? _vm.translations.addedToShoppingListHeader : _vm.translations.addedToCartHeader))]),(_vm.vm.relatedProducts.length > 0)?_c('div',[_c('h4',[_vm._v(_vm._s(_vm.translations.tipsOnRelatedProductsHeader))]),_c('div',{staticClass:\"swiper swiper-container\"},[_c('swiper',{ref:\"swiper\",staticClass:\"swiper\",attrs:{\"options\":_vm.swiperOptions}},[_vm._l((_vm.vm.relatedProducts),function(relatedProduct,index){return _c('swiper-slide',{key:'modal-'+ relatedProduct.id+index},[_c('div',{class:relatedProduct.showPrice ? 'product-item related-product-item related-product-item-height swiper-slide ' + relatedProduct.cartIndicationClass : 'product-item related-product-item swiper-slide ' + relatedProduct.cartIndicationClass},[_c('div',{staticClass:\"product-image\"},[_c('a',{attrs:{\"href\":relatedProduct.url,\"itemprop\":\"url\"}},[_c('img',{attrs:{\"src\":relatedProduct.image,\"alt\":relatedProduct.name,\"itemprop\":\"image\"}})])]),_c('div',{staticClass:\"product-info\"},[_c('div',[_c('a',{staticClass:\"wrap-product-name\",attrs:{\"href\":relatedProduct.url,\"itemprop\":\"url\"}},[_c('hgroup',[_c('h3',[_vm._v(_vm._s(relatedProduct.name))]),(relatedProduct.brand)?_c('h4',{attrs:{\"itemprop\":\"brand\"}},[_vm._v(\"\\n \"+_vm._s(relatedProduct.brand)+\"\\n \")]):_vm._e()]),(relatedProduct.hasCampaignToDisplay)?_c('div',{staticClass:\"list-view-campaign\"},[(relatedProduct.campaignDisplay.image)?_c('img',{staticClass:\"campaign-splash__image\",attrs:{\"src\":relatedProduct.campaignDisplay.image}}):_vm._e(),(relatedProduct.campaignDisplay.text)?_c('div',{staticClass:\"campaign-splash__text\"},[_vm._v(\"\\n \"+_vm._s(relatedProduct.campaignDisplay.text)+\"\\n \")]):_vm._e()]):_vm._e()]),(relatedProduct.isProductSelectorPageType)?_c('div',[_c('div',{staticClass:\"product-description-short\"},[_c('a',{attrs:{\"href\":relatedProduct.url,\"itemprop\":\"url\"}},[_vm._v(_vm._s(relatedProduct.descriptionShort))])])]):_vm._e(),(relatedProduct.showPrice)?_c('div',{staticClass:\"product-list-price-tag\"},[(relatedProduct.minimalVariantPrice > 0)?_c('div',[(!relatedProduct.isVariant)?_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.translations.fromPrice)+\"\\n \")]):_vm._e(),(relatedProduct.hasCampaignPrice)?_c('span',{staticClass:\"price-campaign\"},[_vm._v(_vm._s(relatedProduct.campaignPrice))]):_vm._e(),(relatedProduct.hasCampaignPrice)?_c('span',{staticClass:\"price-campaign-old-price\"},[_vm._v(\"\\n \"+_vm._s(relatedProduct.price))]):_c('span',[_vm._v(_vm._s(relatedProduct.price))])]):_vm._e(),_c('div',[(!relatedProduct.isVariant)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.translations.productAvailableInVariants)+\"\\n \")]):_vm._e()])]):_vm._e(),(relatedProduct.relatedProductAddedToCartText !== '')?_c('div',{staticClass:\"cart-add-text\"},[_vm._v(\" \"+_vm._s(relatedProduct.relatedProductAddedToCartText))]):_vm._e()])])])])}),_c('div',{staticClass:\"swiper-pagination\",attrs:{\"slot\":\"pagination\"},slot:\"pagination\"})],2),_c('div',{staticClass:\"swiper-button-prev\",attrs:{\"slot\":\"button-prev\"},slot:\"button-prev\"}),_c('div',{staticClass:\"swiper-button-next\",attrs:{\"slot\":\"button-next\"},slot:\"button-next\"})],1)]):_vm._e(),_c('div',{class:_vm.vm.relatedProducts.length > 0 ? 'added-to-cart-redirect' : 'added-to-cart-withoutproducts-redirect'},[_c('a',{on:{\"click\":_vm.close}},[_vm._v(_vm._s(_vm.translations.continueToShop))]),_c('a',{ref:\"checkoutbutton\",attrs:{\"href\":_vm.vm.checkoutUrl}},[_vm._v(_vm._s(_vm.vm.isShoppingList ? _vm.translations.redirectToShoppingList : _vm.translations.redirectToCheckout))])]),(_vm.carbonSavingsModel && _vm.quantity && _vm.carbonSavingsModel.isCurrentVariantECO && _vm.carbonSavingsModel.savingsComparedToNonECOVariant > 0)?_c('div',[_c('carbon-savings-calculation',{attrs:{\"quantity\":_vm.quantity,\"isAddToCartPopUp\":true}})],1):_vm._e()]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Vue, Component, Prop } from \"vue-property-decorator\";\r\n// import { productStore } from \"@/store/ProductModule\";\r\n// import { RelatedProductList } from \"./\";\r\nimport { Variant, RelatedProductModel, TranslationModel, ProductModel, CarbonSavingsModel } from \"../models/product\";\r\nimport { Swiper, SwiperSlide } from \"vue-awesome-swiper\";\r\nimport { SwiperOptions } from \"swiper\";\r\nimport { CarbonSavingsCalculation } from \"./\";\r\n\r\n@Component({\r\n components: {\r\n Swiper,\r\n SwiperSlide,\r\n CarbonSavingsCalculation: () => import(\"./ProductPage/CarbonSavingsCalculation\"),\r\n }\r\n})\r\nexport default class AddToCartModal extends Vue {\r\n public $refs!: {\r\n swiper: any;\r\n popup: any;\r\n checkoutbutton: any;\r\n };\r\n\r\n @Prop()\r\n protected vm!: any;\r\n @Prop()\r\n protected carbonSavingsModel!: CarbonSavingsModel;\r\n @Prop()\r\n protected quantity!: number;\r\n\r\n protected swiperOptions: SwiperOptions = {\r\n init: true,\r\n slidesPerView: 2,\r\n spaceBetween: 15,\r\n direction: \"horizontal\",\r\n effect: \"slide\",\r\n initialSlide: 0,\r\n observer: true,\r\n centerInsufficientSlides: true,\r\n observeParents: true,\r\n observeSlideChildren: true,\r\n navigation: {\r\n nextEl: \".swiper-button-next\",\r\n prevEl: \".swiper-button-prev\"\r\n },\r\n loop: false,\r\n watchOverflow: true,\r\n // Responsive breakpoints\r\n breakpoints: {\r\n // when window width is >= 480px\r\n 480: {\r\n slidesPerView: 3,\r\n },\r\n // when window width is >= 640px\r\n 640: {\r\n slidesPerView: 4,\r\n }\r\n },\r\n };\r\n private translations: TranslationModel;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected mounted() {\r\n this.$refs.checkoutbutton.focus();\r\n }\r\n\r\n protected close() {\r\n this.$emit(\"close\", true);\r\n }\r\n\r\n protected prev() {\r\n this.$refs.swiper.$swiper.slidePrev();\r\n }\r\n\r\n protected next() {\r\n this.$refs.swiper.$swiper.slideNext();\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!./AddToCartModal.ts?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!./AddToCartModal.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddToCartModal.vue?vue&type=template&id=06d0521e&\"\nimport script from \"./AddToCartModal.ts?vue&type=script&lang=ts&\"\nexport * from \"./AddToCartModal.ts?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","import { Component, Vue } from \"vue-property-decorator\";\r\nimport { Variant, RelatedProductModel, TranslationModel, CarbonSavingsModel } from \"../models/product\";\r\nimport { EventBus } from \"../events\";\r\nimport http from \"../services/Http\";\r\nimport AddToCartModal from \"./AddToCartModal\";\r\n\r\n@Component({\r\n components: {\r\n AddToCartModal,\r\n }\r\n})\r\nexport default class AddToCartContainer extends Vue {\r\n public $refs!: {\r\n swiper: any;\r\n popup: any;\r\n checkoutbutton: any;\r\n };\r\n protected vm: any = {};\r\n protected isModalVisible: boolean = false;\r\n protected shoppingListPrevious: boolean = false;\r\n protected carbonSavingsModel: CarbonSavingsModel = { isCurrentVariantECO: false, ecoVariantName: \"\", mainVariantName: \"\", ecoVariantUrl: \"\",\r\n globalWarmingPotentialMainProduct: 0, globalWarmingPotentialECOProduct: 0, savingsComparedToNonECOVariant: 0, mainVariantUrl: \"\", thisIsHowWeCalculatedPageUrl: \"\",\r\n imageUrl: \"\", ecoVariantId: \"\",\r\n currentVariantId: \"\", packagingFactor: 0 };\r\n protected quantity: number = 0;\r\n private translations: TranslationModel;\r\n private readonly apiUrl: string = \"/api/common\";\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected mounted() {\r\n EventBus.$on(\"productAddedToCart\", (variantId: string, carbonSavingsModel: CarbonSavingsModel = this.carbonSavingsModel, quantity: number = 0, shoppingList: boolean = false, isProductSelectorPage: boolean = false) => {\r\n this.carbonSavingsModel = carbonSavingsModel;\r\n this.quantity = quantity;\r\n if (this.vm.product && this.vm.product.systemId === variantId && this.vm.shoppingList === shoppingList) {\r\n this.showModal();\r\n } else {\r\n this.fetchAddToCartInfo(variantId, shoppingList, isProductSelectorPage);\r\n }\r\n });\r\n\r\n EventBus.$on(\"productAddedToCartArticleNumber\", (variantId: string, shoppingList: boolean = false) => {\r\n if (this.vm.product && this.vm.product.articleNumber === variantId && this.vm.shoppingList === shoppingList) {\r\n this.showModal();\r\n } else {\r\n this.fetchAddToCartInfoArticleNumbers(variantId, shoppingList);\r\n }\r\n });\r\n\r\n EventBus.$on(\"productAddedToCartMultipleVariants\", (variantSystemIds: string, shoppingList: boolean = false) => {\r\n this.fetchAddToCartInfoMultipleVariants(variantSystemIds, shoppingList);\r\n });\r\n\r\n EventBus.$on(\"productAddedToCartConfigurator\", (configuratorType: string, shoppingList: boolean = false) => {\r\n this.fetchAddToCartInfoConfigurator(configuratorType, shoppingList);\r\n });\r\n }\r\n\r\n protected showModal() {\r\n this.isModalVisible = true;\r\n document.body.classList.add(\"addedtocartscroll--hidden\");\r\n }\r\n\r\n protected closeModal() {\r\n this.isModalVisible = false;\r\n document.body.classList.remove(\"addedtocartscroll--hidden\");\r\n }\r\n\r\n private async fetchAddToCartInfo(variantId: string, shoppingList: boolean, isProductSelectorPage: boolean) {\r\n http.get(`${this.apiUrl}/addtocartinfo/${variantId}/${shoppingList}/${isProductSelectorPage}`)\r\n .then(response => {\r\n this.vm = response;\r\n this.showModal();\r\n });\r\n }\r\n\r\n private async fetchAddToCartInfoMultipleVariants(variantIds: string, shoppingList: boolean) {\r\n http.get(`${this.apiUrl}/addtocartinfomulitplevariants/${variantIds}/${shoppingList}`)\r\n .then(response => {\r\n this.vm = response;\r\n EventBus.$emit(\"hideUBlockCalculator\");\r\n this.showModal();\r\n });\r\n }\r\n\r\n private async fetchAddToCartInfoConfigurator(configuratortype: string, shoppingList: boolean) {\r\n http.get(`${this.apiUrl}/addtocartinfoconfigurator/${configuratortype}/${shoppingList}`)\r\n .then(response => {\r\n this.vm = response;\r\n this.showModal();\r\n });\r\n }\r\n\r\n private async fetchAddToCartInfoArticleNumbers(articleNumbers: string, shoppingList: boolean) {\r\n http.get(`${this.apiUrl}/addtocartinfoarticlenumbers/${articleNumbers}/${shoppingList}`)\r\n .then(response => {\r\n this.vm = response;\r\n this.showModal();\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!./AddToCartContainer.ts?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!./AddToCartContainer.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddToCartContainer.vue?vue&type=template&id=06cb56d0&\"\nimport script from \"./AddToCartContainer.ts?vue&type=script&lang=ts&\"\nexport * from \"./AddToCartContainer.ts?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',{staticClass:\"freight-calculation-container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"columns small-12 main-header\"},[_c('h2',{staticClass:\"freight-calculation-underline\"},[_vm._v(_vm._s(_vm.infoModel.title))])]),(_vm.showError)?_c('div',{staticClass:\"columns small-12 freight-calculation-error\"},[_vm._v(_vm._s(_vm.translations.freightCalculationValidationErrorText))]):_vm._e(),(!_vm.isValidPostalNumber)?_c('div',{staticClass:\"freight-calculation-error\"},[_vm._v(_vm._s(_vm.translations.freightCalculationValidationInvalidPostNumberText))]):_vm._e(),(!_vm.isValidPostalCity)?_c('div',{staticClass:\"freight-calculation-error\"},[_vm._v(_vm._s(_vm.translations.freightCalculationValidationInvalidPostCityText))]):_vm._e(),(!_vm.isValidWeight)?_c('div',{staticClass:\"freight-calculation-error\"},[_vm._v(_vm._s(_vm.translations.freightCalculationValidationInvalidWeightText))]):_vm._e(),(_vm.weightLimitExceeded)?_c('div',{staticClass:\"freight-calculation-error\"},[_vm._v(_vm._s(_vm.translations.freightCalculationValidationWeightLimitText))]):_vm._e()]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"columns small-6 freight-calculation-inputs\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.infoModel.obsText)}}),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"columns small-6\"},[_c('label',[_vm._v(_vm._s(_vm.translations.freightCalculationPostNumberText))]),_c('input',{ref:\"postNumber\",class:!_vm.isValidPostalNumber ? 'freight-calculation-highlight' : '',attrs:{\"type\":\"number\",\"minlength\":\"0\",\"maxlength\":\"5\"},on:{\"blur\":_vm.validatePostalNumber}})]),_c('div',{staticClass:\"columns small-6\"},[_c('label',{staticClass:\"freight-calculation-bluredText\"},[_vm._v(_vm._s(_vm.translations.freightCalculationPostCityText))]),_c('input',{ref:\"postCity\",class:!_vm.isValidPostalCity ? 'freight-calculation-highlight' : '',attrs:{\"type\":\"text\"},on:{\"blur\":_vm.validatePostalCity}})])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"columns small-6\"},[_c('label',[_vm._v(_vm._s(_vm.translations.freightCalculationWeightText))]),_c('input',{ref:\"weight\",class:!_vm.isValidWeight ? 'freight-calculation-highlight' : '',attrs:{\"type\":\"number\"},on:{\"keypress\":function($event){return _vm.validateWeight($event)}}})]),_c('div',{staticClass:\"columns small-6\"},[_c('button',{staticClass:\"button freight-calculation-button\",attrs:{\"disabled\":!_vm.isValidPostalNumber || !_vm.isValidPostalCity || !_vm.isValidWeight},on:{\"click\":function($event){return _vm.getFreightCost()}}},[_vm._v(_vm._s(_vm.translations.freightCalculationButtonText))])])])]),_c('div',{staticClass:\"columns small-6 freight-calculation-results\"},[(_vm.resultModel.freightCostSEK !== 0)?_c('div',{staticClass:\"row freight-calculation-underline\"},[_c('div',{staticClass:\"columns small-6 freight-calculation-center\"},[_c('h2',[_vm._v(_vm._s(_vm.translations.freightCalculationResultDesriptionText))]),_c('span',[_vm._v(_vm._s(_vm.resultModel.description.replace(\"Frakt \",\"\"))+\" \"+_vm._s(_vm.translations.freightCalculationWareHouseNameText.replace(\"{warehousename}\", _vm.resultModel.freightCalc_WarehouseName)))])]),_c('div',{staticClass:\"columns small-6 freight-calculation-center\"},[_c('h2',[_vm._v(_vm._s(_vm.translations.freightCalculationResultCostText))]),(_vm.resultModel.freightCostSEK != 0)?_c('span',[_vm._v(_vm._s(_vm.resultModel.freightCostSEK.toLocaleString())+\" \"+_vm._s(_vm.infoModel.currencyCode))]):_vm._e()])]):_vm._e(),_c('div',{staticClass:\"row\"},[_c('div',{class:_vm.resultModel.freightCostSEK !== 0 ? 'freight-calculation-reservation' : 'freight-calculation-reservation-middle',domProps:{\"innerHTML\":_vm._s(_vm.infoModel.reservationText)}})])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {appStore} from \"../store/AppModule\";\r\nimport { Component, Vue} from \"vue-property-decorator\";\r\nimport http from \"../services/Http\";\r\nimport { FreightCalculationModel, FreightCostResultModel } from \"../models/freightCalculation\";\r\nimport { CheckoutTranslationModel as TranslationModel } from \"../models/deliveryModel\";\r\n\r\n\r\n@Component\r\nexport default class FreightCalculation extends Vue {\r\n public $refs!: {\r\n postNumber: any;\r\n postCity: any;\r\n weight: any;\r\n };\r\n protected translations: TranslationModel;\r\n protected vm: any = {};\r\n private apiUrl: string = \"/api/freightcost\";\r\n private infoModel: FreightCalculationModel = {title: \"\", obsText: \"\", reservationText: \"\", currencyCode: \"\", customerNumber: \"\"};\r\n private resultModel: FreightCostResultModel = {freightCostSEK: 0, description: \"\", freightCalc_WarehouseName: \"\"};\r\n private showError: boolean = false;\r\n private formattedFreight: string = \"\";\r\n private isValidPostalNumber: boolean = true;\r\n private isValidPostalCity: boolean = true;\r\n private isValidWeight: boolean = true;\r\n private weightLimitExceeded: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected created() {\r\n this.infoModel.title = this.$attrs.title;\r\n this.infoModel.obsText = this.$attrs.obstext;\r\n this.infoModel.reservationText = this.$attrs.reservationtext;\r\n this.infoModel.currencyCode = this.$attrs.currencycode;\r\n this.infoModel.customerNumber = this.$attrs.customernumber;\r\n }\r\n\r\n protected validatePostalNumber() {\r\n if (this.$refs.postNumber.value === \"\") {\r\n this.isValidPostalNumber = true;\r\n } else {\r\n const postNumberRegExp = \"^(s-|S-){0,1}[0-9]{3}\\s?[0-9]{2}$\";\r\n this.isValidPostalNumber = this.$refs.postNumber.value !== \"\" && this.$refs.postCity.value === \"\"\r\n && this.$refs.postNumber.value.match(postNumberRegExp) !== null;\r\n }\r\n }\r\n\r\n protected validatePostalCity() {\r\n if (this.$refs.postCity.value === \"\") {\r\n this.isValidPostalCity = true;\r\n } else {\r\n const postCityRegExp = \"^[a-zA-ZäöåÄÖÅ]+$\";\r\n this.isValidPostalCity = this.$refs.postNumber.value === \"\" && this.$refs.postCity.value !== \"\" && this.$refs.postCity.value.match(postCityRegExp) !== null;\r\n }\r\n }\r\n protected validateWeight(event: any) {\r\n const keyCode = event.keyCode;\r\n if (keyCode < 48 || keyCode > 57) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n private getFreightCost() {\r\n if (this.$refs.weight.value !== \"\" && (this.$refs.postNumber.value !== \"\" || this.$refs.postCity.value !== \"\")) {\r\n if (this.$refs.weight.value > 40000) {\r\n this.weightLimitExceeded = true;\r\n } else {\r\n this.weightLimitExceeded = false;\r\n http.get(`${this.apiUrl}?customerNumber=` + this.infoModel.customerNumber + \"&grossWeight=\" + this.$refs.weight.value + \"&zipCode=\" + this.$refs.postNumber.value + \"&city=\" + this.$refs.postCity.value)\r\n .then(r => {\r\n this.resultModel = r;\r\n this.formattedFreight = r.freightCostSEK.toLocaleString(appStore.state.culture);\r\n });\r\n }\r\n } else {\r\n this.showError = true;\r\n }\r\n }\r\n}\r\n","export enum Shapes {\r\n CUBE = \"cube\",\r\n CYLINDER = \"cylinder\",\r\n TRIANGULAR = \"triangular\"\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!./FreightCalculation.ts?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!./FreightCalculation.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FreightCalculation.vue?vue&type=template&id=c30bf9cc&\"\nimport script from \"./FreightCalculation.ts?vue&type=script&lang=ts&\"\nexport * from \"./FreightCalculation.ts?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',{staticClass:\"cast-calculator-container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"columns small-12 cast-calculator-diclaimer-title\"},[_vm._v(_vm._s(_vm.translations.castCalculationDisclaimerHeader))]),_c('div',{staticClass:\"columns small-12\",domProps:{\"innerHTML\":_vm._s(_vm.product.castCalculationDisclaimer)}})]),(!_vm.isModalVisible)?_c('a',{staticClass:\"cast-calculator-icon-calc\",on:{\"click\":_vm.showModal}},[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorStartCalculating))]):_vm._e(),(_vm.isModalVisible)?_c('quantity-calculator-cast-product',{attrs:{\"vm\":_vm.vm},on:{\"close\":_vm.closeModal}}):_vm._e()],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('div',{class:_vm.isPartOfSection ? '' : 'cast-calculator-overlay'},[_c('div',{class:_vm.isPartOfSection ? 'cast-calculator-content-section' : 'cast-calculator-content'},[_c('div',{staticClass:\"row-inner\"},[_c('div',{class:'small-12 columns cast-calculator-header' + _vm.isPartOfSection ? ' cast-calculator-large' : ' '},[_c('h2',{class:_vm.isPartOfSection ? 'cast-calculator-section-header' : ''},[_vm._v(_vm._s(_vm.isPartOfSection ? _vm.title : _vm.translations.castQuantityCalculatorHeader))])])]),_c('div',{staticClass:\"row cast-calculator__content-container\"},[_c('div',{staticClass:\"cast-calculator__inputs-container columns\"},[(_vm.isPartOfSection)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calulator-subheader\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.castApplicableTypesText))])])]):_vm._e(),(_vm.isPartOfSection)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"columns small-12\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedOption),expression:\"selectedOption\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedOption=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.filterProducts]}},[_c('option',{attrs:{\"value\":\"0\",\"disabled\":\"\",\"selected\":\"\",\"hidden\":\"\"}},[_vm._v(\"\\r\\n \"+_vm._s(_vm.translations.castApplicableTypesDefaultText)+\"\\r\\n \")]),_c('option',{attrs:{\"value\":\"-1\"}},[_vm._v(\"\\r\\n \"+_vm._s(_vm.translations.applicableTypesCommonNoFiltering)+\"\\r\\n \")]),_vm._l((_vm.applicableFilterOptions),function(filterOption){return _c('option',{key:filterOption.id,domProps:{\"value\":filterOption.id}},[_vm._v(\"\\r\\n \"+_vm._s(filterOption.name)+\"\\r\\n \")])})],2)])]):_vm._e(),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calculator-subheader\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorFormSelect))])])]),_c('div',{staticClass:\"row cast-calculator-shapes\"},[_c('div',{class:'small-4 medium-4 large-4 columns ' + (_vm.shape == _vm.shapeCube ? 'selected' : '')},[_c('a',{staticClass:\"cast-calculator-shape\",attrs:{\"value\":_vm.shapeCube},on:{\"click\":function($event){return _vm.setShape(_vm.shapeCube)}}},[_c('img',{attrs:{\"src\":_vm.CastQuantityCalculatorCubeImageUrl}})])]),_c('div',{class:'small-4 medium-4 large-4 columns ' + (_vm.shape == _vm.shapeCylinder ? 'selected' : '')},[_c('a',{staticClass:\"cast-calculator-shape\",attrs:{\"value\":_vm.shapeCylinder},on:{\"click\":function($event){return _vm.setShape(_vm.shapeCylinder)}}},[_c('img',{attrs:{\"src\":_vm.CastQuantityCalculatorCylinderImageUrl}})])]),_c('div',{class:'small-4 medium-4 large-4 columns ' + (_vm.shape == _vm.shapeTriangular ? 'selected' : '')},[_c('a',{staticClass:\"cast-calculator-shape\",attrs:{\"value\":\"shapeTriangular\"},on:{\"click\":function($event){return _vm.setShape(_vm.shapeTriangular)}}},[_c('img',{attrs:{\"src\":_vm.CastQuantityCalculatorTriangularImageUrl}})])])]),_c('div',{staticClass:\"row cast-calculator-shape-names\"},[_c('div',{staticClass:\"small-4 medium-4 large-4 columns\"},[_vm._v(\"\\r\\n \"+_vm._s(_vm.translations.castQuantityCalculatorCubeShape)+\"\\r\\n \")]),_c('div',{staticClass:\"small-4 medium-4 large-4 columns\"},[_vm._v(\"\\r\\n \"+_vm._s(_vm.translations.castQuantityCalculatorCylinderShape)+\"\\r\\n \")]),_c('div',{staticClass:\"small-4 medium-4 large-4 columns\"},[_vm._v(\"\\r\\n \"+_vm._s(_vm.translations.castQuantityCalculatorTriangularShape)+\"\\r\\n \")])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calculator-quantity\"},[_c('div',[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorQuantity)+\" : \")]),_c('div',{staticClass:\"small-3\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.quantity),expression:\"quantity\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.QuantityChanged),expression:\"QuantityChanged\"}],attrs:{\"type\":\"number\",\"value\":\"1\",\"min\":\"0\"},domProps:{\"value\":(_vm.quantity)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.quantity=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorInventory))])])])]),_c('div',{staticClass:\"row \"},[_c('div',{staticClass:\"small-12 columns cast-calculator-header\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorDimensionsOrVolume))])])]),_c('div',{staticClass:\"row cast-calculator-input-container\"},[(_vm.shape !== _vm.shapeCylinder)?_c('div',{staticClass:\"columns\"},[_vm._v(\"\\r\\n \"+_vm._s(_vm.translations.castQuantityCalculatorWidth)+\"\\r\\n \"),_c('sup',{attrs:{\"data-children-count\":\"0\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.width),expression:\"width\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.width)},on:{\"keyup\":_vm.measurementChanged,\"change\":_vm.measurementChanged,\"input\":function($event){if($event.target.composing){ return; }_vm.width=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})]):_vm._e(),(_vm.shape !== _vm.shapeCylinder)?_c('div',{staticClass:\"columns\"},[_vm._v(\"\\r\\n \"+_vm._s(_vm.translations.castQuantityCalculatorLength)+\"\\r\\n \"),_c('sup',{attrs:{\"data-children-count\":\"0\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.length),expression:\"length\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.length)},on:{\"keyup\":_vm.measurementChanged,\"change\":_vm.measurementChanged,\"input\":function($event){if($event.target.composing){ return; }_vm.length=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})]):_vm._e(),(_vm.shape === _vm.shapeCylinder)?_c('div',{staticClass:\"columns\"},[_vm._v(\"\\r\\n \"+_vm._s(_vm.translations.castQuantityCalculatorDiameter)+\"\\r\\n \"),_c('sup',{attrs:{\"data-children-count\":\"0\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.diameter),expression:\"diameter\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.diameter)},on:{\"keyup\":_vm.measurementChanged,\"change\":_vm.measurementChanged,\"input\":function($event){if($event.target.composing){ return; }_vm.diameter=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})]):_vm._e(),_c('div',{class:_vm.shape === _vm.shapeCylinder ? 'columns' : 'columns'},[_vm._v(\"\\r\\n \"+_vm._s(_vm.translations.castQuantityCalculatorHeight)+\"\\r\\n \"),_c('sup',{attrs:{\"data-children-count\":\"0\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.height),expression:\"height\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.height)},on:{\"keyup\":_vm.measurementChanged,\"change\":_vm.measurementChanged,\"input\":function($event){if($event.target.composing){ return; }_vm.height=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{class:_vm.shape === _vm.shapeCylinder ? 'volume-container columns' : 'volume-container columns'},[_c('label'),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.translations.castQuantityCalculatorVolume)}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.volume),expression:\"volume\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.volumeChanged),expression:\"volumeChanged\"}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.volume)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.volume=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})])])]),_c('div',{staticClass:\"columns cast-calculator-result-container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calculator-subheader\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorCalculatedAmount))])])]),_c('div',{staticClass:\"row-inner cast-calculator-pre-result\"},[_c('div',[(_vm.isPartOfSection && _vm.selectedProductId === '' && _vm.calculatedSack === 0)?_c('div',{staticClass:\"small-12 columns\"},[_c('h3',[_vm._v(\"\\r\\n \"+_vm._s(_vm.noProductSelectedHeader)+\"\\r\\n \")]),(_vm.selectedOption !== '0' && _vm.selectedOption !== '-1')?_c('div',{staticClass:\"cast-calculator-pre-result-sub\"},[_c('div',[_vm._v(_vm._s(_vm.translations.commonRecommendedProductForText))]),_c('div',[_vm._v(_vm._s(_vm.productFilterSelectedOptionName))])]):_c('div',{staticClass:\"cast-calculator-pre-result-sub\"},[_vm._v(\"\\r\\n \"+_vm._s(_vm.noProductSelectedText)+\"\\r\\n \")])]):_vm._e(),(((_vm.isPartOfSection && _vm.selectedProductId !== '') || !_vm.isPartOfSection) && (_vm.calculatedSack == null || _vm.calculatedSack <= 0))?_c('div',{staticClass:\"small-12 columns\"},[_c('h3',[_vm._v(\"\\r\\n \"+_vm._s(_vm.translations.castQuantityCalculatorResultPreloadHeader)+\"\\r\\n \")]),_c('div',{staticClass:\"cast-calculator-pre-result-sub\"},[_vm._v(\"\\r\\n \"+_vm._s(_vm.translations.castQuantityCalculatorResultPreloadText)+\"\\r\\n \")])]):_vm._e(),(_vm.calculatedSack > 0)?_c('div',{staticClass:\"small-12 columns cast-calculator-result\"},[(_vm.selectedResult.sack > 0)?_c('div',{key:_vm.selectedResult.variantId,attrs:{\"value\":_vm.selectedResult.variantId}},[_vm._v(_vm._s(_vm.selectedResult.sack.toLocaleString()\r\n + ' ' + (_vm.selectedResult.itemPackagingWeight >= 1000 ? _vm.translations.castQuantityCalculatorLargeSacks : _vm.translations.castQuantityCalculatorSacks))+\"\\r\\n \"),_c('span',{staticClass:\"weight-nowrap\"},[_vm._v(_vm._s(' (' + _vm.selectedResult.itemPackagingWeight.toLocaleString() + \" kg\" + ') '))])]):_vm._e(),_vm._l((_vm.results.filter(function (x) { return x.selected !== 'true'; })),function(item){return _c('div',{key:item.variantId,attrs:{\"value\":item.variantId}},[_c('span',[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorOr))]),_vm._v(\"\\r\\n \"+_vm._s(item.sack.toLocaleString() + ' ' + (item.itemPackagingWeight >= 1000 ? _vm.translations.castQuantityCalculatorLargeSacks : _vm.translations.castQuantityCalculatorSacks))+\"\\r\\n \"),_c('span',{staticClass:\"weight-nowrap\"},[_vm._v(_vm._s(' (' + item.itemPackagingWeight.toLocaleString() + \" kg\" + ') '))])])})],2):_vm._e(),(_vm.isPartOfSection)?_c('div',{staticClass:\"small-12 cast-calculator-section-products\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedProductId),expression:\"selectedProductId\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedProductId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.calculateQuantity]}},[_c('option',{attrs:{\"value\":\"\"}},[_vm._v(_vm._s(_vm.translations.castCalculationSelectProduct))]),_vm._l((_vm.products),function(product){return _c('option',{key:product.ArticleNumber,domProps:{\"value\":product.ArticleNumber}},[_c('a',{attrs:{\"href\":product.Url}},[_vm._v(_vm._s(product.Name))])])})],2)]):_vm._e(),(_vm.isPartOfSection && _vm.calculatedSack > 0 && _vm.isiframe == false)?_c('div',{staticClass:\"cast-calculator-goto-button\"},[_c('a',{staticClass:\"button\",attrs:{\"href\":_vm.selectedProductUrl}},[_vm._v(_vm._s(_vm.translations.castCalculationGoToProduct))])]):_vm._e()])])])]),(!_vm.isPartOfSection)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calculator-button-container\"},[_c('a',{staticClass:\"button\",on:{\"click\":_vm.close}},[_vm._v(\"\\r\\n \"+_vm._s(_vm.selectedResult.sack > 0 ?\r\n _vm.translations.castQuantityCalculatorSaveAndClose\r\n : _vm.translations.castQuantityCalculatorClose)+\"\\r\\n \")])])]):_vm._e(),(_vm.isPartOfSection)?_c('div',{staticClass:\"quantitycalculator__carbon-savings\"},[(_vm.GetCarbonSavingsModel() && _vm.calculatedSack > 0)?_c('carbon-savings-calculation',{attrs:{\"isConfigurator\":true,\"isCalculator\":true,\"quantity\":_vm.calculatedSack,\"calculationCarbonSavingsModel\":_vm.GetCarbonSavingsModel()}}):_vm._e()],1):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport { Variant, TranslationModel, ProductModel, ApplicableFilterOption, CarbonSavingsModel } from \"../models/product\";\r\n\r\nimport {\r\n IncludedProducts,\r\n QuantityCalculationResultModel\r\n} from \"../models/QuanityCalculatorCast\";\r\nimport { Shapes } from \"@/enums/Shapes\";\r\nimport calculatorService from \"../services/CalculatorService\";\r\nimport { CalculatorTypes } from \"../enums/CalculatorTypes\";\r\nimport { EventBus } from \"@/events\";\r\nimport CarbonSavingsCalculation from \"./ProductPage/CarbonSavingsCalculation\";\r\n\r\n@Component({\r\n components: {\r\n CarbonSavingsCalculation,\r\n }\r\n})\r\nexport default class QuantityCalculatorCastProduct extends Vue {\r\n protected vm!: any;\r\n protected width: number = NaN;\r\n protected length: number = NaN;\r\n protected height: number = NaN;\r\n protected diameter: number = NaN;\r\n protected volume: number = NaN;\r\n protected volumeSetAmount: number = 0;\r\n protected shape: string = \"\";\r\n protected quantity: number = 1;\r\n protected calculatedSack: number = 0;\r\n protected results: QuantityCalculationResultModel[] = [];\r\n protected translations: TranslationModel;\r\n protected selectedResult: QuantityCalculationResultModel = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n protected isPartOfSection: boolean = false;\r\n protected noProductSelectedHeader: string = \"\";\r\n protected noProductSelectedText: string = \"\";\r\n protected cubeImageUrl: string = \"\";\r\n protected cylinderImageUrl: string = \"\";\r\n protected triangularImageUrl: string = \"\";\r\n protected selectedProductId: string = \"\";\r\n protected products: IncludedProducts[] = [];\r\n protected isMobile: boolean = false;\r\n protected title: string = \"\";\r\n protected applicableFilterOptions: ApplicableFilterOption[] = [];\r\n protected selectedOption: string = \"0\";\r\n protected productsUnfiltered: IncludedProducts[] = [];\r\n protected productFilterSelectedOptionName: string = \"\";\r\n protected isiframe: boolean = false;\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected created() {\r\n this.shape = Shapes.CUBE;\r\n this.isPartOfSection = this.$attrs.section === \"true\";\r\n this.noProductSelectedHeader = this.$attrs.noproductselectedheader;\r\n this.noProductSelectedText = this.$attrs.noproductselectedtext;\r\n this.cubeImageUrl = this.$attrs.cubeimageurl;\r\n this.cylinderImageUrl = this.$attrs.cylinderimageurl;\r\n this.triangularImageUrl = this.$attrs.triangularimageurl;\r\n this.products = this.$attrs.includedproducts\r\n ? JSON.parse(this.$attrs.includedproducts)\r\n : null;\r\n this.productsUnfiltered = this.products;\r\n this.isMobile = this.$attrs.ismobile === \"true\";\r\n this.title = this.$attrs.title;\r\n this.applicableFilterOptions = this.$attrs.filteroptions\r\n ? JSON.parse(this.$attrs.filteroptions)\r\n : null;\r\n this.isiframe = this.$attrs.isiframe === \"true\";\r\n }\r\n\r\n protected mounted() {\r\n this.getSession();\r\n EventBus.$on(\"selectedECOvariant\", (carbonSavingsModel: CarbonSavingsModel) => {\r\n this.products.map(x => {\r\n if (x.carbonSavings.currentVariantId === carbonSavingsModel.ecoVariantId) {\r\n this.selectedProductId = x.ArticleNumber;\r\n this.calculateQuantity();\r\n }\r\n });\r\n });\r\n }\r\n\r\n protected close() {\r\n this.$emit(\"close\", true);\r\n const quantityInput = document.getElementById(\r\n \"variant-selector-quantity\"\r\n );\r\n if (quantityInput) {\r\n quantityInput.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"center\",\r\n inline: \"nearest\"\r\n });\r\n }\r\n }\r\n\r\n get shapeCube(): string {\r\n return Shapes.CUBE;\r\n }\r\n\r\n get shapeCylinder(): string {\r\n return Shapes.CYLINDER;\r\n }\r\n\r\n get shapeTriangular(): string {\r\n return Shapes.TRIANGULAR;\r\n }\r\n\r\n get selectedProductUrl(): string {\r\n return calculatorService.GetSelectedProductUrl(this.products, this.selectedProductId);\r\n }\r\n\r\n get product(): ProductModel {\r\n return productStore.product;\r\n }\r\n\r\n get variant(): Variant {\r\n return calculatorService.GetVariant(this.selectedProductId, this.variants, CalculatorTypes.Cast);\r\n }\r\n\r\n get variants(): Variant[] {\r\n return calculatorService.GetVariants(this.selectedProductId, this.products);\r\n }\r\n\r\n get CastQuantityCalculatorCubeImageUrl(): string {\r\n return this.isPartOfSection ? this.cubeImageUrl : productStore.product.castQuantityCalculatorCubeImageUrl;\r\n }\r\n\r\n get CastQuantityCalculatorCylinderImageUrl(): string {\r\n return this.isPartOfSection ? this.cylinderImageUrl : productStore.product.castQuantityCalculatorCylinderImageUrl;\r\n }\r\n\r\n get CastQuantityCalculatorTriangularImageUrl(): string {\r\n return this.isPartOfSection ? this.triangularImageUrl : productStore.product.castQuantityCalculatorTriangularImageUrl;\r\n }\r\n\r\n protected measurementChanged() {\r\n this.volume = 0;\r\n this.volumeSetAmount = 0;\r\n this.calculateQuantity();\r\n }\r\n\r\n protected QuantityChanged() {\r\n this.volume = this.volumeSetAmount * this.quantity;\r\n this.calculateQuantity();\r\n }\r\n\r\n protected resetValues() {\r\n this.height = NaN;\r\n this.width = NaN;\r\n this.length = NaN;\r\n this.diameter = NaN;\r\n }\r\n\r\n protected setShape(shape: string) {\r\n this.shape = shape;\r\n this.calculateQuantity();\r\n this.resetValues();\r\n this.volume = NaN;\r\n }\r\n protected volumeChanged() {\r\n this.resetValues();\r\n this.volumeSetAmount = this.volume;\r\n if (this.volume > 0) {\r\n this.calculateQuantity();\r\n }\r\n }\r\n\r\n protected GetCarbonSavingsModel() {\r\n return calculatorService.GetCarbonSavingsModel(this.products, this.selectedProductId);\r\n }\r\n\r\n protected calculateQuantity() {\r\n this.results = [];\r\n this.selectedResult = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n this.calculatedSack = 0;\r\n if (this.isPartOfSection) {\r\n this.CalculateVolume();\r\n }\r\n\r\n this.variants.map(x => {\r\n if (x.itemConsumptionCalculatorCast) {\r\n this.CalculateVolume();\r\n const isPartOfSectionAndProductSelected = this.isPartOfSection && this.selectedProductId !== \"\";\r\n if (this.volume > 0) {\r\n if (isPartOfSectionAndProductSelected || !this.isPartOfSection) {\r\n this.results.push({\r\n variantId: x.variantId,\r\n sack: Math.ceil((this.volume * 1000) / (x.itemPrimaryPackagingWeight / 2)),\r\n itemPackagingWeight: Number(x.itemPrimaryPackagingWeight),\r\n selected: (x.variantId === this.variant.variantId).toString(),\r\n volume: this.volume,\r\n selectedShape: this.shape,\r\n yta : NaN,\r\n layerThickness: NaN,\r\n itemMaterialConsumption : NaN,\r\n variantJoint: \"\",\r\n width: NaN,\r\n length: NaN,\r\n depth: NaN,\r\n variantSystemId: x.variantSystemId,\r\n });\r\n }\r\n }\r\n }\r\n });\r\n if (this.results.length > 0) {\r\n const selectedVariant = this.results.filter(x => x.variantId === this.variant.variantId)[0];\r\n this.calculatedSack = selectedVariant.sack;\r\n this.selectedResult = selectedVariant;\r\n if (selectedVariant != null) {\r\n productStore.dispatchQuantity(selectedVariant.sack);\r\n }\r\n calculatorService.storeSession(\"castquantity\", this.results);\r\n\r\n if (this.GetCarbonSavingsModel()) {\r\n calculatorService.storeSessionQuantity(\"carbonsavingsproductquantity\", this.calculatedSack);\r\n }\r\n }\r\n }\r\n\r\n protected filterProducts() {\r\n if (this.selectedOption && this.selectedOption !== \"-1\") {\r\n this.selectedProductId = \"\";\r\n this.results = [];\r\n this.calculatedSack = 0;\r\n this.selectedResult = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n const tempProducts = this.productsUnfiltered.filter(x => x.ShowProductForType && x.ShowProductForType.indexOf(this.selectedOption) > -1);\r\n this.products = tempProducts;\r\n this.productFilterSelectedOptionName = this.applicableFilterOptions.filter(x => x.id === this.selectedOption)[0].name;\r\n } else if (this.selectedOption === \"-1\") {\r\n this.products = this.productsUnfiltered;\r\n }\r\n }\r\n\r\n private CalculateVolume() {\r\n if (this.volume <= 0) {\r\n switch (this.shape) {\r\n case Shapes.CUBE: this.CalculateCubeVolume(); break;\r\n case Shapes.CYLINDER: this.CalculateCylinderVolume(); break;\r\n case Shapes.TRIANGULAR: this.CalculateTriangleVolume(); break;\r\n }\r\n }\r\n }\r\n\r\n private CalculateCubeVolume() {\r\n if (this.checkIfMesaurementsAreValid()) {\r\n this.volume = parseFloat((this.height * this.width * this.length * this.quantity).toFixed(4));\r\n }\r\n }\r\n\r\n private CalculateCylinderVolume() {\r\n if (this.diameter > 0 && this.height > 0) {\r\n this.volume = parseFloat((Math.PI * (Math.pow(this.diameter / 2, 2)) * this.height * this.quantity).toFixed(4));\r\n }\r\n }\r\n\r\n private CalculateTriangleVolume() {\r\n if (this.checkIfMesaurementsAreValid()) {\r\n const volumeUnformatted = ((this.height * this.width * this.length) / 2) * this.quantity;\r\n this.volume = parseFloat(volumeUnformatted.toFixed(4));\r\n }\r\n }\r\n\r\n private checkIfMesaurementsAreValid() {\r\n return this.height > 0 && this.length > 0 && this.width > 0;\r\n }\r\n\r\n private isJson(str: string) {\r\n try {\r\n JSON.parse(str);\r\n } catch (e) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n private getSession() {\r\n if (typeof sessionStorage !== \"undefined\") {\r\n const castQuantity = sessionStorage.getItem(\"castquantity\") || \"\";\r\n const sessionValue = this.isJson(castQuantity)\r\n ? JSON.parse(castQuantity)\r\n : undefined;\r\n if (sessionValue !== undefined && sessionValue.length > 0) {\r\n this.results = [];\r\n sessionValue.map((x: QuantityCalculationResultModel) => {\r\n this.results.push({\r\n variantId: x.variantId,\r\n sack: x.sack,\r\n itemPackagingWeight: x.itemPackagingWeight,\r\n selected: (\r\n x.variantId === this.variant.variantId\r\n ).toString(),\r\n volume: x.volume,\r\n selectedShape: x.selectedShape,\r\n yta: NaN,\r\n layerThickness: NaN,\r\n itemMaterialConsumption : NaN,\r\n variantJoint: \"\",\r\n width: NaN,\r\n length: NaN,\r\n depth: NaN,\r\n variantSystemId: x.variantSystemId,\r\n });\r\n });\r\n }\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!./QuantityCalculatorCastProduct.ts?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!./QuantityCalculatorCastProduct.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuantityCalculatorCastProduct.vue?vue&type=template&id=cab2f160&\"\nimport script from \"./QuantityCalculatorCastProduct.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuantityCalculatorCastProduct.ts?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","import { Component, Vue } from \"vue-property-decorator\";\r\nimport { TranslationModel, ProductModel } from \"../models/product\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport QuantityCalculatorCastProduct from \"./QuantityCalculatorCastProduct\";\r\n\r\n@Component({\r\n components: {\r\n QuantityCalculatorCastProduct\r\n }\r\n})\r\nexport default class QuantityCalculatorCastProductContainer extends Vue {\r\n protected vm: any = {};\r\n protected isModalVisible: boolean = false;\r\n protected calculatorUrl: string = \"/ui/img/site/Calculator.png\";\r\n private translations: TranslationModel;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n get product(): ProductModel {\r\n return productStore.product;\r\n }\r\n\r\n protected showModal() {\r\n this.isModalVisible = true;\r\n }\r\n\r\n protected closeModal() {\r\n this.isModalVisible = false;\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!./QuantityCalculatorCastProductContainer.ts?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!./QuantityCalculatorCastProductContainer.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuantityCalculatorCastProductContainer.vue?vue&type=template&id=32fc5bcb&\"\nimport script from \"./QuantityCalculatorCastProductContainer.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuantityCalculatorCastProductContainer.ts?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',{staticClass:\"cast-calculator-content-section\"},[_c('div',{staticClass:\"small-12 cast-calculator-header cast-calculator-large\"},[_c('h2',{staticClass:\"cast-calculator-section-header\"},[_vm._v(\"\\n \"+_vm._s(_vm.title)+\"\\n \")])]),_c('div',{staticClass:\"row cast-calculator__content-container\"},[_c('div',{staticClass:\"cast-calculator__inputs-container columns\"},[(_vm.calculatorType === 'Plaster')?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calulator-subheader\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.plasterApplicableTypesText))])])]):_vm._e(),(_vm.calculatorType === 'Plaster')?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"columns small-12\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedOption),expression:\"selectedOption\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedOption=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.filterProducts]}},[_c('option',{attrs:{\"value\":\"0\",\"disabled\":\"\",\"selected\":\"\",\"hidden\":\"\"}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.plasterApplicableTypesDefaultText)+\"\\n \")]),_c('option',{attrs:{\"value\":\"-1\"}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.applicableTypesCommonNoFiltering)+\"\\n \")]),_vm._l((_vm.applicableFilterOptions),function(filterOption){return _c('option',{key:filterOption.id,domProps:{\"value\":filterOption.id}},[_vm._v(\"\\n \"+_vm._s(filterOption.name)+\"\\n \")])})],2)])]):_vm._e(),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calculator-header\"},[_c('strong',[_vm._v(_vm._s(_vm.calculatorType === \"Plaster\" ? _vm.translations.plasterCalculatorDimensionsOrVolume : _vm.translations.floorCalculatorDimensionsOrVolume))])])]),_c('div',{staticClass:\"row cast-calculator-input-container\"},[_c('div',{staticClass:\"columns\"},[_c('label'),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.translations.floorCalculatorYTAText)}}),_c('sup',{attrs:{\"data-children-count\":\"0\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.numberOfSquareMeters),expression:\"numberOfSquareMeters\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.numberOfSquareMeters)},on:{\"keyup\":_vm.measurementChanged,\"change\":_vm.measurementChanged,\"input\":function($event){if($event.target.composing){ return; }_vm.numberOfSquareMeters=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"columns\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.floorCalculatorLayerThicknessText)+\"\\n \"),_c('sup',{attrs:{\"data-children-count\":\"0\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.layerThickness),expression:\"layerThickness\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.layerThickness)},on:{\"keyup\":_vm.measurementChanged,\"change\":_vm.measurementChanged,\"input\":function($event){if($event.target.composing){ return; }_vm.layerThickness=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"volume-container columns\"},[_c('label'),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.translations.castQuantityCalculatorVolume)}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.volume),expression:\"volume\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.volumeChanged),expression:\"volumeChanged\"}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.volume)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.volume=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})])])]),_c('div',{staticClass:\"columns cast-calculator-result-container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calculator-subheader\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorCalculatedAmount))])])]),_c('div',{staticClass:\"row-inner floor-calculator-pre-result\"},[(!_vm.hideProductListInput)?_c('div',[(\n _vm.selectedProductId === '' &&\n _vm.calculatedSack === 0\n )?_c('div',{staticClass:\"small-12 columns\"},[_c('h3',[_vm._v(\"\\n \"+_vm._s(_vm.noProductSelectedHeader)+\"\\n \")]),(_vm.selectedOption !== '0' && _vm.selectedOption !== '-1')?_c('div',{staticClass:\"floor-calculator-pre-result-sub\"},[_c('div',[_vm._v(_vm._s(_vm.translations.commonRecommendedProductForText))]),_c('div',[_vm._v(_vm._s(_vm.productFilterSelectedOptionName))])]):_c('div',{staticClass:\"floor-calculator-pre-result-sub\"},[_vm._v(\"\\n \"+_vm._s(_vm.noProductSelectedText)+\"\\n \")])]):_vm._e(),(_vm.selectedProductId !== '' && (_vm.calculatedSack == null || _vm.calculatedSack <= 0))?_c('div',{staticClass:\"small-12 columns\"},[_c('h3',[_vm._v(\"\\n \"+_vm._s(_vm.calculatorType == \"Plaster\" ? _vm.translations.plasterCalculatorResultPreloadHeader : _vm.translations.floorCalculatorResultPreloadHeader)+\"\\n \")]),_c('div',{staticClass:\"floor-calculator-pre-result-sub\"},[_vm._v(\"\\n \"+_vm._s(_vm.calculatorType == \"Plaster\" ? _vm.translations.plasterCalculatorResultPreloadText : _vm.translations.floorCalculatorResultPreloadText)+\"\\n \")])]):_vm._e(),(_vm.calculatedSack > 0)?_c('div',{staticClass:\"small-12 columns cast-calculator-result\"},[(_vm.selectedResult.sack > 0)?_c('div',{key:_vm.selectedResult.variantId,attrs:{\"value\":_vm.selectedResult.variantId}},[_vm._v(_vm._s(_vm.selectedResult.sack.toLocaleString() + ' '\n + _vm.translations.castQuantityCalculatorSacks)+\"\\n \"),_c('span',{staticClass:\"weight-nowrap\"},[_vm._v(_vm._s(' (' + _vm.selectedResult.itemPackagingWeight.toLocaleString() + \" kg\" + ') ')+\"\\n \")])]):_vm._e(),_vm._l((_vm.results.filter(function (x) { return x.selected !== 'true'; })),function(item){return _c('div',{key:item.variantId,attrs:{\"value\":item.variantId}},[_c('span',[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorOr))]),_vm._v(\"\\n \"+_vm._s(item.sack.toLocaleString() + ' ' + _vm.translations.castQuantityCalculatorSacks)+\"\\n \"),_c('span',{staticClass:\"weight-nowrap\"},[_vm._v(_vm._s(' (' + item.itemPackagingWeight.toLocaleString() + \" kg\" + ') '))])])})],2):_vm._e(),_c('div',{staticClass:\"small-12 cast-calculator-section-products\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedProductId),expression:\"selectedProductId\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedProductId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.productChanged]}},[_c('option',{attrs:{\"value\":\"\"}},[_vm._v(_vm._s(_vm.translations.castCalculationSelectProduct))]),_vm._l((_vm.products),function(product){return _c('option',{key:product.ArticleNumber,domProps:{\"value\":product.ArticleNumber}},[_c('a',{attrs:{\"href\":product.Url}},[_vm._v(_vm._s(product.Name))])])})],2)]),(_vm.calculatedSack > 0 && _vm.isiframe == false)?_c('div',{staticClass:\"cast-calculator-goto-button\"},[_c('a',{staticClass:\"button\",attrs:{\"href\":_vm.selectedProductUrl}},[_vm._v(_vm._s(_vm.translations.castCalculationGoToProduct))])]):_vm._e()]):_vm._e(),(_vm.hideProductListInput)?_c('div',{staticClass:\"small-12 columns\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.plasterLattbetongNoProductsText)+\"\\n \")]):_vm._e()])]),(_vm.calculatedSack > 0)?_c('div',{staticClass:\"quantitycalculator__carbon-savings\"},[(_vm.GetCarbonSavingsModel() && _vm.calculatedSack > 0)?_c('carbon-savings-calculation',{attrs:{\"isConfigurator\":true,\"isCalculator\":true,\"quantity\":_vm.calculatedSack,\"calculationCarbonSavingsModel\":_vm.GetCarbonSavingsModel()}}):_vm._e()],1):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport { Variant, TranslationModel, ProductModel, ApplicableFilterOption, CarbonSavingsModel } from \"../models/product\";\r\nimport {\r\n IncludedProducts,\r\n QuantityCalculationResultModel\r\n} from \"../models/QuanityCalculatorCast\";\r\nimport calculatorService from \"../services/CalculatorService\";\r\nimport { CalculatorTypes } from \"../enums/CalculatorTypes\";\r\nimport CarbonSavingsCalculation from \"./ProductPage/CarbonSavingsCalculation\";\r\nimport { EventBus } from \"@/events\";\r\n\r\n@Component({\r\n components: {\r\n CarbonSavingsCalculation,\r\n }\r\n})\r\nexport default class QuantityCalculatorFloorProduct extends Vue {\r\n protected vm!: any;\r\n protected quantity: number = 1;\r\n protected calculatedSack: number = 0;\r\n protected results: QuantityCalculationResultModel[] = [];\r\n protected translations: TranslationModel;\r\n protected selectedResult: QuantityCalculationResultModel = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n protected products: IncludedProducts[] = [];\r\n protected selectedProductId: string = \"\";\r\n protected volume: number = NaN;\r\n protected volumeSetAmount: number = 0;\r\n protected numberOfSquareMeters: number = NaN;\r\n protected layerThickness: number = NaN;\r\n protected isMobile: boolean = false;\r\n protected noProductSelectedHeader: string = \"\";\r\n protected noProductSelectedText: string = \"\";\r\n protected title: string = \"\";\r\n protected text: string = \"\";\r\n protected calculatorType: string = \"\";\r\n protected applicableFilterOptions: ApplicableFilterOption[] = [];\r\n protected selectedOption: string = \"0\";\r\n protected productsUnfiltered: IncludedProducts[] = [];\r\n protected hideProductListInput: boolean = false;\r\n protected productFilterSelectedOptionName: string = \"\";\r\n protected isiframe: boolean = false;\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected created() {\r\n this.noProductSelectedHeader = this.$attrs.noproductselectedheader;\r\n this.noProductSelectedText = this.$attrs.noproductselectedtext;\r\n this.products = this.$attrs.includedproducts\r\n ? JSON.parse(this.$attrs.includedproducts)\r\n : null;\r\n this.isMobile = this.$attrs.ismobile === \"true\";\r\n this.title = this.$attrs.title;\r\n this.text = this.$attrs.text;\r\n this.numberOfSquareMeters = NaN;\r\n this.layerThickness = NaN;\r\n this.selectedProductId = \"\";\r\n this.calculatorType = this.$attrs.calculatortype;\r\n this.productsUnfiltered = this.products;\r\n this.applicableFilterOptions = this.$attrs.filteroptions\r\n ? JSON.parse(this.$attrs.filteroptions)\r\n : null;\r\n this.isiframe = this.$attrs.isiframe === \"true\";\r\n }\r\n\r\n protected mounted() {\r\n EventBus.$on(\"selectedECOvariant\", (carbonSavingsModel: CarbonSavingsModel) => {\r\n this.products.map(x => {\r\n if (x.carbonSavings.currentVariantId === carbonSavingsModel.ecoVariantId) {\r\n this.selectedProductId = x.ArticleNumber;\r\n this.volume = this.volume * 1000;\r\n this.calculateQuantity();\r\n }\r\n });\r\n });\r\n }\r\n\r\n protected close() {\r\n this.$emit(\"close\", true);\r\n const quantityInput = document.getElementById(\r\n \"variant-selector-quantity\"\r\n );\r\n if (quantityInput) {\r\n quantityInput.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"center\",\r\n inline: \"nearest\"\r\n });\r\n }\r\n }\r\n\r\n get selectedProductUrl(): string {\r\n return calculatorService.GetSelectedProductUrl(this.products, this.selectedProductId);\r\n }\r\n\r\n get selectedProductMaterialConsumption(): number {\r\n return calculatorService.GetSelectedProductMaterialConsumption(this.products, this.selectedProductId);\r\n }\r\n\r\n get product(): ProductModel {\r\n return productStore.product;\r\n }\r\n\r\n get variant(): Variant {\r\n return calculatorService.GetVariant(this.selectedProductId, this.variants, CalculatorTypes.Bag);\r\n }\r\n\r\n get variants(): Variant[] {\r\n return calculatorService.GetVariants(this.selectedProductId, this.products);\r\n }\r\n\r\n protected measurementChanged() {\r\n this.volume = NaN;\r\n this.volumeSetAmount = 0;\r\n this.calculateQuantity();\r\n }\r\n\r\n protected volumeChanged() {\r\n this.numberOfSquareMeters = NaN;\r\n this.layerThickness = NaN;\r\n this.volumeSetAmount = this.volume;\r\n this.volume = this.volume * 1000;\r\n if (this.volume > 0) {\r\n this.calculateQuantity();\r\n }\r\n }\r\n\r\n protected productChanged() {\r\n this.volumeSetAmount = this.volume;\r\n this.volume = this.volume * 1000;\r\n this.calculateQuantity();\r\n }\r\n\r\n protected GetCarbonSavingsModel() {\r\n return calculatorService.GetCarbonSavingsModel(this.products, this.selectedProductId);\r\n }\r\n\r\n protected calculateQuantity() {\r\n this.results = [];\r\n this.selectedResult = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n this.calculatedSack = 0;\r\n this.CalculateVolume();\r\n this.variants.map(x => {\r\n if (x.itemConsumptionCalculatorBag || x.itemConsumptionCalculatorPlaster) {\r\n if (this.volume > 0 && this.results.filter(a => a.itemPackagingWeight === Number(x.itemPrimaryPackagingWeight)).length <= 0) {\r\n this.results.push({\r\n variantId: x.variantId,\r\n sack: x.itemPrimaryPackagingWeight !== 0 ?\r\n Math.ceil((this.volume * this.selectedProductMaterialConsumption) / x.itemPrimaryPackagingWeight) : 0,\r\n itemPackagingWeight: Number(x.itemPrimaryPackagingWeight),\r\n selected: (x.variantId === this.variant.variantId).toString(),\r\n volume: this.volume,\r\n selectedShape: \"\",\r\n yta: this.numberOfSquareMeters,\r\n layerThickness: this.layerThickness,\r\n itemMaterialConsumption: NaN,\r\n variantJoint: \"\",\r\n width: NaN,\r\n length: NaN,\r\n depth: NaN,\r\n variantSystemId: x.variantSystemId,\r\n });\r\n }\r\n }\r\n });\r\n if (this.results.length > 0) {\r\n const selectedVariant = this.results.filter(x => x.variantId === this.variant.variantId)[0];\r\n this.calculatedSack = selectedVariant.sack;\r\n this.selectedResult = selectedVariant;\r\n if (selectedVariant != null) {\r\n productStore.dispatchQuantity(selectedVariant.sack);\r\n }\r\n calculatorService.storeSession(\"floorquantity\" + this.calculatorType, this.results);\r\n\r\n if (this.GetCarbonSavingsModel()) {\r\n calculatorService.storeSessionQuantity(\"carbonsavingsproductquantity\", this.calculatedSack);\r\n }\r\n }\r\n\r\n if (this.volumeSetAmount !== this.volume) {\r\n this.volume = this.volume / 1000;\r\n }\r\n }\r\n\r\n protected filterProducts() {\r\n if (this.selectedOption && this.selectedOption !== \"-1\") {\r\n this.hideProductListInput = false;\r\n this.selectedProductId = \"\";\r\n this.results = [];\r\n this.calculatedSack = 0;\r\n this.selectedResult = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n this.volume = NaN;\r\n const tempProducts = this.productsUnfiltered.filter(x => x.ShowProductForType && x.ShowProductForType.indexOf(this.selectedOption) > -1);\r\n if (tempProducts && tempProducts.length > 0) {\r\n this.products = tempProducts;\r\n this.productFilterSelectedOptionName = this.applicableFilterOptions.filter(x => x.id === this.selectedOption)[0].name;\r\n } else {\r\n this.hideProductListInput = true;\r\n }\r\n } else if (this.selectedOption === \"-1\") {\r\n this.products = this.productsUnfiltered;\r\n }\r\n }\r\n\r\n private CalculateVolume() {\r\n if (isNaN(this.volume) && this.numberOfSquareMeters > 0 && this.layerThickness > 0) {\r\n this.volume = this.numberOfSquareMeters * this.layerThickness;\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!./QuantityCalculatorFloorProduct.ts?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!./QuantityCalculatorFloorProduct.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuantityCalculatorFloorProduct.vue?vue&type=template&id=084a9dfc&\"\nimport script from \"./QuantityCalculatorFloorProduct.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuantityCalculatorFloorProduct.ts?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',{class:_vm.isPartOfSection ? '' : 'mortar-calculator-overlay'},[_c('div',{class:_vm.isPartOfSection ? 'cast-calculator-content-section' : 'mortar-calculator-content'},[_c('div',{staticClass:\"row-inner\"},[_c('div',{class:'small-12 columns cast-calculator-header' + _vm.isPartOfSection ? ' cast-calculator-large' : ' mortar-calculator-large'},[_c('h2',{class:_vm.isPartOfSection ? 'cast-calculator-section-header' : ''},[_vm._v(_vm._s(_vm.isPartOfSection ? _vm.title : _vm.translations.quantityCalculatorMortarMainHeader))])])]),_c('div',{staticClass:\"row mortar-calculator__content-container\"},[_c('div',{class:'columns mortar-calculator__input-container' + ' mortar-calculator__section-input'},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns mortar-calculator-subheader\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.quantityCalculatorMortarBuildingOptionHeader))])]),_c('div',{staticClass:\"columns small-12\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedBuildingOption),expression:\"selectedBuildingOption\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedBuildingOption=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.loadVariantOptions]}},[_c('option',{attrs:{\"value\":\"0\",\"disabled\":\"\",\"selected\":\"\",\"hidden\":\"\"}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.quantityCalculatorMortarBuildingTypeSelectOptionDefaultText)+\"\\n \")]),_vm._l((_vm.mortarCalculatorModel.buildingOptions),function(buildingOption){return _c('option',{key:buildingOption.id,domProps:{\"value\":buildingOption.id}},[_vm._v(\"\\n \"+_vm._s(buildingOption.name)+\"\\n \")])})],2)])]),(\n !_vm.hideVariantOptions &&\n _vm.productsCannotBeCalculated &&\n _vm.productsCannotBeCalculated.length > 0\n )?_c('div',{staticClass:\"row mortar-calculator__no-variants\"},[_c('div',{staticClass:\"columns small-12\"},[_vm._v(\"\\n \"+_vm._s(_vm.isPartOfSection ? _vm.translations.quantityCalculatorMortarNoVariantsCanBeCalculatedText\n .replace(\"{productname}\", _vm.selectedProductName)\n .replace(\"{BuildingOptionName}\", _vm.buildingOptionName) :\n _vm.translations.quantityCalculatorMortarNoVariantsCanBeCalculatedText\n .replace(\"{productname}\", _vm.product.productName)\n .replace(\"{BuildingOptionName}\", _vm.buildingOptionName))+\"\\n \")]),_c('div',{staticClass:\"columns small-12 mortar-calculator__bold-text\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.quantityCalculatorMortarRecommendedMortar)+\"\\n \")]),_vm._l((_vm.productsCannotBeCalculated),function(product){return _c('div',{key:product.baseProductId,staticClass:\"columns small-12\"},[_vm._v(\"\\n -\\n \"),(product.url && product.url !== '')?_c('a',{attrs:{\"href\":product.url + '?buildingOption=' + _vm.selectedBuildingOption}},[_vm._v(_vm._s(product.baseProductName))]):_vm._e()])})],2):_vm._e(),(\n !_vm.hideVariantOptions &&\n (_vm.productsCannotBeCalculated\n ? _vm.productsCannotBeCalculated.length === 0\n : true)\n )?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns mortar-calculator-subheader\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.quantityCalculatorMortarBlockStoneSizeHeader))])]),_c('div',{staticClass:\"columns small-12\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedVariantId),expression:\"selectedVariantId\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedVariantId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.calculateQuantity]}},[_c('option',{style:(_vm.isPartOfSection && _vm.selectedProductId === '' ? 'font-weight : bold' : ''),attrs:{\"value\":\"0\",\"disabled\":\"\",\"selected\":\"\",\"hidden\":\"\"}},[_vm._v(\"\\n \"+_vm._s(_vm.isPartOfSection && _vm.selectedProductId === '' ? _vm.translations.quantityCalculatorMortarVariantSelectNoProductDefaultText\n : _vm.translations.quantityCalculatorMortarVariantSelectOptionDefaultText)+\"\\n \")]),_vm._l((_vm.variantsCanBeCalculated),function(variantOption){return _c('option',{key:variantOption.variantId,domProps:{\"value\":variantOption.variantId}},[_vm._v(\"\\n \"+_vm._s(variantOption.variantName)+\"\\n \")])})],2)])]):_vm._e(),(\n !_vm.hideVariantOptions &&\n (_vm.productsCannotBeCalculated\n ? _vm.productsCannotBeCalculated.length === 0\n : true)\n )?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns mortar-calculator-subheader\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.quantityCalculatorMortarTotalAreaHeader))])]),_c('div',{staticClass:\"columns small-12 mortar-calculator__area-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.totalYta),expression:\"totalYta\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.totalYta)},on:{\"change\":_vm.calculateQuantity,\"keyup\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.totalYta=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.translations.quantityCalculatorMortarAreaUnit)}})])]):_vm._e()]),_c('div',{staticClass:\"columns mortar-calculator__result-container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns mortar-calculator-subheader\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.quantityCalculatorMortarResultHeader))])])]),_c('div',{class:'row-inner' + (_vm.isPartOfSection ? ' mortar-calculator-pre-result-section' : ' mortar-calculator__pre-result')},[_c('div',[(_vm.isPartOfSection && _vm.selectedProductId === '' && _vm.calculatedSack === 0)?_c('div',{staticClass:\"small-12 columns\"},[_c('h3',[_vm._v(\"\\n \"+_vm._s(_vm.noProductSelectedHeader)+\"\\n \")]),_c('div',{staticClass:\"cast-calculator-pre-result-sub\"},[_vm._v(\"\\n \"+_vm._s(_vm.noProductSelectedText)+\"\\n \")])]):_vm._e(),(_vm.isPartOfSection && _vm.selectedProductId !== '' && (_vm.calculatedSack == null || _vm.calculatedSack <= 0))?_c('div',{staticClass:\"small-12 columns\"},[_c('h3',[_vm._v(_vm._s(_vm.translations.mortarCalculatorResultPreloadHeader))]),_c('div',{staticClass:\"cast-calculator-pre-result-sub\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.mortarCalculatorResultPreloadText)+\"\\n \")])]):_vm._e(),(!_vm.isPartOfSection && (_vm.results === undefined || _vm.results.length === 0))?_c('div',{staticClass:\"columns small-12\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.quantityCalculatorMortarPreResultText.replace(\"{productname}\", _vm.product.productName))+\"\\n \")]):_vm._e(),(_vm.selectedResult.sack > 0)?_c('div',{staticClass:\"columns small-12 mortar-calculator__result\"},[(_vm.selectedResult.sack > 0)?_c('div',{key:_vm.selectedResult.variantId,attrs:{\"value\":_vm.selectedResult.variantId}},[_vm._v(\"\\n \"+_vm._s(_vm.selectedResult.sack.toLocaleString() +\n \" \" +\n (_vm.selectedResult.itemPackagingWeight >= 1000\n ? _vm.translations.castQuantityCalculatorLargeSacks\n : _vm.translations.castQuantityCalculatorSacks))+\"\\n \"),_c('span',{staticClass:\"weight-nowrap\"},[_vm._v(_vm._s(\" (\" +\n _vm.selectedResult.itemPackagingWeight.toLocaleString() +\n \" kg\" +\n \") \"))])]):_vm._e(),_vm._l((_vm.results.filter(function (x) { return x.selected !== 'true' && x.itemPackagingWeight != _vm.selectedResult.itemPackagingWeight; })),function(item){return _c('div',{key:item.variantId,attrs:{\"value\":item.variantId}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.quantityCalculatorMortarOrText)+\"\\n \"+_vm._s(item.sack.toLocaleString() +\n \" \" +\n (item.itemPackagingWeight >= 1000\n ? _vm.translations.castQuantityCalculatorLargeSacks\n : _vm.translations.castQuantityCalculatorSacks))+\"\\n \"),_c('span',{staticClass:\"weight-nowrap\"},[_vm._v(_vm._s(\" (\" +\n item.itemPackagingWeight.toLocaleString() +\n \" kg\" +\n \") \")+\"\\n \")])])}),(((_vm.isPartOfSection && _vm.selectedProductId !== '') || !_vm.isPartOfSection))?_c('div',{staticClass:\"mortar-joint-container\"},[_vm._v(_vm._s(_vm.selectedResult.variantJoint === \"full\" ?\n _vm.translations.mortarJointInformationText.replace(\"{jointinfo}\", _vm.translations.mortarFullJointText) :\n _vm.translations.mortarJointInformationText.replace(\"{jointinfo}\", _vm.translations.mortarStringJointText)))]):_vm._e()],2):_vm._e(),(_vm.isPartOfSection)?_c('div',{staticClass:\"small-12 cast-calculator-section-products\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedProductId),expression:\"selectedProductId\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedProductId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.changeProduct]}},[_c('option',{attrs:{\"value\":\"\"}},[_vm._v(_vm._s(_vm.translations.castCalculationSelectProduct))]),_vm._l((_vm.products),function(product){return _c('option',{key:product.ArticleNumber,domProps:{\"value\":product.ArticleNumber}},[_c('a',{attrs:{\"href\":product.Url}},[_vm._v(_vm._s(product.Name))])])})],2)]):_vm._e(),(_vm.isPartOfSection && _vm.calculatedSack > 0 && _vm.isiframe == false)?_c('div',{staticClass:\"cast-calculator-goto-button\"},[_c('a',{staticClass:\"button\",attrs:{\"href\":_vm.selectedProductUrl}},[_vm._v(_vm._s(_vm.translations.castCalculationGoToProduct))])]):_vm._e()])])])]),_c('div',{staticClass:\"row\"},[(!_vm.isPartOfSection)?_c('div',{staticClass:\"columns small-12 mortar-calculator__button-container\"},[_c('a',{staticClass:\"button\",on:{\"click\":_vm.close}},[_vm._v(_vm._s(_vm.selectedResult.sack > 0\n ? _vm.translations.quantityCalculatorMortarButtonTextWhenResultAvailable\n : _vm.translations.quantityCalculatorMortarButtonText))])]):_vm._e()]),(_vm.isPartOfSection && _vm.calculatedSack > 0)?_c('div',{staticClass:\"quantitycalculator__carbon-savings\"},[(_vm.GetCarbonSavingsModel())?_c('carbon-savings-calculation',{attrs:{\"isConfigurator\":true,\"isCalculator\":true,\"quantity\":_vm.calculatedSack,\"calculationCarbonSavingsModel\":_vm.GetCarbonSavingsModel()}}):_vm._e()],1):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport { Variant, TranslationModel, ProductModel, MortarCalculatorModel, ProductsCannotBeCalculated, CarbonSavingsModel } from \"../models/product\";\r\nimport { IncludedProducts, QuantityCalculationResultModel } from \"../models/QuanityCalculatorCast\";\r\nimport calculatorService from \"../services/CalculatorService\";\r\nimport { CalculatorTypes } from \"../enums/CalculatorTypes\";\r\nimport CarbonSavingsCalculation from \"./ProductPage/CarbonSavingsCalculation\";\r\nimport { EventBus } from \"@/events\";\r\n\r\n@Component({\r\n components: {\r\n CarbonSavingsCalculation,\r\n }\r\n})\r\nexport default class QuantityCalculatorMortarProduct extends Vue {\r\n protected vm!: any;\r\n protected translations: TranslationModel;\r\n protected mortarCalculatorModel: MortarCalculatorModel = {mortarProductsList: [], buildingOptions: []};\r\n protected selectedBuildingOption: string = \"0\";\r\n protected variantsCanBeCalculated: Variant[] = [];\r\n protected productsCannotBeCalculated: ProductsCannotBeCalculated[] = [];\r\n protected results: QuantityCalculationResultModel[] = [];\r\n protected buildingOptionName: string = \"\";\r\n protected hideVariantOptions: boolean = false;\r\n protected selectedVariantId: string = \"0\";\r\n protected totalYta: number = NaN;\r\n protected calculatedSack: number = 0;\r\n protected selectedResult: QuantityCalculationResultModel = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n protected isPartOfSection: boolean = false;\r\n protected noProductSelectedHeader: string = \"\";\r\n protected noProductSelectedText: string = \"\";\r\n protected selectedProductId: string = \"\";\r\n protected products: IncludedProducts[] = [];\r\n protected initialProductData: IncludedProducts[] = [];\r\n protected isMobile: boolean = false;\r\n protected title: string = \"\";\r\n protected isiframe: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected created() {\r\n this.isPartOfSection = this.$attrs.section === \"true\";\r\n this.noProductSelectedHeader = this.$attrs.noproductselectedheader;\r\n this.noProductSelectedText = this.$attrs.noproductselectedtext;\r\n this.products = this.$attrs.includedproducts\r\n ? JSON.parse(this.$attrs.includedproducts)\r\n : null;\r\n this.initialProductData = this.products;\r\n this.isMobile = this.$attrs.ismobile === \"true\";\r\n this.title = this.$attrs.title;\r\n if (!this.isPartOfSection) {\r\n this.mortarCalculatorModel = this.product.mortarCalculatorViewModel as MortarCalculatorModel;\r\n } else {\r\n this.mortarCalculatorModel = {buildingOptions : (JSON.parse(this.$attrs.buildingoptions)), mortarProductsList: []};\r\n }\r\n this.hideVariantOptions = false;\r\n\r\n if (!this.isPartOfSection && this.product.buildingOptionFromRequest && this.product.buildingOptionFromRequest !== \"0\"\r\n && this.product.buildingOptionFromRequest !== \"\") {\r\n this.selectedBuildingOption = this.product.buildingOptionFromRequest;\r\n this.loadVariantOptions();\r\n }\r\n this.isiframe = this.$attrs.isiframe === \"true\";\r\n }\r\n\r\n protected mounted() {\r\n EventBus.$on(\"selectedECOvariant\", (carbonSavingsModel: CarbonSavingsModel) => {\r\n this.products.map(x => {\r\n if (x.carbonSavings.currentVariantId === carbonSavingsModel.ecoVariantId) {\r\n this.selectedProductId = x.ArticleNumber;\r\n this.calculateQuantity();\r\n }\r\n });\r\n });\r\n }\r\n\r\n get product(): ProductModel {\r\n return productStore.product;\r\n }\r\n\r\n get selectedProductName(): string {\r\n const products = this.products.filter(\r\n x => x.ArticleNumber === this.selectedProductId\r\n );\r\n return products !== undefined && products.length > 0\r\n ? products[0].Name\r\n : \"\";\r\n }\r\n\r\n get selectedProductUrl(): string {\r\n return calculatorService.GetSelectedProductUrl(this.products, this.selectedProductId);\r\n }\r\n\r\n get variant(): Variant {\r\n return calculatorService.GetVariant(this.selectedProductId, this.variants, CalculatorTypes.Mortar);\r\n }\r\n\r\n get variants(): Variant[] {\r\n return calculatorService.GetVariants(this.selectedProductId, this.products);\r\n }\r\n\r\n protected changeProduct() {\r\n this.results = [];\r\n this.selectedResult = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n this.loadVariantOptions(true);\r\n this.calculateQuantity();\r\n }\r\n\r\n protected loadVariantOptions(changedProduct: boolean = false) {\r\n this.selectedResult = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n this.results = [];\r\n\r\n if (this.isPartOfSection && changedProduct !== true) {\r\n this.selectedProductId = \"\";\r\n this.calculatedSack = 0;\r\n this.selectedVariantId = \"0\";\r\n this.loadProductsBasedOnVariantOption();\r\n }\r\n if (this.isPartOfSection && this.selectedProductId !== \"\") {\r\n const selectedProductData = this.products.filter(x => x.ArticleNumber === this.selectedProductId);\r\n if (selectedProductData) {\r\n const tempOptions = this.mortarCalculatorModel.buildingOptions;\r\n this.mortarCalculatorModel = selectedProductData[0].MortarModel as MortarCalculatorModel;\r\n this.mortarCalculatorModel.buildingOptions = tempOptions;\r\n }\r\n }\r\n if (this.isPartOfSection && this.selectedProductId === \"\") {\r\n this.productsCannotBeCalculated = [];\r\n this.variantsCanBeCalculated = [];\r\n this.products.map(x => {\r\n x.MortarModel.mortarProductsList.filter(option => option.buildingOption === this.selectedBuildingOption).map(y => {\r\n y.variantsCanBeCalculated.map(z => {\r\n if (this.variantsCanBeCalculated.filter(a => a.variantId === z.variantId).length <= 0) {\r\n this.variantsCanBeCalculated.push(z);\r\n }\r\n });\r\n });\r\n });\r\n } else {\r\n const selectedProductList = this.mortarCalculatorModel && this.mortarCalculatorModel.mortarProductsList.filter(x => x.buildingOption === this.selectedBuildingOption);\r\n const variantsCanBeCalculatedExists = selectedProductList[0].variantsCanBeCalculated && selectedProductList[0].variantsCanBeCalculated.length > 0;\r\n const productsCannotBeCalculatedExists = selectedProductList[0].productsCannotBeCalculated && selectedProductList[0].productsCannotBeCalculated.length > 0;\r\n\r\n if (selectedProductList && selectedProductList.length > 0) {\r\n if (variantsCanBeCalculatedExists || productsCannotBeCalculatedExists) {\r\n this.variantsCanBeCalculated = selectedProductList[0].variantsCanBeCalculated;\r\n this.productsCannotBeCalculated = selectedProductList[0].productsCannotBeCalculated;\r\n\r\n this.buildingOptionName = this.mortarCalculatorModel.buildingOptions.filter(x => x.id === this.selectedBuildingOption)[0].name;\r\n if (this.variantsCanBeCalculated && this.productsCannotBeCalculated && this.variantsCanBeCalculated.length === 0\r\n && this.productsCannotBeCalculated.length === 0) {\r\n this.hideVariantOptions = true;\r\n } else {\r\n this.hideVariantOptions = false;\r\n }\r\n }\r\n } else if (!this.isPartOfSection) {\r\n this.hideVariantOptions = true;\r\n }\r\n }\r\n }\r\n\r\n protected loadProductsBasedOnVariantOption() {\r\n const tempProductData: IncludedProducts[] = [];\r\n this.initialProductData.map(x => {\r\n x.MortarModel.mortarProductsList.filter(option => option.buildingOption === this.selectedBuildingOption).map(y => {\r\n y.variantsCanBeCalculated.map(z => {\r\n if (this.variantsCanBeCalculated.filter(a => a.variantId === z.variantId).length > 0) {\r\n if (tempProductData.filter(item => item.ArticleNumber === x.ArticleNumber).length <= 0) {\r\n tempProductData.push(x);\r\n }\r\n }\r\n });\r\n\r\n if (this.selectedVariantId === \"0\" && y.variantsCanBeCalculated.length > 0) {\r\n tempProductData.push(x);\r\n }\r\n });\r\n });\r\n\r\n if (tempProductData.length > 0) {\r\n this.products = tempProductData;\r\n }\r\n }\r\n\r\n protected GetCarbonSavingsModel() {\r\n return calculatorService.GetCarbonSavingsModel(this.products, this.selectedProductId);\r\n }\r\n\r\n protected calculateQuantity() {\r\n if (this.isPartOfSection && this.selectedProductId === \"\") {\r\n this.loadProductsBasedOnVariantOption();\r\n } else {\r\n this.results = [];\r\n this.calculatedSack = 0;\r\n this.variants.map(x => {\r\n if (x.itemConsumptionCalculatorMortar && this.selectedVariantId && this.totalYta > 0) {\r\n const selectedVariant = this.variantsCanBeCalculated.filter(y => y.variantId === this.selectedVariantId);\r\n const selectedVariantJoint = selectedVariant ?\r\n (selectedVariant[0].itemConsumptionFullJoint > 0 ? selectedVariant[0].itemConsumptionFullJoint : selectedVariant[0].itemConsumptionStringJoint) : 0;\r\n\r\n const sack = Math.ceil((selectedVariantJoint * this.totalYta) / x.itemPrimaryPackagingWeight);\r\n\r\n this.results.push({\r\n variantId: x.variantId,\r\n sack,\r\n itemPackagingWeight: x.itemPrimaryPackagingWeight,\r\n selected: (x.variantId === this.variant.variantId).toString(),\r\n volume: 0,\r\n selectedShape: \"\",\r\n yta: NaN,\r\n layerThickness: NaN,\r\n itemMaterialConsumption: NaN,\r\n variantJoint: selectedVariant[0].itemConsumptionFullJoint > 0 ? \"full\" : \"string\",\r\n width: NaN,\r\n length: NaN,\r\n depth: NaN,\r\n variantSystemId: x.variantSystemId,\r\n });\r\n }\r\n });\r\n\r\n if (this.results.length > 0) {\r\n const selectedVariant = this.results.filter(x => x.variantId === this.variant.variantId)[0];\r\n this.calculatedSack = selectedVariant.sack;\r\n this.selectedResult = selectedVariant;\r\n if (selectedVariant != null) {\r\n productStore.dispatchQuantity(selectedVariant.sack);\r\n }\r\n calculatorService.storeSession(\"mortarquantity\", this.results);\r\n const tempResults: QuantityCalculationResultModel[] = [];\r\n this.results.map(x => {\r\n if (tempResults.filter(a => a.itemPackagingWeight === x.itemPackagingWeight).length <= 0) {\r\n tempResults.push(x);\r\n }\r\n });\r\n this.results = tempResults;\r\n\r\n if (this.GetCarbonSavingsModel()) {\r\n calculatorService.storeSessionQuantity(\"carbonsavingsproductquantity\", this.calculatedSack);\r\n }\r\n } else {\r\n this.calculatedSack = 0;\r\n this.selectedResult = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n }\r\n }\r\n }\r\n\r\n protected close() {\r\n if (this.selectedResult.sack > 0) {\r\n productStore.dispatchQuantity(this.calculatedSack);\r\n }\r\n this.$emit(\"close\", true);\r\n const quantityInput = document.getElementById(\r\n \"variant-selector-quantity\"\r\n );\r\n if (quantityInput) {\r\n quantityInput.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"center\",\r\n inline: \"nearest\"\r\n });\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!./QuantityCalculatorMortarProduct.ts?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!./QuantityCalculatorMortarProduct.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuantityCalculatorMortarProduct.vue?vue&type=template&id=306ecb9d&\"\nimport script from \"./QuantityCalculatorMortarProduct.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuantityCalculatorMortarProduct.ts?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',{staticClass:\"cast-calculator-container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"columns small-12 cast-calculator-diclaimer-title\"},[_vm._v(_vm._s(_vm.translations.mortarCalculationDisclaimerHeader))]),_c('div',{staticClass:\"columns small-12\",domProps:{\"innerHTML\":_vm._s(_vm.product.mortarCalculationDisclaimer)}})]),(!_vm.isModalVisible)?_c('a',{staticClass:\"cast-calculator-icon-calc\",on:{\"click\":_vm.showModal}},[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorStartCalculating))]):_vm._e(),(_vm.isModalVisible)?_c('quantity-calculator-mortar-product',{attrs:{\"vm\":_vm.vm},on:{\"close\":_vm.closeModal}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue } from \"vue-property-decorator\";\r\nimport { TranslationModel, ProductModel } from \"../models/product\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport QuantityCalculatorMortarProduct from \"./QuantityCalculatorMortarProduct\";\r\n\r\n@Component({\r\n components: {\r\n QuantityCalculatorMortarProduct\r\n }\r\n})\r\nexport default class QuantityCalculatorMortarProductContainer extends Vue {\r\n protected vm: any = {};\r\n protected isModalVisible: boolean = false;\r\n protected calculatorUrl: string = \"/ui/img/site/Calculator.png\";\r\n private translations: TranslationModel;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n\r\n if (this.product.buildingOptionFromRequest && this.product.buildingOptionFromRequest !== \"0\" && this.product.buildingOptionFromRequest !== \"\") {\r\n this.isModalVisible = true;\r\n }\r\n }\r\n\r\n get product(): ProductModel {\r\n return productStore.product;\r\n }\r\n\r\n protected showModal() {\r\n this.isModalVisible = true;\r\n }\r\n\r\n protected closeModal() {\r\n this.isModalVisible = false;\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!./QuantityCalculatorMortarProductContainer.ts?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!./QuantityCalculatorMortarProductContainer.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuantityCalculatorMortarProductContainer.vue?vue&type=template&id=10deaf0b&\"\nimport script from \"./QuantityCalculatorMortarProductContainer.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuantityCalculatorMortarProductContainer.ts?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',{staticClass:\"cast-calculator-content-section\"},[_c('div',{staticClass:\"small-12 cast-calculator-header cast-calculator-large\"},[_c('h2',{staticClass:\"cast-calculator-section-header\"},[_vm._v(\"\\n \"+_vm._s(_vm.title)+\"\\n \")])]),_c('div',{staticClass:\"row cast-calculator__content-container\"},[_c('div',{staticClass:\"cast-calculator__inputs-container columns\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calulator-subheader\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.blockApplicableTypesText))])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"columns small-12\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedOption),expression:\"selectedOption\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedOption=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.filterProducts]}},[_c('option',{attrs:{\"value\":\"0\",\"disabled\":\"\",\"selected\":\"\",\"hidden\":\"\"}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.blockApplicableTypesDefaultText)+\"\\n \")]),_c('option',{attrs:{\"value\":\"-1\"}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.applicableTypesCommonNoFiltering)+\"\\n \")]),_vm._l((_vm.applicableFilterOptions),function(filterOption){return _c('option',{key:filterOption.id,domProps:{\"value\":filterOption.id}},[_vm._v(\"\\n \"+_vm._s(filterOption.name)+\"\\n \")])})],2)])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calculator-header\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.blockCalculatorDimensionsOrVolume))])])]),_c('div',{staticClass:\"row cast-calculator-input-container\"},[_c('div',{staticClass:\"columns\"},[_c('label'),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.translations.floorCalculatorYTAText)}}),_c('sup',{attrs:{\"data-children-count\":\"0\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.numberOfSquareMeters),expression:\"numberOfSquareMeters\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.numberOfSquareMeters)},on:{\"keyup\":_vm.measurementChanged,\"change\":_vm.measurementChanged,\"input\":function($event){if($event.target.composing){ return; }_vm.numberOfSquareMeters=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})])])]),_c('div',{staticClass:\"columns cast-calculator-result-container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calculator-subheader\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorCalculatedAmount))])])]),_c('div',{staticClass:\"row-inner floor-calculator-pre-result\"},[_c('div',[(\n _vm.selectedProductId === '' &&\n _vm.calculatedSack === 0\n )?_c('div',{staticClass:\"small-12 columns\"},[_c('h3',[_vm._v(\"\\n \"+_vm._s(_vm.noProductSelectedHeader)+\"\\n \")]),(_vm.selectedOption !== '0' && _vm.selectedOption !== '-1')?_c('div',{staticClass:\"floor-calculator-pre-result-sub\"},[_c('div',[_vm._v(_vm._s(_vm.translations.commonRecommendedProductForText))]),_c('div',[_vm._v(_vm._s(_vm.productFilterSelectedOptionName))])]):_c('div',{staticClass:\"floor-calculator-pre-result-sub\"},[_vm._v(\"\\n \"+_vm._s(_vm.noProductSelectedText)+\"\\n \")])]):_vm._e(),(_vm.selectedProductId !== '' && (_vm.calculatedSack == null || _vm.calculatedSack <= 0))?_c('div',{staticClass:\"small-12 columns\"},[_c('h3',[_vm._v(\"\\n \"+_vm._s(_vm.translations.blockCalculatorResultPreloadHeader)+\"\\n \")]),_c('div',{staticClass:\"cast-calculator-pre-result-sub\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.blockCalculatorResultPreloadText)+\"\\n \")])]):_vm._e(),(_vm.calculatedSack > 0)?_c('div',{staticClass:\"small-12 columns cast-calculator-result\"},[(_vm.selectedResult.sack > 0)?_c('div',{key:_vm.selectedResult.variantId,attrs:{\"value\":_vm.selectedResult.variantId}},[_vm._v(_vm._s(_vm.selectedResult.sack.toLocaleString() + ' ' + _vm.translations.blockCalculatorResultUnitText))]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"small-12 cast-calculator-section-products\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedProductId),expression:\"selectedProductId\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedProductId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.calculateQuantity]}},[_c('option',{attrs:{\"value\":\"\"}},[_vm._v(_vm._s(_vm.translations.castCalculationSelectProduct))]),_vm._l((_vm.products),function(product){return _c('option',{key:product.ArticleNumber,domProps:{\"value\":product.ArticleNumber}},[_c('a',{attrs:{\"href\":product.Url}},[_vm._v(_vm._s(product.Name))])])})],2)]),(_vm.calculatedSack > 0 && _vm.isiframe == false)?_c('div',{staticClass:\"cast-calculator-goto-button\"},[_c('a',{staticClass:\"button\",attrs:{\"href\":_vm.selectedProductUrl}},[_vm._v(_vm._s(_vm.translations.castCalculationGoToProduct))])]):_vm._e()])])]),_c('div',{staticClass:\"quantitycalculator__carbon-savings\"},[(_vm.GetCarbonSavingsModel() && _vm.calculatedSack > 0)?_c('carbon-savings-calculation',{attrs:{\"isConfigurator\":true,\"isCalculator\":true,\"quantity\":_vm.calculatedSack,\"calculationCarbonSavingsModel\":_vm.GetCarbonSavingsModel()}}):_vm._e()],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport { Variant, TranslationModel, ProductModel, ApplicableFilterOption, CarbonSavingsModel } from \"../models/product\";\r\nimport {\r\n IncludedProducts,\r\n QuantityCalculationResultModel\r\n} from \"../models/QuanityCalculatorCast\";\r\nimport calculatorService from \"../services/CalculatorService\";\r\nimport { CalculatorTypes } from \"../enums/CalculatorTypes\";\r\nimport CarbonSavingsCalculation from \"./ProductPage/CarbonSavingsCalculation\";\r\nimport { EventBus } from \"@/events\";\r\n\r\n@Component({\r\n components: {\r\n CarbonSavingsCalculation,\r\n }\r\n})\r\nexport default class QuantityCalculatorBlockProduct extends Vue {\r\n protected vm!: any;\r\n protected quantity: number = 1;\r\n protected calculatedSack: number = 0;\r\n protected results: QuantityCalculationResultModel[] = [];\r\n protected translations: TranslationModel;\r\n protected selectedResult: QuantityCalculationResultModel = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n protected products: IncludedProducts[] = [];\r\n protected selectedProductId: string = \"\";\r\n protected numberOfSquareMeters: number = NaN;\r\n protected isMobile: boolean = false;\r\n protected noProductSelectedHeader: string = \"\";\r\n protected noProductSelectedText: string = \"\";\r\n protected title: string = \"\";\r\n protected text: string = \"\";\r\n protected applicableFilterOptions: ApplicableFilterOption[] = [];\r\n protected selectedOption: string = \"0\";\r\n protected productsUnfiltered: IncludedProducts[] = [];\r\n protected productFilterSelectedOptionName: string = \"\";\r\n protected isiframe: boolean = false;\r\n @Prop()\r\n protected calculationCarbonSavingsModel!: CarbonSavingsModel;\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected created() {\r\n this.noProductSelectedHeader = this.$attrs.noproductselectedheader;\r\n this.noProductSelectedText = this.$attrs.noproductselectedtext;\r\n this.products = this.$attrs.includedproducts\r\n ? JSON.parse(this.$attrs.includedproducts)\r\n : null;\r\n this.isMobile = this.$attrs.ismobile === \"true\";\r\n this.title = this.$attrs.title;\r\n this.text = this.$attrs.text;\r\n this.numberOfSquareMeters = NaN;\r\n this.selectedProductId = \"\";\r\n this.productsUnfiltered = this.products;\r\n this.applicableFilterOptions = this.$attrs.filteroptions\r\n ? JSON.parse(this.$attrs.filteroptions)\r\n : null;\r\n this.isiframe = this.$attrs.isiframe === \"true\";\r\n }\r\n\r\n protected mounted() {\r\n EventBus.$on(\"selectedECOvariant\", (carbonSavingsModel: CarbonSavingsModel) => {\r\n console.log(this.products);\r\n this.products.map(x => {\r\n if (x.carbonSavings.currentVariantId === carbonSavingsModel.ecoVariantId) {\r\n this.selectedProductId = x.ArticleNumber;\r\n this.calculateQuantity();\r\n }\r\n });\r\n });\r\n }\r\n\r\n protected close() {\r\n this.$emit(\"close\", true);\r\n const quantityInput = document.getElementById(\r\n \"variant-selector-quantity\"\r\n );\r\n if (quantityInput) {\r\n quantityInput.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"center\",\r\n inline: \"nearest\"\r\n });\r\n }\r\n }\r\n\r\n get selectedProductUrl(): string {\r\n return calculatorService.GetSelectedProductUrl(this.products, this.selectedProductId);\r\n }\r\n\r\n get product(): ProductModel {\r\n return productStore.product;\r\n }\r\n\r\n get variant(): Variant {\r\n return calculatorService.GetVariant(this.selectedProductId, this.variants, CalculatorTypes.Block);\r\n }\r\n\r\n get variants(): Variant[] {\r\n return calculatorService.GetVariants(this.selectedProductId, this.products);\r\n }\r\n\r\n protected GetCarbonSavingsModel() {\r\n return calculatorService.GetCarbonSavingsModel(this.products, this.selectedProductId);\r\n }\r\n\r\n protected measurementChanged() {\r\n this.calculateQuantity();\r\n }\r\n\r\n\r\n protected calculateQuantity() {\r\n this.results = [];\r\n this.selectedResult = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n this.calculatedSack = 0;\r\n this.variants.map(x => {\r\n if (x.itemConsumptionCalculatorBlock) {\r\n if (this.numberOfSquareMeters > 0) {\r\n this.results.push({\r\n variantId: x.variantId,\r\n sack: Math.ceil(this.numberOfSquareMeters * x.itemMaterialConsumption),\r\n itemPackagingWeight: NaN,\r\n selected: (x.variantId === this.variant.variantId).toString(),\r\n volume: NaN,\r\n selectedShape: \"\",\r\n yta: this.numberOfSquareMeters,\r\n layerThickness: NaN,\r\n itemMaterialConsumption: x.itemMaterialConsumption,\r\n variantJoint: \"\",\r\n width: NaN,\r\n length: NaN,\r\n depth: NaN,\r\n variantSystemId: x.variantSystemId,\r\n });\r\n }\r\n }\r\n });\r\n if (this.results.length > 0) {\r\n const selectedVariant = this.results.filter(x => x.variantId === this.variant.variantId)[0];\r\n this.calculatedSack = selectedVariant.sack;\r\n this.selectedResult = selectedVariant;\r\n if (selectedVariant != null) {\r\n productStore.dispatchQuantity(selectedVariant.sack);\r\n }\r\n calculatorService.storeSession(\"blockquantity\", this.results);\r\n\r\n if (this.GetCarbonSavingsModel()) {\r\n calculatorService.storeSessionQuantity(\"carbonsavingsproductquantity\", this.calculatedSack);\r\n }\r\n }\r\n }\r\n\r\n protected filterProducts() {\r\n if (this.selectedOption && this.selectedOption !== \"-1\") {\r\n this.selectedProductId = \"\";\r\n this.results = [];\r\n this.calculatedSack = 0;\r\n this.selectedResult = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n const tempProducts = this.productsUnfiltered.filter(x => x.ShowProductForType && x.ShowProductForType.indexOf(this.selectedOption) > -1);\r\n if (tempProducts && tempProducts.length > 0) {\r\n this.products = tempProducts;\r\n this.productFilterSelectedOptionName = this.applicableFilterOptions.filter(x => x.id === this.selectedOption)[0].name;\r\n }\r\n } else if (this.selectedOption === \"-1\") {\r\n this.products = this.productsUnfiltered;\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!./QuantityCalculatorBlockProduct.ts?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!./QuantityCalculatorBlockProduct.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuantityCalculatorBlockProduct.vue?vue&type=template&id=e71d07ac&\"\nimport script from \"./QuantityCalculatorBlockProduct.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuantityCalculatorBlockProduct.ts?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',{staticClass:\"cast-calculator-content-section\"},[_c('div',{staticClass:\"small-12 cast-calculator-header cast-calculator-large\"},[_c('h2',{staticClass:\"cast-calculator-section-header\"},[_vm._v(\"\\n \"+_vm._s(_vm.title)+\"\\n \")])]),_c('div',{staticClass:\"row cast-calculator__content-container\"},[_c('div',{staticClass:\"cast-calculator__inputs-container columns\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calculator-header\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.sandQuantityCalculatorSandBoxDimensionsText))])])]),_c('div',{staticClass:\"row cast-calculator-input-container\"},[_c('div',{staticClass:\"columns\"},[_c('label'),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.translations.sandQuantityCalculatorSandBoxWidth + ' (' + _vm.translations.quantityCalculatorMeterUnitText + ')')}}),_c('sup',{attrs:{\"data-children-count\":\"0\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.width),expression:\"width\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.width)},on:{\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.width=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"columns\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorSandBoxLength + ' (' + _vm.translations.quantityCalculatorMeterUnitText + ')')+\"\\n \"),_c('sup',{attrs:{\"data-children-count\":\"0\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.length),expression:\"length\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.length)},on:{\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.length=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"columns\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorSandBoxDepth + ' (' + _vm.translations.quantityCalculatorCentiMeterUnitText + ')')+\"\\n \"),_c('sup',{attrs:{\"data-children-count\":\"0\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.depth),expression:\"depth\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.depth)},on:{\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.depth=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})])])]),_c('div',{staticClass:\"columns cast-calculator-result-container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calculator-subheader\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorCalculatedAmount))])])]),_c('div',{staticClass:\"row-inner floor-calculator-pre-result\"},[_c('div',[(\n _vm.selectedProductId === '' &&\n _vm.calculatedSack === 0\n )?_c('div',{staticClass:\"small-12 columns\"},[_c('h3',[_vm._v(\"\\n \"+_vm._s(_vm.noProductSelectedHeader)+\"\\n \")]),_c('div',{staticClass:\"floor-calculator-pre-result-sub\"},[_vm._v(\"\\n \"+_vm._s(_vm.noProductSelectedText)+\"\\n \")])]):_vm._e(),(_vm.selectedProductId !== '' && (_vm.calculatedSack == null || _vm.calculatedSack <= 0))?_c('div',{staticClass:\"small-12 columns\"},[_c('h3',[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorSandBoxResultPreloadHeader)+\"\\n \")]),_c('div',{staticClass:\"floor-calculator-pre-result-sub\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorSandBoxResultPreloadText)+\"\\n \")])]):_vm._e(),(_vm.calculatedSack > 0)?_c('div',{staticClass:\"small-12 columns cast-calculator-result\"},[(_vm.selectedResult.sack > 0)?_c('div',{key:_vm.selectedResult.variantId,attrs:{\"value\":_vm.selectedResult.variantId}},[_vm._v(_vm._s(_vm.selectedResult.sack.toLocaleString() + ' '\n + _vm.translations.castQuantityCalculatorSacks)+\"\\n \"),_c('span',{staticClass:\"weight-nowrap\"},[_vm._v(_vm._s(' (' + _vm.selectedResult.itemPackagingWeight.toLocaleString() + \" kg\" + ') ')+\"\\n \")])]):_vm._e(),_vm._l((_vm.results.filter(function (x) { return x.selected !== 'true'; })),function(item){return _c('div',{key:item.variantId,attrs:{\"value\":item.variantId}},[_c('span',[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorOr))]),_vm._v(\"\\n \"+_vm._s(item.sack.toLocaleString() + ' ' + _vm.translations.castQuantityCalculatorSacks)+\"\\n \"),_c('span',{staticClass:\"weight-nowrap\"},[_vm._v(_vm._s(' (' + item.itemPackagingWeight.toLocaleString() + \" kg\" + ') '))])])})],2):_vm._e(),_c('div',{staticClass:\"small-12 cast-calculator-section-products\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedProductId),expression:\"selectedProductId\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedProductId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.calculateQuantity]}},[_c('option',{attrs:{\"value\":\"\"}},[_vm._v(_vm._s(_vm.translations.castCalculationSelectProduct))]),_vm._l((_vm.products),function(product){return _c('option',{key:product.ArticleNumber,domProps:{\"value\":product.ArticleNumber}},[_c('a',{attrs:{\"href\":product.Url}},[_vm._v(_vm._s(product.Name))])])})],2)]),(_vm.calculatedSack > 0 && _vm.isiframe == false)?_c('div',{staticClass:\"cast-calculator-goto-button\"},[_c('a',{staticClass:\"button\",attrs:{\"href\":_vm.selectedProductUrl}},[_vm._v(_vm._s(_vm.translations.castCalculationGoToProduct))])]):_vm._e()])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport { Variant, TranslationModel, ProductModel } from \"../models/product\";\r\nimport {\r\n IncludedProducts,\r\n QuantityCalculationResultModel\r\n} from \"../models/QuanityCalculatorCast\";\r\nimport calculatorService from \"../services/CalculatorService\";\r\nimport { CalculatorTypes } from \"../enums/CalculatorTypes\";\r\n\r\n@Component\r\nexport default class QuantityCalculatorSandboxProduct extends Vue {\r\n protected vm!: any;\r\n protected quantity: number = 1;\r\n protected calculatedSack: number = 0;\r\n protected results: QuantityCalculationResultModel[] = [];\r\n protected translations: TranslationModel;\r\n protected selectedResult: QuantityCalculationResultModel = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n protected products: IncludedProducts[] = [];\r\n protected selectedProductId: string = \"\";\r\n protected volume?: number = undefined;\r\n protected width?: number = undefined;\r\n protected length?: number = undefined;\r\n protected depth?: number = undefined;\r\n protected isMobile: boolean = false;\r\n protected noProductSelectedHeader: string = \"\";\r\n protected noProductSelectedText: string = \"\";\r\n protected title: string = \"\";\r\n protected text: string = \"\";\r\n protected isiframe: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected created() {\r\n this.noProductSelectedHeader = this.$attrs.noproductselectedheader;\r\n this.noProductSelectedText = this.$attrs.noproductselectedtext;\r\n this.products = this.$attrs.includedproducts\r\n ? JSON.parse(this.$attrs.includedproducts)\r\n : null;\r\n this.isMobile = this.$attrs.ismobile === \"true\";\r\n this.title = this.$attrs.title;\r\n this.text = this.$attrs.text;\r\n this.width = undefined;\r\n this.length = undefined;\r\n this.depth = undefined;\r\n this.selectedProductId = \"\";\r\n this.isiframe = this.$attrs.isiframe === \"true\";\r\n }\r\n\r\n protected close() {\r\n this.$emit(\"close\", true);\r\n const quantityInput = document.getElementById(\r\n \"variant-selector-quantity\"\r\n );\r\n if (quantityInput) {\r\n quantityInput.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"center\",\r\n inline: \"nearest\"\r\n });\r\n }\r\n }\r\n\r\n get selectedProductUrl(): string {\r\n return calculatorService.GetSelectedProductUrl(this.products, this.selectedProductId);\r\n }\r\n\r\n get selectedProductMaterialConsumption(): number {\r\n return calculatorService.GetSelectedProductMaterialConsumption(this.products, this.selectedProductId);\r\n }\r\n\r\n get product(): ProductModel {\r\n return productStore.product;\r\n }\r\n\r\n get variant(): Variant {\r\n return calculatorService.GetVariant(this.selectedProductId, this.variants, CalculatorTypes.SandboxSand);\r\n }\r\n\r\n get variants(): Variant[] {\r\n return calculatorService.GetVariants(this.selectedProductId, this.products);\r\n }\r\n\r\n protected calculateQuantity() {\r\n this.results = [];\r\n this.selectedResult = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n this.calculatedSack = 0;\r\n this.volume = calculatorService.CalculateVolumeSandBox(this.width, this.length, this.depth);\r\n this.variants.map(x => {\r\n if (x.itemConsumptionCalculatorSandBoxSand) {\r\n if (this.volume && this.results.filter(a => a.itemPackagingWeight === Number(x.itemPrimaryPackagingWeight)).length <= 0) {\r\n this.results.push({\r\n variantId: x.variantId,\r\n sack: x.itemPrimaryPackagingWeight !== 0 && this.selectedProductMaterialConsumption !== 0 ?\r\n Math.ceil((this.volume * 1000 * this.selectedProductMaterialConsumption) / x.itemPrimaryPackagingWeight) : 0,\r\n itemPackagingWeight: Number(x.itemPrimaryPackagingWeight),\r\n selected: (x.variantId === this.variant.variantId).toString(),\r\n volume: this.volume,\r\n selectedShape: \"\",\r\n yta: NaN,\r\n layerThickness: NaN,\r\n itemMaterialConsumption: NaN,\r\n variantJoint: \"\",\r\n width: this.width,\r\n length: this.length,\r\n depth: this.depth,\r\n variantSystemId: x.variantSystemId,\r\n });\r\n }\r\n }\r\n });\r\n if (this.results.length > 0) {\r\n const selectedVariant = this.results.filter(x => x.variantId === this.variant.variantId)[0];\r\n this.calculatedSack = selectedVariant.sack;\r\n this.selectedResult = selectedVariant;\r\n if (selectedVariant != null) {\r\n productStore.dispatchQuantity(selectedVariant.sack);\r\n }\r\n calculatorService.storeSession(\"sandboxquantity\", this.results);\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!./QuantityCalculatorSandboxProduct.ts?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!./QuantityCalculatorSandboxProduct.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuantityCalculatorSandboxProduct.vue?vue&type=template&id=268267bf&\"\nimport script from \"./QuantityCalculatorSandboxProduct.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuantityCalculatorSandboxProduct.ts?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',{staticClass:\"cast-calculator-content-section\"},[_c('div',{staticClass:\"small-12 cast-calculator-header cast-calculator-large\"},[_c('h2',{staticClass:\"cast-calculator-section-header\"},[_vm._v(\"\\n \"+_vm._s(_vm.title)+\"\\n \")])]),_c('div',{staticClass:\"row cast-calculator__content-container\"},[_c('div',{staticClass:\"cast-calculator__inputs-container columns\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calculator-header\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.sandQuantityCalculatorFogSandDimensionsText))])])]),_c('div',{staticClass:\"row cast-calculator-input-container\"},[_c('div',{staticClass:\"columns\"},[_c('label'),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.translations.sandQuantityCalculatorFogSandWidth + ' (' + _vm.translations.quantityCalculatorMilliMeterUnitText + ')')}}),_c('sup',{attrs:{\"data-children-count\":\"0\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.width),expression:\"width\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.width)},on:{\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.width=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"columns\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorFogSandLength + ' (' + _vm.translations.quantityCalculatorMilliMeterUnitText + ')')+\"\\n \"),_c('sup',{style:(_vm.superItemStyle),attrs:{\"data-children-count\":\"0\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.length),expression:\"length\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.length)},on:{\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.length=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"columns\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.translations.sandQuantityCalculatorFogSandThickness + ' (' + _vm.translations.quantityCalculatorMilliMeterUnitText + ')')}}),_c('sup',{attrs:{\"data-children-count\":\"0\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.thickness),expression:\"thickness\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.thickness)},on:{\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.thickness=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calculator-header calculator-additional-input-row\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.sandQuantityCalculatorFogSandAdditionalDimensionsText))])])]),_c('div',{staticClass:\"row cast-calculator-input-container\"},[_c('div',{staticClass:\"columns\"},[_c('label'),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.translations.sandQuantityCalculatorFogSandJointWidth + ' (' + _vm.translations.quantityCalculatorMilliMeterUnitText + ')')}}),_c('sup',{attrs:{\"data-children-count\":\"0\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.jointwidth),expression:\"jointwidth\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.jointwidth)},on:{\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.jointwidth=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"columns\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.translations.sandQuantityCalculatorFogSandMarkyta + ' (' + _vm.translations.quantityCalculatorMeterSquareUnitText + ')')}}),_c('sup',{attrs:{\"data-children-count\":\"0\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.markyta),expression:\"markyta\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.markyta)},on:{\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.markyta=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})])])]),_c('div',{staticClass:\"columns cast-calculator-result-container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calculator-subheader\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorCalculatedAmount))])])]),_c('div',{staticClass:\"row-inner floor-calculator-pre-result\"},[_c('div',[(\n _vm.selectedProductId === '' &&\n _vm.calculatedSack === 0\n )?_c('div',{staticClass:\"small-12 columns\"},[_c('h3',[_vm._v(\"\\n \"+_vm._s(_vm.noProductSelectedHeader)+\"\\n \")]),_c('div',{staticClass:\"floor-calculator-pre-result-sub\"},[_vm._v(\"\\n \"+_vm._s(_vm.noProductSelectedText)+\"\\n \")])]):_vm._e(),(_vm.selectedProductId !== '' && (_vm.calculatedSack == null || _vm.calculatedSack <= 0))?_c('div',{staticClass:\"small-12 columns\"},[_c('h3',[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorFogSandResultPreloadHeader)+\"\\n \")]),_c('div',{staticClass:\"floor-calculator-pre-result-sub\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorFogSandResultPreloadText)+\"\\n \")])]):_vm._e(),(_vm.calculatedSack > 0)?_c('div',{staticClass:\"small-12 columns cast-calculator-result\"},[(_vm.selectedResult.sack > 0)?_c('div',{key:_vm.selectedResult.variantId,attrs:{\"value\":_vm.selectedResult.variantId}},[_vm._v(_vm._s(_vm.selectedResult.sack.toLocaleString() + ' '\n + _vm.translations.castQuantityCalculatorSacks)+\"\\n \"),_c('span',{staticClass:\"weight-nowrap\"},[_vm._v(_vm._s(' (' + _vm.selectedResult.itemPackagingWeight.toLocaleString() + \" kg\" + ') ')+\"\\n \")])]):_vm._e(),_vm._l((_vm.results.filter(function (x) { return x.selected !== 'true'; })),function(item){return _c('div',{key:item.variantId,attrs:{\"value\":item.variantId}},[_c('span',[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorOr))]),_vm._v(\"\\n \"+_vm._s(item.sack.toLocaleString() + ' ' + _vm.translations.castQuantityCalculatorSacks)+\"\\n \"),_c('span',{staticClass:\"weight-nowrap\"},[_vm._v(_vm._s(' (' + item.itemPackagingWeight.toLocaleString() + \" kg\" + ') '))])])})],2):_vm._e(),_c('div',{staticClass:\"small-12 cast-calculator-section-products\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedProductId),expression:\"selectedProductId\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedProductId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.calculateQuantity]}},[_c('option',{attrs:{\"value\":\"\"}},[_vm._v(_vm._s(_vm.translations.castCalculationSelectProduct))]),_vm._l((_vm.products),function(product){return _c('option',{key:product.ArticleNumber,domProps:{\"value\":product.ArticleNumber}},[_c('a',{attrs:{\"href\":product.Url}},[_vm._v(_vm._s(product.Name))])])})],2)]),(_vm.calculatedSack > 0 && _vm.isiframe == false)?_c('div',{staticClass:\"cast-calculator-goto-button\"},[_c('a',{staticClass:\"button\",attrs:{\"href\":_vm.selectedProductUrl}},[_vm._v(_vm._s(_vm.translations.castCalculationGoToProduct))])]):_vm._e()])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport { Variant, TranslationModel, ProductModel } from \"../models/product\";\r\nimport {\r\n IncludedProducts,\r\n QuantityCalculationResultModel\r\n} from \"../models/QuanityCalculatorCast\";\r\nimport calculatorService from \"../services/CalculatorService\";\r\nimport { CalculatorTypes } from \"../enums/CalculatorTypes\";\r\n\r\n@Component\r\nexport default class QuantityCalculatorFogsandProduct extends Vue {\r\n protected vm!: any;\r\n protected quantity: number = 1;\r\n protected calculatedSack: number = 0;\r\n protected results: QuantityCalculationResultModel[] = [];\r\n protected translations: TranslationModel;\r\n protected selectedResult: QuantityCalculationResultModel = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n protected products: IncludedProducts[] = [];\r\n protected selectedProductId: string = \"\";\r\n protected weight?: number = undefined;\r\n protected width?: number = undefined;\r\n protected length?: number = undefined;\r\n protected thickness?: number = undefined;\r\n protected jointwidth?: number = undefined;\r\n protected markyta?: number = undefined;\r\n protected isMobile: boolean = false;\r\n protected noProductSelectedHeader: string = \"\";\r\n protected noProductSelectedText: string = \"\";\r\n protected title: string = \"\";\r\n protected text: string = \"\";\r\n protected isiframe: boolean = false;\r\n protected superItemStyle: object = {} as object;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected created() {\r\n this.noProductSelectedHeader = this.$attrs.noproductselectedheader;\r\n this.noProductSelectedText = this.$attrs.noproductselectedtext;\r\n this.products = this.$attrs.includedproducts\r\n ? JSON.parse(this.$attrs.includedproducts)\r\n : null;\r\n this.isMobile = this.$attrs.ismobile === \"true\";\r\n this.title = this.$attrs.title;\r\n this.text = this.$attrs.text;\r\n this.width = undefined;\r\n this.length = undefined;\r\n this.thickness = undefined;\r\n this.jointwidth = undefined;\r\n this.markyta = undefined;\r\n this.selectedProductId = \"\";\r\n this.isiframe = this.$attrs.isiframe === \"true\";\r\n this.superItemStyle = { \"font-size\" : \"0.7em\"};\r\n }\r\n\r\n protected close() {\r\n this.$emit(\"close\", true);\r\n const quantityInput = document.getElementById(\r\n \"variant-selector-quantity\"\r\n );\r\n if (quantityInput) {\r\n quantityInput.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"center\",\r\n inline: \"nearest\"\r\n });\r\n }\r\n }\r\n\r\n get selectedProductUrl(): string {\r\n return calculatorService.GetSelectedProductUrl(this.products, this.selectedProductId);\r\n }\r\n\r\n get product(): ProductModel {\r\n return productStore.product;\r\n }\r\n\r\n get variant(): Variant {\r\n return calculatorService.GetVariant(this.selectedProductId, this.variants, CalculatorTypes.FogSand);\r\n }\r\n\r\n get variants(): Variant[] {\r\n return calculatorService.GetVariants(this.selectedProductId, this.products);\r\n }\r\n\r\n protected calculateQuantity() {\r\n this.results = [];\r\n this.selectedResult = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n this.calculatedSack = 0;\r\n this.variants.map(x => {\r\n if (x.itemConsumptionCalculatorFogSand) {\r\n this.weight = calculatorService.CalculateWeightFogSand(this.width, this.length, this.thickness, this.jointwidth, this.markyta,\r\n x.fogSandMultiplyingFactor);\r\n if (this.weight && this.results.filter(a => a.itemPackagingWeight === Number(x.itemPrimaryPackagingWeight)).length <= 0) {\r\n this.results.push({\r\n variantId: x.variantId,\r\n sack: x.itemPrimaryPackagingWeight !== 0 ?\r\n Math.ceil(this.weight / x.itemPrimaryPackagingWeight) : 0,\r\n itemPackagingWeight: Number(x.itemPrimaryPackagingWeight),\r\n selected: (x.variantId === this.variant.variantId).toString(),\r\n volume: 0,\r\n selectedShape: \"\",\r\n yta: NaN,\r\n layerThickness: NaN,\r\n itemMaterialConsumption: NaN,\r\n variantJoint: \"\",\r\n width: this.width,\r\n length: this.length,\r\n thickness: this.thickness,\r\n jointwidth: this.jointwidth,\r\n markyta: this.markyta,\r\n variantSystemId: x.variantSystemId,\r\n });\r\n }\r\n }\r\n });\r\n if (this.results.length > 0) {\r\n const selectedVariant = this.results.filter(x => x.variantId === this.variant.variantId)[0];\r\n this.calculatedSack = selectedVariant.sack;\r\n this.selectedResult = selectedVariant;\r\n if (selectedVariant != null) {\r\n productStore.dispatchQuantity(selectedVariant.sack);\r\n }\r\n calculatorService.storeSession(\"fogsandquantity\", this.results);\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!./QuantityCalculatorFogsandProduct.ts?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!./QuantityCalculatorFogsandProduct.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuantityCalculatorFogsandProduct.vue?vue&type=template&id=46181aaf&\"\nimport script from \"./QuantityCalculatorFogsandProduct.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuantityCalculatorFogsandProduct.ts?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',{staticClass:\"product-wv-consumption-cal\",attrs:{\"id\":\"sand-calculator\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns\"},[_c('strong',[_vm._v(\"\\n \"+_vm._s(_vm.itemConsumptionCalculatorSandBoxSand ? _vm.translations.sandQuantityCalculatorSandBoxDisclaimerHeader :\n _vm.translations.sandQuantityCalculatorFogSandDisclaimerHeader)+\"\\n \")])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns disclaimer\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.itemConsumptionCalculatorSandBoxSand ? _vm.product.sandBoxCalculationDisclaimer : _vm.product.fogSandCalculationDisclaimer)}})])]),(_vm.itemConsumptionCalculatorFogSand)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns fogsand-productpage-dimensions-text\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.sandQuantityCalculatorFogSandDimensionsText))])])]):_vm._e(),_c('div',{class:'row sand-calc-hide-for-medium' + (_vm.itemConsumptionCalculatorFogSand ? ' fogsand-highlighted-inputs' : ' '),style:(_vm.margin)},[_c('div',{staticClass:\"small-12 medium-4 columns col2centermargin\"},[_c('label',{staticClass:\"label-input-sand\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorSandBoxWidth)+\"\\n \"),_c('div',{staticClass:\"quantity-input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.width),expression:\"width\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.width)},on:{\"focus\":function($event){_vm.isCalculating = true},\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.width=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',{staticClass:\"product-item-price-unit\",domProps:{\"innerHTML\":_vm._s(_vm.itemConsumptionCalculatorSandBoxSand ? _vm.translations.quantityCalculatorMeterUnitText : _vm.translations.quantityCalculatorMilliMeterUnitText)}})])])]),_c('div',{staticClass:\"small-12 medium-4 columns col2centermargin\"},[_c('label',{staticClass:\"label-input-sand\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorSandBoxLength)+\"\\n \"),_c('div',{staticClass:\"quantity-input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.length),expression:\"length\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.length)},on:{\"focus\":function($event){_vm.isCalculating = true},\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.length=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',{staticClass:\"product-item-price-unit\",domProps:{\"innerHTML\":_vm._s(_vm.itemConsumptionCalculatorSandBoxSand ? _vm.translations.quantityCalculatorMeterUnitText : _vm.translations.quantityCalculatorMilliMeterUnitText)}})])])]),(_vm.itemConsumptionCalculatorSandBoxSand)?_c('div',{staticClass:\"small-12 medium-4 columns col2centermargin\",style:(_vm.floatLeft)},[_c('label',{staticClass:\"label-input-sand\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorSandBoxDepth)+\"\\n \"),_c('div',{staticClass:\"quantity-input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.depth),expression:\"depth\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.depth)},on:{\"focus\":function($event){_vm.isCalculating = true},\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.depth=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',{staticClass:\"product-item-price-unit\",domProps:{\"innerHTML\":_vm._s(_vm.translations.quantityCalculatorCentiMeterUnitText)}})])])]):_vm._e(),(_vm.itemConsumptionCalculatorFogSand)?_c('div',{staticClass:\"small-12 medium-4 columns col2centermargin\",style:(_vm.floatLeft)},[_c('label',{staticClass:\"label-input-sand\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorFogSandThickness)+\"\\n \"),_c('div',{staticClass:\"quantity-input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.thickness),expression:\"thickness\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.thickness)},on:{\"focus\":function($event){_vm.isCalculating = true},\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.thickness=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',{staticClass:\"product-item-price-unit\",domProps:{\"innerHTML\":_vm._s(_vm.translations.quantityCalculatorMilliMeterUnitText)}})])])]):_vm._e()]),_c('div',{class:'row sand-calc-show-for-medium' + (_vm.itemConsumptionCalculatorFogSand ? ' fogsand-highlighted-inputs' : ' '),style:(_vm.margin)},[_c('div',{staticClass:\"small-12 medium-6 columns col2centermargin\"},[_c('label',{staticClass:\"label-input-sand\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorSandBoxWidth)+\"\\n \"),_c('div',{staticClass:\"quantity-input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.width),expression:\"width\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.width)},on:{\"focus\":function($event){_vm.isCalculating = true},\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.width=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',{staticClass:\"product-item-price-unit\",domProps:{\"innerHTML\":_vm._s(_vm.itemConsumptionCalculatorSandBoxSand ? _vm.translations.quantityCalculatorMeterUnitText : _vm.translations.quantityCalculatorMilliMeterUnitText)}})])])]),_c('div',{staticClass:\"small-12 medium-6 columns col2centermargin\"},[_c('label',{staticClass:\"label-input-sand\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorSandBoxLength)+\"\\n \"),_c('div',{staticClass:\"quantity-input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.length),expression:\"length\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.length)},on:{\"focus\":function($event){_vm.isCalculating = true},\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.length=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',{staticClass:\"product-item-price-unit\",domProps:{\"innerHTML\":_vm._s(_vm.itemConsumptionCalculatorSandBoxSand ? _vm.translations.quantityCalculatorMeterUnitText : _vm.translations.quantityCalculatorMilliMeterUnitText)}})])])]),(_vm.itemConsumptionCalculatorSandBoxSand)?_c('div',{staticClass:\"small-12 medium-6 columns col2centermargin\",style:(_vm.floatLeft)},[_c('label',{staticClass:\"label-input-sand\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorSandBoxDepth)+\"\\n \"),_c('div',{staticClass:\"quantity-input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.depth),expression:\"depth\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.depth)},on:{\"focus\":function($event){_vm.isCalculating = true},\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.depth=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',{staticClass:\"product-item-price-unit\",domProps:{\"innerHTML\":_vm._s(_vm.translations.quantityCalculatorCentiMeterUnitText)}})])])]):_vm._e(),(_vm.itemConsumptionCalculatorFogSand)?_c('div',{staticClass:\"small-12 medium-6 columns col2centermargin\",style:(_vm.floatLeft)},[_c('label',{staticClass:\"label-input-sand\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorFogSandThickness)+\"\\n \"),_c('div',{staticClass:\"quantity-input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.thickness),expression:\"thickness\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.thickness)},on:{\"focus\":function($event){_vm.isCalculating = true},\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.thickness=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',{staticClass:\"product-item-price-unit\",domProps:{\"innerHTML\":_vm._s(_vm.translations.quantityCalculatorMilliMeterUnitText)}})])])]):_vm._e()]),(_vm.itemConsumptionCalculatorFogSand)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns fogsand-productpage-dimensions-text fogsand-second-header\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.sandQuantityCalculatorFogSandAdditionalDimensionsText))])])]):_vm._e(),(_vm.itemConsumptionCalculatorFogSand)?_c('div',{staticClass:\"row fogsand-highlighted-inputs sand-calc-hide-for-medium\",style:(_vm.margin)},[(_vm.itemConsumptionCalculatorFogSand)?_c('div',{staticClass:\"small-12 medium-4 columns col2centermargin\"},[_c('label',{staticClass:\"label-input-sand\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorFogSandJointWidth)+\"\\n \"),_c('div',{staticClass:\"quantity-input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.jointwidth),expression:\"jointwidth\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.jointwidth)},on:{\"focus\":function($event){_vm.isCalculating = true},\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.jointwidth=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',{staticClass:\"product-item-price-unit\",domProps:{\"innerHTML\":_vm._s(_vm.translations.quantityCalculatorMilliMeterUnitText)}})])])]):_vm._e(),(_vm.itemConsumptionCalculatorFogSand)?_c('div',{staticClass:\"small-12 medium-4 columns col2centermargin\",style:(_vm.floatLeft)},[_c('label',{staticClass:\"label-input-sand\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorFogSandMarkyta)+\"\\n \"),_c('div',{staticClass:\"quantity-input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.markyta),expression:\"markyta\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.markyta)},on:{\"focus\":function($event){_vm.isCalculating = true},\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.markyta=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',{staticClass:\"product-item-price-unit\",domProps:{\"innerHTML\":_vm._s(_vm.translations.quantityCalculatorMeterSquareUnitText)}})])])]):_vm._e()]):_vm._e(),(_vm.itemConsumptionCalculatorFogSand)?_c('div',{staticClass:\"row fogsand-highlighted-inputs sand-calc-show-for-medium\",style:(_vm.margin)},[(_vm.itemConsumptionCalculatorFogSand)?_c('div',{staticClass:\"small-12 medium-6 columns col2centermargin\"},[_c('label',{staticClass:\"label-input-sand\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorFogSandJointWidth)+\"\\n \"),_c('div',{staticClass:\"quantity-input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.jointwidth),expression:\"jointwidth\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.jointwidth)},on:{\"focus\":function($event){_vm.isCalculating = true},\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.jointwidth=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',{staticClass:\"product-item-price-unit\",domProps:{\"innerHTML\":_vm._s(_vm.translations.quantityCalculatorMilliMeterUnitText)}})])])]):_vm._e(),(_vm.itemConsumptionCalculatorFogSand)?_c('div',{staticClass:\"small-12 medium-6 columns col2centermargin\",style:(_vm.floatLeft)},[_c('label',{staticClass:\"label-input-sand\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.sandQuantityCalculatorFogSandMarkyta)+\"\\n \"),_c('div',{staticClass:\"quantity-input-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.markyta),expression:\"markyta\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.markyta)},on:{\"focus\":function($event){_vm.isCalculating = true},\"keyup\":_vm.calculateQuantity,\"change\":_vm.calculateQuantity,\"input\":function($event){if($event.target.composing){ return; }_vm.markyta=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',{staticClass:\"product-item-price-unit\",domProps:{\"innerHTML\":_vm._s(_vm.translations.quantityCalculatorMeterSquareUnitText)}})])])]):_vm._e()]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport { Variant, TranslationModel, ProductModel } from \"../models/product\";\r\nimport { QuantityCalculationResultModel } from \"../models/QuanityCalculatorCast\";\r\nimport calculatorService from \"../services/CalculatorService\";\r\n\r\n@Component\r\nexport default class ConsumptionCalculatorSand extends Vue {\r\n protected width?: number = undefined;\r\n protected length?: number = undefined;\r\n protected depth?: number = undefined;\r\n protected thickness?: number = undefined;\r\n protected jointwidth?: number = undefined;\r\n protected markyta?: number = undefined;\r\n protected translations: TranslationModel;\r\n protected floatLeft: object = {} as object;\r\n protected margin: object = {} as object;\r\n private isCalculating: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected created() {\r\n this.width = undefined;\r\n this.length = undefined;\r\n this.depth = undefined;\r\n this.thickness = undefined;\r\n this.jointwidth = undefined;\r\n this.markyta = undefined;\r\n this.floatLeft = { float : \"left\"};\r\n this.margin = { \"margin-left\" : \"0\"};\r\n\r\n this.setMeasurementsFromSessionSandBox();\r\n this.setMeasurementsFromSessionFogSand();\r\n }\r\n\r\n get product(): ProductModel {\r\n return productStore.product;\r\n }\r\n\r\n get variant(): Variant {\r\n return productStore.variant;\r\n }\r\n\r\n get quantity(): number {\r\n return productStore.quantity;\r\n }\r\n\r\n get itemConsumptionCalculatorSandBoxSand(): boolean {\r\n return productStore.variant.itemConsumptionCalculatorSandBoxSand;\r\n }\r\n\r\n get itemConsumptionCalculatorFogSand(): boolean {\r\n return productStore.variant.itemConsumptionCalculatorFogSand;\r\n }\r\n\r\n get itemConsumptionCalculator(): string {\r\n return productStore.variant.itemConsumptionCalculator;\r\n }\r\n\r\n get itemMaterialConsumption(): number {\r\n return productStore.variant.itemMaterialConsumption;\r\n }\r\n\r\n @Watch(\"quantity\")\r\n protected onQuantityChange(value: number, oldValue: number) {\r\n if (this.isCalculating) {\r\n return;\r\n }\r\n productStore.dispatchQuantity(value);\r\n }\r\n\r\n private calculateQuantity() {\r\n if (this.variant.itemConsumptionCalculatorSandBoxSand) {\r\n const volume = calculatorService.CalculateVolumeSandBox(this.width, this.length, this.depth);\r\n if (volume && this.product.productMaterialConsumption > 0 && this.variant.itemPrimaryPackagingWeight > 0) {\r\n const quantity = Math.ceil((volume * 1000 * this.product.productMaterialConsumption) / this.variant.itemPrimaryPackagingWeight);\r\n productStore.dispatchQuantity(quantity);\r\n } else {\r\n productStore.dispatchQuantity(1);\r\n }\r\n } else if (this.variant.itemConsumptionCalculatorFogSand) {\r\n const weight = calculatorService.CalculateWeightFogSand(this.width, this.length, this.thickness, this.jointwidth, this.markyta,\r\n this.variant.fogSandMultiplyingFactor);\r\n if (weight && this.variant.itemPrimaryPackagingWeight > 0) {\r\n const quantity = Math.ceil(weight / this.variant.itemPrimaryPackagingWeight);\r\n productStore.dispatchQuantity(quantity);\r\n } else {\r\n productStore.dispatchQuantity(1);\r\n }\r\n }\r\n }\r\n\r\n private storeSession(key: string, value: number): void {\r\n if (typeof(sessionStorage) !== \"undefined\") {\r\n sessionStorage.setItem(this.variant.variantId + key, value.toString());\r\n }\r\n }\r\n\r\n private setMeasurementsFromSessionSandBox() {\r\n const sandboxquantity = this.getSessionWithoutVariantId(\"sandboxquantity\");\r\n if (sandboxquantity !== \"\") {\r\n const quantityCalcResults = JSON.parse(sandboxquantity);\r\n if (quantityCalcResults !== undefined) {\r\n const currentVariantData = quantityCalcResults.filter((x: QuantityCalculationResultModel) => x.variantId === this.variant.variantId);\r\n if (currentVariantData.length > 0 && Number(currentVariantData[0].sack) && currentVariantData[0].sack > 0) {\r\n this.width = currentVariantData[0].width;\r\n this.length = currentVariantData[0].length;\r\n this.depth = currentVariantData[0].depth;\r\n productStore.dispatchQuantity(currentVariantData[0].sack);\r\n\r\n sessionStorage.setItem(\"sandboxquantity\", \"\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n private setMeasurementsFromSessionFogSand() {\r\n const fogsandquantity = this.getSessionWithoutVariantId(\"fogsandquantity\");\r\n if (fogsandquantity !== \"\") {\r\n const quantityCalcResults = JSON.parse(fogsandquantity);\r\n if (quantityCalcResults !== undefined) {\r\n const currentVariantData = quantityCalcResults.filter((x: QuantityCalculationResultModel) => x.variantId === this.variant.variantId);\r\n if (currentVariantData.length > 0 && Number(currentVariantData[0].sack) && currentVariantData[0].sack > 0) {\r\n this.width = currentVariantData[0].width;\r\n this.length = currentVariantData[0].length;\r\n this.thickness = currentVariantData[0].thickness;\r\n this.jointwidth = currentVariantData[0].jointwidth;\r\n this.markyta = currentVariantData[0].markyta;\r\n productStore.dispatchQuantity(currentVariantData[0].sack);\r\n\r\n sessionStorage.setItem(\"fogsandquantity\", \"\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n private getSessionWithoutVariantId(key: string): string {\r\n if (typeof(sessionStorage) !== \"undefined\") {\r\n return sessionStorage.getItem(key) || \"\";\r\n }\r\n\r\n return \"\";\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!./ConsumptionCalculatorSand.ts?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!./ConsumptionCalculatorSand.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ConsumptionCalculatorSand.vue?vue&type=template&id=0c851f22&\"\nimport script from \"./ConsumptionCalculatorSand.ts?vue&type=script&lang=ts&\"\nexport * from \"./ConsumptionCalculatorSand.ts?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',{staticClass:\"cast-calculator-overlay\"},[_c('div',{staticClass:\"cast-calculator-content ublock-calculator\"},[_c('div',{staticClass:\"small-12 cast-calculator-header cast-calculator-large\"},[_c('h2',{staticClass:\"cast-calculator-section-header\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.uBlockQuantityCalculatorHeaderText)+\"\\n \")])]),_c('div',{staticClass:\"row cast-calculator__content-container\"},[_c('div',{staticClass:\"ublock-calculator__inputs-container columns\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calculator-subheader\"},[_c('strong',[_vm._v(\"\\n \"+_vm._s(_vm.translations.uBlockQuantityCalculatorLengthOfBlockText)+\"\\n \")])])]),_c('div',{staticClass:\"row cast-calculator-input-container\"},[_c('div',{staticClass:\"columns mortar-calculator__area-container calculator-space-below\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.length),expression:\"length\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.length)},on:{\"keyup\":_vm.measurementChanged,\"change\":_vm.measurementChanged,\"input\":function($event){if($event.target.composing){ return; }_vm.length=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.translations.uBlockQuantityCalculatorFullMeterUnitText)}})])]),(_vm.showIsolatedOptions)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calculator-subheader\"},[_c('strong',[_vm._v(\"\\n \"+_vm._s(_vm.translations.uBlockQuantityCalculatorIsBlockIsolatedText)+\"\\n \")])])]):_vm._e(),(_vm.showIsolatedOptions)?_c('div',{staticClass:\"row cast-calculator-input-container\"},[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"selector__radio-container calculator-space-below ublock-calculator__insulation-variant\"},[_c('div',{staticClass:\"selector__item radio\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isIsolated),expression:\"isIsolated\"}],attrs:{\"type\":\"radio\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.isIsolated,true)},on:{\"change\":[function($event){_vm.isIsolated=true},_vm.radiobuttonchanged]}}),_c('span',{staticClass:\"radio-icon\"}),_c('div',{staticClass:\"selector__option-text\"},[_vm._v(_vm._s(_vm.translations.quantityCalculatorCommonYes))])]),_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isIsolated),expression:\"isIsolated\"}],attrs:{\"type\":\"radio\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.isIsolated,false)},on:{\"change\":[function($event){_vm.isIsolated=false},_vm.radiobuttonchanged]}}),_c('span',{staticClass:\"radio-icon\"}),_c('div',{staticClass:\"selector__option-text\"},[_vm._v(_vm._s(_vm.translations.quantityCalculatorCommonNo))])])]),_c('label',{staticClass:\"ublock-calculator__insulation-variant-label\"},[_c('a',{attrs:{\"href\":_vm.variant.insulationVariantModel.url + '?id=' + _vm.variant.insulationVariantModel.id}},[_vm._v(\"\\n \"+_vm._s(_vm.variant.insulationVariantModel.name)+\"\\n \")]),_vm._v(\"\\n (art.nr.\"+_vm._s(_vm.variant.insulationVariantModel.id)+\" )\\n \")])])])]):_vm._e(),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calculator-header\"},[_c('strong',[_vm._v(\"\\n \"+_vm._s(_vm.translations.uBlockQuantityCalculatorIsBlockConcretedText)+\"\\n \")])])]),_c('div',{staticClass:\"row cast-calculator-input-container\"},[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"selector__radio-container calculator-space-below\"},[_c('div',{staticClass:\"selector__item radio\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isConcreted),expression:\"isConcreted\"}],attrs:{\"type\":\"radio\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.isConcreted,true)},on:{\"change\":[function($event){_vm.isConcreted=true},_vm.radiobuttonchanged]}}),_c('span',{staticClass:\"radio-icon\"}),_c('div',{staticClass:\"selector__option-text\"},[_vm._v(_vm._s(_vm.translations.quantityCalculatorCommonYes))])]),_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isConcreted),expression:\"isConcreted\"}],attrs:{\"type\":\"radio\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.isConcreted,false)},on:{\"change\":[function($event){_vm.isConcreted=false},_vm.radiobuttonchanged]}}),_c('span',{staticClass:\"radio-icon\"}),_c('div',{staticClass:\"selector__option-text\"},[_vm._v(_vm._s(_vm.translations.quantityCalculatorCommonNo))])])])])])]),(_vm.selectedResult && _vm.selectedResult.sack > 0)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns\"},[_c('span',{staticClass:\"footer-description\",style:(_vm.italicFontObject)},[_vm._v(_vm._s(_vm.translations.uBlockFooterDescription))])])]):_vm._e()]),_c('div',{staticClass:\"columns cast-calculator-result-container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns cast-calculator-subheader\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorCalculatedAmount))])])]),_c('div',{staticClass:\"row-inner floor-calculator-pre-result\"},[_c('div',[( \n _vm.selectedProductId === '' &&\n _vm.calculatedSack === 0\n )?_c('div',{staticClass:\"small-12 columns\"},[_c('h3',[_vm._v(\"\\n \"+_vm._s(_vm.noProductSelectedHeader)+\"\\n \")]),_c('div',{staticClass:\"floor-calculator-pre-result-sub\"},[_vm._v(\"\\n \"+_vm._s(_vm.noProductSelectedText)+\"\\n \")])]):_vm._e(),(_vm.calculatedSack <= 0)?_c('div',{staticClass:\"small-12 columns\"},[_c('h3',[_vm._v(\"\\n \"+_vm._s(_vm.translations.uBlockResultPreloadHeader)+\"\\n \")]),_c('div',{staticClass:\"floor-calculator-pre-result-sub\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.uBlockResultPreloadText)+\"\\n \")])]):_vm._e(),(_vm.calculatedSack > 0)?_c('div',{staticClass:\"small-12 columns cast-calculator-result\"},[(_vm.selectedResult.sack > 0)?_c('div',{key:_vm.selectedResult.variantId,attrs:{\"value\":_vm.selectedResult.variantId}},[_vm._v(_vm._s(_vm.selectedResult.sack.toLocaleString() + ' ' + \n _vm.translations.castQuantityCalculatorInventory + ' ' + _vm.translations.blockCalculatorResultUnitText))]):_vm._e()]):_vm._e(),(_vm.insulationQuantityResults && _vm.insulationQuantityResults.length > 0)?_c('div',{staticClass:\"small-12 columns\"},[(_vm.insulationQuantityResults[0].sack > 0)?_c('div',{key:_vm.selectedResult.variantId,staticClass:\"ublock-calculator__results\",attrs:{\"value\":_vm.insulationItemsQuantity}},[_c('a',{attrs:{\"href\":_vm.variant.insulationVariantModel.url + '?id=' + _vm.variant.insulationVariantModel.id}},[_vm._v(_vm._s(_vm.variant.insulationVariantModel.name))]),_c('div',[_vm._v(_vm._s(_vm.insulationQuantityResults[0].sack + ' ' + _vm.translations.uBlockQuantityCalculatorPacketResultUnitText))])]):_vm._e()]):_vm._e(),(_vm.fillingQuantityResults && _vm.fillingQuantityResults.length > 0)?_c('div',{staticClass:\"small-12 columns\"},[(_vm.variant.fillingProductModel && _vm.fillingQuantityResults && _vm.fillingQuantityResults.some(function (x) { return x.sack > 0; }))?_c('div',{staticClass:\"ublock-calculator__results\"},[(_vm.variant.fillingProductModel[0])?_c('a',{attrs:{\"href\":_vm.variant.fillingProductModel[0].url}},[_vm._v(_vm._s(_vm.variant.fillingProductModel[0].name))]):_vm._e(),_vm._l((_vm.fillingQuantityResults),function(fillingQuantityResult){return _c('div',{class:_vm.fillingQuantityResults.indexOf(fillingQuantityResult) > 0 ? ' ublock-calculator__bigsack-result ' : ''},[(_vm.fillingQuantityResults.indexOf(fillingQuantityResult) > 0)?_c('span',[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorOr))]):_vm._e(),_vm._v(\"\\n \"+_vm._s(fillingQuantityResult.sack)+\" \"+_vm._s(fillingQuantityResult.itemPackagingWeight >= 1000 ? _vm.translations.castQuantityCalculatorLargeSacks : _vm.translations.castQuantityCalculatorSacks)+\"\\n \"),_c('span',{staticClass:\"weight-nowrap\"},[_vm._v(_vm._s(' (' + fillingQuantityResult.itemPackagingWeight.toLocaleString() + \" kg\" + ') '))])])})],2):_vm._e()]):_vm._e(),(_vm.isPartOfSection)?_c('div',{staticClass:\"small-12 cast-calculator-section-products\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedProductId),expression:\"selectedProductId\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedProductId=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.calculateQuantity]}},[_c('option',{attrs:{\"value\":\"\"}},[_vm._v(_vm._s(_vm.translations.castCalculationSelectProduct))]),_vm._l((_vm.products),function(product){return (product)?_c('option',{key:product.ArticleNumber,domProps:{\"value\":product.ArticleNumber}},[_c('a',{attrs:{\"href\":product.Url}},[_vm._v(_vm._s(product.Name))])]):_vm._e()})],2)]):_vm._e()])])])]),(!_vm.isPartOfSection)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"small-12 columns ublock-calculator__button-container\"},[_c('a',{class:_vm.selectedResult && _vm.selectedResult.sack > 0 ? 'button ublock-two-buttons' : 'button',on:{\"click\":_vm.close}},[_vm._v(\"\\n \"+_vm._s(_vm.selectedResult && _vm.selectedResult.sack > 0 ? _vm.translations.castQuantityCalculatorSaveAndClose : _vm.translations.castQuantityCalculatorClose)+\"\\n \")]),(_vm.selectedResult && _vm.selectedResult.sack > 0)?_c('a',{staticClass:\"button buy-button\",on:{\"click\":_vm.addToCart}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.buyButton)+\"\\n \")]):_vm._e()])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport { Variant, TranslationModel, ProductModel, FillingProductModel } from \"../models/product\";\r\nimport {\r\n IncludedProducts,\r\n QuantityCalculationResultModel\r\n} from \"../models/QuanityCalculatorCast\";\r\nimport calculatorService from \"../services/CalculatorService\";\r\nimport { EventBus } from \"@/events\";\r\nimport cart from \"../services/Cart\";\r\nimport GoogleEnhancedEcommerce from \"../services/GoogleEnhancedEcommerce\";\r\n\r\n@Component\r\nexport default class QuantityCalculatorUBlockProduct extends Vue {\r\n protected vm!: any;\r\n protected quantity: number = 1;\r\n protected calculatedSack: number = 0;\r\n protected results: QuantityCalculationResultModel[] = [];\r\n protected translations: TranslationModel;\r\n protected selectedResult: QuantityCalculationResultModel = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n protected products: IncludedProducts[] = [];\r\n protected selectedProductId: string = \"\";\r\n protected isMobile: boolean = false;\r\n protected noProductSelectedHeader: string = \"\";\r\n protected noProductSelectedText: string = \"\";\r\n protected title: string = \"\";\r\n protected text: string = \"\";\r\n protected isPartOfSection: boolean = false;\r\n protected length?: number = undefined;\r\n protected isIsolated: boolean = true;\r\n protected isConcreted: boolean = true;\r\n protected fillingQuantityResults: QuantityCalculationResultModel[] = [];\r\n protected fillingQuantityResultsForSession: QuantityCalculationResultModel[] = [];\r\n protected insulationQuantityResults: QuantityCalculationResultModel[] = [];\r\n protected italicFontObject: object = {} as object;\r\n protected italicFont: string = \"italic\";\r\n private readonly googleAnalyticsDimensionIdentifier: string;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n this.googleAnalyticsDimensionIdentifier = \"ProductPage\";\r\n }\r\n\r\n protected created() {\r\n this.noProductSelectedHeader = this.$attrs.noproductselectedheader;\r\n this.noProductSelectedText = this.$attrs.noproductselectedtext;\r\n this.products = this.$attrs.includedproducts\r\n ? JSON.parse(this.$attrs.includedproducts)\r\n : null;\r\n this.isMobile = this.$attrs.ismobile === \"true\";\r\n this.title = this.$attrs.title;\r\n this.text = this.$attrs.text;\r\n this.selectedProductId = \"\";\r\n this.length = undefined;\r\n this.calculatedSack = 0;\r\n\r\n this.italicFontObject = { \"font-style\": this.italicFont, \"font-size\": \"13px\" };\r\n }\r\n\r\n protected mounted() {\r\n EventBus.$on(\"calculateQuantityOnProductChange\", (selectedId: string) => {\r\n this.selectedProductId = selectedId;\r\n this.calculateQuantity();\r\n });\r\n }\r\n\r\n protected close() {\r\n this.$emit(\"close\", true);\r\n const quantityInput = document.getElementById(\r\n \"variant-selector-quantity\"\r\n );\r\n if (quantityInput) {\r\n quantityInput.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"center\",\r\n inline: \"nearest\"\r\n });\r\n }\r\n }\r\n\r\n get selectedProductUrl(): string {\r\n return calculatorService.GetSelectedProductUrl(this.products, this.selectedProductId);\r\n }\r\n\r\n get product(): ProductModel {\r\n return productStore.product;\r\n }\r\n\r\n get variant(): Variant {\r\n return productStore.variant;\r\n }\r\n\r\n get variants(): Variant[] {\r\n return calculatorService.GetVariants(this.selectedProductId, this.products);\r\n }\r\n\r\n get showIsolatedOptions(): boolean {\r\n return this.variant.insulationVariantModel && this.variant.insulationVariantModel !== null;\r\n }\r\n\r\n get isOnlyShoppingList(): boolean {\r\n return productStore.product.isOnlyShoppingList;\r\n }\r\n\r\n protected radiobuttonchanged() {\r\n this.resetCalculatedQuantities();\r\n this.calculateQuantity();\r\n }\r\n\r\n protected measurementChanged() {\r\n this.resetCalculatedQuantities();\r\n this.calculateQuantity();\r\n }\r\n\r\n protected resetCalculatedQuantities() {\r\n this.results = [];\r\n this.insulationQuantityResults = [];\r\n this.fillingQuantityResults = [];\r\n this.fillingQuantityResultsForSession = [];\r\n }\r\n\r\n protected calculateQuantity() {\r\n this.results = [];\r\n this.selectedResult = calculatorService.GetDefaultQuantityCalculatorResultModel();\r\n this.calculatedSack = 0;\r\n\r\n if (this.variant.itemConsumptionCalculatorUBlock && this.length) {\r\n if (this.length > 0) {\r\n this.results.push({\r\n variantId: this.variant.variantId,\r\n sack: Math.ceil(this.length * this.variant.itemMaterialConsumption),\r\n itemPackagingWeight: NaN,\r\n selected: (this.variant.variantId === this.variant.variantId).toString(),\r\n volume: NaN,\r\n selectedShape: \"\",\r\n yta: NaN,\r\n layerThickness: NaN,\r\n itemMaterialConsumption: this.variant.itemMaterialConsumption,\r\n variantJoint: \"\",\r\n width: NaN,\r\n length: NaN,\r\n depth: NaN,\r\n variantSystemId: this.variant.variantSystemId\r\n });\r\n }\r\n }\r\n\r\n this.calculateInsulationItemsQuantity();\r\n this.calculateFillingItemsQuantity();\r\n\r\n if (this.results.length > 0) {\r\n const selectedVariant = this.results.filter(x => x.variantId === this.variant.variantId)[0];\r\n this.calculatedSack = selectedVariant.sack;\r\n this.selectedResult = selectedVariant;\r\n if (selectedVariant != null) {\r\n productStore.dispatchQuantity(selectedVariant.sack);\r\n }\r\n }\r\n }\r\n\r\n protected calculateInsulationItemsQuantity() {\r\n if (this.isIsolated === true && this.variant.insulationVariantModel && this.variant.insulationVariantModel.id && this.length) {\r\n if (this.variant.insulationVariantModel.packagingLength) {\r\n\r\n this.insulationQuantityResults.push({\r\n variantId: this.variant.insulationVariantModel.id,\r\n sack: Math.ceil((this.length / this.variant.insulationVariantModel.packagingLength) * 1000),\r\n itemPackagingWeight: NaN,\r\n selected: \"\",\r\n volume: NaN,\r\n selectedShape: \"\",\r\n yta: NaN,\r\n layerThickness: NaN,\r\n itemMaterialConsumption: this.variant.itemMaterialConsumption,\r\n variantJoint: \"\",\r\n width: NaN,\r\n length: NaN,\r\n depth: NaN,\r\n variantSystemId: this.variant.insulationVariantModel.variantSystemId\r\n });\r\n\r\n calculatorService.storeSession(\"ublockinsulationquantity\", this.insulationQuantityResults);\r\n }\r\n }\r\n }\r\n\r\n protected calculateFillingItemsQuantity() {\r\n if (this.isConcreted) {\r\n this.variant.fillingProductModel.map(x => {\r\n x.fillingVariantModel.map(y => {\r\n let weight;\r\n\r\n if (this.length && (!this.showIsolatedOptions || (this.showIsolatedOptions && this.isIsolated !== true))) {\r\n weight = this.length * this.variant.itemAdditionalMaterialConsumption;\r\n } else if (this.length && this.showIsolatedOptions && this.isIsolated === true) {\r\n weight = this.length * this.variant.itemFillingWithInsulation;\r\n }\r\n\r\n const sacks = weight ? Math.ceil(weight / y.packagingWeight) : 0;\r\n\r\n if (!this.fillingQuantityResults.some(a => a.itemPackagingWeight === y.packagingWeight)) {\r\n this.fillingQuantityResults.push({\r\n variantId: y.id,\r\n sack: sacks,\r\n itemPackagingWeight: y.packagingWeight,\r\n selected: \"\",\r\n volume: NaN,\r\n selectedShape: \"\",\r\n yta: NaN,\r\n layerThickness: NaN,\r\n itemMaterialConsumption: NaN,\r\n variantJoint: \"\",\r\n width: NaN,\r\n length: NaN,\r\n depth: NaN,\r\n variantSystemId: y.variantSystemId,\r\n });\r\n }\r\n\r\n if (!this.fillingQuantityResultsForSession.some(a => a.itemPackagingWeight === y.packagingWeight && a.variantId === y.id)) {\r\n this.fillingQuantityResultsForSession.push({\r\n variantId: y.id,\r\n sack: sacks,\r\n itemPackagingWeight: y.packagingWeight,\r\n selected: \"\",\r\n volume: NaN,\r\n selectedShape: \"\",\r\n yta: NaN,\r\n layerThickness: NaN,\r\n itemMaterialConsumption: NaN,\r\n variantJoint: \"\",\r\n width: NaN,\r\n length: NaN,\r\n depth: NaN,\r\n variantSystemId: y.variantSystemId,\r\n });\r\n }\r\n });\r\n });\r\n\r\n calculatorService.storeSession(\"ublockfillingquantity\", this.fillingQuantityResultsForSession);\r\n }\r\n }\r\n\r\n protected addToCart() {\r\n let variantSystemIds: string = \"\";\r\n if (this.results.length > 0 && this.results[0].sack > 0) {\r\n cart.addToCartWithSingleAddedToCart({\r\n quantity: this.results[0].sack,\r\n variantId: this.results[0].variantId,\r\n variantSystemId: this.results[0].variantSystemId\r\n }, {} as Element);\r\n this.ReportAddToCartToGoogleEnhancedEcommerce(this.results[0].variantId, this.results[0].sack);\r\n variantSystemIds = variantSystemIds + \",\" + this.results[0].variantSystemId;\r\n }\r\n\r\n if (this.insulationQuantityResults.length > 0 && this.insulationQuantityResults[0].sack > 0) {\r\n cart.addToCartWithSingleAddedToCart({\r\n quantity: this.insulationQuantityResults[0].sack,\r\n variantId: this.insulationQuantityResults[0].variantId,\r\n variantSystemId: this.insulationQuantityResults[0].variantSystemId\r\n }, {} as Element);\r\n this.ReportAddToCartToGoogleEnhancedEcommerce(this.insulationQuantityResults[0].variantId, this.insulationQuantityResults[0].sack);\r\n variantSystemIds = variantSystemIds + \",\" + this.insulationQuantityResults[0].variantSystemId;\r\n }\r\n\r\n if (this.fillingQuantityResults.length > 0 && this.fillingQuantityResults[0].sack > 0) {\r\n cart.addToCartWithSingleAddedToCart({\r\n quantity: this.fillingQuantityResults[0].sack,\r\n variantId: this.fillingQuantityResults[0].variantId,\r\n variantSystemId: this.fillingQuantityResults[0].variantSystemId\r\n }, {} as Element);\r\n this.ReportAddToCartToGoogleEnhancedEcommerce(this.fillingQuantityResults[0].variantId, this.fillingQuantityResults[0].sack);\r\n variantSystemIds = variantSystemIds + \",\" + this.fillingQuantityResults[0].variantSystemId;\r\n }\r\n\r\n if (window.eventBus) {\r\n EventBus.$emit(\"productAddedToCartMultipleVariants\", variantSystemIds, window.site.settings.webShopActivated === \"true\");\r\n }\r\n }\r\n\r\n private ReportAddToCartToGoogleEnhancedEcommerce(variantId: string, quantity: number) {\r\n const variant = this.variants.filter(x => x.variantId === variantId);\r\n if (variant && variant.length > 0) {\r\n const gee = new GoogleEnhancedEcommerce();\r\n gee.PushAddToCartToGoogle(\r\n variant[0].variantName,\r\n variant[0].variantId,\r\n variant[0].priceValue,\r\n variant[0].category,\r\n quantity,\r\n this.googleAnalyticsDimensionIdentifier,\r\n variant[0].currencyCode,\r\n window.site.settings.activateProductWebshop ? true : false,\r\n );\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!./QuantityCalculatorUBlockProduct.ts?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!./QuantityCalculatorUBlockProduct.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuantityCalculatorUBlockProduct.vue?vue&type=template&id=36b6d316&\"\nimport script from \"./QuantityCalculatorUBlockProduct.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuantityCalculatorUBlockProduct.ts?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',{staticClass:\"cast-calculator-container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"columns small-12 cast-calculator-diclaimer-title\"},[_vm._v(_vm._s(_vm.translations.uBlockCalculationDisclaimerHeader))]),_c('div',{staticClass:\"columns small-12\",domProps:{\"innerHTML\":_vm._s(_vm.product.uBlockCalculationDisclaimer)}})]),(!_vm.isModalVisible)?_c('a',{staticClass:\"cast-calculator-icon-calc\",on:{\"click\":_vm.showModal}},[_vm._v(_vm._s(_vm.translations.castQuantityCalculatorStartCalculating))]):_vm._e(),(_vm.isModalVisible)?_c('quantity-calculator-u-block-product',{attrs:{\"vm\":_vm.vm},on:{\"close\":_vm.closeModal}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue } from \"vue-property-decorator\";\r\nimport { TranslationModel, ProductModel } from \"../models/product\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport QuantityCalculatorUBlockProduct from \"./QuantityCalculatorUBlockProduct\";\r\nimport { EventBus } from \"../events\";\r\n\r\n@Component({\r\n components: {\r\n QuantityCalculatorUBlockProduct,\r\n }\r\n})\r\nexport default class QuantityCalculatorUBlockProductContainer extends Vue {\r\n protected vm: any = {};\r\n protected isModalVisible: boolean = false;\r\n protected calculatorUrl: string = \"/ui/img/site/Calculator.png\";\r\n private translations: TranslationModel;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n get product(): ProductModel {\r\n return productStore.product;\r\n }\r\n\r\n protected showModal() {\r\n this.isModalVisible = true;\r\n }\r\n\r\n protected closeModal() {\r\n this.isModalVisible = false;\r\n }\r\n\r\n protected mounted() {\r\n EventBus.$on(\"hideUBlockCalculator\", () => {\r\n this.isModalVisible = false;\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!./QuantityCalculatorUBlockProductContainer.ts?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!./QuantityCalculatorUBlockProductContainer.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuantityCalculatorUBlockProductContainer.vue?vue&type=template&id=87a38d86&\"\nimport script from \"./QuantityCalculatorUBlockProductContainer.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuantityCalculatorUBlockProductContainer.ts?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:\"product-environmentdatabase\"},_vm._l((_vm.environmentDatabases),function(item,index){return _c('div',{staticClass:\"product-environmentdatabase-item\"},[(item.iconUrl != null)?_c('img',{staticClass:\"product-environmentdatabase-image\",attrs:{\"src\":item.iconUrl}}):_vm._e(),_c('div',{staticClass:\"product-environmentdatabase-item\"},[(item.modalEnabled)?_c('a',{attrs:{\"target\":\"_blank\"},on:{\"click\":function($event){return _vm.GetEnvironmentDataBasePopUpInfo(index)}}},[_vm._v(_vm._s(item.displayName))]):_c('a',{attrs:{\"href\":item.url,\"target\":\"_blank\"}},[_vm._v(_vm._s(item.displayName))])])])}),0),(_vm.showModal)?_c('product-environment-data-base-modal',{attrs:{\"environmentModel\":_vm.environmentDatabases[_vm.selectedIndex]},on:{\"close\":_vm.closeModal}}):_vm._e()],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('div',{staticClass:\"added-to-cart-popup-overlay\",attrs:{\"id\":\"added-to-cart-popup-overlay\"}},[_c('div',{staticClass:\"added-to-cart-popup-content environmentdatabase__container\"},[_c('a',{staticClass:\"environmentdatabase__close\",style:(_vm.textdecoration),on:{\"click\":function($event){return _vm.hideModal()}}},[_vm._v(\"×\")]),_c('div',{staticClass:\"environmentdatabase__displayName\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.productEnvironmentDatabaseText)+\": \")]),_vm._v(\" \"+_vm._s(_vm.environmentModel.displayName)+\"\\n \"),_c('div',{staticClass:\"environmentdatabase__image-container\"},[_c('img',{staticClass:\"environmentdatabase__image\",attrs:{\"src\":_vm.environmentModel.imageUrl}})])]),_c('div',{staticClass:\"environmentdatabase__criteria\"},[_c('div',[_c('strong',[_vm._v(_vm._s(_vm.translations.productEnvironmentDatabaseCriteriaText)+\": \")])]),_c('div',{staticClass:\"environmentdatabase__level2-items\"},[(_vm.environmentModel.isIndicatorSplit)?_c('div',_vm._l((_vm.GetAllIndicators(_vm.environmentModel.productEnvironmentDatabaseLevel2)),function(indicator){return _c('div',{staticClass:\"environmentdatabase__level2Indicator-items-environment\"},[_c('span',[_vm._v(_vm._s(indicator.indicatorVersion)+\" - \"+_vm._s(indicator.indicatorIdentifier)+\": \")]),_c('div',{staticClass:\"environmentdatabase__indicator-items\"},_vm._l((_vm.GetIndicatorValues(_vm.environmentModel.productEnvironmentDatabaseLevel2.allAvailableOptions, indicator.indicatorIdentifier)),function(indicatorValues){return (indicatorValues)?_c('div',{class:'environmentdatabase__indicator-item ' + (_vm.environmentModel.productEnvironmentDatabaseLevel2.indicatorCriteras.indexOf(indicatorValues.id) > -1 ? \n ' environmentdatabase__indicator-item-activated' : '')},[_vm._v(_vm._s(indicatorValues.indicatorValue)+\"\\n \")]):_vm._e()}),0)])}),0):_vm._l((_vm.environmentModel.productEnvironmentDatabaseLevel2.allAvailableOptions),function(item){return _c('div',{class:'environmentdatabase__level2-item ' + (item.id === _vm.environmentModel.productEnvironmentDatabaseLevel2.activatedCriteria ? \n ' environmentdatabase__level2-item-activated' : '')},[_vm._v(\" \\n \"+_vm._s(item.name)+\" \\n \")])})],2)]),_c('div',{staticClass:\"environmentdatabase__about\"},[_c('div',[_c('strong',[_vm._v(_vm._s(_vm.translations.generalOnText)+\" \"+_vm._s(_vm.environmentModel.displayName)+\": \")])]),_c('div',[_vm._v(_vm._s(_vm.environmentModel.aboutText))])]),_c('div',{staticClass:\"environmentdatabase__information\"},[_c('strong',[_vm._v(_vm._s(_vm.translations.generalMoreInformationText)+\": \")]),_c('a',{attrs:{\"href\":_vm.environmentModel.url,\"target\":\"\",\"_blank\":\"\"}},[_vm._v(_vm._s(_vm.environmentModel.url.replace(\"https://\", \"\").replace(\"www.\", \"\")))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { TranslationModel, ProductModel, Variant, EnvironmentDatabaseLevl2Option, ProductEnvironmentDatabase, ProductEnvironmentDatabaseLevel2 } from \"../../models/product\";\r\n\r\n@Component\r\nexport default class ProductEnvironmentDataBaseModal extends Vue {\r\n\r\n protected vm: any = {};\r\n @Prop()\r\n protected environmentModel!: ProductEnvironmentDatabase;\r\n protected textdecoration: object = {} as object;\r\n private translations: TranslationModel;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected created() {\r\n this.textdecoration = { \"text-decoration\": \"none\" };\r\n }\r\n\r\n protected hideModal() {\r\n this.$emit(\"close\");\r\n }\r\n\r\n protected GetIndicatorValues(item: EnvironmentDatabaseLevl2Option[], indicator: string) {\r\n return item.map(x => {\r\n if (x.indicatorIdentifier === indicator) {\r\n return x;\r\n }\r\n });\r\n }\r\n\r\n protected GetAllIndicators(model: ProductEnvironmentDatabaseLevel2) {\r\n const options: EnvironmentDatabaseLevl2Option[] = [];\r\n model.allAvailableOptions.map(x => {\r\n if (!options.find(a => a.indicatorIdentifier === x.indicatorIdentifier)) {\r\n options.push(x);\r\n }\r\n });\r\n return options;\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!./ProductEnvironmentDataBaseModal.ts?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!./ProductEnvironmentDataBaseModal.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductEnvironmentDataBaseModal.vue?vue&type=template&id=198b0a3f&\"\nimport script from \"./ProductEnvironmentDataBaseModal.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductEnvironmentDataBaseModal.ts?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","import { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { TranslationModel, ProductModel, Variant, ProductEnvironmentDatabase } from \"../../models/product\";\r\nimport ProductEnvironmentDataBaseModal from \"./ProductEnvironmentDataBaseModal\";\r\n\r\n@Component({\r\n components: {\r\n ProductEnvironmentDataBaseModal\r\n }\r\n})\r\nexport default class ProductEnvironmentDataBase extends Vue {\r\n\r\n protected vm: any = {};\r\n protected environmentDatabases: ProductEnvironmentDatabase[] = [];\r\n protected showModal: boolean = false;\r\n protected selectedIndex: number = 0;\r\n private translations: TranslationModel;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected created() {\r\n this.environmentDatabases = JSON.parse(this.$attrs.environmentdatabases);\r\n }\r\n\r\n protected GetEnvironmentDataBasePopUpInfo(index: number = 0) {\r\n this.showModal = true;\r\n this.selectedIndex = index;\r\n document.body.classList.add(\"addedtocartscroll--hidden\");\r\n }\r\n\r\n protected closeModal() {\r\n this.showModal = false;\r\n document.body.classList.remove(\"addedtocartscroll--hidden\");\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!./ProductEnvironmentDataBase.ts?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!./ProductEnvironmentDataBase.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductEnvironmentDataBase.vue?vue&type=template&id=7abfff4d&\"\nimport script from \"./ProductEnvironmentDataBase.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductEnvironmentDataBase.ts?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('carbon-savings-calculation',{attrs:{\"isConfigurator\":_vm.isConfigurator,\"isGDS\":_vm.isGDS,\"quantity\":_vm.quantity,\"calculationCarbonSavingsModel\":_vm.calculationCarbonSavingsModel}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { CarbonSavingsModel } from \"../../models/product\";\r\nimport CarbonSavingsCalculation from \"./CarbonSavingsCalculation\";\r\n\r\n@Component({\r\n components: {\r\n CarbonSavingsCalculation\r\n }\r\n})\r\nexport default class CarbonSavingsCalculationContainer extends Vue {\r\n protected quantity!: number;\r\n protected calculationCarbonSavingsModel!: CarbonSavingsModel;\r\n protected isConfigurator!: boolean;\r\n protected isGDS!: boolean;\r\n\r\n protected created() {\r\n if (this.$attrs.isgds) {\r\n this.calculationCarbonSavingsModel = JSON.parse(this.$attrs.calculationcarbonsavingsmodel);\r\n this.quantity = Number(this.$attrs.quantitydata);\r\n this.isGDS = this.$attrs.isgds === \"true\";\r\n this.isConfigurator = this.$attrs.isconfigurator === \"true\";\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!./CarbonSavingsCalculationContainer.ts?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!./CarbonSavingsCalculationContainer.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CarbonSavingsCalculationContainer.vue?vue&type=template&id=77fb4e53&\"\nimport script from \"./CarbonSavingsCalculationContainer.ts?vue&type=script&lang=ts&\"\nexport * from \"./CarbonSavingsCalculationContainer.ts?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',_vm._l((_vm.gdsVariants),function(gdsVariant){return _c('div',{key:gdsVariant.id,class:'variant-item table-row ' + gdsVariant.virtualItemClass,attrs:{\"data-gdsid\":gdsVariant.id}},[_c('div',{staticClass:\"product-image table-cell\"},[_c('a',{attrs:{\"href\":gdsVariant.url,\"itemprop\":\"url\"}},[_c('img',{attrs:{\"src\":gdsVariant.imageUrl}})])]),_c('div',{staticClass:\"product-info variant table-cell\"},[_c('div',{staticClass:\"variant-info\"},[_c('a',{attrs:{\"href\":gdsVariant.url}},[_vm._v(_vm._s(gdsVariant.name))]),(!_vm.virtualItemClassExists(gdsVariant))?_c('div',{staticClass:\"article-nr\"},[_vm._v(\"\\r\\n \"+_vm._s(gdsVariant.id)+\"\\r\\n \")]):_vm._e(),(gdsVariant.doItYourSelfConsumerDescription !== '')?_c('div',{staticClass:\"consumer-description\"},[_vm._v(\"\\r\\n \"+_vm._s(gdsVariant.doItYourSelfConsumerDescription)+\"\\r\\n \")]):_vm._e()])]),_c('div',{staticClass:\"carbonsavings table-cell\"},[(gdsVariant.carbonSavingsModel.savingsComparedToNonECOVariant > 0)?_c('div',{staticClass:\"product-list-module__eco-info hicheck\"},[(!gdsVariant.carbonSavingsModel.isCurrentVariantECO)?_c('div',{staticClass:\"configurator-carbonsavings__container\"},[_c('div',{staticClass:\"carbonsavings__image\",on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(gdsVariant)}}},[_c('img',{attrs:{\"src\":gdsVariant.carbonSavingsModel.imageUrl}})]),_c('div',{staticClass:\"carbonsavings__title-container\",on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(gdsVariant)}}},[_c('div',{staticClass:\"carbonsavings__header\"},[_vm._v(_vm._s(_vm.translations.saveClimateText))]),_c('div',{staticClass:\"carbonsavings__medium-text\"},[_vm._v(_vm._s(_vm.translations.switchToECOText))])]),_c('div',{staticClass:\"configurator-carbonsavings__arrow\",class:{ carbonsavingsexpanded: _vm.showCarbonSavingsInfo(gdsVariant) },on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(gdsVariant)}}})]):_c('div',{staticClass:\"configurator-carbonsavings__container\"},[_c('div',{staticClass:\"carbonsavings__image\",on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(gdsVariant)}}},[_c('img',{attrs:{\"src\":gdsVariant.carbonSavingsModel.imageUrl}})]),_c('div',{staticClass:\"carbonsavings__title-container\",on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(gdsVariant)}}},[_c('div',{staticClass:\"carbonsavings__header\"},[_vm._v(_vm._s(_vm.translations.saveClimateText))]),_c('div',{staticClass:\"carbonsavings__medium-text\"},[_vm._v(_vm._s(_vm.translations.thanksForChoiceText))])]),_c('div',{staticClass:\"configurator-carbonsavings__arrow\",class:{ carbonsavingsexpanded: _vm.showCarbonSavingsInfo(gdsVariant) },on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(gdsVariant)}}})])]):_vm._e()]),_c('div',{staticClass:\"variant-quantity table-cell\"},[(gdsVariant.packagingQuantity > 0 && gdsVariant.packagingQuantity !== gdsVariant.quantity)?_c('div',{staticClass:\"gds-necessity\"},[_c('div',{staticClass:\"gds-necessity-text\"},[_c('div',[_c('b',{domProps:{\"innerHTML\":_vm._s(_vm.translations.neccessary)}}),_vm._v(\": \"+_vm._s(gdsVariant.quantity)+\" \"+_vm._s(gdsVariant.consumerName)+\"\\r\\n \")]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.translations.articleIncludedInANonSplitablePackage)}})]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(gdsVariant.packagingQuantity),expression:\"gdsVariant.packagingQuantity\",modifiers:{\"number\":true}}],staticClass:\"quantity\",attrs:{\"data-gds\":gdsVariant.quantityFieldId,\"data-variantid\":_vm.getVariantId(gdsVariant),\"data-buy-quantity-input\":\"\",\"type\":\"number\",\"min\":\"0\",\"max\":\"999\",\"maxlength\":\"3\"},domProps:{\"value\":(gdsVariant.packagingQuantity)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(gdsVariant, \"packagingQuantity\", _vm._n($event.target.value))},\"blur\":function($event){return _vm.$forceUpdate()}}})]):_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(gdsVariant.quantity),expression:\"gdsVariant.quantity\",modifiers:{\"number\":true}}],staticClass:\"quantity\",attrs:{\"data-gds\":gdsVariant.quantityFieldId,\"data-variantid\":_vm.getVariantId(gdsVariant),\"data-buy-quantity-input\":\"\",\"type\":\"number\",\"min\":\"0\",\"max\":\"999\",\"maxlength\":\"3\"},domProps:{\"value\":(gdsVariant.quantity)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(gdsVariant, \"quantity\", _vm._n($event.target.value))},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"variant-unit table-cell\"},[_vm._v(\"\\r\\n \"+_vm._s(gdsVariant.consumerName)+\"\\r\\n \")]),(_vm.showCarbonSavingsInfo(gdsVariant) && gdsVariant.carbonSavingsModel.savingsComparedToNonECOVariant > 0)?_c('carbon-savings-calculation',{attrs:{\"quantity\":gdsVariant.packagingQuantity > 0 && gdsVariant.packagingQuantity !== gdsVariant.quantity ? gdsVariant.packagingQuantity : gdsVariant.quantity,\"calculationCarbonSavingsModel\":gdsVariant.carbonSavingsModel,\"isConfigurator\":true,\"isGDS\":true}}):_vm._e()],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { GDSProduct } from \"@/models/GDSProduct\";\r\nimport { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { TranslationModel, CarbonSavingsModel } from \"../../models/product\";\r\nimport CarbonSavingsCalculation from \"./CarbonSavingsCalculation\";\r\nimport { EventBus } from \"@/events\";\r\nimport http from \"../../services/Http\";\r\nimport { UiState } from \"../../../src/modules/ProductConfigurator/models\";\r\n\r\n@Component({\r\n components: {\r\n CarbonSavingsCalculation\r\n }\r\n})\r\nexport default class DiyVariantItem extends Vue {\r\n protected gdsVariants!: GDSProduct[];\r\n protected carbonSavingsProductStates: Array> = [];\r\n private translations: TranslationModel;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected created() {\r\n this.gdsVariants = JSON.parse(this.$attrs.gdsvariant);\r\n\r\n this.gdsVariants.map(x => {\r\n this.carbonSavingsProductStates.push({ id: x.id} as UiState);\r\n });\r\n }\r\n\r\n protected toggleCarbonSavingsInfo(gdsVariant: GDSProduct) {\r\n const productStateIndex = this.carbonSavingsProductStates.findIndex(s => s.id === gdsVariant.id);\r\n if (productStateIndex !== -1) {\r\n const productState = this.carbonSavingsProductStates[productStateIndex];\r\n productState.state = !productState.state;\r\n this.carbonSavingsProductStates.splice(productStateIndex, 1, productState);\r\n }\r\n }\r\n\r\n protected mounted() {\r\n EventBus.$on(\"selectedECOvariant\", (carbonSavingsModel: CarbonSavingsModel, isGDS: boolean, quantity: number) => {\r\n http.get(`${window.location.origin + window.location.pathname}.GetECOProductItem?variantId=${carbonSavingsModel.ecoVariantId}&quantity=${quantity}`)\r\n .then(data => {\r\n const productsData = JSON.parse(data);\r\n const currentVariant = this.gdsVariants.find(x => x.id === carbonSavingsModel.currentVariantId);\r\n const currentVariantIndex = this.gdsVariants.findIndex(x => x.id === carbonSavingsModel.currentVariantId);\r\n this.carbonSavingsProductStates.push({ id: carbonSavingsModel.ecoVariantId, state: false} as UiState);\r\n const modifiedQuantity = Math.ceil(carbonSavingsModel.packagingFactor * productsData.quantity);\r\n productsData.quantity = modifiedQuantity;\r\n if (currentVariant) {\r\n productsData.consumerName = currentVariant.consumerName;\r\n }\r\n if (productsData.packagingQuantity === quantity) {\r\n productsData.packagingQuantity = modifiedQuantity;\r\n }\r\n this.gdsVariants[currentVariantIndex] = productsData;\r\n this.$forceUpdate();\r\n });\r\n });\r\n }\r\n\r\n protected virtualItemClassExists(variant: GDSProduct) {\r\n return variant.virtualItemClass !== \"\";\r\n }\r\n\r\n protected getVariantId(variant: GDSProduct) {\r\n return variant.virtualItemClass !== \"\" ? variant.id : \"\";\r\n }\r\n\r\n protected getCarbonSavingsProductState(product: GDSProduct) {\r\n return this.carbonSavingsProductStates.find(ps => ps.id === product.id);\r\n }\r\n\r\n protected showCarbonSavingsInfo(product: GDSProduct): boolean {\r\n const productState = this.getCarbonSavingsProductState(product);\r\n if (productState) {\r\n return productState.state;\r\n }\r\n return false;\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!./DiyVariantItem.ts?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!./DiyVariantItem.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DiyVariantItem.vue?vue&type=template&id=e4b38b78&\"\nimport script from \"./DiyVariantItem.ts?vue&type=script&lang=ts&\"\nexport * from \"./DiyVariantItem.ts?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","\r\nexport const SiteConstants = {\r\n Area: \"area\",\r\n Layer: \"layer\"\r\n};\r\n","import { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { productStore } from \"@/store/ProductModule\";\r\nimport { VariantFilterOptionsModel, Variant, TranslationModel, ProductFact, ProductModel } from \"../models/product\";\r\nimport cart from \"../services/Cart\";\r\nimport { SingleVariantFilter, DoubleVariantFilter, ConsumptionCalculator, QuantityCalculatorCastProductContainer, QuantityCalculatorMortarProductContainer,\r\n ConsumptionCalculatorSand, QuantityCalculatorUBlockProductContainer, CarbonSavingsCalculation } from \"./\";\r\nimport {QuantityCalculationResultModel} from \"../models/QuanityCalculatorCast\";\r\nimport calculatorService from \"../services/CalculatorService\";\r\n\r\nimport GoogleEnhancedEcommerce from \"../services/GoogleEnhancedEcommerce\";\r\nimport { SiteConstants } from \"@/models/SiteConstants\";\r\n\r\n@Component({\r\n components: {\r\n SingleVariantFilter,\r\n DoubleVariantFilter,\r\n ConsumptionCalculator,\r\n QuantityCalculatorCastProductContainer,\r\n QuantityCalculatorMortarProductContainer,\r\n ConsumptionCalculatorSand,\r\n QuantityCalculatorUBlockProductContainer,\r\n CarbonSavingsCalculation,\r\n }\r\n})\r\nexport default class VariantSelector extends Vue {\r\n protected product!: ProductModel;\r\n protected translations: TranslationModel;\r\n private variantFilterOptions: VariantFilterOptionsModel[];\r\n private readonly googleAnalyticsDimensionIdentifier: string;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n this.variantFilterOptions = window.__finja.preloadstate.product.variantFilterOptions;\r\n this.googleAnalyticsDimensionIdentifier = \"ProductPage\";\r\n }\r\n\r\n protected created() {\r\n this.product = productStore.product;\r\n if (Number(this.product.quantity) && this.product.quantity > 0) {\r\n this.quantity = this.product.quantity;\r\n }\r\n }\r\n\r\n protected mounted() {\r\n $(document).ready(() => {\r\n this.createImageGallery();\r\n });\r\n\r\n if (this.quantity === 0) {\r\n this.resetQuantitiesInputs();\r\n }\r\n this.setQuantityFromSession();\r\n this.setQuantityFromSessionMortar();\r\n this.setQuantityFromSessionFloor();\r\n this.setQuantityFromSessionBlock();\r\n this.setQuantityFromSessionUBlock();\r\n this.setQuantityFromSessionCarbonSavingsProduct();\r\n this.ReportViewToGoogleEnhancedEcommerce();\r\n }\r\n\r\n protected addToShoppingList() {\r\n window.Accelerator.libs.cart.addToShoppingList({\r\n quantity: this.quantity,\r\n variantId: this.variant.variantId,\r\n variantSystemId: this.variant.variantSystemId\r\n });\r\n\r\n this.ReportAddToCartToGoogleEnhancedEcommerce(true);\r\n }\r\n\r\n protected mapToEvent() {\r\n if (this.isProductWebShop) {\r\n this.addToShoppingList();\r\n } else {\r\n this.addToCart();\r\n }\r\n }\r\n\r\n @Watch(\"variantId\")\r\n private onVariantIdChange(value: string, oldValue: string) {\r\n this.updateQuantityToPallet(false);\r\n this.ReportViewToGoogleEnhancedEcommerce();\r\n\r\n $(document).ready(_ => this.pickPhotoOfSelectedVariant(value));\r\n this.setQuantityFromSession();\r\n this.setQuantityFromSessionMortar();\r\n this.setQuantityFromSessionFloor();\r\n this.setQuantityFromSessionBlock();\r\n this.setQuantityFromSessionUBlock();\r\n }\r\n\r\n @Watch(\"quantity\")\r\n private onQuantityChange(value: number, oldValue: number) {\r\n const itemInPallet = this.variant.itemSecondaryPackagingContent;\r\n if (!Number(itemInPallet)) {\r\n return;\r\n }\r\n\r\n this.palletRequired = Math.floor(this.quantity / itemInPallet);\r\n\r\n if (this.isCarbonSavingsCalculationVariant) {\r\n calculatorService.storeSessionQuantity(\"carbonsavingsproductquantity\", this.quantity);\r\n }\r\n }\r\n\r\n private setQuantityFromSession() {\r\n const castquantity = this.getSession(\"castquantity\");\r\n if (castquantity !== \"\") {\r\n this.setQuantityFromSessionJson(castquantity);\r\n }\r\n }\r\n\r\n private setQuantityFromSessionMortar() {\r\n const mortarquantity = this.getSession(\"mortarquantity\");\r\n if (mortarquantity !== \"\") {\r\n this.setQuantityFromSessionJson(mortarquantity);\r\n }\r\n }\r\n\r\n private setQuantityFromSessionFloor() {\r\n const floorquantity = this.getSession(\"floorquantityBag\");\r\n const floorquantityPlaster = this.getSession(\"floorquantityPlaster\");\r\n if (floorquantity !== \"\" && this.variant.itemConsumptionCalculatorBag) {\r\n this.setQuantityFromSessionJson(floorquantity);\r\n }\r\n if (floorquantityPlaster !== \"\" && this.variant.itemConsumptionCalculatorPlaster) {\r\n this.setQuantityFromSessionJson(floorquantityPlaster);\r\n }\r\n }\r\n\r\n private setQuantityFromSessionBlock() {\r\n const blockquantity = this.getSession(\"blockquantity\");\r\n if (blockquantity !== \"\") {\r\n this.setQuantityFromSessionJson(blockquantity);\r\n }\r\n }\r\n\r\n private setQuantityFromSessionUBlock() {\r\n const insulationQuantity = this.getSession(\"ublockinsulationquantity\");\r\n const fillingQuantity = this.getSession(\"ublockfillingquantity\");\r\n if (insulationQuantity !== \"\") {\r\n this.setQuantityFromSessionJson(insulationQuantity);\r\n }\r\n\r\n if (fillingQuantity !== \"\") {\r\n this.setQuantityFromSessionJson(fillingQuantity);\r\n }\r\n }\r\n\r\n private setQuantityFromSessionJson(quantityResults: string) {\r\n const quantityCalcResults = JSON.parse(quantityResults);\r\n if (quantityCalcResults !== undefined) {\r\n const currentVariantData = quantityCalcResults.filter((x: QuantityCalculationResultModel) => x.variantId === this.variant.variantId);\r\n if (currentVariantData.length > 0 && Number(currentVariantData[0].sack) && currentVariantData[0].sack > 0) {\r\n this.quantity = currentVariantData[0].sack;\r\n }\r\n }\r\n }\r\n\r\n private setQuantityFromSessionCarbonSavingsProduct() {\r\n if (this.isCarbonSavingsCalculationVariant) {\r\n const quantity = this.getSession(\"carbonsavingsproductquantity\");\r\n if (quantity !== \"\") {\r\n this.quantity = JSON.parse(quantity);\r\n\r\n if (this.quantity === 0) {\r\n this.quantity = 1;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private ReportViewToGoogleEnhancedEcommerce() {\r\n const gee = new GoogleEnhancedEcommerce();\r\n gee.PushViewToGoogle(\r\n this.variant.variantName,\r\n this.variant.variantId,\r\n this.variant.priceValue,\r\n this.variant.category\r\n );\r\n }\r\n\r\n private ReportAddToCartToGoogleEnhancedEcommerce(isShoppingList: boolean = false) {\r\n const gee = new GoogleEnhancedEcommerce();\r\n gee.PushAddToCartToGoogle(\r\n this.variant.variantName,\r\n this.variant.variantId,\r\n this.variant.priceValue,\r\n this.variant.category,\r\n this.quantity,\r\n this.googleAnalyticsDimensionIdentifier,\r\n this.variant.currencyCode,\r\n isShoppingList,\r\n );\r\n }\r\n\r\n get quantity(): number {\r\n return productStore.quantity;\r\n }\r\n\r\n set quantity(value: number) {\r\n productStore.dispatchQuantity(value);\r\n }\r\n\r\n get palletRequired(): number {\r\n return productStore.palletRequired;\r\n }\r\n\r\n set palletRequired(value: number) {\r\n productStore.dispatchPalletRequired(value);\r\n }\r\n\r\n get variants(): Variant[] {\r\n return productStore.variants;\r\n }\r\n\r\n get variant(): Variant {\r\n return productStore.variant;\r\n }\r\n\r\n set variant(value: Variant) {\r\n productStore.dispatchVariant(value);\r\n }\r\n\r\n get variantId() {\r\n return this.variant.variantId;\r\n }\r\n\r\n set variantId(value: string) {\r\n this.variant = this.variants.find(x => x.variantId === value) || this.variant;\r\n }\r\n\r\n get hasVariants(): boolean {\r\n return this.variants.length > 1;\r\n }\r\n\r\n get singleVariantFilter(): boolean {\r\n return this.variantFilterOptions.length === 1;\r\n }\r\n\r\n get doubleVariantFilter(): boolean {\r\n return this.variantFilterOptions.length === 2;\r\n }\r\n\r\n get buyButtonDisabled(): boolean {\r\n return this.quantity < 1;\r\n }\r\n\r\n get isCarbonSavingsCalculationVariant(): boolean {\r\n return this.variant.carbonSavingsModel && this.variant.carbonSavingsModel.savingsComparedToNonECOVariant > 0;\r\n }\r\n\r\n get isProductWebShop(): boolean {\r\n return window.site.settings.activateProductWebshop === \"true\";\r\n }\r\n private addToCart() {\r\n if (this.buyButtonDisabled) {\r\n return;\r\n }\r\n\r\n cart.addToCart({\r\n quantity: this.quantity,\r\n variantId: this.variant.variantId,\r\n variantSystemId: this.variant.variantSystemId\r\n });\r\n\r\n this.ReportAddToCartToGoogleEnhancedEcommerce();\r\n }\r\n\r\n private createImageGallery(): void {\r\n const self = this;\r\n const slider = $(\".slider-for\");\r\n /*slider.on(\"init\", () => {\r\n this.filterImageGallery(productStore.variant.variantId);\r\n });*/\r\n slider.slick({\r\n // slidesToShow: 1,\r\n // slidesToScroll: 1,\r\n arrows: false,\r\n // fade: true,\r\n infinite: false,\r\n asNavFor: \".slider-nav\",\r\n lazyLoad: \"ondemand\"\r\n }).on(\"afterChange\", (event, slick, currentSlide, nextSlide) => {\r\n const slideCurrent = $(slick.$slides).filter(\".slick-current\");\r\n const variantIdElement = slideCurrent.find(\"[data-variantid]\");\r\n const variantId: string = variantIdElement.data(\"variantid\").toString();\r\n if (variantId !== self.variantId) {\r\n self.variantId = variantId;\r\n }\r\n });\r\n $(\".slider-nav\").slick({\r\n // slidesToShow: 4,\r\n // slidesToScroll: 1,\r\n arrows: true,\r\n centerMode: false,\r\n asNavFor: \".slider-for\",\r\n focusOnSelect: true,\r\n infinite: false,\r\n variableWidth: true\r\n });\r\n (slider as any).slickLightbox({\r\n itemSelector: \"div > a\",\r\n imageMaxHeight: 2.7,\r\n lazy: true\r\n });\r\n\r\n this.pickPhotoOfSelectedVariant(productStore.variant.variantId);\r\n $(\".js-slick-container\").css(\"visibility\", \"visible\");\r\n\r\n // Make element visible after all script render\r\n slider.css(\"visibility\", \"visible\");\r\n $(\".slider-nav\").css(\"visibility\", \"visible\");\r\n }\r\n\r\n private pickPhotoOfSelectedVariant(selectedVariant: string): void {\r\n $(\"div.slider-nav div[data-variantid]\").each(function(): void {\r\n if ($(this).data(\"variantid\").toString() === selectedVariant) {\r\n const i = $(this).parent().parent().data(\"slick-index\");\r\n $(\".slider-for\").slick(\"slickGoTo\", i, true);\r\n return;\r\n }\r\n });\r\n }\r\n\r\n private resetQuantitiesInputs(): void {\r\n const itemsInPallet: number = this.variant.itemSecondaryPackagingContent;\r\n\r\n if (this.variant.showPalletQuantity) {\r\n this.quantity = itemsInPallet;\r\n this.palletRequired = this.product.quantityDefault;\r\n } else {\r\n this.quantity = this.product.quantityDefault;\r\n this.palletRequired = Math.floor(this.quantity / itemsInPallet);\r\n }\r\n }\r\n\r\n /**\r\n * Calculates and sets the quantity with regards to the selected variant's\r\n * secondary packaging (pallet) settings.\r\n * @param calculateQuantityRemainder - Exclude remainder for pallet and quantity\r\n */\r\n private updateQuantityToPallet(calculateQuantityRemainder: boolean = true, resetQuantity: boolean = false): void {\r\n const quantity = this.quantity;\r\n const quantityPerPallet = this.variant.itemSecondaryPackagingContent;\r\n let quantityMod = 0;\r\n\r\n if (this.variant.showQuantity && calculateQuantityRemainder) {\r\n quantityMod = quantity % quantityPerPallet;\r\n }\r\n\r\n if (this.variant.showPalletQuantity) {\r\n this.palletRequired = this.palletRequired - (this.palletRequired % 1);\r\n if (this.palletRequired <= 0) {\r\n this.palletRequired = 1;\r\n }\r\n this.quantity = (quantityPerPallet * this.palletRequired);\r\n }\r\n\r\n if (!resetQuantity) {\r\n if (this.variant.itemConsumptionCalculatorBlock && this.getSession(this.variant.baseProductArticleNumber + SiteConstants.Area)) {\r\n const area = JSON.parse(this.getSession(this.variant.baseProductArticleNumber + SiteConstants.Area));\r\n this.quantity = Math.ceil(area * this.variant.itemMaterialConsumption);\r\n } else if (this.getSession(this.variant.baseProductArticleNumber + SiteConstants.Area) && this.getSession(this.variant.baseProductArticleNumber + SiteConstants.Layer)) {\r\n const area = JSON.parse(this.getSession(this.variant.baseProductArticleNumber + SiteConstants.Area));\r\n const layer = JSON.parse(this.getSession(this.variant.baseProductArticleNumber + SiteConstants.Layer));\r\n const material = area * layer;\r\n const kgNeeded = material * this.product.productMaterialConsumption;\r\n this.quantity = Math.ceil(kgNeeded / this.variant.itemPrimaryPackagingWeight);\r\n }\r\n }\r\n }\r\n\r\n private shouldQuantityBeReadonly(): boolean {\r\n if (!this.variant.showQuantity && this.variant.showPalletQuantity) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n private getSession(key: string): string {\r\n if (typeof(sessionStorage) !== \"undefined\") {\r\n return sessionStorage.getItem(key) || \"\";\r\n }\r\n\r\n return \"\";\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!./VariantSelector.ts?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!./VariantSelector.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./VariantSelector.vue?vue&type=template&id=21673ebb&\"\nimport script from \"./VariantSelector.ts?vue&type=script&lang=ts&\"\nexport * from \"./VariantSelector.ts?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',{staticClass:\"row-inner configurator-container\"},[_c('div',{staticClass:\"product-configurator__introduction\"},[_c('h1',{staticClass:\"product-configurator__title\"},[_vm._v(_vm._s(_vm.vm.title))]),(!_vm.sharedConfiguratorInfoFound)?_c('div',{staticClass:\"product-configurator__validation-text error-text\"},[_vm._v(_vm._s(_vm.translations.shareConfiguratorInfoNotFoundText))]):_vm._e(),_c('div',{staticClass:\"product-configurator__text\",domProps:{\"innerHTML\":_vm._s(_vm.vm.text)}})]),_c('div',{ref:\"progress-bar\",staticClass:\"product-configurator__progress-bar-container\"},_vm._l((_vm.vm.steps),function(step,index){return _c('div',{key:step.id+index,staticClass:\"product-configurator__progress-bar-item\",class:{active: index == _vm.activeStepIndex},on:{\"click\":function($event){$event.preventDefault();return _vm.setActiveStep(index)}}},[_c('div',{staticClass:\"product-configurator__step-dot\",domProps:{\"textContent\":_vm._s(index + 1)}}),_c('span',{staticClass:\"product-configurator__step-title\"},[_vm._v(_vm._s(step.title))])])}),0),_vm._l((_vm.vm.steps),function(step,index){return _c('div',{key:step.id,attrs:{\"value\":step}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(index == _vm.activeStepIndex),expression:\"index == activeStepIndex\"}]},[_c('div',{staticClass:\"product-configurator__introduction\",domProps:{\"innerHTML\":_vm._s(step.content)}}),_vm._l((_vm.visibleSections(step)),function(section){return _c('div',{key:section.id,staticClass:\"product-configurator__section\",class:{ 'no-outline': section.hideDelimiter},attrs:{\"value\":section}},[(section.title)?_c('h2',[_vm._v(_vm._s(section.title))]):_vm._e(),(section.content)?_c('span',{domProps:{\"innerHTML\":_vm._s(section.content)}}):_vm._e(),_vm._l((section.modules),function(module){return _c('div',{key:module.id,attrs:{\"value\":module}},[_c(_vm.getModuleComponent(module),_vm._b({tag:\"component\",on:{\"update-configurator-value\":_vm.updateConfiguratorValue}},'component',_vm.getModuleProps(module),false))],1)})],2)}),_c('div',{staticClass:\"product-configurator__next-step-container\"},[(_vm.displayNextStepButton(step))?_c('button',{staticClass:\"button medium\",attrs:{\"disabled\":!_vm.isMandatoryStepPropertyValuesSet},on:{\"click\":function($event){return _vm.goToStep(index+1)}}},[_vm._v(_vm._s(_vm.translations.nextStepText))]):_vm._e()])],2)])}),_c('modal',{attrs:{\"name\":_vm.quantityChangedModalName,\"classes\":\"v--modal quantity-message\",\"height\":\"auto\",\"adaptive\":true,\"max-width\":450,\"scrollable\":true,\"clickToClose\":false},on:{\"close\":_vm.hideQuantityChangedModal}},[_c('h2',[_vm._v(_vm._s(_vm.translations.quantityChangedHeading))]),_c('p',[_vm._v(_vm._s(_vm.translations.quantityChangedText))]),_c('button',{on:{\"click\":_vm.hideQuantityChangedModal}},[_vm._v(_vm._s(_vm.translations.quantityChangedClose))])])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { configuratorConstants, ConfiguratorValueUpdateModel, Product } from \"@/modules/ProductConfigurator/models\";\r\nimport { productConfiguratorStore } from \"@/modules/ProductConfigurator/store\";\r\n\r\nclass Cookie {\r\n public applyCustomCookies(vm: any, selectedCustomConfiguratorProductCookie: string, model: any ) {\r\n if (selectedCustomConfiguratorProductCookie !== \"\") {\r\n if (selectedCustomConfiguratorProductCookie.indexOf(\"%\")) {\r\n selectedCustomConfiguratorProductCookie = decodeURI(selectedCustomConfiguratorProductCookie);\r\n }\r\n const cookieArray = JSON.parse(selectedCustomConfiguratorProductCookie);\r\n const vmTemp = vm;\r\n for (const cookie of cookieArray) {\r\n if (cookie.moduleId === vmTemp.id && cookie.value) {\r\n model.wallSections = cookie.value.wallSections;\r\n }\r\n }\r\n }\r\n }\r\n\r\n public cookieExists(cookieNames: string[]): boolean {\r\n let cookieExist = false;\r\n const cookies = document.cookie.split(\";\");\r\n for (const cookie of cookies) {\r\n for (const cookieName of cookieNames) {\r\n if (cookie.includes(cookieName)) {\r\n cookieExist = true;\r\n break;\r\n }\r\n }\r\n if (cookieExist) {\r\n break;\r\n }\r\n }\r\n return cookieExist;\r\n }\r\n\r\n public getCookie(cookie: string): string {\r\n const cookies = document.cookie.split(\";\");\r\n for (let i = 0; cookies.length > i; i++) {\r\n if (cookies[i].includes(cookie)) {\r\n return decodeURI(cookies[i].split(\"=\")[1]);\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n public getCookieFullNames(cookies: string[]): string[] {\r\n const cookieCollection = [];\r\n const allCookies = document.cookie.split(\";\");\r\n for (const allCookie of allCookies) {\r\n for (const cookie of cookies) {\r\n if (allCookie.includes(cookie)) {\r\n cookieCollection.push(allCookie);\r\n }\r\n }\r\n }\r\n return cookieCollection;\r\n }\r\n\r\n public removeCookies(cookies: string[]) {\r\n const fullCookieNames = this.getCookieFullNames(cookies);\r\n const date = new Date();\r\n // Set it expire in -1 days\r\n date.setTime(date.getTime() + (-1 * 24 * 60 * 60 * 1000));\r\n for (const cookieName of fullCookieNames) {\r\n document.cookie = cookieName + \"=; expires=\" + date.toUTCString() + \";\";\r\n }\r\n }\r\n\r\n public getCookieStringList(cookieName: string): string[] {\r\n const cookie = this.getCookie(cookieName);\r\n if (cookie !== \"\") {\r\n const parses = JSON.parse(cookie);\r\n const propertyNameList = [];\r\n for (const parse of parses) {\r\n propertyNameList.push(parse.propertyName);\r\n }\r\n return propertyNameList;\r\n }\r\n return [];\r\n }\r\n\r\n public setCookie(cookieString: string, value: any, cookie: string): string {\r\n return this.createCookie(cookieString, value, cookie);\r\n }\r\n\r\n public createCookie(values: string, value: any, cookieName: string): string {\r\n if (values.indexOf(\"%\") > -1) {\r\n values = decodeURI(values);\r\n }\r\n const now = new Date();\r\n now.setDate(now.getDate() + 1);\r\n const expires = \"expires=\" + now.toUTCString() + \";\";\r\n let newValue = \"\";\r\n\r\n if (values && values !== \"\") {\r\n const valuesObjects = JSON.parse(values);\r\n const configValues = [];\r\n if (valuesObjects.length && valuesObjects.length > 0) {\r\n let addValueOnce = true;\r\n for (const valuesObject of valuesObjects) {\r\n if (valuesObject.moduleId === value.moduleId && valuesObject.propertyName !== configuratorConstants.PlasterThicknessRange) {\r\n if (valuesObject.isText || valuesObject.propertyName === configuratorConstants.RecommendedSectionProducts) {\r\n if (valuesObject.propertyName !== value.propertyName && value.propertyName !== configuratorConstants.productList\r\n && value.propertyName !== configuratorConstants.recommendedProductSelected) {\r\n configValues.push(valuesObject);\r\n } else if (value.propertyName !== configuratorConstants.productList && value.propertyName !== configuratorConstants.recommendedProductSelected) {\r\n addValueOnce = false;\r\n configValues.push(value);\r\n }\r\n } else if (addValueOnce) {\r\n if (value.propertyName === configuratorConstants.productList) {\r\n const articleNumbers = this.GetAddedProducts(value);\r\n const newUpdateModelValue = value as ConfiguratorValueUpdateModel;\r\n newUpdateModelValue.value = JSON.stringify(articleNumbers);\r\n if (configValues.filter(x => x.propertyName === configuratorConstants.productList).length > 0) {\r\n configValues.filter(x => x.propertyName === configuratorConstants.productList)[0].value = JSON.stringify(articleNumbers);\r\n } else {\r\n configValues.push(newUpdateModelValue);\r\n }\r\n\r\n const currentRecommenedValue = (valuesObjects as ConfiguratorValueUpdateModel[]).filter(x => x.propertyName === configuratorConstants.recommendedProductSelected);\r\n if (currentRecommenedValue && currentRecommenedValue[0].value) {\r\n if (configValues.filter(x => x.propertyName === configuratorConstants.recommendedProductSelected).length > 0) {\r\n configValues.filter(x => x.propertyName === configuratorConstants.recommendedProductSelected)[0] = currentRecommenedValue[0];\r\n } else {\r\n configValues.push(currentRecommenedValue[0]);\r\n }\r\n }\r\n addValueOnce = false;\r\n } else {\r\n configValues.push(value);\r\n addValueOnce = false;\r\n }\r\n }\r\n } else {\r\n if (value.propertyName === configuratorConstants.FloorType) {\r\n if (configuratorConstants.ResetPropertiesOnFloorChange.indexOf(valuesObject.propertyName + \";\") > -1) {\r\n valuesObject.value = undefined;\r\n configValues.push(valuesObject);\r\n }\r\n } else {\r\n configValues.push(valuesObject);\r\n }\r\n }\r\n }\r\n\r\n if (addValueOnce) {\r\n // making sure value gets added\r\n if (value.propertyName === configuratorConstants.productList) {\r\n const articleNumbers = this.GetAddedProducts(value);\r\n const newUpdateModelValue = value as ConfiguratorValueUpdateModel;\r\n newUpdateModelValue.value = JSON.stringify(articleNumbers);\r\n if (configValues.filter(x => x.propertyName === configuratorConstants.productList).length > 0) {\r\n configValues.filter(x => x.propertyName === configuratorConstants.productList)[0].value = JSON.stringify(articleNumbers);\r\n } else {\r\n configValues.push(newUpdateModelValue);\r\n }\r\n } else if (value.propertyName === configuratorConstants.recommendedProductSelected) {\r\n if (configValues.filter(x => x.propertyName === configuratorConstants.recommendedProductSelected).length > 0) {\r\n configValues.filter(x => x.propertyName === configuratorConstants.recommendedProductSelected)[0].value = value.value;\r\n } else {\r\n configValues.push(value);\r\n }\r\n } else {\r\n configValues.push(value);\r\n }\r\n }\r\n } else {\r\n configValues.push(value);\r\n }\r\n\r\n if (configValues.length > 0) {\r\n this.filterConfigValues(configValues);\r\n newValue = encodeURI(JSON.stringify(configValues));\r\n document.cookie = cookieName + \"=\" + newValue;\r\n document.cookie = expires;\r\n }\r\n } else {\r\n newValue = encodeURI(JSON.stringify([value]));\r\n document.cookie = cookieName + \"=\" + newValue;\r\n document.cookie = expires;\r\n }\r\n return newValue;\r\n }\r\n\r\n public CreateCarbonSavingsCookie(cookieName: string, currentVariantId: string, ecoVariantId: string, packagingFactor: number) {\r\n const existingCookies = document.cookie.split(\";\");\r\n const now = new Date();\r\n now.setDate(now.getDate() + 1);\r\n const expires = \"expires=\" + now.toUTCString() + \";\";\r\n\r\n if (existingCookies.some(x => x.indexOf(cookieName) > -1)) {\r\n let carbonSavingsCookie = existingCookies.find(x => x.indexOf(cookieName) > -1);\r\n if (carbonSavingsCookie && carbonSavingsCookie.indexOf(currentVariantId + \"-\" + ecoVariantId) < 0) {\r\n carbonSavingsCookie = carbonSavingsCookie + \"$\" + currentVariantId + \"-\" + ecoVariantId + \"-\" + packagingFactor;\r\n document.cookie = carbonSavingsCookie;\r\n document.cookie = expires;\r\n }\r\n } else {\r\n document.cookie = cookieName + \"=\" + currentVariantId + \"-\" + ecoVariantId + \"-\" + packagingFactor;\r\n document.cookie = expires;\r\n }\r\n }\r\n\r\n private GetAddedProducts(value: any) {\r\n const articleNumbers: string [] = [];\r\n productConfiguratorStore.products.map((x: Product) => {\r\n if (x.added) {\r\n articleNumbers.push(x.articleNumber);\r\n }\r\n });\r\n return articleNumbers;\r\n }\r\n\r\n private filterConfigValues(configValues: ConfiguratorValueUpdateModel[]): ConfiguratorValueUpdateModel[] {\r\n if (configValues.filter(x => x.propertyName === configuratorConstants.OuterCorners).length > 0) {\r\n const indexOfGroundShape = configValues.findIndex(x => x.propertyName === configuratorConstants.GroundShape);\r\n if (indexOfGroundShape > -1 && indexOfGroundShape !== configValues.length - 1) {\r\n configValues.splice(indexOfGroundShape, 1);\r\n }\r\n }\r\n\r\n if (configValues.filter(x => x.propertyName === configuratorConstants.GroundShape).length > 0) {\r\n const indexOfOuterCorners = configValues.findIndex(x => x.propertyName === configuratorConstants.OuterCorners);\r\n if (indexOfOuterCorners > -1 && indexOfOuterCorners !== configValues.length - 1) {\r\n configValues.splice(indexOfOuterCorners, 1);\r\n }\r\n }\r\n return configValues;\r\n }\r\n}\r\n\r\nexport default new Cookie();\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row selector__container\"},[_c('div',[_vm._v(_vm._s(_vm.vm.title))]),_c('div',{staticClass:\"selector__radio-container\"},_vm._l((_vm.vm.options),function(option){return _c('div',{key:option.value,staticClass:\"selector__item radio\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedOption),expression:\"selectedOption\"}],attrs:{\"type\":\"radio\"},domProps:{\"value\":option,\"checked\":_vm._q(_vm.selectedOption,option)},on:{\"change\":[function($event){_vm.selectedOption=option},_vm.onSelectedChange]}}),_c('span',{staticClass:\"radio-icon\"}),_c('div',{staticClass:\"selector__option-text\"},[_vm._v(_vm._s(option.title))])])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue} from \"vue-property-decorator\";\r\nimport { RadioButtonInputModuleModel, RadioButtonInputModuleOption, ConfiguratorValueUpdateModel, configuratorConstants } from \"../models\";\r\n\r\n@Component\r\nexport default class RadioButtonInputModule extends Vue {\r\n protected selectedOption: RadioButtonInputModuleOption = {} as RadioButtonInputModuleOption;\r\n\r\n @Prop()\r\n protected vm!: RadioButtonInputModuleModel;\r\n\r\n protected created() {\r\n if (this.vm.options && this.vm.options.length) {\r\n const preselectedOption = this.vm.options.find(x => x.preSelected);\r\n if (preselectedOption) {\r\n this.selectedOption = preselectedOption;\r\n this.onSelectedChange();\r\n }\r\n }\r\n }\r\n\r\n protected onSelectedChange(setCookie: boolean = false) {\r\n const updateModel: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: this.selectedOption.value,\r\n valueDescriptions: [{ title: \"\", text: this.selectedOption.description ? this.selectedOption.description : this.selectedOption.title }],\r\n propertyName: this.vm.configuratorProperties[0].propertyName, isText: false, resetClimateSavingsCookie: this.vm.resetClimateSavingsCookie };\r\n this.$emit(\"update-configurator-value\", updateModel, setCookie);\r\n\r\n if (this.vm.configuratorProperties[0].propertyName === configuratorConstants.PlasterThicknessRange ||\r\n (this.vm.configuratorProperties[0].propertyName === configuratorConstants.PlasteredIndoorWallSides &&\r\n this.selectedOption.value === configuratorConstants.PlasteredIndoorWallSidesNone)) {\r\n const updateModelPlasterThickness: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: \"\",\r\n valueDescriptions: [{ title: \"\", text: \"\" }],\r\n propertyName: configuratorConstants.recommendedProductSelected, isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModelPlasterThickness, setCookie);\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!./RadioButtonInputModule.ts?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!./RadioButtonInputModule.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RadioButtonInputModule.vue?vue&type=template&id=4b9b8ea5&\"\nimport script from \"./RadioButtonInputModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./RadioButtonInputModule.ts?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',{staticClass:\"row selector__container\"},[(_vm.vm.title)?_c('h3',[_vm._v(_vm._s(_vm.vm.title))]):_vm._e(),_c('div',{staticClass:\"selector__image-container\"},_vm._l((_vm.vm.options),function(option){return _c('div',{key:option ? option.value : '',class:(option && _vm.selectedOption && option.value === _vm.selectedOption.value) ? _vm.imageClass + ' active' : _vm.imageClass.replace(' active', ''),style:(_vm.vm.options && _vm.vm.options.length > 3 && ((!_vm.isMobile && !_vm.vm.desktopNumberOfImageOptions) || (_vm.isMobile && !_vm.vm.mobileNumberOfImageOptions)) ? 'flex: 1 0 25%' : '')},[_c('label',[_c('img',{attrs:{\"src\":option.url,\"alt\":option.altText}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedOption),expression:\"selectedOption\"}],attrs:{\"type\":\"radio\"},domProps:{\"value\":option,\"checked\":_vm._q(_vm.selectedOption,option)},on:{\"change\":[function($event){_vm.selectedOption=option},_vm.onSelectedChange]}}),_c('div',{staticClass:\"selector__image-content\"},[_c('div',{staticClass:\"selector__image-title\"},[_vm._v(_vm._s(option.title))]),_c('div',{staticClass:\"selector__option-text\"},[_vm._v(\" \"+_vm._s(option.description))])])])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { ImageInputModuleModel, ImageInputModuleOption, ConfiguratorValueUpdateModel, configuratorConstants } from \"../models\";\r\nimport { productConfiguratorStore as configuratorstore } from \"../store\";\r\nimport { EventBus } from \"../../../events\";\r\n\r\n@Component\r\nexport default class ImageInputModule extends Vue {\r\n protected selectedOption: ImageInputModuleOption = {} as ImageInputModuleOption;\r\n protected imageClass: string = \"selector__item image small-4\";\r\n protected isMobile: boolean = false;\r\n\r\n @Prop()\r\n protected vm!: ImageInputModuleModel;\r\n\r\n @Prop()\r\n protected autoSelect!: boolean;\r\n\r\n protected created() {\r\n if (this.vm.options && this.vm.options.length && this.autoSelect) {\r\n this.selectedOption = this.vm.options[0];\r\n this.onSelectedChange();\r\n }\r\n\r\n if (this.vm.options && this.vm.options.length) {\r\n const preselectedOption = this.vm.options.find(x => x.preSelected);\r\n if (preselectedOption) {\r\n this.selectedOption = preselectedOption;\r\n this.onSelectedChange();\r\n }\r\n }\r\n\r\n if (this.vm.desktopNumberOfImageOptions === 1) {\r\n this.imageClass = this.imageClass + \" desktop-image-1\";\r\n } else if (this.vm.desktopNumberOfImageOptions === 2) {\r\n this.imageClass = this.imageClass + \" desktop-image-2\";\r\n }\r\n\r\n if (this.vm.mobileNumberOfImageOptions === 1) {\r\n this.imageClass = this.imageClass + \" mobile-image-1\";\r\n } else if (this.vm.mobileNumberOfImageOptions === 2) {\r\n this.imageClass = this.imageClass + \" mobile-image-2\";\r\n }\r\n this.isMobile = window.innerWidth < 640;\r\n }\r\n\r\n protected mounted() {\r\n EventBus.$on(\"updategroundshape\", () => {\r\n const updatedValueOption = configuratorstore.configuratorValues.find(a => a.property.propertyName === configuratorConstants.GroundShape);\r\n if (updatedValueOption) {\r\n this.selectedOption = updatedValueOption.value;\r\n }\r\n });\r\n }\r\n\r\n protected onSelectedChange(setCookie: boolean = false) {\r\n const updateModel: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: this.selectedOption.value, valueDescriptions: [{ title: \"\", text: this.selectedOption.title }],\r\n propertyName: this.vm.configuratorProperties[0].propertyName, isText: false, resetClimateSavingsCookie: this.vm.resetClimateSavingsCookie };\r\n this.$emit(\"update-configurator-value\", updateModel, setCookie);\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!./ImageInputModule.ts?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!./ImageInputModule.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ImageInputModule.vue?vue&type=template&id=53c2e8e5&\"\nimport script from \"./ImageInputModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./ImageInputModule.ts?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',{staticClass:\"row selector__container\"},[_c('div',{staticClass:\"selector__text-container\",style:(_vm.backgroundColor)},_vm._l((_vm.vm.options),function(option){return _c('div',{key:option.id,class:(_vm.vm.listTextBoxHorizontally ? 'selector__item__horizontal' : '') + ' selector__item text'},[(option.title)?_c('div',{staticClass:\"selector__title\"},[_vm._v(_vm._s(option.title))]):_vm._e(),(!_vm.vm.listTextBoxHorizontally)?_c('div',{staticClass:\"selector__option-container\"},[(option.label)?_c('div',{staticClass:\"selector__label-container\"},[_c('label',{staticClass:\"selector__label\"},[_vm._v(_vm._s(option.label))])]):_vm._e(),_c('div',{staticClass:\"selector__input-container\",class:{ 'no-label': option.label === '' }},[((option.dataType)==='checkbox')?_c('input',{directives:[{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleDebounce),expression:\"handleDebounce\"},{name:\"model\",rawName:\"v-model\",value:(option.value),expression:\"option.value\"}],staticClass:\"selector__input\",attrs:{\"placeholder\":option.placeholder,\"step\":\"any\",\"min\":\"0\",\"data-property-name\":option.configuratorProperty.propertyName,\"data-property-unit\":option.unit,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(option.value)?_vm._i(option.value,null)>-1:(option.value)},on:{\"blur\":function($event){return _vm.handleBlur(option, $event)},\"change\":function($event){var $$a=option.value,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(option, \"value\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(option, \"value\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(option, \"value\", $$c)}}}}):((option.dataType)==='radio')?_c('input',{directives:[{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleDebounce),expression:\"handleDebounce\"},{name:\"model\",rawName:\"v-model\",value:(option.value),expression:\"option.value\"}],staticClass:\"selector__input\",attrs:{\"placeholder\":option.placeholder,\"step\":\"any\",\"min\":\"0\",\"data-property-name\":option.configuratorProperty.propertyName,\"data-property-unit\":option.unit,\"type\":\"radio\"},domProps:{\"checked\":_vm._q(option.value,null)},on:{\"blur\":function($event){return _vm.handleBlur(option, $event)},\"change\":function($event){return _vm.$set(option, \"value\", null)}}}):_c('input',{directives:[{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleDebounce),expression:\"handleDebounce\"},{name:\"model\",rawName:\"v-model\",value:(option.value),expression:\"option.value\"}],staticClass:\"selector__input\",attrs:{\"placeholder\":option.placeholder,\"step\":\"any\",\"min\":\"0\",\"data-property-name\":option.configuratorProperty.propertyName,\"data-property-unit\":option.unit,\"type\":option.dataType},domProps:{\"value\":(option.value)},on:{\"blur\":function($event){return _vm.handleBlur(option, $event)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(option, \"value\", $event.target.value)}}}),_c('span',{staticClass:\"selector__input-unit\"},[_vm._v(_vm._s(option.unit))])])]):_vm._e(),(_vm.vm.listTextBoxHorizontally)?_c('div',{staticClass:\"selector__option-container\"},[(option.label)?_c('div',[_c('label',{staticClass:\"selector__label-horizontal\"},[_vm._v(_vm._s(option.label))]),((option.dataType)==='checkbox')?_c('input',{directives:[{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleDebounce),expression:\"handleDebounce\"},{name:\"model\",rawName:\"v-model\",value:(option.value),expression:\"option.value\"}],staticClass:\"selector__input-horizontal\",attrs:{\"placeholder\":option.placeholder,\"step\":\"any\",\"min\":\"0\",\"data-property-name\":option.configuratorProperty.propertyName,\"data-property-unit\":option.unit,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(option.value)?_vm._i(option.value,null)>-1:(option.value)},on:{\"blur\":function($event){return _vm.handleBlur(option, $event)},\"change\":function($event){var $$a=option.value,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(option, \"value\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(option, \"value\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(option, \"value\", $$c)}}}}):((option.dataType)==='radio')?_c('input',{directives:[{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleDebounce),expression:\"handleDebounce\"},{name:\"model\",rawName:\"v-model\",value:(option.value),expression:\"option.value\"}],staticClass:\"selector__input-horizontal\",attrs:{\"placeholder\":option.placeholder,\"step\":\"any\",\"min\":\"0\",\"data-property-name\":option.configuratorProperty.propertyName,\"data-property-unit\":option.unit,\"type\":\"radio\"},domProps:{\"checked\":_vm._q(option.value,null)},on:{\"blur\":function($event){return _vm.handleBlur(option, $event)},\"change\":function($event){return _vm.$set(option, \"value\", null)}}}):_c('input',{directives:[{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleDebounce),expression:\"handleDebounce\"},{name:\"model\",rawName:\"v-model\",value:(option.value),expression:\"option.value\"}],staticClass:\"selector__input-horizontal\",attrs:{\"placeholder\":option.placeholder,\"step\":\"any\",\"min\":\"0\",\"data-property-name\":option.configuratorProperty.propertyName,\"data-property-unit\":option.unit,\"type\":option.dataType},domProps:{\"value\":(option.value)},on:{\"blur\":function($event){return _vm.handleBlur(option, $event)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(option, \"value\", $event.target.value)}}}),_c('span',{staticClass:\"selector__input-unit\"},[_vm._v(_vm._s(option.unit))])]):_vm._e()]):_vm._e()])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue} from \"vue-property-decorator\";\r\nimport { TextInputModuleModel, TextInputModuleOption, ConfiguratorValueUpdateModel, configuratorConstants } from \"../models\";\r\nimport HtmlElementHelper from \"@/services/HtmlElementHelper\";\r\nimport { productConfiguratorStore as configuratorstore } from \"../store\";\r\nimport { EventBus } from \"../../../events\";\r\n\r\n@Component\r\nexport default class TextInputModule extends Vue {\r\n\r\n @Prop()\r\n protected vm!: TextInputModuleModel;\r\n protected backgroundColor: object = {} as object;\r\n\r\n protected created() {\r\n this.vm.options.forEach(option => {\r\n if (Number(option.value)) {\r\n const updateModel: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: option.value,\r\n valueDescriptions : [{ title: \"\", text: option.value + option.unit }], propertyName: option.configuratorProperty.propertyName, isText: false,\r\n resetClimateSavingsCookie: false };\r\n configuratorstore.updateConfiguratorValue(updateModel);\r\n }\r\n\r\n if (!option.value) {\r\n option.value = \"\";\r\n }\r\n });\r\n if (this.vm.backgroundColor) {\r\n this.backgroundColor = { \"background-color\": this.vm.backgroundColor };\r\n }\r\n }\r\n\r\n protected mounted() {\r\n EventBus.$on(\"updateoutercorners\", () => {\r\n const tempOptions = this.vm.options;\r\n const option = tempOptions.find(b => b.configuratorProperty.propertyName === configuratorConstants.OuterCorners);\r\n const optionInner = tempOptions.find(b => b.configuratorProperty.propertyName === configuratorConstants.InnerCorners);\r\n if (option) {\r\n this.vm.options = [];\r\n const updatedValueOption = configuratorstore.configuratorValues.find(a => a.property.propertyName === configuratorConstants.OuterCorners);\r\n if (updatedValueOption) {\r\n option.value = updatedValueOption.value;\r\n this.vm.options = tempOptions;\r\n }\r\n }\r\n if (optionInner) {\r\n this.vm.options = [];\r\n const updatedValueOption = configuratorstore.configuratorValues.find(a => a.property.propertyName === configuratorConstants.InnerCorners);\r\n if (updatedValueOption) {\r\n optionInner.value = updatedValueOption.value;\r\n this.vm.options = tempOptions;\r\n }\r\n }\r\n });\r\n\r\n EventBus.$on(\"onfloortypeupdate\", () => {\r\n const tempOptions = this.vm.options;\r\n const option = tempOptions.map(item => {\r\n if (configuratorConstants.ResetPropertiesOnFloorChange.indexOf(item.configuratorProperty.propertyName + \";\") > -1) {\r\n item.value = undefined;\r\n }\r\n });\r\n this.vm.options = tempOptions;\r\n });\r\n }\r\n\r\n protected handleDebounce(propertyValue: any, event: Event) {\r\n const propertyNamedataElement: string = \"propertyName\";\r\n const propertyUnitDataElement: string = \"propertyUnit\";\r\n if (event.target instanceof HTMLInputElement && HtmlElementHelper.isFocusedElement(event.target)) {\r\n if (event.target.type === \"number\" && !HtmlElementHelper.isValidNumberInput(event.target)) {\r\n return;\r\n }\r\n const propertyName = event.target.dataset[propertyNamedataElement];\r\n const propertyUnit = event.target.dataset[propertyUnitDataElement] || \"\";\r\n if (propertyName !== undefined) {\r\n this.setOptionValue(propertyName, propertyValue, propertyUnit, true);\r\n }\r\n }\r\n }\r\n\r\n protected handleBlur(option: TextInputModuleOption, event: Event) {\r\n if (event.target instanceof HTMLInputElement && event.target.type === \"number\" && !HtmlElementHelper.isValidNumberInput(event.target)) {\r\n event.target.value = event.target.min;\r\n option.value = Number(event.target.min);\r\n }\r\n\r\n this.setOptionValue(option.configuratorProperty.propertyName, option.value, option.unit, true);\r\n }\r\n\r\n protected setOptionValue(propertyName: string, propertyValue: any, propertyUnit: string, setCookie: boolean = false) {\r\n const updateModel: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: propertyValue, valueDescriptions: [{ title: \"\", text: `${propertyValue} ${propertyUnit}` }],\r\n propertyName, isText: true, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModel, setCookie);\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!./TextInputModule.ts?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!./TextInputModule.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TextInputModule.vue?vue&type=template&id=aa7656d0&\"\nimport script from \"./TextInputModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./TextInputModule.ts?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 (_vm.vm.content)?_c('div',{staticClass:\"selector__read-more\",class:{open : _vm.expanded},style:(_vm.backgroundColor)},[(_vm.vm.title)?_c('h3',{staticClass:\"selector__read-more-title\"},[_vm._v(_vm._s(_vm.vm.title))]):_vm._e(),_c('div',{staticClass:\"selector__read-more-text\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.content)}}),(_vm.expanded)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.contentReadMore)}}):_vm._e(),(_vm.showReadMore && !_vm.expanded)?_c('span',{staticClass:\"selector__fade\",style:(_vm.fadeColor)}):_vm._e()]),(_vm.showReadMore)?_c('div',{staticClass:\"selector__read-more-link\",on:{\"click\":_vm.toggleReadMore}},[_vm._v(_vm._s(_vm.getBtnText))]):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { ContentModuleModel } from \"../models\";\r\nimport { productConfiguratorStore as store } from \"./../store\";\r\n\r\n@Component\r\nexport default class ContentModule extends Vue {\r\n protected expanded: boolean = false;\r\n protected backgroundColor: object = {} as object;\r\n protected fadeColor: object = {} as object;\r\n\r\n @Prop()\r\n protected vm!: ContentModuleModel;\r\n\r\n protected created() {\r\n // Sets background/fade-color depending on Backoffice property\r\n if (this.vm.backgroundColor) {\r\n this.backgroundColor = { \"background-color\": this.vm.backgroundColor };\r\n this.fadeColor = {\r\n background: `linear-gradient(0deg, ${this.vm.backgroundColor} 0%, rgba(255,255,255,0) 100%)`\r\n };\r\n }\r\n\r\n if (this.vm.borderColor) {\r\n if (this.vm.backgroundColor) {\r\n this.backgroundColor = { \"background-color\": this.vm.backgroundColor, \"border\": \"1px solid\" + this.vm.borderColor };\r\n } else {\r\n this.backgroundColor = { border: \"1px solid\" + this.vm.borderColor };\r\n }\r\n }\r\n }\r\n\r\n private toggleReadMore() {\r\n this.expanded = !this.expanded;\r\n }\r\n\r\n private get getBtnText() {\r\n return this.expanded ? store.translations.readLess : store.translations.readMore;\r\n }\r\n\r\n private get showReadMore() {\r\n return this.vm.contentReadMore;\r\n }\r\n\r\n get propertyModelValues() {\r\n return store.propertyModelValues;\r\n }\r\n\r\n get content() {\r\n let content: string = this.vm.content;\r\n this.propertyModelValues.forEach(propertyValue => content = content.replace(`[${propertyValue.key}]`, propertyValue.value !== undefined && propertyValue.value !== null ? propertyValue.value : \"\"));\r\n return content;\r\n }\r\n\r\n get contentReadMore() {\r\n let contentReadMore: string = this.vm.contentReadMore;\r\n this.propertyModelValues.forEach(propertyValue => contentReadMore = contentReadMore.replace(`[${propertyValue.key}]`, propertyValue.value ? propertyValue.value : \"\"));\r\n return contentReadMore;\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!./ContentModule.ts?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!./ContentModule.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContentModule.vue?vue&type=template&id=6ef980e0&\"\nimport script from \"./ContentModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./ContentModule.ts?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 (_vm.hasDisplayedProducts)?_c('div',{staticClass:\"product-list-module\"},[_c('h3',{staticClass:\"product-list-module__title\"},[_vm._v(_vm._s(_vm.vm.title))]),_c('div',{staticClass:\"product-list-module__products-container\"},_vm._l((_vm.products),function(product){return _c('div',{key:product.articleNumber,staticClass:\"product-list-module__item\",attrs:{\"value\":product}},[(product && (product.calculatedQuantity > 0 || _vm.vm.hideQuantity))?_c('div',{staticClass:\"product-list-module__item-container\"},[_c('img',{staticClass:\"product-list-module__image\",attrs:{\"src\":product.imageUrl}}),_c('div',{staticClass:\"product-list-module__item-info\"},[_c('div',{staticClass:\"product-list-module__item-title\"},[_vm._v(_vm._s(product.name))]),_c('div',{staticClass:\"product-list-module__item-articlenr\"},[_vm._v(\"Art.nr \"+_vm._s(product.articleNumber))])]),(product.carbonSavingsModel && product.carbonSavingsModel.savingsComparedToNonECOVariant > 0 && product.carbonSavingsModel.isCurrentVariantECO)?_c('div',{staticClass:\"product-list__eco-info\"},[_c('div',{staticClass:\"configurator-carbonsavings__container\"},[_c('div',{staticClass:\"carbonsavings__image\",on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(product)}}},[_c('img',{attrs:{\"src\":product.carbonSavingsModel.imageUrl}})]),_c('div',{staticClass:\"carbonsavings__title-container\",on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(product)}}},[_c('div',{staticClass:\"carbonsavings__header\"},[_vm._v(_vm._s(_vm.translations.saveClimateText))]),_c('div',{staticClass:\"carbonsavings__medium-text\"},[_vm._v(_vm._s(_vm.translations.thanksForChoiceText))])]),_c('div',{staticClass:\"configurator-carbonsavings__arrow\",class:{ carbonsavingsexpanded: _vm.showCarbonSavingsInfo(product) },on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(product)}}})])]):_vm._e(),_c('div',{staticClass:\"product-list-module__button-container\"},[_c('div',{staticClass:\"product-list-module__item-toggle-specification\"},[_c('span',{staticClass:\"product-list-module__item-toggle-specification-button\",class:{ expanded: _vm.showProductSpecification(product) },on:{\"click\":function($event){return _vm.toggleProductSpecification(product)}}},[_vm._v(\" \"+_vm._s(_vm.translations.showProductSpecificationButtonText)+\"\\n \")])]),(!_vm.vm.hideQuantity)?_c('div',{staticClass:\"product-list-module__item-quantity-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(product.confirmedQuantity),expression:\"product.confirmedQuantity\",modifiers:{\"number\":true}}],staticClass:\"product-list-module__item-quantity\",attrs:{\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(product.confirmedQuantity)},on:{\"blur\":[function($event){return _vm.handleQuantityUpdate($event, product)},function($event){return _vm.$forceUpdate()}],\"input\":function($event){if($event.target.composing){ return; }_vm.$set(product, \"confirmedQuantity\", _vm._n($event.target.value))}}}),_c('div',{staticClass:\"product-list-module__item-price-unit\"},[_vm._v(_vm._s(product.itemPriceUnit))])]):_vm._e(),_c('div',{staticClass:\"button\",class:{ 'buy-button': !_vm.isProductAdded(product)},attrs:{\"disabled\":product.confirmedQuantity === 0 && !_vm.vm.hideQuantity},on:{\"click\":function($event){return _vm.addProduct(product)}}},[_vm._v(\" \"+_vm._s(_vm.getButtonText(product))+\" \")]),_c('div',{staticClass:\"product-list-module__delete\"},[(_vm.isProductAdded(product))?_c('span',{on:{\"click\":function($event){return _vm.removeProduct(product)}}},[_c('i',{staticClass:\"far fa-trash-alt fa-1x\"})]):_vm._e()])]),(_vm.showCarbonSavingsInfo(product))?_c('carbon-savings-calculation',{attrs:{\"quantity\":product.confirmedQuantity,\"calculationCarbonSavingsModel\":product.carbonSavingsModel,\"isConfigurator\":true,\"isProductListModule\":true}}):_vm._e()],1):_vm._e(),(_vm.showProductSpecification(product))?_c('product-specification',{attrs:{\"product\":product}}):_vm._e()],1)}),0)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"product-specification__product-info-container\"},[_c('div',{staticClass:\"product-specification__image\"},[_c('img',{attrs:{\"src\":_vm.product.productSpecification.imageUrl}})]),_c('div',{staticClass:\"product-specification__product-info\"},[_c('div',{staticClass:\"product-specification__title\"},[_c('h2',[_vm._v(_vm._s(_vm.product.productSpecification.title))])]),_c('div',{staticClass:\"product-specification__description\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.product.productSpecification.description)}})]),_c('div',{staticClass:\"product-specification__document-container\"},_vm._l((_vm.product.productSpecification.documents),function(document){return _c('div',{key:document.fileId,staticClass:\"product-specification__document-item\"},[_c('a',{staticClass:\"product-specification__document-item\",attrs:{\"href\":document.url,\"target\":\"_blank\"}},[_c('i',{staticClass:\"product-specification__document-item__icon\",class:document.fileType,attrs:{\"alt\":\"\"}}),_c('span',[_vm._v(_vm._s(document.fileName))])])])}),0)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue} from \"vue-property-decorator\";\r\nimport { Product } from \"../models\";\r\n\r\n@Component\r\nexport default class ProductSpecification extends Vue {\r\n @Prop()\r\n protected product!: Product;\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!./ProductSpecification.ts?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!./ProductSpecification.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductSpecification.vue?vue&type=template&id=20b9fbb4&\"\nimport script from \"./ProductSpecification.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductSpecification.ts?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","import { Component, Prop, Vue} from \"vue-property-decorator\";\r\nimport { ProductListModuleModel, Product, UiState, ConfiguratorValueUpdateModel, configuratorConstants } from \"../models\";\r\nimport { productConfiguratorStore as store } from \"./../store\";\r\nimport HtmlElementHelper from \"@/services/HtmlElementHelper\";\r\nimport ProductSpecification from \"./ProductSpecification\";\r\nimport Cookie from \"@/services/Cookie\";\r\nimport CarbonSavingsCalculation from \"../../../components/ProductPage/CarbonSavingsCalculation\";\r\n\r\n@Component({\r\n components: {\r\n ProductSpecification,\r\n CarbonSavingsCalculation\r\n }\r\n})\r\n\r\nexport default class ProductListModule extends Vue {\r\n @Prop()\r\n protected vm!: ProductListModuleModel;\r\n protected productStates: Array> = [];\r\n protected productsInCookie: string[] = [];\r\n protected carbonSavingsProductStates: Array> = [];\r\n\r\n protected created() {\r\n this.vm.products.forEach(p => this.productStates.push({ id: p.articleNumber} as UiState));\r\n this.vm.products.forEach(p => this.carbonSavingsProductStates.push({ id: p.articleNumber} as UiState));\r\n\r\n const cookieString = Cookie.getCookie(configuratorConstants.selectedConfiguratorProducts + store.configuratorType);\r\n\r\n if (cookieString) {\r\n const cookieArray = JSON.parse(cookieString);\r\n for (const cookie of cookieArray) {\r\n if (cookie.value) {\r\n if (cookie.propertyName === configuratorConstants.productList) {\r\n const productList = JSON.parse(cookie.value);\r\n if (productList.length) {\r\n for (const tempproduct of productList) {\r\n this.productsInCookie.push(tempproduct);\r\n const matchingProduct = store.products.find(x => x.articleNumber === tempproduct);\r\n if (matchingProduct) {\r\n this.addProduct(matchingProduct);\r\n }\r\n }\r\n } else {\r\n this.productsInCookie.push(productList);\r\n this.addProduct(productList);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected toggleProductSpecification(product: Product) {\r\n const productStateIndex = this.productStates.findIndex(s => s.id === product.articleNumber);\r\n if (productStateIndex !== -1) {\r\n const productState = this.productStates[productStateIndex];\r\n productState.state = !productState.state;\r\n this.productStates.splice(productStateIndex, 1, productState);\r\n }\r\n }\r\n\r\n protected showProductSpecification(product: Product): boolean {\r\n if (product) {\r\n const productState = this.productStates.find(s => s.id === product.articleNumber);\r\n if (productState) {\r\n return productState.state;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n protected addProduct(product: Product) {\r\n if (product.confirmedQuantity > 0 || this.vm.hideQuantity) {\r\n if (this.vm.addOnlyOneProduct) {\r\n store.products.map(a => this.vm.products.map(b => {\r\n if (b.articleNumber === a.articleNumber) {\r\n a.added = false;\r\n }\r\n }));\r\n }\r\n product.added = true;\r\n store.updateProduct(product);\r\n\r\n if (this.vm.showSelectText) {\r\n const currentValue = store.propertyModelValues.filter(x => x.key === configuratorConstants.recommendedProductSelected);\r\n if (currentValue) {\r\n let valueData = currentValue[0].value;\r\n if (valueData && !this.vm.addOnlyOneProduct) {\r\n if (valueData.indexOf(product.articleNumber + \"$\") < 0) {\r\n valueData = valueData + product.articleNumber + \"$\";\r\n }\r\n } else {\r\n if (this.vm.addOnlyOneProduct) {\r\n this.vm.products.map(x => {\r\n if (valueData) {\r\n valueData = valueData.replace(x.articleNumber + \"$\", \"\");\r\n }\r\n });\r\n valueData = valueData + product.articleNumber + \"$\";\r\n } else {\r\n valueData = product.articleNumber + \"$\";\r\n }\r\n }\r\n\r\n const updateModelRecommended: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: valueData, valueDescriptions: [{ title: \"\", text: \"\" }],\r\n propertyName: configuratorConstants.recommendedProductSelected, isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModelRecommended, true);\r\n }\r\n } else {\r\n const updateModel: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: product.articleNumber, valueDescriptions: [{ title: \"\", text: \"\" }],\r\n propertyName: configuratorConstants.productList, isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModel, true);\r\n }\r\n }\r\n }\r\n\r\n protected removeProduct(product: Product) {\r\n product.added = false;\r\n store.updateProduct(product);\r\n\r\n if (this.vm.showSelectText) {\r\n const currentValue = store.propertyModelValues.filter(x => x.key === configuratorConstants.recommendedProductSelected);\r\n if (currentValue) {\r\n let valueData = currentValue[0].value;\r\n if (valueData.indexOf(product.articleNumber + \"$\") > -1) {\r\n valueData = valueData.replace(product.articleNumber + \"$\", \"\");\r\n }\r\n\r\n const updateModelRecommended: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: valueData, valueDescriptions: [{ title: \"\", text: \"\" }],\r\n propertyName: configuratorConstants.recommendedProductSelected, isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModelRecommended, true);\r\n }\r\n } else {\r\n const updateModel: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: product.articleNumber, valueDescriptions: [{ title: \"\", text: \"\" }],\r\n propertyName: configuratorConstants.productList, isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModel, true);\r\n }\r\n }\r\n\r\n protected isProductAdded(product: Product): boolean {\r\n if (this.vm.showSelectText) {\r\n return store.propertyModelValues.some(x => x.key === configuratorConstants.recommendedProductSelected\r\n && x.value && x.value.indexOf(product.articleNumber + \"$\") > -1);\r\n } else {\r\n return store.products\r\n .some(x => x.articleNumber === product.articleNumber && (x.confirmedQuantity > 0 || this.vm.hideQuantity) && x.added);\r\n }\r\n }\r\n\r\n protected getButtonText(product: Product): string {\r\n if (this.isProductAdded(product)) {\r\n return this.vm.showSelectText ? this.translations.selectedProductButtonText : this.translations.addedProductButtonText;\r\n }\r\n return this.vm.showSelectText ? this.translations.selectProductButtonText : this.translations.addProductButtonText;\r\n }\r\n\r\n protected handleQuantityUpdate(event: Event, product: Product) {\r\n if (event.target instanceof HTMLInputElement && !HtmlElementHelper.isValidNumberInput(event.target)) {\r\n product.confirmedQuantity = Number(event.target.min);\r\n }\r\n\r\n if (product.confirmedQuantity === 0) {\r\n this.removeProduct(product);\r\n }\r\n }\r\n\r\n protected getCarbonSavingsProductState(product: Product) {\r\n return this.carbonSavingsProductStates.find(ps => ps.id === product.articleNumber);\r\n }\r\n\r\n protected toggleCarbonSavingsInfo(product: Product) {\r\n const productStateIndex = this.carbonSavingsProductStates.findIndex(s => s.id === product.articleNumber);\r\n if (productStateIndex !== -1) {\r\n const productState = this.carbonSavingsProductStates[productStateIndex];\r\n productState.state = !productState.state;\r\n this.carbonSavingsProductStates.splice(productStateIndex, 1, productState);\r\n }\r\n }\r\n\r\n protected showCarbonSavingsInfo(product: Product): boolean {\r\n const productState = this.getCarbonSavingsProductState(product);\r\n if (productState) {\r\n return productState.state;\r\n }\r\n return false;\r\n }\r\n\r\n get products() {\r\n return this.vm.hideQuantity ? this.vm.products.sort((a, b) => {\r\n return a.name.localeCompare(b.name, \"sv\", { numeric: true});\r\n }) :\r\n store.products.filter(x => this.vm.products.map(p => p.articleNumber).includes(x.articleNumber)).sort((a, b) => {\r\n return a.name.localeCompare(b.name, \"sv\", { numeric: true});\r\n });\r\n }\r\n\r\n get hasDisplayedProducts() {\r\n return this.products.some(x => x.calculatedQuantity > 0) || this.vm.hideQuantity;\r\n }\r\n\r\n get translations() {\r\n return store.translations;\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!./ProductListModule.ts?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!./ProductListModule.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductListModule.vue?vue&type=template&id=558e7218&\"\nimport script from \"./ProductListModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductListModule.ts?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 (_vm.products.length)?_c('div',{staticClass:\"product-list-module\"},[_c('h3',{staticClass:\"product-list-module__title\"},[_vm._v(_vm._s(_vm.vm.title))]),_c('div',{staticClass:\"product-list-module__products-container\"},_vm._l((_vm.products),function(product){return _c('div',{key:product.articleNumber,staticClass:\"product-list-module__item\",attrs:{\"value\":product}},[_c('div',{staticClass:\"product-list-module__item-container\"},[_c('img',{staticClass:\"product-list-module__image\",attrs:{\"src\":product.productSpecification.imageUrl}}),_c('div',{staticClass:\"product-list-module__item-info\"},[_c('div',{staticClass:\"product-list-module__item-title\"},[_vm._v(_vm._s(product.name))]),_c('div',{staticClass:\"product-list-module__item-articlenr\"},[_vm._v(\"Art.nr \"+_vm._s(product.articleNumber))])]),(product.carbonSavingsModel && product.carbonSavingsModel.savingsComparedToNonECOVariant > 0)?_c('div',{staticClass:\"product-list-module__eco-info\"},[(!product.carbonSavingsModel.isCurrentVariantECO)?_c('div',{staticClass:\"configurator-carbonsavings__container\"},[_c('div',{staticClass:\"carbonsavings__image\",on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(product)}}},[_c('img',{attrs:{\"src\":product.carbonSavingsModel.imageUrl}})]),_c('div',{staticClass:\"carbonsavings__title-container\",on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(product)}}},[_c('div',{staticClass:\"carbonsavings__header\"},[_vm._v(_vm._s(_vm.translations.saveClimateText))]),_c('div',{staticClass:\"carbonsavings__medium-text\"},[_vm._v(_vm._s(_vm.translations.switchToECOText))])]),_c('div',{staticClass:\"configurator-carbonsavings__arrow\",class:{ carbonsavingsexpanded: _vm.showCarbonSavingsInfo(product) },on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(product)}}})]):_c('div',{staticClass:\"configurator-carbonsavings__container\"},[_c('div',{staticClass:\"carbonsavings__image\",on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(product)}}},[_c('img',{attrs:{\"src\":product.carbonSavingsModel.imageUrl}})]),_c('div',{staticClass:\"carbonsavings__title-container\",on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(product)}}},[_c('div',{staticClass:\"carbonsavings__header\"},[_vm._v(_vm._s(_vm.translations.saveClimateText))]),_c('div',{staticClass:\"carbonsavings__medium-text\"},[_vm._v(_vm._s(_vm.translations.thanksForChoiceText))])]),_c('div',{staticClass:\"configurator-carbonsavings__arrow\",class:{ carbonsavingsexpanded: _vm.showCarbonSavingsInfo(product) },on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(product)}}})])]):_vm._e(),_c('div',{staticClass:\"product-list-module__item-toggle-specification\"},[_c('span',{staticClass:\"product-list-module__item-toggle-specification-button\",class:{ expanded: _vm.showProductSpecification(product) },on:{\"click\":function($event){return _vm.toggleProductSpecification(product)}}},[_vm._v(\" \"+_vm._s(_vm.translations.showProductSpecificationButtonText)+\"\\n \")])]),_c('div',{staticClass:\"product-list-module__item-quantity-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(product.confirmedQuantity),expression:\"product.confirmedQuantity\",modifiers:{\"number\":true}}],staticClass:\"product-list-module__item-quantity\",attrs:{\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(product.confirmedQuantity)},on:{\"blur\":[function($event){return _vm.handleQuantityUpdate($event, product)},function($event){return _vm.$forceUpdate()}],\"input\":function($event){if($event.target.composing){ return; }_vm.$set(product, \"confirmedQuantity\", _vm._n($event.target.value))}}}),_c('div',{staticClass:\"product-list-module__item-price-unit\"},[_vm._v(_vm._s(product.itemPriceUnit))])]),(_vm.showCarbonSavingsInfo(product))?_c('carbon-savings-calculation',{attrs:{\"quantity\":product.confirmedQuantity,\"calculationCarbonSavingsModel\":product.carbonSavingsModel,\"isConfigurator\":true}}):_vm._e()],1),(_vm.showProductSpecification(product))?_c('product-specification',{attrs:{\"product\":product}}):_vm._e()],1)}),0),_c('button',{class:'button ' + (_vm.isProductWebShop ? 'buy-button-shopping-list' : 'buy-button') + ' medium',attrs:{\"disabled\":_vm.addToCartDisabled},on:{\"click\":_vm.addToCart}},[_vm._v(_vm._s(_vm.translations.addToCartButtonText))]),_c('div',[_c('add-to-cart-container')],1),(_vm.carbonSavings > 0)?_c('div',{staticClass:\"carbonsavings__compilation\"},[_c('carbon-savings-compilation',{attrs:{\"carbonSavings\":_vm.carbonSavings,\"imageUrl\":_vm.imageUrlCompilation}})],1):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"carbonsavings__main-content\"},[_c('div',{staticClass:\"carbonsavings__container\"},[_c('div',{staticClass:\"carbonsavings__container-items carbonsavings__container-item\"},[_c('div',{staticClass:\"carbonsavings__image\"},[_c('img',{attrs:{\"src\":_vm.imageUrl}})]),_c('div',{staticClass:\"carbonsavings__small-text\"},[_vm._v(\"\\r\\n \"+_vm._s(_vm.translations.youSaveText)+\"\\r\\n \")]),_c('div',{staticClass:\"carbonsavings__green-text\"},[_vm._v(\"\\r\\n \"+_vm._s(_vm.carbonSavingsFormatted)+\" \"+_vm._s(_vm.translations.kilogramUnitText)+\" \"+_vm._s(_vm.translations.carbonDioxideText)+\"\\r\\n \")])]),_c('div',{staticClass:\"carbonsavings__container-items\"},[_c('div',{staticClass:\"carbonsavings__header\"},[_vm._v(\"\\r\\n \"+_vm._s(_vm.translations.climateSavingsCompilationHeader)+\"\\r\\n \")]),_c('div',{staticClass:\"carbonsavings__medium-text\",domProps:{\"innerHTML\":_vm._s(_vm.getDescription(_vm.translations.climateSavingsCompilationText, _vm.translations.kilogramUnitText,\r\n _vm.translations.carbonDioxideText))}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { TranslationModel } from \"../../models/product\";\r\nimport { appStore } from \"../../store/AppModule\";\r\n\r\n@Component\r\nexport default class CarbonSavingsCompilation extends Vue {\r\n @Prop()\r\n protected carbonSavings!: number;\r\n @Prop()\r\n protected imageUrl!: string;\r\n private translations: TranslationModel;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected getDescription(compilationText: string, kiloUnitText: string, carbonDioxideText: string) {\r\n return compilationText.replace(\"{climatesavings}\",\r\n this.carbonSavingsFormatted + \" \" + kiloUnitText + \" \" + carbonDioxideText);\r\n }\r\n\r\n get carbonSavingsFormatted() {\r\n return this.carbonSavings.toLocaleString(appStore.state.culture, {maximumFractionDigits: 1, minimumFractionDigits: 1});\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!./CarbonSavingsCompilation.ts?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!./CarbonSavingsCompilation.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CarbonSavingsCompilation.vue?vue&type=template&id=212f1c7f&\"\nimport script from \"./CarbonSavingsCompilation.ts?vue&type=script&lang=ts&\"\nexport * from \"./CarbonSavingsCompilation.ts?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","import { Component, Prop, Vue} from \"vue-property-decorator\";\r\nimport { ProductSummaryModuleModel, AddToCartRequestModel, Product, UiState } from \"../models\";\r\nimport { productConfiguratorStore as store } from \"./../store\";\r\nimport http from \"@/services/Http\";\r\nimport HtmlElementHelper from \"@/services/HtmlElementHelper\";\r\nimport GoogleEnhancedEcommerce from \"@/services/GoogleEnhancedEcommerce\";\r\nimport { IGeeProduct } from \"@/models/GoogleEnhancedEcommerce\";\r\nimport ProductSpecification from \"./ProductSpecification\";\r\nimport { EventBus } from \"@/events\";\r\nimport { AddToCartContainer } from \"@/components\";\r\nimport CarbonSavingsCalculation from \"../../../components/ProductPage/CarbonSavingsCalculation\";\r\nimport CarbonSavingsCompilation from \"@/components/ClimateSavings/CarbonSavingsCompilation\";\r\n\r\n@Component({\r\n components: {\r\n ProductSpecification,\r\n AddToCartContainer,\r\n CarbonSavingsCalculation,\r\n CarbonSavingsCompilation,\r\n }\r\n})\r\nexport default class ProductSummaryModule extends Vue {\r\n @Prop()\r\n protected vm!: ProductSummaryModuleModel;\r\n protected productStates: Array> = [];\r\n protected carbonSavingsProductStates: Array> = [];\r\n\r\n private addedToCartModalName: string = \"addedToCartModal\";\r\n private isLoading: boolean = false;\r\n\r\n protected mounted() {\r\n EventBus.$on(\"stepchanged\", () => {\r\n this.productStates = [];\r\n this.carbonSavingsProductStates = [];\r\n });\r\n }\r\n\r\n protected toggleProductSpecification(product: Product) {\r\n const productStateIndex = this.productStates.findIndex(s => s.id === product.articleNumber);\r\n if (productStateIndex !== -1) {\r\n const productState = this.productStates[productStateIndex];\r\n productState.state = !productState.state;\r\n this.productStates.splice(productStateIndex, 1, productState);\r\n }\r\n }\r\n\r\n protected showProductSpecification(product: Product): boolean {\r\n const productState = this.getProductState(product);\r\n if (productState) {\r\n return productState.state;\r\n }\r\n return false;\r\n }\r\n\r\n protected handleQuantityUpdate(event: Event, product: Product) {\r\n if (event.target instanceof HTMLInputElement && !HtmlElementHelper.isValidNumberInput(event.target)) {\r\n product.confirmedQuantity = Number(event.target.min);\r\n }\r\n }\r\n\r\n protected addToCart() {\r\n if (this.products.length) {\r\n this.isLoading = true;\r\n const request: AddToCartRequestModel = {\r\n products: this.products\r\n };\r\n\r\n http.post(store.apiUrl + \"/addtocart\", request)\r\n .then(() => {\r\n EventBus.$emit(\"productAddedToCartConfigurator\", store.configuratorType, window.site.settings.webShopActivated === \"true\");\r\n window.Accelerator.libs.cart.updateMiniCart();\r\n this.reportAddToCartToGoogleEnhancedEcommerce(this.products);\r\n })\r\n .finally(() => this.isLoading = false);\r\n }\r\n }\r\n\r\n protected redirectToCart() {\r\n location.href = this.vm.cartUrl;\r\n }\r\n\r\n protected getProductState(product: Product) {\r\n return this.productStates.find(ps => ps.id === product.articleNumber);\r\n }\r\n\r\n protected getCarbonSavingsProductState(product: Product) {\r\n return this.carbonSavingsProductStates.find(ps => ps.id === product.articleNumber);\r\n }\r\n\r\n protected toggleCarbonSavingsInfo(product: Product) {\r\n const productStateIndex = this.carbonSavingsProductStates.findIndex(s => s.id === product.articleNumber);\r\n if (productStateIndex !== -1) {\r\n const productState = this.carbonSavingsProductStates[productStateIndex];\r\n productState.state = !productState.state;\r\n this.carbonSavingsProductStates.splice(productStateIndex, 1, productState);\r\n }\r\n }\r\n\r\n protected showCarbonSavingsInfo(product: Product): boolean {\r\n const productState = this.getCarbonSavingsProductState(product);\r\n if (productState) {\r\n return productState.state;\r\n }\r\n return false;\r\n }\r\n\r\n private reportAddToCartToGoogleEnhancedEcommerce(products: Product[]) {\r\n const gee = new GoogleEnhancedEcommerce();\r\n\r\n if (!products.some(x => x.productPrice.price > 0)) {\r\n http.post(store.apiUrl + \"/getproductprice\", products)\r\n .then(data => {\r\n products = data;\r\n });\r\n }\r\n\r\n const googleProducts = products.map(product => ({\r\n category: \"\",\r\n id: product.articleNumber,\r\n name: product.name,\r\n price: product.productPrice.price,\r\n quantity: product.confirmedQuantity,\r\n itemPriceUnit: product.itemPriceUnit\r\n }));\r\n\r\n gee.PushProductsAddToCartToGoogle(googleProducts, products[0].productPrice.currencyCode, this.configuratorIdentifier);\r\n }\r\n\r\n get addToCartDisabled() {\r\n return !this.products.length || this.isLoading;\r\n }\r\n\r\n get translations() {\r\n return store.translations;\r\n }\r\n\r\n get configuratorIdentifier() {\r\n return store.configuratorType;\r\n }\r\n\r\n get isProductWebShop() {\r\n return window.site && window.site.settings.activateProductWebshop === \"true\";\r\n }\r\n\r\n get carbonSavings() {\r\n let carbonSavings = 0;\r\n this.products.map(x => {\r\n if (x.carbonSavingsModel.savingsComparedToNonECOVariant > 0 && x.carbonSavingsModel.isCurrentVariantECO) {\r\n const calculatedQuantity = x.confirmedQuantity * x.carbonSavingsModel.packagingFactor;\r\n const quantityWithFactor = x.confirmedQuantity > 5 ? Math.floor(calculatedQuantity) : x.confirmedQuantity;\r\n carbonSavings += (x.carbonSavingsModel.globalWarmingPotentialMainProduct * quantityWithFactor -\r\n x.carbonSavingsModel.globalWarmingPotentialECOProduct * x.confirmedQuantity);\r\n }\r\n });\r\n return carbonSavings;\r\n }\r\n\r\n get imageUrlCompilation() {\r\n let imagesrc = \"\";\r\n this.products.map(x => {\r\n if (x.carbonSavingsModel.imageUrl && imagesrc === \"\") {\r\n imagesrc = x.carbonSavingsModel.imageUrl;\r\n }\r\n });\r\n return imagesrc;\r\n }\r\n\r\n get products() {\r\n store.products.forEach(p => {\r\n if (!this.getProductState(p)) {\r\n this.productStates.push({ id: p.articleNumber} as UiState);\r\n this.carbonSavingsProductStates.push({ id: p.articleNumber} as UiState);\r\n }\r\n });\r\n\r\n return store.products.filter(x => x.added).sort((a, b) => {\r\n return a.name.localeCompare(b.name, \"sv\", { numeric: true});\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!./ProductSummaryModule.ts?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!./ProductSummaryModule.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductSummaryModule.vue?vue&type=template&id=ad089f68&\"\nimport script from \"./ProductSummaryModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductSummaryModule.ts?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 (_vm.configuratorValues.length)?_c('div',[_c('h3',[_vm._v(_vm._s(_vm.vm.title))]),_c('div',{staticClass:\"selector__summary\"},[_vm._l((_vm.configuratorValueGroups),function(propertyGroup){return _c('div',_vm._b({key:propertyGroup.propertyGroupType,staticClass:\"selector__summary-group\"},'div',_vm.configuratorValueGroups,false),[_c('div',{staticClass:\"selector__summary-title\"},[_vm._v(_vm._s(propertyGroup.description))]),_vm._l((propertyGroup.properties),function(property){return _c('div',_vm._b({key:property.propertyName,staticClass:\"selector__summary-item\"},'div',property,false),[(property.description)?_c('div',{staticClass:\"selector__summary-heading\"},[_vm._v(_vm._s(property.description)+\":\")]):_vm._e(),_vm._l((_vm.getConfiguratorValueDescriptions(property.propertyName)),function(valueDescription,index){return _c('div',_vm._b({key:index},'div',valueDescription,false),[_c('div',{staticClass:\"selector__summary-text\"},[(valueDescription.title)?_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(valueDescription.title)+\": \")]):_vm._e(),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.getHtmlStringWithRowBreaks(valueDescription.text))}})])])})],2)})],2)}),_c('div',{staticClass:\"product-configurator__summary-buttons\"},[(_vm.cookieExists())?_c('div',{staticClass:\"product-configurator__reset-cookie-button\"},[_c('button',{staticClass:\"button medium\",on:{\"click\":function($event){return _vm.resetCookie()}}},[_vm._v(_vm._s(_vm.translations.resetSelectedCookie)+\" \")])]):_vm._e(),(_vm.cookieExists() && _vm.vm.enableShareConfigurator)?_c('div',{staticClass:\"product-configurator__share-button\"},[_c('button',{staticClass:\"button medium\",on:{\"click\":function($event){return _vm.shareConfigurator()}}},[_vm._v(_vm._s(_vm.translations.shareButtonText)+\" \")])]):_vm._e()])],2)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { configuratorConstants, SelectedOptionsSummaryModuleModel } from \"../models\";\r\nimport { productConfiguratorStore as store } from \"./../store\";\r\nimport Cookie from \"@/services/Cookie\";\r\nimport http from \"@/services/Http\";\r\nimport { EventBus } from \"@/events\";\r\n\r\n@Component\r\nexport default class SelectedOptionsSummaryModule extends Vue {\r\n\r\n @Prop()\r\n protected vm!: SelectedOptionsSummaryModuleModel;\r\n private url: string = window.location.origin + \"/site.axd/Layout/GetSaveProductConfiguratorAndSendUrlModal\";\r\n private selectedConfiguratorProducts: string = \"SelectedConfiguratorProducts-\";\r\n private selectedCustomConfiguratorProducts: string = \"SelectedCustomConfiguratorProducts-\";\r\n\r\n get translations() {\r\n return store.translations;\r\n }\r\n\r\n get configuratorValues() {\r\n return store.configuratorValues.filter(x => x.value && x.valueDescriptions && x.valueDescriptions.length);\r\n }\r\n\r\n get configuratorValueGroups() {\r\n let valueDefinedProperties = this.configuratorValues.map(x => x.property.propertyName);\r\n let valueDefinedPropertiesTemp = valueDefinedProperties.filter(x => x !== configuratorConstants.MaterialConsumptionFactorIndoorWall\r\n && x !== configuratorConstants.MaterialConsumptionFactorOutdoorWall\r\n && x !== configuratorConstants.MaterialConsumptionFactorExaktOutdoorWall\r\n && x !== configuratorConstants.CornerBlockOpeningBlockQuantityFactor\r\n && x !== configuratorConstants.AdjustmentFactorForNormalBlockPassPicker);\r\n\r\n if (valueDefinedPropertiesTemp.find(x => x === configuratorConstants.InnerCorners) &&\r\n valueDefinedPropertiesTemp.find(x => x === configuratorConstants.OuterCorners)) {\r\n valueDefinedPropertiesTemp = valueDefinedPropertiesTemp.filter(x => x !== configuratorConstants.GroundShape);\r\n } else if (valueDefinedPropertiesTemp.find(x => x === configuratorConstants.GroundShape)) {\r\n valueDefinedPropertiesTemp = valueDefinedPropertiesTemp.filter(x => x !== configuratorConstants.InnerCorners && x !== configuratorConstants.OuterCorners);\r\n }\r\n\r\n valueDefinedProperties = valueDefinedPropertiesTemp;\r\n const groups = store.propertyGroups.filter(x => x.properties.some(prop => valueDefinedProperties.includes(prop.propertyName)));\r\n\r\n return groups.map(group => {\r\n return {...group, properties: group.properties.filter(property => valueDefinedProperties.includes(property.propertyName))};\r\n });\r\n }\r\n\r\n public cookieExists(): boolean {\r\n return Cookie.cookieExists([this.selectedConfiguratorProducts + store.configuratorType, store.configuratorType + configuratorConstants.ECOProductCookieSuffix]);\r\n }\r\n\r\n public resetCookie() {\r\n Cookie.removeCookies([this.selectedConfiguratorProducts + store.configuratorType, this.selectedCustomConfiguratorProducts + store.configuratorType,\r\n store.configuratorType + configuratorConstants.ECOProductCookieSuffix]);\r\n this.$forceUpdate();\r\n window.location.reload();\r\n }\r\n\r\n protected getConfiguratorValueDescriptions(propertyName: string) {\r\n const moduleValue = store.configuratorValues.find(x => x.property.propertyName === propertyName && x.value);\r\n return moduleValue && moduleValue.value ? moduleValue.valueDescriptions : [];\r\n }\r\n\r\n protected getHtmlStringWithRowBreaks(input: string) {\r\n return input.replace(/(?:\\r\\n|\\r|\\n)/g, \"
\");\r\n }\r\n\r\n protected shareConfigurator() {\r\n if (window.eventBus) {\r\n EventBus.$emit(\"shareConfigurator\", store.configuratorType);\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!./SelectedOptionsSummaryModule.ts?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!./SelectedOptionsSummaryModule.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SelectedOptionsSummaryModule.vue?vue&type=template&id=287a7881&\"\nimport script from \"./SelectedOptionsSummaryModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./SelectedOptionsSummaryModule.ts?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',{staticClass:\"selector__container\"},[_c('h3',[_vm._v(_vm._s(_vm.vm.title))]),_vm._l((_vm.straightWallModel.wallSections),function(section,index){return _c('div',{key:section+index,staticClass:\"wall-section__item\",attrs:{\"value\":section}},[_c('div',{staticClass:\"wall-section__delete\"},[_c('span',{on:{\"click\":function($event){return _vm.deleteSection(index)}}},[_c('i',{staticClass:\"far fa-trash-alt fa-1x\"})])]),_c('div',{staticClass:\"wall-section__input-container center full\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(section.name),expression:\"section.name\",modifiers:{\"trim\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input large\",attrs:{\"type\":\"text\",\"placeholder\":_vm.translations.wallSectionNamePlaceholder},domProps:{\"value\":(section.name)},on:{\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}],\"input\":function($event){if($event.target.composing){ return; }_vm.$set(section, \"name\", $event.target.value.trim())}}})]),_c('div',{staticClass:\"wall-section__inputs-wrapper\"},[_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":\"min_value:0\",\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-length-index\"}},[_vm._v(_vm._s(_vm.translations.commonLength)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(section.length),expression:\"section.length\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"name\":\"input-length-index\",\"min\":\"0\",\"step\":\".1\"},domProps:{\"value\":(section.length)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(section, \"length\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}),(_vm.isRetainingWall)?_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":(\"between:0.1,\" + _vm.retainingWallMaxHeight),\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-height-index\"}},[_vm._v(_vm._s(_vm.translations.heightRetainingWall)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(section.heightRetainingWall),expression:\"section.heightRetainingWall\"},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",class:[errors.length ? 'invalid' : ''],attrs:{\"type\":\"number\",\"name\":\"input-height-index\",\"min\":\"0.1\",\"step\":\".1\",\"max\":_vm.retainingWallMaxHeight},domProps:{\"value\":(section.heightRetainingWall)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(section, \"heightRetainingWall\", $event.target.value)},validate],\"blur\":_vm.tryUpdateConfiguratorValue}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}):_vm._e(),_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":(\"between:\" + _vm.heightAboveGroundMinHeight + \",\" + _vm.dividingWallMaxHeight),\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-height-index\"}},[_vm._v(_vm._s(_vm.isRetainingWall ? _vm.translations.heightAboveGround : _vm.translations.commonHeight)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(section.heightAboveGround),expression:\"section.heightAboveGround\"},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",class:[errors.length ? 'invalid' : ''],attrs:{\"type\":\"number\",\"name\":\"input-height-index\",\"step\":\".1\",\"min\":_vm.heightAboveGroundMinHeight,\"max\":_vm.dividingWallMaxHeight},domProps:{\"value\":(section.heightAboveGround)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(section, \"heightAboveGround\", $event.target.value)},validate],\"blur\":_vm.tryUpdateConfiguratorValue}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])})],1)])}),_c('div',{staticClass:\"wall-section__add-container\"},[_c('span',{staticClass:\"wall-section__add-button\",on:{\"click\":function($event){$event.preventDefault();return _vm.addSection($event)}}},[_vm._v(\"+\")])])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue} from \"vue-property-decorator\";\r\nimport { StraightWallSectionModuleModel, StraightWallModel, StraightWallSection, ConfiguratorValueUpdateModel, ValueDescription, WallTypes } from \"../models\";\r\nimport { productConfiguratorStore as store} from \"./../store\";\r\nimport { ValidationProvider, extend } from \"vee-validate\";\r\nimport { between, min_value } from \"vee-validate/dist/rules\";\r\nimport HtmlElementHelper from \"@/services/HtmlElementHelper\";\r\nimport Cookie from \"@/services/Cookie\";\r\n\r\nextend(\"between\", {\r\n ...between,\r\n // message: store.translations.notWithinValidIntervalMessage\r\n });\r\n\r\nextend(\"min_value\", {\r\n ...min_value,\r\n message: store.translations.belowAllowedLimitMessage\r\n});\r\n\r\n@Component(\r\n {\r\n components: {\r\n ValidationProvider\r\n }\r\n }\r\n)\r\nexport default class StraightWallSectionModule extends Vue {\r\n\r\n @Prop()\r\n protected vm!: StraightWallSectionModuleModel;\r\n protected selectedCustomConfiguratorProductCookie: string = \"\";\r\n\r\n protected straightWallModel: StraightWallModel = { wallSections: []} as StraightWallModel;\r\n\r\n protected created() {\r\n if (!this.straightWallModel.wallSections.length) {\r\n this.addSection();\r\n }\r\n this.getCookie();\r\n }\r\n\r\n protected getCookie() {\r\n this.selectedCustomConfiguratorProductCookie = Cookie.getCookie(\"SelectedCustomConfiguratorProducts-\" + this.vm.configuratorType);\r\n Cookie.applyCustomCookies(this.vm, this.selectedCustomConfiguratorProductCookie, this.straightWallModel);\r\n if (this.selectedCustomConfiguratorProductCookie !== \"\") {\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n }\r\n\r\n protected addSection() {\r\n const tempSections = this.straightWallModel.wallSections;\r\n tempSections.push({} as StraightWallSection);\r\n this.straightWallModel.wallSections = tempSections;\r\n }\r\n\r\n protected deleteSection(sectionIndex: number) {\r\n const tempSections = this.straightWallModel.wallSections;\r\n tempSections.splice(sectionIndex, 1);\r\n this.straightWallModel.wallSections = tempSections;\r\n if (!this.straightWallModel.wallSections.length) {\r\n this.addSection();\r\n }\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n\r\n protected tryUpdateConfiguratorValue() {\r\n if (this.isRetainingWall) {\r\n if (this.straightWallModel.wallSections.every(s => s.heightRetainingWall > 0 && s.heightRetainingWall <= this.retainingWallMaxHeight && s.length > 0)) {\r\n this.updateConfiguratorValue();\r\n }\r\n } else if (this.straightWallModel.wallSections.every(s => s.heightAboveGround > 0 && s.heightAboveGround <= this.dividingWallMaxHeight && s.length > 0)) {\r\n this.straightWallModel.wallSections.forEach(s => s.heightRetainingWall = 0);\r\n this.updateConfiguratorValue();\r\n }\r\n }\r\n\r\n protected handleInputDebounce(inputValue: any, event: Event) {\r\n if (HtmlElementHelper.isEventTargetFocusedElement(event.target)) {\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n }\r\n\r\n private updateConfiguratorValue() {\r\n let valueDescriptions: ValueDescription[];\r\n if (this.isRetainingWall) {\r\n valueDescriptions = this.straightWallModel.wallSections\r\n .map(section => ({\r\n title: section.name ? section.name : store.translations.unnamedWallSection,\r\n text: `${ store.translations.commonLength}: ${ section.length} m, ${ store.translations.heightRetainingWall}: ${section.heightRetainingWall} m, ${ store.translations.heightAboveGround}: ${section.heightAboveGround ? section.heightAboveGround : 0 } m`\r\n }));\r\n } else {\r\n valueDescriptions = this.straightWallModel.wallSections\r\n .map(section => ({\r\n title: section.name ? section.name : store.translations.unnamedWallSection,\r\n text: `${ store.translations.commonLength}: ${ section.length} m, ${ store.translations.commonHeight}: ${section.heightAboveGround} m`\r\n }));\r\n }\r\n\r\n const updateModel: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: this.straightWallModel, valueDescriptions,\r\n propertyName: this.vm.configuratorProperties[0].propertyName, isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModel, true);\r\n }\r\n\r\n get translations() {\r\n return store.translations;\r\n }\r\n\r\n get dividingWallMaxHeight() {\r\n return 2.4;\r\n }\r\n\r\n get retainingWallMaxHeight() {\r\n return 1.1;\r\n }\r\n\r\n get heightAboveGroundMinHeight() {\r\n return this.isRetainingWall ? 0 : 0.1;\r\n }\r\n\r\n get isRetainingWall() {\r\n return store.configuratorValues.some(cv => cv.property.propertyName === \"WallType\" && cv.value === WallTypes.Retaining.toString());\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!./StraightWallSectionModule.ts?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!./StraightWallSectionModule.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StraightWallSectionModule.vue?vue&type=template&id=14fb0584&\"\nimport script from \"./StraightWallSectionModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./StraightWallSectionModule.ts?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:\"selector__container\"},[_c('h3',[_vm._v(_vm._s(_vm.vm.title))]),_vm._l((_vm.curvedWallModel.wallSections),function(section,sectionIndex){return _c('div',{key:sectionIndex,staticClass:\"wall-section__item curved\",attrs:{\"value\":section}},[_c('div',{staticClass:\"wall-section__delete\"},[_c('span',{on:{\"click\":function($event){return _vm.deleteSection(sectionIndex)}}},[_c('i',{staticClass:\"far fa-trash-alt fa-1x\"})])]),_c('div',{staticClass:\"custom-dropdown\",on:{\"click\":function($event){return _vm.toggleSectionTypeSelector(sectionIndex)}}},[(section.selectedOption.id)?_c('div',{staticClass:\"wall-section__selected-option\"},[_c('i',{staticClass:\"wall-section__icon\",class:section.selectedOption.id,attrs:{\"alt\":\"\"}}),_c('span',[_vm._v(_vm._s(section.selectedOption.description)+\" \"+_vm._s(section.selectedOption.sectionDegree)+\" \")])]):_c('span',[_vm._v(_vm._s(_vm.translations.selectWallSectionType))]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showSectionTypeSelector && _vm.activeSectionTypeSelector === sectionIndex),expression:\"showSectionTypeSelector && activeSectionTypeSelector === sectionIndex\"}],staticClass:\"dropdown-item\"},_vm._l((_vm.vm.options),function(option){return _c('div',{key:option.id,attrs:{\"value\":option}},[_c('label',{staticClass:\"image-filter-input-label\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(section.selectedOption),expression:\"section.selectedOption\"}],staticClass:\"image-filter-input\",attrs:{\"type\":\"radio\"},domProps:{\"value\":option,\"checked\":_vm._q(section.selectedOption,option)},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleSectionTypeSelector($event)},\"change\":[function($event){return _vm.$set(section, \"selectedOption\", option)},function($event){return _vm.setSectionOptions(section, option)}]}}),_c('i',{staticClass:\"wall-section__icon\",class:option.id,attrs:{\"alt\":\"\"}}),_c('span',[_vm._v(_vm._s(option.description))])])])}),0)]),(section.selectedOption.applicableProperies.direction)?_c('div',{staticClass:\"wall-section__direction direction\"},[_c('div',{staticClass:\"selector__item radio one-line\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(section.direction),expression:\"section.direction\"}],attrs:{\"type\":\"radio\",\"name\":'direction'+sectionIndex},domProps:{\"value\":1,\"checked\":_vm._q(section.direction,1)},on:{\"change\":[function($event){return _vm.$set(section, \"direction\", 1)},_vm.tryUpdateConfiguratorValue]}}),_c('span',{staticClass:\"radio-icon\"}),_c('span',{staticClass:\"selector__option-text\"},[_vm._v(_vm._s(_vm.translations.toTheLeft))])]),_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(section.direction),expression:\"section.direction\"}],attrs:{\"type\":\"radio\",\"name\":'direction'+sectionIndex},domProps:{\"value\":2,\"checked\":_vm._q(section.direction,2)},on:{\"change\":[function($event){return _vm.$set(section, \"direction\", 2)},_vm.tryUpdateConfiguratorValue]}}),_c('span',{staticClass:\"radio-icon\"}),_c('span',{staticClass:\"selector__option-text\"},[_vm._v(_vm._s(_vm.translations.toTheRight))])])])]):_vm._e(),(section.selectedOption.applicableProperies.length)?_c('ValidationProvider',{staticClass:\"wall-section__input-container center length\",attrs:{\"tag\":\"div\",\"rules\":\"min_value:0\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-length-index\"}},[_vm._v(_vm._s(_vm.translations.commonLength)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(section.length),expression:\"section.length\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"name\":\"input-length-index\",\"type\":\"number\",\"min\":\"0\",\"step\":\".1\"},domProps:{\"value\":(section.length)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(section, \"length\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"selector__option-text wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length)?_c('div',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}):_vm._e(),(section.selectedOption.applicableProperies.height)?_c('ValidationProvider',{staticClass:\"wall-section__input-container center height\",attrs:{\"tag\":\"div\",\"rules\":(\"between:0.1,\" + _vm.getSectionMaxHeight)},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-length-index\"}},[_vm._v(_vm._s(_vm.translations.commonHeight)+\":\")]),_c('input',{directives:[{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"},{name:\"model\",rawName:\"v-model.number\",value:(section.heightAboveGround),expression:\"section.heightAboveGround\",modifiers:{\"number\":true}}],staticClass:\"selector__input\",class:[errors.length ? 'invalid' : ''],attrs:{\"name\":\"input-length-index\",\"type\":\"number\",\"min\":\"0.1\",\"step\":\".1\",\"max\":_vm.getSectionMaxHeight},domProps:{\"value\":(section.heightAboveGround)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(section, \"heightAboveGround\", _vm._n($event.target.value))},validate],\"blur\":[function($event){return _vm.handleSectionHeightUpdate($event, section)},function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"selector__option-text wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length)?_c('div',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}):_vm._e(),(section.selectedOption.applicableProperies.coping)?_c('div',{staticClass:\"wall-section__input-container selector__item radio center--mobile coping\"},[_c('label',{attrs:{\"for\":\"input-length-index\"}},[_vm._v(_vm._s(_vm.translations.coping)+\":\")]),_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(section.coping),expression:\"section.coping\"}],attrs:{\"type\":\"radio\",\"name\":'coping'+sectionIndex},domProps:{\"value\":true,\"checked\":_vm._q(section.coping,true)},on:{\"change\":[function($event){return _vm.$set(section, \"coping\", true)},_vm.tryUpdateConfiguratorValue]}}),_c('span',{staticClass:\"radio-icon\"}),_c('div',{staticClass:\"selector__option-text\"},[_vm._v(_vm._s(_vm.translations.commonYes))])]),_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(section.coping),expression:\"section.coping\"}],attrs:{\"type\":\"radio\",\"name\":'coping'+sectionIndex},domProps:{\"value\":false,\"checked\":_vm._q(section.coping,false)},on:{\"change\":[function($event){return _vm.$set(section, \"coping\", false)},_vm.tryUpdateConfiguratorValue]}}),_c('span',{staticClass:\"radio-icon\"}),_c('div',{staticClass:\"selector__option-text\"},[_vm._v(_vm._s(_vm.translations.commonNo))])])]):_vm._e()],1)}),_c('div',{staticClass:\"wall-section__add-container\"},[_c('span',{staticClass:\"wall-section__add-button\",on:{\"click\":function($event){$event.preventDefault();return _vm.addSection($event)}}},[_vm._v(\"+\")])])],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue} from \"vue-property-decorator\";\r\nimport { CurvedWallSectionModuleModel, CurvedWallModel, CurvedWallSection, ValueDescription, ConfiguratorValueUpdateModel, CurvedWallSecionModuleOption, WallTypes, CurvedWallSectionDirection, WallSection, Section } from \"../models\";\r\nimport { productConfiguratorStore as store} from \"./../store\";\r\nimport { ValidationProvider, extend } from \"vee-validate\";\r\nimport { between, min_value } from \"vee-validate/dist/rules\";\r\nimport HtmlElementHelper from \"@/services/HtmlElementHelper\";\r\nimport Cookie from \"@/services/Cookie\";\r\n\r\nextend(\"between\", {\r\n ...between,\r\n // message: store.translations.notWithinValidIntervalMessage\r\n});\r\n\r\nextend(\"min_value\", {\r\n ...min_value,\r\n message: store.translations.belowAllowedLimitMessage\r\n});\r\n\r\n@Component(\r\n {\r\n components: {\r\n ValidationProvider\r\n }\r\n }\r\n)\r\nexport default class CurvedWallSectionModule extends Vue {\r\n @Prop()\r\n protected vm!: CurvedWallSectionModuleModel;\r\n protected selectedCustomConfiguratorProductCookie: string = \"\";\r\n\r\n protected curvedWallModel: CurvedWallModel = { wallSections: [{ selectedOption: { applicableProperies: {}} }]} as CurvedWallModel;\r\n protected activeSectionTypeSelector: number = -1;\r\n protected showSectionTypeSelector: boolean = false;\r\n\r\n protected created() {\r\n if (!this.curvedWallModel.wallSections.length) {\r\n this.addSection();\r\n }\r\n this.getCookie();\r\n }\r\n\r\n protected getCookie() {\r\n this.selectedCustomConfiguratorProductCookie = Cookie.getCookie(\"SelectedCustomConfiguratorProducts-\" + this.vm.configuratorType);\r\n Cookie.applyCustomCookies(this.vm, this.selectedCustomConfiguratorProductCookie, this.curvedWallModel);\r\n if (this.selectedCustomConfiguratorProductCookie !== \"\") {\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n }\r\n protected addSection() {\r\n const tempSections = this.curvedWallModel.wallSections;\r\n tempSections.push({ selectedOption: { applicableProperies: {}} } as CurvedWallSection);\r\n this.curvedWallModel.wallSections = tempSections;\r\n }\r\n\r\n protected deleteSection(sectionIndex: number) {\r\n const tempSections = this.curvedWallModel.wallSections;\r\n tempSections.splice(sectionIndex, 1);\r\n this.curvedWallModel.wallSections = tempSections;\r\n if (!this.curvedWallModel.wallSections.length) {\r\n this.addSection();\r\n }\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n\r\n protected toggleSectionTypeSelector(sectionIndex: number) {\r\n if (this.activeSectionTypeSelector === sectionIndex) {\r\n this.showSectionTypeSelector = !this.showSectionTypeSelector;\r\n } else {\r\n this.showSectionTypeSelector = true;\r\n this.activeSectionTypeSelector = sectionIndex;\r\n }\r\n }\r\n\r\n protected setSectionOptions(section: CurvedWallSection, option: CurvedWallSecionModuleOption) {\r\n section.sectionType = option.sectionType;\r\n section.angle = option.sectionAngle;\r\n\r\n this.resetSectionValues(section);\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n\r\n protected tryUpdateConfiguratorValue() {\r\n if (this.curvedWallModel.wallSections\r\n .every(s => (s.selectedOption.id &&\r\n !s.selectedOption.applicableProperies.height || s.heightAboveGround > 0)\r\n && (!s.selectedOption.applicableProperies.length || s.length > 0)\r\n && (!s.selectedOption.applicableProperies.direction || (s.direction !== CurvedWallSectionDirection.Straight))\r\n && (!s.selectedOption.applicableProperies.coping || typeof s.coping !== \"undefined\"))) {\r\n this.updateConfiguratorValue();\r\n }\r\n }\r\n\r\n protected handleInputDebounce(inputValue: any, event: Event) {\r\n if (HtmlElementHelper.isEventTargetFocusedElement(event.target)) {\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n }\r\n\r\n protected handleSectionHeightUpdate(event: Event, section: WallSection) {\r\n if (event.target instanceof HTMLInputElement) {\r\n if (HtmlElementHelper.isValidNumberInput(event.target)) {\r\n section.heightAboveGround = Number(event.target.value);\r\n } else if (section.heightAboveGround > 0) {\r\n section.heightAboveGround = 0;\r\n }\r\n }\r\n\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n\r\n private resetSectionValues(section: CurvedWallSection) {\r\n if (!section.selectedOption) {\r\n return;\r\n }\r\n\r\n if (!section.selectedOption.applicableProperies.height) {\r\n section.heightAboveGround = 0;\r\n }\r\n\r\n if (!section.selectedOption.applicableProperies.length) {\r\n section.length = 0;\r\n }\r\n\r\n if (!section.selectedOption.applicableProperies.direction) {\r\n section.direction = 0;\r\n }\r\n\r\n if (!section.selectedOption.applicableProperies.coping) {\r\n section.coping = undefined;\r\n } else if (section.coping === undefined) {\r\n section.coping = true;\r\n }\r\n }\r\n\r\n private updateConfiguratorValue() {\r\n const valueDescriptions: ValueDescription[] = this.curvedWallModel.wallSections.map(section => (\r\n { title: section.selectedOption.description, text: `${ this.getValueDescription(section)}`\r\n }));\r\n\r\n const updateModel: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: this.curvedWallModel, valueDescriptions,\r\n propertyName: this.vm.configuratorProperties[0].propertyName, isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModel, true);\r\n }\r\n\r\n private getValueDescription(wallSection: CurvedWallSection): string {\r\n let description: string = \"\";\r\n\r\n if (wallSection.selectedOption.applicableProperies.direction === true) {\r\n let directionDescription: string = \"\";\r\n\r\n switch (wallSection.direction) {\r\n case CurvedWallSectionDirection.Left:\r\n directionDescription = store.translations.toTheLeft;\r\n break;\r\n case CurvedWallSectionDirection.Right:\r\n directionDescription = store.translations.toTheRight;\r\n break;\r\n }\r\n\r\n description += `${directionDescription}`;\r\n }\r\n\r\n if (wallSection.selectedOption.applicableProperies.length === true) {\r\n if (description) {\r\n description += \", \";\r\n }\r\n description += `${store.translations.commonLength}: ${wallSection.length} m`;\r\n }\r\n\r\n if (wallSection.selectedOption.applicableProperies.height === true) {\r\n if (description) {\r\n description += \", \";\r\n }\r\n description += `${store.translations.commonHeight}: ${wallSection.heightAboveGround} m`;\r\n }\r\n\r\n if (wallSection.selectedOption.applicableProperies.height === true && wallSection.coping === true) {\r\n if (description) {\r\n description += \", \";\r\n }\r\n description += `${store.translations.coping}`;\r\n }\r\n\r\n return description;\r\n }\r\n\r\n get getSectionMaxHeight() {\r\n if (this.isRetainingWall) {\r\n return 1.5;\r\n }\r\n\r\n return 2;\r\n }\r\n\r\n get isRetainingWall() {\r\n return store.configuratorValues.some(cv => cv.property.propertyName === \"WallType\" && cv.value === WallTypes.Retaining.toString());\r\n }\r\n\r\n get translations() {\r\n return store.translations;\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!./CurvedWallSectionModule.ts?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!./CurvedWallSectionModule.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CurvedWallSectionModule.vue?vue&type=template&id=53bd4be8&\"\nimport script from \"./CurvedWallSectionModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./CurvedWallSectionModule.ts?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',{staticClass:\"selector__container\"},[_c('ValidationObserver',{ref:\"validationObs\",attrs:{\"slim\":\"\"}},[_c('h3',[_vm._v(_vm._s(_vm.vm.title))]),_vm._l((_vm.outdoorWallModel.wallSections),function(section,index){return _c('div',{key:section+index,staticClass:\"wall-section__item margin-bottom\",attrs:{\"value\":section}},[_c('div',{staticClass:\"wall-section__delete\"},[_c('span',{on:{\"click\":function($event){return _vm.deleteSection(index)}}},[_c('i',{staticClass:\"far fa-trash-alt fa-1x\"})])]),_c('div',{staticClass:\"wall-section__input-container center full\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(section.name),expression:\"section.name\",modifiers:{\"trim\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input large bold\",attrs:{\"type\":\"text\",\"placeholder\":_vm.translations.wallSectionNamePlaceholder},domProps:{\"value\":(section.name)},on:{\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}],\"input\":function($event){if($event.target.composing){ return; }_vm.$set(section, \"name\", $event.target.value.trim())}}})]),_c('div',{staticClass:\"wall-section__inputs-wrapper\"},[_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":\"min_value:0\",\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-length-index\"}},[_vm._v(_vm._s(_vm.translations.commonLength)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(section.length),expression:\"section.length\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\".1\",\"name\":\"input-length-index\"},domProps:{\"value\":(section.length)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(section, \"length\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}),_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":\"min_value:0\",\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-height-index\"}},[_vm._v(_vm._s(_vm.translations.commonHeight)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(section.height),expression:\"section.height\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\".1\",\"name\":\"input-height-index\"},domProps:{\"value\":(section.height)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(section, \"height\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}),(!_vm.vm.hideGableInput)?_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":\"min_value:0\",\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-gable-end-index\"}},[_vm._v(_vm._s(_vm.translations.gableEnd)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(section.gableEnd),expression:\"section.gableEnd\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\".1\",\"name\":\"input-gable-end-index\"},domProps:{\"value\":(section.gableEnd)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(section, \"gableEnd\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}):_vm._e()],1),_c('div',{staticClass:\"wall-section__toggle-openings\"},[_c('span',{staticClass:\"wall-section__toggle-openings-button\",class:{ expanded: _vm.showOpeningSection(section) },on:{\"click\":function($event){return _vm.toggleOpeningSection(section)}}},[_vm._v(_vm._s(_vm.translations.addBuildingWallOpenings)+\"\\n \")])]),(_vm.showOpeningSection(section))?_c('div',{staticClass:\"wall-section__openings-container\"},[_vm._l((section.wallOpenings),function(opening,openingIndex){return _c('div',{key:opening+openingIndex,staticClass:\"wall-section__item\",attrs:{\"value\":opening}},[_c('div',{staticClass:\"wall-section__delete\"},[_c('span',{on:{\"click\":function($event){return _vm.deleteOpening(openingIndex, section)}}},[_c('i',{staticClass:\"far fa-trash-alt fa-1x\"})])]),_c('div',{staticClass:\"wall-section__input-container center full\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(opening.name),expression:\"opening.name\",modifiers:{\"trim\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input large\",attrs:{\"type\":\"text\",\"placeholder\":_vm.translations.wallSectionOpeningNamePlaceholder},domProps:{\"value\":(opening.name)},on:{\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}],\"input\":function($event){if($event.target.composing){ return; }_vm.$set(opening, \"name\", $event.target.value.trim())}}})]),_c('div',{staticClass:\"wall-section__inputs-wrapper margin-bottom\"},[_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":(\"opening_width_between:0,\" + (_vm.getOpeningBeamMaxWidth(opening)) + \"|between:0,\" + (_vm.getOpeningMaxWidth(section))),\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-length-index\"}},[_vm._v(_vm._s(_vm.translations.commonWidth)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(opening.width),expression:\"opening.width\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\".1\",\"name\":\"input-length-index\"},domProps:{\"value\":(opening.width)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(opening, \"width\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}),_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":(\"between:0,\" + (_vm.getOpeningMaxHeight(section, opening))),\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-height-index\"}},[_vm._v(_vm._s(_vm.translations.commonHeight)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(opening.height),expression:\"opening.height\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\".1\",\"name\":\"input-height-index\"},domProps:{\"value\":(opening.height)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(opening, \"height\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}),_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":\"min_value:0\",\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-quantity-index\"}},[_vm._v(_vm._s(_vm.translations.commonQuantity)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(opening.quantity),expression:\"opening.quantity\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"name\":\"input-quantity-index\"},domProps:{\"value\":(opening.quantity)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(opening, \"quantity\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonPiecesAbbreviation))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])})],1),_c('div',{staticClass:\"wall-section__inputs-wrapper\"},[_c('span',{staticClass:\"wall-section__title\"},[_vm._v(_vm._s(_vm.translations.beam))]),_c('div',{staticClass:\"selector__item radio\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(opening.beam),expression:\"opening.beam\"}],attrs:{\"type\":\"radio\"},domProps:{\"value\":true,\"checked\":_vm._q(opening.beam,true)},on:{\"change\":[function($event){return _vm.$set(opening, \"beam\", true)},_vm.beamChanged]}}),_c('span',{staticClass:\"radio-icon\"}),_c('div',{staticClass:\"selector__image-subtitle\"},[_vm._v(_vm._s(_vm.translations.commonYes))])])]),_c('div',{staticClass:\"selector__item radio\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(opening.beam),expression:\"opening.beam\"}],attrs:{\"type\":\"radio\"},domProps:{\"value\":false,\"checked\":_vm._q(opening.beam,false)},on:{\"change\":[function($event){return _vm.$set(opening, \"beam\", false)},_vm.beamChanged]}}),_c('span',{staticClass:\"radio-icon\"}),_c('div',{staticClass:\"selector__image-subtitle\"},[_vm._v(_vm._s(_vm.translations.commonNo))])])])])])}),_c('div',{staticClass:\"wall-section__add-opening-container\"},[_c('span',{staticClass:\"wall-section__add-button--small\",on:{\"click\":function($event){$event.preventDefault();return _vm.addOpening(section)}}},[_vm._v(\"+\")])])],2):_vm._e()])}),_c('div',{staticClass:\"wall-section__add-container\"},[_c('span',{staticClass:\"wall-section__add-button\",on:{\"click\":function($event){$event.preventDefault();return _vm.addSection($event)}}},[_vm._v(\"+\")])])],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue} from \"vue-property-decorator\";\r\nimport { BuildingOutdoorWallSectionModuleModel, ConfiguratorValueUpdateModel, OutdoorWallModel, BuildingWallSection, WallOpening, Constants } from \"../models\";\r\n\r\nimport { productConfiguratorStore as store} from \"./../store\";\r\nimport HtmlElementHelper from \"@/services/HtmlElementHelper\";\r\nimport { ValidationProvider, ValidationObserver, extend } from \"vee-validate\";\r\nimport { min_value, between } from \"vee-validate/dist/rules\";\r\nimport Cookie from \"@/services/Cookie\";\r\n\r\nextend(\"min_value\", {\r\n ...min_value,\r\n message: store.translations.belowAllowedLimitMessage\r\n});\r\n\r\nextend(\"between\", {\r\n ...between,\r\n // message: store.translations.notWithinValidIntervalMessage\r\n});\r\n\r\nextend(\"opening_width_between\", {\r\n ...between,\r\n message: store.translations.invalidBuildingWallOpeningMessage\r\n});\r\n\r\n@Component(\r\n {\r\n components: {\r\n ValidationProvider,\r\n ValidationObserver\r\n }\r\n }\r\n)\r\nexport default class BuildingOutdoorWallSectionModule extends Vue {\r\n\r\n @Prop()\r\n protected vm!: BuildingOutdoorWallSectionModuleModel;\r\n protected selectedCustomConfiguratorProductCookie: string = \"\";\r\n\r\n protected outdoorWallModel: OutdoorWallModel = {\r\n wallSections: [\r\n {\r\n showOpenings: false,\r\n gableEnd: 0,\r\n wallOpenings: Array()\r\n } as BuildingWallSection\r\n ]} as OutdoorWallModel;\r\n\r\n protected validationObs!: InstanceType;\r\n\r\n protected created() {\r\n if (!this.outdoorWallModel.wallSections.length) {\r\n this.addSection();\r\n }\r\n this.getCookie();\r\n }\r\n\r\n protected getCookie() {\r\n this.selectedCustomConfiguratorProductCookie = Cookie.getCookie(\"SelectedCustomConfiguratorProducts-\" + this.vm.configuratorType);\r\n Cookie.applyCustomCookies(this.vm, this.selectedCustomConfiguratorProductCookie, this.outdoorWallModel);\r\n if (this.selectedCustomConfiguratorProductCookie !== \"\") {\r\n this.tryUpdateConfiguratorValue(true);\r\n }\r\n }\r\n\r\n protected mounted() {\r\n this.validationObs = this.$refs.validationObs as InstanceType;\r\n }\r\n\r\n protected addSection() {\r\n this.outdoorWallModel.wallSections.push({showOpenings: false, gableEnd: 0, wallOpenings: Array()} as BuildingWallSection);\r\n }\r\n\r\n protected toggleOpeningSection(section: BuildingWallSection) {\r\n section.showOpenings = !section.showOpenings;\r\n\r\n if (section.showOpenings && !section.wallOpenings.length) {\r\n this.addOpening(section);\r\n }\r\n }\r\n\r\n protected showOpeningSection(section: BuildingWallSection) {\r\n return section.showOpenings;\r\n }\r\n\r\n protected addOpening(section: BuildingWallSection) {\r\n section.wallOpenings.push({ quantity: 1, beam: true} as WallOpening);\r\n }\r\n\r\n protected deleteSection(sectionIndex: number) {\r\n const tempSections = this.outdoorWallModel.wallSections;\r\n tempSections.splice(sectionIndex, 1);\r\n this.outdoorWallModel.wallSections = tempSections;\r\n if (!this.outdoorWallModel.wallSections.length) {\r\n this.addSection();\r\n }\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n\r\n protected deleteOpening(openingIndex: number, section: BuildingWallSection) {\r\n section.wallOpenings.splice(openingIndex, 1);\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n\r\n protected getOpeningMaxWidth(section: BuildingWallSection): number {\r\n return section.length;\r\n }\r\n\r\n protected getOpeningMaxHeight(section: BuildingWallSection, opening: WallOpening): number {\r\n let requiredLoadBearingProductHeight = 0;\r\n if (opening.beam) {\r\n requiredLoadBearingProductHeight += Constants.WallOpeningBeamHeightMetre;\r\n return section.height - requiredLoadBearingProductHeight;\r\n } else {\r\n return section.height - requiredLoadBearingProductHeight;\r\n }\r\n }\r\n\r\n protected getOpeningBeamMaxWidth(opening: WallOpening): number {\r\n return opening.beam ? Constants.outdoorWallMaxOpeningWidthMetre : 9999;\r\n }\r\n\r\n protected beamChanged() {\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n\r\n protected tryUpdateConfiguratorValue(isFromCookie: boolean = false) {\r\n if (isFromCookie) {\r\n this.updateConfiguratorValue();\r\n } else {\r\n this.validationObs.validate().then(success => {\r\n if (success) {\r\n if (this.outdoorWallModel.wallSections\r\n .every(s => s.height > 0\r\n && s.length > 0\r\n && (!s.wallOpenings.length || s.wallOpenings.every(wo => wo.width > 0 && wo.height > 0 && wo.quantity > 0)))) {\r\n this.updateConfiguratorValue();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n protected handleInputDebounce(inputValue: any, event: Event) {\r\n if (HtmlElementHelper.isEventTargetFocusedElement(event.target)) {\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n }\r\n\r\n private updateConfiguratorValue() {\r\n const valueDescriptions = this.outdoorWallModel.wallSections\r\n .map(section => {\r\n const gableEndData = this.vm.hideGableInput ? `` : `, ${ this.translations.gableEnd}: ${section.gableEnd ? section.gableEnd : 0 } m`;\r\n return ({\r\n title: section.name ? section.name : this.translations.unnamedBuildingWallSection,\r\n text: `\\n${ store.translations.commonLength}: ${ section.length} m, ${ this.translations.commonHeight}: ${section.height} m${gableEndData} ${ section.wallOpenings\r\n .map(opening => `\\n${opening.name ? opening.name : this.translations.unnamedBuildingWallOpening}: ${opening.quantity} ${this.translations.commonPiecesAbbreviation} (${opening.width}x${opening.height} m) ${opening.beam ? this.translations.beam : \"\"} `).join(\"\") }\\n\\n`\r\n });\r\n });\r\n\r\n valueDescriptions.unshift({ title: \"\", text: \"\\n\"});\r\n\r\n const updateModel: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: this.outdoorWallModel, valueDescriptions,\r\n propertyName: this.vm.configuratorProperties[0].propertyName, isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModel, true);\r\n }\r\n\r\n get translations() {\r\n return store.translations;\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!./BuildingOutdoorWallSectionModule.ts?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!./BuildingOutdoorWallSectionModule.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BuildingOutdoorWallSectionModule.vue?vue&type=template&id=4b7c8753&\"\nimport script from \"./BuildingOutdoorWallSectionModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./BuildingOutdoorWallSectionModule.ts?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',{staticClass:\"selector__container\"},[_c('ValidationObserver',{ref:\"validationObs\",attrs:{\"slim\":\"\"}},[_c('h3',[_vm._v(_vm._s(_vm.vm.title))]),_vm._l((_vm.indoorWallModel.wallSections),function(section,index){return _c('div',{key:section+index,staticClass:\"wall-section__item margin-bottom\",attrs:{\"value\":section}},[_c('div',{staticClass:\"wall-section__delete\"},[_c('span',{on:{\"click\":function($event){return _vm.deleteSection(index)}}},[_c('i',{staticClass:\"far fa-trash-alt fa-1x\"})])]),_c('div',{staticClass:\"wall-section__input-container center full\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(section.name),expression:\"section.name\",modifiers:{\"trim\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input large bold\",attrs:{\"type\":\"text\",\"placeholder\":_vm.translations.wallSectionNamePlaceholder},domProps:{\"value\":(section.name)},on:{\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}],\"input\":function($event){if($event.target.composing){ return; }_vm.$set(section, \"name\", $event.target.value.trim())}}})]),_c('div',{staticClass:\"wall-section__inputs-wrapper margin-bottom\"},[_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":\"min_value:0\",\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-length-index\"}},[_vm._v(_vm._s(_vm.translations.commonLength)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(section.length),expression:\"section.length\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\".1\",\"name\":\"input-length-index\"},domProps:{\"value\":(section.length)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(section, \"length\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}),_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":\"min_value:0\",\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-height-index\"}},[_vm._v(_vm._s(_vm.translations.commonHeight)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(section.height),expression:\"section.height\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\".1\",\"name\":\"input-height-index\"},domProps:{\"value\":(section.height)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(section, \"height\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}),(!_vm.vm.hideGableInput)?_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":\"min_value:0\",\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-gable-end-index\"}},[_vm._v(_vm._s(_vm.translations.gableEnd)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(section.gableEnd),expression:\"section.gableEnd\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"min\":\"0\",\"name\":\"input-gable-end-index\"},domProps:{\"value\":(section.gableEnd)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(section, \"gableEnd\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}):_vm._e()],1),_c('div',{staticClass:\"wall-section__inputs-wrapper\"},[_c('h5',{staticClass:\"wall-section__title\"},[_vm._v(_vm._s(_vm.isMurblockInnerWall ? _vm.translations.blockTypeInnerWall : _vm.translations.blockType))]),_c('div',{staticClass:\"wall-section__input-container center\"},_vm._l((_vm.vm.blockTypeOptions),function(option){return _c('div',{key:option.value,staticClass:\"selector__item radio\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(section.blockType),expression:\"section.blockType\"}],attrs:{\"type\":\"radio\"},domProps:{\"value\":option.value,\"checked\":_vm._q(section.blockType,option.value)},on:{\"change\":[function($event){return _vm.$set(section, \"blockType\", option.value)},_vm.tryUpdateConfiguratorValue]}}),_c('span',{staticClass:\"radio-icon\"}),_c('div',{staticClass:\"selector__option-text\"},[_vm._v(_vm._s(option.description))])])])}),0)]),(_vm.showThicknessOptions(section) && !_vm.vm.hideWidthOptions)?_c('div',{staticClass:\"wall-section__inputs-wrapper\"},[_c('h5',{staticClass:\"wall-section__title\"},[_vm._v(_vm._s(_vm.translations.indoorBuildingWallThicknessHeading))]),_c('div',{staticClass:\"wall-section__input-container center\"},_vm._l((_vm.vm.wallThicknessOptions),function(option){return _c('div',{key:option.value,staticClass:\"selector__item radio\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(section.thickness),expression:\"section.thickness\"}],attrs:{\"type\":\"radio\"},domProps:{\"value\":option.value,\"checked\":_vm._q(section.thickness,option.value)},on:{\"change\":[function($event){return _vm.$set(section, \"thickness\", option.value)},_vm.tryUpdateConfiguratorValue]}}),_c('span',{staticClass:\"radio-icon\"}),_c('div',{staticClass:\"selector__option-text\"},[_vm._v(_vm._s(option.description))])])])}),0)]):(!_vm.vm.hideWidthOptions)?_c('div',{staticClass:\"wall-section__inputs-wrapper\"},[_c('div',{staticClass:\"wall-section__input-container center\"},[_c('div',{staticClass:\"wall-section__isolated-info\"},[_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.translations.soundIsolatedBlockInfo)+\"\\n \")])])])]):_vm._e(),_c('div',{staticClass:\"wall-section__toggle-openings\"},[_c('span',{staticClass:\"wall-section__toggle-openings-button\",class:{ expanded: _vm.showOpeningSection(section) },on:{\"click\":function($event){return _vm.toggleOpeningSection(section)}}},[_vm._v(_vm._s(_vm.translations.addBuildingWallOpenings)+\"\\n \")])]),(_vm.showOpeningSection(section))?_c('div',{staticClass:\"wall-section__openings-container\"},[_vm._l((section.wallOpenings),function(opening,openingIndex){return _c('div',{key:opening+openingIndex,staticClass:\"wall-section__item\",attrs:{\"value\":opening}},[_c('div',{staticClass:\"wall-section__delete\"},[_c('span',{on:{\"click\":function($event){return _vm.deleteOpening(openingIndex, section)}}},[_c('i',{staticClass:\"far fa-trash-alt fa-1x\"})])]),_c('div',{staticClass:\"wall-section__input-container center full\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(opening.name),expression:\"opening.name\",modifiers:{\"trim\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input large\",attrs:{\"type\":\"text\",\"placeholder\":_vm.translations.wallSectionOpeningNamePlaceholder},domProps:{\"value\":(opening.name)},on:{\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}],\"input\":function($event){if($event.target.composing){ return; }_vm.$set(opening, \"name\", $event.target.value.trim())}}})]),_c('div',{staticClass:\"wall-section__inputs-wrapper margin-bottom\"},[_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":(\"opening_width_between:0,\" + (_vm.getOpeningBeamMaxWidth(section, opening)) + \"|between:0,\" + (_vm.getOpeningMaxWidth(section, opening))),\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-length-index\"}},[_vm._v(_vm._s(_vm.translations.commonWidth)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(opening.width),expression:\"opening.width\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\".1\",\"name\":\"input-length-index\"},domProps:{\"value\":(opening.width)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(opening, \"width\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}),_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":(\"between:0,\" + (_vm.getOpeningMaxHeight(section, opening))),\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-height-index\"}},[_vm._v(_vm._s(_vm.translations.commonHeight)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(opening.height),expression:\"opening.height\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\".1\",\"name\":\"input-height-index\"},domProps:{\"value\":(opening.height)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(opening, \"height\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}),_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":\"min_value:0\",\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-quantity-index\"}},[_vm._v(_vm._s(_vm.translations.commonQuantity)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(opening.quantity),expression:\"opening.quantity\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"min\":\"0\",\"name\":\"input-quantity-index\"},domProps:{\"value\":(opening.quantity)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(opening, \"quantity\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonPiecesAbbreviation))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])})],1),_c('div',{staticClass:\"wall-section__inputs-wrapper\"},[_c('span',{staticClass:\"wall-section__title\"},[_vm._v(_vm._s(_vm.translations.beam))]),_c('div',{staticClass:\"selector__item radio\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(opening.beam),expression:\"opening.beam\"}],attrs:{\"type\":\"radio\"},domProps:{\"value\":true,\"checked\":_vm._q(opening.beam,true)},on:{\"change\":function($event){return _vm.$set(opening, \"beam\", true)}}}),_c('span',{staticClass:\"radio-icon\"}),_c('div',{staticClass:\"selector__image-subtitle\"},[_vm._v(_vm._s(_vm.translations.commonYes))])])]),_c('div',{staticClass:\"selector__item radio\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(opening.beam),expression:\"opening.beam\"}],attrs:{\"type\":\"radio\"},domProps:{\"value\":false,\"checked\":_vm._q(opening.beam,false)},on:{\"change\":function($event){return _vm.$set(opening, \"beam\", false)}}}),_c('span',{staticClass:\"radio-icon\"}),_c('div',{staticClass:\"selector__image-subtitle\"},[_vm._v(_vm._s(_vm.translations.commonNo))])])])])])}),_c('div',{staticClass:\"wall-section__add-opening-container\"},[_c('span',{staticClass:\"wall-section__add-button--small\",on:{\"click\":function($event){$event.preventDefault();return _vm.addOpening(section)}}},[_vm._v(\"+\")])])],2):_vm._e()])}),_c('div',{staticClass:\"wall-section__add-container\"},[_c('span',{staticClass:\"wall-section__add-button\",on:{\"click\":function($event){$event.preventDefault();return _vm.addSection($event)}}},[_vm._v(\"+\")])])],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue} from \"vue-property-decorator\";\r\nimport * as Models from \"../models\";\r\n\r\nimport { productConfiguratorStore as store} from \"./../store\";\r\nimport HtmlElementHelper from \"@/services/HtmlElementHelper\";\r\nimport { ValidationProvider, ValidationObserver, extend } from \"vee-validate\";\r\nimport { min_value, between } from \"vee-validate/dist/rules\";\r\nimport Cookie from \"@/services/Cookie\";\r\nimport { BlockType, configuratorConstants } from \"../models\";\r\n\r\nextend(\"min_value\", {\r\n ...min_value,\r\n message: store.translations.belowAllowedLimitMessage\r\n});\r\n\r\nextend(\"between\", {\r\n ...between,\r\n message: store.translations.notWithinValidIntervalMessage\r\n});\r\n\r\nextend(\"opening_width_between\", {\r\n ...between,\r\n message: store.translations.invalidBuildingWallOpeningMessage\r\n});\r\n\r\n@Component(\r\n {\r\n components: {\r\n ValidationProvider,\r\n ValidationObserver\r\n }\r\n }\r\n)\r\nexport default class BuildingIndoorWallSectionModule extends Vue {\r\n\r\n @Prop()\r\n protected vm!: Models.BuildingIndoorWallSectionModuleModel;\r\n protected selectedCustomConfiguratorProductCookie: string = \"\";\r\n\r\n protected indoorWallModel: Models.IndoorWallModel = {\r\n wallSections: [\r\n {\r\n showOpenings: false,\r\n gableEnd: 0,\r\n thickness: this.isMurblockInnerWall ? 100 : 90,\r\n wallOpenings: Array(),\r\n blockType : Models.BlockType.Standard,\r\n } as Models.IndoorWallSection\r\n ]} as Models.IndoorWallModel;\r\n\r\n protected validationObs!: InstanceType;\r\n\r\n protected mounted() {\r\n this.validationObs = this.$refs.validationObs as InstanceType;\r\n }\r\n\r\n protected created() {\r\n if (!this.indoorWallModel.wallSections.length) {\r\n this.addSection();\r\n }\r\n this.getCookie();\r\n }\r\n\r\n protected getCookie() {\r\n this.selectedCustomConfiguratorProductCookie = Cookie.getCookie(\"SelectedCustomConfiguratorProducts-\" + this.vm.configuratorType);\r\n Cookie.applyCustomCookies(this.vm, this.selectedCustomConfiguratorProductCookie, this.indoorWallModel);\r\n if (this.selectedCustomConfiguratorProductCookie !== \"\") {\r\n this.tryUpdateConfiguratorValue(true);\r\n }\r\n }\r\n\r\n protected addSection() {\r\n this.indoorWallModel.wallSections.push({showOpenings: false, gableEnd: 0, thickness: this.isMurblockInnerWall ? 100 : 90, blockType: 0, wallOpenings: Array()} as Models.IndoorWallSection);\r\n }\r\n\r\n protected toggleOpeningSection(section: Models.IndoorWallSection) {\r\n section.showOpenings = !section.showOpenings;\r\n\r\n if (section.showOpenings && !section.wallOpenings.length) {\r\n this.addOpening(section);\r\n }\r\n }\r\n\r\n protected showOpeningSection(section: Models.IndoorWallSection) {\r\n return section.showOpenings;\r\n }\r\n\r\n get isMurblockInnerWall() {\r\n const masonaryType = store.propertyModelValues.filter(x => x.key === configuratorConstants.InnerWallMasonryType)[0];\r\n return this.vm && this.vm.configuratorType === configuratorConstants.BuildingProductSelector ?\r\n masonaryType && masonaryType.value === 1 : false;\r\n }\r\n\r\n protected showThicknessOptions(section: Models.IndoorWallSection) {\r\n return section.blockType !== Models.BlockType.SoundIsolated;\r\n }\r\n\r\n protected addOpening(section: Models.IndoorWallSection) {\r\n section.wallOpenings.push({ quantity: 1, beam: true} as Models.WallOpening);\r\n }\r\n\r\n protected deleteSection(sectionIndex: number) {\r\n const tempSections = this.indoorWallModel.wallSections;\r\n tempSections.splice(sectionIndex, 1);\r\n this.indoorWallModel.wallSections = tempSections;\r\n if (!this.indoorWallModel.wallSections.length) {\r\n this.addSection();\r\n }\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n\r\n protected deleteOpening(openingIndex: number, section: Models.IndoorWallSection) {\r\n section.wallOpenings.splice(openingIndex, 1);\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n\r\n protected getOpeningBeamMaxWidth(section: Models.IndoorWallSection, opening: Models.WallOpening): number {\r\n if (this.isMurblockInnerWall) {\r\n if (section.blockType === BlockType.SoundIsolated) {\r\n return Models.Constants.IndoorWallOpeningMaxWidthBearing;\r\n } else {\r\n return Models.Constants.IndoorWallOpeningMaxWidthNonBearing;\r\n }\r\n } else {\r\n if (opening.beam) {\r\n return section.thickness >= Models.Constants.indoorThickWallBreakpointMillimetre ?\r\n Models.Constants.indoorThickWallMaxOpeningWidthMetre : Models.Constants.indoorThinWallMaxOpeningWidthMetre;\r\n }\r\n }\r\n return 9999;\r\n }\r\n\r\n protected getOpeningMaxWidth(section: Models.IndoorWallSection, opening: Models.WallOpening): number {\r\n if (this.isMurblockInnerWall) {\r\n if (section.blockType === BlockType.SoundIsolated) {\r\n return Models.Constants.IndoorWallOpeningMaxWidthBearing;\r\n } else {\r\n return Models.Constants.IndoorWallOpeningMaxWidthNonBearing;\r\n }\r\n }\r\n return section.length;\r\n }\r\n\r\n protected getOpeningMaxHeight(section: Models.IndoorWallSection, opening: Models.WallOpening): number {\r\n let requiredLoadBearingProductHeight = 0;\r\n if (opening.beam) {\r\n requiredLoadBearingProductHeight += Models.Constants.WallOpeningBeamHeightMetreIndoor;\r\n return section.height - requiredLoadBearingProductHeight;\r\n } else {\r\n return section.height;\r\n }\r\n }\r\n\r\n protected tryUpdateConfiguratorValue(isFromCookie: boolean = false) {\r\n if (isFromCookie) {\r\n this.updateConfiguratorValue();\r\n } else {\r\n this.validationObs.validate().then(success => {\r\n if (success) {\r\n if (this.indoorWallModel\r\n .wallSections\r\n .every(s => s.height > 0 && s.length > 0\r\n && s.thickness > 0\r\n && (!s.wallOpenings.length || s.wallOpenings.every(wo => wo.width > 0 && wo.height > 0 && wo.quantity > 0)))) {\r\n this.updateConfiguratorValue();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n protected handleInputDebounce(inputValue: any, event: Event) {\r\n if (HtmlElementHelper.isEventTargetFocusedElement(event.target)) {\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n }\r\n\r\n private updateConfiguratorValue() {\r\n const valueDescriptions = this.indoorWallModel.wallSections\r\n .map(section => {\r\n const gableEndData = this.vm.hideGableInput ? `` : `, ${ this.translations.gableEnd}: ${section.gableEnd ? section.gableEnd : 0 } m `;\r\n return ({\r\n title: section.name ? section.name : this.translations.unnamedBuildingWallSection,\r\n text: `\\n${ this.translations.commonLength}: ${ section.length} m, ${ this.translations.commonHeight}: ${section.height} m, ${this.translations.commonThickness}: ${section.thickness} mm${gableEndData}${ section.wallOpenings\r\n .map(opening => `\\n${opening.name ? opening.name : this.translations.unnamedBuildingWallOpening}: ${opening.quantity} ${ this.translations.commonPiecesAbbreviation} (${opening.width}x${opening.height} m) ${opening.beam ? this.translations.beam : \"\"} `).join(\"\") }\\n\\n`\r\n });\r\n });\r\n\r\n valueDescriptions.unshift({ title: \"\", text: \"\\n\"});\r\n\r\n const updateModel: Models.ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: this.indoorWallModel, valueDescriptions,\r\n propertyName: this.vm.configuratorProperties[0].propertyName, isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModel, true);\r\n }\r\n\r\n get translations() {\r\n return store.translations;\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!./BuildingIndoorWallSectionModule.ts?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!./BuildingIndoorWallSectionModule.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BuildingIndoorWallSectionModule.vue?vue&type=template&id=a03dbf80&\"\nimport script from \"./BuildingIndoorWallSectionModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./BuildingIndoorWallSectionModule.ts?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',{staticClass:\"selector__container\"},[_c('ValidationObserver',{ref:\"validationObs\",attrs:{\"slim\":\"\"}},[_c('h3',[_vm._v(_vm._s(_vm.vm.title))]),_vm._l((_vm.bathroomWallModel.wallSections),function(section,index){return _c('div',{key:section+index,staticClass:\"wall-section__item margin-bottom\",attrs:{\"value\":section}},[_c('div',{staticClass:\"wall-section__delete\"},[_c('span',{on:{\"click\":function($event){return _vm.deleteSection(index)}}},[_c('i',{staticClass:\"far fa-trash-alt fa-1x\"})])]),_c('div',{staticClass:\"wall-section__input-container center full\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(section.name),expression:\"section.name\",modifiers:{\"trim\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input large bold\",attrs:{\"type\":\"text\",\"placeholder\":_vm.translations.wallSectionNamePlaceholder},domProps:{\"value\":(section.name)},on:{\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}],\"input\":function($event){if($event.target.composing){ return; }_vm.$set(section, \"name\", $event.target.value.trim())}}})]),_c('div',{staticClass:\"wall-section__inputs-wrapper\"},[_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":\"min_value:0\",\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-length-index\"}},[_vm._v(_vm._s(_vm.translations.commonLength)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(section.length),expression:\"section.length\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\".1\",\"name\":\"input-length-index\"},domProps:{\"value\":(section.length)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(section, \"length\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}),_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":\"min_value:0\",\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-height-index\"}},[_vm._v(_vm._s(_vm.translations.commonHeight)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(section.height),expression:\"section.height\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\".1\",\"name\":\"input-height-index\"},domProps:{\"value\":(section.height)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(section, \"height\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}),(!_vm.vm.hideGableInput)?_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":\"min_value:0\",\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-gable-end-index\"}},[_vm._v(_vm._s(_vm.translations.gableEnd)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(section.gableEnd),expression:\"section.gableEnd\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\".1\",\"name\":\"input-gable-end-index\"},domProps:{\"value\":(section.gableEnd)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(section, \"gableEnd\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}):_vm._e()],1),_c('div',{staticClass:\"wall-section__toggle-openings\"},[_c('span',{staticClass:\"wall-section__toggle-openings-button\",class:{ expanded: _vm.showOpeningSection(section) },on:{\"click\":function($event){return _vm.toggleOpeningSection(section)}}},[_vm._v(_vm._s(_vm.translations.addBuildingWallOpenings)+\"\\n \")])]),(_vm.showOpeningSection(section))?_c('div',{staticClass:\"wall-section__openings-container\"},[_vm._l((section.wallOpenings),function(opening,openingIndex){return _c('div',{key:opening+openingIndex,staticClass:\"wall-section__item\",attrs:{\"value\":opening}},[_c('div',{staticClass:\"wall-section__delete\"},[_c('span',{on:{\"click\":function($event){return _vm.deleteOpening(openingIndex, section)}}},[_c('i',{staticClass:\"far fa-trash-alt fa-1x\"})])]),_c('div',{staticClass:\"wall-section__input-container center full\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(opening.name),expression:\"opening.name\",modifiers:{\"trim\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input large\",attrs:{\"type\":\"text\",\"placeholder\":_vm.translations.wallSectionOpeningNamePlaceholder},domProps:{\"value\":(opening.name)},on:{\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}],\"input\":function($event){if($event.target.composing){ return; }_vm.$set(opening, \"name\", $event.target.value.trim())}}})]),_c('div',{staticClass:\"wall-section__inputs-wrapper margin-bottom\"},[_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":(\"opening_width_between:0,\" + (_vm.getOpeningMaxWidth(section))),\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-length-index\"}},[_vm._v(_vm._s(_vm.translations.commonWidth)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(opening.width),expression:\"opening.width\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\".1\",\"name\":\"input-length-index\"},domProps:{\"value\":(opening.width)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(opening, \"width\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}),_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":(\"between:0,\" + (_vm.getOpeningMaxHeight(section, opening))),\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-height-index\"}},[_vm._v(_vm._s(_vm.translations.commonHeight)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(opening.height),expression:\"opening.height\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"min\":\"0\",\"step\":\".1\",\"name\":\"input-height-index\"},domProps:{\"value\":(opening.height)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(opening, \"height\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonMeter))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])}),_c('ValidationProvider',{staticClass:\"wall-section__input-container center\",attrs:{\"rules\":\"min_value:0\",\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar validate = ref.validate;\nreturn [_c('label',{attrs:{\"for\":\"input-quantity-index\"}},[_vm._v(_vm._s(_vm.translations.commonQuantity)+\":\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(opening.quantity),expression:\"opening.quantity\",modifiers:{\"number\":true}},{name:\"debounce\",rawName:\"v-debounce\",value:(_vm.handleInputDebounce),expression:\"handleInputDebounce\"}],staticClass:\"selector__input\",attrs:{\"type\":\"number\",\"name\":\"input-quantity-index\"},domProps:{\"value\":(opening.quantity)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(opening, \"quantity\", _vm._n($event.target.value))},validate],\"blur\":[_vm.tryUpdateConfiguratorValue,function($event){return _vm.$forceUpdate()}]}}),_c('span',{staticClass:\"wall-section__input-unit\"},[_vm._v(_vm._s(_vm.translations.commonPiecesAbbreviation))]),(errors.length > 0)?_c('span',{staticClass:\"selector__input-error-container\"},[_vm._v(_vm._s(errors[0]))]):_vm._e()]}}])})],1)])}),_c('div',{staticClass:\"wall-section__add-opening-container\"},[_c('span',{staticClass:\"wall-section__add-button--small\",on:{\"click\":function($event){$event.preventDefault();return _vm.addOpening(section)}}},[_vm._v(\"+\")])])],2):_vm._e()])}),_c('div',{staticClass:\"wall-section__add-container\"},[_c('span',{staticClass:\"wall-section__add-button\",on:{\"click\":function($event){$event.preventDefault();return _vm.addSection($event)}}},[_vm._v(\"+\")])])],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue} from \"vue-property-decorator\";\r\nimport { ConfiguratorValueUpdateModel, BathroomWallSection, BathroomWallOpening, Constants, BathroomWallSectionModuleModel, BathroomWallModel } from \"../models\";\r\n\r\nimport { productConfiguratorStore as store} from \"./../store\";\r\nimport HtmlElementHelper from \"@/services/HtmlElementHelper\";\r\nimport { ValidationProvider, ValidationObserver, extend } from \"vee-validate\";\r\nimport { min_value, between } from \"vee-validate/dist/rules\";\r\nimport Cookie from \"@/services/Cookie\";\r\n\r\nextend(\"min_value\", {\r\n ...min_value,\r\n message: store.translations.belowAllowedLimitMessage\r\n});\r\n\r\nextend(\"between\", {\r\n ...between,\r\n // message: store.translations.notWithinValidIntervalMessage\r\n});\r\n\r\nextend(\"opening_width_between\", {\r\n ...between,\r\n message: store.translations.invalidBathroomWallOpeningMessage\r\n});\r\n\r\n@Component(\r\n {\r\n components: {\r\n ValidationProvider,\r\n ValidationObserver\r\n }\r\n }\r\n)\r\nexport default class BathroomWallSectionModule extends Vue {\r\n\r\n @Prop()\r\n protected vm!: BathroomWallSectionModuleModel;\r\n protected selectedCustomConfiguratorProductCookie: string = \"\";\r\n\r\n protected bathroomWallModel: BathroomWallModel = {\r\n wallSections: [\r\n {\r\n showOpenings: false,\r\n gableEnd: 0,\r\n wallOpenings: Array()\r\n } as BathroomWallSection\r\n ]} as BathroomWallModel;\r\n\r\n protected validationObs!: InstanceType;\r\n\r\n protected created() {\r\n if (!this.bathroomWallModel.wallSections.length) {\r\n this.addSection();\r\n }\r\n this.getCookie();\r\n }\r\n\r\n protected getCookie() {\r\n this.selectedCustomConfiguratorProductCookie = Cookie.getCookie(\"SelectedCustomConfiguratorProducts-\" + this.vm.configuratorType);\r\n Cookie.applyCustomCookies(this.vm, this.selectedCustomConfiguratorProductCookie, this.bathroomWallModel);\r\n if (this.selectedCustomConfiguratorProductCookie !== \"\") {\r\n this.tryUpdateConfiguratorValue(true);\r\n }\r\n }\r\n\r\n protected mounted() {\r\n this.validationObs = this.$refs.validationObs as InstanceType;\r\n }\r\n\r\n protected addSection() {\r\n this.bathroomWallModel.wallSections.push({showOpenings: false, gableEnd: 0, wallOpenings: Array()} as BathroomWallSection);\r\n }\r\n\r\n protected toggleOpeningSection(section: BathroomWallSection) {\r\n section.showOpenings = !section.showOpenings;\r\n\r\n if (section.showOpenings && !section.wallOpenings.length) {\r\n this.addOpening(section);\r\n }\r\n }\r\n\r\n protected showOpeningSection(section: BathroomWallSection) {\r\n return section.showOpenings;\r\n }\r\n\r\n protected addOpening(section: BathroomWallSection) {\r\n section.wallOpenings.push({ quantity: 1} as BathroomWallOpening);\r\n }\r\n\r\n protected deleteSection(sectionIndex: number) {\r\n const tempSections = this.bathroomWallModel.wallSections;\r\n tempSections.splice(sectionIndex, 1);\r\n this.bathroomWallModel.wallSections = tempSections;\r\n if (!this.bathroomWallModel.wallSections.length) {\r\n this.addSection();\r\n }\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n\r\n protected deleteOpening(openingIndex: number, section: BathroomWallSection) {\r\n section.wallOpenings.splice(openingIndex, 1);\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n\r\n protected getOpeningMaxWidth(section: BathroomWallSection): number {\r\n return section.length;\r\n }\r\n\r\n protected getOpeningMaxHeight(section: BathroomWallSection, opening: BathroomWallOpening): number {\r\n return section.height;\r\n }\r\n\r\n protected tryUpdateConfiguratorValue(isFromCookie: boolean = false) {\r\n if (isFromCookie) {\r\n this.updateConfiguratorValue();\r\n } else {\r\n this.validationObs.validate().then(success => {\r\n if (success) {\r\n if (this.bathroomWallModel.wallSections\r\n .every(s => s.height > 0\r\n && s.length > 0\r\n && (!s.wallOpenings.length || s.wallOpenings.every(wo => wo.width > 0 && wo.height > 0 && wo.quantity > 0)))) {\r\n this.updateConfiguratorValue();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n protected handleInputDebounce(inputValue: any, event: Event) {\r\n if (HtmlElementHelper.isEventTargetFocusedElement(event.target)) {\r\n this.tryUpdateConfiguratorValue();\r\n }\r\n }\r\n\r\n private updateConfiguratorValue() {\r\n const valueDescriptions = this.bathroomWallModel.wallSections\r\n .map(section => {\r\n const gableEndData = this.vm.hideGableInput ? `` : `, ${ this.translations.gableEnd}: ${section.gableEnd ? section.gableEnd : 0 } m `;\r\n return ({\r\n title: section.name ? section.name : this.translations.unnamedBuildingWallSection,\r\n text: `\\n${ store.translations.commonLength}: ${ section.length} m, ${ this.translations.commonHeight}: ${section.height} m${gableEndData}${ section.wallOpenings\r\n .map(opening => `\\n${opening.name ? opening.name : this.translations.unnamedBathroomWallOpening}: ${opening.quantity} ${this.translations.commonPiecesAbbreviation} (${opening.width}x${opening.height} m) `).join(\"\") }\\n\\n`\r\n });\r\n });\r\n\r\n valueDescriptions.unshift({ title: \"\", text: \"\\n\"});\r\n\r\n const updateModel: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: this.bathroomWallModel, valueDescriptions,\r\n propertyName: this.vm.configuratorProperties[0].propertyName, isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModel, true);\r\n }\r\n\r\n get translations() {\r\n return store.translations;\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!./BathroomWallSectionModule.ts?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!./BathroomWallSectionModule.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BathroomWallSectionModule.vue?vue&type=template&id=d87e66cc&\"\nimport script from \"./BathroomWallSectionModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./BathroomWallSectionModule.ts?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',[(_vm.hasDisplayedProducts)?_c('div',{staticClass:\"product-list-module custom-product-list\"},[_c('h3',{staticClass:\"product-list-module__title\"},[_vm._v(_vm._s(_vm.vm.title))]),_c('div',{staticClass:\"product-list-module__products-container\"},_vm._l((_vm.products),function(product){return _c('div',{key:product.articleNumber,staticClass:\"product-list-module__item\",attrs:{\"value\":product}},[_c('div',{staticClass:\"product-list-module__item-container\"},[_c('img',{staticClass:\"product-list-module__image\",attrs:{\"src\":product.imageUrl}}),_c('div',{staticClass:\"product-list-module__item-info\"},[_c('div',{staticClass:\"product-list-module__item-title\"},[_vm._v(\"\\n \"+_vm._s(product.name)+\"\\n \")])]),_c('div',{staticClass:\"product-list-module__button-container\"},[_c('div',{staticClass:\"product-list-module__item-toggle-specification\"},[_c('span',{staticClass:\"product-list-module__item-toggle-specification-button\",class:{ expanded: _vm.showProductSpecification(product) },on:{\"click\":function($event){return _vm.toggleProductSpecification(product)}}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.showProductSpecificationButtonText)+\"\\n \")])]),_c('div',{staticClass:\"button\",class:{ 'buy-button': !_vm.isProductAdded(product) },on:{\"click\":function($event){return _vm.addProduct(product)}}},[_vm._v(\"\\n \"+_vm._s(_vm.getButtonText(product))+\"\\n \")]),_c('div',{staticClass:\"product-list-module__delete\"},[(_vm.isProductAdded(product))?_c('span',{on:{\"click\":function($event){return _vm.removeProduct(product)}}},[_c('i',{staticClass:\"far fa-trash-alt fa-1x\"})]):_vm._e()])])]),(_vm.showProductSpecification(product))?_c('product-specification',{attrs:{\"product\":product}}):_vm._e()],1)}),0)]):_vm._e(),_c('div',{staticClass:\"product-list-module__item-title\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.productListCustomText)+\"\\n \")]),(_vm.selectedBaseProductWidthOptions && _vm.selectedBaseProductWidthOptions.options.length > 0)?_c('div',{staticClass:\"product-configurator__custom-section\"},[_c('span',[_c('h2',[_vm._v(_vm._s(_vm.translations.basicElementsWidthOptionHeader))]),_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.translations.basicElementsWidthOptionText)+\"\\n \")])]),_c('div',{staticClass:\"row selector__container\"},[_c('div',{staticClass:\"selector__radio-container\"},_vm._l((_vm.selectedBaseProductWidthOptions.options),function(option){return _c('div',{key:option,staticClass:\"selector__item radio\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedOptionWidth),expression:\"selectedOptionWidth\"}],attrs:{\"type\":\"radio\"},domProps:{\"value\":option,\"checked\":_vm._q(_vm.selectedOptionWidth,option)},on:{\"change\":[function($event){_vm.selectedOptionWidth=option},_vm.onSelectedChangeWidth]}}),_c('span',{staticClass:\"radio-icon\"}),_c('div',{staticClass:\"selector__option-text\"},[_vm._v(_vm._s(option)+\" mm\")])])])}),0)])]):_vm._e(),(_vm.selectedBaseProductHeightOptions && _vm.selectedBaseProductHeightOptions.options.length > 0)?_c('div',{staticClass:\"product-configurator__custom-section\"},[_c('span',[_c('h2',[_vm._v(_vm._s(_vm.translations.basicElementsHeightOptionHeader))]),_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.translations.basicElementsHeightOptionText)+\"\\n \")])]),_c('div',{staticClass:\"row selector__container\"},[_c('div',{staticClass:\"selector__radio-container\"},_vm._l((_vm.selectedBaseProductHeightOptions.options),function(option){return _c('div',{key:option,staticClass:\"selector__item radio\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedOptionHeight),expression:\"selectedOptionHeight\"}],attrs:{\"type\":\"radio\"},domProps:{\"value\":option,\"checked\":_vm._q(_vm.selectedOptionHeight,option)},on:{\"change\":[function($event){_vm.selectedOptionHeight=option},_vm.onSelectedChangeHeight]}}),_c('span',{staticClass:\"radio-icon\"}),_c('div',{staticClass:\"selector__option-text\"},[_vm._v(_vm._s(option)+\" mm\")])])])}),0)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue} from \"vue-property-decorator\";\r\nimport { ProductListCustomModuleModel, Product, UiState, ConfiguratorValueUpdateModel, VariantHeightOrWeightOptions, configuratorConstants } from \"../models\";\r\nimport { productConfiguratorStore as store } from \"./../store\";\r\nimport ProductSpecification from \"./ProductSpecification\";\r\n\r\n@Component({\r\n components: {\r\n ProductSpecification\r\n }\r\n})\r\nexport default class ProductListCustomModule extends Vue {\r\n @Prop()\r\n protected vm!: ProductListCustomModuleModel;\r\n protected productStates: Array> = [];\r\n protected addedProducts: Product[] = [];\r\n protected selectedProduct: string = \"\";\r\n protected productsBeforeSelection: Product[] = [];\r\n protected selectedOptionWidth: number = 0;\r\n protected selectedOptionHeight: number = 0;\r\n protected selectedBaseProductHeightOptions: VariantHeightOrWeightOptions = {id : \"\", options: []};\r\n protected selectedBaseProductWidthOptions: VariantHeightOrWeightOptions = {id : \"\", options: []};\r\n\r\n\r\n protected created() {\r\n this.selectedProduct = \"\";\r\n\r\n if (this.vm.recommendedSectionProductFromCookie) {\r\n this.selectedProduct = this.vm.recommendedSectionProductFromCookie;\r\n this.getWidthHeightOptions();\r\n const updateModel: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: this.vm.recommendedSectionProductFromCookie ?\r\n this.vm.recommendedSectionProductFromCookie : \"\", valueDescriptions: [{ title: \"\", text: \"\" }],\r\n propertyName: configuratorConstants.RecommendedSectionProducts, isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModel);\r\n }\r\n\r\n if (this.vm.selectedWidthFromCookie) {\r\n this.selectedOptionWidth = this.vm.selectedWidthFromCookie;\r\n const updateModelWidth: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: this.vm.selectedWidthFromCookie ?\r\n this.vm.selectedWidthFromCookie : \"\", valueDescriptions: [{ title: \"\", text: this.vm.selectedWidthFromCookie.toString() }],\r\n propertyName: \"SelectedWidth\", isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModelWidth);\r\n }\r\n\r\n if (this.vm.selectedHeightFromCookie > 0) {\r\n this.selectedOptionHeight = this.vm.selectedHeightFromCookie;\r\n const updateModelHeight: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: this.vm.selectedHeightFromCookie ?\r\n this.vm.selectedHeightFromCookie : \"\", valueDescriptions: [{ title: \"\", text: this.vm.selectedHeightFromCookie.toString() }],\r\n propertyName: configuratorConstants.edgeHeight, isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModelHeight);\r\n }\r\n\r\n this.vm.customProducts.forEach(p => this.productStates.push({ id: p.articleNumber} as UiState));\r\n }\r\n\r\n protected toggleProductSpecification(product: Product) {\r\n const productStateIndex = this.productStates.findIndex(s => s.id === product.articleNumber);\r\n if (productStateIndex !== -1) {\r\n const productState = this.productStates[productStateIndex];\r\n productState.state = !productState.state;\r\n this.productStates.splice(productStateIndex, 1, productState);\r\n }\r\n }\r\n\r\n protected showProductSpecification(product: Product): boolean {\r\n const productState = this.productStates.find(s => s.id === product.articleNumber);\r\n if (productState) {\r\n return productState.state;\r\n }\r\n return false;\r\n }\r\n\r\n protected addProduct(product: Product) {\r\n this.vm.customProducts.map(a => {\r\n a.added = false;\r\n });\r\n this.selectedProduct = \"\";\r\n this.selectedProduct = product.articleNumber;\r\n\r\n this.getWidthHeightOptions();\r\n\r\n const updateModel: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: this.selectedProduct, valueDescriptions: [{ title: \"\", text: \"\" }],\r\n propertyName: configuratorConstants.RecommendedSectionProducts, isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModel, true);\r\n }\r\n\r\n protected removeProduct(product: Product) {\r\n product.added = false;\r\n this.selectedProduct = \"\";\r\n this.getWidthHeightOptions();\r\n const updateModel: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: this.selectedProduct, valueDescriptions: [{ title: \"\", text: \"\" }],\r\n propertyName: configuratorConstants.RecommendedSectionProducts, isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModel, true);\r\n }\r\n\r\n protected isProductAdded(product: Product): boolean {\r\n return store.propertyModelValues.some(x => x.key === configuratorConstants.RecommendedSectionProducts\r\n && x.value && x.value === product.articleNumber);\r\n }\r\n\r\n protected getButtonText(product: Product): string {\r\n if (this.isProductAdded(product)) {\r\n return this.translations.selectedProductButtonText;\r\n }\r\n return this.translations.selectProductButtonText;\r\n }\r\n\r\n protected getWidthHeightOptions() {\r\n if (this.selectedProduct !== \"\") {\r\n const heightOptions = this.vm.customProductsHeightOptions.filter(x => x.id === this.selectedProduct);\r\n const widthOptions = this.vm.customProductsWidthOptions.filter(x => x.id === this.selectedProduct);\r\n if (heightOptions && heightOptions.length > 0) {\r\n this.selectedBaseProductHeightOptions = heightOptions[0];\r\n this.selectedOptionHeight = this.selectedBaseProductHeightOptions ? this.selectedBaseProductHeightOptions.options[0] : 0;\r\n\r\n const updateModel: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: this.selectedOptionHeight, valueDescriptions: [{ title: \"\",\r\n text: this.selectedOptionHeight.toString() }], propertyName: configuratorConstants.edgeHeight, isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModel);\r\n }\r\n if (widthOptions && widthOptions.length > 0) {\r\n this.selectedBaseProductWidthOptions = widthOptions[0];\r\n this.selectedOptionWidth = this.selectedBaseProductWidthOptions ? this.selectedBaseProductWidthOptions.options[0] : 0;\r\n\r\n const updateModel: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: 400, valueDescriptions: [{ title: \"\", text: \"400\" }],\r\n propertyName: configuratorConstants.edgeHeight, isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModel);\r\n }\r\n } else {\r\n this.selectedBaseProductHeightOptions = {id : \"\", options: []};\r\n this.selectedBaseProductWidthOptions = {id : \"\", options: []};\r\n }\r\n }\r\n\r\n protected onSelectedChangeWidth() {\r\n const updateModel: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: this.selectedOptionWidth, valueDescriptions: [{ title: \"\", text: \"\" }],\r\n propertyName: \"SelectedWidth\", isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModel, true);\r\n }\r\n\r\n protected onSelectedChangeHeight() {\r\n const updateModel: ConfiguratorValueUpdateModel = { moduleId: this.vm.id, value: this.selectedOptionHeight, valueDescriptions: [{ title: \"\",\r\n text: this.selectedOptionHeight.toString() }], propertyName: configuratorConstants.edgeHeight, isText: false, resetClimateSavingsCookie: false };\r\n this.$emit(\"update-configurator-value\", updateModel, true);\r\n }\r\n\r\n get products() {\r\n return this.vm.customProducts.sort((a, b) => {\r\n return a.name.localeCompare(b.name, \"sv\", { numeric: true});\r\n });\r\n }\r\n\r\n get hasDisplayedProducts() {\r\n return this.vm.customProducts.length > 0;\r\n }\r\n\r\n get translations() {\r\n return store.translations;\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!./ProductListCustomModule.ts?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!./ProductListCustomModule.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductListCustomModule.vue?vue&type=template&id=17cf47c6&\"\nimport script from \"./ProductListCustomModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductListCustomModule.ts?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',{staticClass:\"product-list-module\"},[_c('h3',{staticClass:\"product-list-module__title\"},[_vm._v(_vm._s(_vm.vm.title))]),_c('div',{staticClass:\"product-list-module__products-container\"},_vm._l((_vm.vm.products),function(product){return _c('div',{key:product.articleNumber,staticClass:\"product-list-module__item\",attrs:{\"value\":product}},[_c('div',{staticClass:\"product-list-module__item-container\"},[_c('img',{staticClass:\"product-list-module__image\",attrs:{\"src\":product.imageUrl}}),_c('div',{staticClass:\"product-list-module__item-info\"},[_c('div',{staticClass:\"product-list-module__item-title\"},[_vm._v(_vm._s(product.name))]),_c('div',{staticClass:\"product-list-module__item-articlenr\"},[_vm._v(\"Art.nr \"+_vm._s(product.articleNumber))])]),(product.carbonSavingsModel && product.carbonSavingsModel.savingsComparedToNonECOVariant > 0 && product.carbonSavingsModel.isCurrentVariantECO)?_c('div',{staticClass:\"product-list__eco-info\"},[_c('div',{staticClass:\"configurator-carbonsavings__container\"},[_c('div',{staticClass:\"carbonsavings__image\",on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(product)}}},[_c('img',{attrs:{\"src\":product.carbonSavingsModel.imageUrl}})]),_c('div',{staticClass:\"carbonsavings__title-container\",on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(product)}}},[_c('div',{staticClass:\"carbonsavings__header\"},[_vm._v(_vm._s(_vm.translations.saveClimateText))]),_c('div',{staticClass:\"carbonsavings__medium-text\"},[_vm._v(_vm._s(_vm.translations.thanksForChoiceText))])]),_c('div',{staticClass:\"configurator-carbonsavings__arrow\",class:{ carbonsavingsexpanded: _vm.showCarbonSavingsInfo(product) },on:{\"click\":function($event){return _vm.toggleCarbonSavingsInfo(product)}}})])]):_vm._e(),_c('div',{staticClass:\"product-list-module__button-container\"},[_c('div',{staticClass:\"product-list-module__item-toggle-specification\"},[_c('span',{staticClass:\"product-list-module__item-toggle-specification-button\",class:{ expanded: _vm.showProductSpecification(product) },on:{\"click\":function($event){return _vm.toggleProductSpecification(product)}}},[_vm._v(\" \"+_vm._s(_vm.translations.showProductSpecificationButtonText)+\"\\n \")])]),_c('div',{staticClass:\"button button-step-by-step-instruction\",class:{ 'buy-button': !_vm.isProductAdded(product)},on:{\"click\":function($event){return _vm.addProduct(product)}}},[_vm._v(\" \"+_vm._s(_vm.getButtonText(product))+\" \")]),_c('div',{staticClass:\"product-list-module__delete\"},[(_vm.isProductAdded(product))?_c('span',{on:{\"click\":function($event){return _vm.removeProduct(product)}}},[_c('i',{staticClass:\"far fa-trash-alt fa-1x\"})]):_vm._e()])]),(_vm.showCarbonSavingsInfo(product))?_c('carbon-savings-calculation',{attrs:{\"quantity\":1,\"calculationCarbonSavingsModel\":product.carbonSavingsModel,\"isConfigurator\":true,\"isProductListModule\":true}}):_vm._e()],1),(_vm.showProductSpecification(product))?_c('product-specification',{attrs:{\"product\":product}}):_vm._e()],1)}),0),_c('div',[_c('add-to-cart-container')],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue} from \"vue-property-decorator\";\r\nimport { Product, UiState, ConfiguratorValueUpdateModel, configuratorConstants, StepByStepInstructionsProductListModuleModel } from \"../models\";\r\nimport { productConfiguratorStore as store } from \"./../store\";\r\nimport HtmlElementHelper from \"@/services/HtmlElementHelper\";\r\nimport ProductSpecification from \"./ProductSpecification\";\r\nimport cart from \"../../../services/Cart\";\r\nimport GoogleEnhancedEcommerce from \"../../../services/GoogleEnhancedEcommerce\";\r\nimport \"whatwg-fetch\";\r\nimport { AddToCartContainer } from \"@/components\";\r\nimport CarbonSavingsCalculation from \"../../../components/ProductPage/CarbonSavingsCalculation\";\r\n\r\n@Component({\r\n components: {\r\n ProductSpecification,\r\n AddToCartContainer,\r\n CarbonSavingsCalculation\r\n }\r\n})\r\nexport default class StepByStepInstructionsProductListModule extends Vue {\r\n @Prop()\r\n protected vm!: StepByStepInstructionsProductListModuleModel;\r\n protected productStates: Array> = [];\r\n protected carbonSavingsProductStates: Array> = [];\r\n protected productsInCookie: string[] = [];\r\n protected readonly googleAnalyticsDimensionIdentifier: string = \"ProductConfiguratorPage\";\r\n\r\n protected created() {\r\n this.vm.products.forEach(p => this.productStates.push({ id: p.articleNumber} as UiState));\r\n this.vm.products.forEach(p => this.carbonSavingsProductStates.push({ id: p.articleNumber} as UiState));\r\n }\r\n\r\n protected mounted() {\r\n const element = document.getElementById(\"hdnCheckCartItems\") as HTMLInputElement;\r\n if (element) {\r\n const elementVal = element.value;\r\n if (elementVal) {\r\n fetch(elementVal as string).then(response => {\r\n response.json().then(jsondata => {\r\n this.vm.products.filter(x => jsondata.indexOf(x.articleNumber) > -1).map(y => {\r\n store.stepByStepInstructionsAddProduct(y);\r\n });\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n protected toggleProductSpecification(product: Product) {\r\n const productStateIndex = this.productStates.findIndex(s => s.id === product.articleNumber);\r\n if (productStateIndex !== -1) {\r\n const productState = this.productStates[productStateIndex];\r\n productState.state = !productState.state;\r\n this.productStates.splice(productStateIndex, 1, productState);\r\n }\r\n }\r\n\r\n protected showProductSpecification(product: Product): boolean {\r\n const productState = this.productStates.find(s => s.id === product.articleNumber);\r\n if (productState) {\r\n return productState.state;\r\n }\r\n return false;\r\n }\r\n\r\n protected addProduct(product: Product) {\r\n cart.addToCart({\r\n quantity: 1,\r\n variantId: product.articleNumber,\r\n variantSystemId: \"\",\r\n });\r\n\r\n const gee = new GoogleEnhancedEcommerce();\r\n gee.PushAddToCartToGoogle(\r\n product.name,\r\n product.articleNumber,\r\n product.productPrice ? product.productPrice.price : 0,\r\n \"\",\r\n 1,\r\n this.googleAnalyticsDimensionIdentifier,\r\n product.productPrice ? product.productPrice.currencyCode : \"\",\r\n window.site.settings.activateProductWebshop ? true : false,\r\n );\r\n\r\n store.stepByStepInstructionsAddProduct(product);\r\n }\r\n\r\n protected removeProduct(product: Product) {\r\n cart.removeFromCart({\r\n quantity: -1,\r\n variantId: product.articleNumber,\r\n variantSystemId: \"\",\r\n });\r\n\r\n store.stepByStepInstructionsRemoveProduct(product);\r\n }\r\n\r\n protected isProductAdded(product: Product): boolean {\r\n return store.stepByStepInstructionsProducts.some(x => x.articleNumber === product.articleNumber);\r\n }\r\n\r\n protected getButtonText(product: Product): string {\r\n if (this.isProductAdded(product)) {\r\n return this.translations.addedProductButtonText;\r\n }\r\n return this.translations.addToCartButtonText;\r\n }\r\n\r\n protected handleQuantityUpdate(event: Event, product: Product) {\r\n if (event.target instanceof HTMLInputElement && !HtmlElementHelper.isValidNumberInput(event.target)) {\r\n product.confirmedQuantity = Number(event.target.min);\r\n }\r\n\r\n if (product.confirmedQuantity === 0) {\r\n this.removeProduct(product);\r\n }\r\n }\r\n\r\n protected getCarbonSavingsProductState(product: Product) {\r\n return this.carbonSavingsProductStates.find(ps => ps.id === product.articleNumber);\r\n }\r\n\r\n protected toggleCarbonSavingsInfo(product: Product) {\r\n const productStateIndex = this.carbonSavingsProductStates.findIndex(s => s.id === product.articleNumber);\r\n if (productStateIndex !== -1) {\r\n const productState = this.carbonSavingsProductStates[productStateIndex];\r\n productState.state = !productState.state;\r\n this.carbonSavingsProductStates.splice(productStateIndex, 1, productState);\r\n }\r\n }\r\n\r\n protected showCarbonSavingsInfo(product: Product): boolean {\r\n const productState = this.getCarbonSavingsProductState(product);\r\n if (productState) {\r\n return productState.state;\r\n }\r\n return false;\r\n }\r\n\r\n get translations() {\r\n return store.translations;\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!./StepByStepInstructionsProductListModule.ts?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!./StepByStepInstructionsProductListModule.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StepByStepInstructionsProductListModule.vue?vue&type=template&id=7f370998&\"\nimport script from \"./StepByStepInstructionsProductListModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./StepByStepInstructionsProductListModule.ts?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","import { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport http from \"@/services/Http\";\r\nimport * as Models from \"./models\";\r\nimport { productConfiguratorStore as store } from \"./store\";\r\nimport Cookie from \"@/services/Cookie\";\r\n\r\n// Modules\r\nimport RadioButtonInputModule from \"./components/RadioButtonInputModule\";\r\nimport ImageInputModule from \"./components/ImageInputModule\";\r\nimport TextInputModule from \"./components/TextInputModule\";\r\nimport ContentModule from \"./components/ContentModule\";\r\nimport ProductListModule from \"./components/ProductListModule\";\r\nimport ProductSummaryModule from \"./components/ProductSummaryModule\";\r\nimport SelectedOptionsSummaryModule from \"./components/SelectedOptionsSummaryModule\";\r\nimport StraightWallSectionModule from \"./components/StraightWallSectionModule\";\r\nimport CurvedWallSectionModule from \"./components/CurvedWallSectionModule\";\r\nimport BuildingOutdoorWallSectionModule from \"./components/BuildingOutdoorWallSectionModule\";\r\nimport BuildingIndoorWallSectionModule from \"./components/BuildingIndoorWallSectionModule\";\r\nimport BathroomWallSectionModule from \"./components/BathroomWallSectionModule\";\r\nimport ProductListCustomModule from \"./components/ProductListCustomModule\";\r\nimport StepByStepInstructionsProductListModule from \"./components/StepByStepInstructionsProductListModule\";\r\nimport { EventBus } from \"../../events\";\r\nimport { configuratorConstants } from \"./models\";\r\nimport { CarbonSavingsModel } from \"@/models/product\";\r\n\r\n@Component({\r\n components: {\r\n RadioButtonInputModule,\r\n ImageInputModule,\r\n TextInputModule,\r\n ContentModule,\r\n ProductListModule,\r\n ProductSummaryModule,\r\n SelectedOptionsSummaryModule,\r\n StraightWallSectionModule,\r\n CurvedWallSectionModule,\r\n BuildingOutdoorWallSectionModule,\r\n BuildingIndoorWallSectionModule,\r\n BathroomWallSectionModule,\r\n ProductListCustomModule,\r\n StepByStepInstructionsProductListModule,\r\n }\r\n})\r\nexport default class ProductConfigurator extends Vue {\r\n protected vm: Models.ProductConfiguratorModel = { } as Models.ProductConfiguratorModel;\r\n protected activeStepIndex: number = 0;\r\n protected translationModel: Models.TranslationModel = {} as Models.TranslationModel;\r\n protected displayQuantityChangedMessage: boolean = false;\r\n protected availableProducts: Models.Product[] = [];\r\n protected addedProductsInSession: Models.Product[] = [];\r\n protected selectedConfiguratorProductCookie: string = \"\";\r\n protected selectedCustomConfiguratorProductCookie: string = \"\";\r\n protected isMandatoryStepPropertyValuesSet: boolean = false;\r\n protected sharedConfiguratorInfoFound: boolean = false;\r\n private apiUrl: string = store.apiUrl;\r\n private readonly quantityChangedModalName: string = \"info-message--quantity\";\r\n private selectedConfiguratorProducts: string = \"SelectedConfiguratorProducts-\";\r\n private selectedCustomConfiguratorProducts: string = \"SelectedCustomConfiguratorProducts-\";\r\n\r\n protected checkMandatoryStepPropertyValuesSet() {\r\n if (this.cookieExists()) {\r\n let cookieStringList = Cookie.getCookieStringList(this.selectedConfiguratorProducts);\r\n const cookieCustomStringList = Cookie.getCookieStringList(this.selectedCustomConfiguratorProducts);\r\n cookieStringList = cookieStringList.concat(cookieCustomStringList);\r\n this.isMandatoryStepPropertyValuesSet = this.isConfigIncluded(cookieStringList);\r\n }\r\n const valueDefinedProperties = store.configuratorValues.filter(x => x.value && x.valueDescriptions).map(x => x.property.propertyName);\r\n this.isMandatoryStepPropertyValuesSet = this.isConfigIncluded(valueDefinedProperties);\r\n }\r\n\r\n protected isConfigIncluded(configList: any): boolean {\r\n let containsGroundShapeOrCorners = false;\r\n return this.vm.steps[this.activeStepIndex]\r\n .sections.every(section =>\r\n section.modules.every(module => !module.configuratorProperties || module.configuratorProperties.filter(x => x.mandatory).every(prop => {\r\n const propValue = store.configuratorValues.filter(x => x.property.propertyName === configuratorConstants.PlasteredIndoorWallSides);\r\n if (propValue && propValue[0] && propValue[0].value === configuratorConstants.PlasteredIndoorWallSidesNone) {\r\n return true;\r\n }\r\n\r\n if (prop.propertyName === configuratorConstants.GroundShape || prop.propertyName === configuratorConstants.OuterCorners\r\n || prop.propertyName === configuratorConstants.InnerCorners) {\r\n containsGroundShapeOrCorners = configList.includes(configuratorConstants.OuterCorners)\r\n || configList.includes(configuratorConstants.GroundShape);\r\n return containsGroundShapeOrCorners;\r\n }\r\n\r\n return configList.includes(prop.propertyName);\r\n })));\r\n }\r\n\r\n get products() {\r\n return store.products;\r\n }\r\n\r\n get translations() {\r\n return store.translations;\r\n }\r\n\r\n protected created() {\r\n this.translationModel = store.translations;\r\n this.sharedConfiguratorInfoFound = window.location.href.indexOf(\"shareId\") > -1 ? this.$attrs.sharedconfiguratorinfofound.toLowerCase() === \"true\" : true;\r\n http.get(this.apiUrl)\r\n .then(data => {\r\n this.vm = data;\r\n this.selectedConfiguratorProducts += this.vm.configuratorType;\r\n this.selectedCustomConfiguratorProducts += this.vm.configuratorType;\r\n this.getCookie();\r\n store.addPropertyGroups(data.propertyGroups);\r\n this.initiateConfigurator();\r\n this.calculateProductQuantity();\r\n\r\n if (this.vm.configuratorType === \"BathroomProductSelector\") {\r\n this.checkMandatoryStepPropertyValuesSet();\r\n } else if (this.vm.configuratorType === configuratorConstants.StepByStepInstructions) {\r\n this.isMandatoryStepPropertyValuesSet = true;\r\n }\r\n\r\n if (!isNaN(data.plasticBoardPercentage) && data.plasticBoardPercentage > 0) {\r\n this.updateFieldValuesFromSettings(configuratorConstants.PlasticBoardPercentage, data.plasticBoardPercentage);\r\n }\r\n\r\n if (!isNaN(data.securityMargin) && data.securityMargin > 0) {\r\n this.updateFieldValuesFromSettings(configuratorConstants.SecurityMargin, data.securityMargin);\r\n }\r\n\r\n if (data.materialConsumptionFactorOutdoorWall && Number(data.materialConsumptionFactorOutdoorWall.toString().replace(\",\", \".\")) > 0) {\r\n this.updateFieldValuesFromSettings(configuratorConstants.MaterialConsumptionFactorOutdoorWall, data.materialConsumptionFactorOutdoorWall);\r\n }\r\n\r\n if (data.materialConsumptionFactorIndoorWall && Number(data.materialConsumptionFactorIndoorWall.toString().replace(\",\", \".\")) > 0) {\r\n this.updateFieldValuesFromSettings(configuratorConstants.MaterialConsumptionFactorIndoorWall, data.materialConsumptionFactorIndoorWall);\r\n }\r\n\r\n if (data.materialConsumptionFactorExaktOutdoorWall && Number(data.materialConsumptionFactorExaktOutdoorWall.toString().replace(\",\", \".\")) > 0) {\r\n this.updateFieldValuesFromSettings(configuratorConstants.MaterialConsumptionFactorExaktOutdoorWall, data.materialConsumptionFactorExaktOutdoorWall);\r\n }\r\n\r\n if (data.cornerBlockOpeningBlockQuantityFactor && Number(data.cornerBlockOpeningBlockQuantityFactor.toString().replace(\",\", \".\")) > 0) {\r\n this.updateFieldValuesFromSettings(configuratorConstants.CornerBlockOpeningBlockQuantityFactor, data.cornerBlockOpeningBlockQuantityFactor);\r\n }\r\n\r\n if (data.adjustmentFactorForNormalBlockPassPicker && Number(data.adjustmentFactorForNormalBlockPassPicker.toString().replace(\",\", \".\")) > 0) {\r\n this.updateFieldValuesFromSettings(configuratorConstants.AdjustmentFactorForNormalBlockPassPicker, data.adjustmentFactorForNormalBlockPassPicker);\r\n }\r\n });\r\n }\r\n\r\n protected updateFieldValuesFromSettings(name: string, data: any) {\r\n const updateModel: Models.ConfiguratorValueUpdateModel = { moduleId: \"\", value: data, valueDescriptions: [{ title: \"\", text: \"\" }],\r\n propertyName: name, isText: false, resetClimateSavingsCookie: false };\r\n this.updateConfiguratorValue(updateModel);\r\n }\r\n\r\n protected replaceECOVariants() {\r\n const ecoVarintCookie = Cookie.getCookie(this.vm.configuratorType + configuratorConstants.ECOProductCookieSuffix);\r\n const productsData = ecoVarintCookie.split(\"$\");\r\n productsData.map(product => {\r\n const articleNumbers = product.split(\"-\");\r\n this.remapToDifferentVariant(articleNumbers[0], articleNumbers[1], false, Number(articleNumbers[2]));\r\n });\r\n }\r\n\r\n protected mounted() {\r\n EventBus.$on(\"selectedECOvariant\", (carbonSavingsModel: CarbonSavingsModel, quantity: number) => {\r\n this.remapToDifferentVariant(carbonSavingsModel.currentVariantId, carbonSavingsModel.ecoVariantId, true, carbonSavingsModel.packagingFactor);\r\n });\r\n }\r\n\r\n protected remapToDifferentVariant(fromVariantId: string, toVariantId: string, updateCookie: boolean, packagingFactor: number) {\r\n const fromProduct = this.vm.products.find(x => x.articleNumber === fromVariantId);\r\n\r\n if (fromProduct) {\r\n http.get(this.apiUrl + \"/getproducttoreplace/\" + toVariantId).then(productData => {\r\n if (productData) {\r\n productData.calculatedQuantity = Math.ceil(fromProduct.calculatedQuantity * packagingFactor);\r\n productData.confirmedQuantity = Math.ceil(fromProduct.confirmedQuantity * packagingFactor);\r\n productData.added = true;\r\n if (fromProduct.calculatedQuantity > 0) {\r\n store.addProduct(productData);\r\n store.removeProduct(fromProduct);\r\n\r\n if (updateCookie) {\r\n Cookie.CreateCarbonSavingsCookie(store.configuratorType + configuratorConstants.ECOProductCookieSuffix, fromVariantId, toVariantId, packagingFactor);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n protected initiateConfigurator() {\r\n store.setConfiguratorType(this.vm.configuratorType);\r\n this.availableProducts = [...this.vm.products];\r\n this.vm.steps.forEach(step => step.sections.forEach(section => section.modules.forEach(module => {\r\n if (module.moduleType === Models.ProductConfiguratorModuleType.ProductListModule) {\r\n const productListModule = module as Models.ProductListModuleModel;\r\n store.addProductListModule(productListModule);\r\n this.availableProducts.push(...productListModule.products);\r\n }\r\n\r\n if (module.moduleType === Models.ProductConfiguratorModuleType.StepByStepInstructionsProductListModule) {\r\n const stepProductListModule = module as Models.ProductListModuleModel;\r\n this.availableProducts.push(...stepProductListModule.products);\r\n }\r\n\r\n if (module.configuratorProperties) {\r\n module.configuratorProperties.forEach(property =>\r\n store.addConfiguratorValue({ id: module.id, value: undefined, valueDescriptions: [], property}));\r\n }\r\n\r\n if (!store.configuratorValues.find(x => x.property.propertyName === configuratorConstants.recommendedProductSelected)) {\r\n const recommendedProductSelectedProperty: Models.ConfiguratorProperty = {\r\n propertyName: configuratorConstants.recommendedProductSelected,\r\n description: configuratorConstants.recommendedProductSelected,\r\n mandatory: false,\r\n sortIndex: 0,\r\n } as Models.ConfiguratorProperty;\r\n store.addConfiguratorValue({ id: module.id, value: undefined, valueDescriptions: [], property: recommendedProductSelectedProperty});\r\n }\r\n }\r\n )\r\n )\r\n );\r\n\r\n if (window.location.href.indexOf(\"shareId\") > -1 && this.sharedConfiguratorInfoFound) {\r\n this.setActiveStep(this.vm.steps.length - 1);\r\n }\r\n }\r\n\r\n protected updateConfiguratorValue(value: Models.ConfiguratorValueUpdateModel, setLocalStorage: boolean = false) {\r\n store.updateConfiguratorValue(value).then(() => {\r\n if (value.propertyName === configuratorConstants.GroundShape) {\r\n EventBus.$emit(\"updateoutercorners\");\r\n }\r\n if (value.propertyName === configuratorConstants.OuterCorners || value.propertyName === configuratorConstants.InnerCorners) {\r\n EventBus.$emit(\"updategroundshape\");\r\n }\r\n if (value.propertyName === configuratorConstants.FloorType) {\r\n EventBus.$emit(\"onfloortypeupdate\");\r\n }\r\n\r\n if (value.resetClimateSavingsCookie) {\r\n Cookie.removeCookies([store.configuratorType + configuratorConstants.ECOProductCookieSuffix]);\r\n this.$forceUpdate();\r\n }\r\n\r\n this.clearHiddenSectionPropertyValues();\r\n this.calculateProductQuantity();\r\n if (setLocalStorage) {\r\n this.setCookie(value);\r\n }\r\n\r\n this.checkMandatoryStepPropertyValuesSet();\r\n });\r\n }\r\n\r\n protected setCookie(value: any) {\r\n if ((value.value.wallSections as Models.BuildingWallSection) !== undefined) {\r\n this.selectedCustomConfiguratorProductCookie = Cookie.setCookie(this.selectedCustomConfiguratorProductCookie, value, this.selectedCustomConfiguratorProducts);\r\n } else {\r\n this.selectedConfiguratorProductCookie = Cookie.setCookie(this.selectedConfiguratorProductCookie, value, this.selectedConfiguratorProducts);\r\n }\r\n }\r\n\r\n protected getCookie() {\r\n this.selectedConfiguratorProductCookie = Cookie.getCookie(this.selectedConfiguratorProducts);\r\n this.selectedCustomConfiguratorProductCookie = Cookie.getCookie(this.selectedCustomConfiguratorProducts);\r\n }\r\n\r\n protected calculateProductQuantity() {\r\n if (this.availableProducts.length) {\r\n const request: Models.CalculateProductQuantityRequestModel = {\r\n products: this.availableProducts,\r\n configuratorValues: store.configuratorValues\r\n };\r\n\r\n http.post(this.apiUrl + \"/calculateproductquantity\", request)\r\n .then(data => {\r\n const moduleProductsWithoutAutoAdd: Models.CoreProduct[] = [];\r\n\r\n store.productListModules.forEach(productListModule => {\r\n const moduleProducts = data.products.filter(p => productListModule.products.map(x => x.articleNumber).includes(p.articleNumber));\r\n moduleProducts.forEach(p => {\r\n if (!productListModule.autoAddProducts) {\r\n moduleProductsWithoutAutoAdd.push(p);\r\n }\r\n this.handleProductUpdate(p, productListModule.autoAddProducts);\r\n });\r\n });\r\n\r\n const configuratorProducts = data.products.filter(p => this.availableProducts.map(x => x.articleNumber).includes(p.articleNumber));\r\n configuratorProducts.forEach(p => {\r\n let autoAddIndicator = true;\r\n if (store.configuratorType === configuratorConstants.BasicElementsProductSelector) {\r\n if (moduleProductsWithoutAutoAdd && moduleProductsWithoutAutoAdd.map(x => x.articleNumber).includes(p.articleNumber)) {\r\n autoAddIndicator = false;\r\n }\r\n }\r\n\r\n if (store.configuratorType === configuratorConstants.BuildingProductSelector) {\r\n if (moduleProductsWithoutAutoAdd && !moduleProductsWithoutAutoAdd.map(x => x.articleNumber).includes(p.articleNumber)) {\r\n autoAddIndicator = true;\r\n }\r\n }\r\n this.handleProductUpdate(p, autoAddIndicator);\r\n });\r\n\r\n data.propertyModelValues.forEach(prop => store.addPropertyModelValue(prop));\r\n this.replaceECOVariants();\r\n if (data.changeCalculatedPlaster) {\r\n const remapFromProducts = this.availableProducts.filter(x => x.changeToPlasterProduct !== \"\");\r\n if (remapFromProducts) {\r\n remapFromProducts.map(x => {\r\n this.remapToDifferentVariant(x.articleNumber, x.changeToPlasterProduct, true, 1);\r\n });\r\n }\r\n }\r\n })\r\n .then(() => {\r\n if (this.displayQuantityChangedMessage) {\r\n this.showQuantityChangedModal();\r\n }\r\n });\r\n }\r\n }\r\n\r\n protected setActiveStep(stepIndex: number) {\r\n EventBus.$emit(\"stepchanged\");\r\n this.activeStepIndex = stepIndex;\r\n }\r\n\r\n protected displayNextStepButton(step: Models.Step): boolean {\r\n return this.activeStepIndex < this.vm.steps.length && step.displayNextStepButton;\r\n }\r\n\r\n protected cookieExists(): boolean {\r\n return this.selectedConfiguratorProductCookie !== \"\" || this.selectedCustomConfiguratorProductCookie !== \"\";\r\n }\r\n\r\n protected getModuleComponent(module: Models.Module) {\r\n return Models.ProductConfiguratorModuleType[module.moduleType];\r\n }\r\n\r\n protected getModuleProps(module: Models.Module) {\r\n return { vm: module };\r\n }\r\n\r\n protected goToStep(stepIndex: number) {\r\n this.setActiveStep(stepIndex);\r\n this.scrollToElement(\"progress-bar\");\r\n this.checkMandatoryStepPropertyValuesSet();\r\n }\r\n\r\n protected scrollToElement(elementRef: string) {\r\n const element = this.$refs[elementRef] as HTMLElement;\r\n if (element) {\r\n window.scrollTo(0, element.offsetTop);\r\n }\r\n }\r\n\r\n protected hideQuantityChangedModal() {\r\n this.displayQuantityChangedMessage = false;\r\n this.$modal.hide(this.quantityChangedModalName);\r\n }\r\n\r\n protected showQuantityChangedModal() {\r\n this.$modal.show(this.quantityChangedModalName);\r\n }\r\n\r\n protected visibleSections(step: Models.Step) {\r\n return step.sections.filter(section => !section.conditionalPropertyValues.length ||\r\n section.conditionalPropertyValues\r\n .every(cpv => store.propertyModelValues\r\n .some(cv => cv.key === cpv.propertyName && cpv.validPropertyValues.some(value => {\r\n if (cv.key === configuratorConstants.recommendedProductSelected && cv.value !== \"null\") {\r\n if (cv.value) {\r\n const valueToCheck = cv.value.replace(\"null\", \"\");\r\n if (valueToCheck !== null) {\r\n if (value.indexOf(\"<>\") > -1) {\r\n return valueToCheck === \"\" || valueToCheck.indexOf(value.replace(\"<>\", \"\") + \"$\") < 0;\r\n } else {\r\n return (value.indexOf(\";\") > -1 ? ((value.split(\";\").some(a => a !== \"\" && valueToCheck.toString().indexOf(a + \"$\") > -1)) || (value === \"*\" && valueToCheck))\r\n : (value + \"$\" === valueToCheck.toString() || valueToCheck.toString().indexOf(value + \"$\") > -1 || (value === \"*\" && valueToCheck)));\r\n }\r\n }\r\n } else {\r\n if (value.indexOf(\"<>\") > -1) {\r\n return true;\r\n }\r\n }\r\n }\r\n return cv.value !== null &&\r\n (value.indexOf(\";\") > -1 ? ((value.split(\";\").some(a => a === cv.value.toString())) || (value === \"*\" && cv.value))\r\n : (value === cv.value.toString() || (value === \"*\" && cv.value)));\r\n })\r\n )\r\n )\r\n );\r\n }\r\n\r\n private clearHiddenSectionPropertyValues() {\r\n this.vm.steps.forEach(step => {\r\n const hiddenSections = step.sections.filter(section => !this.visibleSections(step).map(x => x.id).includes(section.id));\r\n\r\n hiddenSections.forEach(section =>\r\n section.modules.forEach(module => {\r\n if (module.configuratorProperties) {\r\n module.configuratorProperties.filter(a => a.propertyName !== configuratorConstants.PlasticBoardPercentage\r\n && a.propertyName !== configuratorConstants.SecurityMargin\r\n && !a.settingsProperty)\r\n .forEach(p =>\r\n store.updateConfiguratorValue({ moduleId: module.id, propertyName: p.propertyName, value: undefined, valueDescriptions: [], isText: false,\r\n resetClimateSavingsCookie: false })\r\n );\r\n }\r\n })\r\n );\r\n });\r\n }\r\n\r\n private handleProductUpdate(coreProduct: Models.CoreProduct, autoAddProduct: boolean) {\r\n const storedProduct = this.products.find(p => p.articleNumber === coreProduct.articleNumber);\r\n const product = this.getProductFromCoreProduct(coreProduct);\r\n\r\n if (product) {\r\n product.calculatedQuantity = coreProduct.calculatedQuantity;\r\n product.confirmedQuantity = coreProduct.confirmedQuantity;\r\n\r\n if (configuratorConstants.BuildingConfiguratorautoAddProducts.indexOf(product.articleNumber + \";\") > -1\r\n && product.calculatedQuantity > 0 && store.configuratorType === configuratorConstants.BuildingProductSelector) {\r\n product.added = true;\r\n }\r\n\r\n if (storedProduct) {\r\n if (product.calculatedQuantity === 0) {\r\n store.removeProduct(product);\r\n return;\r\n }\r\n\r\n product.added = storedProduct.added;\r\n\r\n if (storedProduct.calculatedQuantity !== product.calculatedQuantity) {\r\n if (storedProduct.confirmedQuantity !== storedProduct.calculatedQuantity) {\r\n this.displayQuantityChangedMessage = true;\r\n }\r\n\r\n store.addProduct(product);\r\n }\r\n\r\n } else {\r\n if (product.calculatedQuantity > 0) {\r\n if (autoAddProduct) {\r\n product.added = true;\r\n }\r\n\r\n if (store.configuratorType === configuratorConstants.BuildingProductSelector) {\r\n if (store.propertyModelValues.filter(x => x.key === configuratorConstants.recommendedProductSelected)[0]) {\r\n if (store.propertyModelValues.filter(x => x.key === configuratorConstants.recommendedProductSelected)[0].value &&\r\n store.propertyModelValues.filter(x => x.key === configuratorConstants.recommendedProductSelected)[0].value.indexOf(product.articleNumber + \"$\") > -1) {\r\n product.added = true;\r\n }\r\n }\r\n }\r\n store.addProduct(product);\r\n }\r\n }\r\n }\r\n }\r\n\r\n private getProductFromCoreProduct(coreProduct: Models.CoreProduct) {\r\n return this.availableProducts.find(p => p.articleNumber === coreProduct.articleNumber);\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!./ProductConfigurator.ts?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!./ProductConfigurator.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductConfigurator.vue?vue&type=template&id=5bffcf94&\"\nimport script from \"./ProductConfigurator.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductConfigurator.ts?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',{staticClass:\"row\"},[_c('div',{staticClass:\"columns small-12 medium-6 medium-offset-3 small-offset-0\"},[_c('h3',[_vm._v(_vm._s(_vm.labelText))]),_c('div',{staticClass:\"row form campaign\",attrs:{\"data-validationgroup\":\"campaigncode\"}},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"small-8 columns\"},[_c('div',[_c('label',{staticClass:\"structural\",attrs:{\"for\":\"voucher-code\"}},[_vm._v(\"\\n \"+_vm._s(_vm.labelText)+\"\\n \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.voucherCode),expression:\"voucherCode\"}],attrs:{\"type\":\"text\",\"id\":\"voucher-code\",\"name\":\"voucher-code\"},domProps:{\"value\":(_vm.voucherCode)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.applyCampaignCode($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.voucherCode=$event.target.value}}}),(_vm.voucherCodeResult != '')?_c('div',[_vm._v(_vm._s(_vm.voucherCodeResult))]):_vm._e()])]),_c('div',{staticClass:\"small-4 columns\"},[_c('a',{staticClass:\"button submit campaign-code-button\",attrs:{\"data-validationgroup\":\"campaigncode\"},on:{\"click\":_vm.applyCampaignCode}},[_vm._v(\"\\n \"+_vm._s(_vm.buttonText)+\"\\n \")])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {appStore} from \"../store/AppModule\";\r\nimport { Component, Vue} from \"vue-property-decorator\";\r\nimport http from \"../services/Http\";\r\nimport { CheckoutTranslationModel as TranslationModel } from \"../models/deliveryModel\";\r\nimport { VoucherCodeResult } from \"../models/common\";\r\nimport { EventBus } from \"../events\";\r\n\r\n\r\n@Component\r\nexport default class VoucherCampaign extends Vue {\r\n protected translations: TranslationModel;\r\n private labelText: string = \"\";\r\n private buttonText: string = \"\";\r\n private voucherCode: string = \"\";\r\n private voucherCodeResult: string = \"\";\r\n\r\n private url: string = window.location.origin + window.location.pathname;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected created() {\r\n this.labelText = this.$attrs.labeltext;\r\n this.buttonText = this.$attrs.buttontext;\r\n }\r\n protected applyCampaignCode() {\r\n const request = {\r\n campaignCode: this.voucherCode\r\n };\r\n http.post(`${this.url}.setCampaignCode`, request)\r\n .then(r => {\r\n this.voucherCodeResult = r.message;\r\n if (r.success) {\r\n EventBus.$emit(\"refreshCartSummary\");\r\n EventBus.$emit(\"refreshDeliverySelector\");\r\n }\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!./VoucherCampaign.ts?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!./VoucherCampaign.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./VoucherCampaign.vue?vue&type=template&id=74f1e398&\"\nimport script from \"./VoucherCampaign.ts?vue&type=script&lang=ts&\"\nexport * from \"./VoucherCampaign.ts?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 _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row-inner\"},[_c('div',{attrs:{\"id\":\"klarna-widget\"}})])}]\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop} from \"vue-property-decorator\";\r\nimport http from \"@/services/Http\";\r\nimport { KlarnaCheckoutWidget } from \"@/models/KlarnaCheckout\";\r\nimport { KlarnaCheckoutApi } from \"@/models/KlarnaCheckout\";\r\nimport { EventBus } from \"@/events\";\r\n\r\n@Component\r\nexport default class PaymentMethod extends Vue {\r\n protected forceKlarnaRerender: boolean = false;\r\n private url: string = window.location.origin + window.location.pathname;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected mounted() {\r\n this.getKlarnaCheckout();\r\n\r\n EventBus.$on(\"refreshCartSummary\", (variantId: string) => {\r\n this.getKlarnaCheckout();\r\n });\r\n }\r\n\r\n protected getKlarnaCheckout() {\r\n http.get(`${this.url}.GetKlarnaCheckout`)\r\n .then(r => {\r\n if (window._klarnaCheckout && !this.forceKlarnaRerender) {\r\n window._klarnaCheckout((api: KlarnaCheckoutApi) => {\r\n api.resume();\r\n });\r\n } else {\r\n $(\"#klarna-widget\").append(r.widget);\r\n $(\"#klarna-widget\")[0].scrollIntoView();\r\n if (this.forceKlarnaRerender) {\r\n this.forceKlarnaRerender = false;\r\n }\r\n }\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!./PaymentMethod.ts?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!./PaymentMethod.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PaymentMethod.vue?vue&type=template&id=d778f68a&\"\nimport script from \"./PaymentMethod.ts?vue&type=script&lang=ts&\"\nexport * from \"./PaymentMethod.ts?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('hr',{staticClass:\"reseller-total-sum__line\"}),_c('div',{staticClass:\"reseller-checkout__cost-container\"},[_c('div',{staticClass:\"reseller-checkout__weight-text shopping-cart-row-padding reseller-total-sum__label\"},[_vm._v(_vm._s(_vm.jeevesResult.WeightString))])]),_c('div',{staticClass:\"total-price reseller-checkout__cost-container\"},[_c('div',{staticClass:\"reseller-total-sum__label shopping-cart-row-padding\"},[_vm._v(_vm._s(_vm.translations.sumText)+\" \\n \"),_c('span',{staticClass:\"reseller-total-sum__text\"},[_vm._v(\"(\"+_vm._s(_vm.hasPalletSharingFee ? _vm.translations.excludeShippingAndPalletSharingFee : _vm.translations.excludeShippingText)+\")\")])]),_c('div',{staticClass:\"text-right shopping-cart-row-padding\"},[_vm._v(_vm._s(_vm.orderRowTotal))])]),(_vm.jeevesResult.PalletCost)?_c('div',{staticClass:\"reseller-checkout__cost-container\"},[_c('div',{staticClass:\"reseller-total-sum__label shopping-cart-row-padding\"},[_vm._v(_vm._s(_vm.jeevesResult.PalletString))]),_c('div',{staticClass:\"text-right shopping-cart-row-padding\"},[_vm._v(_vm._s(_vm.palletCost)+\" \"+_vm._s(_vm.currencyCode))])]):_vm._e(),(_vm.palletSplitFee && _vm.hasPalletSharingFee)?_c('div',{staticClass:\"pallet-sharing-fee reseller-checkout__cost-container\"},[_c('div',{staticClass:\"reseller-total-sum__label shopping-cart-row-padding\"},[_vm._v(_vm._s(_vm.translations.palletSharingFeeText))]),_c('div',{staticClass:\"text-right shopping-cart-row-padding\"},[_vm._v(_vm._s(_vm.palletSplitFee))])]):_vm._e(),(_vm.freightServiceCost)?_c('div',{staticClass:\"pallet-sharing-fee reseller-checkout__cost-container\"},[_c('div',{staticClass:\"reseller-total-sum__label shopping-cart-row-padding\"},[_vm._v(_vm._s(_vm.jeevesResult.FreightServiceString))]),_c('div',{staticClass:\"text-right shopping-cart-row-padding\"},[_vm._v(_vm._s(_vm.freightServiceCost)+\" \"+_vm._s(_vm.currencyCode))])]):_vm._e(),(_vm.jeevesResult.FreightCost)?_c('div',{staticClass:\"reseller-checkout__cost-container\"},[_c('div',{staticClass:\"reseller-total-sum__label shopping-cart-row-padding\"},[_c('div',[_vm._v(_vm._s(_vm.jeevesResult.FreightString))]),_c('div',{staticClass:\"reseller-checkout__warning-text\"},[_vm._v(_vm._s(_vm.jeevesResult.WarningString))])]),_c('div',{staticClass:\"text-right shopping-cart-row-padding\"},[_vm._v(_vm._s(_vm.freightCost)+\" \"+_vm._s(_vm.currencyCode))])]):_vm._e(),(_vm.total && _vm.orderRowTotal !== _vm.total)?_c('div',{staticClass:\"total-price reseller-checkout__cost-container\"},[_c('div',{staticClass:\"reseller-total-sum__label shopping-cart-row-padding\"},[_vm._v(_vm._s(_vm.translations.sumText))]),_c('div',{staticClass:\"text-right shopping-cart-row-padding\"},[_vm._v(\" \"+_vm._s(_vm.total))])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue} from \"vue-property-decorator\";\r\nimport { TranslationModel } from \"../../../models/product\";\r\nimport http from \"@/services/Http\";\r\nimport { CheckoutCost, FreightCostCheckoutResponse } from \"@/models/checkoutFreight\";\r\nimport { EventBus } from \"@/events\";\r\nimport { appStore } from \"@/store/AppModule\";\r\n\r\n@Component\r\nexport default class CheckoutSummary extends Vue {\r\n protected vm: any = {};\r\n protected total: string = \"\";\r\n protected orderRowTotal: string = \"\";\r\n protected palletSplitFee: string = \"\";\r\n protected hasPalletSharingFee: boolean = false;\r\n protected zipCode: string = \"\";\r\n protected translations: TranslationModel;\r\n protected jeevesResult: CheckoutCost = {} as CheckoutCost;\r\n protected currencyCode: string = \"\";\r\n protected palletCost: string = \"\";\r\n protected freightCost: string = \"\";\r\n protected freightServiceCost: string = \"\";\r\n\r\n private url: string = window.location.origin + window.location.pathname;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__finja.translations as TranslationModel;\r\n }\r\n\r\n protected created() {\r\n this.total = this.$attrs.total;\r\n this.orderRowTotal = this.$attrs.orderrowtotal;\r\n this.palletSplitFee = this.$attrs.palletsplitfee;\r\n this.hasPalletSharingFee = this.$attrs.haspalletsharingfee === \"true\";\r\n this.zipCode = this.$attrs.zipcode;\r\n this.currencyCode = this.$attrs.currencycode;\r\n }\r\n\r\n protected mounted() {\r\n this.getCheckoutFreightCost();\r\n\r\n EventBus.$on(\"refreshCartSummary\", (variantId: string) => {\r\n this.getCheckoutFreightCost();\r\n });\r\n }\r\n\r\n protected getCheckoutFreightCost() {\r\n http.get(`${this.url}.GetCheckoutFreightCost?zip=` + this.zipCode)\r\n .then(r => {\r\n const responseData = r as FreightCostCheckoutResponse;\r\n this.jeevesResult = responseData.freightCostCheckout;\r\n this.palletSplitFee = responseData.palletSplitFee;\r\n this.orderRowTotal = responseData.orderRowTotal;\r\n this.total = responseData.orderTotal;\r\n this.palletCost = this.jeevesResult.PalletCost > 0 ? this.formatNumber(this.jeevesResult.PalletCost) : \"\";\r\n this.freightCost = this.jeevesResult.FreightCost > 0 ? this.formatNumber(this.jeevesResult.FreightCost) : \"\";\r\n this.freightServiceCost = this.jeevesResult.FreightServiceCost > 0 ? this.formatNumber(this.jeevesResult.FreightServiceCost) : \"\";\r\n const totalElem = document.getElementById(\"reseller-checkout-total\");\r\n if (totalElem) {\r\n totalElem.innerText = responseData.orderTotal;\r\n }\r\n console.log(this.jeevesResult);\r\n });\r\n }\r\n\r\n protected formatNumber(value: number) {\r\n return value.toLocaleString(appStore.state.culture, {maximumFractionDigits: 2, minimumFractionDigits: 2});\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!./CheckoutSummary.ts?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!./CheckoutSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CheckoutSummary.vue?vue&type=template&id=94460046&\"\nimport script from \"./CheckoutSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./CheckoutSummary.ts?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","import {appStore} from \"../store/AppModule\";\r\n\r\nexport default function(value: string, currencyCode: string): string {\r\n const numberValue = parseFloat(value);\r\n let minFractionDigits = 0;\r\n\r\n if (isNaN(numberValue)) {\r\n return value;\r\n }\r\n\r\n if (!Number.isInteger(numberValue)) {\r\n minFractionDigits = 2;\r\n }\r\n\r\n if (typeof(currencyCode) !== \"undefined\") {\r\n return numberValue.toLocaleString(appStore.state.culture, { style: \"currency\", currency: currencyCode, minimumFractionDigits: minFractionDigits });\r\n } else {\r\n return numberValue.toLocaleString(appStore.state.culture, {minimumFractionDigits: minFractionDigits});\r\n }\r\n}\r\n","import Vue from \"vue\";\r\nimport CurrencyFilter from \"./CurrencyFilter\";\r\n\r\nexport default {\r\n currency: Vue.filter(\"currency\", CurrencyFilter)\r\n};\r\n","import Vue from \"vue\";\r\nimport store from \"./store\";\r\nimport VModal from \"vue-js-modal\";\r\nimport vueDebounce from \"vue-debounce\";\r\nimport ProductFactList from \"./components/ProductFactList\";\r\nimport VariantSelector from \"./components/VariantSelector\";\r\nimport SingleVariantFilter from \"./components/SingleVariantFilter\";\r\nimport ConsumptionCalculator from \"./components/ConsumptionCalculator\";\r\nimport DeliverySelector from \"./components/DeliverySelector\";\r\nimport FavouriteIcon from \"./components/FavouriteIcon\";\r\nimport DocumentArchive from \"./components/DocumentArchive\";\r\nimport ProductConfigurator from \"./modules/ProductConfigurator/ProductConfigurator\";\r\nimport ResellerOrderCheckout from \"./modules/ResellerOrderCheckout/ResellerOrderCheckout\";\r\nimport * as VueGoogleMaps from \"vue2-google-maps\";\r\nimport RelatedProductList from \"./components/RelatedProductList\";\r\nimport AddToCartContainer from \"./components/AddToCartContainer\";\r\nimport HandlingFeeMessageCart from \"./components/HandlingFeeMessageCart\";\r\nimport CartSummaryTotalValueOfGoods from \"./components/CartSummaryTotalValueOfGoods\";\r\nimport FreightCalculation from \"./components/FreightCalculation\";\r\nimport QuantityCalculatorCastProductContainer from \"./components/QuantityCalculatorCastProductContainer\";\r\nimport QuantityCalculatorCastProduct from \"./components/QuantityCalculatorCastProduct\";\r\nimport QuantityCalculatorFloorProduct from \"./components/QuantityCalculatorFloorProduct\";\r\nimport QuantityCalculatorMortarProduct from \"./components/QuantityCalculatorMortarProduct\";\r\nimport QuantityCalculatorMortarProductContainer from \"./components/QuantityCalculatorMortarProductContainer\";\r\nimport QuantityCalculatorBlockProduct from \"./components/QuantityCalculatorBlockProduct\";\r\nimport QuantityCalculatorSandboxProduct from \"./components/QuantityCalculatorSandboxProduct\";\r\nimport QuantityCalculatorFogsandProduct from \"./components/QuantityCalculatorFogsandProduct\";\r\nimport QuantityCalculatorUBlockProduct from \"./components/QuantityCalculatorUBlockProduct\";\r\nimport QuantityCalculatorUBlockProductContainer from \"./components/QuantityCalculatorUBlockProductContainer\";\r\nimport ConsumptionCalculatorSand from \"./components/ConsumptionCalculatorSand\";\r\nimport VoucherCampaign from \"./components/VoucherCampaign\";\r\nimport CarbonSavingsCalculation from \"./components/ProductPage/CarbonSavingsCalculation\";\r\nimport ProductEnvironmentDataBase from \"./components/ProductPage/ProductEnvironmentDataBase\";\r\nimport CarbonSavingsCalculationContainer from \"./components/ProductPage/CarbonSavingsCalculationContainer\";\r\nimport DiyVariantItem from \"./components/ProductPage/DiyVariantItem\";\r\nimport { EventBus } from \"./events\";\r\nimport PaymentMethod from \"././modules/CheckoutKundPortalen/Components/PaymentMethod\";\r\nimport CheckoutSummary from \"./modules/CheckoutKundPortalen/Components/CheckoutSummary\";\r\n\r\nimport filters from \"./filters\";\r\n\r\nVue.config.productionTip = false;\r\nVue.use(VModal);\r\nVue.use(vueDebounce, {\r\n listenTo: \"input\",\r\n defaultTime: \"700ms\"\r\n});\r\nVue.use(VueGoogleMaps, {\r\n load: {\r\n key: \"AIzaSyApk__HmCNbVDJN0ig0B9999Dsc0WKfaJA\",\r\n libraries: \"places\", // This is required if you use the Autocomplete plugin\r\n },\r\n});\r\n\r\nwindow.eventBus = EventBus;\r\n\r\nnew Vue({\r\n components: {\r\n ProductFactList,\r\n VariantSelector,\r\n SingleVariantFilter,\r\n ConsumptionCalculator,\r\n DeliverySelector,\r\n DocumentArchive,\r\n ProductConfigurator,\r\n ResellerOrderCheckout,\r\n FavouriteIcon,\r\n RelatedProductList,\r\n HandlingFeeMessageCart,\r\n CartSummaryTotalValueOfGoods,\r\n AddToCartContainer,\r\n FreightCalculation,\r\n QuantityCalculatorCastProductContainer,\r\n QuantityCalculatorCastProduct,\r\n QuantityCalculatorFloorProduct,\r\n VoucherCampaign,\r\n QuantityCalculatorMortarProduct,\r\n QuantityCalculatorMortarProductContainer,\r\n QuantityCalculatorBlockProduct,\r\n QuantityCalculatorSandboxProduct,\r\n QuantityCalculatorFogsandProduct,\r\n ConsumptionCalculatorSand,\r\n QuantityCalculatorUBlockProduct,\r\n QuantityCalculatorUBlockProductContainer,\r\n CarbonSavingsCalculation,\r\n ProductEnvironmentDataBase,\r\n CarbonSavingsCalculationContainer,\r\n DiyVariantItem,\r\n PaymentMethod,\r\n CheckoutSummary,\r\n },\r\n filters,\r\n store,\r\n}).$mount(\"#app\");\r\n","import { BareActionContext, getStoreBuilder } from \"vuex-typex\";\r\nimport { RootState } from \"./RootState\";\r\nimport { ProductModel, Variant, VariantFilterOptionsModel } from \"../models/product\";\r\nimport preloadState from \"../services/PreloadState\";\r\n\r\nexport interface ProductState {\r\n product: ProductModel;\r\n variants: Variant[];\r\n variant: Variant;\r\n variantFilterOptions: VariantFilterOptionsModel[];\r\n quantity: number;\r\n palletRequired: number;\r\n}\r\n\r\nconst initialState: ProductState = {\r\n product: preloadState.product,\r\n variants: preloadState.product.variants,\r\n variant: getInitialVariant(preloadState.product),\r\n variantFilterOptions: preloadState.product.variantFilterOptions,\r\n quantity: 0,\r\n palletRequired: 0\r\n};\r\n\r\nconst store = getStoreBuilder().module(\"product\", initialState);\r\n\r\nfunction getInitialVariant(curProduct: ProductModel): Variant {\r\n if (curProduct.selectedVariantId) {\r\n const curVariant = curProduct.variants.find(x => x.variantId === curProduct.selectedVariantId);\r\n\r\n if (curVariant) {\r\n return curVariant;\r\n }\r\n }\r\n if (preloadState.product.variants.length) {\r\n return preloadState.product.variants[0];\r\n }\r\n\r\n return {} as Variant;\r\n}\r\n\r\nfunction variantFilterOptions(state: ProductState) {\r\n return state.variantFilterOptions;\r\n}\r\n\r\nfunction variants(state: ProductState) {\r\n return state.variants;\r\n}\r\n\r\nfunction variant(state: ProductState) {\r\n return state.variant;\r\n}\r\n\r\nfunction product(state: ProductState) {\r\n return state.product;\r\n}\r\n\r\nfunction quantity(state: ProductState) {\r\n return state.quantity;\r\n}\r\n\r\nfunction palletRequired(state: ProductState) {\r\n return state.palletRequired;\r\n}\r\n\r\n\r\n// getters\r\nconst getVariantFilterOptions = store.read(variantFilterOptions, \"variantFilterOptions\");\r\n\r\nconst getVariants = store.read(variants, \"variants\");\r\n\r\nconst getVariant = store.read(variant, \"variant\");\r\n\r\nconst getProduct = store.read(product, \"product\");\r\n\r\nconst getQuantity = store.read(quantity, \"quantity\");\r\n\r\nconst getPalletRequired = store.read(palletRequired, \"palletRequired\");\r\n\r\n// mutations\r\nfunction commitVariant(state: ProductState, payload: Variant) {\r\n state.variant = payload;\r\n}\r\n\r\nfunction commitQuantity(state: ProductState, payload: number) {\r\n state.quantity = payload;\r\n}\r\n\r\nfunction commitPalletRequired(state: ProductState, payload: number) {\r\n state.palletRequired = payload;\r\n}\r\n\r\n// actions\r\nasync function dispatchVariant(context: BareActionContext, curVariant: Variant) {\r\n productStore.commitVariant(curVariant);\r\n setUrl(curVariant);\r\n}\r\n\r\nasync function dispatchQuantity(context: BareActionContext, value: number) {\r\n commitQuantity(context.state, value);\r\n}\r\n\r\nasync function dispatchPalletRequired(context: BareActionContext, value: number) {\r\n commitPalletRequired(context.state, value);\r\n}\r\n\r\nasync function setUrl(currentVariant: Variant) {\r\n const url = new URL(window.location.href);\r\n url.searchParams.set(\"id\", currentVariant.variantId);\r\n window.history.replaceState(null, currentVariant.variantName, url.search);\r\n}\r\n\r\nexport const productStore = {\r\n get variantFilterOptions() { return getVariantFilterOptions(); },\r\n get variants() { return getVariants(); },\r\n get variant() { return getVariant(); },\r\n get product() { return getProduct(); },\r\n get quantity() { return getQuantity(); },\r\n get palletRequired() { return getPalletRequired(); },\r\n commitVariant: store.commit(commitVariant, \"commitVariant\"),\r\n dispatchVariant: store.dispatch(dispatchVariant, \"dispatchVariant\"),\r\n dispatchQuantity: store.dispatch(dispatchQuantity, \"dispatchQuantity\"),\r\n dispatchPalletRequired: store.dispatch(dispatchPalletRequired, \"dispatchPalletRequired\")\r\n};\r\n","export enum CalculatorTypes {\r\n Block = \"Block\",\r\n Bag = \"Bag\",\r\n Cast = \"Cast\",\r\n Mortar = \"Mortar\",\r\n Plaster = \"Plaster\",\r\n SandboxSand = \"SandboxSand\",\r\n FogSand = \"FogSand\",\r\n}\r\n","class AppSettings {\r\n\r\n get state(): IAppSettings {\r\n if (window.__finja) {\r\n return window.__finja.settings;\r\n }\r\n\r\n return {} as IAppSettings;\r\n }\r\n}\r\n\r\nexport interface IAppSettings {\r\n culture: string;\r\n pageId: string;\r\n webSiteId: string;\r\n languageId: string;\r\n}\r\n\r\nexport default new AppSettings();\r\n","import { getStoreBuilder } from \"vuex-typex\";\r\nimport { default as AppSettings, IAppSettings } from \"../services/AppSettings\";\r\nimport { RootState } from \"./index\";\r\n\r\nexport interface AppState {\r\n culture: string;\r\n}\r\n\r\nconst initialState: IAppSettings = AppSettings.state;\r\nconst store = getStoreBuilder().module(\"app\", initialState);\r\n\r\nfunction state(currentState: IAppSettings): IAppSettings {\r\n return currentState;\r\n}\r\n\r\nconst getState = store.read(state, \"state\");\r\n\r\nexport const appStore = {\r\n get state() { return getState(); }\r\n};\r\n","import { productStore } from \"@/store/ProductModule\";\r\nimport { Variant } from \"../models/product\";\r\nimport { IncludedProducts, QuantityCalculationResultModel } from \"../models/QuanityCalculatorCast\";\r\nimport { CalculatorTypes } from \"../enums/CalculatorTypes\";\r\n\r\nclass CalculatorService {\r\n\r\n public GetVariants(selectedProductId: string = \"\", products: IncludedProducts[] = []) {\r\n if (selectedProductId !== \"\") {\r\n const newVariants: Variant[] = [];\r\n products\r\n .filter(x => x.ArticleNumber === selectedProductId)[0]\r\n .Variants.map(a => {\r\n const variant: Variant = {\r\n variantId: a.variantId, variantSystemId: \"\", variantName: a.variantName, category: \"\", url: \"\", productFacts: [], price: \"\", priceValue: 0,\r\n currencyCode: \"\", showBuyButton: false, showQuantity: false, showPalletQuantity: false, variantAttributes: [],\r\n itemPrimaryPackagingWeight: a.ItemPrimaryPackagingWeight, itemSecondaryPackagingContent: 0, isInFavouriteList: false, relatedProducts: [],\r\n itemMaterialConsumption: a.ItemMaterialConsumption, itemConsumptionCalculatorBlock: a.ItemConsumptionCalculatorBlock,\r\n itemConsumptionCalculator: a.ItemConsumptionCalculator, itemConsumptionCalculatorCast: a.ItemConsumptionCalculatorCast,\r\n baseProductArticleNumber: selectedProductId, itemConsumptionCalculatorBag: a.ItemConsumptionCalculatorBag,\r\n itemConsumptionCalculatorMortar: a.ItemConsumptionCalculatorMortar, itemConsumptionStringJoint: 0, itemConsumptionFullJoint: 0,\r\n itemConsumptionCalculatorPlaster: a.ItemConsumptionCalculatorPlaster, itemConsumptionCalculatorFogSand: a.ItemConsumptionCalculatorFogSand,\r\n itemConsumptionCalculatorSandBoxSand: a.ItemConsumptionCalculatorSandBoxSand,\r\n itemConsumptionCalculatorUBlock: a.ItemConsumptionCalculatorUBlock,\r\n insulationVariantModel: a.InsulationVariantModel,\r\n itemAdditionalMaterialConsumption: a.ItemAdditionalMaterialConsumption,\r\n itemFillingWithInsulation: a.ItemFillingWithInsulation,\r\n fillingProductModel: a.FillingProductModel,\r\n carbonSavingsModel: a.CarbonSavingsModel,\r\n isBuyable: a.IsBuyable,\r\n fogSandMultiplyingFactor: a.FogSandMultiplyingFactor,\r\n };\r\n newVariants.push(variant);\r\n });\r\n return newVariants as Variant[];\r\n } else {\r\n return productStore.variants;\r\n }\r\n }\r\n\r\n public GetVariant(selectedProductId: string = \"\", variants: Variant[] = [], calculatorType: string = \"\") {\r\n return selectedProductId !== \"\"\r\n ? variants.filter(\r\n x =>\r\n x.baseProductArticleNumber === selectedProductId &&\r\n ((calculatorType === CalculatorTypes.Block && x.itemConsumptionCalculatorBlock) ||\r\n (calculatorType === CalculatorTypes.Bag && (x.itemConsumptionCalculatorBag || x.itemConsumptionCalculatorPlaster)) ||\r\n (calculatorType === CalculatorTypes.Cast && x.itemConsumptionCalculatorCast) ||\r\n (calculatorType === CalculatorTypes.Mortar && x.itemConsumptionCalculatorMortar) ||\r\n (calculatorType === CalculatorTypes.SandboxSand && x.itemConsumptionCalculatorSandBoxSand) ||\r\n (calculatorType === CalculatorTypes.FogSand && x.itemConsumptionCalculatorFogSand))\r\n )[0]\r\n : productStore.variant;\r\n }\r\n\r\n public storeSession(\r\n key: string,\r\n value: QuantityCalculationResultModel[]\r\n ): void {\r\n if (typeof sessionStorage !== \"undefined\") {\r\n sessionStorage.setItem(key, JSON.stringify(value));\r\n }\r\n }\r\n\r\n public storeSessionQuantity(\r\n key: string,\r\n value: number\r\n ): void {\r\n if (typeof sessionStorage !== \"undefined\") {\r\n sessionStorage.setItem(key, JSON.stringify(value));\r\n }\r\n }\r\n\r\n public GetDefaultQuantityCalculatorResultModel() {\r\n return {\r\n variantId: \"\", sack: 0, selected: \"false\", itemPackagingWeight: NaN, volume: 0, selectedShape: \"\", yta: NaN, layerThickness: NaN,\r\n itemMaterialConsumption: NaN, variantJoint: \"\", width: NaN, length: NaN, depth: NaN, variantSystemId: \"\",\r\n };\r\n }\r\n\r\n public GetSelectedProductMaterialConsumption(products: IncludedProducts[] = [], selectedProductId: string = \"\") {\r\n const productArray = products.filter(\r\n x => x.ArticleNumber === selectedProductId\r\n );\r\n return productArray !== undefined && productArray.length > 0\r\n ? productArray[0].ProductMaterialConsumption\r\n : 0;\r\n }\r\n\r\n public GetSelectedProductUrl(products: IncludedProducts[] = [], selectedProductId: string = \"\") {\r\n const product = this.GetSelectedProduct(products, selectedProductId);\r\n return product ? product.Url : \"\";\r\n }\r\n\r\n public GetSelectedProduct(products: IncludedProducts[] = [], selectedProductId: string = \"\") {\r\n const productArray = products.filter(\r\n x => x.ArticleNumber === selectedProductId\r\n );\r\n return productArray !== undefined && productArray.length > 0\r\n ? productArray[0]\r\n : undefined;\r\n }\r\n\r\n public GetCarbonSavingsModel(products: IncludedProducts[] = [], selectedProductId: string = \"\") {\r\n const product = this.GetSelectedProduct(products, selectedProductId);\r\n if (product && product.carbonSavings.savingsComparedToNonECOVariant > 0) {\r\n return product.carbonSavings;\r\n }\r\n }\r\n\r\n public CalculateVolumeSandBox(width?: number, length?: number, depth?: number) {\r\n if (width && length && depth) {\r\n return width * length * (depth / 100);\r\n }\r\n }\r\n\r\n public CalculateWeightFogSand(width?: number, length?: number, thickness?: number, jointwidth?: number, markyta?: number, fogSandFactor?: number) {\r\n if (markyta) {\r\n const consumptionPerArea = this.CalculateConsumptionPerAreaFogSand(width, length, thickness, jointwidth, fogSandFactor);\r\n if (consumptionPerArea) {\r\n return consumptionPerArea * markyta;\r\n }\r\n }\r\n }\r\n\r\n protected CalculateConsumptionPerAreaFogSand(width?: number, length?: number, thickness?: number, jointwidth?: number, fogSandFactor?: number) {\r\n if (width && length && thickness && jointwidth) {\r\n const weight = (((1 / (width + jointwidth)) + (1 / (length + jointwidth))) * jointwidth * thickness * 1.29);\r\n let weightParsed = parseFloat(weight.toFixed(2));\r\n if (weight - weightParsed !== 0) {\r\n weightParsed = weightParsed + 0.01;\r\n }\r\n return fogSandFactor && fogSandFactor !== 0 ? weightParsed * fogSandFactor : weightParsed;\r\n }\r\n }\r\n}\r\n\r\nexport default new CalculatorService();\r\n"],"sourceRoot":""}