{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/imagebank/ImageBank.vue?61f8","webpack:///./src/imagebank/components/image-modal/ImageModal.vue?d262","webpack:///./src/models/TapwellGroupWebsite.ts","webpack:///./src/imagebank/components/button/Button.vue?c23e","webpack:///./src/imagebank/components/image-list/ImageList.vue?c42a","webpack:///./src/imagebank/components/seleted-images-modal/SelectedImagesModal.vue?d77a","webpack:///./src/imagebank/components/checkbox/Checkbox.vue?e6e3","webpack:///./src/components/tapwell/Product/ProductDetailB2C.vue?0791","webpack:///./src/components/tapwell/Product/ProductAccessory.vue?b893","webpack:///./node_modules/moment/locale sync en|sv","webpack:///./src/components/tapwell/Search/SearchResultB2C.vue?ec4f","webpack:///./src/imagebank/ImageBank.vue?790a","webpack:///./src/localization/veelocalize.ts","webpack:///./src/services/tapwell/ApiService.ts","webpack:///./src/store/tapwell/checkoutstate.ts","webpack:///./src/store/tapwell/productstate.ts","webpack:///./src/store/tapwell/sparepartshopstate.ts","webpack:///./src/store/tapwell/newsletterModal.ts","webpack:///./src/imagebank/imagebank-state.ts","webpack:///./src/store/tapwell/index.ts","webpack:///./src/components/tapwell/Category/Category.vue?6e9a","webpack:///./src/components/tapwell/Category/ProductList.vue?9c27","webpack:///./src/components/tapwell/Product/ProductTile.vue?cda0","webpack:///./src/components/tapwell/Product/ProductTile.ts?39b6","webpack:///./src/components/tapwell/Product/ProductTile.ts?6752","webpack:///./src/components/tapwell/Product/ProductTile.vue?d877","webpack:///./src/components/tapwell/Product/ProductTileHaven.vue?1855","webpack:///./src/components/tapwell/Product/ProductTileHaven.ts?9e87","webpack:///./src/components/tapwell/Product/ProductTileHaven.ts?9e15","webpack:///./src/components/tapwell/Product/ProductTileHaven.vue?9b56","webpack:///./src/components/tapwell/Category/ProductList.ts","webpack:///./src/components/tapwell/Category/ProductList.ts?ae5d","webpack:///./src/components/tapwell/Category/ProductList.vue","webpack:///./src/components/tapwell/Category/CategoryNavigation.vue?36ac","webpack:///./src/components/tapwell/Category/CategoryNavigation.ts","webpack:///./src/components/tapwell/Category/CategoryNavigation.ts?48fe","webpack:///./src/components/tapwell/Category/CategoryNavigation.vue?e59b","webpack:///./src/components/tapwell/Category/CategoryBanner.vue?fb3e","webpack:///./src/components/tapwell/Category/CategoryBanner.ts","webpack:///./src/components/tapwell/Category/CategoryBanner.ts?efeb","webpack:///./src/components/tapwell/Category/CategoryBanner.vue","webpack:///./src/components/tapwell/Category/ProductSearch.vue?43a7","webpack:///./src/components/tapwell/Category/ProductSearch.ts","webpack:///./src/components/tapwell/Category/ProductSearch.ts?a4f6","webpack:///./src/components/tapwell/Category/ProductSearch.vue","webpack:///./src/components/tapwell/Category/Category.ts","webpack:///./src/components/tapwell/Category/Category.ts?bde4","webpack:///./src/components/tapwell/Category/Category.vue","webpack:///./src/components/tapwell/MiniCart/MiniCart.vue?baa1","webpack:///./src/components/tapwell/MiniCart/MiniCart.ts","webpack:///./src/components/tapwell/MiniCart/MiniCart.ts?cabd","webpack:///./src/components/tapwell/MiniCart/MiniCart.vue","webpack:///./src/components/tapwell/Product/ProductDetail.vue?7bac","webpack:///./src/components/tapwell/Product/ProductTile.ts","webpack:///./src/components/tapwell/Product/ProductDetail.ts?dcff","webpack:///./src/components/tapwell/Product/ProductDetail.ts?5ec6","webpack:///./src/components/tapwell/Product/ProductDetail.vue?2730","webpack:///./src/components/tapwell/Product/ProductDetailHaven.vue?0843","webpack:///./src/components/tapwell/Product/ProductTileHaven.ts","webpack:///./src/components/tapwell/Product/ProductDetailHaven.ts","webpack:///./src/components/tapwell/Product/ProductDetailHaven.ts?c3fc","webpack:///./src/components/tapwell/Product/ProductDetailHaven.vue?46a9","webpack:///./src/components/tapwell/Product/ProductUpSell.vue?43ac","webpack:///./src/components/tapwell/Product/ProductUpSell.ts","webpack:///./src/components/tapwell/Product/ProductUpSell.ts?87a7","webpack:///./src/components/tapwell/Product/ProductUpSell.vue?9805","webpack:///./src/components/tapwell/Product/ProductAccessoryList.vue?e982","webpack:///./src/components/tapwell/Product/ProductAccessory.vue?7327","webpack:///./src/components/tapwell/Product/ProductAccessory.ts","webpack:///./src/components/tapwell/Product/ProductAccessory.ts?0632","webpack:///./src/components/tapwell/Product/ProductAccessory.vue?8e98","webpack:///./src/components/tapwell/Product/ProductAccessoryList.ts","webpack:///./src/components/tapwell/Product/ProductAccessoryList.ts?3692","webpack:///./src/components/tapwell/Product/ProductAccessoryList.vue","webpack:///./src/components/tapwell/Order/ReorderButton.vue?0c43","webpack:///./src/components/tapwell/Order/ReorderButton.ts","webpack:///./src/components/tapwell/Order/ReorderButton.ts?4e7f","webpack:///./src/components/tapwell/Order/ReorderButton.vue","webpack:///./src/components/tapwell/Checkout/Checkout.vue?4c2c","webpack:///./src/components/tapwell/Checkout/CartView.vue?a4cd","webpack:///./src/components/tapwell/Checkout/CartView.ts?3dba","webpack:///./src/components/tapwell/Checkout/CartView.ts?645e","webpack:///./src/components/tapwell/Checkout/CartView.vue","webpack:///./src/components/tapwell/Checkout/CustomerInformation.vue?dee7","webpack:///./src/components/tapwell/Checkout/CustomerInformation.ts","webpack:///./src/components/tapwell/Checkout/CustomerInformation.ts?f120","webpack:///./src/components/tapwell/Checkout/CustomerInformation.vue","webpack:///./src/components/tapwell/Checkout/Checkout.ts","webpack:///./src/components/tapwell/Checkout/Checkout.ts?6239","webpack:///./src/components/tapwell/Checkout/Checkout.vue","webpack:///./src/components/tapwell/Checkout/CheckoutB2C.vue?b52f","webpack:///./src/components/tapwell/Checkout/CartViewB2C.vue?08cc","webpack:///./src/components/tapwell/Checkout/CartView.ts","webpack:///./src/components/tapwell/Checkout/CartViewB2C.ts","webpack:///./src/components/tapwell/Checkout/CartViewB2C.ts?c1e6","webpack:///./src/components/tapwell/Checkout/CartViewB2C.vue","webpack:///./src/components/tapwell/Checkout/CheckoutB2C.ts","webpack:///./src/components/tapwell/Checkout/CheckoutB2C.ts?419b","webpack:///./src/components/tapwell/Checkout/CheckoutB2C.vue","webpack:///./src/components/tapwell/Checkout/OrderConfirmationB2C.vue?9238","webpack:///./src/components/tapwell/Checkout/OrderConfirmationB2C.ts","webpack:///./src/components/tapwell/Checkout/OrderConfirmationB2C.ts?4aa3","webpack:///./src/components/tapwell/Checkout/OrderConfirmationB2C.vue","webpack:///./src/components/tapwell/Blocks/ParallaxBlock.vue?c737","webpack:///./src/components/tapwell/Blocks/ParallaxBlock.ts","webpack:///./src/components/tapwell/Blocks/ParallaxBlock.ts?8773","webpack:///./src/components/tapwell/Blocks/ParallaxBlock.vue","webpack:///./src/components/tapwell/Product/ProductDetailB2C.vue?0c8e","webpack:///./src/components/tapwell/Product/ProductDetail.ts","webpack:///./src/components/tapwell/Product/ProductTileB2C.vue?851c","webpack:///./src/components/tapwell/Product/ProductTileB2C.ts","webpack:///./src/models/tapwell/Configurator.ts","webpack:///./src/components/tapwell/Product/ProductTileB2C.ts?bf09","webpack:///./src/components/tapwell/Product/ProductTileB2C.vue?263c","webpack:///./src/components/tapwell/Configurator/ShowerConfigurator.vue?fdc8","webpack:///./src/services/tapwell/ConfiguratorClient.ts","webpack:///./src/components/shared/ScrollShadow.vue?e941","webpack:///src/components/shared/ScrollShadow.vue","webpack:///./src/components/shared/ScrollShadow.vue?49f7","webpack:///./src/components/shared/ScrollShadow.vue","webpack:///./src/components/tapwell/Configurator/ShowerConfigurator.ts","webpack:///./src/components/tapwell/Configurator/ShowerConfigurator.ts?ed6f","webpack:///./src/components/tapwell/Configurator/ShowerConfigurator.vue","webpack:///./src/components/tapwell/Product/ProductInspirationalImages.vue?1969","webpack:///./src/components/tapwell/Product/ProductInspirationalImages.ts","webpack:///./src/components/tapwell/Product/ProductInspirationalImages.ts?66f5","webpack:///./src/components/tapwell/Product/ProductInspirationalImages.vue","webpack:///./src/components/tapwell/Product/ProductDetailB2C.ts","webpack:///./src/components/tapwell/Product/ProductDetailB2C.ts?5b1f","webpack:///./src/components/tapwell/Product/ProductDetailB2C.vue?22b5","webpack:///./src/components/tapwell/Search/SearchResultB2C.vue?fae5","webpack:///./src/components/tapwell/Search/SearchResultB2C.ts","webpack:///./src/components/tapwell/Search/SearchResultB2C.ts?c99c","webpack:///./src/components/tapwell/Search/SearchResultB2C.vue?ae39","webpack:///./src/components/tapwell/Search/SearchB2C.vue?4766","webpack:///./src/components/tapwell/Search/SearchModal.vue?13b8","webpack:///./src/components/tapwell/Search/SearchModal.ts","webpack:///./src/components/tapwell/Search/SearchModal.ts?265a","webpack:///./src/components/tapwell/Search/SearchModal.vue?0fb8","webpack:///./src/components/tapwell/Search/SearchB2C.ts","webpack:///./src/components/tapwell/Search/SearchB2C.ts?71b5","webpack:///./src/components/tapwell/Search/SearchB2C.vue","webpack:///./src/components/tapwell/SparePartShop/SparePartShop.vue?bcf7","webpack:///./src/components/tapwell/SparePartShop/SearchPanel.vue?af3a","webpack:///./src/components/tapwell/SparePartShop/SearchPanel.ts","webpack:///./src/components/tapwell/SparePartShop/SearchPanel.ts?15ab","webpack:///./src/components/tapwell/SparePartShop/SearchPanel.vue","webpack:///./src/components/tapwell/SparePartShop/SparePartTile.vue?1b97","webpack:///./src/components/tapwell/SparePartShop/SparePartTile.ts","webpack:///./src/components/tapwell/SparePartShop/SparePartTile.ts?1399","webpack:///./src/components/tapwell/SparePartShop/SparePartTile.vue?89d2","webpack:///./src/components/tapwell/SparePartShop/SelectProductTile.vue?3ade","webpack:///./src/components/tapwell/SparePartShop/SelectProductTile.ts","webpack:///./src/components/tapwell/SparePartShop/SelectProductTile.ts?3852","webpack:///./src/components/tapwell/SparePartShop/SelectProductTile.vue?920e","webpack:///./src/components/tapwell/SparePartShop/SparePartShop.ts","webpack:///./src/components/tapwell/SparePartShop/SparePartShop.ts?1f41","webpack:///./src/components/tapwell/SparePartShop/SparePartShop.vue?72a7","webpack:///./src/components/tapwell/CustomerSupport/CustomerServiceReport.vue?b5ac","webpack:///./src/components/tapwell/CustomerSupport/CustomerServiceReport.ts","webpack:///./src/components/tapwell/CustomerSupport/CustomerServiceReport.ts?3cc1","webpack:///./src/components/tapwell/CustomerSupport/CustomerServiceReport.vue","webpack:///./src/components/tapwell/SelectOrganization/SelectOrganization.vue?1ab4","webpack:///./src/components/tapwell/SelectOrganization/SelectOrganization.ts","webpack:///./src/components/tapwell/SelectOrganization/SelectOrganization.ts?4cc4","webpack:///./src/components/tapwell/SelectOrganization/SelectOrganization.vue","webpack:///./src/components/bricmate/CatalogForm.ts","webpack:///./src/components/tapwell/NewsletterSignup/NewsletterSignup.vue?0b2f","webpack:///./src/services/tapwell/Cookies.ts","webpack:///./src/components/tapwell/NewsletterSignup/NewsletterSignup.ts","webpack:///./src/components/tapwell/NewsletterSignup/NewsletterSignup.ts?423a","webpack:///./src/components/tapwell/NewsletterSignup/NewsletterSignup.vue","webpack:///./src/components/tapwell/NewsletterSignup/NewsletterBanner.vue?e36e","webpack:///./src/components/tapwell/NewsletterSignup/NewsletterBanner.ts","webpack:///./src/components/tapwell/NewsletterSignup/NewsletterBanner.ts?d4a2","webpack:///./src/components/tapwell/NewsletterSignup/NewsletterBanner.vue","webpack:///./src/components/tapwell/CountryPicker/CountryPicker.vue?0c5d","webpack:///./src/components/tapwell/CountryPicker/CountryPicker.ts","webpack:///./src/components/tapwell/CountryPicker/CountryPicker.ts?d535","webpack:///./src/components/tapwell/CountryPicker/CountryPicker.vue","webpack:///./src/components/tapwell/Configurator/ShowerConfiguratorStandalone.vue?e02b","webpack:///./src/components/tapwell/Configurator/ShowerConfiguratorStandalone.ts","webpack:///./src/components/tapwell/Configurator/ShowerConfiguratorStandalone.ts?c443","webpack:///./src/components/tapwell/Configurator/ShowerConfiguratorStandalone.vue?f726","webpack:///./src/imagebank/ImageBank.vue?4281","webpack:///./src/imagebank/api.ts","webpack:///./src/imagebank/components/button/Button.vue?b826","webpack:///./src/imagebank/components/button/button.ts","webpack:///./src/imagebank/components/button/button.ts?c45f","webpack:///./src/imagebank/components/button/Button.vue","webpack:///./src/imagebank/components/checkbox/Checkbox.vue?503e","webpack:///./src/imagebank/components/checkbox/checkbox.ts","webpack:///./src/imagebank/components/checkbox/checkbox.ts?b5a7","webpack:///./src/imagebank/components/checkbox/Checkbox.vue","webpack:///./src/imagebank/components/search-field/Search.vue?f26e","webpack:///./src/imagebank/components/search-field/search.ts","webpack:///./src/imagebank/components/search-field/search.ts?5e6c","webpack:///./src/imagebank/components/search-field/Search.vue","webpack:///./src/imagebank/components/select/Select.vue?bd3d","webpack:///./src/imagebank/components/select/select.ts","webpack:///./src/imagebank/components/select/select.ts?4206","webpack:///./src/imagebank/components/select/Select.vue","webpack:///./src/imagebank/components/select-multi/MultiSelect.vue?6ddc","webpack:///./src/imagebank/components/select-multi/multi-select.ts","webpack:///./src/imagebank/components/select-multi/multi-select.ts?adaa","webpack:///./src/imagebank/components/select-multi/MultiSelect.vue","webpack:///./src/imagebank/components/image-modal/ImageModal.vue?5836","webpack:///./src/imagebank/components/modal/Modal.vue?b757","webpack:///./src/imagebank/components/modal/modal.ts","webpack:///./src/imagebank/components/modal/modal.ts?ca34","webpack:///./src/imagebank/components/modal/Modal.vue","webpack:///./src/imagebank/components/image-modal/image-modal.ts","webpack:///./src/imagebank/components/image-modal/image-modal.ts?2996","webpack:///./src/imagebank/components/image-modal/ImageModal.vue","webpack:///./src/imagebank/components/image-tile/ImageTile.vue?b99f","webpack:///./src/imagebank/components/image-tile/image-tile.ts","webpack:///./src/imagebank/components/image-tile/image-tile.ts?6c89","webpack:///./src/imagebank/components/image-tile/ImageTile.vue","webpack:///./src/imagebank/components/image-filter/ImageFilter.vue?9c3c","webpack:///./src/imagebank/components/image-filter/image-filter.ts","webpack:///./src/imagebank/components/image-filter/image-filter.ts?a2b0","webpack:///./src/imagebank/components/image-filter/ImageFilter.vue","webpack:///./src/imagebank/components/image-list/ImageList.vue?c3a0","webpack:///./src/imagebank/components/image-list/image-list.ts","webpack:///./src/imagebank/components/image-list/image-list.ts?e4c2","webpack:///./src/imagebank/components/image-list/ImageList.vue","webpack:///./src/imagebank/components/seleted-images-modal/SelectedImagesModal.vue?af45","webpack:///./src/imagebank/components/seleted-images-modal/selected-images-modal.ts","webpack:///./src/imagebank/components/seleted-images-modal/selected-images-modal.ts?b357","webpack:///./src/imagebank/components/seleted-images-modal/SelectedImagesModal.vue","webpack:///./src/imagebank/imagebank.ts","webpack:///./src/imagebank/imagebank.ts?8beb","webpack:///./src/imagebank/ImageBank.vue","webpack:///./src/pages/tapwell/main.ts","webpack:///./src/components/shared/ScrollShadow.vue?b2c2","webpack:///./src/scripts/tapwell/application.js","webpack:///./src/components/tapwell/SelectOrganization/SelectOrganization.vue?8995","webpack:///./src/components/tapwell/Product/ProductAccessoryList.vue?477f","webpack:///./src/components/tapwell/Product/ProductUpSell.vue?e86d","webpack:///./src/components/tapwell/SparePartShop/SparePartShop.vue?9824","webpack:///./src/components/tapwell/Category/CategoryNavigation.vue?7f52","webpack:///./src/imagebank/components/select-multi/MultiSelect.vue?0e94","webpack:///./src/components/tapwell/Configurator/ShowerConfiguratorStandalone.vue?58e3","webpack:///./src/components/tapwell/Product/ProductDetailHaven.vue?c859","webpack:///./src/scripts/shared/sharedScripts.js","webpack:///./src/imagebank/components/search-field/Search.vue?936e","webpack:///./src/imagebank/components/modal/Modal.vue?bf39","webpack:///./src/components/tapwell/Product/ProductTile.vue?1f30","webpack:///./src/imagebank/components/image-tile/ImageTile.vue?cc97","webpack:///./src/components/tapwell/CustomerSupport/CustomerServiceReport.vue?e6ef","webpack:///./src/imagebank/components/image-filter/ImageFilter.vue?5f68","webpack:///./src/services/bricmate/ApiService2.ts","webpack:///./src/components/tapwell/SparePartShop/SelectProductTile.vue?6ae5","webpack:///./src/components/tapwell/Search/SearchModal.vue?ce7d","webpack:///./src/components/tapwell/SparePartShop/SparePartTile.vue?f806","webpack:///./src/components/tapwell/Product/ProductTileB2C.vue?4488","webpack:///./src/components/tapwell/Category/ProductList.vue?118c","webpack:///./src/components/tapwell/SparePartShop/SearchPanel.vue?cd38","webpack:///./src/components/bricmate/ThankYouModal.vue?c97e","webpack:///./src/components/bricmate/ThankYouModal.ts","webpack:///./src/components/bricmate/ThankYouModal.ts?e0a4","webpack:///./src/components/bricmate/ThankYouModal.vue","webpack:///./src/imagebank/components/select/Select.vue?8419","webpack:///./src/components/tapwell/Product/ProductTileHaven.vue?9055","webpack:///./src/components/tapwell/Product/ProductDetail.vue?3eb3"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","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","TapwellGroupWebsite","map","webpackContext","req","id","webpackContextResolve","e","Error","code","keys","resolve","entries","rule","validation","sv","messages","names","address","email","zipcode","city","country","recipientname","goodslabeling","firstname","lastname","notificationPhone","alternatNotificationPhone","fi","en","errorResponse","response","status","statusText","headers","request","config","Promise","ApiService","checkoutOrder","model","a","post","JSON","stringify","__litium","requestContext","RequestVerificationToken","localStorage","getItem","setDelivery","put","setPaymentProvider","setShippingOption","setCampaignCode","campaignModel","getMiniCart","addToCart","cartItem","updateCart","reorderCart","placeOrder","getProductPriceStock","getCategory","categorySystemId","categoryShowRecursively","isHaven","uri","params","getProducts","page","sortBy","sortVariantsByPriority","searchProducts","term","getProductDeliveryDate","getDeliveryCheckouts","searchB2cProducts","searchSpareParts","searchSpareparts","getProductSpareParts","variantId","sparePartCategorySystemId","sparePartCategoryId","toString","getSparePartsType","getCommonProblems","searchSparePartsByType","selectedSparePartTypeCategoryId","saveCustomercalls","customerResponse","getCustomercallsReport","dataIdentifier","fromDate","toDate","responseType","importExcelToCheckout","files","getSampleCheckoutExcelFile","getJeevesPrices","selectCountry","selectedCountryId","initialState","cart","store","getStoreCart","state","getStateCart","read","mutateUpdateRows","orderRows","forEach","row","comments","parse","comment","isBricmateB2B","__currentWebsite","BricmateB2B","checkLitiumInventory","payload","quantity","articleNumber","then","formattedDateAvailable","dateAvailable","inStock","mutateSaveState","reject","mutateUpdateCart","findIndex","mutateReloadCart","mutateImportToCart","saveState","context","updateState","reloadState","excelImportState","CheckoutStore","dispatch","currentCategoryId","createEmpty","products","searchresult","resetInfiniteLoaderStatus","searchTerm","getStoreCategoryId","getStoreProducts","getStoreResetInfiniteLoader","getStoreSearchResult","getSearchTerm","getStateCategoryId","getStateProducts","getStateResetInfiniteLoader","getStateSearchResult","getStateSearchTerm","mutateCurrentCategoryId","mutateProducts","mutateInfiniteLoaderStatus","reset","mutateSearchResult","mutateSearchTerm","saveCurrentCategoryId","saveProducts","saveInfiniteLoaderStatus","saveSearchResult","saveSearchTerm","ProductStore","selectedVariantId","getStoreSelectedVariantId","getStateSelectedVariantId","mutateSelectedVariantId","saveSelectedVariantId","SparePartShopStore","showNewsletterModal","getStoreShowNewsletterModal","getShowNewsletterModal","commitCulture","newValue","saveNewsletterModal","newsletterStore","saveUserState","selectedImages","Array","allSelectedImagesGetter","allSelectedImages","addSelectedImage","find","x","before","after","removeSelectedImage","filter","clearAllSelected","imageBankStore","commit","use","vuexStore","render","_vm","this","_h","$createElement","_c","_self","attrs","categorymodel","staticClass","categorynavigation","on","selectCategory","performSearch","class","noResult","productlist","loadMoreProducts","_v","_s","translations","_e","directives","rawName","expression","staticRenderFns","_l","product","pi","isHavenB2B","selectedVariant","price","category","url","arg","variant","index","selected","size","$event","select","colorName","color","showMoreActive","decreaseAmount","quantityLarge","domProps","handleQtyChange","target","composing","$set","showMaxLimitMessage","outletProduct","increaseAmount","showPackageBoxSizeInTheChannelsB2BSite","sqmBox","calculateBoxSize","productLength","productWidth","staticStyle","outgoingProduct","stockStatus","hideStockBalanceForTheProduct","inventoryName","discountPercent","displayPrice","displayDiscountPrice","selectedVariantJeevesPrice","unitOfMeasurement","discountedPriceDisplay","newQuantity","outletProductInStockQuantity","quantityChangedTriggered","selectedVariantJeevesPrices","spinner","scale","variants","translation","orderRow","rowSystemId","shopenabled","checkMaximumQuantitySize","getProductPriceAndStock","checkQuantitySize","trim","parseInt","maxQtyAchieved","maximumBuyableQuantitiy","toFixed","quantities","productListElem","document","getElementById","getElementsByClassName","el","style","display","prices","self","elem","$el","toolTip","requestdelay","spin","setTimeout","stop","addTrackingOnEvent","addToCartGA4Event","productPage","header","querySelector","scrollUp","scrollDown","currentScroll","pageYOffset","classList","remove","add","gtmItems","item","item_id","item_name","productName","parseFloat","item_category","item_variant","currency","currentUrl","location","href","includes","totalValue","calculateTotalValue","dataLayerObject","event","ecommerce","items","dataLayer","total","reduce","acc","thumbs","images","enableEcommerce","isSparePart","isDiscontinued","hideFromVariantSelector","component","top","selectedTop","selectTop","alternative","tops","alternatives","buildTops","sortDictionary","values","buildAlternatives","sort","HavenB2B","components","ProductTile","ProductTileHaven","navigationitems","showNavigation","_m","navigationitem","navigate","children","child","childindex","categoryUrl","$gtm","trackView","selectedCategory","preventDefault","trackPageView","history","pushState","title","searchInput","productList","focus","updateNavigation","systemId","$emit","minHeight","offsetHeight","headline","mobileImageUrl","desktopImageUrl","viewmodel","ref","isActive","listHeight","search","loadCategoryIfEmptySearch","searchActive","shown","input","$refs","undefined","searchWord","searching","VueScrollTo","pageIndex","showLoadMoreButton","searchmode","loading","searchTermInternal","newTerms","oldValue","timeout","clearTimeout","query","handlePageSearch","searchterminternal","concat","pagesize","scrollPos","scrollY","getElementsByTagName","scrollTop","scrollTo","offset","searchButton","disabled","currentlocation","pathname","viewmodelInternal","categoryNavigation","pageSize","CategoryBanner","CategoryNavigation","ProductList","ProductSearch","checkoutUrl","checkoutName","imageOrientation","image","articleNumberNO","description","productDescriptionExtra","activatePdfGeneratorLink","generatePdfUrl","openPdf","drawingPdfUrl","productSheetUrl","careInstructionsPDFUrl","cutOutTemplatePDFUrl","installationGuideUrl","drawing2DUrl","drawing3DUrl","amaTextPDFUrl","highResImageUrl","priceSignUrl","approvedWaterProofUrl","highResolutionImageUrl","detail","discountPrice","categoryPath","v","variantIndex","urlName","selectVariantFromQueryString","onpopstate","token","verificationToken","split","pdfUrl","open","center","right","rightTall","sticky","drawingTopUrl","introduction","ProductAccessory","cssclass","linktext","orderPayload","orderId","orderid","showBulkImportInCheckout","importedFileName","fileChange","excelRows","strike","originalPrice","activeOrderRow","quantityDisplay","uom","updateLabeling","hide","isActiveOrderRow","activateOrderRow","removeFromCart","totalPrice","deliveryCost","vat","grandTotalExclVat","grandTotal","NaN","campaignCode","campaignCodeError","requestedDeliveryDate","currentCampaignCode","FormData","setItem","modelState","fileList","pop","alert","append","itemsNotAdded","fileupload","URL","createObjectURL","Blob","link","createElement","setAttribute","body","appendChild","click","String","scopedSlots","_u","fn","handleSubmit","checkoutmodel","alternateDeliveryAddress","isArray","_i","$$a","$$el","$$c","checked","$$v","$$i","updateUnifaun","companyName","deliveryAddress","zipCode","errors","languages","currentLanguage","days","to","lastDisabledDeliveryDate","changeDeliveryDate","callback","formattedSelectedDeliveryDate","alternativeAddress","$$selectedVal","options","val","_value","multiple","unifaunStoppageTimes","requestId","buttonIsPressed","general","message","deliveryCheckout","smsNotification","isMounted","initialDeliveryDateInternal","Date","initialDeliveryDate","selectedDeliveryDate","defaultCountryId","replace","redirectUrl","selectedDate","UnifaunCheckout","widget","createAt","language","resultCallback","widgetChanged","installCSS","tozipcode","addressCountry","countries","disable","tocountry","totalCartPrice","cartTotalExclDeliveryCost","weight","cartTotalWeight","deliveryDate","organizationId","channelSystemId","genericKeyValues","updateList","enable","unifaunOnChange","selectedUnifaunOption","optionIds","currentDictionaryValue","deliveryId","jeevesDeliveryId","smsaddon","selectedAddons","sms","fields","emailaddon","notificationEmail","phonefield","hasErrors","valid","observer","prop","error","setDate","getDate","getAttribute","DatePicker","CartView","CustomerInformation","hasCampaignVoucherEnabled","campaignPrice","priceWithoutCurrencyString","originalPriceWithoutCurrencyString","renderOnlyOnPageload","beginCheckoutGA4Event","checkoutContainer","innerHTML","paymentWidget","responseString","scriptsTags","parentNode","newScriptTag","type","text","removeChild","_klarnaCheckout","api","klarnaSelectedShippingOption","CartViewB2c","klarnahtmlsnippetinternal","klarnahtmlsnippet","localStorageCampaignCode","removeItem","klarnaOrdeConfirmationContainer","klarnaHtmlSnippetInternal","PAGE_TRANSITIONS","interval","beforeChange","afterChange","showHeaderInLightMode","blockRichText","imageMobile","video","videoType","videoMobile","sliderItemActive","lightMode","contains","activeIndex","nextVideo","currentTime","Swiper","SwiperItem","selectedTonitonClass","visibleConfigurator","configuratorPageSystemId","reopenShowerConfigurator","showerconfiguratorpdfurl","closeShowerConfigurator","saveShowerConfigurator","currentproduct","showprice","selectVariant","explodedViewPDFUrl","step3DUrl","typeApprovalFIfUrl","hasSpareParts","sparePartUrlForVariant","handleVisibleConfigurator","openShowerConfiguratorPdf","sociallinks","instagramUrl","pintrestUrl","youtubeUrl","inspirationImages","categoryheadline","categoryid","Highlight","highlight","Tall","Wide","Content","content","desktopImage","colorValue","selectVariantFromProductTile","openShowerConfigFromProduct","infiniteHandler","slot","isContentProduct","element","productImageOverrideDesktopUrl","isInSearchMode","goToVariant","productIsHighlighted","productImageOverrideMobileUrl","mobileImage","editor","searchMode","isHighLightedFromSearch","productIsTall","hidePrice","showPrices","ConfiguratorPartType","ConfiguratorMode","configuratoroptiontitle1internal","IsMobileDevice","displayConfigHeaders","active","surfaceOpen","selectedSurface","selectSurface","configuratoroptiontitle2internal","selectShowerHead","partType","ShowerHeadRound","ShowerHeadRectangular","ShowerHeadSquare","ShowerHeadFlush","getShowerHeadPrice","allShowerArms","configuratoroptiontitle3internal","selectShowerArm","ShowerArmWall","ShowerArmCeiling","getShowerArmPrice","allExtraParts","configuratoroptiontitle4internal","selectExtraPart","extraPart","getExtraPartPrice","selectedVariantPrice","goToProduct","saveConfig","ConfiguratorClient","getShowerConfiguratorModel","pageSystemId","width","height","toggleShadow","_t","shadow","bottom","left","newResizeObserver","ResizeObserver","props","mounted","scrollContainerObserver","observe","scrollContainer","$once","wrapObserver","methods","hasVerticalScrollbar","scrolledToTop","hasHorizontalScrollbar","scrolledToRight","scrolledToBottom","scrolledToLeft","loadingdata","showerHeadOpen","showerArmOpen","configuratorOptionTitle1Internal","configuratorOptionTitle1","configuratorOptionTitle2Internal","configuratorOptionTitle2","configuratorOptionTitle3Internal","configuratorOptionTitle3","configuratorOptionTitle4Internal","configuratorOptionTitle4","pageSystemIdInternal","pagesystemid","currentShowerArm","selectedShowerArm","Math","round","currencySymbol","currentShowerHead","selectedShowerHead","currentExtraPart","selectedExtraPart","newSurface","newSelectedVariant","allVariants","surface","configuratorParts","y","Surface","sameShowerHead","sameShowerArm","itemId","showerHead","sameSurface","showerArm","sameExtraPart","ExtraPart","maxWidth","variantid","configuratorVariants","fetchShowerConfiguratorModel","$data","selectedVariantInternal","allVariantsInternal","surfaces","surfaceValue","existingSurface","b","textA","toUpperCase","textB","showerArms","showerArmId","showerArmAlreadyAdded","showerHeads","showerHeadId","showerHeadAlreadyAdded","extraParts","extraPartId","extraPartAlreadyAdded","validator","default","watch","newVal","oldVal","ScrollShadow","visible","img","showSingle","showMultiple","imgs","handleHide","VueEasyLightbox","firstThree","showMore","firstThreeWithVariant","computed","urls","firstThreeUrl","showIndex","show","varianImage","beforeMount","colorFieldValue","getTonitonCssClassForCurrentProduct","isTonITon","$state","loaded","complete","categoryproducts","documentElement","pdfBtn","productInternal","filteredVariants","ProductTileB2c","InfiniteLoading","ShowerConfigurator","ProductInspirationalImages","productTileShouldBeHighlighted","modalopen","infiniteId","isLoading","executedSearchWord","searchWordInternal","categorySearchResult","searchb2c","categories","toggleSearchModal","modalOpen","searchPageUrl","toggleModal","executedSearchTerm","searchpageurl","html","toggle","SearchModal","sparePartFilter","selectedFilterSparePartByType","selectedFilterSparePartByCommonProblem","queryStringLoad","handleSearchResult","clearSearchResult","setSparePartFilter","clearSparePartFilter","showSparePartTile","loadSparePartsForSelectedVariant","selectedProductNameInternal","selectedProductName","sparePartsType","showFilterItemBasedOnCategoryId","selectedFilterText","commonProblem","showToolTip","hideAllToolTip","productSpareParts","spareParts","productType","itemClicked","searchTabActive","sparePartsTypes","searchBySparePartType","commonProblems","searchBySparePartCommonProblem","isSearching","showMenu","selectedTypeText","newTerm","sessionStorage","toggleShow","selectedQueryStringLoad","isEmpty","selectedSparePartTypeCommonProblemId","toolTips","loadSparePartsTypes","loadCommonProblems","searchTermFromUrl","searchSparePartsFromUrl","selectedFilterSparePartByTypeFromUrl","selectedFilterSparePartByCommonProblemFromUrl","relatedProducts","relatedProduct","isActiveVariant","showSpareParts","sparePartsTypesFilter","commonProblemsFilter","noSearchResults","unfilteredSparePartsForSelectedVariant","sparePartsForSelectedVariant","sparePartTypeFilter","selectedFilter","isCommonProblemFiltering","filterId","generatePermaLink","selectedCommonProblemsFilter","showFilterItem","sparePart","reload","loadFromQueryString","ssp","toLowerCase","q","spt","spc","SearchPanel","SparePartTile","SelectProductTile","customerservicemodel","buttonColor","happyCustomerCall","buttonText","sadCustomerCall","changeFromDate","formattedSelectedfromDate","changeToDate","formattedSelectedtoDate","date","firstDay","getFullYear","getMonth","selectedFromDate","selectedToDate","clickedItem","customerServiceItems","isHappy","saveCustomerResponce","optionlist","changeOrganizationProject","clearSelection","organizationProjectList","organization","projects","selectedOrganization","selectedProjectOrganization","selectedObject","Autocomplete","orderForm","postalCodeAndCity","mainCatalog","outSideCatalog","counterTopCatalog","showThankYouModal","ThankYouModal","onSubmit","ApiService2","orderCatalog","resetForm","$nextTick","handleCloseModal","showModal","currentTarget","closeModal","newsletterBackgroundImageUrl","newsletterHeader","newsletterInfoText","invalid","required","allowFalse","signUpForNewsletter","termsAndConditions","newsLetterTermsAndConditionsPageUrl","getCookie","nameEQ","ca","cookie","charAt","substring","indexOf","setCookie","expires","setTime","getTime","toUTCString","onSubmitBtnClick","hideNewsletter","handleOnClick","newsletterBannerText","currentCountryCode","countrycode","chooseCountry","selectedcountryid","currentCountryCodeInternal","selectProduct","pagesystemidinternal","configuratoroptiontitle1","configuratoroptiontitle2","configuratoroptiontitle3","configuratoroptiontitle4","scrollIntoView","detectStickyHeader","className","IntersectionObserver","intersectionRatio","threshold","descriptionText","bricmateLogo","tapwellLogo","havenLogo","imageFilters","onSearch","selectAllImages","removeAllImages","onShowModal","modalImage","onToggleImage","onDownload","Accept","getFilters","downloadImages","resolution","ids","method","Resolution","Ids","onClick","isChecked","label","placeholder","onInput","isOpen","option","caption","check","count","updated","onModalClose","toggleSelection","proxy","onCloseModal","modal","openModal","articleNumbers","imageType","convertByteToMB","lowResolutionSize","const_term","ImageModal","tpUnescape","_k","keyCode","searchValue","toggleBrandFilter","filterColors","selectedColors","filterCategories","selectedCategories","filterImageTypes","selectedImageTypes","onRemoveSelected","selectedBrands","multiSelectColor","multiSelectCategories","multiSelectImageType","filterBrands","brand","filters","colors","brands","imageTypes","selectedFilters","string","childNodes","nodeValue","ImageTile","onRemoveAll","toggleImages","showImages","totalImageSize","totalSize","showSelectedImages","ImageFilter","ImageList","SelectedImagesModal","productionTip","gtmid","throttleWait","preLoad","enabled","debug","Category","MiniCart","ProductDetail","ProductUpSell","ProductAccessoryList","ReorderButton","Checkout","ParallaxBlock","ProductDetailB2c","SearchB2c","SparePartShop","CheckoutB2c","OrderConfirmationB2c","CustomerServiceReport","SelectOrganization","SearchResultB2c","CatalogForm","NewsletterSignup","NewsletterBanner","CountryPicker","ShowerConfiguratorStandalone","ProductDetailHaven","ImageBank","created","culture","locale","$mount","addEventListener","hamburger","menu","heading","links","app","bannerText","displayWindowSize","windowWidth","max","clientWidth","innerWidth","toggleMenuClick","lastScroll","showMoreOrders","showMoreBtn","querySelectorAll","obj","ownProps","resArray","dectectMobileDevice","matchMedia","matches","toggleBodyClassName","bodyElem","thankYouHeader","thankYouMsg"],"mappings":"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","file":"js/tapwell.c54ffbe8.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(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && 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\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\"tapwell\": 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 = \"https://localhost:8080/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 mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageBank.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageBank.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageModal.vue?vue&type=style&index=0&id=df1571f8&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageModal.vue?vue&type=style&index=0&id=df1571f8&lang=scss&scoped=true&\"","export enum TapwellGroupWebsite {\r\n TapwellB2C = \"TapwellB2C\",\r\n TapwellB2B = \"TapwellB2B\",\r\n BricmateB2C = \"BricmateB2C\",\r\n HavenB2B = \"HavenB2B\",\r\n BricmateB2B = \"BricmateB2B\",\r\n}\r\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=style&index=0&id=7ead5022&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=style&index=0&id=7ead5022&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageList.vue?vue&type=style&index=0&id=1ac8ea05&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageList.vue?vue&type=style&index=0&id=1ac8ea05&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectedImagesModal.vue?vue&type=style&index=0&id=43887377&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectedImagesModal.vue?vue&type=style&index=0&id=43887377&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkbox.vue?vue&type=style&index=0&id=4dcf277d&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkbox.vue?vue&type=style&index=0&id=4dcf277d&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductDetailB2C.vue?vue&type=style&index=0&id=c3fbf432&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductDetailB2C.vue?vue&type=style&index=0&id=c3fbf432&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductAccessory.vue?vue&type=style&index=0&id=1a5589be&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductAccessory.vue?vue&type=style&index=0&id=1a5589be&lang=scss&scoped=true&\"","var map = {\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"1c73\";","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultB2C.vue?vue&type=style&index=0&id=cf48ce54&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultB2C.vue?vue&type=style&index=0&id=cf48ce54&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageBank.vue?vue&type=style&index=1&id=158f5e34&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageBank.vue?vue&type=style&index=1&id=158f5e34&lang=scss&scoped=true&\"","import { localize, extend } from \"vee-validate\";\r\nimport * as Rules from \"vee-validate/dist/rules\";\r\nimport sv from \"vee-validate/dist/locale/sv.json\";\r\nimport fi from \"vee-validate/dist/locale/fi.json\";\r\nimport en from \"vee-validate/dist/locale/en.json\";\r\n\r\nfor (const [rule, validation] of Object.entries(Rules)) {\r\n extend(rule, {\r\n ...validation\r\n });\r\n}\r\n\r\nlocalize({\r\n sv: {\r\n messages: sv.messages,\r\n names: {\r\n address: \"adress\",\r\n email: \"e-post\",\r\n zipcode: \"postnummer\",\r\n city: \"ort\",\r\n country: \"land\",\r\n recipientname: \"mottagarnamn\",\r\n goodslabeling: \"märkning\",\r\n firstname: \"Förnamn\",\r\n lastname: \"Efternamn\",\r\n notificationPhone: \"telefon\",\r\n alternatNotificationPhone:\"Alternativ telefon\",\r\n },\r\n },\r\n fi: {\r\n messages: fi.messages,\r\n names: {\r\n address: \"Osolte\",\r\n email: \"Vastaanottajan sähköpostiosolte\",\r\n zipcode: \"Oikea postinumero\",\r\n city: \"Kaupunki\",\r\n country:\"Maa\",\r\n recipientname: \"Vastaanottajan nimi\",\r\n goodslabeling: \"viite on pakollinen\",\r\n firstname: \"Etunimi\",\r\n lastname: \"Sukunimi\",\r\n notificationPhone: \"Puhelinnumero\",\r\n alternatNotificationPhone: \"Vastaanottajan puhelinnumero\",\r\n },\r\n },\r\n en: {\r\n messages: en.messages,\r\n names: {\r\n address: \"address\",\r\n email: \"e-mail\",\r\n zipcode: \"zipcode\",\r\n city: \"city\",\r\n country:\"country\",\r\n recipientname: \"recipient name\",\r\n goodslabeling: \"goods labeling\",\r\n firstname: \"Firstname\",\r\n lastname: \"Lastname\",\r\n notificationPhone: \"phone\",\r\n alternatNotificationPhone: \"alternate phone\",\r\n },\r\n },\r\n});\r\n","import axios, { AxiosResponse, AxiosRequestConfig } from \"axios\";\r\nimport \"../../models/Window\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { Cart, AddOrUpdateCartItem, ReorderCart, ProductPriceStockRequest, ProductPriceStock, ProductAvailableResponse, JeevesPriceRequest, JeevesPriceResponse } from \"@/models/tapwell/Cart\";\r\nimport { CategoryModel } from \"@/models/tapwell/Category\";\r\nimport { CheckoutModel, CampaignModel } from \"@/models/tapwell/Checkout\";\r\nimport { Product, SearchProductsResult, SearchSparePartResult, ProductSparePartsResult, SparePartsTypeResult, CommonProblemType } from \"@/models/tapwell/Product\";\r\nimport { CheckoutQuery } from \"@/models/tapwell/Unifaun\";\r\nimport { CustomerResponseModel } from \"@/models/tapwell/CustomerService\";\r\nfunction errorResponse(e: any): Promise> {\r\n const response: AxiosResponse = {\r\n data: false,\r\n status: e.response.status,\r\n statusText: e.response.data,\r\n headers: {},\r\n request: {},\r\n config: (null as unknown) as AxiosRequestConfig,\r\n };\r\n return Promise.resolve(response);\r\n}\r\n\r\nexport const ApiService = {\r\n async checkoutOrder(model: CheckoutModel): Promise> {\r\n try {\r\n return await axios.post(\"/api/checkout/placeorder\", model, {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n RequestVerificationToken: window.localStorage.getItem(\"requestVerificationToken\"),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async setDelivery(model: CheckoutModel): Promise> {\r\n try {\r\n return await axios.put(\"/api/checkout/setDeliveryProvider\", model, {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n RequestVerificationToken: window.localStorage.getItem(\"requestVerificationToken\"),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async setPaymentProvider(model: CheckoutModel): Promise> {\r\n try {\r\n return await axios.put(\"/api/checkout/setPaymentProvider\", model, {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n RequestVerificationToken: window.localStorage.getItem(\"requestVerificationToken\"),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async setShippingOption(model: CheckoutModel): Promise> {\r\n try {\r\n return await axios.put(\"/api/klarnacheckout/setShippingOption\", model, {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n RequestVerificationToken: window.localStorage.getItem(\"requestVerificationToken\"),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async setCampaignCode(campaignModel: CampaignModel): Promise> {\r\n try {\r\n return await axios.put(\"/api/checkout/setCampaignCode\", campaignModel, {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n RequestVerificationToken: window.localStorage.getItem(\"requestVerificationToken\"),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async getMiniCart(): Promise> {\r\n try {\r\n return await axios.get(\"/api/cart\", {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async addToCart(cartItem: AddOrUpdateCartItem): Promise> {\r\n try {\r\n return await axios.post(\"/api/cart/add\", cartItem, {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n RequestVerificationToken: window.localStorage.getItem(\"requestVerificationToken\"),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async updateCart(cartItem: AddOrUpdateCartItem): Promise> {\r\n try {\r\n return await axios.put(\"/api/cart/update\", cartItem, {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n RequestVerificationToken: window.localStorage.getItem(\"requestVerificationToken\"),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async reorderCart(cartItem: ReorderCart): Promise> {\r\n try {\r\n return await axios.post(\"/api/cart/reorder\", cartItem, {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n RequestVerificationToken: window.localStorage.getItem(\"requestVerificationToken\"),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async placeOrder(cartItem: ReorderCart): Promise> {\r\n try {\r\n return await axios.post(\"/api/checkout/placeorder\", cartItem, {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n RequestVerificationToken: window.localStorage.getItem(\"requestVerificationToken\"),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async getProductPriceStock(request: ProductPriceStockRequest): Promise> {\r\n try {\r\n return await axios.post(\"/api/cart/productpricestock\", request, {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async getCategory(categorySystemId: Guid, categoryShowRecursively: boolean, isHaven: boolean = false): Promise> {\r\n try {\r\n const uri = isHaven ? \"/api/havenb2b/category\" : \"/api/category\";\r\n\r\n return await axios.get(uri, {\r\n params: {\r\n categorySystemId,\r\n categoryShowRecursively,\r\n },\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async getProducts(categorySystemId: Guid, page: number, categoryShowRecursively: boolean, sortBy: string, sortVariantsByPriority: boolean, isHaven: boolean = false): Promise> {\r\n try {\r\n const uri = isHaven ? \"/api/havenb2b/category/getproducts\" : \"/api/category/getproducts\";\r\n return await axios.get(uri, {\r\n params: {\r\n categorySystemId,\r\n page,\r\n categoryShowRecursively,\r\n sortBy,\r\n sortVariantsByPriority,\r\n },\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async searchProducts(term: string, page: number, isHaven: boolean = false): Promise> {\r\n try {\r\n const uri = isHaven ? \"/api/havenb2b/category/searchproducts\" : \"/api/category/searchproducts\";\r\n return await axios.get(uri, {\r\n params: {\r\n term,\r\n page,\r\n },\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async getProductDeliveryDate(request: ProductPriceStockRequest): Promise> {\r\n try {\r\n return await axios.post(\"/api/cart/productdeliverydate\", request, {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async getDeliveryCheckouts(model: CheckoutQuery): Promise> {\r\n try {\r\n return await axios.post(\"/transportapi/unifaun/getDeliveryCheckouts\", model, {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async searchB2cProducts(term: string): Promise> {\r\n try {\r\n return await axios.get(\"/api/b2csearch/searchproducts\", {\r\n params: {\r\n term,\r\n },\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async searchSpareParts(term: string, searchSpareparts: boolean): Promise> {\r\n try {\r\n return await axios.get(\"/api/b2csearch/searchspareparts\", {\r\n params: {\r\n term,\r\n searchSpareparts,\r\n },\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async getProductSpareParts(variantId: string, sparePartCategorySystemId: Guid): Promise> {\r\n try {\r\n let sparePartCategoryId = sparePartCategorySystemId.toString();\r\n\r\n return await axios.get(\"/api/sparepartshop/getspareparts\", {\r\n params: {\r\n variantId,\r\n sparePartCategoryId,\r\n },\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async getSparePartsType(): Promise> {\r\n try {\r\n return await axios.get(\"/api/sparepartshop/sparepartstypes\", {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async getCommonProblems(): Promise> {\r\n try {\r\n return await axios.get(\"/api/sparepartshop/commonproblems\", {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async searchSparePartsByType(selectedSparePartTypeCategoryId: Guid): Promise> {\r\n try {\r\n return await axios.get(\"/api/b2csearch/searchsparepartsbytype\", {\r\n params: {\r\n selectedSparePartTypeCategoryId,\r\n },\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async saveCustomercalls(customerResponse: CustomerResponseModel): Promise> {\r\n try {\r\n return await axios.post(\"/api/customerservice/savecustomercalls\", customerResponse, {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async getCustomercallsReport(dataIdentifier: string, fromDate: Date, toDate: Date): Promise> {\r\n try {\r\n return await axios.get(\"/api/customerservice/getcustomerservicereport\", {\r\n params: {\r\n dataIdentifier,\r\n fromDate,\r\n toDate,\r\n },\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n },\r\n responseType: \"arraybuffer\",\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async importExcelToCheckout(files: File): Promise> {\r\n try {\r\n return await axios.post(\"/api/cart/importExcelToCheckout\", files, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n RequestVerificationToken: window.localStorage.getItem(\"requestVerificationToken\"),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async getSampleCheckoutExcelFile(): Promise> {\r\n try {\r\n return await axios.get(\"/api/cart/getSampleCheckoutExcelFile\", {\r\n responseType: \"arraybuffer\",\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n RequestVerificationToken: window.localStorage.getItem(\"requestVerificationToken\"),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async getJeevesPrices(request: JeevesPriceRequest): Promise> {\r\n try {\r\n return await axios.post(\"/api/cart/getjeevesprice\", request, {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n async selectCountry(selectedCountryId: string): Promise> {\r\n try {\r\n return await axios.post(\"/api/countrypicker/post\", '\"' + selectedCountryId + '\"', {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n \"Content-Type\": \"application/json\",\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n};\r\n","import { getStoreBuilder, BareActionContext } from \"vuex-typex\";\r\nimport { RootState } from \"./index\";\r\nimport { Cart, AddOrUpdateCartItem, OrderRow, ProductPriceStockRequest, OrderRowCommentsObject } from \"@/models/tapwell/Cart\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\nimport { TapwellGroupWebsite } from \"@/models/TapwellGroupWebsite\";\r\n\r\nexport interface CheckoutState {\r\n cart: Cart;\r\n}\r\n\r\nconst initialState: CheckoutState = {\r\n cart: {} as Cart,\r\n};\r\n\r\nconst store = getStoreBuilder().module(\"checkout\", initialState);\r\n\r\n// private getters\r\nfunction getStoreCart(state: CheckoutState): Cart {\r\n return state.cart;\r\n}\r\n\r\n// getters\r\nconst getStateCart = store.read(getStoreCart, \"getStoreCart\");\r\n\r\n// mutations:\r\n\r\nfunction mutateUpdateRows(state: CheckoutState): void {\r\n state.cart.orderRows.forEach((row) => {\r\n\r\n // console.log(\"mutateUpdateRows\", row, row.comments);\r\n\r\n if (row.comments) {\r\n const data: OrderRowCommentsObject = JSON.parse(row.comments);\r\n row.comment = data.comment;\r\n }\r\n\r\n //if (!row.inStock) {\r\n var isBricmateB2B = window.__currentWebsite === TapwellGroupWebsite.BricmateB2B;\r\n var checkLitiumInventory = false;\r\n \r\n if (isBricmateB2B){\r\n checkLitiumInventory = true;\r\n }\r\n const payload: ProductPriceStockRequest = {\r\n quantity: row.quantity,\r\n variantId: row.articleNumber,\r\n checkLitiumInventory: checkLitiumInventory,\r\n };\r\n \r\n ApiService.getProductDeliveryDate(payload).then((response) => {\r\n if (response && response.data) {\r\n row.formattedDateAvailable = response.data.formattedDateAvailable;\r\n row.dateAvailable = response.data.dateAvailable;\r\n row.inStock = response.data.inStock;\r\n }\r\n });\r\n //}\r\n });\r\n}\r\n\r\nfunction mutateSaveState(state: CheckoutState, payload: CheckoutState): Promise {\r\n return new Promise((resolve, reject) => {\r\n state.cart = payload.cart;\r\n mutateUpdateRows(state);\r\n resolve();\r\n });\r\n}\r\n\r\nfunction mutateUpdateCart(state: CheckoutState, payload: AddOrUpdateCartItem): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (!state.cart.orderRows || state.cart.orderRows.findIndex((row) => row.articleNumber === payload.articleNumber) === -1) {\r\n ApiService.addToCart(payload).then((response) => {\r\n if (response && response.data) {\r\n state.cart = response.data;\r\n mutateUpdateRows(state);\r\n }\r\n resolve();\r\n });\r\n } else {\r\n ApiService.updateCart(payload).then((response) => {\r\n if (response && response.data) {\r\n state.cart = response.data;\r\n mutateUpdateRows(state);\r\n }\r\n resolve();\r\n });\r\n }\r\n });\r\n}\r\n\r\nfunction mutateReloadCart(state: CheckoutState): Promise {\r\n return new Promise((resolve, reject) => {\r\n ApiService.getMiniCart().then((response) => {\r\n if(response && response.data) { \r\n state.cart = response.data;\r\n mutateUpdateRows(state);\r\n }\r\n resolve();\r\n });\r\n });\r\n}\r\n\r\nfunction mutateImportToCart(state: CheckoutState, payload: File): Promise {\r\n return new Promise((resolve, reject) => {\r\n ApiService.importExcelToCheckout(payload).then((response) => {\r\n if(response && response.data) {\r\n state.cart = response.data;\r\n if(state.cart.orderRows!=null)\r\n {\r\n mutateUpdateRows(state);\r\n }\r\n }\r\n resolve();\r\n });\r\n });\r\n}\r\n\r\n// actions\r\nasync function saveState(context: BareActionContext, payload: CheckoutState): Promise {\r\n return await mutateSaveState(context.state, payload);\r\n}\r\n\r\nasync function updateState(context: BareActionContext, payload: AddOrUpdateCartItem): Promise {\r\n return await mutateUpdateCart(context.state, payload);\r\n}\r\n\r\nasync function reloadState(context: BareActionContext): Promise {\r\n return await mutateReloadCart(context.state);\r\n}\r\nasync function excelImportState(context: BareActionContext, payload: File): Promise {\r\n return await mutateImportToCart(context.state,payload);\r\n}\r\n\r\n// export store\r\nexport const CheckoutStore = {\r\n get cart() { return getStateCart(); },\r\n saveState: store.dispatch(saveState, \"saveState\"),\r\n updateState: store.dispatch(updateState, \"updateState\"),\r\n reloadState: store.dispatch(reloadState, \"reloadState\"),\r\n excelImportState: store.dispatch(excelImportState, \"excelImportState\"),\r\n \r\n};\r\n","import { getStoreBuilder, BareActionContext } from \"vuex-typex\";\r\nimport { RootState } from \"./index\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { Product } from \"@/models/tapwell/Product\";\r\n\r\nexport interface ProductState {\r\n currentCategoryId: Guid;\r\n products: Product[];\r\n searchresult: Product[];\r\n resetInfiniteLoaderStatus: boolean;\r\n searchTerm: string;\r\n}\r\n\r\nconst initialState: ProductState = {\r\n currentCategoryId: Guid.createEmpty(),\r\n products: [],\r\n searchresult: [],\r\n resetInfiniteLoaderStatus: false,\r\n searchTerm: ''\r\n};\r\n\r\nconst store = getStoreBuilder().module(\"product\", initialState);\r\n\r\n// private getters\r\nfunction getStoreCategoryId(state: ProductState): Guid {\r\n return state.currentCategoryId;\r\n}\r\n\r\nfunction getStoreProducts(state: ProductState): Product[] {\r\n return state.products;\r\n}\r\n\r\nfunction getStoreResetInfiniteLoader(state: ProductState): boolean {\r\n return state.resetInfiniteLoaderStatus;\r\n}\r\n\r\nfunction getStoreSearchResult(state: ProductState): Product[] {\r\n return state.searchresult;\r\n}\r\n\r\nfunction getSearchTerm(state: ProductState): string {\r\n return state.searchTerm;\r\n}\r\n\r\n// getters\r\nconst getStateCategoryId = store.read(getStoreCategoryId, \"getStoreCategoryId\");\r\nconst getStateProducts = store.read(getStoreProducts, \"getStoreProducts\");\r\nconst getStateResetInfiniteLoader = store.read(getStoreResetInfiniteLoader, \"getStoreResetInfiniteLoader\");\r\nconst getStateSearchResult = store.read(getStoreSearchResult, \"getStoreSearchResult\");\r\nconst getStateSearchTerm = store.read(getSearchTerm,\"getSearchTerm\")\r\n\r\n// mutations:\r\nfunction mutateCurrentCategoryId(state: ProductState, currentCategoryId: Guid): Promise {\r\n return new Promise((resolve, reject) => {\r\n state.currentCategoryId = currentCategoryId;\r\n resolve();\r\n });\r\n}\r\n\r\nfunction mutateProducts(state: ProductState, products: Product[]): Promise {\r\n return new Promise((resolve, reject) => {\r\n state.products = products;\r\n resolve();\r\n });\r\n}\r\n\r\nfunction mutateInfiniteLoaderStatus(state: ProductState, reset: boolean): Promise {\r\n return new Promise((resolve, reject) => {\r\n state.resetInfiniteLoaderStatus = reset;\r\n resolve();\r\n });\r\n}\r\n\r\nfunction mutateSearchResult(state: ProductState, products: Product[]): Promise {\r\n return new Promise((resolve, reject) => {\r\n state.searchresult = products;\r\n resolve();\r\n });\r\n}\r\n\r\nfunction mutateSearchTerm(state: ProductState, searchTerm: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n state.searchTerm = searchTerm;\r\n resolve();\r\n });\r\n}\r\n\r\n// actions\r\nasync function saveCurrentCategoryId(context: BareActionContext, currentCategoryId: Guid): Promise {\r\n return await mutateCurrentCategoryId(context.state, currentCategoryId);\r\n}\r\n\r\nasync function saveProducts(context: BareActionContext, products: Product[]): Promise {\r\n return await mutateProducts(context.state, products);\r\n}\r\n\r\nasync function saveInfiniteLoaderStatus(context: BareActionContext, reset: boolean): Promise {\r\n return await mutateInfiniteLoaderStatus(context.state, reset);\r\n}\r\n\r\nasync function saveSearchResult(context: BareActionContext, products: Product[]): Promise {\r\n return await mutateSearchResult(context.state, products);\r\n}\r\n\r\nasync function saveSearchTerm(context:BareActionContext, searchTerm:string):Promise {\r\n return await mutateSearchTerm(context.state, searchTerm)\r\n}\r\n// export store\r\nexport const ProductStore = {\r\n saveCurrentCategoryId: store.dispatch(saveCurrentCategoryId, \"saveCurrentCategoryId\"),\r\n get currentCategoryId() { return getStateCategoryId(); },\r\n\r\n saveProducts: store.dispatch(saveProducts, \"saveProducts\"),\r\n get products() { return getStateProducts(); },\r\n\r\n saveInfiniteLoaderStatus: store.dispatch(saveInfiniteLoaderStatus, \"saveInfiniteLoaderStatus\"),\r\n get resetInfiniteLoader() { return getStateResetInfiniteLoader(); },\r\n\r\n saveSearchResult: store.dispatch(saveSearchResult, \"saveSearchResult\"),\r\n get searchresult() { return getStateSearchResult(); },\r\n\r\n saveSearchTerm: store.dispatch(saveSearchTerm,\"saveSearchTerm\"),\r\n get searchTerm(){return getStateSearchTerm();},\r\n};\r\n","import { getStoreBuilder, BareActionContext } from \"vuex-typex\";\r\nimport { RootState } from \"./index\";\r\n\r\nexport interface SparePartShopState {\r\n selectedVariantId: string;\r\n}\r\n\r\nconst initialState: SparePartShopState = {\r\n selectedVariantId: '',\r\n};\r\n\r\nconst store = getStoreBuilder().module(\"sparepartshop\", initialState);\r\n\r\n// private getters\r\nfunction getStoreSelectedVariantId(state: SparePartShopState): string {\r\n return state.selectedVariantId;\r\n}\r\n\r\n// getters\r\nconst getStateSelectedVariantId = store.read(getStoreSelectedVariantId, \"getStoreSelectedVariantId\");\r\n\r\n// mutations:\r\nfunction mutateSelectedVariantId(state: SparePartShopState, selectedVariantId: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n state.selectedVariantId = selectedVariantId;\r\n resolve();\r\n });\r\n}\r\n\r\n// actions\r\nasync function saveSelectedVariantId(context: BareActionContext, selectedVariantId: string): Promise {\r\n return await mutateSelectedVariantId(context.state, selectedVariantId);\r\n}\r\n\r\n// export store\r\nexport const SparePartShopStore = {\r\n saveSelectedVariantId: store.dispatch(saveSelectedVariantId, \"saveSelectedVariantId\"),\r\n get selectedVariantId() { return getStateSelectedVariantId(); },\r\n};\r\n","import { getStoreBuilder, BareActionContext } from \"vuex-typex\";\r\nimport { RootState } from \"./index\";\r\n\r\nexport interface NewsletterState {\r\n showNewsletterModal: boolean;\r\n}\r\n\r\nconst initialState: NewsletterState = {\r\n showNewsletterModal: false\r\n};\r\n\r\nconst store = getStoreBuilder().module(\"newsletterModal\", initialState);\r\n\r\nfunction getStoreShowNewsletterModal(state: NewsletterState): boolean {\r\n return state.showNewsletterModal;\r\n}\r\n\r\n// getters\r\nconst getShowNewsletterModal = store.read(getStoreShowNewsletterModal, \"getStoreTranslations\");\r\n\r\n// mutations\r\nfunction commitCulture(state: NewsletterState, newValue: boolean): void {\r\n state.showNewsletterModal = newValue;\r\n}\r\n\r\n// actions\r\nasync function saveNewsletterModal(context: BareActionContext, payload: NewsletterState): Promise {\r\n commitCulture(context.state, payload.showNewsletterModal);\r\n}\r\n\r\nexport const newsletterStore = {\r\n get showModal(){\r\n return getShowNewsletterModal();\r\n },\r\n saveUserState: store.dispatch(saveNewsletterModal, \"saveNewsletterModal\"),\r\n};\r\n","import { getStoreBuilder } from \"vuex-typex\";\r\nimport { RootState } from \"@/store/tapwell\";\r\nimport { ImageBankImageModel } from \"@/imagebank/model\";\r\n\r\nexport interface ImageBankState {\r\n selectedImages: ImageBankImageModel[];\r\n}\r\n\r\nconst initialState: ImageBankState = {\r\n selectedImages: new Array(),\r\n};\r\n\r\nconst store = getStoreBuilder().module(\"imagebank\", initialState);\r\n\r\n// getters\r\nconst allSelectedImagesGetter = store.read(allSelectedImages, \"allSelectedImages\");\r\n\r\n// mutations\r\nfunction addSelectedImage(state: ImageBankState, payload: ImageBankImageModel) {\r\n if (state.selectedImages.find(x => x.articleNumber === payload.articleNumber)) return;\r\n\r\n const before = [...state.selectedImages];\r\n const after = [...before, payload];\r\n\r\n state.selectedImages = [...after];\r\n}\r\n\r\nfunction removeSelectedImage(state: ImageBankState, payload: ImageBankImageModel) {\r\n const before = [...state.selectedImages];\r\n const after = [...before.filter(x => x.articleNumber !== payload.articleNumber)];\r\n\r\n state.selectedImages = [...after];\r\n}\r\n\r\nfunction clearAllSelected(state: ImageBankState) {\r\n state.selectedImages = [];\r\n}\r\n\r\n// actions\r\nexport const imageBankStore = {\r\n get selectedImages(): ImageBankImageModel[] {\r\n return allSelectedImagesGetter();\r\n },\r\n addSelectedImage: store.commit(addSelectedImage),\r\n removeSelectedImage: store.commit(removeSelectedImage),\r\n clearAllSelected: store.commit(clearAllSelected),\r\n};\r\n\r\n// functions\r\nfunction allSelectedImages(state) {\r\n return state.selectedImages;\r\n}\r\n","import Vue from \"vue\";\r\nimport Vuex, { Store } 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 \"./checkoutstate\";\r\nimport { CheckoutState } from \"./checkoutstate\";\r\nimport \"./productstate\";\r\nimport { ProductState } from \"./productstate\";\r\nimport \"./sparepartshopstate\";\r\nimport { SparePartShopState } from \"./sparepartshopstate\";\r\nimport \"./newsletterModal\";\r\nimport { NewsletterState } from \"./newsletterModal\";\r\nimport \"@/imagebank/imagebank-state\";\r\nimport { ImageBankState } from \"@/imagebank/imagebank-state\";\r\n\r\nexport interface RootState {\r\n checkout: CheckoutState;\r\n product: ProductState;\r\n sparepartshop: SparePartShopState;\r\n newsletterModal: NewsletterState;\r\n imagebank: ImageBankState;\r\n}\r\n\r\nVue.use(Vuex);\r\n\r\nconst store: Store = getStoreBuilder().vuexStore();\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',[_c('category-banner',{attrs:{\"viewmodel\":_vm.categorymodel}}),_c('div',{staticClass:\"row category-navigation__row between-md\"},[_c('category-navigation',{attrs:{\"navigationitems\":_vm.categorynavigation},on:{\"navigateToCategory\":_vm.selectCategory}}),_c('product-search',{attrs:{\"searchWord\":_vm.searchTerm},on:{\"performSearch\":_vm.performSearch,\"resetSearch\":_vm.selectCategory}})],1),_c('div',{class:{'emptysearch': _vm.noResult },attrs:{\"id\":\"productList\"}},[_c('product-list',{attrs:{\"products\":_vm.productlist}}),(_vm.showLoadMoreButton)?_c('div',{staticClass:\"category__loadmore\"},[_c('button',{staticClass:\"btn\",on:{\"click\":_vm.loadMoreProducts}},[_vm._v(_vm._s(_vm.translations[\"products.loadmore\"]))])]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"loader-container\"},[_c('div',{staticClass:\"loader\"})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.noResult),expression:\"noResult\"}],staticClass:\"noresult\"},[_vm._v(_vm._s(_vm.translations[\"search.noresult\"]))])],1)],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:\"productlistning__list\"},[_c('transition-group',{attrs:{\"name\":\"list\",\"tag\":\"div\"}},_vm._l((_vm.products),function(product,pi){return _c('div',{key:pi + 0},[(!_vm.isHavenB2B)?_c('product-tile',{attrs:{\"product\":product}}):_vm._e(),(_vm.isHavenB2B)?_c('product-tile-haven',{attrs:{\"product\":product}}):_vm._e()],1)}),0)],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.selectedVariant.price >= 0)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"productlistning__column productlistning__column--first col-xs-12 col-md-3\"},[_c('div',{staticClass:\"productlistning__info\"},[_c('h3',{staticClass:\"productlistning__category\"},[_vm._v(_vm._s(_vm.product.category))])]),(_vm.thumb)?_c('a',{staticClass:\"productlistning__img\",attrs:{\"href\":_vm.selectedVariant.url}},[_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.thumb),expression:\"thumb\",arg:\"background-image\"}],attrs:{\"alt\":_vm.selectedVariant.name}})]):_vm._e()]),_c('div',{staticClass:\"productlistning__column productlistning__column--second col-xs-12 col-md-9\"},[_c('div',{staticClass:\"productlistning__details\"},[_c('div',{staticClass:\"productlistning__row productlistning__row--1 row\"},[_c('div',{staticClass:\"productlistning__variant-container col-xs-12 col-md-6\"},[_c('h2',{staticClass:\"productlistning__variant-name\"},[_c('a',{attrs:{\"href\":_vm.selectedVariant.url}},[_vm._v(_vm._s(_vm.selectedVariant.name))])]),_c('ul',{staticClass:\"productlistning__variant-list variant-picker\"},_vm._l((_vm.product.variants),function(variant,index){return _c('li',{key:index},[(_vm.isBricmateB2B)?_c('a',{class:{ selected: _vm.selectedVariant.id == variant.id },attrs:{\"data-tooltip\":variant.size},on:{\"click\":function($event){return _vm.select(variant)}}},[_vm._v(_vm._s(variant.size))]):_c('a',{class:{ selected: _vm.selectedVariant.id == variant.id },attrs:{\"data-tooltip\":variant.colorName},on:{\"click\":function($event){return _vm.select(variant)}}},[_vm._v(_vm._s(variant.color))])])}),0)]),_c('div',{staticClass:\"productlistning__amount-container quantity-picker col-xs-12 col-md-6 hide-mobile hide-desktop\",class:{ 'show-more': _vm.showMoreActive }},[_c('span',{staticClass:\"productlistning__amount-label quantity-picker__label\"},[_vm._v(_vm._s(_vm.translations[\"checkout.cart.header.quantity\"]))]),_c('div',{staticClass:\"productlistning__amount-picker quantity-picker__container\"},[_c('a',{on:{\"click\":_vm.decreaseAmount}},[_c('span',[_vm._v(\"—\")])]),(_vm.selectedVariant.showQuantityFieldAsTextBoxInB2BSite)?_c('span',{staticClass:\"productlistning__amount quantity-picker__quantity\",class:{ 'quantity--large': _vm.selectedVariant.quantityLarge }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedVariant.newQuantity),expression:\"selectedVariant.newQuantity\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.selectedVariant.newQuantity)},on:{\"change\":_vm.handleQtyChange,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selectedVariant, \"newQuantity\", $event.target.value)}}})]):_c('span',{staticClass:\"productlistning__amount quantity-picker__quantity\",class:{ 'quantity--large': _vm.selectedVariant.quantityLarge }},[_vm._v(\" \"+_vm._s(_vm.selectedVariant.quantity)+\" \")]),(!_vm.showMaxLimitMessage || (_vm.selectedVariant.outletProduct && !_vm.selectedVariant.inStock))?_c('a',{on:{\"click\":_vm.increaseAmount}},[_c('span',[_vm._v(\"+\")])]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedVariant.showPackageBoxSizeInTheChannelsB2BSite && _vm.selectedVariant.sqmBox>0),expression:\"selectedVariant.showPackageBoxSizeInTheChannelsB2BSite && selectedVariant.sqmBox>0\"}],staticClass:\"productlistning__calculatedbox-label\"},[_vm._v(\"= \"+_vm._s(_vm.calculateBoxSize())+\" m\"),_c('sup',[_vm._v(\"2\")])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedVariant.showPackageBoxSizeInTheChannelsB2BSite && _vm.selectedVariant.sqmBox>0),expression:\"selectedVariant.showPackageBoxSizeInTheChannelsB2BSite && selectedVariant.sqmBox>0\"}],staticClass:\"productlistning__box-label\"},[_vm._v(\" 1 pkt = \"+_vm._s(_vm.selectedVariant.sqmBox)+\" m\"),_c('sup',[_vm._v(\"2\")]),_vm._v(\"/ box \")]),_c('p',{staticClass:\"productlistning__art-nr\"},[_vm._v(_vm._s(_vm.translations[\"product.articlenumber\"])+\" \"+_vm._s(_vm.selectedVariant.id))]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedVariant.productLength>0 && _vm.selectedVariant.productWidth>0),expression:\"selectedVariant.productLength>0 && selectedVariant.productWidth>0\"}],staticClass:\"productlistning__box-label\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.size\"])+\" \"+_vm._s(_vm.selectedVariant.productLength)+\" X \"+_vm._s(_vm.selectedVariant.productWidth)+\" \")]),(_vm.showMaxLimitMessage)?_c('div',{staticStyle:{\"color\":\"#ff0000\"}},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.maxbuyablequantitymessage\"])+\" \")]):_vm._e()]),_c('div',{staticClass:\"productlistning__stock hide-mobile col-xs-12 col-md-2\",class:{ 'show-more-flex': _vm.showMoreActive }},[_c('div',{staticClass:\"productlistning__stock-container\"},[_c('div',{staticClass:\"productlistning__stock-text\"},[(_vm.selectedVariant.inStock)?_c('span',[_vm._v(_vm._s(_vm.translations[\"product.delivery\"]))]):((!_vm.selectedVariant.inStock && !_vm.selectedVariant.outgoingProduct))?_c('span',[_vm._v(_vm._s(_vm.translations[\"product.backinstock\"]))]):_vm._e(),((!_vm.selectedVariant.inStock && !_vm.selectedVariant.outgoingProduct))?_c('span',[_vm._v(_vm._s(_vm.translations[\"product.deliverywithintwoweeks\"]))]):_vm._e(),((!_vm.selectedVariant.inStock && _vm.selectedVariant.outgoingProduct))?_c('span',[_vm._v(_vm._s(_vm.translations[\"product.outgoingproductdeliverymessage\"]))]):_c('span',[_vm._v(_vm._s(_vm.selectedVariant.stockStatus))])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.product.hideStockBalanceForTheProduct),expression:\"!product.hideStockBalanceForTheProduct\"}],staticClass:\"productlistning__status-icon hide-desktop\",class:{\n 'productlistning__status-icon--true': _vm.selectedVariant.inStock,\n },attrs:{\"title\":_vm.selectedVariant.inventoryName}})]),_c('div',{staticClass:\"productlistning__price col-xs-12 col-md-4 end-md hide-mobile\",class:{ 'show-more': _vm.showMoreActive }},[_c('div',{staticClass:\"productlistning__price-container\"},[(_vm.selectedVariant.price && _vm.selectedVariant.discountPercent)?_c('div',[_c('p',[_vm._v(\" \"+_vm._s(_vm.selectedVariant.displayPrice)+\" — \"+_vm._s(_vm.selectedVariant.discountPercent)+\" \")]),_c('p',{staticClass:\"productlistning__clear\"},[_vm._v(\" \"+_vm._s(_vm.selectedVariant.displayDiscountPrice)+\" \")]),(_vm.product.showVolumeDiscountInB2bProductListing)?_c('span',{staticClass:\"productlistning__volume-discount\"},[_c('span',{on:{\"click\":_vm.getJeevesPrices}},[_vm._v(_vm._s(_vm.translations[\"product.showvolumediscount\"]))]),_c('ul',{staticClass:\"tool-tip\"},_vm._l((_vm.selectedVariantJeevesPrices),function(selectedVariantJeevesPrice,index){return _c('li',{key:index},[_vm._v(_vm._s(selectedVariantJeevesPrice.quantity)+_vm._s(selectedVariantJeevesPrice.unitOfMeasurement)+\" \"+_vm._s(selectedVariantJeevesPrice.discountedPriceDisplay)+\":- /\"+_vm._s(selectedVariantJeevesPrice.unitOfMeasurement))])}),0)]):_vm._e()]):(_vm.selectedVariant.price )?_c('div',[_c('p',{staticClass:\"productlistning__clear\"},[_vm._v(\" \"+_vm._s(_vm.selectedVariant.displayPrice)+\" \")]),(_vm.product.showVolumeDiscountInB2bProductListing)?_c('span',{staticClass:\"productlistning__volume-discount\"},[_c('span',{on:{\"click\":_vm.getJeevesPrices}},[_vm._v(_vm._s(_vm.translations[\"product.showvolumediscount\"]))]),_c('ul',{staticClass:\"tool-tip\"},_vm._l((_vm.selectedVariantJeevesPrices),function(selectedVariantJeevesPrice,index){return _c('li',{key:index},[_vm._v(_vm._s(selectedVariantJeevesPrice.quantity)+_vm._s(selectedVariantJeevesPrice.unitOfMeasurement)+\" \"+_vm._s(selectedVariantJeevesPrice.discountedPriceDisplay)+\":- /\"+_vm._s(selectedVariantJeevesPrice.unitOfMeasurement))])}),0)]):_vm._e()]):_c('div',[_vm._v(\" \"+_vm._s(_vm.translations[\"free.product\"])+\" \")])])])]),_c('a',{staticClass:\"productlistning__show-more hide-desktop\",class:{ 'hide-mobile': _vm.showMoreActive },on:{\"click\":function($event){_vm.showMoreActive = true}}},[_vm._v(_vm._s(_vm.translations[\"product.discover\"]))]),_c('div',{staticClass:\"productlistning__row productlistning__row--2 row hide-mobile\",class:{ 'show-more-flex': _vm.showMoreActive }},[_c('div',{staticClass:\"productlistning__amount-container quantity-picker col-xs-12 col-md-6 hide-mobile\"},[_c('span',{staticClass:\"productlistning__amount-label quantity-picker__label hide-mobile\",class:{ 'show-more': _vm.showMoreActive }},[_vm._v(_vm._s(_vm.translations[\"checkout.cart.header.quantity\"]))]),_c('div',{staticClass:\"productlistning__amount-picker quantity-picker__container hide-mobile\",class:{ 'show-more-flex': _vm.showMoreActive }},[_c('a',{on:{\"click\":_vm.decreaseAmount}},[_c('span',[_vm._v(\"—\")])]),(_vm.selectedVariant.showQuantityFieldAsTextBoxInB2BSite)?_c('span',{staticClass:\"productlistning__amount quantity-picker__quantity\",class:{ 'quantity--large': _vm.selectedVariant.quantityLarge }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedVariant.newQuantity),expression:\"selectedVariant.newQuantity\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.selectedVariant.newQuantity)},on:{\"change\":_vm.handleQtyChange,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selectedVariant, \"newQuantity\", $event.target.value)}}})]):_c('span',{staticClass:\"productlistning__amount quantity-picker__quantity\",class:{ 'quantity--large': _vm.selectedVariant.quantityLarge }},[_vm._v(\" \"+_vm._s(_vm.selectedVariant.newQuantity)+\" \")]),(!_vm.selectedVariant.outletProduct)?_c('a',{on:{\"click\":_vm.increaseAmount}},[_c('span',[_vm._v(\"+\")])]):_vm._e(),(!_vm.showMaxLimitMessage && _vm.selectedVariant.outletProductInStockQuantity > 1)?_c('a',{on:{\"click\":_vm.increaseAmount}},[_c('span',[_vm._v(\"+\")])]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedVariant.showPackageBoxSizeInTheChannelsB2BSite && _vm.selectedVariant.sqmBox>0),expression:\"selectedVariant.showPackageBoxSizeInTheChannelsB2BSite && selectedVariant.sqmBox>0\"}],staticClass:\"productlistning__calculatedbox-label\"},[_vm._v(\"= \"+_vm._s(_vm.calculateBoxSize())+\" m\"),_c('sup',[_vm._v(\"2\")])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedVariant.showPackageBoxSizeInTheChannelsB2BSite && _vm.selectedVariant.sqmBox>0),expression:\"selectedVariant.showPackageBoxSizeInTheChannelsB2BSite && selectedVariant.sqmBox>0\"}],staticClass:\"productlistning__box-label\"},[_vm._v(\" 1 pkt = \"+_vm._s(_vm.selectedVariant.sqmBox)+\" m\"),_c('sup',[_vm._v(\"2\")]),_vm._v(\"/ box \")]),_c('p',{staticClass:\"productlistning__art-nr\"},[_vm._v(_vm._s(_vm.translations[\"product.articlenumber\"])+\" \"+_vm._s(_vm.selectedVariant.id))]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedVariant.productLength>0 && _vm.selectedVariant.productWidth>0),expression:\"selectedVariant.productLength>0 && selectedVariant.productWidth>0\"}],staticClass:\"productlistning__box-label\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.size\"])+\" \"+_vm._s(_vm.selectedVariant.productLength)+\" X \"+_vm._s(_vm.selectedVariant.productWidth)+\" \")]),(_vm.showMaxLimitMessage && _vm.selectedVariant.outletProduct || _vm.selectedVariant.outletProductInStockQuantity == 1)?_c('div',{staticStyle:{\"color\":\"#ff0000\"}},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.maxbuyablequantitymessage\"]))]):_vm._e()]),_c('div',{staticClass:\"productlistning__status col-xs-12 col-md-2 hide-mobile\"},[(!_vm.product.hideStockBalanceForTheProduct)?_c('div',{staticClass:\"productlistning__status-icon\",class:{\n 'productlistning__status-icon--true': _vm.selectedVariant.inStock,\n },attrs:{\"title\":_vm.selectedVariant.inventoryName}}):_c('div',{staticClass:\"productlistning__status-blank\"})]),_c('div',{staticClass:\"productlistning__buy-button col-xs-12 col-md-4\"},[_c('button',{staticClass:\"productlistning__btn btn\",on:{\"click\":_vm.addToCart}},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.buy\"])+\" \")])])])])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { Product, Variant } from \"@/models/tapwell/Product\";\r\nimport { AddOrUpdateCartItem, OrderRow, ProductPriceStockRequest, JeevesPriceRequest, JeevesPriceItem } from \"@/models/tapwell/Cart\";\r\nimport { CheckoutStore } from \"@/store/tapwell/checkoutstate\";\r\nimport { Spinner } from \"spin.js\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\nimport { TapwellGroupWebsite } from \"@/models/TapwellGroupWebsite\";\r\n\r\n@Component\r\nexport default class ProductTile extends Vue {\r\n @Prop()\r\n public product!: Product;\r\n @Prop()\r\n public colorFieldValue!:string;\r\n public translations: any;\r\n\r\n public selectedVariant: Variant;\r\n public spinner: Spinner;\r\n public showMoreActive: boolean = false;\r\n public quantityChangedTriggered: boolean = false;\r\n public selectedVariantJeevesPrices: JeevesPriceItem[] = [];\r\n public requestContext: any;\r\n public showMaxLimitMessage: boolean = false;\r\n \r\n public get orderRow() {\r\n return CheckoutStore.cart.orderRows && CheckoutStore.cart.orderRows.find((row) => row.articleNumber === this.selectedVariant.id);\r\n }\r\n\r\n public get isBricmateB2B() {\r\n return window.__currentWebsite === TapwellGroupWebsite.BricmateB2B;\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.spinner = new Spinner({ scale: 0.5 });\r\n if (this.product.selectedVariant) {\r\n this.selectedVariant = this.product.selectedVariant;\r\n this.selectedVariant.newQuantity = this.product.selectedVariant.quantity.toString();\r\n } else {\r\n this.selectedVariant = this.product.variants[0];\r\n this.selectedVariant.newQuantity = this.product.variants[0].quantity.toString();\r\n }\r\n\r\n this.selectedVariantJeevesPrices = [];\r\n this.translations = window.__litium.translation;\r\n this.requestContext = window.__litium.requestContext;\r\n }\r\n \r\n public get thumb(): string {\r\n if (this.selectedVariant.thumbs && this.selectedVariant.thumbs.length > 0) {\r\n return this.selectedVariant.thumbs[0];\r\n }\r\n return \"\";\r\n }\r\n\r\n public get image(): string {\r\n if (this.selectedVariant.images && this.selectedVariant.images.length > 0) {\r\n return this.selectedVariant.images[0];\r\n }\r\n return \"\";\r\n }\r\n\r\n public get shopenabled(): boolean {\r\n if(this.requestContext.enableEcommerce==='on')\r\n {\r\n return true;\r\n }\r\n\r\n if (this.requestContext.enableEcommerce==='sparePartOnly' && this.product.isSparePart) {\r\n return true;\r\n }\r\n\r\n if(this.selectedVariant.outletProduct){\r\n return true;\r\n }\r\n\r\n return false;\r\n } \r\n\r\n get isDiscontinued() : boolean {\r\n \r\n if(this.product.isDiscontinued) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public get visibleVariants(): Variant[] {\r\n return this.product.variants.filter(x => !x.hideFromVariantSelector)\r\n }\r\n\r\n @Watch(\"orderRow\") \r\n public onOrderRowChanged(orderRow: OrderRow) {\r\n if (orderRow) {\r\n this.selectedVariant.rowSystemId = orderRow.rowSystemId;\r\n //this.selectedVariant.quantity = orderRow.quantity;\r\n //this.getProductPriceAndStock(this.selectedVariant, 0);\r\n //this.checkMaximumQuantitySize();\r\n }\r\n }\r\n\r\n public mounted() {\r\n if(this.shopenabled){\r\n if (!this.selectedVariant.inStock) {\r\n this.getProductDeliveryDate();\r\n }\r\n this.checkMaximumQuantitySize();\r\n }\r\n }\r\n\r\n @Watch(\"product\")\r\n public setVariant() {\r\n this.select(this.product.variants[0]);\r\n }\r\n\r\n public select(variant: Variant): void {\r\n this.selectedVariant = variant;\r\n this.getProductPriceAndStock(this.selectedVariant, 0);\r\n }\r\n\r\n public decreaseAmount(): void {\r\n if (this.selectedVariant.quantity > 1) {\r\n this.selectedVariant.quantity -= 1;\r\n }\r\n this.selectedVariant.newQuantity = this.selectedVariant.quantity.toString();\r\n this.checkQuantitySize();\r\n this.checkMaximumQuantitySize();\r\n this.getProductPriceAndStock(this.selectedVariant, 1500);\r\n }\r\n\r\n public increaseAmount(): void {\r\n this.selectedVariant.quantity += 1;\r\n this.selectedVariant.newQuantity = this.selectedVariant.quantity.toString();\r\n this.checkQuantitySize();\r\n this.checkMaximumQuantitySize();\r\n this.getProductPriceAndStock(this.selectedVariant, 1500);\r\n }\r\n\r\n public handleQtyChange():void{\r\n \r\n if(this.selectedVariant.newQuantity.trim()==\"\")\r\n this.selectedVariant.newQuantity=\"1\";\r\n\r\n this.selectedVariant.quantity = parseInt(this.selectedVariant.newQuantity);\r\n\r\n if(this.selectedVariant.outletProduct && this.selectedVariant.quantity > this.selectedVariant.outletProductInStockQuantity)\r\n {\r\n this.selectedVariant.quantity = this.selectedVariant.outletProductInStockQuantity;\r\n this.selectedVariant.newQuantity = this.selectedVariant.outletProductInStockQuantity.toString();\r\n }\r\n this.checkQuantitySize();\r\n this.checkMaximumQuantitySize();\r\n this.getProductPriceAndStock(this.selectedVariant, 1500);\r\n }\r\n\r\n private checkQuantitySize(): void {\r\n if(this.selectedVariant.quantity > 99) {\r\n this.selectedVariant.quantityLarge = true;\r\n }\r\n else {\r\n this.selectedVariant.quantityLarge = false;\r\n }\r\n }\r\n private checkMaximumQuantitySize(): void {\r\n var maxQtyAchieved = false\r\n if(parseInt(this.selectedVariant.maximumBuyableQuantitiy) > 0 && this.selectedVariant.quantity >= parseInt(this.selectedVariant.maximumBuyableQuantitiy)) {\r\n maxQtyAchieved= true;\r\n }\r\n\r\n if(!maxQtyAchieved) \r\n {\r\n if(this.selectedVariant.outletProduct && this.selectedVariant.outletProductInStockQuantity <= this.selectedVariant.quantity)\r\n {\r\n maxQtyAchieved= true;\r\n }\r\n }\r\n\r\n this.showMaxLimitMessage = maxQtyAchieved;\r\n }\r\n\r\n public calculateBoxSize(){\r\n return (this.selectedVariant.quantity * this.selectedVariant.sqmBox).toFixed(2);\r\n }\r\n\r\n public getProductDeliveryDate(): void {\r\n const payload: ProductPriceStockRequest = {\r\n quantity: this.selectedVariant.quantity,\r\n variantId: this.selectedVariant.id,\r\n checkLitiumInventory: true,\r\n };\r\n ApiService.getProductDeliveryDate(payload).then((response) => {\r\n if (response && response.data) {\r\n this.selectedVariant.stockStatus = response.data.formattedDateAvailable;\r\n this.selectedVariant.inStock = response.data.inStock;\r\n }\r\n });\r\n }\r\n\r\n public getJeevesPrices(): void {\r\n let quantities = \"3;5;10\";\r\n\r\n var productListElem = document.getElementById(\"productList\");\r\n if(productListElem){\r\n Array.prototype.forEach.call(productListElem.getElementsByClassName(\"tool-tip\"), function(el) {\r\n el.style.display = 'none';\r\n });\r\n }\r\n\r\n const payload: JeevesPriceRequest = {\r\n quantities: quantities,\r\n variantId: this.selectedVariant.id\r\n };\r\n\r\n ApiService.getJeevesPrices(payload).then((response) => {\r\n if (response && response.data && response.data.prices) {\r\n var self = this;\r\n self.selectedVariantJeevesPrices = response.data.prices;\r\n let elem = self.$el as HTMLElement;\r\n var toolTip = elem.getElementsByClassName(\"tool-tip\") ;\r\n if(toolTip && toolTip.length>0){\r\n (toolTip[0]).style.display = 'block';\r\n }\r\n }\r\n });\r\n }\r\n\r\n public getProductPriceAndStock(variant: Variant, requestdelay: number): void {\r\n \r\n if (!this.quantityChangedTriggered) { \r\n this.spinner.spin(this.$el as HTMLElement);\r\n this.quantityChangedTriggered = true;\r\n var self = this;\r\n this.selectedVariant.newQuantity = variant.quantity.toString();\r\n setTimeout(function () { \r\n var isBricmateB2B = window.__currentWebsite === TapwellGroupWebsite.BricmateB2B;\r\n var checkLitiumInventory = false;\r\n \r\n if (isBricmateB2B){\r\n checkLitiumInventory = true;\r\n } \r\n\r\n var payload: ProductPriceStockRequest = {\r\n quantity: variant.quantity,\r\n variantId: variant.id,\r\n checkLitiumInventory: checkLitiumInventory,\r\n }; \r\n\r\n if(variant.outletProduct){\r\n payload = {\r\n quantity: variant.quantity,\r\n variantId: variant.id,\r\n checkLitiumInventory: true,\r\n };\r\n }\r\n\r\n ApiService.getProductPriceStock(payload).then((response) => {\r\n if (response && response.data ) {\r\n let data = response.data;\r\n variant.inStock = data.inStock;\r\n variant.discountPercent = data.discountPercent;\r\n variant.displayDiscountPrice = data.displayDiscountPrice;\r\n variant.displayPrice = data.displayPrice;\r\n variant.stockStatus = data.dateAvailable; \r\n }\r\n })\r\n self.quantityChangedTriggered = false;\r\n self.spinner.stop();\r\n }, requestdelay);\r\n }\r\n }\r\n\r\n public addToCart(addTrackingOnEvent: boolean = false): void {\r\n\r\n if(addTrackingOnEvent) {\r\n this.addToCartGA4Event();\r\n } \r\n this.spinner.spin(this.$el as HTMLElement);\r\n const payload: AddOrUpdateCartItem = {\r\n articleNumber: this.selectedVariant.id,\r\n quantity: this.selectedVariant.quantity,\r\n rowSystemId: this.selectedVariant.rowSystemId,\r\n comment: '',\r\n productPage: true\r\n };\r\n var header = document.querySelector(\".header\");\r\n const scrollUp = \"scroll-up\";\r\n const scrollDown = \"scroll-down\";\r\n const currentScroll = window.pageYOffset;\r\n \r\n if (currentScroll == 0) {\r\n header.classList.remove(scrollUp);\r\n header.classList.remove(scrollDown);\r\n } else {\r\n header.classList.add(scrollUp);\r\n header.classList.remove(scrollDown);\r\n }\r\n \r\n CheckoutStore.updateState(payload).then(() => {\r\n this.spinner.stop();\r\n this.selectedVariant.quantity = 1;\r\n this.selectedVariant.newQuantity = \"1\";\r\n });\r\n }\r\n\r\n public addToCartGA4Event(): void {\r\n let gtmItems: any[] = [];\r\n \r\n if (!this.orderRow) {\r\n setTimeout(() => {\r\n this.addToCartGA4Event(); \r\n }, 100);\r\n return; \r\n }\r\n \r\n //create item\r\n const item = {\r\n item_id: this.orderRow.articleNumber,\r\n item_name: this.orderRow.productName,\r\n price: parseFloat(this.selectedVariant.price.toString()),\r\n item_category: this.orderRow.category,\r\n item_variant: this.orderRow.name,\r\n quantity: this.selectedVariant.quantity\r\n };\r\n gtmItems.push(item);\r\n\r\n const currentUrl = window.location.href;\r\n\r\n let currency: string;\r\n\r\n if (currentUrl.includes(\"tapwell.se\")) {\r\n currency = \"SEK\";\r\n } else if (currentUrl.includes(\"tapwell.no\")) {\r\n currency = \"NOK\";\r\n } else if (currentUrl.includes(\"tapwell.dk\")) {\r\n currency = \"DKK\";\r\n } else {\r\n currency = \"EUR\"; \r\n }\r\n\r\n //calc total value\r\n const totalValue = this.calculateTotalValue(gtmItems);\r\n \r\n if (gtmItems.length > 0) {\r\n const dataLayerObject = {\r\n event: \"add_to_cart\",\r\n ecommerce: {\r\n currency: currency,\r\n value: totalValue,\r\n items: gtmItems\r\n }\r\n };\r\n // Push to dataLayer\r\n window.dataLayer.push(dataLayerObject);\r\n }\r\n }\r\n\r\n public calculateTotalValue(items: any[]): number {\r\n const total = items.reduce((acc, item) => {\r\n return acc + (item.price * item.quantity);\r\n }, 0); \r\n return total;\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--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductTile.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductTile.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductTile.vue?vue&type=template&id=6511907b&scoped=true&\"\nimport script from \"./ProductTile.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductTile.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ProductTile.vue?vue&type=style&index=0&id=6511907b&lang=scss&scoped=true&\"\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 \"6511907b\",\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.selectedVariant.price >= 0)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"productlistning__column productlistning__column--first col-xs-12 col-md-3\"},[_c('div',{staticClass:\"productlistning__info\"},[_c('h3',{staticClass:\"productlistning__category\"},[_vm._v(_vm._s(_vm.product.category))])]),(_vm.thumb)?_c('a',{staticClass:\"productlistning__img\",attrs:{\"href\":_vm.selectedVariant.url}},[_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.thumb),expression:\"thumb\",arg:\"background-image\"}],attrs:{\"alt\":_vm.selectedVariant.name}})]):_vm._e()]),_c('div',{staticClass:\"productlistning__column productlistning__column--second col-xs-12 col-md-9\"},[_c('div',{staticClass:\"productlistning__details\"},[_c('div',{staticClass:\"productlistning__row productlistning__row--1 row\"},[_c('div',{staticClass:\"productlistning__variant-container col-xs-12 col-md-6\"},[_c('h2',{staticClass:\"productlistning__variant-name\"},[_c('a',{attrs:{\"href\":_vm.selectedVariant.url}},[_vm._v(_vm._s(_vm.selectedVariant.name))])]),_c('ul',{staticClass:\"productlistning__variant-list variant-picker\"},_vm._l((_vm.tops),function(top,index){return _c('li',{key:index},[_c('a',{class:{ selected: _vm.selectedTop.id == top.id },attrs:{\"data-tooltip\":top.top},on:{\"click\":function($event){return _vm.selectTop(top)}}},[_vm._v(_vm._s(top.top))])])}),0),_c('ul',{staticClass:\"productlistning__variant-list variant-picker\"},_vm._l((_vm.alternatives),function(alternative,index){return _c('li',{key:index},[_c('a',{class:{ selected: _vm.selectedVariant.id == alternative.id },attrs:{\"data-tooltip\":alternative.alternative},on:{\"click\":function($event){return _vm.select(alternative)}}},[_vm._v(_vm._s(alternative.alternative))])])}),0)]),_c('div',{staticClass:\"productlistning__amount-container quantity-picker col-xs-12 col-md-6 hide-mobile hide-desktop\",class:{ 'show-more': _vm.showMoreActive }},[_c('span',{staticClass:\"productlistning__amount-label quantity-picker__label\"},[_vm._v(_vm._s(_vm.translations[\"checkout.cart.header.quantity\"]))]),_c('div',{staticClass:\"productlistning__amount-picker quantity-picker__container\"},[_c('a',{on:{\"click\":_vm.decreaseAmount}},[_c('span',[_vm._v(\"—\")])]),_c('span',{staticClass:\"productlistning__amount quantity-picker__quantity\",class:{ 'quantity--large': _vm.selectedVariant.quantityLarge }},[_vm._v(_vm._s(_vm.selectedVariant.quantity))]),(!_vm.showMaxLimitMessage)?_c('a',{on:{\"click\":_vm.increaseAmount}},[_c('span',[_vm._v(\"+\")])]):_vm._e()]),(_vm.showMaxLimitMessage)?_c('div',{staticStyle:{\"color\":\"#ff0000\"}},[_vm._v(_vm._s(_vm.translations[\"product.maxbuyablequantitymessage\"]))]):_vm._e()]),_c('div',{staticClass:\"productlistning__stock hide-mobile col-xs-12 col-md-2\",class:{ 'show-more-flex': _vm.showMoreActive }},[_c('div',{staticClass:\"productlistning__stock-container\"},[_c('div',{staticClass:\"productlistning__stock-text\"},[_c('span',[_vm._v(_vm._s(_vm.translations[\"product.backinstock\"]))])])]),_c('div',{staticClass:\"productlistning__status-icon productlistning__status-icon--true hide-desktop\",attrs:{\"title\":_vm.selectedVariant.inventoryName}})]),_c('div',{staticClass:\"productlistning__price col-xs-12 col-md-4 end-md hide-mobile\",class:{ 'show-more': _vm.showMoreActive }},[_c('div',{staticClass:\"productlistning__price-container\"},[(_vm.selectedVariant.price)?_c('div',[_c('p',[_vm._v(\" \"+_vm._s(_vm.selectedVariant.displayPrice)+\" — \"+_vm._s(_vm.selectedVariant.discountPercent)+\" \")]),_c('p',{staticClass:\"productlistning__clear\"},[_vm._v(\" \"+_vm._s(_vm.selectedVariant.displayDiscountPrice)+\" \")]),(_vm.product.showVolumeDiscountInB2bProductListing)?_c('span',{staticClass:\"productlistning__volume-discount\"},[_c('span',{on:{\"click\":_vm.getJeevesPrices}},[_vm._v(_vm._s(_vm.translations[\"product.showvolumediscount\"]))]),_c('ul',{staticClass:\"tool-tip\"},_vm._l((_vm.selectedVariantJeevesPrices),function(selectedVariantJeevesPrice,index){return _c('li',{key:index},[_vm._v(\" \"+_vm._s(selectedVariantJeevesPrice.quantity)+_vm._s(selectedVariantJeevesPrice.unitOfMeasurement)+\" \"+_vm._s(selectedVariantJeevesPrice.discountedPriceDisplay)+\":- /\"+_vm._s(selectedVariantJeevesPrice.unitOfMeasurement)+\" \")])}),0)]):_vm._e()]):_c('div',[_vm._v(\" \"+_vm._s(_vm.translations[\"free.product\"])+\" \")])])])]),_c('a',{staticClass:\"productlistning__show-more hide-desktop\",class:{ 'hide-mobile': _vm.showMoreActive },on:{\"click\":function($event){_vm.showMoreActive = true}}},[_vm._v(_vm._s(_vm.translations[\"product.discover\"]))]),_c('div',{staticClass:\"productlistning__row productlistning__row--2 row hide-mobile\",class:{ 'show-more-flex': _vm.showMoreActive }},[_c('div',{staticClass:\"productlistning__amount-container quantity-picker col-xs-12 col-md-6 hide-mobile\"},[_c('span',{staticClass:\"productlistning__amount-label quantity-picker__label hide-mobile\",class:{ 'show-more': _vm.showMoreActive }},[_vm._v(_vm._s(_vm.translations[\"checkout.cart.header.quantity\"]))]),_c('div',{staticClass:\"productlistning__amount-picker quantity-picker__container hide-mobile\",class:{ 'show-more-flex': _vm.showMoreActive }},[_c('a',{on:{\"click\":_vm.decreaseAmount}},[_c('span',[_vm._v(\"—\")])]),_c('span',{staticClass:\"productlistning__amount quantity-picker__quantity\",class:{ 'quantity--large': _vm.selectedVariant.quantityLarge }},[_vm._v(_vm._s(_vm.selectedVariant.quantity))]),(!_vm.showMaxLimitMessage)?_c('a',{on:{\"click\":_vm.increaseAmount}},[_c('span',[_vm._v(\"+\")])]):_vm._e()]),(_vm.showMaxLimitMessage)?_c('div',{staticStyle:{\"color\":\"#ff0000\"}},[_vm._v(_vm._s(_vm.translations[\"product.maxbuyablequantitymessage\"]))]):_vm._e()]),_c('div',{staticClass:\"productlistning__status col-xs-12 col-md-2 hide-mobile\"},[_c('div',{staticClass:\"productlistning__status-icon productlistning__status-icon--true\",attrs:{\"title\":_vm.selectedVariant.inventoryName}})]),_c('div',{staticClass:\"productlistning__buy-button col-xs-12 col-md-4\"},[_c('button',{staticClass:\"productlistning__btn btn\",on:{\"click\":_vm.addToCart}},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.buy\"])+\" \")])])])])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { AddOrUpdateCartItem, OrderRow, ProductPriceStockRequest, JeevesPriceRequest, JeevesPriceItem } from \"@/models/tapwell/Cart\";\r\nimport { CheckoutStore } from \"@/store/tapwell/checkoutstate\";\r\nimport { Spinner } from \"spin.js\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\nimport { Product, Variant } from \"../../../models/haven-b2b/Product\";\r\n\r\n@Component\r\nexport default class ProductTileHaven extends Vue {\r\n @Prop()\r\n public product!: Product;\r\n @Prop()\r\n public colorFieldValue!: string;\r\n public translations: any;\r\n\r\n public selectedVariant: Variant;\r\n public spinner: Spinner;\r\n public showMoreActive: boolean = false;\r\n public quantityChangedTriggered: boolean = false;\r\n public selectedVariantJeevesPrices: JeevesPriceItem[] = [];\r\n public requestContext: any;\r\n public showMaxLimitMessage: boolean = false;\r\n\r\n protected selectedTop: Variant;\r\n protected tops: { [key: string]: Variant } = {};\r\n protected alternatives: { [key: string]: Variant } = {};\r\n\r\n public get orderRow() {\r\n return CheckoutStore.cart.orderRows && CheckoutStore.cart.orderRows.find(row => row.articleNumber === this.selectedVariant.id);\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.spinner = new Spinner({ scale: 0.5 });\r\n if (this.product.selectedVariant) {\r\n this.selectedVariant = this.product.selectedVariant;\r\n } else {\r\n this.selectedVariant = this.product.variants[0];\r\n }\r\n this.selectedVariantJeevesPrices = [];\r\n\r\n this.translations = window.__litium.translation;\r\n this.requestContext = window.__litium.requestContext;\r\n\r\n const tops = this.buildTops(this.product);\r\n this.tops = tops.tops;\r\n this.selectedTop = tops.top;\r\n\r\n const alternatives = this.buildAlternatives(this.product, this.selectedTop);\r\n this.alternatives = alternatives.alternatives;\r\n this.selectedVariant = alternatives.alternative;\r\n }\r\n\r\n public get thumb(): string {\r\n if (this.selectedVariant.thumbs && this.selectedVariant.thumbs.length > 0) {\r\n return this.selectedVariant.thumbs[0];\r\n }\r\n return \"\";\r\n }\r\n\r\n public get image(): string {\r\n if (this.selectedVariant.images && this.selectedVariant.images.length > 0) {\r\n return this.selectedVariant.images[0];\r\n }\r\n return \"\";\r\n }\r\n\r\n public get shopenabled(): boolean {\r\n if (this.requestContext.enableEcommerce === \"on\") {\r\n return true;\r\n }\r\n\r\n if (this.requestContext.enableEcommerce === \"sparePartOnly\" && this.product.isSparePart) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public get visibleVariants(): Variant[] {\r\n return this.product.variants.filter(x => !x.hideFromVariantSelector);\r\n }\r\n\r\n @Watch(\"orderRow\")\r\n public onOrderRowChanged(orderRow: OrderRow) {\r\n if (orderRow) {\r\n this.selectedVariant.rowSystemId = orderRow.rowSystemId;\r\n this.selectedVariant.quantity = orderRow.quantity;\r\n this.getProductPriceAndStock(this.selectedVariant, 0);\r\n this.checkMaximumQuantitySize();\r\n }\r\n }\r\n\r\n public mounted() {\r\n if (!this.selectedVariant.inStock && this.shopenabled) {\r\n this.getProductDeliveryDate();\r\n }\r\n }\r\n\r\n @Watch(\"product\")\r\n public setVariant() {\r\n this.select(this.product.variants[0]);\r\n }\r\n\r\n public select(variant: Variant): void {\r\n this.selectedVariant = variant;\r\n this.getProductPriceAndStock(this.selectedVariant, 0);\r\n }\r\n\r\n public decreaseAmount(): void {\r\n this.selectedVariant.quantity -= 1;\r\n if (this.selectedVariant.quantity < 0) {\r\n this.selectedVariant.quantity = 0;\r\n }\r\n this.checkQuantitySize();\r\n this.checkMaximumQuantitySize();\r\n this.getProductPriceAndStock(this.selectedVariant, 1500);\r\n }\r\n\r\n public increaseAmount(): void {\r\n this.selectedVariant.quantity += 1;\r\n this.checkQuantitySize();\r\n this.checkMaximumQuantitySize();\r\n this.getProductPriceAndStock(this.selectedVariant, 1500);\r\n }\r\n\r\n private checkQuantitySize(): void {\r\n if (this.selectedVariant.quantity > 99) {\r\n this.selectedVariant.quantityLarge = true;\r\n } else {\r\n this.selectedVariant.quantityLarge = false;\r\n }\r\n }\r\n private checkMaximumQuantitySize(): void {\r\n if (parseInt(this.selectedVariant.maximumBuyableQuantitiy) > 0 && this.selectedVariant.quantity >= parseInt(this.selectedVariant.maximumBuyableQuantitiy)) {\r\n this.showMaxLimitMessage = true;\r\n } else {\r\n this.showMaxLimitMessage = false;\r\n }\r\n }\r\n\r\n public getProductDeliveryDate(): void {\r\n const payload: ProductPriceStockRequest = {\r\n quantity: this.selectedVariant.quantity,\r\n variantId: this.selectedVariant.id,\r\n checkLitiumInventory: true,\r\n };\r\n ApiService.getProductDeliveryDate(payload).then(response => {\r\n if (response && response.data) {\r\n this.selectedVariant.stockStatus = response.data.formattedDateAvailable;\r\n this.selectedVariant.inStock = response.data.inStock;\r\n }\r\n });\r\n }\r\n\r\n public getJeevesPrices(): void {\r\n let quantities = \"3;5;10\";\r\n\r\n var productListElem = document.getElementById(\"productList\");\r\n if (productListElem) {\r\n Array.prototype.forEach.call(productListElem.getElementsByClassName(\"tool-tip\"), function(el) {\r\n el.style.display = \"none\";\r\n });\r\n }\r\n\r\n const payload: JeevesPriceRequest = {\r\n quantities: quantities,\r\n variantId: this.selectedVariant.id,\r\n };\r\n\r\n ApiService.getJeevesPrices(payload).then(response => {\r\n if (response && response.data && response.data.prices) {\r\n var self = this;\r\n self.selectedVariantJeevesPrices = response.data.prices;\r\n let elem = self.$el as HTMLElement;\r\n var toolTip = elem.getElementsByClassName(\"tool-tip\");\r\n if (toolTip && toolTip.length > 0) {\r\n (toolTip[0]).style.display = \"block\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n public getProductPriceAndStock(variant: Variant, requestdelay: number): void {\r\n if (!this.quantityChangedTriggered) {\r\n this.spinner.spin(this.$el as HTMLElement);\r\n this.quantityChangedTriggered = true;\r\n var self = this;\r\n setTimeout(function() {\r\n const payload: ProductPriceStockRequest = {\r\n quantity: variant.quantity,\r\n variantId: variant.id,\r\n checkLitiumInventory: false,\r\n };\r\n ApiService.getProductPriceStock(payload).then(response => {\r\n if (response && response.data) {\r\n let data = response.data;\r\n variant.inStock = data.inStock;\r\n variant.discountPercent = data.discountPercent;\r\n variant.displayDiscountPrice = data.displayDiscountPrice;\r\n variant.displayPrice = data.displayPrice;\r\n variant.stockStatus = data.dateAvailable;\r\n }\r\n });\r\n self.quantityChangedTriggered = false;\r\n self.spinner.stop();\r\n }, requestdelay);\r\n }\r\n }\r\n\r\n public addToCart(): void {\r\n this.spinner.spin(this.$el as HTMLElement);\r\n const payload: AddOrUpdateCartItem = {\r\n articleNumber: this.selectedVariant.id,\r\n quantity: this.selectedVariant.quantity,\r\n rowSystemId: this.selectedVariant.rowSystemId,\r\n comment: \"\",\r\n };\r\n var header = document.querySelector(\".header\");\r\n const scrollUp = \"scroll-up\";\r\n const scrollDown = \"scroll-down\";\r\n const currentScroll = window.pageYOffset;\r\n\r\n if (currentScroll == 0) {\r\n header.classList.remove(scrollUp);\r\n header.classList.remove(scrollDown);\r\n } else {\r\n header.classList.add(scrollUp);\r\n header.classList.remove(scrollDown);\r\n }\r\n\r\n CheckoutStore.updateState(payload).then(() => {\r\n this.spinner.stop();\r\n });\r\n }\r\n\r\n public selectTop(top: Variant): void {\r\n this.selectedTop = top;\r\n\r\n const result = this.buildAlternatives(this.product, top);\r\n\r\n this.alternatives = result.alternatives;\r\n this.selectedVariant = result.alternative;\r\n\r\n this.getProductPriceAndStock(this.selectedVariant, 0);\r\n }\r\n\r\n buildTops = (product: Product) => {\r\n const items: { [key: string]: Variant } = {};\r\n\r\n for (const variant of product.variants) {\r\n items[variant.top] = variant;\r\n }\r\n\r\n const tops = this.sortDictionary(items);\r\n const top = Object.values(tops)[0];\r\n\r\n return { tops, top };\r\n };\r\n\r\n buildAlternatives = (product: Product, top: Variant) => {\r\n const items: { [key: string]: Variant } = {};\r\n\r\n for (const variant of product.variants) {\r\n if (variant.top !== top.top) continue;\r\n\r\n items[variant.alternative] = variant;\r\n }\r\n\r\n const alternatives = this.sortDictionary(items);\r\n const alternative = Object.values(alternatives)[0];\r\n\r\n return { alternatives, alternative };\r\n };\r\n\r\n sortDictionary = (item: T): T => {\r\n return Object.keys(item)\r\n .sort()\r\n .reduce((acc, x) => {\r\n acc[x] = item[x];\r\n return acc;\r\n }, {}) as T;\r\n };\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductTileHaven.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductTileHaven.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductTileHaven.vue?vue&type=template&id=2fbdfb12&scoped=true&\"\nimport script from \"./ProductTileHaven.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductTileHaven.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ProductTileHaven.vue?vue&type=style&index=0&id=2fbdfb12&lang=scss&scoped=true&\"\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 \"2fbdfb12\",\n null\n \n)\n\nexport default component.exports","import { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { TapwellGroupWebsite } from \"@/models/TapwellGroupWebsite\";\r\nimport { Product } from \"@/models/tapwell/Product\";\r\nimport ProductTile from \"../Product/ProductTile.vue\";\r\nimport ProductTileHaven from \"../Product/ProductTileHaven.vue\";\r\n\r\n@Component({\r\n components: {\r\n ProductTile,\r\n ProductTileHaven,\r\n },\r\n})\r\nexport default class ProductList extends Vue {\r\n @Prop()\r\n protected products!: Product[];\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n get isHavenB2B() {\r\n return window.__currentWebsite === TapwellGroupWebsite.HavenB2B;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductList.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductList.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductList.vue?vue&type=template&id=155c3067&scoped=true&\"\nimport script from \"./ProductList.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductList.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ProductList.vue?vue&type=style&index=0&id=155c3067&lang=scss&scoped=true&\"\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 \"155c3067\",\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.navigationitems.length > 0)?_c('div',{staticClass:\"category-navigation col-xs-12 col-md-3\"},[_c('div',{staticClass:\"category-navigation__offcet\"}),_c('a',{staticClass:\"category-navigation__show-navigation hide-desktop\",class:{ 'hide': _vm.showNavigation },on:{\"click\":function($event){_vm.showNavigation = true}}},[_vm._v(_vm._s(_vm.translations[\"category.categories\"]))]),_c('a',{staticClass:\"category-navigation__hide-navigation\",class:{ 'open': _vm.showNavigation },on:{\"click\":function($event){_vm.showNavigation = false}}},[_c('p',[_vm._v(_vm._s(_vm.translations[\"category.categories\"]))]),_vm._v(\" \"),_vm._m(0)]),_c('div',{staticClass:\"category-navigation__nav\"},[_c('ul',{staticClass:\"category-navigation__list\",class:{ 'open': _vm.showNavigation },attrs:{\"id\":\"category-navigation-list\"}},_vm._l((_vm.navigationitems),function(navigationitem,index){return _c('li',{key:index},[_c('a',{directives:[{name:\"scroll-to\",rawName:\"v-scroll-to\",value:('#category-navigation-list'),expression:\"'#category-navigation-list'\"}],class:{ selected : navigationitem.selected },attrs:{\"href\":navigationitem.url},on:{\"click\":function($event){return _vm.navigate(navigationitem, $event)}}},[_vm._v(_vm._s(navigationitem.name))]),(navigationitem.children.length > 0)?_c('ul',{staticClass:\"category-navigation__child-list\"},_vm._l((navigationitem.children),function(child,childindex){return _c('li',{key:childindex,class:{ selected : child.selected }},[_c('a',{directives:[{name:\"scroll-to\",rawName:\"v-scroll-to\",value:('#category-navigation-list'),expression:\"'#category-navigation-list'\"}],attrs:{\"href\":child.url},on:{\"click\":function($event){return _vm.navigate(child, $event)}}},[_vm._v(_vm._s(child.name))])])}),0):_vm._e()])}),0)])]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('span',{staticClass:\"line\"}),_vm._v(\" \"),_c('span',{staticClass:\"line\"})])}]\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { CategoryNavigationItem } from \"@/models/tapwell/Category\";\r\nimport { ProductStore } from \"@/store/tapwell/productstate\";\r\nimport { Product } from \"@/models/tapwell/Product\";\r\n\r\n@Component\r\nexport default class CategoryNavigation extends Vue {\r\n public translations: any;\r\n\r\n @Prop()\r\n protected navigationitems!: CategoryNavigationItem[];\r\n\r\n private showNavigation: boolean;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__litium.translation;\r\n this.showNavigation = false;\r\n }\r\n\r\n private trackPageView(categoryUrl: string): void {\r\n this.$gtm.trackView(\"CategoryNavigation\", categoryUrl);\r\n }\r\n \r\n private navigate(selectedCategory: CategoryNavigationItem, e: Event): void {\r\n e.preventDefault();\r\n this.trackPageView(selectedCategory.url);\r\n window.history.pushState(null, \"\", selectedCategory.url);\r\n document.title = selectedCategory.name;\r\n var searchInput = document.querySelector(\".product-search__input\");\r\n var productList: HTMLElement = document.getElementById('productList') !;\r\n const focus = \"focus\";\r\n\r\n this.updateNavigation(selectedCategory);\r\n ProductStore.saveCurrentCategoryId(selectedCategory.systemId);\r\n ProductStore.saveProducts([] as Product[]);\r\n this.$emit(\"navigateToCategory\", selectedCategory.systemId);\r\n\r\n searchInput.classList.remove(focus);\r\n searchInput.value = \"\";\r\n productList.style.minHeight = productList.offsetHeight +\"px\";\r\n }\r\n\r\n private updateNavigation(selectedCategory: CategoryNavigationItem): void {\r\n for (const category of this.navigationitems) {\r\n if (category.systemId === selectedCategory.systemId) {\r\n category.selected = true;\r\n } else {\r\n category.selected = false;\r\n }\r\n\r\n for (const child of category.children) {\r\n if (child.systemId === selectedCategory.systemId) {\r\n category.selected = true;\r\n child.selected = true;\r\n } else {\r\n child.selected = false;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./CategoryNavigation.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./CategoryNavigation.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CategoryNavigation.vue?vue&type=template&id=32c4f5e0&\"\nimport script from \"./CategoryNavigation.ts?vue&type=script&lang=ts&\"\nexport * from \"./CategoryNavigation.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./CategoryNavigation.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"banner\"},[_c('div',{staticClass:\"col-xs-12 col-md-3\"}),_c('div',{staticClass:\"banner__text col-xs-12 col-md-5\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.headline)}})]),(_vm.desktopImageUrl)?_c('div',{staticClass:\"banner__img banner__img--desktop\",class:{ 'hide-mobile': _vm.mobileImageUrl },style:({ 'background-image': 'url(' + _vm.desktopImageUrl + ')' })}):_vm._e(),(_vm.mobileImageUrl)?_c('div',{staticClass:\"banner__img banner__img--mobile hide-desktop\",style:({ 'background-image': 'url(' + _vm.mobileImageUrl + ')' })}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { CategoryModel } from \"@/models/tapwell/Category\";\r\n\r\n@Component\r\nexport default class CategoryBanner extends Vue {\r\n\r\n @Prop()\r\n protected viewmodel!: CategoryModel;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n get headline(): string {\r\n return this.viewmodel.headline;\r\n }\r\n\r\n get desktopImageUrl(): string {\r\n return this.viewmodel.desktopImageUrl;\r\n }\r\n\r\n get mobileImageUrl(): string {\r\n return this.viewmodel.mobileImageUrl;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./CategoryBanner.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./CategoryBanner.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CategoryBanner.vue?vue&type=template&id=45f930c6&\"\nimport script from \"./CategoryBanner.ts?vue&type=script&lang=ts&\"\nexport * from \"./CategoryBanner.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-search col-xs-4 col-md-3\"},[_c('div',{staticClass:\"product-search__form-control\"},[_c('div',[_c('input',{directives:[{name:\"scroll-to\",rawName:\"v-scroll-to\",value:('#category-navigation-list'),expression:\"'#category-navigation-list'\"}],ref:\"search\",staticClass:\"product-search__input\",class:{focus: _vm.isActive},attrs:{\"type\":\"text\",\"placeholder\":_vm.translations['category.search']},on:{\"focus\":_vm.listHeight,\"input\":_vm.search,\"keyup\":_vm.loadCategoryIfEmptySearch}}),_c('button',{attrs:{\"type\":\"submit\",\"value\":\"Submit\",\"id\":\"product_search_button\"},on:{\"click\":_vm.searchActive}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { ProductStore } from \"@/store/tapwell/productstate\";\r\n\r\n@Component\r\nexport default class ProductSearch extends Vue {\r\n public translations: any;\r\n private isActive: boolean = false;\r\n public shown: boolean = false;\r\n @Prop()\r\n private searchWord!: string;\r\n\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__litium.translation;\r\n\r\n }\r\n\r\n mounted(){\r\n var input = this.$refs.search as HTMLInputElement;\r\n\r\n if(this.searchWord!=undefined)\r\n {\r\n input.value = this.searchWord;\r\n }\r\n }\r\n\r\n listHeight() {\r\n var productList: HTMLElement = document.getElementById('productList') !;\r\n productList.style.minHeight = productList.offsetHeight + 'px;'\r\n var header = document.querySelector(\".header\");\r\n const searching = \"searching\";\r\n this.shown = true;\r\n if (this.shown == true) {\r\n header.classList.add(searching);\r\n }\r\n else {\r\n header.classList.remove(searching);\r\n } \r\n\r\n }\r\n search(event: Event) {\r\n var input = event.target as HTMLInputElement;\r\n var value = input.value;\r\n\r\n this.$emit(\"performSearch\", value); \r\n }\r\n\r\n loadCategoryIfEmptySearch(event: Event) {\r\n var input = event.target as HTMLInputElement;\r\n var value = input.value;\r\n var searchInput = document.querySelector(\".product-search__input\");\r\n const focus = \"focus\";\r\n \r\n if (!value || value.length == 0) {\r\n this.$emit(\"resetSearch\", ProductStore.currentCategoryId);\r\n var header = document.querySelector(\".header\");\r\n const searching = \"searching\";\r\n searchInput.classList.remove(focus);\r\n header.classList.remove(searching); \r\n }\r\n }\r\n searchActive() {\r\n this.isActive = !this.isActive;\r\n var input = this.$refs.search as HTMLInputElement;\r\n input.focus();\r\n \r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductSearch.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductSearch.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductSearch.vue?vue&type=template&id=0b5eeed8&\"\nimport script from \"./ProductSearch.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductSearch.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, Watch } from \"vue-property-decorator\";\r\nimport { CategoryNavigationItem, CategoryModel } from \"@/models/tapwell/Category\";\r\nimport { Product, SearchProductsResult } from \"@/models/tapwell/Product\";\r\nimport ProductList from \"./ProductList.vue\";\r\nimport CategoryNavigation from \"./CategoryNavigation.vue\";\r\nimport CategoryBanner from \"./CategoryBanner.vue\";\r\nimport ProductSearch from \"./ProductSearch.vue\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\nimport { ProductStore } from \"@/store/tapwell/productstate\";\r\nimport { TapwellGroupWebsite } from \"@/models/TapwellGroupWebsite\";\r\n\r\nvar VueScrollTo = require(\"vue-scrollto\");\r\n\r\n@Component({\r\n components: {\r\n CategoryBanner,\r\n CategoryNavigation,\r\n ProductList,\r\n ProductSearch,\r\n },\r\n})\r\nexport default class Category extends Vue {\r\n public translations: any;\r\n\r\n @Prop()\r\n protected viewmodel!: CategoryModel;\r\n\r\n private viewmodelInternal!: CategoryModel;\r\n\r\n private pageIndex: number = 2;\r\n\r\n public showLoadMoreButton: boolean = true;\r\n\r\n private searchmode: boolean = false;\r\n\r\n @Prop()\r\n protected searchTerm!: string;\r\n\r\n private loading: boolean = false;\r\n\r\n private noResult: boolean = false;\r\n\r\n private requestContext: any;\r\n\r\n private searchTermInternal: string = \"\";\r\n\r\n private timeout: any;\r\n\r\n constructor() {\r\n super();\r\n this.categorymodel = this.viewmodel;\r\n this.translations = window.__litium.translation;\r\n this.requestContext = window.__litium.requestContext;\r\n }\r\n\r\n get categorymodel(): CategoryModel {\r\n return this.viewmodelInternal;\r\n }\r\n\r\n set categorymodel(value: CategoryModel) {\r\n this.viewmodelInternal = value;\r\n }\r\n\r\n get productlist(): Product[] {\r\n return ProductStore.products;\r\n }\r\n\r\n get categorynavigation(): CategoryNavigationItem[] {\r\n return this.categorymodel.categoryNavigation;\r\n }\r\n\r\n get pagesize(): number {\r\n return this.requestContext.pageSize;\r\n }\r\n\r\n set searchterminternal(value: string) {\r\n this.searchTermInternal = value;\r\n }\r\n\r\n get searchterminternal(): string {\r\n return this.searchTermInternal;\r\n }\r\n\r\n @Watch(\"searchterminternal\")\r\n public termsChanged(newTerms: string, oldValue: string) {\r\n var isHaven = window.__currentWebsite === TapwellGroupWebsite.HavenB2B;\r\n this.noResult = false;\r\n this.pageIndex = 1;\r\n if (this.loading) {\r\n return;\r\n }\r\n\r\n if (window.dataLayer) {\r\n if (this.timeout) {\r\n clearTimeout(this.timeout);\r\n }\r\n this.timeout = setTimeout(() => {\r\n window.dataLayer.push({\r\n event: \"search\",\r\n query: newTerms,\r\n });\r\n }, 2000);\r\n }\r\n\r\n this.loading = true;\r\n ApiService.searchProducts(newTerms, this.pageIndex, isHaven).then(response => {\r\n if (response && response.data) {\r\n this.handlePageSearch(response.data);\r\n }\r\n });\r\n }\r\n\r\n public handlePageSearch(data: SearchProductsResult) {\r\n if (this.searchterminternal === data.term) {\r\n ProductStore.saveProducts(ProductStore.products.concat(data.products));\r\n this.showLoadMoreButton = true;\r\n }\r\n if (data.products.length === 0) {\r\n this.showLoadMoreButton = false;\r\n this.noResult = true;\r\n }\r\n if (data.products.length < this.pagesize) {\r\n this.showLoadMoreButton = false;\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n public loadMoreProducts() {\r\n var isHaven = window.__currentWebsite === TapwellGroupWebsite.HavenB2B;\r\n if (this.loading) {\r\n return;\r\n }\r\n\r\n if (this.searchmode && this.searchterminternal) {\r\n this.loading = true;\r\n ApiService.searchProducts(this.searchterminternal, this.pageIndex, isHaven).then(response => {\r\n if (response && response.data) {\r\n this.handlePageSearch(response.data);\r\n this.pageIndex += 1;\r\n }\r\n });\r\n } else if (!this.searchmode) {\r\n this.loading = true;\r\n ApiService.getProducts(this.categorymodel.systemId, this.pageIndex, true, \"sort_order_field\", false, isHaven)\r\n .then(response => {\r\n if (response && response.data) {\r\n ProductStore.saveProducts(ProductStore.products.concat(response.data));\r\n this.pageIndex += 1;\r\n this.noResult = false;\r\n\r\n var scrollPos = window.scrollY || document.getElementsByTagName(\"html\")[0].scrollTop;\r\n VueScrollTo.scrollTo(\"html\", 500, {\r\n offset: scrollPos,\r\n });\r\n\r\n if (response.data.length < this.pagesize) {\r\n this.showLoadMoreButton = false;\r\n }\r\n }\r\n })\r\n .finally(() => {\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n\r\n public selectCategory(categorySystemId: Guid): void {\r\n this.showLoadMoreButton = false;\r\n this.loading = true;\r\n var searchInput = document.querySelector(\".product-search__input\");\r\n var searchButton = document.querySelector(\"#product_search_button\");\r\n\r\n var isHaven = window.__currentWebsite === TapwellGroupWebsite.HavenB2B;\r\n\r\n searchInput.disabled = true;\r\n searchButton.disabled = true;\r\n ApiService.getCategory(categorySystemId, true, isHaven)\r\n .then(response => {\r\n if (response && response.data) {\r\n this.pageIndex = 2;\r\n this.categorymodel = response.data;\r\n this.searchmode = false;\r\n this.searchterminternal = \"\";\r\n this.showLoadMoreButton = true;\r\n if (this.categorymodel.products.length < this.pagesize) {\r\n this.showLoadMoreButton = false;\r\n }\r\n ProductStore.saveProducts(this.categorymodel.products);\r\n } else {\r\n this.noResult = true;\r\n }\r\n })\r\n .finally(() => {\r\n this.loading = false;\r\n searchInput.disabled = false;\r\n searchButton.disabled = false;\r\n });\r\n }\r\n\r\n public performSearch(term: string): void {\r\n this.loading = false;\r\n ProductStore.saveProducts([] as Product[]);\r\n\r\n if (term.length <= 1) {\r\n this.searchmode = false;\r\n this.showLoadMoreButton = false;\r\n return;\r\n }\r\n\r\n this.searchmode = true;\r\n var currentlocation = location.pathname + \"?q=\" + term;\r\n window.history.pushState(null, \"\", currentlocation);\r\n this.searchterminternal = term;\r\n this.pageIndex = 1;\r\n }\r\n\r\n public created() {\r\n ProductStore.saveCurrentCategoryId(this.viewmodel.systemId);\r\n ProductStore.saveProducts(this.viewmodel.products);\r\n if (this.viewmodel.products.length < this.pagesize) {\r\n this.showLoadMoreButton = false;\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./Category.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./Category.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Category.vue?vue&type=template&id=552be79d&\"\nimport script from \"./Category.ts?vue&type=script&lang=ts&\"\nexport * from \"./Category.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('a',{staticClass:\"header__cart-title\",attrs:{\"href\":_vm.cart.checkoutUrl}},[(_vm.cart.quantity>0)?_c('div',{staticClass:\"header__cart-label\"},[_vm._v(_vm._s(_vm.cart.checkoutName)+\" \"+_vm._s(_vm.cart.quantity))]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue } from \"vue-property-decorator\";\r\nimport { Spinner } from \"spin.js\";\r\nimport { CheckoutStore, CheckoutState } from \"@/store/tapwell/checkoutstate\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\n\r\n@Component\r\nexport default class MiniCart extends Vue {\r\n get cart() { return CheckoutStore.cart; }\r\n protected spinner: Spinner;\r\n constructor() {\r\n super();\r\n this.spinner = new Spinner({ scale: 0.5 });\r\n }\r\n protected created() {\r\n const self = this;\r\n const $el = self.$el as HTMLElement;\r\n self.spinner.spin($el);\r\n ApiService.getMiniCart().then((response) => {\r\n if (response && response.data) {\r\n const payload: CheckoutState = {\r\n cart: response.data,\r\n };\r\n CheckoutStore.saveState(payload).then(() => {/*nothing*/});\r\n }\r\n self.spinner.stop();\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./MiniCart.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./MiniCart.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MiniCart.vue?vue&type=template&id=5c7d6589&\"\nimport script from \"./MiniCart.ts?vue&type=script&lang=ts&\"\nexport * from \"./MiniCart.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\"},[_c('div',{staticClass:\"banner row\"},[_c('div',{staticClass:\"col-xs-12 col-md-3\"}),_c('div',{staticClass:\"banner__text banner__text--relative col-xs-12 col-md-4\"},[_c('h1',[_vm._v(_vm._s(_vm.product.name))])]),_vm._m(0)]),_c('div',[_c('div',{staticClass:\"product__top-section row\",class:{'product__top-section--center': _vm.selectedVariant.imageOrientation === 'Center', 'product__top-section--right': _vm.selectedVariant.imageOrientation === 'Right', 'product__top-section--rightTall': _vm.selectedVariant.imageOrientation === 'RightTall'}},[_c('div',{staticClass:\"product__img col-xs-12 col-md-8\"},[_c('div',[(_vm.image && _vm.selectedVariant.imageOrientation === 'Center' || _vm.selectedVariant.imageOrientation === 'Right')?_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.image),expression:\"image\",arg:\"background-image\"}],class:{'center': _vm.selectedVariant.imageOrientation === 'Center', 'right': _vm.selectedVariant.imageOrientation === 'Right'},attrs:{\"alt\":_vm.selectedVariant.name}}):_vm._e(),(_vm.image && _vm.selectedVariant.imageOrientation === 'Center' || _vm.selectedVariant.imageOrientation === 'Right')?_c('img',{staticClass:\"product__img__placeholder\",attrs:{\"src\":_vm.image,\"alt\":_vm.selectedVariant.name}}):_vm._e(),(_vm.image && _vm.selectedVariant.imageOrientation === 'RightTall')?_c('img',{class:{'rightTall': _vm.selectedVariant.imageOrientation === 'RightTall'},attrs:{\"src\":_vm.image,\"alt\":_vm.selectedVariant.name}}):_vm._e()])]),_c('div',{staticClass:\"product__about col-xs-12 col-md-4\",class:{'sticky': _vm.image && _vm.selectedVariant.imageOrientation === 'RightTall'}},[_c('div',[_c('div',{staticClass:\"product__info\"},[_c('h2',[_vm._v(_vm._s(_vm.selectedVariant.name))]),_c('ul',{staticClass:\"variant-picker\"},_vm._l((_vm.product.variants),function(variant,index){return _c('li',{key:index},[(_vm.isBricmateB2B)?_c('a',{class:{ selected: _vm.selectedVariant.id == variant.id },attrs:{\"data-tooltip\":variant.colorName},on:{\"click\":function($event){return _vm.select(variant)}}},[_vm._v(_vm._s(variant.size))]):_c('a',{class:{ selected: _vm.selectedVariant.id == variant.id },attrs:{\"data-tooltip\":variant.colorName},on:{\"click\":function($event){return _vm.select(variant)}}},[_vm._v(_vm._s(variant.color))])])}),0)]),_c('div',{staticClass:\"product__description-container\"},[_c('div',{staticClass:\"product__description\"},[_c('p',{staticClass:\"product__art-nr\"},[_vm._v(_vm._s(_vm.translations[\"product.articlenumber\"])+\" \"+_vm._s(_vm.selectedVariant.id))]),(_vm.selectedVariant.articleNumberNO!= null && _vm.selectedVariant.articleNumberNO!= '')?_c('p',{staticClass:\"product__art-nr\"},[_vm._v(_vm._s(_vm.translations[\"product.articlenumberno\"])+\" \"+_vm._s(_vm.selectedVariant.articleNumberNO))]):_vm._e(),_c('div',{staticClass:\"product__description-text\",staticStyle:{\"margin-top\":\"5px\"},domProps:{\"innerHTML\":_vm._s(_vm.selectedVariant.description)}}),(!_vm.isBricmateB2B)?_c('div',{staticClass:\"product__description-text\",domProps:{\"innerHTML\":_vm._s(_vm.selectedVariant.productDescriptionExtra)}}):_vm._e()]),_c('div',{staticClass:\"product__documents\"},[_c('ul',{class:{ 'show-all': true }},[(_vm.selectedVariant.activatePdfGeneratorLink && _vm.selectedVariant.generatePdfUrl)?_c('li',[_c('a',{on:{\"click\":function($event){return _vm.openPdf()}}},[_vm._v(_vm._s(_vm.translations[\"product.generatepdf\"]))])]):_vm._e(),(_vm.selectedVariant.drawingPdfUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.drawingPdfUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.drawingpdf\"]))])]):_vm._e(),(_vm.selectedVariant.productSheetUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.productSheetUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.productsheet\"]))])]):_vm._e(),(_vm.selectedVariant.careInstructionsPDFUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.careInstructionsPDFUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.careinstructionpdf\"]))])]):_vm._e(),(_vm.selectedVariant.cutOutTemplatePDFUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.cutOutTemplatePDFUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.cutouttemplatepdf\"]))])]):_vm._e(),(_vm.selectedVariant.installationGuideUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.installationGuideUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.drawing\"]))])]):_vm._e(),(_vm.selectedVariant.drawing2DUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.drawing2DUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.caddrawing2d\"]))])]):_vm._e(),(_vm.selectedVariant.drawing3DUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.drawing3DUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.caddrawing3d\"]))])]):_vm._e(),(_vm.selectedVariant.amaTextPDFUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.amaTextPDFUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.amatextpdf\"]))])]):_vm._e(),(_vm.selectedVariant.highResImageUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.highResImageUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.highresimage\"]))])]):_vm._e(),(_vm.selectedVariant.priceSignUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.priceSignUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.pricesign\"]))])]):_vm._e(),(_vm.selectedVariant.approvedWaterProofUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.approvedWaterProofUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.approvedwaterproof\"]))])]):_vm._e(),(_vm.selectedVariant.highResolutionImageUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.highResolutionImageUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.highresimage\"]))])]):_vm._e()])])]),_c('div',{staticClass:\"product__stock\"},[(_vm.selectedVariant.inStock)?_c('div',{staticClass:\"product__stock-status\"},[_c('p',[_vm._v(_vm._s(_vm.translations[\"product.delivery\"]))]),_c('p',[_vm._v(_vm._s(_vm.translations[\"product.deliverydate\"]))])]):(!_vm.selectedVariant.outgoingProduct)?_c('div',{staticClass:\"product__stock-status\"},[_c('p',[_vm._v(_vm._s(_vm.translations[\"product.backinstock\"]))]),_c('p',[_vm._v(_vm._s(_vm.selectedVariant.stockStatus))]),_c('p',[_vm._v(_vm._s(_vm.translations[\"product.deliverywithintwoweeks\"]))])]):_c('div',{staticClass:\"product__stock-status\"},[_c('p',[_vm._v(_vm._s(_vm.translations[\"product.outgoingproductdeliverymessage\"]))])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.product.hideStockBalanceForTheProduct),expression:\"!product.hideStockBalanceForTheProduct\"}],staticClass:\"product__stockstatus-icon\",class:{'product__stockstatus-icon--true': _vm.selectedVariant.inStock }})]),_c('div',{staticClass:\"product__amount quantity-picker\"},[_c('span',{staticClass:\"product__amount-label quantity-picker__label\"},[_vm._v(_vm._s(_vm.translations[\"checkout.cart.header.quantity\"]))]),_c('div',{staticClass:\"product__amount-picker quantity-picker__container\"},[_c('a',{on:{\"click\":_vm.decreaseAmount}},[_c('span',[_vm._v(\"—\")])]),(_vm.selectedVariant.showQuantityFieldAsTextBoxInB2BSite)?_c('span',{staticClass:\"product__amount-nr quantity-picker__quantity\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedVariant.newQuantity),expression:\"selectedVariant.newQuantity\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.selectedVariant.newQuantity)},on:{\"change\":_vm.handleQtyChange,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selectedVariant, \"newQuantity\", $event.target.value)}}})]):_c('span',{staticClass:\"product__amount-nr quantity-picker__quantity\"},[_vm._v(_vm._s(_vm.selectedVariant.newQuantity))]),(!_vm.showMaxLimitMessage && _vm.selectedVariant.outletProduct && _vm.selectedVariant.outletProductInStockQuantity > 1)?_c('a',{on:{\"click\":_vm.increaseAmount}},[_c('span',[_vm._v(\"+\")])]):_vm._e(),(!_vm.showMaxLimitMessage && !_vm.selectedVariant.outletProduct)?_c('a',{on:{\"click\":_vm.increaseAmount}},[_c('span',[_vm._v(\"+\")])]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedVariant.showPackageBoxSizeInTheChannelsB2BSite && _vm.selectedVariant.sqmBox>0),expression:\"selectedVariant.showPackageBoxSizeInTheChannelsB2BSite && selectedVariant.sqmBox>0\"}],staticClass:\"product__calculatedbox-label\"},[_vm._v(\"= \"+_vm._s(_vm.calculateBoxSize())+\" m\"),_c('sup',[_vm._v(\"2\")])])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedVariant.showPackageBoxSizeInTheChannelsB2BSite && _vm.selectedVariant.sqmBox>0),expression:\"selectedVariant.showPackageBoxSizeInTheChannelsB2BSite && selectedVariant.sqmBox>0\"}],staticClass:\"product__box-label\"},[_vm._v(\" 1 pkt = \"+_vm._s(_vm.selectedVariant.sqmBox)+\" m\"),_c('sup',[_vm._v(\"2\")]),_vm._v(\"/ box \")]),(_vm.showMaxLimitMessage && !_vm.selectedVariant.outletProduct)?_c('div',{staticStyle:{\"color\":\"#ff0000\"}},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.maxbuyablequantitymessage\"])+\" \")]):_vm._e(),(_vm.showMaxLimitMessage || _vm.selectedVariant.outletProductInStockQuantity <= 1)?_c('div',{staticStyle:{\"color\":\"#ff0000\"}},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.maxbuyablequantitymessage\"])+\" \")]):_vm._e(),(_vm.selectedVariant.price && _vm.selectedVariant.discountPercent)?_c('div',{staticClass:\"product__price\"},[_c('p',[_vm._v(_vm._s(_vm.selectedVariant.displayPrice)+\" — \"+_vm._s(_vm.selectedVariant.discountPercent))]),_c('p',{staticClass:\"product__clear\"},[_vm._v(_vm._s(_vm.selectedVariant.displayDiscountPrice))]),_c('button',{staticClass:\"product__buy-btn btn\",on:{\"click\":function($event){return _vm.addToCart(true)}}},[_vm._v(_vm._s(_vm.translations[\"product.buy\"]))])]):(_vm.selectedVariant.price)?_c('div',{staticClass:\"product__price\"},[_c('p',{staticClass:\"product__clear\"},[_vm._v(_vm._s(_vm.selectedVariant.displayPrice))]),_c('button',{staticClass:\"product__buy-btn btn\",on:{\"click\":function($event){return _vm.addToCart(true)}}},[_vm._v(_vm._s(_vm.translations[\"product.buy\"]))])]):_c('div',{staticClass:\"product__price\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"free.product\"])+\" \"),_c('button',{staticClass:\"product__buy-btn btn\",on:{\"click\":function($event){return _vm.addToCart(true)}}},[_vm._v(_vm._s(_vm.translations[\"product.buy\"]))])])])]),_c('div')])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"product__back hide-desktop\"},[_c('a',{attrs:{\"href\":\"javascript:history.go(-1);\"}},[_vm._v(\"←\")])])}]\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { Product, Variant } from \"@/models/tapwell/Product\";\r\nimport { AddOrUpdateCartItem, OrderRow, ProductPriceStockRequest, JeevesPriceRequest, JeevesPriceItem } from \"@/models/tapwell/Cart\";\r\nimport { CheckoutStore } from \"@/store/tapwell/checkoutstate\";\r\nimport { Spinner } from \"spin.js\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\nimport { TapwellGroupWebsite } from \"@/models/TapwellGroupWebsite\";\r\n\r\n@Component\r\nexport default class ProductTile extends Vue {\r\n @Prop()\r\n public product!: Product;\r\n @Prop()\r\n public colorFieldValue!:string;\r\n public translations: any;\r\n\r\n public selectedVariant: Variant;\r\n public spinner: Spinner;\r\n public showMoreActive: boolean = false;\r\n public quantityChangedTriggered: boolean = false;\r\n public selectedVariantJeevesPrices: JeevesPriceItem[] = [];\r\n public requestContext: any;\r\n public showMaxLimitMessage: boolean = false;\r\n \r\n public get orderRow() {\r\n return CheckoutStore.cart.orderRows && CheckoutStore.cart.orderRows.find((row) => row.articleNumber === this.selectedVariant.id);\r\n }\r\n\r\n public get isBricmateB2B() {\r\n return window.__currentWebsite === TapwellGroupWebsite.BricmateB2B;\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.spinner = new Spinner({ scale: 0.5 });\r\n if (this.product.selectedVariant) {\r\n this.selectedVariant = this.product.selectedVariant;\r\n this.selectedVariant.newQuantity = this.product.selectedVariant.quantity.toString();\r\n } else {\r\n this.selectedVariant = this.product.variants[0];\r\n this.selectedVariant.newQuantity = this.product.variants[0].quantity.toString();\r\n }\r\n\r\n this.selectedVariantJeevesPrices = [];\r\n this.translations = window.__litium.translation;\r\n this.requestContext = window.__litium.requestContext;\r\n }\r\n \r\n public get thumb(): string {\r\n if (this.selectedVariant.thumbs && this.selectedVariant.thumbs.length > 0) {\r\n return this.selectedVariant.thumbs[0];\r\n }\r\n return \"\";\r\n }\r\n\r\n public get image(): string {\r\n if (this.selectedVariant.images && this.selectedVariant.images.length > 0) {\r\n return this.selectedVariant.images[0];\r\n }\r\n return \"\";\r\n }\r\n\r\n public get shopenabled(): boolean {\r\n if(this.requestContext.enableEcommerce==='on')\r\n {\r\n return true;\r\n }\r\n\r\n if (this.requestContext.enableEcommerce==='sparePartOnly' && this.product.isSparePart) {\r\n return true;\r\n }\r\n\r\n if(this.selectedVariant.outletProduct){\r\n return true;\r\n }\r\n\r\n return false;\r\n } \r\n\r\n get isDiscontinued() : boolean {\r\n \r\n if(this.product.isDiscontinued) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public get visibleVariants(): Variant[] {\r\n return this.product.variants.filter(x => !x.hideFromVariantSelector)\r\n }\r\n\r\n @Watch(\"orderRow\") \r\n public onOrderRowChanged(orderRow: OrderRow) {\r\n if (orderRow) {\r\n this.selectedVariant.rowSystemId = orderRow.rowSystemId;\r\n //this.selectedVariant.quantity = orderRow.quantity;\r\n //this.getProductPriceAndStock(this.selectedVariant, 0);\r\n //this.checkMaximumQuantitySize();\r\n }\r\n }\r\n\r\n public mounted() {\r\n if(this.shopenabled){\r\n if (!this.selectedVariant.inStock) {\r\n this.getProductDeliveryDate();\r\n }\r\n this.checkMaximumQuantitySize();\r\n }\r\n }\r\n\r\n @Watch(\"product\")\r\n public setVariant() {\r\n this.select(this.product.variants[0]);\r\n }\r\n\r\n public select(variant: Variant): void {\r\n this.selectedVariant = variant;\r\n this.getProductPriceAndStock(this.selectedVariant, 0);\r\n }\r\n\r\n public decreaseAmount(): void {\r\n if (this.selectedVariant.quantity > 1) {\r\n this.selectedVariant.quantity -= 1;\r\n }\r\n this.selectedVariant.newQuantity = this.selectedVariant.quantity.toString();\r\n this.checkQuantitySize();\r\n this.checkMaximumQuantitySize();\r\n this.getProductPriceAndStock(this.selectedVariant, 1500);\r\n }\r\n\r\n public increaseAmount(): void {\r\n this.selectedVariant.quantity += 1;\r\n this.selectedVariant.newQuantity = this.selectedVariant.quantity.toString();\r\n this.checkQuantitySize();\r\n this.checkMaximumQuantitySize();\r\n this.getProductPriceAndStock(this.selectedVariant, 1500);\r\n }\r\n\r\n public handleQtyChange():void{\r\n \r\n if(this.selectedVariant.newQuantity.trim()==\"\")\r\n this.selectedVariant.newQuantity=\"1\";\r\n\r\n this.selectedVariant.quantity = parseInt(this.selectedVariant.newQuantity);\r\n\r\n if(this.selectedVariant.outletProduct && this.selectedVariant.quantity > this.selectedVariant.outletProductInStockQuantity)\r\n {\r\n this.selectedVariant.quantity = this.selectedVariant.outletProductInStockQuantity;\r\n this.selectedVariant.newQuantity = this.selectedVariant.outletProductInStockQuantity.toString();\r\n }\r\n this.checkQuantitySize();\r\n this.checkMaximumQuantitySize();\r\n this.getProductPriceAndStock(this.selectedVariant, 1500);\r\n }\r\n\r\n private checkQuantitySize(): void {\r\n if(this.selectedVariant.quantity > 99) {\r\n this.selectedVariant.quantityLarge = true;\r\n }\r\n else {\r\n this.selectedVariant.quantityLarge = false;\r\n }\r\n }\r\n private checkMaximumQuantitySize(): void {\r\n var maxQtyAchieved = false\r\n if(parseInt(this.selectedVariant.maximumBuyableQuantitiy) > 0 && this.selectedVariant.quantity >= parseInt(this.selectedVariant.maximumBuyableQuantitiy)) {\r\n maxQtyAchieved= true;\r\n }\r\n\r\n if(!maxQtyAchieved) \r\n {\r\n if(this.selectedVariant.outletProduct && this.selectedVariant.outletProductInStockQuantity <= this.selectedVariant.quantity)\r\n {\r\n maxQtyAchieved= true;\r\n }\r\n }\r\n\r\n this.showMaxLimitMessage = maxQtyAchieved;\r\n }\r\n\r\n public calculateBoxSize(){\r\n return (this.selectedVariant.quantity * this.selectedVariant.sqmBox).toFixed(2);\r\n }\r\n\r\n public getProductDeliveryDate(): void {\r\n const payload: ProductPriceStockRequest = {\r\n quantity: this.selectedVariant.quantity,\r\n variantId: this.selectedVariant.id,\r\n checkLitiumInventory: true,\r\n };\r\n ApiService.getProductDeliveryDate(payload).then((response) => {\r\n if (response && response.data) {\r\n this.selectedVariant.stockStatus = response.data.formattedDateAvailable;\r\n this.selectedVariant.inStock = response.data.inStock;\r\n }\r\n });\r\n }\r\n\r\n public getJeevesPrices(): void {\r\n let quantities = \"3;5;10\";\r\n\r\n var productListElem = document.getElementById(\"productList\");\r\n if(productListElem){\r\n Array.prototype.forEach.call(productListElem.getElementsByClassName(\"tool-tip\"), function(el) {\r\n el.style.display = 'none';\r\n });\r\n }\r\n\r\n const payload: JeevesPriceRequest = {\r\n quantities: quantities,\r\n variantId: this.selectedVariant.id\r\n };\r\n\r\n ApiService.getJeevesPrices(payload).then((response) => {\r\n if (response && response.data && response.data.prices) {\r\n var self = this;\r\n self.selectedVariantJeevesPrices = response.data.prices;\r\n let elem = self.$el as HTMLElement;\r\n var toolTip = elem.getElementsByClassName(\"tool-tip\") ;\r\n if(toolTip && toolTip.length>0){\r\n (toolTip[0]).style.display = 'block';\r\n }\r\n }\r\n });\r\n }\r\n\r\n public getProductPriceAndStock(variant: Variant, requestdelay: number): void {\r\n \r\n if (!this.quantityChangedTriggered) { \r\n this.spinner.spin(this.$el as HTMLElement);\r\n this.quantityChangedTriggered = true;\r\n var self = this;\r\n this.selectedVariant.newQuantity = variant.quantity.toString();\r\n setTimeout(function () { \r\n var isBricmateB2B = window.__currentWebsite === TapwellGroupWebsite.BricmateB2B;\r\n var checkLitiumInventory = false;\r\n \r\n if (isBricmateB2B){\r\n checkLitiumInventory = true;\r\n } \r\n\r\n var payload: ProductPriceStockRequest = {\r\n quantity: variant.quantity,\r\n variantId: variant.id,\r\n checkLitiumInventory: checkLitiumInventory,\r\n }; \r\n\r\n if(variant.outletProduct){\r\n payload = {\r\n quantity: variant.quantity,\r\n variantId: variant.id,\r\n checkLitiumInventory: true,\r\n };\r\n }\r\n\r\n ApiService.getProductPriceStock(payload).then((response) => {\r\n if (response && response.data ) {\r\n let data = response.data;\r\n variant.inStock = data.inStock;\r\n variant.discountPercent = data.discountPercent;\r\n variant.displayDiscountPrice = data.displayDiscountPrice;\r\n variant.displayPrice = data.displayPrice;\r\n variant.stockStatus = data.dateAvailable; \r\n }\r\n })\r\n self.quantityChangedTriggered = false;\r\n self.spinner.stop();\r\n }, requestdelay);\r\n }\r\n }\r\n\r\n public addToCart(addTrackingOnEvent: boolean = false): void {\r\n\r\n if(addTrackingOnEvent) {\r\n this.addToCartGA4Event();\r\n } \r\n this.spinner.spin(this.$el as HTMLElement);\r\n const payload: AddOrUpdateCartItem = {\r\n articleNumber: this.selectedVariant.id,\r\n quantity: this.selectedVariant.quantity,\r\n rowSystemId: this.selectedVariant.rowSystemId,\r\n comment: '',\r\n productPage: true\r\n };\r\n var header = document.querySelector(\".header\");\r\n const scrollUp = \"scroll-up\";\r\n const scrollDown = \"scroll-down\";\r\n const currentScroll = window.pageYOffset;\r\n \r\n if (currentScroll == 0) {\r\n header.classList.remove(scrollUp);\r\n header.classList.remove(scrollDown);\r\n } else {\r\n header.classList.add(scrollUp);\r\n header.classList.remove(scrollDown);\r\n }\r\n \r\n CheckoutStore.updateState(payload).then(() => {\r\n this.spinner.stop();\r\n this.selectedVariant.quantity = 1;\r\n this.selectedVariant.newQuantity = \"1\";\r\n });\r\n }\r\n\r\n public addToCartGA4Event(): void {\r\n let gtmItems: any[] = [];\r\n \r\n if (!this.orderRow) {\r\n setTimeout(() => {\r\n this.addToCartGA4Event(); \r\n }, 100);\r\n return; \r\n }\r\n \r\n //create item\r\n const item = {\r\n item_id: this.orderRow.articleNumber,\r\n item_name: this.orderRow.productName,\r\n price: parseFloat(this.selectedVariant.price.toString()),\r\n item_category: this.orderRow.category,\r\n item_variant: this.orderRow.name,\r\n quantity: this.selectedVariant.quantity\r\n };\r\n gtmItems.push(item);\r\n\r\n const currentUrl = window.location.href;\r\n\r\n let currency: string;\r\n\r\n if (currentUrl.includes(\"tapwell.se\")) {\r\n currency = \"SEK\";\r\n } else if (currentUrl.includes(\"tapwell.no\")) {\r\n currency = \"NOK\";\r\n } else if (currentUrl.includes(\"tapwell.dk\")) {\r\n currency = \"DKK\";\r\n } else {\r\n currency = \"EUR\"; \r\n }\r\n\r\n //calc total value\r\n const totalValue = this.calculateTotalValue(gtmItems);\r\n \r\n if (gtmItems.length > 0) {\r\n const dataLayerObject = {\r\n event: \"add_to_cart\",\r\n ecommerce: {\r\n currency: currency,\r\n value: totalValue,\r\n items: gtmItems\r\n }\r\n };\r\n // Push to dataLayer\r\n window.dataLayer.push(dataLayerObject);\r\n }\r\n }\r\n\r\n public calculateTotalValue(items: any[]): number {\r\n const total = items.reduce((acc, item) => {\r\n return acc + (item.price * item.quantity);\r\n }, 0); \r\n return total;\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n","import { Component } from \"vue-property-decorator\";\r\nimport ProductTile from \"./ProductTile\";\r\nimport queryString from \"query-string\";\r\nimport { Variant } from \"@/models/tapwell/Product\";\r\n@Component\r\nexport default class ProductDetail extends ProductTile {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n mounted() {\r\n this.trackPageView(this.selectedVariant, false);\r\n }\r\n\r\n\r\n public trackPageView(variant: Variant, trackView: boolean): void {\r\n if (trackView) {\r\n this.$gtm.trackView(\"ProductView\", variant.url);\r\n }\r\n\r\n if (window.dataLayer) {\r\n window.dataLayer.push({\r\n event: \"product-view\",\r\n ecommerce: {\r\n detail: {\r\n products: [\r\n {\r\n name: variant.productName,\r\n id: variant.id,\r\n price: variant.discountPrice,\r\n category: variant.categoryPath,\r\n variant: variant.name\r\n }\r\n ]\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n public select(variant: Variant): void {\r\n this.selectedVariant = variant;\r\n this.trackPageView(this.selectedVariant, false);\r\n var currentlocation = location.pathname + location.search;\r\n\r\n if (currentlocation !== variant.url){\r\n this.trackPageView(variant, true);\r\n window.history.pushState(null, \"\", variant.url);\r\n document.title = variant.name;\r\n }\r\n\r\n this.getProductPriceAndStock(variant, 0);\r\n }\r\n\r\n public selectVariantFromQueryString(){\r\n var query = queryString.parse(location.search);\r\n if (query.v) {\r\n const variantIndex = this.product.variants.findIndex((variant) => variant.urlName === query.v);\r\n if (variantIndex === -1) {\r\n this.select(this.product.variants[0]);\r\n } else {\r\n let variant = this.product.variants[variantIndex];\r\n this.select(variant);\r\n }\r\n } else {\r\n this.select(this.product.variants[0]);\r\n }\r\n }\r\n\r\n public created() {\r\n this.selectVariantFromQueryString(); \r\n const self = this;\r\n window.onpopstate = function() {\r\n self.selectVariantFromQueryString();\r\n };\r\n }\r\n \r\n public openPdf(){\r\n var token = window.localStorage.getItem(\"requestVerificationToken\");\r\n var verificationToken='';\r\n if(token!=null){\r\n verificationToken = token.split(':')[0];\r\n }\r\n\r\n if(verificationToken!=''){\r\n var pdfUrl = this.selectedVariant.generatePdfUrl+\"&token=\"+verificationToken;\r\n window.open(pdfUrl,\"_blank\");\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductDetail.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductDetail.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductDetail.vue?vue&type=template&id=54c14f83&scoped=true&\"\nimport script from \"./ProductDetail.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductDetail.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ProductDetail.vue?vue&type=style&index=0&id=54c14f83&lang=scss&scoped=true&\"\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 \"54c14f83\",\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\"},[_c('div',{staticClass:\"banner row\"},[_c('div',{staticClass:\"col-xs-12 col-md-3\"}),_c('div',{staticClass:\"banner__text banner__text--relative col-xs-12 col-md-4\"},[_c('h1',[_vm._v(_vm._s(_vm.product.name))])]),_vm._m(0)]),_c('div',[_c('div',{staticClass:\"product__top-section row\",class:{ 'product__top-section--center': _vm.selectedVariant.imageOrientation === 'Center', 'product__top-section--right': _vm.selectedVariant.imageOrientation === 'Right', 'product__top-section--rightTall': _vm.selectedVariant.imageOrientation === 'RightTall' }},[_c('div',{staticClass:\"product__img col-xs-12 col-md-8\"},[_c('div',[((_vm.image && _vm.selectedVariant.imageOrientation === 'Center') || _vm.selectedVariant.imageOrientation === 'Right')?_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.image),expression:\"image\",arg:\"background-image\"}],class:{ center: _vm.selectedVariant.imageOrientation === 'Center', right: _vm.selectedVariant.imageOrientation === 'Right' },attrs:{\"alt\":_vm.selectedVariant.name}}):_vm._e(),((_vm.image && _vm.selectedVariant.imageOrientation === 'Center') || _vm.selectedVariant.imageOrientation === 'Right')?_c('img',{staticClass:\"product__img__placeholder\",attrs:{\"src\":_vm.image,\"alt\":_vm.selectedVariant.name}}):_vm._e(),(_vm.image && _vm.selectedVariant.imageOrientation === 'RightTall')?_c('img',{class:{ rightTall: _vm.selectedVariant.imageOrientation === 'RightTall' },attrs:{\"src\":_vm.image,\"alt\":_vm.selectedVariant.name}}):_vm._e()])]),_c('div',{staticClass:\"product__about col-xs-12 col-md-4\",class:{ sticky: _vm.image && _vm.selectedVariant.imageOrientation === 'RightTall' }},[_c('div',[_c('div',{staticClass:\"product__info\"},[_c('h2',[_vm._v(_vm._s(_vm.selectedVariant.name))]),_c('ul',{staticClass:\"productlistning__variant-list variant-picker\"},_vm._l((_vm.tops),function(top,index){return _c('li',{key:index},[_c('a',{class:{ selected: _vm.selectedTop.id == top.id },attrs:{\"data-tooltip\":top.top},on:{\"click\":function($event){return _vm.selectTop(top)}}},[_vm._v(_vm._s(top.top))])])}),0),_c('ul',{staticClass:\"productlistning__variant-list variant-picker\"},_vm._l((_vm.alternatives),function(alternative,index){return _c('li',{key:index},[_c('a',{class:{ selected: _vm.selectedVariant.id == alternative.id },attrs:{\"data-tooltip\":alternative.alternative},on:{\"click\":function($event){return _vm.select(alternative)}}},[_vm._v(_vm._s(alternative.alternative))])])}),0)]),_c('div',{staticClass:\"product__description-container\"},[_c('div',{staticClass:\"product__description\"},[_c('p',{staticClass:\"product__art-nr\"},[_vm._v(_vm._s(_vm.translations[\"product.articlenumber\"])+\" \"+_vm._s(_vm.selectedVariant.id))]),(_vm.selectedVariant.articleNumberNO != null && _vm.selectedVariant.articleNumberNO != '')?_c('p',{staticClass:\"product__art-nr\"},[_vm._v(_vm._s(_vm.translations[\"product.articlenumberno\"])+\" \"+_vm._s(_vm.selectedVariant.articleNumberNO))]):_vm._e(),_c('div',{staticClass:\"product__description-text\",staticStyle:{\"margin-top\":\"5px\"},domProps:{\"innerHTML\":_vm._s(_vm.selectedVariant.description)}}),_c('div',{staticClass:\"product__description-text\",domProps:{\"innerHTML\":_vm._s(_vm.selectedVariant.productDescriptionExtra)}})]),_c('div',{staticClass:\"product__documents\"},[_c('ul',{class:{ 'show-all': true }},[(_vm.selectedVariant.activatePdfGeneratorLink && _vm.selectedVariant.generatePdfUrl)?_c('li',[_c('a',{on:{\"click\":function($event){return _vm.openPdf()}}},[_vm._v(_vm._s(_vm.translations[\"product.generatepdf\"]))])]):_vm._e(),(_vm.selectedVariant.drawingPdfUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.drawingPdfUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.drawingpdf\"]))])]):_vm._e(),(_vm.selectedVariant.productSheetUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.productSheetUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.productsheet\"]))])]):_vm._e(),(_vm.selectedVariant.careInstructionsPDFUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.careInstructionsPDFUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.careinstructionpdf\"]))])]):_vm._e(),(_vm.selectedVariant.cutOutTemplatePDFUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.cutOutTemplatePDFUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.cutouttemplatepdf\"]))])]):_vm._e(),(_vm.selectedVariant.installationGuideUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.installationGuideUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.drawing\"]))])]):_vm._e(),(_vm.selectedVariant.drawing2DUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.drawing2DUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.caddrawing2d\"]))])]):_vm._e(),(_vm.selectedVariant.drawing3DUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.drawing3DUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.caddrawing3d\"]))])]):_vm._e(),(_vm.selectedVariant.amaTextPDFUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.amaTextPDFUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.amatextpdf\"]))])]):_vm._e(),(_vm.selectedVariant.highResImageUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.highResImageUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.highresimage\"]))])]):_vm._e(),(_vm.selectedVariant.priceSignUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.priceSignUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.pricesign\"]))])]):_vm._e(),(_vm.selectedVariant.approvedWaterProofUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.approvedWaterProofUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.approvedwaterproof\"]))])]):_vm._e(),(_vm.selectedVariant.highResolutionImageUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.highResolutionImageUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.highresimage\"]))])]):_vm._e(),(_vm.selectedVariant.drawingTopUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.drawingTopUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.drawingtop\"]))])]):_vm._e()])])]),_c('div',{staticClass:\"product__stock\"},[_c('div',{staticClass:\"product__stock-status\"},[_c('p',[_vm._v(_vm._s(_vm.translations[\"product.backinstock\"]))])]),_c('div',{staticClass:\"product__stockstatus-icon product__stockstatus-icon--true\"})]),_c('div',{staticClass:\"product__amount quantity-picker\"},[_c('span',{staticClass:\"product__amount-label quantity-picker__label\"},[_vm._v(_vm._s(_vm.translations[\"checkout.cart.header.quantity\"]))]),_c('div',{staticClass:\"product__amount-picker quantity-picker__container\"},[_c('a',{on:{\"click\":_vm.decreaseAmount}},[_c('span',[_vm._v(\"—\")])]),_c('span',{staticClass:\"product__amount-nr quantity-picker__quantity\"},[_vm._v(_vm._s(_vm.selectedVariant.quantity))]),(!_vm.showMaxLimitMessage)?_c('a',{on:{\"click\":_vm.increaseAmount}},[_c('span',[_vm._v(\"+\")])]):_vm._e()])]),(_vm.showMaxLimitMessage)?_c('div',{staticStyle:{\"color\":\"#ff0000\"}},[_vm._v(_vm._s(_vm.translations[\"product.maxbuyablequantitymessage\"]))]):_vm._e(),(_vm.selectedVariant.price)?_c('div',{staticClass:\"product__price\"},[_c('p',[_vm._v(_vm._s(_vm.selectedVariant.displayPrice)+\" — \"+_vm._s(_vm.selectedVariant.discountPercent))]),_c('p',{staticClass:\"product__clear\"},[_vm._v(_vm._s(_vm.selectedVariant.displayDiscountPrice))]),_c('button',{staticClass:\"product__buy-btn btn\",on:{\"click\":_vm.addToCart}},[_vm._v(_vm._s(_vm.translations[\"product.buy\"]))])]):_c('div',{staticClass:\"product__price\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"free.product\"])+\" \"),_c('button',{staticClass:\"product__buy-btn btn\",on:{\"click\":_vm.addToCart}},[_vm._v(_vm._s(_vm.translations[\"product.buy\"]))])])])]),_c('div')])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"product__back hide-desktop\"},[_c('a',{attrs:{\"href\":\"javascript:history.go(-1);\"}},[_vm._v(\"←\")])])}]\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { AddOrUpdateCartItem, OrderRow, ProductPriceStockRequest, JeevesPriceRequest, JeevesPriceItem } from \"@/models/tapwell/Cart\";\r\nimport { CheckoutStore } from \"@/store/tapwell/checkoutstate\";\r\nimport { Spinner } from \"spin.js\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\nimport { Product, Variant } from \"../../../models/haven-b2b/Product\";\r\n\r\n@Component\r\nexport default class ProductTileHaven extends Vue {\r\n @Prop()\r\n public product!: Product;\r\n @Prop()\r\n public colorFieldValue!: string;\r\n public translations: any;\r\n\r\n public selectedVariant: Variant;\r\n public spinner: Spinner;\r\n public showMoreActive: boolean = false;\r\n public quantityChangedTriggered: boolean = false;\r\n public selectedVariantJeevesPrices: JeevesPriceItem[] = [];\r\n public requestContext: any;\r\n public showMaxLimitMessage: boolean = false;\r\n\r\n protected selectedTop: Variant;\r\n protected tops: { [key: string]: Variant } = {};\r\n protected alternatives: { [key: string]: Variant } = {};\r\n\r\n public get orderRow() {\r\n return CheckoutStore.cart.orderRows && CheckoutStore.cart.orderRows.find(row => row.articleNumber === this.selectedVariant.id);\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.spinner = new Spinner({ scale: 0.5 });\r\n if (this.product.selectedVariant) {\r\n this.selectedVariant = this.product.selectedVariant;\r\n } else {\r\n this.selectedVariant = this.product.variants[0];\r\n }\r\n this.selectedVariantJeevesPrices = [];\r\n\r\n this.translations = window.__litium.translation;\r\n this.requestContext = window.__litium.requestContext;\r\n\r\n const tops = this.buildTops(this.product);\r\n this.tops = tops.tops;\r\n this.selectedTop = tops.top;\r\n\r\n const alternatives = this.buildAlternatives(this.product, this.selectedTop);\r\n this.alternatives = alternatives.alternatives;\r\n this.selectedVariant = alternatives.alternative;\r\n }\r\n\r\n public get thumb(): string {\r\n if (this.selectedVariant.thumbs && this.selectedVariant.thumbs.length > 0) {\r\n return this.selectedVariant.thumbs[0];\r\n }\r\n return \"\";\r\n }\r\n\r\n public get image(): string {\r\n if (this.selectedVariant.images && this.selectedVariant.images.length > 0) {\r\n return this.selectedVariant.images[0];\r\n }\r\n return \"\";\r\n }\r\n\r\n public get shopenabled(): boolean {\r\n if (this.requestContext.enableEcommerce === \"on\") {\r\n return true;\r\n }\r\n\r\n if (this.requestContext.enableEcommerce === \"sparePartOnly\" && this.product.isSparePart) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public get visibleVariants(): Variant[] {\r\n return this.product.variants.filter(x => !x.hideFromVariantSelector);\r\n }\r\n\r\n @Watch(\"orderRow\")\r\n public onOrderRowChanged(orderRow: OrderRow) {\r\n if (orderRow) {\r\n this.selectedVariant.rowSystemId = orderRow.rowSystemId;\r\n this.selectedVariant.quantity = orderRow.quantity;\r\n this.getProductPriceAndStock(this.selectedVariant, 0);\r\n this.checkMaximumQuantitySize();\r\n }\r\n }\r\n\r\n public mounted() {\r\n if (!this.selectedVariant.inStock && this.shopenabled) {\r\n this.getProductDeliveryDate();\r\n }\r\n }\r\n\r\n @Watch(\"product\")\r\n public setVariant() {\r\n this.select(this.product.variants[0]);\r\n }\r\n\r\n public select(variant: Variant): void {\r\n this.selectedVariant = variant;\r\n this.getProductPriceAndStock(this.selectedVariant, 0);\r\n }\r\n\r\n public decreaseAmount(): void {\r\n this.selectedVariant.quantity -= 1;\r\n if (this.selectedVariant.quantity < 0) {\r\n this.selectedVariant.quantity = 0;\r\n }\r\n this.checkQuantitySize();\r\n this.checkMaximumQuantitySize();\r\n this.getProductPriceAndStock(this.selectedVariant, 1500);\r\n }\r\n\r\n public increaseAmount(): void {\r\n this.selectedVariant.quantity += 1;\r\n this.checkQuantitySize();\r\n this.checkMaximumQuantitySize();\r\n this.getProductPriceAndStock(this.selectedVariant, 1500);\r\n }\r\n\r\n private checkQuantitySize(): void {\r\n if (this.selectedVariant.quantity > 99) {\r\n this.selectedVariant.quantityLarge = true;\r\n } else {\r\n this.selectedVariant.quantityLarge = false;\r\n }\r\n }\r\n private checkMaximumQuantitySize(): void {\r\n if (parseInt(this.selectedVariant.maximumBuyableQuantitiy) > 0 && this.selectedVariant.quantity >= parseInt(this.selectedVariant.maximumBuyableQuantitiy)) {\r\n this.showMaxLimitMessage = true;\r\n } else {\r\n this.showMaxLimitMessage = false;\r\n }\r\n }\r\n\r\n public getProductDeliveryDate(): void {\r\n const payload: ProductPriceStockRequest = {\r\n quantity: this.selectedVariant.quantity,\r\n variantId: this.selectedVariant.id,\r\n checkLitiumInventory: true,\r\n };\r\n ApiService.getProductDeliveryDate(payload).then(response => {\r\n if (response && response.data) {\r\n this.selectedVariant.stockStatus = response.data.formattedDateAvailable;\r\n this.selectedVariant.inStock = response.data.inStock;\r\n }\r\n });\r\n }\r\n\r\n public getJeevesPrices(): void {\r\n let quantities = \"3;5;10\";\r\n\r\n var productListElem = document.getElementById(\"productList\");\r\n if (productListElem) {\r\n Array.prototype.forEach.call(productListElem.getElementsByClassName(\"tool-tip\"), function(el) {\r\n el.style.display = \"none\";\r\n });\r\n }\r\n\r\n const payload: JeevesPriceRequest = {\r\n quantities: quantities,\r\n variantId: this.selectedVariant.id,\r\n };\r\n\r\n ApiService.getJeevesPrices(payload).then(response => {\r\n if (response && response.data && response.data.prices) {\r\n var self = this;\r\n self.selectedVariantJeevesPrices = response.data.prices;\r\n let elem = self.$el as HTMLElement;\r\n var toolTip = elem.getElementsByClassName(\"tool-tip\");\r\n if (toolTip && toolTip.length > 0) {\r\n (toolTip[0]).style.display = \"block\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n public getProductPriceAndStock(variant: Variant, requestdelay: number): void {\r\n if (!this.quantityChangedTriggered) {\r\n this.spinner.spin(this.$el as HTMLElement);\r\n this.quantityChangedTriggered = true;\r\n var self = this;\r\n setTimeout(function() {\r\n const payload: ProductPriceStockRequest = {\r\n quantity: variant.quantity,\r\n variantId: variant.id,\r\n checkLitiumInventory: false,\r\n };\r\n ApiService.getProductPriceStock(payload).then(response => {\r\n if (response && response.data) {\r\n let data = response.data;\r\n variant.inStock = data.inStock;\r\n variant.discountPercent = data.discountPercent;\r\n variant.displayDiscountPrice = data.displayDiscountPrice;\r\n variant.displayPrice = data.displayPrice;\r\n variant.stockStatus = data.dateAvailable;\r\n }\r\n });\r\n self.quantityChangedTriggered = false;\r\n self.spinner.stop();\r\n }, requestdelay);\r\n }\r\n }\r\n\r\n public addToCart(): void {\r\n this.spinner.spin(this.$el as HTMLElement);\r\n const payload: AddOrUpdateCartItem = {\r\n articleNumber: this.selectedVariant.id,\r\n quantity: this.selectedVariant.quantity,\r\n rowSystemId: this.selectedVariant.rowSystemId,\r\n comment: \"\",\r\n };\r\n var header = document.querySelector(\".header\");\r\n const scrollUp = \"scroll-up\";\r\n const scrollDown = \"scroll-down\";\r\n const currentScroll = window.pageYOffset;\r\n\r\n if (currentScroll == 0) {\r\n header.classList.remove(scrollUp);\r\n header.classList.remove(scrollDown);\r\n } else {\r\n header.classList.add(scrollUp);\r\n header.classList.remove(scrollDown);\r\n }\r\n\r\n CheckoutStore.updateState(payload).then(() => {\r\n this.spinner.stop();\r\n });\r\n }\r\n\r\n public selectTop(top: Variant): void {\r\n this.selectedTop = top;\r\n\r\n const result = this.buildAlternatives(this.product, top);\r\n\r\n this.alternatives = result.alternatives;\r\n this.selectedVariant = result.alternative;\r\n\r\n this.getProductPriceAndStock(this.selectedVariant, 0);\r\n }\r\n\r\n buildTops = (product: Product) => {\r\n const items: { [key: string]: Variant } = {};\r\n\r\n for (const variant of product.variants) {\r\n items[variant.top] = variant;\r\n }\r\n\r\n const tops = this.sortDictionary(items);\r\n const top = Object.values(tops)[0];\r\n\r\n return { tops, top };\r\n };\r\n\r\n buildAlternatives = (product: Product, top: Variant) => {\r\n const items: { [key: string]: Variant } = {};\r\n\r\n for (const variant of product.variants) {\r\n if (variant.top !== top.top) continue;\r\n\r\n items[variant.alternative] = variant;\r\n }\r\n\r\n const alternatives = this.sortDictionary(items);\r\n const alternative = Object.values(alternatives)[0];\r\n\r\n return { alternatives, alternative };\r\n };\r\n\r\n sortDictionary = (item: T): T => {\r\n return Object.keys(item)\r\n .sort()\r\n .reduce((acc, x) => {\r\n acc[x] = item[x];\r\n return acc;\r\n }, {}) as T;\r\n };\r\n}\r\n","import { Component } from \"vue-property-decorator\";\r\nimport ProductTileHaven from \"./ProductTileHaven\";\r\nimport queryString from \"query-string\";\r\nimport { Variant } from \"../../../models/haven-b2b/Product\";\r\n\r\n@Component\r\nexport default class ProductDetailHaven extends ProductTileHaven {\r\n constructor() {\r\n super();\r\n }\r\n\r\n mounted() {\r\n this.trackPageView(this.selectedVariant, false);\r\n }\r\n\r\n public trackPageView(variant: Variant, trackView: boolean): void {\r\n if (trackView) {\r\n this.$gtm.trackView(\"ProductView\", variant.url);\r\n }\r\n\r\n if (window.dataLayer) {\r\n window.dataLayer.push({\r\n event: \"product-view\",\r\n ecommerce: {\r\n detail: {\r\n products: [\r\n {\r\n name: variant.productName,\r\n id: variant.id,\r\n price: variant.discountPrice,\r\n category: variant.categoryPath,\r\n variant: variant.name,\r\n },\r\n ],\r\n },\r\n },\r\n });\r\n }\r\n }\r\n\r\n public select(variant: Variant): void {\r\n this.selectedVariant = variant;\r\n this.trackPageView(this.selectedVariant, false);\r\n var currentlocation = location.pathname + location.search;\r\n\r\n if (currentlocation !== variant.url) {\r\n this.trackPageView(variant, true);\r\n window.history.pushState(null, \"\", variant.url);\r\n document.title = variant.name;\r\n }\r\n\r\n this.getProductPriceAndStock(variant, 0);\r\n }\r\n\r\n public selectVariantFromQueryString() {\r\n var query = queryString.parse(location.search);\r\n if (query.v) {\r\n const variantIndex = this.product.variants.findIndex(variant => variant.urlName === query.v);\r\n if (variantIndex === -1) {\r\n this.select(this.product.variants[0]);\r\n } else {\r\n let variant = this.product.variants[variantIndex];\r\n this.select(variant);\r\n }\r\n } else {\r\n this.select(this.product.variants[0]);\r\n }\r\n }\r\n\r\n public created() {\r\n this.selectVariantFromQueryString();\r\n const self = this;\r\n window.onpopstate = function() {\r\n self.selectVariantFromQueryString();\r\n };\r\n }\r\n\r\n public openPdf() {\r\n var token = window.localStorage.getItem(\"requestVerificationToken\");\r\n var verificationToken = \"\";\r\n if (token != null) {\r\n verificationToken = token.split(\":\")[0];\r\n }\r\n\r\n if (verificationToken != \"\") {\r\n var pdfUrl = this.selectedVariant.generatePdfUrl + \"&token=\" + verificationToken;\r\n window.open(pdfUrl, \"_blank\");\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductDetailHaven.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductDetailHaven.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductDetailHaven.vue?vue&type=template&id=5be7ea41&scoped=true&\"\nimport script from \"./ProductDetailHaven.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductDetailHaven.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ProductDetailHaven.vue?vue&type=style&index=0&id=5be7ea41&lang=scss&scoped=true&\"\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 \"5be7ea41\",\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 > 0)?_c('div',{staticClass:\"product-offer\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"product-offer__heading col-xs-12 col-md-6\"},[_c('h3',[_vm._v(_vm._s(_vm.title))])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"product-offer__intro col-xs-12 col-md-9\"},[_c('h3',[_vm._v(_vm._s(_vm.introduction))])])]),_c('div',{staticClass:\"row product-offer__product-list\"},_vm._l((_vm.products),function(product){return _c('div',{key:product.id,staticClass:\"product-offer__product col-xs-12 col-sm-6 col-md-3\"},[_c('a',{staticClass:\"product-offer__img\",attrs:{\"href\":product.selectedVariant.url}},[(product.selectedVariant.image.length > 0)?_c('div',{style:({'background-image': 'url(' + product.selectedVariant.image[0] + ')'}),attrs:{\"alt\":product.name}}):_vm._e()]),_c('div',{staticClass:\"product-offer__product-info\"},[_c('h5',[_vm._v(_vm._s(product.selectedVariant.name))]),_c('h4',[_vm._v(_vm._s(product.category))]),_c('a',{staticClass:\"product-offer__showmore\",attrs:{\"href\":product.selectedVariant.url}},[_vm._v(_vm._s(_vm.translations[\"product.discover\"]))]),_c('div',{staticClass:\"product-offer__price\"},[_c('p',[_vm._v(_vm._s(product.selectedVariant.displayPrice)+\" — \"+_vm._s(product.selectedVariant.discountPercent))]),_c('p',{staticClass:\"product-offer__clear\"},[_vm._v(_vm._s(product.selectedVariant.displayDiscountPrice))])])])])}),0)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { Product } from \"@/models/tapwell/Product\";\r\n\r\n@Component\r\nexport default class ProductUpSell extends Vue {\r\n public translations: any;\r\n\r\n @Prop()\r\n public products!: Product[];\r\n\r\n @Prop()\r\n public title!: string;\r\n\r\n @Prop()\r\n public introduction!: string;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__litium.translation;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductUpSell.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductUpSell.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductUpSell.vue?vue&type=template&id=3c42f950&scoped=true&\"\nimport script from \"./ProductUpSell.ts?vue&type=script&lang=js&\"\nexport * from \"./ProductUpSell.ts?vue&type=script&lang=js&\"\nimport style0 from \"./ProductUpSell.vue?vue&type=style&index=0&id=3c42f950&lang=scss&scoped=true&\"\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 \"3c42f950\",\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 > 0)?_c('div',{staticClass:\"product-offer\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"product-offer__heading col-xs-12 col-md-6\"},[_c('h3',[_vm._v(_vm._s(_vm.title))])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"product-offer__intro col-xs-12 col-md-9\"},[_c('h3',[_vm._v(_vm._s(_vm.introduction))])])]),_c('div',{staticClass:\"row product-offer__product-list\"},_vm._l((_vm.products),function(product){return _c('div',{key:product.id,staticClass:\"product-offer__product col-xs-12 col-sm-6 col-md-3\"},[_c('product-accessory',{attrs:{\"product\":product}})],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',[_c('a',{staticClass:\"product-offer__img\",attrs:{\"href\":_vm.selectedVariant.url}},[(_vm.image)?_c('div',{style:({'background-image': 'url(' + _vm.image + ')'}),attrs:{\"alt\":_vm.product.name}}):_vm._e()]),_c('div',{staticClass:\"product-offer__product-info\"},[_c('h5',[_vm._v(_vm._s(_vm.selectedVariant.name))]),_c('h4',[_vm._v(_vm._s(_vm.product.category))]),_c('a',{staticClass:\"product-offer__showmore\",attrs:{\"href\":_vm.selectedVariant.url}},[_vm._v(_vm._s(_vm.translations[\"product.discover\"]))]),_c('div',{staticClass:\"product-offer__price\"},[_c('p',[_vm._v(_vm._s(_vm.selectedVariant.displayPrice)+\" — \"+_vm._s(_vm.selectedVariant.discountPercent))]),_c('p',{staticClass:\"product-offer__clear\"},[_vm._v(_vm._s(_vm.selectedVariant.displayDiscountPrice))])]),_c('ul',{staticClass:\"product-offer__variants\"},_vm._l((_vm.product.variants),function(variant,index){return _c('li',{key:index},[_c('a',{class:{ selected: _vm.selectedVariant.id == variant.id },on:{\"click\":function($event){return _vm.select(variant)}}},[_vm._v(_vm._s(variant.color))])])}),0),_c('button',{staticClass:\"product-offer__buy-btn btn\",on:{\"click\":_vm.addToCart}},[_vm._v(_vm._s(_vm.translations[\"product.buy\"]))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component } from \"vue-property-decorator\";\r\nimport ProductTile from \"./ProductTile.vue\";\r\n\r\n@Component\r\nexport default class ProductAccessory extends ProductTile {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductAccessory.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductAccessory.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductAccessory.vue?vue&type=template&id=1a5589be&scoped=true&\"\nimport script from \"./ProductAccessory.ts?vue&type=script&lang=js&\"\nexport * from \"./ProductAccessory.ts?vue&type=script&lang=js&\"\nimport style0 from \"./ProductAccessory.vue?vue&type=style&index=0&id=1a5589be&lang=scss&scoped=true&\"\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 \"1a5589be\",\n null\n \n)\n\nexport default component.exports","import { Vue, Component, Prop } from \"vue-property-decorator\";\r\nimport ProductAccessory from \"./ProductAccessory.vue\";\r\nimport { Product } from \"@/models/tapwell/Product\";\r\n\r\n@Component({\r\n components: {\r\n ProductAccessory,\r\n },\r\n})\r\nexport default class ProductAccessoryList extends Vue {\r\n @Prop()\r\n public title!: string;\r\n\r\n @Prop()\r\n public introduction!: string;\r\n\r\n @Prop()\r\n public products!: Product[];\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductAccessoryList.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductAccessoryList.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductAccessoryList.vue?vue&type=template&id=a84592a6&scoped=true&\"\nimport script from \"./ProductAccessoryList.ts?vue&type=script&lang=js&\"\nexport * from \"./ProductAccessoryList.ts?vue&type=script&lang=js&\"\nimport style0 from \"./ProductAccessoryList.vue?vue&type=style&index=0&id=a84592a6&lang=scss&scoped=true&\"\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 \"a84592a6\",\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('a',{class:_vm.cssclass,on:{\"click\":_vm.addToCart}},[_vm._v(_vm._s(_vm.linktext))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { CheckoutStore, CheckoutState } from \"../../../store/tapwell/checkoutstate\";\r\nimport { ApiService } from \"../../../services/tapwell/ApiService\";\r\nimport { Spinner } from \"spin.js\";\r\nimport { ReorderCart } from \"@/models/tapwell/Cart\";\r\nimport { Guid } from \"guid-typescript\";\r\n\r\n@Component\r\nexport default class ReorderButton extends Vue {\r\n\r\n @Prop()\r\n private linktext!: string;\r\n\r\n @Prop()\r\n private orderid!: Guid;\r\n\r\n @Prop()\r\n private cssclass!: string;\r\n\r\n protected spinner: Spinner;\r\n\r\n constructor() {\r\n super();\r\n this.spinner = new Spinner({ scale: 0.5 });\r\n }\r\n\r\n protected addToCart() {\r\n this.spinner.spin(this.$el as HTMLElement);\r\n const orderPayload: ReorderCart = {\r\n orderId: this.orderid,\r\n };\r\n var header = document.querySelector(\".header\");\r\n const scrollUp = \"scroll-up\";\r\n const scrollDown = \"scroll-down\";\r\n const currentScroll = window.pageYOffset;\r\n \r\n if (currentScroll == 0) {\r\n header.classList.remove(scrollUp);\r\n header.classList.remove(scrollDown);\r\n \r\n } else {\r\n header.classList.add(scrollUp);\r\n header.classList.remove(scrollDown);\r\n\r\n }\r\n ApiService.reorderCart(orderPayload).then((response) => {\r\n if (response && response.data) {\r\n const payload: CheckoutState = {\r\n cart: response.data,\r\n };\r\n CheckoutStore.saveState(payload).then(() => {/*nothing*/});\r\n }\r\n this.spinner.stop();\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ReorderButton.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ReorderButton.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReorderButton.vue?vue&type=template&id=ae3bf054&\"\nimport script from \"./ReorderButton.ts?vue&type=script&lang=ts&\"\nexport * from \"./ReorderButton.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('cart-view',{attrs:{\"showBulkImportInCheckout\":_vm.viewmodel.showBulkImportInCheckout}}),_c('customer-information',{attrs:{\"model\":_vm.viewmodel}})],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:\"checkout\"},[_c('div',{staticClass:\"banner row\"},[_c('div',{staticClass:\"col-xs-12 col-md-3\"}),_c('div',{staticClass:\"banner__text banner__text--relative col-xs-12 col-md-5\"},[_c('h1',[_vm._v(_vm._s(_vm.translations[\"checkout.cart.heading\"]))])])]),(!_vm.cart.orderRows || _vm.cart.orderRows.length == 0)?_c('div',[_vm._v(\" \"+_vm._s(_vm.translations[\"checkout.cart.empty\"])+\" \")]):_vm._e(),(_vm.showBulkImportInCheckout)?_c('div',{staticClass:\"row excel-import\"},[_c('div',{staticClass:\"col-xs-12 col-md-4\"},[_c('div',{staticClass:\"select-excel\"},[_c('span',{staticClass:\"imported-filename\"},[_vm._v(_vm._s(_vm.importedFileName))]),_c('input',{ref:\"fileupload\",attrs:{\"type\":\"file\",\"name\":\"file\",\"id\":\"excel-uploader\",\"hidden\":\"\"},on:{\"change\":function($event){return _vm.fileChange($event.target.files)}}}),_c('label',{staticClass:\"btn\",attrs:{\"for\":\"excel-uploader\"}},[_vm._v(_vm._s(_vm.translations[\"checkout.importcartusingexcel\"]))])]),_c('div',{staticClass:\"download-template\",on:{\"click\":_vm.getSampleCheckoutExcelFile}},[_vm._v(\" \"+_vm._s(_vm.translations[\"checkout.download\"])+\" \")])])]):_vm._e(),(!_vm.excelRows || _vm.excelRows.length > 0)?_c('div',{staticStyle:{\"float\":\"left\",\"color\":\"#ff0000\",\"clear\":\"both\"}},_vm._l((_vm.excelRows),function(row,index){return _c('div',{key:index},[_c('div',[_vm._v(_vm._s(row.description))])])}),0):_vm._e(),(_vm.cart.orderRows && _vm.cart.orderRows.length > 0)?_c('div',{staticClass:\"checkout__list\"},[_c('div',{staticClass:\"row checkout__list__header hide-mobile\"},[_c('div',{staticClass:\"checkout__variant checkout__variant--info col-xs-12 col-md-3\"}),_c('div',{staticClass:\"checkout__variant checkout__variant--about col-xs-12 col-md-3\"},[_c('h3',[_vm._v(_vm._s(_vm.translations[\"checkout.product\"]))])]),_c('div',{staticClass:\"\\n checkout__variant checkout__variant--a-price\\n col-xs-12 col-md-3\\n \"},[_c('div',[_c('p',[_vm._v(_vm._s(_vm.translations[\"checkout.price.unit\"]))])])]),_c('div',{staticClass:\"checkout__variant checkout__variant--price col-xs-12 col-md-3\"},[_c('h3',[_vm._v(_vm._s(_vm.translations[\"checkout.price.total\"]))])])]),_vm._l((_vm.cart.orderRows),function(row,index){return _c('div',{key:index},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"checkout__variant checkout__variant--info col-xs-12 col-md-3\"},[_c('div',{staticClass:\"checkout__info\"},[_c('h3',[_vm._v(_vm._s(_vm.translations[\"checkout.cart.yourproducts\"]))])]),_c('a',{staticClass:\"checkout__img hide-mobile\",attrs:{\"href\":row.url}},[_c('div',{style:({ 'background-image': 'url(' + row.image + ')' })})])]),_c('div',{staticClass:\"\\n checkout__variant checkout__variant--about\\n col-xs-12 col-md-3\\n \"},[_c('div',[_c('h2',{staticClass:\"checkout__variant-name\"},[_c('a',{attrs:{\"href\":row.url}},[_vm._v(_vm._s(row.name))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.translations[\"product.articlenumber\"])+\" \"+_vm._s(row.articleNumber)+\" \")])]),_c('ul',{staticClass:\"checkout__variant-description\"},[_c('li',[_vm._v(\" \"+_vm._s(row.category)+\" \")]),_c('li',{staticClass:\"hide-desktop\"},[_c('p',[_vm._v(_vm._s(_vm.translations[\"checkout.price.unit\"])+\":\")]),_c('ul',[_c('li',[_c('span',{class:{ strike: row.discountPercent != null }},[_vm._v(\" \"+_vm._s(row.originalPrice))]),_vm._v(\" -\"+_vm._s(row.discountPercent)+\" \")]),_c('li',[_vm._v(_vm._s(row.price))])])]),_c('li',[(_vm.activeOrderRow == index)?_c('div',{staticClass:\"checkout__amount-picker\"},[_c('p',[_vm._v(_vm._s(_vm.translations[\"checkout.cart.header.quantity\"]))]),_c('div',{staticClass:\"quantity-picker__container\"},[_c('a',{on:{\"click\":_vm.decreaseAmount}},[_c('span',[_vm._v(\"—\")])]),(row.showQuantityFieldAsTextBoxInB2BSite)?_c('span',{staticClass:\"checkout__amount\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newQuantity),expression:\"newQuantity\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.newQuantity)},on:{\"change\":_vm.handleQtyChange,\"input\":function($event){if($event.target.composing){ return; }_vm.newQuantity=$event.target.value}}})]):_c('span',{staticClass:\"checkout__amount\"},[_vm._v(_vm._s(_vm.quantityDisplay))]),(!_vm.checkMaximumQuantitySize(row))?_c('a',{on:{\"click\":_vm.increaseAmount}},[_c('span',[_vm._v(\"+\")])]):_vm._e(),(row.showPackageBoxSizeInTheChannelsB2BSite && row.sqmBox>0)?_c('span',{staticClass:\"checkout__variant-calculatedbox-label\"},[_vm._v(\"= \"+_vm._s(_vm.calculateBoxSize(row))+\" m\"),_c('sup',[_vm._v(\"2\")])]):_vm._e()]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(row.showPackageBoxSizeInTheChannelsB2BSite && row.sqmBox>0),expression:\"row.showPackageBoxSizeInTheChannelsB2BSite && row.sqmBox>0\"}],staticClass:\"checkout__variant-box-label\"},[_vm._v(\" 1 pkt = \"+_vm._s(row.sqmBox)+\" m\"),_c('sup',[_vm._v(\"2\")]),_vm._v(\"/ box \")])]):_c('div',[_vm._v(\" \"+_vm._s(_vm.translations[\"checkout.cart.header.quantity\"])+\" \"),_c('span',[_vm._v(_vm._s(row.quantity))]),_vm._v(\" \"+_vm._s(row.uom)),(row.showPackageBoxSizeInTheChannelsB2BSite && row.sqmBox>0)?_c('span',{staticClass:\"checkout__variant-calculatedbox-label\"},[_vm._v(\"= \"+_vm._s(_vm.calculateBoxSize(row))+\" m\"),_c('sup',[_vm._v(\"2\")])]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(row.showPackageBoxSizeInTheChannelsB2BSite && row.sqmBox>0),expression:\"row.showPackageBoxSizeInTheChannelsB2BSite && row.sqmBox>0\"}],staticClass:\"checkout__variant-box-label\"},[_vm._v(\" 1 pkt = \"+_vm._s(row.sqmBox)+\" m\"),_c('sup',[_vm._v(\"2\")]),_vm._v(\"/ box \")])])])]),(\n row.maximumBuyableQuantitiy > 0 &&\n row.quantity >= row.maximumBuyableQuantitiy\n )?_c('div',{staticStyle:{\"color\":\"#ff0000\"}},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.maxbuyablequantitymessage\"])+\" \")]):_vm._e(),(_vm.isHavenB2B)?_c('div',{staticClass:\"checkout__stock hide-mobile\"},[(!row.inStock)?_c('div',{staticClass:\"checkout__stock-text\"},[_c('p',[_c('span',{staticClass:\"checkout__stock-message\"},[_vm._v(_vm._s(_vm.translations[\"product.backinstock\"])+\" \")])])]):_vm._e(),_c('div',{staticClass:\"checkout__status-icon checkout__status-icon--true\"})]):_vm._e(),(!_vm.isHavenB2B)?_c('div',{staticClass:\"checkout__stock hide-mobile\",class:{ 'checkout__stock--zero': !row.inStock }},[(row.inStock)?_c('div',{staticClass:\"checkout__stock-text\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.translations[\"product.delivery\"])+\" \"+_vm._s(_vm.translations[\"product.deliverydate\"])+\" \")])]):_c('div',{staticClass:\"checkout__stock-text\"}),(!row.inStock)?_c('div',{staticClass:\"checkout__stock-zero\"},[_c('p',[(!row.outgoingProduct)?_c('span',{staticClass:\"checkout__stock-message\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.backinstock\"])+\" \"+_vm._s(row.formattedDateAvailable)+\" \"+_vm._s(_vm.translations[\"product.deliverywithintwoweeks\"]))]):_c('span',{staticClass:\"checkout__stock-message\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.outgoingproductdeliverymessage\"])+\" \")])])]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!row.hideStockBalanceForTheProduct),expression:\"!row.hideStockBalanceForTheProduct\"}],staticClass:\"checkout__status-icon\",class:{ 'checkout__status-icon--true': row.inStock }})]):_vm._e(),_c('div',{staticClass:\"checkout__labeling hide-mobile form-group\"},[_c('label',[_vm._v(\" \"+_vm._s(_vm.translations[\"checkout.cart.header.labeling\"])+\" \")]),_c('span',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(row.comment),expression:\"row.comment\"}],attrs:{\"type\":\"text\",\"placeholder\":\"|\"},domProps:{\"value\":(row.comment)},on:{\"blur\":function($event){return _vm.updateLabeling(row)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(row, \"comment\", $event.target.value)}}})])]),_c('div',{staticClass:\"checkout__edit hide-mobile\"},[_c('a',{staticClass:\"checkout__change\",class:{ hide: _vm.isActiveOrderRow(index) },on:{\"click\":function($event){return _vm.activateOrderRow(index)}}},[_c('i',[_vm._v(\"→\")]),_vm._v(\" \"+_vm._s(_vm.translations[\"checkout.cart.update\"]))]),_c('a',{staticClass:\"checkout__remove\",on:{\"click\":function($event){return _vm.removeFromCart(index)}}},[_c('span',{staticClass:\"line\"}),_c('span',{staticClass:\"line\"})])])]),_c('div',{staticClass:\"checkout__img-container hide-desktop\"},[_c('a',{staticClass:\"checkout__img\",attrs:{\"href\":row.url}},[_c('div',{style:({ 'background-image': 'url(' + row.image + ')' })})])])]),(_vm.isHavenB2B)?_c('div',{staticClass:\"\\n checkout__variant checkout__variant--stock\\n col-xs-12 col-md-3\\n hide-desktop\\n \"},[_c('div',{staticClass:\"checkout__stock\"},[_c('div',{staticClass:\"checkout__stock-text\"},[_c('p',[_c('span',{staticClass:\"checkout__stock-message\"},[_vm._v(_vm._s(_vm.translations[\"product.backinstock\"])+\" \")])])]),_c('div',{staticClass:\"checkout__status-icon checkout__status-icon--true\"})])]):_vm._e(),(!_vm.isHavenB2B)?_c('div',{staticClass:\"\\n checkout__variant checkout__variant--stock\\n col-xs-12 col-md-3\\n hide-desktop\\n \"},[_c('div',{staticClass:\"checkout__stock\",class:{ 'checkout__stock--zero': !row.inStock }},[(row.inStock)?_c('div',{staticClass:\"checkout__stock-text\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.translations[\"product.delivery\"])+\" \"+_vm._s(_vm.translations[\"product.deliverydate\"])+\" \")])]):_c('div',{staticClass:\"checkout__stock-text\"}),(!row.inStock)?_c('div',{staticClass:\"checkout__stock-zero\"},[_c('p',[_c('span',{staticClass:\"checkout__stock-message\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.backinstock\"])+\" \"+_vm._s(row.formattedDateAvailable)+\" \"+_vm._s(_vm.translations[\"product.deliverywithintwoweeks\"])+\" \")])])]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!row.hideStockBalanceForTheProduct),expression:\"!row.hideStockBalanceForTheProduct\"}],staticClass:\"checkout__status-icon\",class:{ 'checkout__status-icon--true': row.inStock }})])]):_vm._e(),_c('div',{staticClass:\"\\n checkout__variant checkout__variant--a-price\\n col-xs-12 col-md-3\\n \"},[_c('ul',{staticClass:\"hide-mobile\"},[(row.discountPercent)?_c('ul',[_c('li',[_c('span',{class:{ strike: row.discountPercent != null }},[_vm._v(\" \"+_vm._s(row.originalPrice))]),_vm._v(\" -\"+_vm._s(row.discountPercent)+\" \")]),_c('li',[_vm._v(_vm._s(row.price))])]):_c('ul',[_c('li',[_vm._v(_vm._s(row.price))])])]),_c('div',{staticClass:\"checkout__edit hide-desktop\"},[_c('a',{staticClass:\"checkout__change\",class:{ hide: _vm.isActiveOrderRow(index) },on:{\"click\":function($event){return _vm.activateOrderRow(index)}}},[_c('i',[_vm._v(\"→\")]),_vm._v(\" \"+_vm._s(_vm.translations[\"checkout.cart.update\"]))]),_c('a',{staticClass:\"checkout__remove\",on:{\"click\":function($event){return _vm.removeFromCart(index)}}},[_c('span',{staticClass:\"line\"}),_c('span',{staticClass:\"line\"})])])]),_c('div',{staticClass:\"\\n checkout__variant checkout__variant--price\\n col-xs-12 col-md-3\\n \"},[_c('p',[_vm._v(_vm._s(row.totalPrice))])])])])}),_c('ul',{staticClass:\"checkout__total row\"},[_c('li',{staticClass:\"col-md-3 hide-mobile\"}),_c('li',{staticClass:\"col-md-3 hide-mobile\"}),_c('li',{staticClass:\"col-xs-12 col-md-6\"},[_c('ul',[_c('li',[_c('span',[_vm._v(_vm._s(_vm.translations[\"checkout.order.deliverycost\"]))]),_c('span',{staticClass:\"fade\"},[_vm._v(_vm._s(_vm.cart.deliveryCost))])]),_c('li',[_c('span',[_vm._v(_vm._s(_vm.translations[\"checkout.order.cart.vat\"]))]),_c('span',[_vm._v(_vm._s(_vm.cart.vat))])]),_c('li',{staticClass:\"bold\"},[_c('span',[_vm._v(_vm._s(_vm.translations[\"checkout.order.grandtotal.exlvat\"]))]),_c('span',[_vm._v(_vm._s(_vm.cart.grandTotalExclVat))])]),_c('li',[_c('span',[_vm._v(_vm._s(_vm.translations[\"checkout.order.grandtotal.inklvat\"]))]),_c('span',[_vm._v(_vm._s(_vm.cart.grandTotal))])])])])])],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { CheckoutStore } from \"@/store/tapwell/checkoutstate\";\r\nimport { Spinner } from \"spin.js\";\r\nimport { AddOrUpdateCartItem, OrderRow, OrderRowCommentsObject } from \"@/models/tapwell/Cart\";\r\nimport { TapwellGroupWebsite } from \"@/models/TapwellGroupWebsite\";\r\nimport { ImportToCart } from \"@/models/tapwell/Cart\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\nimport { CampaignModel } from \"@/models/tapwell/Checkout\";\r\n\r\n@Component\r\nexport default class CartView extends Vue { \r\n @Prop()\r\n public showBulkImportInCheckout!:boolean;\r\n @Prop(String)\r\n public bannerHeadingColor!:string;\r\n public translations: any;\r\n protected spinner: Spinner;\r\n public activeOrderRow: number = NaN;\r\n private quantityChangedTriggered: boolean = false;\r\n get cart() { return CheckoutStore.cart; }\r\n get isHavenB2B() {\r\n return window.__currentWebsite === TapwellGroupWebsite.HavenB2B;\r\n }\r\n public quantityDisplay: number = 0;\r\n public newQuantity: string = \"0\";\r\n protected campaignCode: string = \"\";\r\n protected campaignCodeError: string = \"\";\r\n public files:any;\r\n public importedFileName: string = \"\";\r\n public excelRows:ImportToCart[]; \r\n public showMaxLimitMessage: boolean = false;\r\n \r\n $refs!: {\r\n vue: Vue,\r\n fileupload: HTMLInputElement,\r\n vues: Vue[],\r\n elements: HTMLInputElement[]\r\n }\r\n\r\n constructor() {\r\n super();\r\n \r\n this.translations = window.__litium.translation;\r\n this.spinner = new Spinner({ scale: 0.5 });\r\n var currentCampaignCode = window.localStorage.getItem('campaignCode');\r\n this.campaignCode = currentCampaignCode == null ? \"\" : currentCampaignCode;\r\n this.files=new FormData();\r\n this.excelRows= [];\r\n }\r\n\r\n public activateOrderRow(index: number) {\r\n this.activeOrderRow = index;\r\n this.quantityDisplay = this.cart.orderRows[this.activeOrderRow].quantity;\r\n this.newQuantity = this.cart.orderRows[this.activeOrderRow].quantity.toString();\r\n }\r\n\r\n public updateLabeling = (row: OrderRow) => {\r\n setTimeout(() => {\r\n const data: OrderRowCommentsObject = { \r\n comment: \"\",\r\n requestedDeliveryDate: \"\", \r\n ...JSON.parse(row.comments || \"{}\"),\r\n };\r\n\r\n data.comment = row.comment;\r\n // console.log(\"updateLabeling: \", data);\r\n\r\n const payload: AddOrUpdateCartItem = {\r\n articleNumber: row.articleNumber,\r\n quantity: row.quantity,\r\n rowSystemId: row.rowSystemId,\r\n comment: JSON.stringify(data),\r\n };\r\n\r\n this.updateCart(payload);\r\n }, 1500);\r\n }\r\n\r\n public decreaseAmount(): void {\r\n this.quantityDisplay -= 1;\r\n if (this.quantityDisplay < 0) {\r\n this.quantityDisplay = 0;\r\n }\r\n this.newQuantity = this.quantityDisplay.toString();\r\n if (!this.quantityChangedTriggered) {\r\n this.quantityChangedTriggered = true;\r\n var self = this;\r\n this.showMaxLimitMessage = false;\r\n setTimeout(function () {\r\n var orderRow = self.cart.orderRows[self.activeOrderRow];\r\n const payload: AddOrUpdateCartItem = {\r\n articleNumber: orderRow.articleNumber,\r\n quantity: self.quantityDisplay,\r\n rowSystemId: orderRow.rowSystemId,\r\n comment: orderRow.comments\r\n };\r\n self.updateCart(payload);\r\n self.quantityChangedTriggered = false;\r\n }, 1500);\r\n }\r\n }\r\n\r\n public increaseAmount(): void {\r\n this.quantityDisplay += 1;\r\n this.newQuantity = this.quantityDisplay.toString();\r\n if (!this.quantityChangedTriggered) {\r\n this.quantityChangedTriggered = true;\r\n var self = this;\r\n setTimeout(function () {\r\n var orderRow = self.cart.orderRows[self.activeOrderRow];\r\n const payload: AddOrUpdateCartItem = {\r\n articleNumber: orderRow.articleNumber,\r\n quantity: self.quantityDisplay,\r\n rowSystemId: orderRow.rowSystemId,\r\n comment: orderRow.comments\r\n };\r\n self.updateCart(payload);\r\n self.quantityChangedTriggered = false;\r\n }, 1500);\r\n }\r\n }\r\n\r\n public handleQtyChange(): void {\r\n this.quantityDisplay = parseInt(this.newQuantity);\r\n if (!this.quantityChangedTriggered) {\r\n this.quantityChangedTriggered = true;\r\n var self = this;\r\n setTimeout(function () {\r\n var orderRow = self.cart.orderRows[self.activeOrderRow];\r\n if(orderRow.outletProduct && self.quantityDisplay > orderRow.outletProductInStockQuantity)\r\n {\r\n self.quantityDisplay = orderRow.outletProductInStockQuantity;\r\n self.newQuantity = orderRow.outletProductInStockQuantity.toString();\r\n }\r\n\r\n const payload: AddOrUpdateCartItem = {\r\n articleNumber: orderRow.articleNumber,\r\n quantity: self.quantityDisplay,\r\n rowSystemId: orderRow.rowSystemId,\r\n comment: orderRow.comments\r\n };\r\n self.updateCart(payload);\r\n self.quantityChangedTriggered = false;\r\n }, 1500);\r\n }\r\n }\r\n\r\n public checkMaximumQuantitySize(row: OrderRow): boolean {\r\n var maxQtyAchieved = false\r\n\r\n if(row.maximumBuyableQuantitiy >0 && this.quantityDisplay >= row.maximumBuyableQuantitiy) {\r\n maxQtyAchieved = true;\r\n this.showMaxLimitMessage = true;\r\n }\r\n\r\n if(!maxQtyAchieved){\r\n if(row.outletProduct && row.outletProductInStockQuantity===this.quantityDisplay)\r\n {\r\n maxQtyAchieved = true;\r\n this.showMaxLimitMessage = true;\r\n }\r\n }\r\n\r\n return maxQtyAchieved;\r\n }\r\n\r\n public calculateBoxSize(row: OrderRow){\r\n return (row.quantity * row.sqmBox).toFixed(2);\r\n }\r\n\r\n public removeFromCart(index: number): void {\r\n var orderRow = this.cart.orderRows[index];\r\n const payload: AddOrUpdateCartItem = {\r\n articleNumber: orderRow.articleNumber,\r\n quantity: 0,\r\n rowSystemId: orderRow.rowSystemId,\r\n comment: orderRow.comments\r\n };\r\n this.updateCart(payload);\r\n }\r\n\r\n public isActiveOrderRow(index: number) {\r\n return this.activeOrderRow == index;\r\n }\r\n\r\n public setCampaignCode() {\r\n localStorage.setItem('campaignCode', this.campaignCode);\r\n\r\n const payload: CampaignModel = {\r\n campaignCode: this.campaignCode\r\n };\r\n\r\n ApiService.setCampaignCode(payload).then((response) => {\r\n if (response.status == 200) {\r\n CheckoutStore.reloadState().then(() => { /* nothing */ });\r\n this.campaignCodeError = \"\";\r\n }\r\n else if (response.status == 400) {\r\n var statusText = typeof (response.statusText) === \"string\" ? JSON.parse(response.statusText) : response.statusText;\r\n this.campaignCodeError = statusText.modelState.campaignCode[0];\r\n CheckoutStore.reloadState().then(() => { /* nothing */ });\r\n }\r\n else {\r\n this.campaignCodeError = \"\";\r\n }\r\n });\r\n }\r\n\r\n private updateCart(payload: AddOrUpdateCartItem): void {\r\n this.spinner.spin(this.$el as HTMLElement);\r\n CheckoutStore.updateState(payload).then(() => {\r\n this.spinner.stop();\r\n });\r\n }\r\n public fileChange(fileList) {\r\n if(fileList[0].name.split('.').pop()!=\"xls\"){\r\n alert(\"Invalid file format\");\r\n return false;\r\n }\r\n this.files=new FormData();\r\n this.files.append(\"file\", fileList[0], fileList[0].name);\r\n this.importedFileName = fileList[0].name;\r\n \r\n const files = this.files;\r\n\r\n this.spinner.spin(this.$el as HTMLElement);\r\n CheckoutStore.excelImportState(files).then(() => {\r\n this.excelRows = this.cart.itemsNotAdded;\r\n this.spinner.stop(); \r\n this.$refs.fileupload.value='';\r\n });\r\n \r\n }\r\n\r\n\r\n public getSampleCheckoutExcelFile(): void {\r\n this.spinner.spin(this.$el as HTMLElement); \r\n\r\n ApiService.getSampleCheckoutExcelFile().then((response) => {\r\n if (response.status == 200) {\r\n\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'CartItems.xls');\r\n document.body.appendChild(link);\r\n link.click();\r\n\r\n this.spinner.stop();\r\n\r\n }\r\n else if (response.status == 400) {\r\n this.spinner.stop();\r\n\r\n }\r\n else {\r\n this.spinner.stop();\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--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./CartView.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./CartView.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CartView.vue?vue&type=template&id=259b295a&\"\nimport script from \"./CartView.ts?vue&type=script&lang=ts&\"\nexport * from \"./CartView.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:\"delivery\"},[_c('ValidationObserver',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('form',{on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.placeOrder)}}},[_c('div',{staticClass:\"delivery__list-heading hide-mobile\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"delivery__column delivery__column--1 col-xs-12 col-md-3\"},[_c('div',{staticClass:\"delivery__label\"},[_c('h3',[_vm._v(_vm._s(_vm.translations[\"checkout.delivery\"]))])])]),_c('div',{staticClass:\"delivery__column delivery__column--2 col-xs-12 col-md-3\"},[_c('h5',{staticClass:\"delivery__column-label delivery__column-label--1\"},[_vm._v(_vm._s(_vm.translations[\"checkout.deliveryaddress\"]))])]),_c('div',{staticClass:\"delivery__column delivery__column--3 col-xs-12 col-md-6\"},[_c('h5',{staticClass:\"delivery__column-label delivery__column-label--1\"},[_c('label',{staticClass:\"radio-container\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"checkout.alternative.address\"])+\" \"),_c('ValidationProvider',{attrs:{\"rules\":\"\",\"vid\":\"alternativeDeliveryAddress\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.checkoutmodel.alternateDeliveryAddress),expression:\"checkoutmodel.alternateDeliveryAddress\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":_vm.checkoutmodel.alternateDeliveryAddress,\"checked\":Array.isArray(_vm.checkoutmodel.alternateDeliveryAddress)?_vm._i(_vm.checkoutmodel.alternateDeliveryAddress,null)>-1:(_vm.checkoutmodel.alternateDeliveryAddress)},on:{\"change\":[function($event){var $$a=_vm.checkoutmodel.alternateDeliveryAddress,$$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(_vm.checkoutmodel, \"alternateDeliveryAddress\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.checkoutmodel, \"alternateDeliveryAddress\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.checkoutmodel, \"alternateDeliveryAddress\", $$c)}},_vm.updateUnifaun]}}),_c('span',{staticClass:\"checkmark\"},[_vm._v(\"]\")])])],1)])])])]),_c('div',{staticClass:\"delivery__list\"},[_c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"delivery__column delivery__column--1 col-xs-12 col-md-3\"},[_c('div',[_c('h3',[_vm._v(_vm._s(_vm.translations[\"checkout.delivery\"]))])]),_c('h5',{staticClass:\"delivery__column-label delivery__column-label--1 hide-desktop\"},[_vm._v(_vm._s(_vm.translations[\"checkout.deliveryaddress\"]))])]),_c('div',{staticClass:\"delivery__column delivery__column--2 col-xs-12 col-md-3\"},[_c('h5',{staticClass:\"delivery__column-label delivery__column-label--1 hide-desktop\"},[_vm._v(_vm._s(_vm.translations[\"checkout.deliveryaddress\"]))]),_c('p',{staticClass:\"delivery__content-1\",class:{'disabled' : _vm.checkoutmodel.alternateDeliveryAddress }},[_c('span',[_vm._v(\" \"+_vm._s(_vm.checkoutmodel.companyName)),_c('br'),_vm._v(\" \"+_vm._s(_vm.checkoutmodel.deliveryAddress.address)),_c('br'),_vm._v(\" \"+_vm._s(_vm.checkoutmodel.deliveryAddress.zipCode)+\" \"+_vm._s(_vm.checkoutmodel.deliveryAddress.city)),_c('br'),_vm._v(\" \"+_vm._s(_vm.checkoutmodel.deliveryAddress.country)+\" \")])]),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations[\"checkout.customerinfo.goodslabeling\"])),_c('span',[_vm._v(\" *\")])]),_c('ValidationProvider',{attrs:{\"name\":\"goodslabeling\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.checkoutmodel.goodslabeling),expression:\"checkoutmodel.goodslabeling\"}],attrs:{\"type\":\"text\",\"placeholder\":\"|\",\"tabindex\":\"10\",\"maxlength\":\"30\"},domProps:{\"value\":(_vm.checkoutmodel.goodslabeling)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.checkoutmodel, \"goodslabeling\", $event.target.value)}}}),_c('span',[_vm._v(_vm._s(errors[0]))])]}}],null,true)})],1),_c('div',{staticClass:\"form-group date\"},[_c('label',[_vm._v(_vm._s(_vm.translations[\"checkout.customerinfo.wanteddeliverydate\"]))]),_c('date-picker',{attrs:{\"monday-first\":true,\"required\":true,\"use-utc\":true,\"language\":_vm.languages[_vm.currentLanguage],\"disabled-dates\":{\n days: [6, 0],\n to: _vm.lastDisabledDeliveryDate },\"tabindex\":\"12\"},on:{\"selected\":_vm.changeDeliveryDate},model:{value:(_vm.formattedSelectedDeliveryDate),callback:function ($$v) {_vm.formattedSelectedDeliveryDate=$$v},expression:\"formattedSelectedDeliveryDate\"}})],1),_c('p',{staticClass:\"delivery__required-message\"},[_vm._v(_vm._s(_vm.translations[\"checkout.mandatoryfields\"]))])]),_c('div',{staticClass:\"delivery__column delivery__column--2 delivery__column--alternative col-xs-12 col-md-3\"},[_c('div',[_c('h5',{staticClass:\"delivery__column-label delivery__column-label--2 hide-desktop\"},[_c('label',{staticClass:\"radio-container\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"checkout.alternative.address\"])+\" \"),_c('ValidationProvider',{attrs:{\"rules\":\"\",\"vid\":\"alternativeDeliveryAddress\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.checkoutmodel.alternateDeliveryAddress),expression:\"checkoutmodel.alternateDeliveryAddress\"}],attrs:{\"type\":\"checkbox\",\"tabindex\":\"1\"},domProps:{\"checked\":_vm.checkoutmodel.alternateDeliveryAddress,\"checked\":Array.isArray(_vm.checkoutmodel.alternateDeliveryAddress)?_vm._i(_vm.checkoutmodel.alternateDeliveryAddress,null)>-1:(_vm.checkoutmodel.alternateDeliveryAddress)},on:{\"change\":[function($event){var $$a=_vm.checkoutmodel.alternateDeliveryAddress,$$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(_vm.checkoutmodel, \"alternateDeliveryAddress\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.checkoutmodel, \"alternateDeliveryAddress\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.checkoutmodel, \"alternateDeliveryAddress\", $$c)}},_vm.updateUnifaun]}}),_c('span',{staticClass:\"checkmark\"},[_vm._v(\"]\")])])],1)]),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations[\"checkout.customerinfo.recipientname\"])),(_vm.checkoutmodel.alternateDeliveryAddress)?_c('span',[_vm._v(\" *\")]):_vm._e()]),_c('ValidationProvider',{attrs:{\"name\":\"recipientname\",\"rules\":\"required_if:alternativeDeliveryAddress,true\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var errors = ref.errors;\nreturn [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.checkoutmodel.recipientName),expression:\"checkoutmodel.recipientName\"}],attrs:{\"type\":\"text\",\"placeholder\":\"|\",\"tabindex\":\"2\",\"maxlength\":\"36\",\"disabled\":!_vm.checkoutmodel.alternateDeliveryAddress},domProps:{\"value\":(_vm.checkoutmodel.recipientName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.checkoutmodel, \"recipientName\", $event.target.value)}}}),_c('span',[_vm._v(_vm._s(errors[0]))])]}}],null,true)})],1),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations[\"checkout.customerinfo.careof\"]))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.checkoutmodel.alternativeAddress.careOf),expression:\"checkoutmodel.alternativeAddress.careOf\"}],attrs:{\"type\":\"text\",\"placeholder\":\"|\",\"tabindex\":\"3\",\"maxlength\":\"36\",\"disabled\":!_vm.checkoutmodel.alternateDeliveryAddress},domProps:{\"value\":(_vm.checkoutmodel.alternativeAddress.careOf)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.checkoutmodel.alternativeAddress, \"careOf\", $event.target.value)}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations[\"checkout.customerinfo.address\"])),(_vm.checkoutmodel.alternateDeliveryAddress)?_c('span',[_vm._v(\" *\")]):_vm._e()]),_c('ValidationProvider',{attrs:{\"name\":\"address\",\"rules\":\"required_if:alternativeDeliveryAddress,true\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var errors = ref.errors;\nreturn [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.checkoutmodel.alternativeAddress.address),expression:\"checkoutmodel.alternativeAddress.address\"}],attrs:{\"type\":\"text\",\"placeholder\":\"|\",\"tabindex\":\"4\",\"maxlength\":\"36\",\"disabled\":!_vm.checkoutmodel.alternateDeliveryAddress},domProps:{\"value\":(_vm.checkoutmodel.alternativeAddress.address)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.checkoutmodel.alternativeAddress, \"address\", $event.target.value)}}}),_c('span',[_vm._v(_vm._s(errors[0]))])]}}],null,true)})],1),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations[\"checkout.customerinfo.zipcode\"])),(_vm.checkoutmodel.alternateDeliveryAddress)?_c('span',[_vm._v(\" *\")]):_vm._e()]),_c('ValidationProvider',{attrs:{\"name\":\"zipcode\",\"rules\":\"required_if:alternativeDeliveryAddress,true\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var errors = ref.errors;\nreturn [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.checkoutmodel.alternativeAddress.zipCode),expression:\"checkoutmodel.alternativeAddress.zipCode\"}],attrs:{\"type\":\"text\",\"placeholder\":\"|\",\"tabindex\":\"5\",\"maxlength\":\"36\",\"disabled\":!_vm.checkoutmodel.alternateDeliveryAddress},domProps:{\"value\":(_vm.checkoutmodel.alternativeAddress.zipCode)},on:{\"change\":_vm.updateUnifaun,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.checkoutmodel.alternativeAddress, \"zipCode\", $event.target.value)}}}),_c('span',[_vm._v(_vm._s(errors[0]))])]}}],null,true)})],1),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations[\"checkout.customerinfo.city\"])),(_vm.checkoutmodel.alternateDeliveryAddress)?_c('span',[_vm._v(\" *\")]):_vm._e()]),_c('ValidationProvider',{attrs:{\"name\":\"city\",\"rules\":\"required_if:alternativeDeliveryAddress,true\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var errors = ref.errors;\nreturn [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.checkoutmodel.alternativeAddress.city),expression:\"checkoutmodel.alternativeAddress.city\"}],attrs:{\"type\":\"text\",\"placeholder\":\"|\",\"tabindex\":\"6\",\"maxlength\":\"36\",\"disabled\":!_vm.checkoutmodel.alternateDeliveryAddress},domProps:{\"value\":(_vm.checkoutmodel.alternativeAddress.city)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.checkoutmodel.alternativeAddress, \"city\", $event.target.value)}}}),_c('span',[_vm._v(_vm._s(errors[0]))])]}}],null,true)})],1),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations[\"checkout.customerinfo.country\"])),(_vm.checkoutmodel.alternateDeliveryAddress)?_c('span',[_vm._v(\" *\")]):_vm._e()]),_c('ValidationProvider',{attrs:{\"name\":\"country\",\"rules\":\"required_if:alternativeDeliveryAddress,true\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var errors = ref.errors;\nreturn [_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.checkoutmodel.alternativeAddress.country),expression:\"checkoutmodel.alternativeAddress.country\"}],attrs:{\"tabindex\":\"7\",\"disabled\":!_vm.checkoutmodel.alternateDeliveryAddress},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.$set(_vm.checkoutmodel.alternativeAddress, \"country\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},_vm.updateUnifaun]}},_vm._l((_vm.checkoutmodel.countries),function(country){return _c('option',{key:country.id,domProps:{\"value\":country.id}},[_vm._v(\" \"+_vm._s(country.name)+\" \")])}),0),_c('span',[_vm._v(_vm._s(errors[0]))])]}}],null,true)})],1),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations[\"checkout.customerinfo.cellphone\"])),(_vm.checkoutmodel.alternateDeliveryAddress)?_c('span',[_vm._v(\" *\")]):_vm._e()]),_c('ValidationProvider',{attrs:{\"name\":\"alternateNotificationPhone\",\"rules\":\"required_if:alternativeDeliveryAddress,true\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var errors = ref.errors;\nreturn [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.checkoutmodel.notificationPhone),expression:\"checkoutmodel.notificationPhone\"}],attrs:{\"type\":\"text\",\"placeholder\":\"|\",\"tabindex\":\"8\",\"maxlength\":\"36\",\"disabled\":!_vm.checkoutmodel.alternateDeliveryAddress},domProps:{\"value\":(_vm.checkoutmodel.notificationPhone)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.checkoutmodel, \"notificationPhone\", $event.target.value)}}}),_c('span',[_vm._v(_vm._s(errors[0]))])]}}],null,true)})],1),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations[\"checkout.customerinfo.email\"])),(_vm.checkoutmodel.alternateDeliveryAddress)?_c('span',[_vm._v(\" *\")]):_vm._e()]),_c('ValidationProvider',{attrs:{\"name\":\"email\",\"rules\":\"required_if:alternativeDeliveryAddress,true|email\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var errors = ref.errors;\nreturn [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.checkoutmodel.notificationEmail),expression:\"checkoutmodel.notificationEmail\"}],attrs:{\"type\":\"email\",\"placeholder\":\"|\",\"tabindex\":\"9\",\"maxlength\":\"50\",\"disabled\":!_vm.checkoutmodel.alternateDeliveryAddress},domProps:{\"value\":(_vm.checkoutmodel.notificationEmail)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.checkoutmodel, \"notificationEmail\", $event.target.value)}}}),_c('span',[_vm._v(_vm._s(errors[0]))])]}}],null,true)})],1)])])])])]),_c('div',{staticClass:\"delivery__list-heading hide-mobile\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"delivery__column delivery__column--1 col-xs-12 col-md-3\"},[_c('div',{staticClass:\"delivery__label\"})]),_c('div',{staticClass:\"delivery__column delivery__column--2 col-xs-12 col-md-3\"},[_c('h5',{staticClass:\"delivery__column-label delivery__column-label--1\"},[_vm._v(_vm._s(_vm.translations[\"checkout.delivery.times\"]))])]),_c('div',{staticClass:\"delivery__column delivery__column--3 delivery__column--unifaun col-xs-12 col-md-6\"},[_c('h5',{staticClass:\"delivery__column-label delivery__column-label--1\"},[_vm._v(_vm._s(_vm.translations[\"checkout.delivery.distributor\"]))]),_c('h5',{staticClass:\"delivery__column-label delivery__column-label--2\"},[_vm._v(_vm._s(_vm.translations[\"checkout.delivery.agent\"]))]),_c('h5',{staticClass:\"delivery__column-label delivery__column-label--1\"},[_vm._v(_vm._s(_vm.translations[\"checkout.delivery.fee\"]))])])])]),_c('div',{staticClass:\"delivery__list\"},[_c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"delivery__column delivery__column--1 col-xs-12 col-md-3\"},[_c('div',[_c('h3',[_vm._v(_vm._s(_vm.translations[\"checkout.shipping.options\"]))])])]),_c('div',{staticClass:\"delivery__column delivery__column--2 col-xs-12 col-md-3\"},[_c('p',{staticClass:\"delivery__content-1 delivery__content-1--times\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.checkoutmodel.unifaunStoppageTimes)}})])]),_c('div',{staticClass:\"delivery__column delivery__column--2 delivery__column--unifaun col-xs-12 col-md-3\"},[_c('h5',{staticClass:\"hide-desktop\"},[_vm._v(_vm._s(_vm.translations[\"checkout.shipping.options\"]))]),_c('div',[_c('div',{staticClass:\"form-group unifaun-container\",attrs:{\"id\":_vm.checkoutmodel.requestId}})])])])])]),_c('div',{staticClass:\"delivery__list delivery__list--submit\"},[_c('div',{},[_c('div',{staticClass:\"row delivery__row delivery__row--2\"},[_c('div',{staticClass:\"delivery__column delivery__column--4 col-xs-12 col-md-12 end-md\"},[_c('button',{staticClass:\"btn\",attrs:{\"id\":\"placeOrderBtn\",\"tabindex\":\"11\",\"type\":\"submit\",\"disabled\":_vm.buttonIsPressed}},[_vm._v(_vm._s(_vm.translations[\"checkout.placeorder\"]))]),(_vm.showFormErrorMessage)?_c('p',[_vm._v(_vm._s(_vm.translations[\"checkout.requiredfields.error\"]))]):_vm._e(),(_vm.checkoutmodel.modelState.general.length > 0)?_c('ul',{staticStyle:{\"list-style\":\"none\",\"padding\":\"0\",\"margin\":\"0\"}},_vm._l((_vm.checkoutmodel.modelState.general),function(message){return _c('li',{key:message},[_vm._v(\" \"+_vm._s(message)+\" \")])}),0):_vm._e()])])])])])]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { CheckoutStore } from \"@/store/tapwell/checkoutstate\";\r\nimport { Address, CheckoutModel, ModelState } from \"@/models/tapwell/Checkout\";\r\nimport { CheckoutQuery, UnifaunOnChange } from \"@/models/tapwell/Unifaun\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\nimport { Spinner } from \"spin.js\";\r\nimport DatePicker from \"vuejs-datepicker\";\r\nimport { sv } from \"vuejs-datepicker/dist/locale\";\r\n\r\n@Component({\r\n components: {\r\n DatePicker,\r\n },\r\n})\r\nexport default class CustomerInformation extends Vue {\r\n protected spinner: Spinner;\r\n protected widget: any;\r\n private deliveryCheckout: any[] = [];\r\n\r\n protected languages: {\r\n sv: any;\r\n };\r\n\r\n get cart() { return CheckoutStore.cart; }\r\n\r\n @Prop()\r\n protected model!: CheckoutModel;\r\n\r\n private viewmodelInternal!: CheckoutModel;\r\n\r\n protected translations: any;\r\n protected requestContext: any;\r\n protected buttonIsPressed: boolean = false;\r\n protected smsNotification: boolean = false;\r\n protected isMounted: boolean = false;\r\n\r\n private initialDeliveryDateInternal: Date = new Date();\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__litium.translation;\r\n this.requestContext = window.__litium.requestContext;\r\n this.spinner = new Spinner({ scale: 0.5 });\r\n this.languages = { sv: sv };\r\n this.checkoutmodel = this.model;\r\n this.initialDeliveryDate = this.model.selectedDeliveryDate;\r\n this.checkoutmodel.alternativeAddress = {} as Address;\r\n this.checkoutmodel.alternativeAddress.country = this.checkoutmodel.defaultCountryId;\r\n }\r\n\r\n @Watch(\"cart.cartTotalExclDeliveryCost\")\r\n cartTotalUpdated(newValue: string, oldValue: string) {\r\n if (newValue !== oldValue) {\r\n this.updateUnifaun();\r\n }\r\n }\r\n\r\n get checkoutmodel(): CheckoutModel {\r\n return this.viewmodelInternal;\r\n }\r\n\r\n set checkoutmodel(value: CheckoutModel) {\r\n this.viewmodelInternal = value;\r\n }\r\n\r\n get initialDeliveryDate(): Date {\r\n return new Date(this.initialDeliveryDateInternal);\r\n }\r\n\r\n set initialDeliveryDate(value: Date) {\r\n this.initialDeliveryDateInternal = value;\r\n }\r\n\r\n get showFormErrorMessage(): boolean {\r\n var hasErrors = false;\r\n\r\n if (this.isMounted) {\r\n if (this.checkoutmodel.unifaunOnChange && !this.checkoutmodel.unifaunOnChange.valid) {\r\n return true;\r\n }\r\n\r\n var observer = this.$refs.observer as any;\r\n if (observer) {\r\n for (var prop in observer.errors) {\r\n if (Object.prototype.hasOwnProperty.call(observer.errors, prop)) {\r\n var error = observer.errors[prop];\r\n if (error.length > 0) {\r\n hasErrors = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return hasErrors;\r\n }\r\n\r\n mounted() {\r\n this.isMounted = true;\r\n }\r\n\r\n get formattedSelectedDeliveryDate(): Date {\r\n return new Date(this.checkoutmodel.selectedDeliveryDate);\r\n }\r\n\r\n set formattedSelectedDeliveryDate(value: Date) {\r\n this.checkoutmodel.selectedDeliveryDate = value;\r\n }\r\n\r\n get lastDisabledDeliveryDate(): Date {\r\n var d = this.initialDeliveryDate;\r\n d.setDate(this.initialDeliveryDate.getDate() - 1);\r\n \r\n return d;\r\n }\r\n\r\n get currentLanguage(): string {\r\n return (document.querySelector(\"html\") as HTMLElement).getAttribute(\"lang\") as string;\r\n }\r\n\r\n public placeOrder() {\r\n this.spinner.spin(this.$el as HTMLElement);\r\n this.buttonIsPressed = true;\r\n this.checkoutmodel.message = \"\";\r\n this.checkoutmodel.modelState = { general: [] as string[] } as ModelState;\r\n\r\n ApiService.checkoutOrder(this.checkoutmodel).then((response) => {\r\n this.spinner.stop();\r\n if (response && response.status == 200) {\r\n window.location.replace(response.data.redirectUrl);\r\n } else if (response && response.status == 400) {\r\n var statusText = typeof (response.statusText) === \"string\" ? JSON.parse(response.statusText) : response.statusText;\r\n this.checkoutmodel.message = statusText.message;\r\n this.checkoutmodel.modelState = statusText.modelState;\r\n // Error handling\r\n }\r\n });\r\n }\r\n\r\n public changeDeliveryDate(selectedDate: Date) {\r\n this.formattedSelectedDeliveryDate = selectedDate;\r\n this.updateUnifaun();\r\n }\r\n\r\n public updateUnifaun() {\r\n if (window.UnifaunCheckout) {\r\n if (this.widget == null) {\r\n this.widget = window.UnifaunCheckout.createAt(\"#\" + this.checkoutmodel.requestId, {\r\n language: this.currentLanguage,\r\n resultCallback: this.widgetChanged.bind(this)\r\n });\r\n this.widget.installCSS();\r\n }\r\n\r\n var tozipcode = this.checkoutmodel.alternateDeliveryAddress ? this.checkoutmodel.alternativeAddress.zipCode : this.checkoutmodel.deliveryAddress.zipCode;\r\n var addressCountry = this.checkoutmodel.alternateDeliveryAddress ? this.checkoutmodel.alternativeAddress.country : this.checkoutmodel.deliveryAddress.country;\r\n var country = this.checkoutmodel.countries.find(country => country.id === addressCountry);\r\n if (country == null || tozipcode == null) {\r\n this.widget.disable();\r\n } else {\r\n\r\n const model: CheckoutQuery = {\r\n currency: country.currency,\r\n language: this.currentLanguage,\r\n tocountry: addressCountry,\r\n totalCartPrice: this.cart.cartTotalExclDeliveryCost,\r\n tozipcode: tozipcode,\r\n weight: this.cart.cartTotalWeight,\r\n deliveryDate: this.checkoutmodel.selectedDeliveryDate,\r\n organizationId: this.checkoutmodel.organizationId,\r\n channelSystemId: this.requestContext.channelSystemId\r\n };\r\n\r\n let self = this;\r\n self.widget.disable();\r\n ApiService.getDeliveryCheckouts(model).then((response) => {\r\n if (response && response.data) {\r\n return JSON.parse(response.data);\r\n }\r\n }).then(function (data) {\r\n\r\n if (self.deliveryCheckout.length > 0) {\r\n self.deliveryCheckout = [];\r\n }\r\n\r\n if (data && data.options && data.options.length > 0) {\r\n for (var i = 0; i < data.options.length; i++) {\r\n if (data.options[i].genericKeyValues && data.options[i].genericKeyValues.length > 0) {\r\n self.deliveryCheckout.push({ 'deliveryId': data.options[i].id, 'jeevesDeliveryId': data.options[i].genericKeyValues[0].value });\r\n }\r\n }\r\n }\r\n self.widget.updateList(data);\r\n }).then(function () {\r\n self.widget.enable();\r\n });\r\n }\r\n }\r\n }\r\n\r\n public widgetChanged(result: UnifaunOnChange) {\r\n\r\n this.checkoutmodel.unifaunOnChange = result;\r\n\r\n var selectedUnifaunOption = (result.optionIds && result.optionIds.length > 0) ? result.optionIds[0] : \"\";\r\n\r\n if (selectedUnifaunOption != \"\" && this.deliveryCheckout != undefined) {\r\n\r\n var currentDictionaryValue = this.deliveryCheckout.find(x => x.deliveryId === selectedUnifaunOption);\r\n if(currentDictionaryValue!=undefined && currentDictionaryValue!=null){\r\n this.checkoutmodel.jeevesDeliveryId = currentDictionaryValue.jeevesDeliveryId;\r\n }\r\n else\r\n {\r\n this.checkoutmodel.jeevesDeliveryId=\"\";\r\n }\r\n }\r\n\r\n var smsaddon = result.selectedAddons.find(x => x.id === \"FCNOTIFYSMS\");\r\n if (smsaddon != null) {\r\n var sms = smsaddon.fields.find(x => x.id === \"sms\");\r\n if (sms != null) {\r\n this.smsNotification = sms.value.length >= 10\r\n this.checkoutmodel.notificationPhone = sms.value;\r\n }\r\n }\r\n\r\n var emailaddon = result.selectedAddons.find(x => x.id === \"FCNOTIFYEMAIL\");\r\n if (emailaddon != null) {\r\n var email = emailaddon.fields.find(x => x.id === \"email\");\r\n if (email != null) {\r\n this.checkoutmodel.notificationEmail = email.value;\r\n }\r\n }\r\n\r\n var phonefield = result.fields.find(x => x.id === \"FCRECEIVERPHONE\");\r\n if (phonefield != null) {\r\n this.smsNotification = phonefield.value.length >= 10\r\n this.checkoutmodel.notificationPhone = phonefield.value;\r\n }\r\n\r\n this.spinner.spin(this.$el as HTMLElement);\r\n this.buttonIsPressed = true;\r\n ApiService.setDelivery(this.checkoutmodel).then((response) => {\r\n if (response && response.data) {\r\n CheckoutStore.reloadState().then(() => { /* nothing */ });\r\n }\r\n this.spinner.stop();\r\n this.buttonIsPressed = false;\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./CustomerInformation.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./CustomerInformation.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CustomerInformation.vue?vue&type=template&id=62520d3f&\"\nimport script from \"./CustomerInformation.ts?vue&type=script&lang=ts&\"\nexport * from \"./CustomerInformation.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, Watch } from \"vue-property-decorator\";\r\nimport CartView from \"./CartView.vue\";\r\nimport CustomerInformation from \"./CustomerInformation.vue\"\r\nimport { CheckoutModel } from \"@/models/tapwell/Checkout\";\r\nimport { CheckoutStore } from \"@/store/tapwell/checkoutstate\";\r\n\r\n@Component({\r\n components : {\r\n CartView,\r\n CustomerInformation,\r\n },\r\n})\r\n\r\nexport default class Checkout extends Vue {\r\n @Prop()\r\n protected viewmodel!: CheckoutModel;\r\n\r\n get cart() { return CheckoutStore.cart; }\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./Checkout.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./Checkout.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Checkout.vue?vue&type=template&id=a308b432&\"\nimport script from \"./Checkout.ts?vue&type=script&lang=ts&\"\nexport * from \"./Checkout.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('cart-view-b2c',{attrs:{\"hasCampaignVoucherEnabled\":_vm.checkoutmodel.hasCampaignVoucherEnabled}}),(_vm.cart.orderRows && _vm.cart.orderRows.length > 0)?_c('div',{attrs:{\"id\":\"checkout-widget\"}}):_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:\"checkout\"},[_c('div',{staticClass:\"banner row\"},[_c('div',{staticClass:\"col-xs-12 col-md-3\"}),_c('div',{staticClass:\"banner__text banner__text--relative col-xs-12 col-md-5\"},[_c('h1',[_vm._v(_vm._s(_vm.translations[\"checkout.cart.heading\"]))])])]),(!_vm.cart.orderRows || _vm.cart.orderRows.length == 0)?_c('div',[_vm._v(\" \"+_vm._s(_vm.translations[\"checkout.cart.empty\"])+\" \")]):_c('div',{staticClass:\"checkout__list\"},[_c('div',{staticClass:\"row checkout__list__header hide-mobile\"},[_c('div',{staticClass:\"checkout__variant checkout__variant--info col-xs-12 col-md-3\"}),_c('div',{staticClass:\"checkout__variant checkout__variant--about col-xs-12 col-md-3\"},[_c('h3',[_vm._v(_vm._s(_vm.translations[\"checkout.product\"]))])]),_c('div',{staticClass:\"checkout__variant checkout__variant--a-price col-xs-12 col-md-3\"},[_c('div',[_c('p',[_vm._v(_vm._s(_vm.translations[\"checkout.price.unit\"]))])])]),_c('div',{staticClass:\"checkout__variant checkout__variant--price col-xs-12 col-md-3\"},[_c('h3',[_vm._v(_vm._s(_vm.translations[\"checkout.price.total\"]))])])]),_vm._l((_vm.cart.orderRows),function(row,index){return _c('div',{key:index},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"checkout__variant checkout__variant--info col-xs-12 col-md-3\"},[_c('div',{staticClass:\"checkout__info\"},[_c('h3',[_vm._v(_vm._s(_vm.translations[\"checkout.cart.yourproducts\"]))])]),_c('a',{staticClass:\"checkout__img hide-mobile\",attrs:{\"href\":row.url}},[_c('div',{style:({ 'background-image': 'url(' + row.image + ')' })})])]),_c('div',{staticClass:\"checkout__variant checkout__variant--about col-xs-12 col-md-3\"},[_c('div',[_c('h2',{staticClass:\"checkout__variant-name\"},[_c('a',{attrs:{\"href\":row.url}},[_vm._v(_vm._s(row.name))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.translations[\"product.articlenumber\"])+\" \"+_vm._s(row.articleNumber)+\" \")])]),_c('ul',{staticClass:\"checkout__variant-description\"},[_c('li',[_vm._v(\" \"+_vm._s(row.category)+\" \")]),_c('li',{staticClass:\"hide-desktop\"},[_c('p',[_vm._v(_vm._s(_vm.translations[\"checkout.price.unit\"])+\":\")]),_c('ul',[_c('li',[_vm._v(_vm._s(row.price))])])]),_c('li',[(_vm.activeOrderRow == index)?_c('div',{staticClass:\"checkout__amount-picker quantity-picker\"},[_c('div',{staticClass:\"quantity-picker__label\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"checkout.cart.header.quantity\"])+\" \")]),_c('div',{staticClass:\"quantity-picker__container\"},[_c('a',{on:{\"click\":_vm.decreaseAmount}},[_c('span',[_vm._v(\"—\")])]),_c('span',{staticClass:\"checkout__amount quantity-picker__quantity\"},[_vm._v(_vm._s(_vm.quantityDisplay))]),(!_vm.checkMaximumQuantitySize(row))?_c('a',{on:{\"click\":_vm.increaseAmount}},[_c('span',[_vm._v(\"+\")])]):_vm._e()])]):_c('div',[_vm._v(\" \"+_vm._s(_vm.translations[\"checkout.cart.header.quantity\"])+\" \"),_c('span',[_vm._v(_vm._s(row.quantity))]),_vm._v(\" \"+_vm._s(row.uom)+\" \")])])]),_c('div',{staticClass:\"checkout__stock hide-mobile\",class:{ 'checkout__stock--zero': !row.inStock }},[(row.inStock && !row.outletProduct)?_c('div',{staticClass:\"checkout__stock-text\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.translations[\"product.delivery\"])+\" \"+_vm._s(_vm.translations[\"product.deliverydate\"])+\" \")])]):(!row.outletProduct)?_c('div',{staticClass:\"checkout__stock-text\"}):_vm._e(),(!row.inStock && !row.outletProduct)?_c('div',{staticClass:\"checkout__stock-zero\"},[_c('p',[_c('span',{staticClass:\"checkout__stock-message\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.backinstock\"])+\" \")]),_vm._v(\" \"+_vm._s(row.formattedDateAvailable)+\" \")])]):_vm._e(),(row.outletProduct && _vm.showMaxLimitMessage)?_c('div',[_c('p',[_c('span',{staticClass:\"checkout__stock-message\",staticStyle:{\"color\":\"#ff0000\"}},[_vm._v(\" \"+_vm._s(_vm.translations[\"tapwell.checkout.cart.outletproduct\"])+\" \"+_vm._s(row.outletProductInStockQuantity)+\" \")])])]):_vm._e(),(!row.outletProduct)?_c('div',{staticClass:\"checkout__status-icon\",class:{ 'checkout__status-icon--true': row.inStock }}):_vm._e()]),_c('div',{staticClass:\"checkout__edit hide-mobile\"},[_c('a',{staticClass:\"checkout__change\",class:{ hide: _vm.isActiveOrderRow(index) },on:{\"click\":function($event){return _vm.activateOrderRow(index)}}},[_c('i',[_vm._v(\"→\")]),_vm._v(\" \"+_vm._s(_vm.translations[\"checkout.cart.update\"]))]),_c('a',{staticClass:\"checkout__remove\",on:{\"click\":function($event){return _vm.removeFromCart(index)}}},[_c('span',{staticClass:\"line\"}),_c('span',{staticClass:\"line\"})])])]),_c('div',{staticClass:\"checkout__img-container hide-desktop\"},[_c('a',{staticClass:\"checkout__img\",attrs:{\"href\":row.url}},[_c('div',{style:({ 'background-image': 'url(' + row.image + ')' })})])])]),_c('div',{staticClass:\"checkout__variant checkout__variant--stock col-xs-12 col-md-3 hide-desktop\"},[_c('div',{staticClass:\"checkout__stock\",class:{ 'checkout__stock--zero': !row.inStock }},[(row.inStock)?_c('div',{staticClass:\"checkout__stock-text\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.translations[\"product.delivery\"])+\" \"+_vm._s(_vm.translations[\"product.deliverydate\"])+\" \")])]):_c('div',{staticClass:\"checkout__stock-text\"}),(!row.inStock)?_c('div',{staticClass:\"checkout__stock-zero\"},[_c('p',[_c('span',{staticClass:\"checkout__stock-message\"},[_vm._v(_vm._s(_vm.translations[\"product.backinstock\"]))]),_vm._v(\" \"+_vm._s(row.formattedDateAvailable)+\" \")])]):_vm._e(),_c('div',{staticClass:\"checkout__status-icon\",class:{ 'checkout__status-icon--true': row.inStock }})])]),_c('div',{staticClass:\"checkout__variant checkout__variant--a-price col-xs-12 col-md-3\"},[_c('ul',{staticClass:\"hide-mobile\"},[_c('ul',[(row.campaignPrice && row.campaignPrice != '')?_c('li',[_c('span',{class:{'strike': row.campaignPrice != ''}},[_vm._v(\" \"+_vm._s(row.originalPrice))])]):_vm._e(),(row.campaignPrice && row.campaignPrice != '')?_c('li',[_vm._v(_vm._s(row.campaignPrice))]):_vm._e(),(row.priceWithoutCurrencyString < row.originalPriceWithoutCurrencyString)?_c('li',[_c('span',{class:{'strike': row.price != ''}},[_vm._v(\" \"+_vm._s(row.originalPrice))])]):_vm._e(),(row.priceWithoutCurrencyString < row.originalPriceWithoutCurrencyString)?_c('li',[_vm._v(_vm._s(row.price))]):_c('li',[_vm._v(_vm._s(row.price))])])]),_c('div',{staticClass:\"checkout__edit hide-desktop\"},[_c('a',{staticClass:\"checkout__change\",class:{ hide: _vm.isActiveOrderRow(index) },on:{\"click\":function($event){return _vm.activateOrderRow(index)}}},[_c('i',[_vm._v(\"→\")]),_vm._v(\" \"+_vm._s(_vm.translations[\"checkout.cart.update\"]))]),_c('a',{staticClass:\"checkout__remove\",on:{\"click\":function($event){return _vm.removeFromCart(index)}}},[_c('span',{staticClass:\"line\"}),_c('span',{staticClass:\"line\"})])])]),_c('div',{staticClass:\"checkout__variant checkout__variant--price col-xs-12 col-md-3\"},[_c('p',[_vm._v(_vm._s(row.totalPrice))])])])])}),_c('ul',{staticClass:\"checkout__total row\"},[_c('li',{staticClass:\"col-md-3 hide-mobile\"}),_c('li',{staticClass:\"col-md-3 hide-mobile\"}),_c('li',{staticClass:\"col-xs-12 col-md-6\"},[_c('ul',[_c('li',[_c('span',[_vm._v(_vm._s(_vm.translations[\"checkout.order.deliverycost\"]))]),_c('span',{staticClass:\"fade\"},[_vm._v(_vm._s(_vm.cart.deliveryCost))])]),_c('li',[_c('span',[_vm._v(_vm._s(_vm.translations[\"checkout.order.cart.vat\"]))]),_c('span',[_vm._v(_vm._s(_vm.cart.vat))])]),_c('li',[_c('span',[_vm._v(_vm._s(_vm.translations[\"checkout.order.grandtotal.exlvat\"]))]),_c('span',[_vm._v(_vm._s(_vm.cart.grandTotalExclVat))])]),_c('li',{staticClass:\"bold\"},[_c('span',[_vm._v(_vm._s(_vm.translations[\"checkout.order.grandtotal.inklvat\"]))]),_c('span',[_vm._v(\" \"+_vm._s(_vm.cart.grandTotal))])])])])])],2),(_vm.cart.orderRows && _vm.cart.orderRows.length > 0 && _vm.hasCampaignVoucherEnabled)?_c('div',[_c('div',{staticClass:\"row checkout__voucher\"},[_c('div',{staticClass:\"col-md-4\"},[_c('ValidationObserver',{ref:\"observer\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('form',{on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.setCampaignCode)}}},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations[\"checkout.order.campaigncode\"])),_c('span',[_vm._v(\" *\")])]),_c('ValidationProvider',{attrs:{\"name\":\"campaignCode\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.campaignCode),expression:\"campaignCode\"}],attrs:{\"type\":\"text\",\"placeholder\":\"|\",\"maxlength\":\"30\"},domProps:{\"value\":(_vm.campaignCode)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.campaignCode=$event.target.value}}}),_c('span',[_vm._v(_vm._s(errors[0])+\" \"+_vm._s(_vm.campaignCodeError)+\" \")])]}}],null,true)})],1),_c('button',{staticClass:\"btn\",attrs:{\"id\":\"setCampaignCodeBtn\",\"type\":\"submit\"}},[_vm._v(\" \"+_vm._s(_vm.translations[\"checkout.order.entercampaigncode\"])+\" \")])])]}}],null,false,1414239679)})],1)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { CheckoutStore } from \"@/store/tapwell/checkoutstate\";\r\nimport { Spinner } from \"spin.js\";\r\nimport { AddOrUpdateCartItem, OrderRow, OrderRowCommentsObject } from \"@/models/tapwell/Cart\";\r\nimport { TapwellGroupWebsite } from \"@/models/TapwellGroupWebsite\";\r\nimport { ImportToCart } from \"@/models/tapwell/Cart\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\nimport { CampaignModel } from \"@/models/tapwell/Checkout\";\r\n\r\n@Component\r\nexport default class CartView extends Vue { \r\n @Prop()\r\n public showBulkImportInCheckout!:boolean;\r\n @Prop(String)\r\n public bannerHeadingColor!:string;\r\n public translations: any;\r\n protected spinner: Spinner;\r\n public activeOrderRow: number = NaN;\r\n private quantityChangedTriggered: boolean = false;\r\n get cart() { return CheckoutStore.cart; }\r\n get isHavenB2B() {\r\n return window.__currentWebsite === TapwellGroupWebsite.HavenB2B;\r\n }\r\n public quantityDisplay: number = 0;\r\n public newQuantity: string = \"0\";\r\n protected campaignCode: string = \"\";\r\n protected campaignCodeError: string = \"\";\r\n public files:any;\r\n public importedFileName: string = \"\";\r\n public excelRows:ImportToCart[]; \r\n public showMaxLimitMessage: boolean = false;\r\n \r\n $refs!: {\r\n vue: Vue,\r\n fileupload: HTMLInputElement,\r\n vues: Vue[],\r\n elements: HTMLInputElement[]\r\n }\r\n\r\n constructor() {\r\n super();\r\n \r\n this.translations = window.__litium.translation;\r\n this.spinner = new Spinner({ scale: 0.5 });\r\n var currentCampaignCode = window.localStorage.getItem('campaignCode');\r\n this.campaignCode = currentCampaignCode == null ? \"\" : currentCampaignCode;\r\n this.files=new FormData();\r\n this.excelRows= [];\r\n }\r\n\r\n public activateOrderRow(index: number) {\r\n this.activeOrderRow = index;\r\n this.quantityDisplay = this.cart.orderRows[this.activeOrderRow].quantity;\r\n this.newQuantity = this.cart.orderRows[this.activeOrderRow].quantity.toString();\r\n }\r\n\r\n public updateLabeling = (row: OrderRow) => {\r\n setTimeout(() => {\r\n const data: OrderRowCommentsObject = { \r\n comment: \"\",\r\n requestedDeliveryDate: \"\", \r\n ...JSON.parse(row.comments || \"{}\"),\r\n };\r\n\r\n data.comment = row.comment;\r\n // console.log(\"updateLabeling: \", data);\r\n\r\n const payload: AddOrUpdateCartItem = {\r\n articleNumber: row.articleNumber,\r\n quantity: row.quantity,\r\n rowSystemId: row.rowSystemId,\r\n comment: JSON.stringify(data),\r\n };\r\n\r\n this.updateCart(payload);\r\n }, 1500);\r\n }\r\n\r\n public decreaseAmount(): void {\r\n this.quantityDisplay -= 1;\r\n if (this.quantityDisplay < 0) {\r\n this.quantityDisplay = 0;\r\n }\r\n this.newQuantity = this.quantityDisplay.toString();\r\n if (!this.quantityChangedTriggered) {\r\n this.quantityChangedTriggered = true;\r\n var self = this;\r\n this.showMaxLimitMessage = false;\r\n setTimeout(function () {\r\n var orderRow = self.cart.orderRows[self.activeOrderRow];\r\n const payload: AddOrUpdateCartItem = {\r\n articleNumber: orderRow.articleNumber,\r\n quantity: self.quantityDisplay,\r\n rowSystemId: orderRow.rowSystemId,\r\n comment: orderRow.comments\r\n };\r\n self.updateCart(payload);\r\n self.quantityChangedTriggered = false;\r\n }, 1500);\r\n }\r\n }\r\n\r\n public increaseAmount(): void {\r\n this.quantityDisplay += 1;\r\n this.newQuantity = this.quantityDisplay.toString();\r\n if (!this.quantityChangedTriggered) {\r\n this.quantityChangedTriggered = true;\r\n var self = this;\r\n setTimeout(function () {\r\n var orderRow = self.cart.orderRows[self.activeOrderRow];\r\n const payload: AddOrUpdateCartItem = {\r\n articleNumber: orderRow.articleNumber,\r\n quantity: self.quantityDisplay,\r\n rowSystemId: orderRow.rowSystemId,\r\n comment: orderRow.comments\r\n };\r\n self.updateCart(payload);\r\n self.quantityChangedTriggered = false;\r\n }, 1500);\r\n }\r\n }\r\n\r\n public handleQtyChange(): void {\r\n this.quantityDisplay = parseInt(this.newQuantity);\r\n if (!this.quantityChangedTriggered) {\r\n this.quantityChangedTriggered = true;\r\n var self = this;\r\n setTimeout(function () {\r\n var orderRow = self.cart.orderRows[self.activeOrderRow];\r\n if(orderRow.outletProduct && self.quantityDisplay > orderRow.outletProductInStockQuantity)\r\n {\r\n self.quantityDisplay = orderRow.outletProductInStockQuantity;\r\n self.newQuantity = orderRow.outletProductInStockQuantity.toString();\r\n }\r\n\r\n const payload: AddOrUpdateCartItem = {\r\n articleNumber: orderRow.articleNumber,\r\n quantity: self.quantityDisplay,\r\n rowSystemId: orderRow.rowSystemId,\r\n comment: orderRow.comments\r\n };\r\n self.updateCart(payload);\r\n self.quantityChangedTriggered = false;\r\n }, 1500);\r\n }\r\n }\r\n\r\n public checkMaximumQuantitySize(row: OrderRow): boolean {\r\n var maxQtyAchieved = false\r\n\r\n if(row.maximumBuyableQuantitiy >0 && this.quantityDisplay >= row.maximumBuyableQuantitiy) {\r\n maxQtyAchieved = true;\r\n this.showMaxLimitMessage = true;\r\n }\r\n\r\n if(!maxQtyAchieved){\r\n if(row.outletProduct && row.outletProductInStockQuantity===this.quantityDisplay)\r\n {\r\n maxQtyAchieved = true;\r\n this.showMaxLimitMessage = true;\r\n }\r\n }\r\n\r\n return maxQtyAchieved;\r\n }\r\n\r\n public calculateBoxSize(row: OrderRow){\r\n return (row.quantity * row.sqmBox).toFixed(2);\r\n }\r\n\r\n public removeFromCart(index: number): void {\r\n var orderRow = this.cart.orderRows[index];\r\n const payload: AddOrUpdateCartItem = {\r\n articleNumber: orderRow.articleNumber,\r\n quantity: 0,\r\n rowSystemId: orderRow.rowSystemId,\r\n comment: orderRow.comments\r\n };\r\n this.updateCart(payload);\r\n }\r\n\r\n public isActiveOrderRow(index: number) {\r\n return this.activeOrderRow == index;\r\n }\r\n\r\n public setCampaignCode() {\r\n localStorage.setItem('campaignCode', this.campaignCode);\r\n\r\n const payload: CampaignModel = {\r\n campaignCode: this.campaignCode\r\n };\r\n\r\n ApiService.setCampaignCode(payload).then((response) => {\r\n if (response.status == 200) {\r\n CheckoutStore.reloadState().then(() => { /* nothing */ });\r\n this.campaignCodeError = \"\";\r\n }\r\n else if (response.status == 400) {\r\n var statusText = typeof (response.statusText) === \"string\" ? JSON.parse(response.statusText) : response.statusText;\r\n this.campaignCodeError = statusText.modelState.campaignCode[0];\r\n CheckoutStore.reloadState().then(() => { /* nothing */ });\r\n }\r\n else {\r\n this.campaignCodeError = \"\";\r\n }\r\n });\r\n }\r\n\r\n private updateCart(payload: AddOrUpdateCartItem): void {\r\n this.spinner.spin(this.$el as HTMLElement);\r\n CheckoutStore.updateState(payload).then(() => {\r\n this.spinner.stop();\r\n });\r\n }\r\n public fileChange(fileList) {\r\n if(fileList[0].name.split('.').pop()!=\"xls\"){\r\n alert(\"Invalid file format\");\r\n return false;\r\n }\r\n this.files=new FormData();\r\n this.files.append(\"file\", fileList[0], fileList[0].name);\r\n this.importedFileName = fileList[0].name;\r\n \r\n const files = this.files;\r\n\r\n this.spinner.spin(this.$el as HTMLElement);\r\n CheckoutStore.excelImportState(files).then(() => {\r\n this.excelRows = this.cart.itemsNotAdded;\r\n this.spinner.stop(); \r\n this.$refs.fileupload.value='';\r\n });\r\n \r\n }\r\n\r\n\r\n public getSampleCheckoutExcelFile(): void {\r\n this.spinner.spin(this.$el as HTMLElement); \r\n\r\n ApiService.getSampleCheckoutExcelFile().then((response) => {\r\n if (response.status == 200) {\r\n\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'CartItems.xls');\r\n document.body.appendChild(link);\r\n link.click();\r\n\r\n this.spinner.stop();\r\n\r\n }\r\n else if (response.status == 400) {\r\n this.spinner.stop();\r\n\r\n }\r\n else {\r\n this.spinner.stop();\r\n }\r\n });\r\n\r\n }\r\n \r\n}\r\n","import { Component, Prop, Watch } from \"vue-property-decorator\";\r\nimport CartView from './CartView';\r\n\r\n@Component\r\nexport default class CartViewB2C extends CartView {\r\n @Prop()\r\n private hasCampaignVoucherEnabled!: boolean;\r\n\r\n private renderOnlyOnPageload: boolean = false;\r\n \r\n constructor() {\r\n \r\n super();\r\n }\r\n public beginCheckoutGA4Event(): void {\r\n\r\n if(this.renderOnlyOnPageload) {\r\n return;\r\n }\r\n\r\n // Fire event on page load\r\n this.$gtm.trackView(\"Checkout\", this.cart.checkoutUrl);\r\n \r\n let gtmItems: any[] = [];\r\n \r\n if (window.dataLayer && this.cart.orderRows) {\r\n this.cart.orderRows.forEach((row) => {\r\n const item = {\r\n item_name: row.productName, \r\n item_id: row.articleNumber, \r\n price: parseFloat(row.price), \r\n item_category: row.category, \r\n item_variant: row.name,\r\n quantity: row.quantity\r\n };\r\n gtmItems.push(item);\r\n });\r\n\r\n const currentUrl = window.location.href;\r\n\r\n let currency: string;\r\n\r\n if (currentUrl.includes(\"tapwell.se\")) {\r\n currency = \"SEK\";\r\n } else if (currentUrl.includes(\"tapwell.no\")) {\r\n currency = \"NOK\";\r\n } else if (currentUrl.includes(\"tapwell.dk\")) {\r\n currency = \"DKK\";\r\n } else {\r\n currency = \"EUR\"; \r\n }\r\n \r\n const totalValue = this.calculateTotalValue(gtmItems);\r\n \r\n if (gtmItems.length > 0) {\r\n const dataLayerObject = {\r\n event: \"begin_checkout\",\r\n ecommerce: {\r\n currency: currency, \r\n value: totalValue, \r\n items: gtmItems\r\n }\r\n };\r\n \r\n window.dataLayer.push(dataLayerObject);\r\n }\r\n }\r\n this.renderOnlyOnPageload = true;\r\n }\r\n \r\n public calculateTotalValue(items: any[]): number {\r\n const total = items.reduce((acc, item) => {\r\n return acc + (item.price * item.quantity);\r\n }, 0);\r\n return total;\r\n }\r\n\r\n @Watch(\"cart\")\r\n public onCartChanged() {\r\n if (this.cart) {\r\n this.beginCheckoutGA4Event();\r\n }\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./CartViewB2C.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./CartViewB2C.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CartViewB2C.vue?vue&type=template&id=b8fbc4ce&\"\nimport script from \"./CartViewB2C.ts?vue&type=script&lang=ts&\"\nexport * from \"./CartViewB2C.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, Watch } from \"vue-property-decorator\";\r\nimport CartViewB2c from \"./CartViewB2C.vue\";\r\nimport { CheckoutModel } from \"@/models/tapwell/Checkout\";\r\nimport { CheckoutStore } from \"@/store/tapwell/checkoutstate\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\n\r\n@Component({\r\n components : {\r\n CartViewB2c,\r\n },\r\n})\r\n\r\nexport default class CheckoutB2C extends Vue {\r\n @Prop()\r\n protected viewmodel!: CheckoutModel;\r\n\r\n private viewmodelInternal!: CheckoutModel;\r\n\r\n get cart() { return CheckoutStore.cart; }\r\n\r\n get checkoutmodel(): CheckoutModel {\r\n return this.viewmodelInternal;\r\n }\r\n\r\n set checkoutmodel(value: CheckoutModel) {\r\n this.viewmodelInternal = value;\r\n }\r\n \r\n constructor() {\r\n super();\r\n this.checkoutmodel = this.viewmodel;\r\n }\r\n\r\n @Watch(\"cart.cartTotalExclDeliveryCost\")\r\n cartTotalUpdated(newValue: string, oldValue: string) {\r\n if (newValue !== oldValue) {\r\n this.setPaymentProvider();\r\n }\r\n }\r\n\r\n setPaymentProvider() {\r\n ApiService.setPaymentProvider(this.checkoutmodel).then((response) => {\r\n if (response && response.data) {\r\n CheckoutStore.reloadState().then(() => { \r\n this.checkoutmodel = response.data;\r\n var checkoutContainer = document.getElementById('checkout-widget');\r\n if (checkoutContainer) {\r\n checkoutContainer.innerHTML = this.checkoutmodel.paymentWidget.responseString;\r\n var scriptsTags = checkoutContainer.getElementsByTagName('script')\r\n for (var i = 0; i < scriptsTags.length; i++) {\r\n var parentNode = scriptsTags[i].parentNode\r\n var newScriptTag = document.createElement('script')\r\n newScriptTag.type = 'text/javascript'\r\n newScriptTag.text = scriptsTags[i].text\r\n if (parentNode) {\r\n parentNode.removeChild(scriptsTags[i])\r\n parentNode.appendChild(newScriptTag)\r\n }\r\n }\r\n }\r\n\r\n setTimeout(()=>this.setShippingOption(), 1000);\r\n });\r\n }\r\n });\r\n }\r\n\r\n setShippingOption() {\r\n window._klarnaCheckout && window._klarnaCheckout((api) => {\r\n api.on({\r\n 'shipping_option_change': (data) => { \r\n //console.log(`On shipping option change: ${data}`);\r\n this.checkoutmodel.klarnaSelectedShippingOption = data;\r\n ApiService.setShippingOption(this.checkoutmodel).then((response) => {\r\n CheckoutStore.reloadState().then(() => { });\r\n });\r\n }\r\n });\r\n });\r\n }\r\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./CheckoutB2C.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./CheckoutB2C.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CheckoutB2C.vue?vue&type=template&id=8e126d7c&\"\nimport script from \"./CheckoutB2C.ts?vue&type=script&lang=ts&\"\nexport * from \"./CheckoutB2C.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',[_c('div',{attrs:{\"id\":\"klarna-order-confirmation-widget\"}})])}]\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class OrderConfirmationB2C extends Vue {\r\n @Prop()\r\n protected klarnahtmlsnippet!: string;\r\n\r\n private klarnaHtmlSnippetInternal!: string;\r\n\r\n get klarnahtmlsnippetinternal(): string {\r\n return this.klarnaHtmlSnippetInternal;\r\n }\r\n\r\n set klarnahtmlsnippetinternal(value: string) {\r\n this.klarnaHtmlSnippetInternal = value;\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.klarnahtmlsnippetinternal = this.klarnahtmlsnippet;\r\n\r\n var localStorageCampaignCode = window.localStorage.getItem(\"campaignCode\");\r\n if(localStorageCampaignCode!=null){\r\n localStorage.removeItem(\"campaignCode\");\r\n }\r\n }\r\n\r\n mounted() {\r\n var klarnaOrdeConfirmationContainer = document.getElementById('klarna-order-confirmation-widget');\r\n if (klarnaOrdeConfirmationContainer) {\r\n klarnaOrdeConfirmationContainer.innerHTML = this.klarnahtmlsnippetinternal;\r\n var scriptsTags = klarnaOrdeConfirmationContainer.getElementsByTagName('script')\r\n for (var i = 0; i < scriptsTags.length; i++) {\r\n var parentNode = scriptsTags[i].parentNode\r\n var newScriptTag = document.createElement('script')\r\n newScriptTag.type = 'text/javascript'\r\n newScriptTag.text = scriptsTags[i].text\r\n if (parentNode) {\r\n parentNode.removeChild(scriptsTags[i])\r\n parentNode.appendChild(newScriptTag)\r\n }\r\n }\r\n }\r\n }\r\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./OrderConfirmationB2C.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./OrderConfirmationB2C.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrderConfirmationB2C.vue?vue&type=template&id=50259041&\"\nimport script from \"./OrderConfirmationB2C.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrderConfirmationB2C.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('swiper',{staticClass:\"parallaxvideo-block__container\",attrs:{\"page-transition\":_vm.PAGE_TRANSITIONS[0],\"loop\":true,\"autoplay\":true,\"interval\":_vm.viewmodel.interval,\"show-indicator\":false},on:{\"\":function($event){},\"beforeChange\":_vm.beforeChange,\"afterChange\":_vm.afterChange}},_vm._l((_vm.viewmodel.items),function(item,index){return _c('swiper-item',{key:index,class:{'lightmode': item.showHeaderInLightMode}},[(item.blockRichText)?_c('div',{staticClass:\"banner\"},[_c('div',{staticClass:\"col-xs-12 col-md-3\"}),_c('div',{staticClass:\"banner__text col-xs-12 col-md-5\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(item.blockRichText)}})])]):_vm._e(),(item.video)?_c('div',{staticClass:\"parallaxvideo-block__video parallaxvideo-block__video--desktop\",class:[\n 'parallaxvideo-block__video--'+index,\n item.imageMobile ? 'hide-mobile' : '' ]},[_c('div',{staticClass:\"embed-responsive\"},[_c('video',{staticClass:\"parallaxvideo-block__videofile embed-responsive-item\",attrs:{\"playsinline\":\"\",\"webkit-playsinline\":\"\",\"autoplay\":\"\",\"muted\":\"\",\"loop\":\"\"},domProps:{\"muted\":true}},[_c('source',{attrs:{\"src\":item.video,\"type\":item.videoType}})])])]):_vm._e(),(item.videoMobile)?_c('div',{staticClass:\"parallaxvideo-block__video parallaxvideo-block__video--mobile hide-desktop\"},[_c('div',{staticClass:\"embed-responsive\"},[_c('video',{staticClass:\"parallaxvideo-block__videofile embed-responsive-item\",attrs:{\"playsinline\":\"\",\"webkit-playsinline\":\"\",\"autoplay\":\"\",\"muted\":\"\",\"loop\":\"\"},domProps:{\"muted\":true}},[_c('source',{attrs:{\"src\":item.videoMobile,\"type\":item.videoType}})])])]):_vm._e(),(!item.video && item.image)?_c('div',{staticClass:\"parallaxvideo-block__video parallaxvideo-block__video--desktop\",class:[\n 'parallaxvideo-block__video--'+index,\n item.imageMobile ? 'hide-mobile' : '' ]},[_c('img',{staticClass:\"parallaxvideo-block__img parallaxvideo-block__img--desktop\",attrs:{\"src\":item.image}})]):_vm._e(),(!item.videoMobile && item.imageMobile)?_c('div',{staticClass:\"parallaxvideo-block__video parallaxvideo-block__video--image\"},[_c('img',{staticClass:\"parallaxvideo-block__img parallaxvideo-block__img--mobile hide-desktop\",attrs:{\"src\":item.imageMobile}})]):_vm._e()])}),1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { Swiper, SwiperItem } from \"vue-h5-swiper\";\r\nimport { Parallax } from \"@/models/tapwell/Blocks\";\r\n\r\n@Component({\r\n components: {\r\n Swiper,\r\n SwiperItem,\r\n },\r\n})\r\n\r\nexport default class ParallaxBlock extends Vue {\r\n protected showHeaderInLightMode: boolean = false;\r\n @Prop()\r\n protected viewmodel!: Parallax;\r\n protected PAGE_TRANSITIONS = [\r\n 'move',\r\n 'fade',\r\n 'cover',\r\n 'carousel',\r\n 'scale',\r\n 'glue',\r\n 'cube',\r\n 'push',\r\n 'three',\r\n ];\r\n\r\n constructor() {\r\n super();\r\n }\r\n public afterChange() {\r\n var header = document.querySelector(\".header\");\r\n var sliderItemActive = document.querySelector(\".swiper-item.active\");\r\n var lightMode = \"lightmode\";\r\n\r\n if (sliderItemActive.classList.contains(lightMode)) {\r\n header.classList.add(lightMode);\r\n\r\n } else {\r\n header.classList.remove(lightMode);\r\n\r\n }\r\n }\r\n\r\n public beforeChange(activeIndex: any) {\r\n var nextVideo = document.querySelector(\".parallaxvideo-block__video--\" + activeIndex);\r\n if (nextVideo != null) {\r\n var video = nextVideo.getElementsByTagName('video');\r\n if (video != null) {\r\n video[0].currentTime = 0; // RESET VIDEO\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--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ParallaxBlock.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ParallaxBlock.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ParallaxBlock.vue?vue&type=template&id=0437f9d9&\"\nimport script from \"./ParallaxBlock.ts?vue&type=script&lang=ts&\"\nexport * from \"./ParallaxBlock.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-page__banner\",class:[_vm.selectedTonitonClass,{ 'show-shower-configurator': _vm.visibleConfigurator }]},[_c('transition',{attrs:{\"name\":\"shower-configurator\"}},[(_vm.visibleConfigurator)?_c('shower-configurator',{attrs:{\"variantid\":_vm.selectedVariant.id,\"pagesystemid\":_vm.selectedVariant.configuratorPageSystemId,\"reopenShowerConfigurator\":_vm.reopenShowerConfigurator,\"showerconfiguratorpdfurl\":_vm.showerconfiguratorpdfurl},on:{\"close-configurator\":_vm.closeShowerConfigurator,\"save-configurator\":_vm.saveShowerConfigurator}}):_vm._e()],1),_c('div',{staticClass:\"product-page__banner__about\"},[_c('div',{staticClass:\"product-page__banner__info col-xs-12 col-md-9\"},[_c('h1',[_vm._v(\" \"+_vm._s(_vm.selectedVariant.name)+\" \")]),_c('div',{staticClass:\"product-page__banner__container\"},[_c('div',{staticClass:\"\\n product-page__banner__column product-page__banner__column--1\\n \"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.translations[\"product.articlenumber\"])+\" \"+_vm._s(_vm.selectedVariant.id)+\" \")]),(\n _vm.selectedVariant.articleNumberNO != null &&\n _vm.selectedVariant.articleNumberNO != ''\n )?_c('p',[_vm._v(\" \"+_vm._s(_vm.translations[\"product.articlenumberno\"])+\" \"+_vm._s(_vm.selectedVariant.articleNumberNO)+\" \")]):_vm._e(),_c('p',[_vm._v(_vm._s(_vm.currentproduct.color))]),(_vm.showprice && !_vm.isDiscontinued && _vm.selectedVariant.discountPrice >= _vm.selectedVariant.price)?_c('p',{staticStyle:{\"margin-top\":\"5px\"}},[_vm._v(\" \"+_vm._s(_vm.selectedVariant.displayPrice)+\" \")]):(_vm.showprice && !_vm.isDiscontinued && _vm.selectedVariant.discountPrice < _vm.selectedVariant.price)?_c('div',{staticClass:\"discount-price\",staticStyle:{\"margin-top\":\"5px\"}},[_c('p',[_vm._v(_vm._s(_vm.selectedVariant.displayDiscountPrice))]),_c('s',[_vm._v(_vm._s(_vm.selectedVariant.displayPrice))])]):_vm._e(),_c('ul',{staticClass:\"product-page__banner__variants variant-picker\"},_vm._l((_vm.visibleVariants),function(variant,index){return _c('li',{key:index},[_c('a',{class:{\n selected: _vm.selectedVariant.id == variant.id,\n },attrs:{\"data-tooltip\":variant.colorName},on:{\"click\":function($event){return _vm.selectVariant(_vm.currentproduct, variant)}}},[_vm._v(_vm._s(variant.color))])])}),0)]),_c('div',{staticClass:\"\\n product-page__banner__column product-page__banner__column--2\\n \"},[_c('ul',{staticClass:\"product-page__banner__documents\",class:{ 'show-all': true }},[(\n _vm.selectedVariant.activatePdfGeneratorLink &&\n _vm.selectedVariant.generatePdfUrl\n )?_c('li',[_c('a',{on:{\"click\":function($event){return _vm.openPdf()}}},[_vm._v(_vm._s(_vm.translations[\"product.generatepdf\"]))])]):_vm._e(),(_vm.selectedVariant.approvedWaterProofUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.approvedWaterProofUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.approvedwaterproof\"]))])]):_vm._e(),(_vm.selectedVariant.drawingPdfUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.drawingPdfUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.drawingpdf\"]))])]):_vm._e(),(_vm.selectedVariant.productSheetUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.productSheetUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.productsheet\"]))])]):_vm._e(),(_vm.selectedVariant.installationGuideUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.installationGuideUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.drawing\"]))])]):_vm._e(),(_vm.selectedVariant.explodedViewPDFUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.explodedViewPDFUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.explodedviewpdf\"]))])]):_vm._e(),(_vm.selectedVariant.amaTextPDFUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.amaTextPDFUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.amatextpdf\"]))])]):_vm._e(),(_vm.selectedVariant.drawing2DUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.drawing2DUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.caddrawing2d\"]))])]):_vm._e(),(_vm.selectedVariant.drawing3DUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.drawing3DUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.caddrawing3d\"]))])]):_vm._e(),(_vm.selectedVariant.step3DUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.step3DUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.step3d\"]))])]):_vm._e(),(_vm.selectedVariant.cutOutTemplatePDFUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.cutOutTemplatePDFUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.cutouttemplatepdf\"]))])]):_vm._e(),(_vm.selectedVariant.careInstructionsPDFUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.careInstructionsPDFUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.careinstructionpdf\"]))])]):_vm._e(),(_vm.selectedVariant.highResolutionImageUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.highResolutionImageUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.highresimage\"]))])]):_vm._e(),(_vm.selectedVariant.typeApprovalFIfUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.typeApprovalFIfUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.translations[\"product.typeapproval\"]))])]):_vm._e(),(_vm.selectedVariant.hasSpareParts && _vm.selectedVariant.sparePartUrlForVariant.length>0)?_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.sparePartUrlForVariant}},[_vm._v(_vm._s(_vm.translations[\"product.spareparts\"]))])]):_vm._e()])])]),_c('div',{staticClass:\"product-page__banner__container\"},[_c('div',{staticClass:\"\\n product-page__banner__column\\n product-page__banner__column--1\\n product-page__banner--flex\\n \"},[_c('div',{staticClass:\"product-page__banner__description\",domProps:{\"innerHTML\":_vm._s(_vm.selectedVariant.description)}}),(_vm.selectedVariant.productDescriptionExtra)?_c('div',{staticClass:\"\\n product-page__banner__description\\n product-page__banner__description-extra\\n \",domProps:{\"innerHTML\":_vm._s(_vm.selectedVariant.productDescriptionExtra)}}):_vm._e(),(!(_vm.selectedVariant.outletProduct && !_vm.selectedVariant.inStock))?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.shopenabled),expression:\"shopenabled\"}],staticClass:\"product-page__banner__add\"},[_c('div',{staticClass:\"product-page__amount-picker quantity-picker__container\"},[_c('a',{on:{\"click\":_vm.decreaseAmount}},[_c('span',[_vm._v(\"—\")])]),_c('span',{staticClass:\"product-page__amount-nr quantity-picker__quantity\"},[_vm._v(_vm._s(_vm.selectedVariant.quantity))]),(!_vm.showMaxLimitMessage)?_c('a',{on:{\"click\":_vm.increaseAmount}},[_c('span',[_vm._v(\"+\")])]):_vm._e()]),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.addToCart}},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.buy\"])+\" \")])]):_vm._e(),(_vm.showMaxLimitMessage)?_c('div',{staticStyle:{\"color\":\"#ff0000\"}},[_vm._v(\" \"+_vm._s(_vm.translations[\"tapwell.product.outletproductqtymessage\"])+\" \"+_vm._s(_vm.selectedVariant.outletProductInStockQuantity)+\" \")]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.shopenabled),expression:\"!shopenabled\"}],staticClass:\"product-page__banner__add\"},[_c('div',{staticClass:\"msg\",domProps:{\"innerHTML\":_vm._s(_vm.translations['product.buydisabledmessage'])}})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentproduct.enableShowerConfigurator),expression:\"currentproduct.enableShowerConfigurator\"}],staticClass:\"product-page__banner-config\"},[_c('button',{staticClass:\"btn btn__config-variant\",on:{\"click\":_vm.handleVisibleConfigurator}},[_c('span',{staticClass:\"btn__config-variant-text\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.config.product\"])+\" \")])]),_c('button',{staticClass:\"btn btn__config-fetch-pdf\",on:{\"click\":function($event){return _vm.openShowerConfiguratorPdf()}}},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.fetch.pdf\"])+\" \")])])]),(_vm.sociallinks)?_c('div',{staticClass:\"\\n product-page__banner__column\\n product-page__banner__column--2\\n product-page__banner__social\\n \"},[_c('ul',{staticClass:\"product-page__banner__social-media\"},[(_vm.sociallinks.instagramUrl)?_c('li',[_c('a',{attrs:{\"href\":_vm.sociallinks.instagramUrl,\"target\":\"_blank\"}},[_c('svg',{staticStyle:{\"enable-background\":\"new 0 0 169.063 169.063\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"version\":\"1.1\",\"id\":\"Layer_1\",\"x\":\"0px\",\"y\":\"0px\",\"width\":\"169.063px\",\"height\":\"169.063px\",\"viewBox\":\"0 0 169.063 169.063\",\"xml:space\":\"preserve\"}},[_c('g',[_c('path',{attrs:{\"d\":\"M122.406,0H46.654C20.929,0,0,20.93,0,46.655v75.752c0,25.726,20.929,46.655,46.654,46.655h75.752 c25.727,0,46.656-20.93,46.656-46.655V46.655C169.063,20.93,148.133,0,122.406,0z M154.063,122.407 c0,17.455-14.201,31.655-31.656,31.655H46.654C29.2,154.063,15,139.862,15,122.407V46.655C15,29.201,29.2,15,46.654,15h75.752 c17.455,0,31.656,14.201,31.656,31.655V122.407z\"}}),_c('path',{attrs:{\"d\":\"M84.531,40.97c-24.021,0-43.563,19.542-43.563,43.563c0,24.02,19.542,43.561,43.563,43.561s43.563-19.541,43.563-43.561 C128.094,60.512,108.552,40.97,84.531,40.97z M84.531,113.093c-15.749,0-28.563-12.812-28.563-28.561 c0-15.75,12.813-28.563,28.563-28.563s28.563,12.813,28.563,28.563C113.094,100.281,100.28,113.093,84.531,113.093z\"}}),_c('path',{attrs:{\"d\":\"M129.921,28.251c-2.89,0-5.729,1.17-7.77,3.22c-2.051,2.04-3.23,4.88-3.23,7.78c0,2.891,1.18,5.73,3.23,7.78 c2.04,2.04,4.88,3.22,7.77,3.22c2.9,0,5.73-1.18,7.78-3.22c2.05-2.05,3.22-4.89,3.22-7.78c0-2.9-1.17-5.74-3.22-7.78 C135.661,29.421,132.821,28.251,129.921,28.251z\"}})]),_c('g'),_c('g'),_c('g'),_c('g'),_c('g'),_c('g'),_c('g'),_c('g'),_c('g'),_c('g'),_c('g'),_c('g'),_c('g'),_c('g'),_c('g')])])]):_vm._e(),(_vm.sociallinks.pintrestUrl)?_c('li',[_c('a',{staticClass:\"pintrest\",attrs:{\"href\":_vm.sociallinks.pintrestUrl,\"target\":\"_blank\"}})]):_vm._e(),(_vm.sociallinks.youtubeUrl)?_c('li',[_c('a',{staticClass:\"youtube\",attrs:{\"href\":_vm.sociallinks.youtubeUrl,\"target\":\"_blank\"}})]):_vm._e()])]):_vm._e()])]),_c('ProductInspirationalImages',{attrs:{\"urls\":_vm.selectedVariant.inspirationImages,\"varianImage\":_vm.image}})],1),_c('div',{staticClass:\"product-page__banner__img\"},[_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.image),expression:\"image\",arg:\"background-image\"}],staticClass:\"product-image\",attrs:{\"alt\":_vm.selectedVariant.name}}),_c('img',{attrs:{\"src\":_vm.image,\"alt\":_vm.selectedVariant.name}}),(_vm.currentproduct.enableShowerConfigurator)?_c('div',{staticClass:\"shower-configure__icon\",on:{\"click\":_vm.handleVisibleConfigurator}},[_c('div',{staticClass:\"shower-configure__icon--configure\"})]):_vm._e()])],1),_c('div',{staticClass:\"product-page__description\"},[_c('div',{staticClass:\"col-xs-12 col-md-3\"}),_c('div',{staticClass:\"product-page__sibling-series-category__list col-xs-12 col-md-6\"},[_c('strong',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.categoryheadline)}})]),_c('ul',_vm._l((_vm.siblingseriescategories),function(item,index){return _c('li',{key:index},[_c('a',{class:{ selected: item.categorySystemId == _vm.categoryid },attrs:{\"href\":item.url}},[_vm._v(\" \"+_vm._s(item.name)+\" \")])])}),0)])]),_c('div',{staticClass:\"product-page__product-list\"},[_c('div',{staticClass:\"row\"},[_vm._l((_vm.productlist),function(item,index){return _c('div',{key:index,staticClass:\"product-page__product-list__column\",class:{\n Highlight: item.highlight === 'Highlight',\n Tall: item.highlight === 'Tall',\n Wide: item.highlight === 'Wide',\n Content: item.content.desktopImage != null,\n }},[_c('product-tile-b2c',{attrs:{\"product\":item,\"colorFieldValue\":_vm.colorValue},on:{\"goToVariant\":_vm.selectVariantFromProductTile,\"goToShowerConfig\":_vm.openShowerConfigFromProduct}})],1)}),_c('infinite-loading',{ref:\"infiniteLoading\",attrs:{\"spinner\":\"spiral\"},on:{\"infinite\":_vm.infiniteHandler}},[_c('span',{attrs:{\"slot\":\"no-more\"},slot:\"no-more\"}),_c('span',{attrs:{\"slot\":\"no-results\"},slot:\"no-results\"})])],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component } from \"vue-property-decorator\";\r\nimport ProductTile from \"./ProductTile\";\r\nimport queryString from \"query-string\";\r\nimport { Variant } from \"@/models/tapwell/Product\";\r\n@Component\r\nexport default class ProductDetail extends ProductTile {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n mounted() {\r\n this.trackPageView(this.selectedVariant, false);\r\n }\r\n\r\n\r\n public trackPageView(variant: Variant, trackView: boolean): void {\r\n if (trackView) {\r\n this.$gtm.trackView(\"ProductView\", variant.url);\r\n }\r\n\r\n if (window.dataLayer) {\r\n window.dataLayer.push({\r\n event: \"product-view\",\r\n ecommerce: {\r\n detail: {\r\n products: [\r\n {\r\n name: variant.productName,\r\n id: variant.id,\r\n price: variant.discountPrice,\r\n category: variant.categoryPath,\r\n variant: variant.name\r\n }\r\n ]\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n public select(variant: Variant): void {\r\n this.selectedVariant = variant;\r\n this.trackPageView(this.selectedVariant, false);\r\n var currentlocation = location.pathname + location.search;\r\n\r\n if (currentlocation !== variant.url){\r\n this.trackPageView(variant, true);\r\n window.history.pushState(null, \"\", variant.url);\r\n document.title = variant.name;\r\n }\r\n\r\n this.getProductPriceAndStock(variant, 0);\r\n }\r\n\r\n public selectVariantFromQueryString(){\r\n var query = queryString.parse(location.search);\r\n if (query.v) {\r\n const variantIndex = this.product.variants.findIndex((variant) => variant.urlName === query.v);\r\n if (variantIndex === -1) {\r\n this.select(this.product.variants[0]);\r\n } else {\r\n let variant = this.product.variants[variantIndex];\r\n this.select(variant);\r\n }\r\n } else {\r\n this.select(this.product.variants[0]);\r\n }\r\n }\r\n\r\n public created() {\r\n this.selectVariantFromQueryString(); \r\n const self = this;\r\n window.onpopstate = function() {\r\n self.selectVariantFromQueryString();\r\n };\r\n }\r\n \r\n public openPdf(){\r\n var token = window.localStorage.getItem(\"requestVerificationToken\");\r\n var verificationToken='';\r\n if(token!=null){\r\n verificationToken = token.split(':')[0];\r\n }\r\n\r\n if(verificationToken!=''){\r\n var pdfUrl = this.selectedVariant.generatePdfUrl+\"&token=\"+verificationToken;\r\n window.open(pdfUrl,\"_blank\");\r\n }\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.isContentProduct)?_c('a',{directives:[{name:\"scroll-to\",rawName:\"v-scroll-to\",value:({ element: '#app' }),expression:\"{ element: '#app' }\"}],staticClass:\"product-page__product__img\",class:{\n 'product-page__product__img--highlight':\n _vm.product.productImageOverrideDesktopUrl != '' && !_vm.isInSearchMode,\n },attrs:{\"href\":_vm.product.selectedVariant.url},on:{\"click\":function($event){$event.preventDefault();return _vm.goToVariant(_vm.product, _vm.selectedVariant)}}},[_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.thumb),expression:\"thumb\",arg:\"background-image\"}],staticClass:\"product-page__product__img__regular\",attrs:{\"alt\":_vm.selectedVariant.name}}),(\n _vm.product.productImageOverrideDesktopUrl &&\n _vm.productIsHighlighted &&\n !_vm.isInSearchMode\n )?_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.product.productImageOverrideDesktopUrl),expression:\"product.productImageOverrideDesktopUrl\",arg:\"background-image\"}],class:{\n 'hide-mobile': _vm.product.productImageOverrideMobileUrl != '',\n },attrs:{\"alt\":_vm.selectedVariant.name}}):_vm._e(),(\n _vm.product.productImageOverrideMobileUrl &&\n _vm.productIsHighlighted &&\n !_vm.isInSearchMode\n )?_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.product.productImageOverrideMobileUrl),expression:\"product.productImageOverrideMobileUrl\",arg:\"background-image\"}],staticClass:\"product-page__product__img__highlight--mobile\",attrs:{\"alt\":_vm.selectedVariant.name}}):_vm._e()]):_vm._e(),(_vm.isContentProduct)?_c('a',{staticClass:\"product-page__product__img\",class:{\n 'product-page__product__img--highlight':\n _vm.product.content.desktopImage != null,\n },attrs:{\"href\":_vm.product.content.url}},[(_vm.product.content.desktopImage)?_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.product.content.desktopImage),expression:\"product.content.desktopImage\",arg:\"background-image\"}],class:{ 'hide-mobile': _vm.product.content.mobileImage != null },attrs:{\"alt\":_vm.selectedVariant.name}}):_vm._e(),(_vm.product.content.mobileImage)?_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.product.content.mobileImage),expression:\"product.content.mobileImage\",arg:\"background-image\"}],staticClass:\"product-page__product__img__content--mobile\",attrs:{\"alt\":_vm.selectedVariant.name}}):_vm._e(),(_vm.product.content.editor)?_c('div',{staticClass:\"product-page__product__heading\",domProps:{\"innerHTML\":_vm._s(_vm.product.content.editor)}}):_vm._e()]):_vm._e(),_c('div',{staticClass:\"product-page__product__product-info\"},[_c('h5',{staticClass:\"product-page__product__category\"},[_vm._v(_vm._s(_vm.product.category))]),_c('h4',{directives:[{name:\"scroll-to\",rawName:\"v-scroll-to\",value:({ element: '#app' }),expression:\"{ element: '#app' }\"}],on:{\"click\":function($event){$event.preventDefault();return _vm.goToVariant(_vm.product, _vm.selectedVariant)}}},[_c('a',{attrs:{\"href\":_vm.product.selectedVariant.url}},[_vm._v(_vm._s(_vm.selectedVariant.name))])]),_c('ul',{staticClass:\"product-page__product__variants variant-picker\"},_vm._l((_vm.visibleVariants),function(variant,index){return _c('li',{key:index},[_c('a',{class:{ selected: _vm.selectedVariant.id == variant.id },attrs:{\"href\":variant.url,\"data-tooltip\":variant.colorName},on:{\"click\":function($event){$event.preventDefault();return _vm.select(variant)}}},[_vm._v(_vm._s(variant.color))])])}),0),_c('div',[(_vm.showprice && !_vm.isDiscontinued && _vm.selectedVariant.discountPrice >= _vm.selectedVariant.price)?_c('p',[_vm._v(\" \"+_vm._s(_vm.selectedVariant.displayPrice)+\" \")]):(_vm.showprice && !_vm.isDiscontinued && _vm.selectedVariant.discountPrice < _vm.selectedVariant.price)?_c('div',{staticClass:\"discount-price\"},[_c('p',[_vm._v(_vm._s(_vm.selectedVariant.displayDiscountPrice))]),_c('s',[_vm._v(_vm._s(_vm.selectedVariant.displayPrice))])]):_vm._e(),(!(_vm.selectedVariant.outletProduct && !_vm.selectedVariant.inStock))?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.shopenabled),expression:\"shopenabled\"}],staticClass:\"product-page__product__add\"},[_c('div',{staticClass:\"product-page__amount-picker quantity-picker__container\"},[_c('a',{on:{\"click\":_vm.decreaseAmount}},[_c('span',[_vm._v(\"—\")])]),_c('span',{staticClass:\"product-page__amount-nr quantity-picker__quantity\"},[_vm._v(_vm._s(_vm.selectedVariant.quantity))]),(!_vm.showMaxLimitMessage)?_c('a',{on:{\"click\":_vm.increaseAmount}},[_c('span',[_vm._v(\"+\")])]):_vm._e()]),_c('a',{staticClass:\"product-page__product__add-btn\",on:{\"click\":function($event){return _vm.addToCart(true)}}},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.buy\"])+\" \")])]):_vm._e(),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showMaxLimitMessage),expression:\"showMaxLimitMessage\"}],staticStyle:{\"color\":\"#ff0000\"}},[_vm._v(\" \"+_vm._s(_vm.translations[\"tapwell.product.outletproductqtymessage\"])+\" \"+_vm._s(_vm.selectedVariant.outletProductInStockQuantity))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop } from \"vue-property-decorator\";\r\nimport { Product, Variant } from \"@/models/tapwell/Product\";\r\nimport ProductTile from \"./ProductTile\";\r\n\r\n@Component\r\nexport default class ProductTileB2C extends ProductTile {\r\n @Prop()\r\n protected searchMode!: boolean;\r\n\r\n @Prop()\r\n protected isHighLightedFromSearch!: boolean;\r\n \r\n\r\n constructor() {\r\n super(); \r\n this.requestContext = window.__litium.requestContext;\r\n }\r\n get isInSearchMode(): boolean {\r\n if (this.searchMode) {\r\n return this.searchMode;\r\n }\r\n return false;\r\n }\r\n\r\n get productIsHighlighted(): boolean {\r\n if (this.isHighLightedFromSearch) {\r\n return true\r\n }\r\n\r\n return this.product.highlight === 'Highlight';\r\n }\r\n\r\n get productContentIsHighlighted(): boolean{\r\n if (this.isHighLightedFromSearch) {\r\n return true\r\n }\r\n\r\n return this.product.content.highlight === 'Highlight';\r\n }\r\n\r\n get productIsTall(): boolean {\r\n return this.product.highlight === 'Tall';\r\n }\r\n\r\n get productContentIsTall(): boolean {\r\n return this.product.content.highlight === 'Tall';\r\n }\r\n\r\n\r\n get isContentProduct(): boolean {\r\n return (this.product.content.editor != null \r\n || this.product.content.desktopImage != null \r\n || this.product.content.mobileImage != null\r\n || this.product.content.url != null) \r\n }\r\n\r\n get thumb(): string {\r\n if (this.productIsHighlighted || this.productIsTall) {\r\n return this.image;\r\n }\r\n\r\n if (this.selectedVariant.thumbs && this.selectedVariant.thumbs.length > 0) {\r\n return this.selectedVariant.thumbs[0];\r\n }\r\n return \"\";\r\n }\r\n\r\n get showprice(): boolean {\r\n return !this.product.hidePrice && this.requestContext.showPrices\r\n }\r\n\r\n public goToVariant(product: Product, variant: Variant) :void {\r\n this.$emit('goToVariant', product, variant);\r\n }\r\n\r\n public goToShowerConfig(product: Product, variant: Variant) :void {\r\n this.$emit('goToShowerConfig', product, variant);\r\n }\r\n}\r\n","export interface ConfiguratorModel {\r\n configuratorVariants: ConfiguratorVariant[];\r\n}\r\n\r\nexport interface ConfiguratorProduct {\r\n id: string;\r\n name: string;\r\n selected: boolean;\r\n image: string;\r\n}\r\n\r\nexport interface ConfiguratorVariant {\r\n id: string;\r\n name: string;\r\n price: number;\r\n displayPrice: string;\r\n selected: boolean;\r\n image: string;\r\n url: string;\r\n currencySymbol: string;\r\n configuratorParts: ConfiguratorPart[];\r\n}\r\n\r\nexport interface ConfiguratorPart {\r\n id: string;\r\n value: string;\r\n price: number;\r\n partType: ConfiguratorPartType;\r\n image: string;\r\n selected: boolean;\r\n displayPrice: string;\r\n currencySymbol: string;\r\n}\r\n\r\nexport enum ConfiguratorPartType {\r\n Surface = 0,\r\n ShowerHeadRound = 1,\r\n ShowerHeadRectangular = 2,\r\n ShowerHeadSquare = 3,\r\n ShowerHeadFlush = 4,\r\n ShowerArmWall = 5,\r\n ShowerArmCeiling = 6,\r\n Other = 7,\r\n ExtraPart = 8\r\n}\r\n\r\nexport enum ConfiguratorMode{\r\n BuiltIn = 'builtIn',\r\n StandAlone = 'standAlone',\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductTileB2C.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductTileB2C.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductTileB2C.vue?vue&type=template&id=717c9584&scoped=true&\"\nimport script from \"./ProductTileB2C.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductTileB2C.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ProductTileB2C.vue?vue&type=style&index=0&id=717c9584&lang=scss&scoped=true&\"\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 \"717c9584\",\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:\"shower-configurator\"},[(_vm.displayConfigHeaders)?_c('h2',[_vm._v(_vm._s(_vm.translations[\"configurator.header\"])+\" \"+_vm._s(_vm.configuratoroptiontitle1internal))]):_vm._e(),(_vm.loadingdata)?_c('div',{staticClass:\"shower-configurator__loader-container\"},[_c('div',{staticClass:\"loader\"})]):_c('div',{staticClass:\"shower-configurator__container\"},[_c('transition',{attrs:{\"name\":\"preview-container\",\"appear\":\"\"}},[_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.selectedVariant.image),expression:\"selectedVariant.image\",arg:\"background-image\"}],staticClass:\"preview-container\"})]),_c('transition',{attrs:{\"name\":\"settings-opacity\",\"appear\":\"\"}},[_c('div',{staticClass:\"settings-container\"},[_c('div',{staticClass:\"shower-configurator__close-container\",class:{'shower-configurator__close-container--stand-alone': _vm.mode === 'standAlone' }},[(_vm.mode != 'standAlone')?_c('button',{staticClass:\"shower-configurator__close-btn\",on:{\"click\":_vm.closeShowerConfigurator}},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.close\"])+\" \")]):_vm._e()]),_c('ScrollShadow',{staticClass:\"variant-options__shadow-container\",attrs:{\"disabled\":_vm.mode === 'standAlone' && _vm.IsMobileDevice('767')}},[_c('div',{staticClass:\"variant-options__content content\"},[(!_vm.displayConfigHeaders)?_c('h3',{staticClass:\"variant-options__content-header\"},[_vm._v(\" \"+_vm._s(_vm.configuratoroptiontitle1internal)+\" \")]):_c('h3',{staticClass:\"variant-options__content-header\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.surface\"])+\" \")]),_c('div',{staticClass:\"custom-dropdown\",class:{ active: _vm.surfaceOpen },on:{\"click\":function($event){_vm.surfaceOpen = !_vm.surfaceOpen}}},[_c('div',{staticClass:\"custom-dropdown__selected\"},[_vm._v(\" \"+_vm._s(_vm.selectedSurface)+\" \")]),(_vm.allSurfaces)?_c('ul',{staticClass:\"custom-dropdown__list\"},_vm._l((_vm.allSurfaces),function(item,index){return _c('li',{key:(\"item-\" + index),staticClass:\"custom-dropdown__list-item\",class:{ selected: item.selected },on:{\"click\":function($event){!item.selected ? _vm.selectSurface(item.value) : null}}},[_c('span',[_vm._v(_vm._s(item.value))])])}),0):_vm._e()]),(!_vm.displayConfigHeaders)?_c('h3',{staticClass:\"variant-options__content-header\"},[_vm._v(\" \"+_vm._s(_vm.configuratoroptiontitle2internal)+\" \")]):_c('h3',{staticClass:\"variant-options__content-header\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.showerhead\"])+\" \")]),(_vm.allShowerHeads)?_c('ul',{staticClass:\"configurator-types\"},_vm._l((_vm.allShowerHeads),function(item,index){return _c('li',{key:(\"item-\" + index),class:{ selected: item.selected },on:{\"click\":function($event){!item.selected ? _vm.selectShowerHead(item.id) : null}}},[_c('div',{staticClass:\"configurator-types__details\"},[(\n item.partType === _vm.ConfiguratorPartType.ShowerHeadRound\n )?_c('span',{staticClass:\"configurator-types__details-header\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.showerhead.round\"])+\" \")]):_vm._e(),(\n item.partType ===\n _vm.ConfiguratorPartType.ShowerHeadRectangular\n )?_c('span',{staticClass:\"configurator-types__details-header\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.showerhead.rectangular\"])+\" \")]):_vm._e(),(\n item.partType ===\n _vm.ConfiguratorPartType.ShowerHeadSquare\n )?_c('span',{staticClass:\"configurator-types__details-header\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.showerhead.square\"])+\" \")]):_vm._e(),(\n item.partType === _vm.ConfiguratorPartType.ShowerHeadFlush\n )?_c('span',{staticClass:\"configurator-types__details-header\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.showerhead.flush\"])+\" \")]):_vm._e(),_c('div',{staticClass:\"configurator-types__details-container\"},[_c('span',{staticClass:\"configurator-types__details-text\"},[_vm._v(_vm._s(item.value))]),(!item.selected)?_c('span',{staticClass:\"configurator-types__details-price\"},[_vm._v(_vm._s(_vm.getShowerHeadPrice(item)))]):_vm._e()])]),_c('div',{staticClass:\"configurator-types__image\"},[_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(item.image),expression:\"item.image\"}]})])])}),0):_vm._e(),(_vm.allShowerArms.length > 0 && !_vm.displayConfigHeaders)?_c('h3',{staticClass:\"variant-options__content-header\"},[_vm._v(\" \"+_vm._s(_vm.configuratoroptiontitle3internal)+\" \")]):_c('h3',{staticClass:\"variant-options__content-header\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.showerarm\"])+\" \")]),(_vm.allShowerArms.length > 0)?_c('ul',{staticClass:\"configurator-types\"},_vm._l((_vm.allShowerArms),function(item,index){return _c('li',{key:(\"item-\" + index),class:{ selected: item.selected },on:{\"click\":function($event){!item.selected ? _vm.selectShowerArm(item.id) : null}}},[_c('div',{staticClass:\"configurator-types__details\"},[(\n item.partType === _vm.ConfiguratorPartType.ShowerArmWall\n )?_c('span',{staticClass:\"configurator-types__details-header\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.showerarm.wall\"])+\" \")]):_vm._e(),(\n item.partType ===\n _vm.ConfiguratorPartType.ShowerArmCeiling\n )?_c('span',{staticClass:\"configurator-types__details-header\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.showerarm.ceiling\"])+\" \")]):_vm._e(),_c('div',{staticClass:\"configurator-types__details-container\"},[_c('span',{staticClass:\"configurator-types__details-text\"},[_vm._v(_vm._s(item.value))]),(!item.selected)?_c('span',{staticClass:\"configurator-types__details-price\"},[_vm._v(_vm._s(_vm.getShowerArmPrice(item)))]):_vm._e()])]),_c('div',{staticClass:\"configurator-types__image\"},[_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(item.image),expression:\"item.image\"}]})])])}),0):_vm._e(),(_vm.allExtraParts && _vm.allExtraParts.length > 0 && !_vm.displayConfigHeaders)?_c('h3',{staticClass:\"variant-options__content-header\"},[_vm._v(\" \"+_vm._s(_vm.configuratoroptiontitle4internal)+\" \")]):_c('h3',{staticClass:\"variant-options__content-header\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.extraparts\"])+\" \")]),(_vm.allExtraParts && _vm.allExtraParts.length > 0)?_c('ul',{staticClass:\"configurator-types\"},_vm._l((_vm.allExtraParts),function(item,index){return _c('li',{key:(\"item-\" + index),class:{ selected: item.selected },on:{\"click\":function($event){!item.selected ? _vm.selectExtraPart(item.id) : null}}},[_c('div',{staticClass:\"configurator-types__details\"},[(\n item.partType === _vm.ConfiguratorPartType.extraPart\n )?_c('span',{staticClass:\"configurator-types__details-header\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.extraPart\"])+\" \")]):_vm._e(),_c('div',{staticClass:\"configurator-types__details-container\"},[_c('span',{staticClass:\"configurator-types__details-text\"},[_vm._v(_vm._s(item.value))]),(!item.selected)?_c('span',{staticClass:\"configurator-types__details-price\"},[_vm._v(_vm._s(_vm.getExtraPartPrice(item)))]):_vm._e()])]),(item && item.image)?_c('div',{staticClass:\"configurator-types__image\"},[_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(item.image),expression:\"item.image\"}]})]):_vm._e()])}),0):_vm._e()])]),(_vm.selectedVariant)?_c('div',{staticClass:\"settings-container__summary-container\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.articlenumber\"])+\" \"+_vm._s(_vm.selectedVariant.id)+\" \")]),_c('span',{staticClass:\"settings-container__summary-price\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.price\"])+\" \"+_vm._s(_vm.selectedVariantPrice)+\" \")]),(_vm.mode === 'standAlone')?_c('div',{staticClass:\"settings-container__mode--stand-alone\"},[_c('button',{staticClass:\"shower-configurator__btn\",on:{\"click\":function($event){return _vm.goToProduct()}}},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.go.to.product\"])+\" \")]),_c('button',{staticClass:\"\\n shower-configurator__btn shower-configurator__btn--secondary\\n \",on:{\"click\":function($event){return _vm.openShowerConfiguratorPdf()}}},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.fetch.pdf\"])+\" \")])]):_c('div',[_c('button',{staticClass:\"shower-configurator__btn\",on:{\"click\":function($event){return _vm.saveConfig()}}},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.save\"])+\" \")])])]):_vm._e()],1)])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ConfiguratorModel } from \"@/models/tapwell/Configurator\";\r\nimport axios, { AxiosResponse } from \"axios\";\r\nimport { Guid } from \"guid-typescript\";\r\n\r\nexport const ConfiguratorClient = {\r\n async getShowerConfiguratorModel(variantId: string, pageSystemId: Guid): Promise> {\r\n return await axios.get(\"/api/showerconfigurator\", {\r\n params: {\r\n variantId,\r\n pageSystemId\r\n },\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n }\r\n })\r\n },\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"scroll-shadow__wrap\",class:{'scroll-shadow--disabled': _vm.disabled}},[_c('div',{ref:\"scrollContainer\",staticClass:\"scroll-shadow__scroll-container\",style:({ width: _vm.width, height: _vm.height }),on:{\"&scroll\":function($event){return _vm.toggleShadow($event)}}},[_vm._t(\"default\"),_c('span',{staticClass:\"scroll-shadow__shadow-top\",class:{ 'is-active': _vm.shadow.top }}),_c('span',{staticClass:\"scroll-shadow__shadow-right\",class:{ 'is-active': _vm.shadow.right }}),_c('span',{staticClass:\"scroll-shadow__shadow-bottom\",class:{ 'is-active': _vm.shadow.bottom }}),_c('span',{staticClass:\"scroll-shadow__shadow-left\",class:{ 'is-active': _vm.shadow.left }})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScrollShadow.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScrollShadow.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ScrollShadow.vue?vue&type=template&id=6b16440e&\"\nimport script from \"./ScrollShadow.vue?vue&type=script&lang=js&\"\nexport * from \"./ScrollShadow.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ScrollShadow.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { ConfiguratorPart, ConfiguratorPartType, ConfiguratorVariant, ConfiguratorMode } from \"@/models/tapwell/Configurator\";\r\nimport { ConfiguratorClient } from \"@/services/tapwell/ConfiguratorClient\";\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport ScrollShadow from \"@/components/shared/ScrollShadow.vue\";\r\nimport { PropType } from \"vue\";\r\nimport { dectectMobileDevice } from \"@/scripts/shared/sharedScripts.js\";\r\nimport { Guid } from \"guid-typescript\";\r\n\r\n\r\n@Component({\r\n data: () => {\r\n return {\r\n selectedVariantInternal: undefined,\r\n allVariantsInternal: [],\r\n ConfiguratorPartType\r\n }\r\n },\r\n watch:{\r\n reopenShowerConfigurator: function(newVal, oldVal){\r\n if(newVal != oldVal){\r\n this.fetchShowerConfiguratorModel();\r\n }\r\n }\r\n },\r\n components:{\r\n ScrollShadow\r\n },\r\n \r\n})\r\nexport default class ShowerConfigurator extends Vue {\r\n public translations: any;\r\n\r\n @Prop()\r\n public variantid!: string;\r\n\r\n @Prop()\r\n public reopenShowerConfigurator!: boolean;\r\n\r\n @Prop(\r\n {\r\n type: String as PropType, \r\n validator: ((x) => { return Object.values(ConfiguratorMode).includes(x)}) \r\n } \r\n )\r\n public mode!: ConfiguratorMode;\r\n\r\n @Prop()\r\n public showerconfiguratorpdfurl!: string;\r\n\r\n @Prop()\r\n public configuratorOptionTitle1!: string;\r\n\r\n @Prop()\r\n public configuratorOptionTitle2!: string;\r\n\r\n @Prop()\r\n public configuratorOptionTitle3!: string;\r\n \r\n @Prop()\r\n public configuratorOptionTitle4!: string;\r\n\r\n @Prop()\r\n public pagesystemid!: Guid;\r\n\r\n @Prop({ default: true }) \r\n public displayConfigHeaders!: boolean;\r\n\r\n public configuratorOptionTitle1Internal!: string;\r\n\r\n get configuratoroptiontitle1internal(): string {\r\n return this.configuratorOptionTitle1Internal;\r\n }\r\n\r\n public configuratorOptionTitle2Internal!: string;\r\n\r\n get configuratoroptiontitle2internal(): string {\r\n return this.configuratorOptionTitle2Internal;\r\n }\r\n\r\n public configuratorOptionTitle3Internal!: string;\r\n\r\n get configuratoroptiontitle3internal(): string {\r\n return this.configuratorOptionTitle3Internal;\r\n }\r\n\r\n public configuratorOptionTitle4Internal!: string;\r\n\r\n get configuratoroptiontitle4internal(): string {\r\n return this.configuratorOptionTitle4Internal;\r\n }\r\n\r\n public pageSystemIdInternal!: Guid;\r\n\r\n get pagesystemidinternal(): Guid {\r\n return this.pageSystemIdInternal;\r\n }\r\n\r\n private loadingdata: boolean = true;\r\n\r\n private surfaceOpen: boolean = false;\r\n\r\n private showerHeadOpen: boolean = false;\r\n\r\n private showerArmOpen: boolean = false;\r\n\r\n private requestContext: any;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__litium.translation;\r\n this.requestContext = window.__litium.requestContext;\r\n this.configuratorOptionTitle1Internal = this.configuratorOptionTitle1;\r\n this.configuratorOptionTitle2Internal = this.configuratorOptionTitle2;\r\n this.configuratorOptionTitle3Internal = this.configuratorOptionTitle3;\r\n this.configuratorOptionTitle4Internal = this.configuratorOptionTitle4;\r\n this.pageSystemIdInternal = this.pagesystemid;\r\n \r\n }\r\n\r\n get selectedVariant(): ConfiguratorVariant {\r\n return this.$data.selectedVariantInternal;\r\n }\r\n\r\n set selectedVariant(value: ConfiguratorVariant) {\r\n this.$data.selectedVariantInternal = value;\r\n }\r\n\r\n get allVariants(): ConfiguratorVariant[] {\r\n return this.$data.allVariantsInternal;\r\n }\r\n\r\n set allVariants(value: ConfiguratorVariant[]) {\r\n this.$data.allVariantsInternal = value;\r\n }\r\n\r\n get selectedSurface(): string | undefined {\r\n let surface = this.selectedVariant.configuratorParts.find(y => y.partType == ConfiguratorPartType.Surface);\r\n if (surface) {\r\n return surface.value;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n get selectedShowerArm(): ConfiguratorPart | undefined {\r\n return this.selectedVariant.configuratorParts.find(y => \r\n y.partType == ConfiguratorPartType.ShowerArmWall || \r\n y.partType == ConfiguratorPartType.ShowerArmCeiling);\r\n }\r\n\r\n get selectedShowerHead(): ConfiguratorPart | undefined {\r\n return this.selectedVariant.configuratorParts.find(y => \r\n y.partType == ConfiguratorPartType.ShowerHeadRound || \r\n y.partType == ConfiguratorPartType.ShowerHeadRectangular || \r\n y.partType == ConfiguratorPartType.ShowerHeadSquare ||\r\n y.partType == ConfiguratorPartType.ShowerHeadFlush);\r\n }\r\n\r\n get selectedExtraPart(): ConfiguratorPart | undefined {\r\n return this.selectedVariant.configuratorParts.find(y => \r\n y.partType == ConfiguratorPartType.ExtraPart);\r\n }\r\n\r\n get selectedVariantPrice(): string {\r\n return `${this.selectedVariant.displayPrice}`;\r\n }\r\n\r\n getShowerArmPrice(currentShowerArm: ConfiguratorPart) : string {\r\n var result = \"\";\r\n if (this.selectedShowerArm) {\r\n const price = currentShowerArm.price - this.selectedShowerArm.price; \r\n if(price > 0){\r\n result = `+${Math.round(price)} ${currentShowerArm.currencySymbol}`;\r\n }else if(price == 0){\r\n return \"\";\r\n }else{\r\n result = `${Math.round(price)} ${currentShowerArm.currencySymbol}`;\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n getShowerHeadPrice(currentShowerHead: ConfiguratorPart) : string {\r\n var result = \"\";\r\n if (this.selectedShowerHead) {\r\n const price = currentShowerHead.price - this.selectedShowerHead.price; \r\n if(price > 0){\r\n result = `+${Math.round(price)} ${currentShowerHead.currencySymbol}`;\r\n }else if(price == 0){\r\n return \"\";\r\n }else{\r\n result = `${Math.round(price)} ${currentShowerHead.currencySymbol}`;\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n getExtraPartPrice(currentExtraPart:ConfiguratorPart): string {\r\n var result = \"\";\r\n if (this.selectedExtraPart) {\r\n const price = currentExtraPart.price - this.selectedExtraPart.price; \r\n if(price > 0){\r\n result = `+${Math.round(price)} ${currentExtraPart.currencySymbol}`;\r\n }else if(price == 0){\r\n return \"\";\r\n }else{\r\n result = `${Math.round(price)} ${currentExtraPart.currencySymbol}`;\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n get allSurfaces(): ConfiguratorPart[] {\r\n let surfaces: ConfiguratorPart[] = [];\r\n this.allVariants.forEach(variant => {\r\n let surface = variant.configuratorParts.find(y => y.partType == ConfiguratorPartType.Surface)\r\n if (surface && this.selectedVariant) {\r\n const surfaceValue = surface.value;\r\n if (variant.id == this.selectedVariant.id) {\r\n surface.selected = true;\r\n let existingSurface = surfaces.find(x => x.value === surfaceValue)\r\n if (existingSurface){\r\n surfaces = surfaces.filter(x => x !== existingSurface);\r\n }\r\n surfaces.push(surface)\r\n } else {\r\n let existingSurface = surfaces.find(x => x.value === surfaceValue)\r\n surface.selected = false;\r\n if (!existingSurface){\r\n surfaces.push(surface)\r\n }\r\n }\r\n } \r\n });\r\n\r\n surfaces.sort((a: ConfiguratorPart, b: ConfiguratorPart) => {\r\n const textA = a.value.toUpperCase();\r\n const textB = b.value.toUpperCase();\r\n return (textA < textB) ? -1 : (textA > textB) ? 1 : 0;\r\n });\r\n \r\n return surfaces;\r\n }\r\n\r\n get allShowerArms(): ConfiguratorPart[] {\r\n let showerArms: ConfiguratorPart[] = [];\r\n\r\n if (this.selectedShowerArm === undefined) {\r\n return showerArms;\r\n }\r\n\r\n this.allVariants.forEach(variant => {\r\n let showerArm = variant.configuratorParts.find(y => y.\r\n partType == ConfiguratorPartType.ShowerArmWall || \r\n y.partType == ConfiguratorPartType.ShowerArmCeiling)\r\n if (showerArm && this.selectedVariant) {\r\n if (variant.id == this.selectedVariant.id) {\r\n const showerArmId = showerArm.id;\r\n let showerArmAlreadyAdded = showerArms.find(x => x.id == showerArmId)\r\n if (showerArmAlreadyAdded) {\r\n showerArmAlreadyAdded.selected = true;\r\n } else {\r\n showerArm.selected = true;\r\n showerArms.push(showerArm)\r\n }\r\n } else {\r\n if (this.sameSurface(variant)) {\r\n const showerArmId = showerArm.id;\r\n const showerArmAlreadyAdded = showerArms.find(x => x.id == showerArmId)\r\n if (!showerArmAlreadyAdded) {\r\n showerArm.selected = false;\r\n showerArms.push(showerArm)\r\n }\r\n }\r\n }\r\n } \r\n });\r\n\r\n showerArms.sort((a: ConfiguratorPart, b: ConfiguratorPart) => {\r\n if (a.partType === b.partType) {\r\n return a.value < b.value ? -1 : 1;\r\n } else {\r\n return a.partType > b.partType ? -1 : 1;\r\n }\r\n });\r\n\r\n return showerArms;\r\n }\r\n\r\n get allShowerHeads(): ConfiguratorPart[] {\r\n let showerHeads: ConfiguratorPart[] = [];\r\n this.allVariants.forEach(variant => {\r\n let showerHead = variant.configuratorParts.find(y => \r\n y.partType == ConfiguratorPartType.ShowerHeadRound || \r\n y.partType == ConfiguratorPartType.ShowerHeadRectangular || \r\n y.partType == ConfiguratorPartType.ShowerHeadSquare || \r\n y.partType == ConfiguratorPartType.ShowerHeadFlush)\r\n if (showerHead && this.selectedVariant) {\r\n if (variant.id == this.selectedVariant.id) {\r\n const showerHeadId = showerHead.id;\r\n let showerHeadAlreadyAdded = showerHeads.find(x => x.id == showerHeadId);\r\n if (showerHeadAlreadyAdded) {\r\n showerHeadAlreadyAdded.selected = true;\r\n } else {\r\n showerHead.selected = true;\r\n showerHeads.push(showerHead)\r\n }\r\n } else {\r\n if (this.sameSurface(variant)) {\r\n const showerHeadId = showerHead.id;\r\n const showerHeadAlreadyAdded = showerHeads.find(x => x.id == showerHeadId)\r\n if (!showerHeadAlreadyAdded) {\r\n showerHead.selected = false;\r\n showerHeads.push(showerHead)\r\n }\r\n }\r\n }\r\n } \r\n });\r\n\r\n showerHeads.sort((a: ConfiguratorPart, b: ConfiguratorPart) => {\r\n if (a.partType === b.partType) {\r\n return a.value < b.value ? -1 : 1;\r\n } else {\r\n return a.partType > b.partType ? -1 : 1;\r\n }\r\n });\r\n\r\n return showerHeads;\r\n }\r\n\r\n get allExtraParts(): ConfiguratorPart[] {\r\n let extraParts: ConfiguratorPart[] = [];\r\n this.allVariants.forEach(variant => {\r\n let extraPart = variant.configuratorParts.find(y => \r\n y.partType == ConfiguratorPartType.ExtraPart)\r\n if (extraPart && this.selectedVariant) {\r\n if (variant.id == this.selectedVariant.id) {\r\n const extraPartId = extraPart.id;\r\n let extraPartAlreadyAdded = extraParts.find(x => x.id == extraPartId);\r\n if (extraPartAlreadyAdded) {\r\n extraPartAlreadyAdded.selected = true;\r\n } else {\r\n extraPart.selected = true;\r\n extraParts.push(extraPart)\r\n }\r\n } else {\r\n if (this.sameSurface(variant)) {\r\n const extraPartId = extraPart.id;\r\n const extraPartAlreadyAdded = extraParts.find(x => x.id == extraPartId)\r\n if (!extraPartAlreadyAdded) {\r\n extraPart.selected = false;\r\n extraParts.push(extraPart)\r\n }\r\n }\r\n }\r\n } \r\n });\r\n\r\n extraParts.sort((a: ConfiguratorPart, b: ConfiguratorPart) => {\r\n if (a.partType === b.partType) {\r\n return a.value < b.value ? -1 : 1;\r\n } else {\r\n return a.partType > b.partType ? -1 : 1;\r\n }\r\n });\r\n\r\n return extraParts;\r\n }\r\n\r\n selectSurface(newSurface: string): void {\r\n let newSelectedVariant: ConfiguratorVariant | undefined;\r\n for (let variant of this.allVariants) {\r\n const surface = variant.configuratorParts.find(y => y.partType === ConfiguratorPartType.Surface && y.value === newSurface);\r\n if (surface) {\r\n newSelectedVariant = variant;\r\n if (this.sameShowerHead(variant) && this.sameShowerArm(variant)) {\r\n newSelectedVariant = variant;\r\n break;\r\n } \r\n if (this.sameShowerHead(variant)) {\r\n newSelectedVariant = variant;\r\n if (!this.selectedShowerArm){\r\n break;\r\n }\r\n }\r\n if (this.sameShowerArm(variant)) {\r\n newSelectedVariant = variant;\r\n }\r\n }\r\n }\r\n\r\n if (newSelectedVariant) {\r\n this.selectedVariant = newSelectedVariant;\r\n } else {\r\n this.selectedVariant = this.allVariants[0];\r\n }\r\n }\r\n\r\n selectShowerHead(itemId: string): void {\r\n let newSelectedVariant: ConfiguratorVariant | undefined;\r\n for (let variant of this.allVariants) {\r\n const showerHead = variant.configuratorParts.find(y => y.id === itemId);\r\n if (showerHead) {\r\n if (this.sameSurface(variant) && this.sameShowerArm(variant)) {\r\n newSelectedVariant = variant;\r\n break;\r\n }\r\n if (this.sameSurface(variant)) {\r\n newSelectedVariant = variant;\r\n }\r\n }\r\n }\r\n\r\n if (newSelectedVariant) {\r\n this.selectedVariant = newSelectedVariant;\r\n } else {\r\n this.selectedVariant = this.allVariants[0];\r\n }\r\n }\r\n\r\n selectShowerArm(itemId: string): void {\r\n let newSelectedVariant: ConfiguratorVariant | undefined;\r\n for (let variant of this.allVariants) {\r\n const showerArm = variant.configuratorParts.find(y => y.id === itemId);\r\n if (showerArm) {\r\n if (this.sameSurface(variant) && this.sameShowerHead(variant)) {\r\n newSelectedVariant = variant;\r\n break;\r\n }\r\n if (this.sameSurface(variant)) {\r\n newSelectedVariant = variant;\r\n }\r\n }\r\n }\r\n\r\n if (newSelectedVariant) {\r\n this.selectedVariant = newSelectedVariant;\r\n } else {\r\n this.selectedVariant = this.allVariants[0];\r\n }\r\n }\r\n\r\n selectExtraPart(itemId: string): void {\r\n let newSelectedVariant: ConfiguratorVariant | undefined;\r\n for (let variant of this.allVariants) {\r\n const extraPart = variant.configuratorParts.find(y => y.id === itemId);\r\n if (extraPart) {\r\n if (this.sameSurface(variant) && this.sameExtraPart(variant)) {\r\n newSelectedVariant = variant;\r\n break;\r\n }\r\n if (this.sameSurface(variant)) {\r\n newSelectedVariant = variant;\r\n }\r\n }\r\n }\r\n\r\n if (newSelectedVariant) {\r\n this.selectedVariant = newSelectedVariant;\r\n } else {\r\n this.selectedVariant = this.allVariants[0];\r\n }\r\n }\r\n\r\n sameSurface(variant: ConfiguratorVariant): boolean {\r\n const surface = variant.configuratorParts.find(y => y.partType == ConfiguratorPartType.Surface)\r\n if (surface && surface.value === this.selectedSurface) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n sameShowerHead(variant: ConfiguratorVariant): boolean {\r\n const showerHead = variant.configuratorParts.find(y => \r\n y.partType == ConfiguratorPartType.ShowerHeadRound || \r\n y.partType == ConfiguratorPartType.ShowerHeadRectangular || \r\n y.partType == ConfiguratorPartType.ShowerHeadSquare ||\r\n y.partType == ConfiguratorPartType.ShowerHeadFlush)\r\n if (showerHead && this.selectedShowerHead && showerHead.id === this.selectedShowerHead.id) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n sameShowerArm(variant: ConfiguratorVariant): boolean {\r\n const showerArm = variant.configuratorParts.find(y => \r\n y.partType == ConfiguratorPartType.ShowerArmWall || \r\n y.partType == ConfiguratorPartType.ShowerArmCeiling)\r\n if (showerArm && this.selectedShowerArm && showerArm.id === this.selectedShowerArm.id) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n sameExtraPart(variant: ConfiguratorVariant): boolean {\r\n const extraPart = variant.configuratorParts.find(y => \r\n y.partType == ConfiguratorPartType.ExtraPart)\r\n if (extraPart && this.selectedExtraPart && extraPart.id === this.selectedExtraPart.id) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n saveConfig(){ \r\n this.$emit('save-configurator', this.selectedVariant.id);\r\n }\r\n\r\n closeShowerConfigurator(){\r\n this.$emit('close-configurator');\r\n }\r\n\r\n IsMobileDevice(maxWidth: string){\r\n return dectectMobileDevice(maxWidth);\r\n }\r\n\r\n goToProduct(){\r\n window.open(this.selectedVariant.url,\"_blank\");\r\n }\r\n\r\n openShowerConfiguratorPdf(){\r\n var token = window.localStorage.getItem(\"requestVerificationToken\");\r\n var verificationToken='';\r\n if(token!=null){\r\n verificationToken = token.split(':')[0];\r\n }\r\n\r\n if(verificationToken!=''){\r\n var pdfUrl = this.showerconfiguratorpdfurl + this.selectedVariant.id +\"&pageSystemId=\"+this.pagesystemid+\"&token=\" + verificationToken;\r\n window.open(pdfUrl,\"_blank\");\r\n }\r\n }\r\n\r\n async fetchShowerConfiguratorModel(){\r\n ConfiguratorClient.getShowerConfiguratorModel(this.variantid, this.pagesystemid).then((response) => {\r\n this.allVariants = response.data.configuratorVariants;\r\n const variant = this.allVariants.find(y => y.selected);\r\n if (variant) {\r\n this.selectedVariant = variant;\r\n }\r\n \r\n this.loadingdata = false;\r\n \r\n });\r\n }\r\n\r\n async mounted(){\r\n this.fetchShowerConfiguratorModel();\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ShowerConfigurator.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ShowerConfigurator.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ShowerConfigurator.vue?vue&type=template&id=4761769e&\"\nimport script from \"./ShowerConfigurator.ts?vue&type=script&lang=js&\"\nexport * from \"./ShowerConfigurator.ts?vue&type=script&lang=js&\"\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-inspirational-images\",class:{'product-inspirational-images--open': _vm.visible}},[_c('ul',{staticClass:\"thumb-nail__list\"},[_vm._l((_vm.firstThree),function(img,index){return _c('li',{key:index,staticClass:\"thumb-nail__item\",class:index!=0 ? 'thumb-nail__item-no-border' : '',on:{\"click\":function($event){return _vm.showSingle(index)}}},[_c('img',{attrs:{\"src\":img}})])}),(_vm.showMore)?_c('li',{staticClass:\"thumb-nail__item thumb-nail__item-show-more\",on:{\"click\":_vm.showMultiple}},[_vm._v(\" \"+_vm._s(_vm.translations[\"productinspirationalimages.showmore\"])+\" \")]):_vm._e()],2),_c('vue-easy-lightbox',{attrs:{\"escDisabled\":\"\",\"moveDisabled\":\"\",\"visible\":_vm.visible,\"imgs\":_vm.imgs,\"index\":_vm.index},on:{\"hide\":_vm.handleHide}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import VueEasyLightbox from 'vue-easy-lightbox'\r\n\r\nexport default {\r\n name: \"ProductInspirationalImages\",\r\n props:[\"urls\", \"varianImage\"],\r\n components: {\r\n VueEasyLightbox\r\n },\r\n data() {\r\n return {\r\n imgs: '', // Img Url , string or Array of string\r\n visible: false,\r\n index: 0 , // default: 0\r\n firstThree:'',\r\n showMore:false,\r\n firstThreeWithVariant:[]\r\n }\r\n },\r\n computed:{\r\n translations(){\r\n return window.__litium.translation;\r\n }\r\n },\r\n watch: {\r\n // This would be called anytime the value of urls changes\r\n urls(newValue, oldValue) {\r\n this.firstThreeUrl()\r\n }\r\n },\r\n methods: {\r\n showSingle(showIndex) {\r\n this.index = showIndex;\r\n this.imgs = this.firstThreeWithVariant;\r\n this.show()\r\n },\r\n showMultiple() {\r\n this.index = 3;\r\n this.imgs = this.firstThreeWithVariant;\r\n this.show()\r\n },\r\n show() {\r\n this.visible = true\r\n },\r\n handleHide() {\r\n this.visible = false\r\n },\r\n firstThreeUrl() {\r\n this.firstThreeWithVariant=[]\r\n this.firstThreeWithVariant.push(this.varianImage);\r\n this.firstThreeWithVariant.push(...this.urls);\r\n this.firstThree = this.firstThreeWithVariant.slice(0, 3) \r\n if(this.firstThreeWithVariant.length>3)\r\n { \r\n this.showMore=true;\r\n } \r\n else{\r\n this.showMore=false;\r\n }\r\n },\r\n },\r\n beforeMount(){\r\n this.firstThreeUrl()\r\n } \r\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductInspirationalImages.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductInspirationalImages.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductInspirationalImages.vue?vue&type=template&id=d1aa9dae&\"\nimport script from \"./ProductInspirationalImages.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductInspirationalImages.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, Watch } from \"vue-property-decorator\";\r\nimport ProductDetail from \"./ProductDetail\";\r\nimport ProductTileB2c from \"./ProductTileB2C.vue\";\r\nimport ShowerConfigurator from \"../Configurator/ShowerConfigurator.vue\";\r\nimport { Product, Variant, SeriesCategory, SocialLinks } from \"@/models/tapwell/Product\";\r\nimport InfiniteLoading from \"vue-infinite-loading\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\nimport { ProductStore } from\"@/store/tapwell/productstate\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport queryString from \"query-string\";\r\nimport ProductInspirationalImages from \"./ProductInspirationalImages.vue\"\r\nimport {toggleBodyClassName} from \"@/scripts/shared/sharedScripts.js\";\r\n\r\n@Component({\r\n components : {\r\n ProductTileB2c,\r\n InfiniteLoading,\r\n ShowerConfigurator,\r\n ProductInspirationalImages\r\n },\r\n})\r\nexport default class ProductDetailB2C extends ProductDetail {\r\n\r\n @Prop()\r\n public categoryproducts!: Product[];\r\n\r\n @Prop()\r\n public categoryid!: Guid;\r\n\r\n @Prop()\r\n public categoryheadline!: string;\r\n\r\n @Prop()\r\n public siblingseriescategories!: SeriesCategory[];\r\n\r\n @Prop()\r\n public sociallinks!: SocialLinks;\r\n\r\n @Prop()\r\n public showerconfiguratorpdfurl!: string;\r\n\r\n private pageIndex: number = 2;\r\n\r\n private productInternal!: Product;\r\n\r\n protected visibleConfigurator: boolean = false;\r\n\r\n protected reopenShowerConfigurator: boolean = false;\r\n public selectedTonitonClass: string = 'product-page__banner';\r\n public colorValue:string=\"\";\r\n\r\n constructor() {\r\n super();\r\n this.currentproduct = this.product;\r\n this.selectedVariant = this.product.variants[0];\r\n this.colorValue=this.selectedVariant.colorFieldValue;\r\n }\r\n mounted() {\r\n this.getTonitonCssClassForCurrentProduct();\r\n }\r\n\r\n get productlist(): Product[] {\r\n return ProductStore.products;\r\n }\r\n\r\n get currentproduct(): Product {\r\n return this.productInternal;\r\n }\r\n\r\n set currentproduct(value: Product){\r\n this.productInternal = value;\r\n }\r\n\r\n get shopenabled(): boolean {\r\n if(this.requestContext.enableEcommerce==='on')\r\n {\r\n return true;\r\n }\r\n\r\n if (this.requestContext.enableEcommerce==='sparePartOnly' && this.currentproduct.isSparePart) {\r\n return true;\r\n }\r\n \r\n if(this.selectedVariant.outletProduct){\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n get isDiscontinued() : boolean {\r\n \r\n if(this.currentproduct.isDiscontinued) {\r\n return true;\r\n }\r\n return false;\r\n \r\n }\r\n\r\n get showprice(): boolean {\r\n return !this.currentproduct.hidePrice && this.requestContext.showPrices\r\n }\r\n\r\n get visibleVariants(): Variant[] {\r\n let filteredVariants = this.currentproduct.variants.filter(x => !x.hideFromVariantSelector);\r\n const variantIndex = filteredVariants.findIndex((variant) => variant.id === this.selectedVariant.id);\r\n if (variantIndex >-1) {\r\n return filteredVariants;\r\n }\r\n return [] as Variant[];\r\n }\r\n\r\n get image(): string {\r\n if (this.selectedVariant.images && this.selectedVariant.images.length > 0) {\r\n return this.selectedVariant.images[0];\r\n }\r\n return \"\";\r\n }\r\n\r\n @Watch(\"selectedVariant\")\r\n public getTonitonCssClassForCurrentProduct(){ \r\n if (this.currentproduct.isTonITon) {\r\n switch(this.selectedVariant.colorFieldValue)\r\n {\r\n case 'Blue': \r\n this.selectedTonitonClass = \"product-page__banner product-page__banner__toniton-blue\";\r\n break;\r\n case 'Yellow': \r\n this.selectedTonitonClass = \"product-page__banner product-page__banner__toniton-yellow\";\r\n break;\r\n case 'Creme': \r\n this.selectedTonitonClass = \"product-page__banner product-page__banner__toniton-creme\";\r\n break;\r\n case 'Peach': \r\n this.selectedTonitonClass = \"product-page__banner product-page__banner__toniton-peach\";\r\n break;\r\n case 'Black': \r\n this.selectedTonitonClass = \"product-page__banner product-page__banner__toniton-black\";\r\n break;\r\n case 'Green': \r\n this.selectedTonitonClass = \"product-page__banner product-page__banner__toniton-green\";\r\n break;\r\n default: \r\n this.selectedTonitonClass = \"product-page__banner\"\r\n }\r\n }\r\n }\r\n\r\n public infiniteHandler($state: any): void {\r\n ApiService.getProducts(this.categoryid, this.pageIndex, false, \"category_sort_order\", true).then((response) => {\r\n if (response && response.data) {\r\n ProductStore.saveProducts(ProductStore.products.concat(response.data));\r\n this.pageIndex += 1;\r\n $state.loaded();\r\n\r\n if (response.data.length === 0) {\r\n $state.complete();\r\n }\r\n }\r\n });\r\n }\r\n\r\n public selectVariant(product: Product, variant: Variant): void {\r\n window.history.pushState(null, \"\", variant.url);\r\n document.title = variant.name;\r\n this.currentproduct = product;\r\n this.selectedVariant = variant;\r\n this.colorValue=this.selectedVariant.colorFieldValue;\r\n this.trackPageView(this.selectedVariant, false);\r\n var currentlocation = location.pathname + location.search;\r\n\r\n if (currentlocation !== variant.url){\r\n this.trackPageView(variant, true);\r\n }\r\n\r\n this.getProductPriceAndStock(variant, 0);\r\n }\r\n \r\n public selectVariantFromQueryString(){\r\n var query = queryString.parse(location.search);\r\n if (query.v) {\r\n const variantIndex = this.currentproduct.variants.findIndex((variant) => variant.urlName === query.v);\r\n if (variantIndex > -1) {\r\n let variant = this.currentproduct.variants[variantIndex];\r\n this.selectedVariant = variant;\r\n this.colorValue=this.selectedVariant.colorFieldValue;\r\n document.title = variant.name;\r\n }\r\n else\r\n {\r\n this.selectedVariant = this.product.variants[0];\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n public created() {\r\n this.selectVariantFromQueryString();\r\n\r\n ProductStore.saveCurrentCategoryId(this.categoryid);\r\n ProductStore.saveProducts(this.categoryproducts);\r\n }\r\n\r\n public openPdf(){\r\n var token = window.localStorage.getItem(\"requestVerificationToken\");\r\n var verificationToken='';\r\n if(token!=null){\r\n verificationToken = token.split(':')[0];\r\n }\r\n\r\n if(verificationToken!=''){\r\n var pdfUrl = this.selectedVariant.generatePdfUrl+\"&token=\"+verificationToken;\r\n window.open(pdfUrl,\"_blank\");\r\n }\r\n }\r\n\r\n handleVisibleConfigurator(){\r\n this.visibleConfigurator = !this.visibleConfigurator\r\n document.body.scrollTop = 0; // For Safari\r\n document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera\r\n toggleBodyClassName('shower-config--open');\r\n toggleBodyClassName('mobile-prevent-scroll');\r\n\r\n }\r\n\r\n public openShowerConfiguratorPdf(){\r\n var token = window.localStorage.getItem(\"requestVerificationToken\");\r\n var verificationToken='';\r\n if(token!=null){\r\n verificationToken = token.split(':')[0];\r\n }\r\n\r\n if(verificationToken!=''){\r\n var pdfUrl = this.showerconfiguratorpdfurl + this.selectedVariant.id +\"&pageSystemId=\"+this.selectedVariant.configuratorPageSystemId +\"&token=\" + verificationToken;\r\n window.open(pdfUrl,\"_blank\");\r\n }\r\n }\r\n\r\n closeShowerConfigurator(){\r\n this.visibleConfigurator = !this.visibleConfigurator\r\n toggleBodyClassName('shower-config--open');\r\n toggleBodyClassName('mobile-prevent-scroll');\r\n }\r\n\r\n public selectVariantFromProductTile(product: Product, variant: Variant){\r\n this.visibleConfigurator = false; \r\n if(document.body.classList.contains('shower-config--open')){\r\n toggleBodyClassName('shower-config--open');\r\n toggleBodyClassName('mobile-prevent-scroll');\r\n } \r\n this.selectVariant(product, variant);\r\n }\r\n\r\n saveShowerConfigurator(variantId: string){\r\n const variant = this.currentproduct.variants.find(x => x.id == variantId)\r\n if (variant) {\r\n this.selectVariant(this.currentproduct, variant);\r\n }\r\n this.visibleConfigurator = !this.visibleConfigurator\r\n toggleBodyClassName('shower-config--open');\r\n toggleBodyClassName('mobile-prevent-scroll');\r\n const pdfBtn = document.getElementsByClassName('btn__config-fetch-pdf')[0];\r\n pdfBtn.classList.add('btn__config-fetch-pdf--saved-variant');\r\n }\r\n\r\n openShowerConfigFromProduct(product,variant){\r\n \r\n this.selectVariant(product, variant);\r\n \r\n if(this.visibleConfigurator){\r\n this.reopenShowerConfigurator = !this.reopenShowerConfigurator;\r\n }\r\n \r\n this.visibleConfigurator = true;\r\n document.body.scrollTop = 0; // For Safari\r\n document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera\r\n if(!document.body.classList.contains('shower-config--open')){\r\n toggleBodyClassName('shower-config--open');\r\n toggleBodyClassName('mobile-prevent-scroll');\r\n }\r\n }\r\n\r\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductDetailB2C.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ProductDetailB2C.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductDetailB2C.vue?vue&type=template&id=c3fbf432&scoped=true&\"\nimport script from \"./ProductDetailB2C.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductDetailB2C.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ProductDetailB2C.vue?vue&type=style&index=0&id=c3fbf432&lang=scss&scoped=true&\"\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 \"c3fbf432\",\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:\"search-b2c__result\"},[_c('div',{staticClass:\"search-b2c__search\"},[_c('input',{ref:\"searchb2c\",attrs:{\"type\":\"text\",\"placeholder\":_vm.translations['general.search']},domProps:{\"value\":_vm.searchWord}}),_c('button',{staticClass:\"btn\",on:{\"click\":_vm.search}},[_vm._v(\" \"+_vm._s(_vm.translations[\"general.search\"])+\" \")])]),_c('div',{staticClass:\"search-b2b__result\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isLoading),expression:\"isLoading\"}],staticClass:\"search-b2c__loader-container\"},[_c('div',{staticClass:\"loader\"})]),_c('div',{staticClass:\"search-b2c__result__list hide-mobile\"},[_c('div',{staticClass:\"search-b2c__result__column search-b2c__result__column--big\"},[_c('h3',[_vm._v(_vm._s(_vm.translations[\"search.productsandseries\"]))])])]),_c('div',{staticClass:\"search-b2c__result__list search-b2c__result__list--items\"},[_c('div',{staticClass:\"search-b2c__result-column search-b2c__result-column--big product-page__product-list\"},[_c('h3',{staticClass:\"hide-desktop\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"search.productsandseries\"])+\" \")]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.noResult),expression:\"noResult\"}]},[_vm._v(_vm._s(_vm.translations[\"search.noresult\"]))]),_c('div',{staticClass:\"row\"},_vm._l((_vm.searchresult),function(item,index){return _c('div',{key:index,staticClass:\"product-page__product-list__column\",class:{\n Highlight: _vm.productTileShouldBeHighlighted(index),\n Content: item.content.desktopImage != null,\n }},[_c('product-tile-b2c',{attrs:{\"product\":item,\"colorFieldValue\":item.selectedVariant.colorFieldValue,\"searchMode\":_vm.modalopen,\"isHighLightedFromSearch\":_vm.productTileShouldBeHighlighted(index)},on:{\"goToVariant\":_vm.selectVariant}})],1)}),0)])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop, Watch } from \"vue-property-decorator\";\r\nimport ProductTileB2c from \"../Product/ProductTileB2C.vue\";\r\nimport { ProductStore } from \"@/store/tapwell/productstate\";\r\nimport { Product, SearchProductsResult, Variant } from \"@/models/tapwell/Product\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\nimport { CategoryNavigationItem } from \"@/models/tapwell/Category\";\r\n\r\n@Component({\r\n components: {\r\n ProductTileB2c,\r\n },\r\n})\r\nexport default class SearchResultB2c extends Vue {\r\n\r\n @Prop()\r\n protected searchWord!: string;\r\n\r\n protected infiniteId: any = \"default\";\r\n protected isLoading: boolean = false;\r\n protected noResult: boolean = false;\r\n private modalopen : boolean = true;\r\n\r\n private executedSearchWord: string = \"\";\r\n\r\n public translations: any;\r\n\r\n private categorySearchResult!: CategoryNavigationItem[];\r\n private searchWordInternal: string = \"\";\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__litium.translation;\r\n this.categorySearchResult = [];\r\n }\r\n\r\n public mounted() {\r\n setTimeout(() => {\r\n if (this.executedSearchWord == this.searchWord) {\r\n return;\r\n }\r\n\r\n this.executedSearchWord = this.searchWord;\r\n this.isLoading = true;\r\n this.noResult = false;\r\n ApiService.searchB2cProducts(this.searchWord).then((response) => {\r\n if (response && response.data) {\r\n this.handlePageSearch(response.data);\r\n }\r\n }).finally(() => {\r\n this.isLoading = false;\r\n \r\n if (ProductStore.searchresult.length == 0) {\r\n this.noResult = true;\r\n }\r\n });\r\n }, 2000);\r\n }\r\n\r\n \r\n get searchresult(): Product[] {\r\n return ProductStore.searchresult;\r\n }\r\n\r\n set searchterminternal(value: string) {\r\n this.searchWordInternal = value;\r\n}\r\n\r\nget searchterminternal(): string{\r\n return this.searchWordInternal;\r\n}\r\n\r\n @Watch(\"searchterminternal\")\r\n public termChanged(newTerms: string, oldValue: string) {\r\n setTimeout(() => {\r\n if (this.executedSearchWord == this.searchterminternal) {\r\n return;\r\n }\r\n\r\n this.executedSearchWord = this.searchterminternal;\r\n this.isLoading = true;\r\n this.noResult = false;\r\n ApiService.searchB2cProducts(this.searchterminternal).then((response) => {\r\n if (response && response.data) {\r\n this.handlePageSearch(response.data);\r\n }\r\n }).finally(() => {\r\n this.isLoading = false;\r\n \r\n if (ProductStore.searchresult.length == 0) {\r\n this.noResult = true;\r\n }\r\n });\r\n }, 2000);\r\n }\r\n\r\n search(event: Event) {\r\n var input = this.$refs.searchb2c as HTMLInputElement;\r\n var term = input.value;\r\n\r\n ProductStore.saveSearchResult([] as Product[]);\r\n\r\n if (term.length <= 1) {\r\n return;\r\n }\r\n var currentlocation = location.pathname+\"?q=\"+term;\r\n window.history.pushState(null, \"\", currentlocation);\r\n this.searchterminternal = term;\r\n }\r\n\r\n handlePageSearch(data: SearchProductsResult) {\r\n if (this.searchWord == data.term) {\r\n ProductStore.saveSearchResult(ProductStore.searchresult.concat(data.products));\r\n this.categorySearchResult = data.categories;\r\n }\r\n }\r\n\r\n selectVariant(product: Product, variant: Variant): void {\r\n document.location.href = variant.url;\r\n }\r\n\r\n toggleModal() {\r\n this.$emit('toggleFromModal');\r\n }\r\n\r\n productTileShouldBeHighlighted(index: number) {\r\n return index == 0 || (index + 1) % 14 == 0;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./SearchResultB2C.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./SearchResultB2C.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SearchResultB2C.vue?vue&type=template&id=cf48ce54&scoped=true&\"\nimport script from \"./SearchResultB2C.ts?vue&type=script&lang=ts&\"\nexport * from \"./SearchResultB2C.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./SearchResultB2C.vue?vue&type=style&index=0&id=cf48ce54&lang=scss&scoped=true&\"\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 \"cf48ce54\",\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('a',{staticClass:\"b2c-header__search\",on:{\"click\":_vm.toggleSearchModal}},[_vm._v(_vm._s(_vm.translations[\"header.search\"])+\" \"),_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 28.95 28.28\"}},[_c('defs'),_c('title',[_vm._v(_vm._s(_vm.translations[\"header.search\"]))]),_c('g',{attrs:{\"data-name\":\"Layer 2\"}},[_c('g',{attrs:{\"data-name\":\"Layer 1\"}},[_c('circle',{staticClass:\"cls-1\",attrs:{\"cx\":\"13.73\",\"cy\":\"13.73\",\"r\":\"12.98\"}}),_c('line',{staticClass:\"cls-1\",attrs:{\"x1\":\"23.24\",\"y1\":\"22.57\",\"x2\":\"28.42\",\"y2\":\"27.75\"}})])])])]),_c('search-modal',{attrs:{\"modalopen\":_vm.modalOpen,\"searchpageurl\":_vm.searchPageUrl},on:{\"toggleFromModal\":_vm.toggleSearchModal}})],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:\"search-modal\"},[_c('div',{staticClass:\"container-padding row\"},[_c('div',[_c('div',{staticClass:\"search-modal__search\"},[_c('input',{ref:\"search\",attrs:{\"type\":\"search\",\"placeholder\":_vm.translations['general.search']},on:{\"input\":_vm.search}})]),_c('button',{staticClass:\"search-modal__close\",on:{\"click\":_vm.toggleModal}},[_c('p',[_vm._v(_vm._s(_vm.translations['general.close']))])])]),_c('div',{staticClass:\"search-modal__result\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isLoading),expression:\"isLoading\"}],staticClass:\"search-modal__loader-container\"},[_c('div',{staticClass:\"loader\"})]),_c('div',{staticClass:\"search-modal__result__list hide-mobile\"},[_c('div',{staticClass:\"search-modal__result__column search-modal__result__column--big\"},[_c('h3',[_vm._v(_vm._s(_vm.translations[\"search.productsandseries\"]))])])]),_c('div',{staticClass:\"search-modal__result__list search-modal__result__list--items\"},[_c('div',{staticClass:\"search-modal__result__column search-modal__result__column--big product-page__product-list\"},[_c('h3',{staticClass:\"hide-desktop\"},[_vm._v(_vm._s(_vm.translations[\"search.productsandseries\"]))]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.noResult),expression:\"noResult\"}]},[_vm._v(_vm._s(_vm.translations[\"search.noresult\"]))]),_c('div',{staticClass:\"row\"},_vm._l((_vm.searchresult),function(item,index){return _c('div',{key:index,staticClass:\"product-page__product-list__column\",class:{'Highlight': _vm.productTileShouldBeHighlighted(index), 'Content': item.content.desktopImage != null}},[_c('product-tile-b2c',{attrs:{\"product\":item,\"colorFieldValue\":item.selectedVariant.colorFieldValue,\"searchMode\":_vm.modalopen,\"isHighLightedFromSearch\":_vm.productTileShouldBeHighlighted(index)},on:{\"goToVariant\":_vm.selectVariant}})],1)}),0)])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop, Watch } from \"vue-property-decorator\";\r\nimport ProductTileB2c from \"../Product/ProductTileB2C.vue\";\r\nimport { ProductStore } from \"@/store/tapwell/productstate\";\r\nimport { Product, SearchProductsResult, Variant } from \"@/models/tapwell/Product\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\nimport { CategoryNavigationItem } from \"@/models/tapwell/Category\";\r\n\r\n@Component({\r\n components: {\r\n ProductTileB2c,\r\n },\r\n})\r\n\r\nexport default class SearchModal extends Vue {\r\n\r\n @Prop()\r\n protected modalopen!: boolean;\r\n @Prop()\r\n protected searchpageurl!: string;\r\n\r\n protected infiniteId: any = \"default\";\r\n protected isLoading: boolean = false;\r\n protected noResult: boolean = false;\r\n\r\n private searchTerm: string = \"\";\r\n\r\n private executedSearchTerm: string = \"\";\r\n\r\n public translations: any;\r\n\r\n private searchWordInternal: string = \"\";\r\n\r\n private categorySearchResult!: CategoryNavigationItem[];\r\n\r\n set searchterminternal(value: string) {\r\n this.searchWordInternal = value;\r\n }\r\n\r\n get searchterminternal(): string{\r\n return this.searchWordInternal;\r\n }\r\n\r\n constructor() {\r\n super();\r\n\r\n this.translations = window.__litium.translation;\r\n this.categorySearchResult = [];\r\n }\r\n\r\n get searchresult(): Product[] {\r\n return ProductStore.searchresult;\r\n }\r\n\r\n @Watch(\"modalopen\")\r\n setSearchInputFocus() {\r\n if (this.modalopen) {\r\n var input = this.$refs.search as HTMLInputElement;\r\n input.focus();\r\n }\r\n }\r\n\r\n @Watch(\"searchterminternal\")\r\n public termChanged(newTerms: string, oldValue: string) {\r\n setTimeout(() => {\r\n if (this.executedSearchTerm == this.searchterminternal) {\r\n return;\r\n }\r\n \r\n this.executedSearchTerm = this.searchterminternal;\r\n this.isLoading = true;\r\n this.noResult = false;\r\n\r\n ApiService.searchB2cProducts(this.searchterminternal).then((response) => {\r\n if (response && response.data) {\r\n this.handlePageSearch(response.data);\r\n }\r\n }).finally(() => {\r\n this.isLoading = false;\r\n\r\n if (ProductStore.searchresult.length == 0) {\r\n this.noResult = true;\r\n }\r\n })\r\n }, 2000);\r\n }\r\n\r\n search(event: Event) {\r\n var input = event.target as HTMLInputElement;\r\n var term = input.value;\r\n\r\n ProductStore.saveSearchResult([] as Product[]);\r\n\r\n if (term.length <= 1) {\r\n return;\r\n }\r\n\r\n if(this.searchpageurl!=\"\"){\r\n var currentlocation = this.searchpageurl+\"?q=\"+term;\r\n window.history.pushState(null, \"\", currentlocation);\r\n }\r\n\r\n this.searchterminternal = term;\r\n }\r\n\r\n handlePageSearch(data: SearchProductsResult) {\r\n if (this.searchterminternal == data.term) {\r\n ProductStore.saveSearchResult(ProductStore.searchresult.concat(data.products));\r\n this.categorySearchResult = data.categories;\r\n }\r\n }\r\n\r\n selectVariant(product: Product, variant: Variant): void {\r\n document.location.href = variant.url;\r\n }\r\n\r\n toggleModal() {\r\n this.$emit('toggleFromModal');\r\n }\r\n\r\n productTileShouldBeHighlighted(index: number) {\r\n return index == 0 || (index + 1) % 14 == 0;\r\n }\r\n}\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./SearchModal.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./SearchModal.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SearchModal.vue?vue&type=template&id=e79f80ac&scoped=true&\"\nimport script from \"./SearchModal.ts?vue&type=script&lang=ts&\"\nexport * from \"./SearchModal.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./SearchModal.vue?vue&type=style&index=0&id=e79f80ac&lang=scss&scoped=true&\"\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 \"e79f80ac\",\n null\n \n)\n\nexport default component.exports","import { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport SearchModal from \"./SearchModal.vue\";\r\n\r\n@Component({\r\n components : {\r\n SearchModal,\r\n },\r\n})\r\nexport default class SearchB2c extends Vue {\r\n @Prop()\r\n protected searchPageUrl!: string;\r\n private modalOpen : boolean = false;\r\n public translations: any;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__litium.translation;\r\n }\r\n\r\n toggleSearchModal() {\r\n this.modalOpen = !this.modalOpen;\r\n\r\n const body = document.querySelector('body');\r\n const html = document.querySelector('html'); \r\n body.classList.toggle('search-modal-open');\r\n html.classList.toggle('search-modal-open');\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./SearchB2C.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./SearchB2C.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SearchB2C.vue?vue&type=template&id=47657802&\"\nimport script from \"./SearchB2C.ts?vue&type=script&lang=ts&\"\nexport * from \"./SearchB2C.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:\"container-padding spare-part-shop\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"spare-part-shop__heading col-xs-12 col-md-5 col-lg-12 \"},[_c('h1',[_vm._v(\" \"+_vm._s(_vm.translations['sparepartshop.sparepartsaccessories'])+\" \")])])]),_c('div',{staticClass:\"spare-part-shop__introduction-container\"},[_c('div',{staticClass:\"spare-part-shop__introduction col-xs-12 col-md-8\"},[_c('div',{staticClass:\"spare-part-shop__introduction-text\",domProps:{\"innerHTML\":_vm._s(_vm.translations['sparepartshop.introductiontext'])}}),_c('search-panel',{attrs:{\"searchSparePartsFromUrl\":_vm.sparePartFilter.searchSpareparts,\"searchTermFromUrl\":_vm.sparePartFilter.searchTerm,\"selectedFilterSparePartByTypeFromUrl\":_vm.sparePartFilter.selectedFilterSparePartByType,\"selectedFilterSparePartByCommonProblemFromUrl\":_vm.sparePartFilter.selectedFilterSparePartByCommonProblem,\"selectedQueryStringLoad\":_vm.queryStringLoad},on:{\"getSearchResult\":_vm.handleSearchResult,\"getClearSearchResult\":_vm.clearSearchResult,\"setSparePartFilter\":_vm.setSparePartFilter,\"getClearSparePartFilter\":_vm.clearSparePartFilter}})],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-xs-12 col-md-5 col-lg-12\"},[(_vm.noSearchResults)?_c('h2',[_vm._v(\" \"+_vm._s(_vm.translations['search.noresult'])+\" \")]):_vm._e()])]),(_vm.products.length > 0)?_c('div',{staticClass:\"product-page__product-list\"},[_c('div',[(!_vm.showSparePartTile)?_c('h2',[_vm._v(_vm._s(_vm.translations['sparepartshop.isthisyourproduct'])+\" \")]):_c('h2',[_vm._v(_vm._s(_vm.translations['sparepartshop.spareparts'])+\" \")])]),_c('div',{staticClass:\"row\"},_vm._l((_vm.products),function(item,index){return _c('div',{key:index,staticClass:\"product-page__product-list__column\"},[(_vm.showSparePartTile)?_c('spare-part-tile',{attrs:{\"product\":item}}):_c('select-product-tile',{attrs:{\"product\":item},on:{\"showSparePartsForSelectedVariant\":_vm.loadSparePartsForSelectedVariant}})],1)}),0)]):_vm._e(),(_vm.sparePartFilter.selectedVariantId!='')?_c('div',{attrs:{\"id\":\"product-spare-parts\"}},[(_vm.selectedProductNameInternal.length > 0)?_c('div',{staticClass:\"row product-page__product-list\"},[_c('h2',[_vm._v(_vm._s(_vm.translations['sparepartshop.suitablesparepartsfor'])+\" \"+_vm._s(_vm.selectedProductName))]),_c('div',{staticClass:\"col-xs-12 col-md-6 col-lg-6\"},[_c('div',{staticClass:\"spare-part-shop__filter-header\"},[_vm._v(\" \"+_vm._s(_vm.translations['sparepartshop.sparepartstypes']))]),_c('ul',{staticClass:\"spare-part-shop__spare-type-list\"},_vm._l((_vm.sparePartsTypesFilter),function(sparePartsType,index){return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showFilterItemBasedOnCategoryId(sparePartsType.categorySystemId)),expression:\"showFilterItemBasedOnCategoryId(sparePartsType.categorySystemId)\"}],key:index,class:{'selected':sparePartsType.name===_vm.selectedFilterText},attrs:{\"value\":sparePartsType.name}},[_c('a',{on:{\"click\":function($event){return _vm.loadSparePartsForSelectedVariant('',sparePartsType.categorySystemId, sparePartsType.name, false)}}},[_vm._v(\" \"+_vm._s(sparePartsType.name)+\" \")])])}),0)]),_c('div',{staticClass:\"col-xs-12 col-md-6 col-lg-6\"},[_c('div',{staticClass:\"spare-part-shop__filter-header\"},[_vm._v(\" \"+_vm._s(_vm.translations['sparepartshop.commonproblems']))]),_c('ul',{staticClass:\"spare-part-shop__common-problem-list\"},_vm._l((_vm.commonProblemsFilter),function(commonProblem,index){return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showFilterItemBasedOnCategoryId(commonProblem.categorySystemId)),expression:\"showFilterItemBasedOnCategoryId(commonProblem.categorySystemId)\"}],key:index,class:{'selected':commonProblem.name===_vm.selectedFilterText},attrs:{\"value\":commonProblem.name}},[_c('a',{on:{\"click\":function($event){return _vm.loadSparePartsForSelectedVariant('',commonProblem.categorySystemId, commonProblem.name, true)}}},[_vm._v(\" \"+_vm._s(commonProblem.name)+\" \")]),(commonProblem.text!=null && commonProblem.text.length>0)?_c('a',{staticClass:\"info\",on:{\"click\":function($event){return _vm.showToolTip(commonProblem.categorySystemId)},\"mouseover\":function($event){return _vm.showToolTip(commonProblem.categorySystemId)},\"mouseleave\":function($event){return _vm.hideAllToolTip()}}},[_vm._v(\"i\")]):_vm._e(),_c('ul',{staticClass:\"tool-tip\",attrs:{\"id\":commonProblem.categorySystemId}},[_c('li',{domProps:{\"innerHTML\":_vm._s(commonProblem.text)}})])])}),0)]),(_vm.productSpareParts.length > 0)?_c('div',{staticClass:\"row\",staticStyle:{\"margin-top\":\"15px\"}},_vm._l((_vm.productSpareParts),function(item,index){return _c('div',{key:index,staticClass:\"product-page__product-list__column\"},[_c('spare-part-tile',{attrs:{\"product\":item}})],1)}),0):_vm._e()]):_vm._e()]):_vm._e(),(_vm.spareParts.length > 0 && _vm.selectedProductNameInternal.length <= 0)?_c('div',{staticClass:\"product-page__product-list\"},[_c('div',{staticClass:\"row\",staticStyle:{\"grid-auto-rows\":\"auto\"}},[_c('h2',[_vm._v(_vm._s(_vm.translations['sparepartshop.spareparts']))])]),_c('div',{staticClass:\"row\"},_vm._l((_vm.spareParts),function(item,index){return _c('div',{key:index,staticClass:\"product-page__product-list__column\",class:{'Content': item.content.desktopImage != null}},[_c('spare-part-tile',{attrs:{\"product\":item}})],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:\"spare-part-shop__search-container\"},[_c('h1',{staticClass:\"search-panel-heading\"},[_vm._v(\" \"+_vm._s(_vm.translations['sparepartshop.search']))]),_c('div',{staticClass:\"row spare-part-shop__search-wrapper\"},[_c('div',{staticClass:\"col-xs-12 col-md-12 col-lg-12 spare-part-shop__input-container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-xs-12\"},[_c('ul',{staticClass:\"spare-part-shop__spare-search-button-list\"},[_c('li',{class:{'selected':_vm.productType==='product'},on:{\"click\":function($event){_vm.itemClicked('product',_vm.translations['sparepartshop.myproduct']);_vm.search();}}},[_c('a',[_vm._v(_vm._s(_vm.translations['sparepartshop.searchproduct']))])]),_c('li',{class:{'selected':_vm.productType==='sparepart'},on:{\"click\":function($event){_vm.itemClicked('sparepart',_vm.translations['sparepartshop.sparepartsoraccessories']);_vm.search();}}},[_c('a',[_vm._v(_vm._s(_vm.translations['sparepartshop.searchsparepart']))])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-xs-12 col-md-9 col-lg-9\"},[_c('div',{staticClass:\"row search-row\"},[_c('div',{staticClass:\"search-input-div\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTerm),expression:\"searchTerm\"}],staticClass:\"search-input\",attrs:{\"id\":\"Search\",\"name\":\"Search\",\"type\":\"search\",\"placeholder\":_vm.productType=='product' ? _vm.translations['sparepartshop.searchpanelplaceholdertextproduct'] : _vm.translations['sparepartshop.searchpanelplaceholdertextsparepart']},domProps:{\"value\":(_vm.searchTerm)},on:{\"keyup\":_vm.search,\"input\":function($event){if($event.target.composing){ return; }_vm.searchTerm=$event.target.value}}})])])])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isSearching),expression:\"isSearching\"}],staticClass:\"search-modal__sparepart-loader-container\"},[_c('div',{staticClass:\"sparepart-loader\"})]),(_vm.searchTabActive === false)?_c('div',{staticClass:\"col-xs-12 col-md-6 col-lg-6\"},[(_vm.sparePartsTypes!=null && _vm.sparePartsTypes.length>0)?_c('div',{staticClass:\"spare-part-shop__filter-header\"},[_vm._v(_vm._s(_vm.translations['sparepartshop.sparepartstypes'])+\" \")]):_vm._e(),_c('ul',{staticClass:\"spare-part-shop__spare-type-list\"},_vm._l((_vm.sparePartsTypes),function(sparePartsType,index){return _c('li',{key:index,class:{'selected':sparePartsType.categorySystemId===_vm.selectedFilterSparePartByType},attrs:{\"value\":sparePartsType.name}},[_c('a',{on:{\"click\":function($event){return _vm.searchBySparePartType(sparePartsType.categorySystemId)}}},[_vm._v(_vm._s(sparePartsType.name))])])}),0)]):_vm._e(),(_vm.searchTabActive === false)?_c('div',{staticClass:\"col-xs-12 col-md-6 col-lg-6\"},[(_vm.commonProblems!=null && _vm.commonProblems.length>0)?_c('div',{staticClass:\"spare-part-shop__filter-header\"},[_vm._v(_vm._s(_vm.translations['sparepartshop.commonproblems'])+\" \")]):_vm._e(),_c('ul',{staticClass:\"spare-part-shop__common-problem-list\"},_vm._l((_vm.commonProblems),function(commonProblem,index){return _c('li',{key:index,class:{'selected':commonProblem.categorySystemId===_vm.selectedFilterSparePartByCommonProblem},attrs:{\"value\":commonProblem.name}},[_c('a',{on:{\"click\":function($event){return _vm.searchBySparePartCommonProblem(commonProblem.categorySystemId)}}},[_vm._v(_vm._s(commonProblem.name))]),(commonProblem.text!=null && commonProblem.text.length>0)?_c('a',{staticClass:\"info\",on:{\"click\":function($event){return _vm.showToolTip(commonProblem.categorySystemId)},\"mouseover\":function($event){return _vm.showToolTip(commonProblem.categorySystemId)},\"mouseleave\":function($event){return _vm.hideAllToolTip()}}},[_vm._v(\"i\")]):_vm._e(),_c('ul',{staticClass:\"tool-tip\",attrs:{\"id\":commonProblem.categorySystemId}},[_c('li',{domProps:{\"innerHTML\":_vm._s(commonProblem.text)}})])])}),0)]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Watch, Prop } from \"vue-property-decorator\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\nimport { SearchSparePartResult } from \"@/models/tapwell/Product\";\r\nimport { Guid } from \"guid-typescript\";\r\n@Component\r\nexport default class SearchPanel extends Vue {\r\n public translations: any;\r\n private searchTabActive: boolean = false;\r\n \r\n @Prop()\r\n public searchTermFromUrl!: string;\r\n @Prop()\r\n public searchSparePartsFromUrl!: boolean;\r\n @Prop()\r\n public selectedFilterSparePartByTypeFromUrl!: Guid;\r\n @Prop()\r\n public selectedFilterSparePartByCommonProblemFromUrl!: Guid;\r\n @Prop()\r\n public selectedQueryStringLoad!: boolean;\r\n private searchTerm: string = \"\";\r\n\r\n private isSearching: boolean = false;\r\n\r\n private sparePartsTypes: any = [];\r\n private commonProblems: any = [];\r\n\tprivate showMenu: boolean=false;\r\n private selectedFilterSparePartByType: Guid = Guid.createEmpty();\r\n private selectedFilterSparePartByCommonProblem: Guid = Guid.createEmpty();\r\n private productType: string = \"product\";\r\n private selectedTypeText: string = \"\";\r\n\tprivate searchSpareparts: boolean=false;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__litium.translation;\r\n this.selectedTypeText = this.translations[\"sparepartshop.myproduct\"];\r\n }\r\n\r\n @Watch(\"searchTerm\")\r\n public termsChanged(newTerm: string, oldValue: string) {\r\n this.searchTerm=newTerm;\r\n this.searchTabActive = true;\r\n if (newTerm.length == 0) {\r\n this.$emit('getClearSearchResult');\r\n this.$emit('getClearSparePartFilter');\r\n this.searchTabActive = false;\r\n return;\r\n } else if (newTerm.length < 3) {\r\n return;\r\n }\r\n if (this.isSearching) {\r\n return;\r\n }\r\n }\r\n\r\n search(event: Event) {\r\n this.searchTabActive = true;\r\n var term = this.searchTerm;\r\n\r\n if (term.length == 0) {\r\n this.$emit('getClearSearchResult');\r\n this.$emit('getClearSparePartFilter');\r\n this.searchTabActive = false;\r\n return;\r\n }\r\n if (term.length < 3) {\r\n return;\r\n }\r\n \r\n if (this.isSearching) {\r\n return;\r\n }\r\n \r\n sessionStorage.setItem('spare-parts-search-term', this.searchTerm);\r\n sessionStorage.setItem('spare-parts-selected-variant', '');\r\n this.isSearching = true;\r\n\r\n if(this.productType==\"sparepart\") {\r\n this.searchSpareparts = true;\r\n } else {\r\n this.searchSpareparts = false;\r\n }\r\n\r\n this.$emit(\"setSparePartFilter\", this.searchSpareparts, this.searchTerm,Guid.createEmpty(),Guid.createEmpty(),'');\r\n\r\n ApiService.searchSpareParts(this.searchTerm,this.searchSpareparts).then((response) => {\r\n if (response && response.data) {\r\n this.handleSearchResult(response.data);\r\n }\r\n else\r\n {\r\n this.isSearching = false;\r\n }\r\n });\r\n }\r\n\r\n toggleShow() {\r\n this.showMenu = !this.showMenu;\r\n }\r\n\r\n itemClicked (item,text) {\r\n this.toggleShow();\r\n this.productType=item; \r\n this.selectedTypeText=text;\r\n }\r\n\r\n handleSearchResult(data: SearchSparePartResult) {\r\n this.$emit('getSearchResult', data, this.productType);\r\n this.isSearching = false;\r\n }\r\n\r\n loadSparePartsTypes(){\r\n ApiService.getSparePartsType().then((response) => {\r\n if (response && response.data) {\r\n this.sparePartsTypes = response.data;\r\n }\r\n });\r\n }\r\n\r\n loadCommonProblems(){\r\n ApiService.getCommonProblems().then((response) => {\r\n if (response && response.data) {\r\n this.commonProblems = response.data;\r\n }\r\n });\r\n }\r\n\r\n searchBySparePartType(selectedSparePartTypeCategoryId:Guid){\r\n this.isSearching = true;\r\n this.searchTerm = '';\r\n sessionStorage.setItem('spare-parts-search-term', this.searchTerm);\r\n this.searchTabActive = false;\r\n this.selectedFilterSparePartByCommonProblem = Guid.createEmpty();\r\n\r\n if(this.selectedQueryStringLoad){\r\n this.selectedFilterSparePartByType = selectedSparePartTypeCategoryId;\r\n }\r\n else{\r\n if(this.selectedFilterSparePartByType === selectedSparePartTypeCategoryId){\r\n this.selectedFilterSparePartByType = Guid.createEmpty();\r\n }\r\n else{\r\n this.selectedFilterSparePartByType = selectedSparePartTypeCategoryId;\r\n }\r\n }\r\n\r\n this.$emit(\"setSparePartFilter\", this.searchSpareparts, this.searchTerm,this.selectedFilterSparePartByType,this.selectedFilterSparePartByCommonProblem,'');\r\n\r\n if(!this.selectedFilterSparePartByType.isEmpty){\r\n ApiService.searchSparePartsByType(this.selectedFilterSparePartByType).then((response) => {\r\n if (response && response.data) {\r\n this.handleSearchResult(response.data);\r\n }\r\n });\r\n }\r\n else{\r\n this.$emit('getClearSearchResult');\r\n this.isSearching=false;\r\n }\r\n }\r\n\r\n searchBySparePartCommonProblem(selectedSparePartTypeCommonProblemId:Guid){\r\n this.isSearching = true;\r\n this.searchTerm = '';\r\n sessionStorage.setItem('spare-parts-search-term', this.searchTerm);\r\n this.searchTabActive = false;\r\n this.selectedFilterSparePartByType = Guid.createEmpty();\r\n\r\n if(this.selectedQueryStringLoad){\r\n this.selectedFilterSparePartByCommonProblem = selectedSparePartTypeCommonProblemId;\r\n }\r\n else{\r\n if(this.selectedFilterSparePartByCommonProblem === selectedSparePartTypeCommonProblemId){\r\n this.selectedFilterSparePartByCommonProblem = Guid.createEmpty();\r\n }\r\n else{\r\n this.selectedFilterSparePartByCommonProblem = selectedSparePartTypeCommonProblemId;\r\n }\r\n }\r\n\r\n this.$emit(\"setSparePartFilter\", this.searchSpareparts, this.searchTerm,this.selectedFilterSparePartByType,this.selectedFilterSparePartByCommonProblem,'');\r\n\r\n if(!this.selectedFilterSparePartByCommonProblem.isEmpty){\r\n ApiService.searchSparePartsByType(this.selectedFilterSparePartByCommonProblem).then((response) => {\r\n if (response && response.data) {\r\n this.handleSearchResult(response.data);\r\n }\r\n });\r\n }\r\n else{\r\n this.$emit('getClearSearchResult');\r\n this.isSearching=false;\r\n }\r\n }\r\n\r\n showToolTip(id){\r\n this.hideAllToolTip();\r\n\r\n var toolTip = document.getElementById(id) ;\r\n if(toolTip){\r\n (toolTip).style.display = 'block';\r\n }\r\n }\r\n\r\n hideAllToolTip(){\r\n var toolTips = document.getElementsByClassName('tool-tip');\r\n if (toolTips && toolTips.length > 0){\r\n for(var i=0; i < toolTips.length; i++){\r\n (toolTips[i]).style.display = \"none\";\r\n }\r\n } \r\n }\r\n\r\n mounted() {\r\n this.loadSparePartsTypes();\r\n this.loadCommonProblems();\r\n }\r\n \r\n created(){\r\n\r\n this.searchTerm = this.searchTermFromUrl;\r\n this.searchSpareparts = this.searchSparePartsFromUrl;\r\n this.searchTabActive = true;\r\n\r\n if (this.searchTerm.length == 0) {\r\n this.searchTabActive = false;\r\n }\r\n \r\n sessionStorage.setItem('spare-parts-search-term', this.searchTerm);\r\n sessionStorage.setItem('spare-parts-selected-variant', '');\r\n this.isSearching = true;\r\n if(this.searchSpareparts && this.searchSpareparts==true){\r\n\r\n this.productType=\"sparepart\"; \r\n this.selectedTypeText=this.translations[\"sparepartshop.sparepartsoraccessories\"];\r\n }\r\n else{\r\n this.productType=\"product\"; \r\n this.selectedTypeText=this.translations[\"sparepartshop.myproduct\"];\r\n }\r\n\r\n if(this.searchTerm!=''){\r\n ApiService.searchSpareParts(this.searchTerm,this.searchSpareparts).then((response) => {\r\n if (response && response.data) {\r\n this.handleSearchResult(response.data);\r\n }\r\n else\r\n {\r\n this.isSearching = false;\r\n }\r\n });\r\n }\r\n else if(!this.selectedFilterSparePartByTypeFromUrl.isEmpty){\r\n this.searchBySparePartType(this.selectedFilterSparePartByTypeFromUrl);\r\n }\r\n else if(!this.selectedFilterSparePartByCommonProblemFromUrl.isEmpty)\r\n {\r\n this.searchBySparePartCommonProblem(this.selectedFilterSparePartByCommonProblemFromUrl);\r\n }\r\n else{\r\n this.isSearching = false;\r\n }\r\n }\r\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./SearchPanel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./SearchPanel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SearchPanel.vue?vue&type=template&id=dfaa8ede&scoped=true&\"\nimport script from \"./SearchPanel.ts?vue&type=script&lang=ts&\"\nexport * from \"./SearchPanel.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./SearchPanel.vue?vue&type=style&index=0&id=dfaa8ede&lang=scss&scoped=true&\"\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 \"dfaa8ede\",\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('a',{staticClass:\"product-page__product__img\",class:{'product-page__product__img--highlight': _vm.product.productImageOverrideDesktopUrl != ''},attrs:{\"href\":_vm.selectedVariant.url}},[_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.thumb),expression:\"thumb\",arg:\"background-image\"}],staticClass:\"product-page__product__img__regular\",attrs:{\"alt\":_vm.selectedVariant.name}}),(_vm.product.productImageOverrideDesktopUrl)?_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.product.productImageOverrideDesktopUrl),expression:\"product.productImageOverrideDesktopUrl\",arg:\"background-image\"}],class:{'hide-mobile': _vm.product.productImageOverrideMobileUrl != ''},attrs:{\"alt\":_vm.selectedVariant.name}}):_vm._e(),(_vm.product.productImageOverrideMobileUrl)?_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.product.productImageOverrideMobileUrl),expression:\"product.productImageOverrideMobileUrl\",arg:\"background-image\"}],staticClass:\"product-page__product__img__highlight--mobile\",attrs:{\"alt\":_vm.selectedVariant.name}}):_vm._e()]),_c('div',{staticClass:\"product-page__product__product-info\"},[_c('h5',{staticClass:\"product-page__product__category\"},[_vm._v(_vm._s(_vm.product.category))]),_c('h4',{on:{\"click\":function($event){return _vm.goToVariant(_vm.selectedVariant)}}},[_vm._v(_vm._s(_vm.selectedVariant.name))]),(_vm.product.relatedProducts.length > 0)?_c('div',[_c('h5',{staticClass:\"product-page__product__fits\"},[_vm._v(_vm._s(_vm.translations['sparepartshop.fits']))])]):_vm._e(),_c('ul',{staticClass:\"product-page__product__variants sparepart-fits \"},_vm._l((_vm.product.relatedProducts),function(relatedProduct,index){return _c('li',{key:index},[_c('a',{attrs:{\"href\":relatedProduct.url}},[_vm._v(\" \"+_vm._s(relatedProduct.productName))])])}),0),(_vm.product.variants!=null && _vm.product.variants.length>1)?_c('div',[_c('h5',{staticClass:\"product-page__product__select-variant\"},[_vm._v(_vm._s(_vm.translations['sparepartshop.selectvariant']))])]):_vm._e(),_c('ul',{staticClass:\"product-page__product__variants variant-picker \"},_vm._l((_vm.product.variants),function(variant,index){return _c('li',{key:index},[_c('a',{class:{ selected: _vm.selectedVariant.id == variant.id },attrs:{\"data-tooltip\":variant.colorName},on:{\"click\":function($event){return _vm.select(variant)}}},[_vm._v(_vm._s(variant.color))])])}),0),_c('div',[(!_vm.isDiscontinued)?_c('p',[_vm._v(_vm._s(_vm.selectedVariant.displayDiscountPrice))]):_vm._e(),(!_vm.isDiscontinued)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.shopenabled),expression:\"shopenabled\"}],staticClass:\"product-page__product__add\"},[_c('div',{staticClass:\"product-page__amount-picker quantity-picker__container\"},[_c('a',{on:{\"click\":_vm.decreaseAmount}},[_c('span',[_vm._v(\"—\")])]),_c('span',{staticClass:\"quantity-picker__quantity\"},[_vm._v(_vm._s(_vm.selectedVariant.quantity))]),_c('a',{on:{\"click\":_vm.increaseAmount}},[_c('span',[_vm._v(\"+\")])])]),_c('a',{staticClass:\"product-page__product__add-btn\",on:{\"click\":function($event){return _vm.addToCart(true)}}},[_vm._v(\" \"+_vm._s(_vm.translations[\"product.buy\"])+\" \")])]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component } from \"vue-property-decorator\";\r\nimport { Product, Variant } from \"@/models/tapwell/Product\";\r\nimport ProductTile from \"../Product/ProductTile\";\r\n\r\n@Component\r\nexport default class SparePartTile extends ProductTile {\r\n requestContext: any;\r\n\r\n constructor() {\r\n super();\r\n\r\n this.requestContext = window.__litium.requestContext;\r\n }\r\n\r\n get shopenabled(): boolean {\r\n if(this.requestContext.enableEcommerce==='on')\r\n {\r\n return true;\r\n }\r\n\r\n if (this.requestContext.enableEcommerce==='sparePartOnly' && this.product.isSparePart) {\r\n return true;\r\n }\r\n\r\n return false;\r\n } \r\n\r\n get productIsTall(): boolean {\r\n return this.product.highlight === 'Tall';\r\n }\r\n\r\n get thumb(): string {\r\n if (this.productIsTall) {\r\n return this.image;\r\n }\r\n\r\n if (this.selectedVariant.thumbs && this.selectedVariant.thumbs.length > 0) {\r\n return this.selectedVariant.thumbs[0];\r\n }\r\n return \"\";\r\n }\r\n\r\n public goToVariant(variant: Variant) :void {\r\n document.location.href = variant.url;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./SparePartTile.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./SparePartTile.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SparePartTile.vue?vue&type=template&id=246489a9&scoped=true&\"\nimport script from \"./SparePartTile.ts?vue&type=script&lang=ts&\"\nexport * from \"./SparePartTile.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./SparePartTile.vue?vue&type=style&index=0&id=246489a9&lang=scss&scoped=true&\"\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 \"246489a9\",\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:{'active-variant': _vm.isActiveVariant}},[_c('a',{directives:[{name:\"scroll-to\",rawName:\"v-scroll-to\",value:({ element: '#product-spare-parts' }),expression:\"{ element: '#product-spare-parts' }\"}],staticClass:\"product-page__product__img\",class:{'product-page__product__img--highlight': _vm.product.productImageOverrideDesktopUrl != ''},on:{\"click\":_vm.showSpareParts}},[_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.thumb),expression:\"thumb\",arg:\"background-image\"}],staticClass:\"product-page__product__img__regular\",attrs:{\"alt\":_vm.selectedVariant.name}}),(_vm.product.productImageOverrideDesktopUrl)?_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.product.productImageOverrideDesktopUrl),expression:\"product.productImageOverrideDesktopUrl\",arg:\"background-image\"}],class:{'hide-mobile': _vm.product.productImageOverrideMobileUrl != ''},attrs:{\"alt\":_vm.selectedVariant.name}}):_vm._e(),(_vm.product.productImageOverrideMobileUrl)?_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.product.productImageOverrideMobileUrl),expression:\"product.productImageOverrideMobileUrl\",arg:\"background-image\"}],staticClass:\"product-page__product__img__highlight--mobile\",attrs:{\"alt\":_vm.selectedVariant.name}}):_vm._e()]),_c('div',{staticClass:\"product-page__product__product-info\"},[_c('a',{directives:[{name:\"scroll-to\",rawName:\"v-scroll-to\",value:({ element: '#product-spare-parts' }),expression:\"{ element: '#product-spare-parts' }\"}],class:{'select-label': !_vm.isActiveVariant, 'selected-label': _vm.isActiveVariant},on:{\"click\":_vm.showSpareParts}},[_vm._v(_vm._s(_vm.isActiveVariant ? _vm.translations['sparepartshoptile.pickedproduct'] : _vm.translations['sparepartshoptile.selectproduct']))]),_c('h5',{staticClass:\"product-page__product__category\"},[_vm._v(_vm._s(_vm.product.category))]),_c('h4',[_vm._v(_vm._s(_vm.product.name))]),(_vm.hasMultipleVariants)?_c('span',[_vm._v(_vm._s(_vm.translations['sparepartshoptile.hasmultiplevarianttext']))]):_vm._e(),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":_vm.selectedVariant.url}},[_vm._v(_vm._s(_vm.translations['sparepartshoptile.readmoreaboutproduct']))])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop } from \"vue-property-decorator\";\r\nimport ProductTile from \"../Product/ProductTile\";\r\nimport { SparePartShopStore } from \"@/store/tapwell/sparepartshopstate\";\r\nimport { Guid } from \"guid-typescript\";\r\n\r\n@Component\r\nexport default class SelectProductTile extends ProductTile {\r\n \r\n requestContext: any;\r\n\r\n constructor() {\r\n super();\r\n\r\n this.requestContext = window.__litium.requestContext;\r\n }\r\n\r\n get productIsTall(): boolean {\r\n return this.product.highlight === 'Tall';\r\n }\r\n\r\n get thumb(): string {\r\n if (this.productIsTall) {\r\n return this.image;\r\n }\r\n\r\n if (this.selectedVariant.thumbs && this.selectedVariant.thumbs.length > 0) {\r\n return this.selectedVariant.thumbs[0];\r\n }\r\n return \"\";\r\n }\r\n\r\n get hasMultipleVariants() {\r\n return this.product.variants.length > 1;\r\n }\r\n\r\n get isActiveVariant() {\r\n return SparePartShopStore.selectedVariantId == this.selectedVariant.id;\r\n }\r\n\r\n showSpareParts() {\r\n sessionStorage.setItem('spare-parts-selected-variant', this.selectedVariant.id);\r\n this.$emit('showSparePartsForSelectedVariant', this.selectedVariant.id, Guid.createEmpty());\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./SelectProductTile.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./SelectProductTile.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SelectProductTile.vue?vue&type=template&id=7e345730&scoped=true&\"\nimport script from \"./SelectProductTile.ts?vue&type=script&lang=ts&\"\nexport * from \"./SelectProductTile.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./SelectProductTile.vue?vue&type=style&index=0&id=7e345730&lang=scss&scoped=true&\"\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 \"7e345730\",\n null\n \n)\n\nexport default component.exports","import { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport SearchPanel from \"./SearchPanel.vue\";\r\nimport SparePartTile from \"./SparePartTile.vue\";\r\nimport SelectProductTile from \"./SelectProductTile.vue\";\r\nimport { SearchSparePartResult, Product } from \"@/models/tapwell/Product\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\nimport { SparePartShopStore } from \"@/store/tapwell/sparepartshopstate\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { SparePartFilter,UnfilteredSparePartsForSelectedVariant } from \"@/models/tapwell/SparePartFilter\";\r\nimport queryString from \"query-string\";\r\n@Component({\r\n components : {\r\n SearchPanel,\r\n SparePartTile,\r\n SelectProductTile\r\n },\r\n})\r\nexport default class SparePartShop extends Vue {\r\n public translations: any;\r\n \r\n private products: Product[] = [];\r\n private spareParts: Product[] = [];\r\n private productSpareParts: Product[] = [];\r\n private selectedProductName!: string;\r\n private sparePartsTypesFilter: any = [];\r\n private commonProblemsFilter: any = [];\r\n private selectedFilterSparePartByType: Guid = Guid.createEmpty();\r\n private selectedProductNameInternal: string='';\r\n private showSparePartTile: boolean = false;\r\n private noSearchResults: boolean = false;\r\n private queryStringLoad: boolean = true;\r\n private selectedFilterText: string='';\r\n private sparePartFilter:SparePartFilter =\r\n { \r\n searchSpareparts:false,\r\n searchTerm: '',\r\n selectedFilterSparePartByType: Guid.createEmpty(),\r\n selectedFilterSparePartByCommonProblem: Guid.createEmpty(),\r\n selectedVariantId:''\r\n };\r\n\r\n private unfilteredSparePartsForSelectedVariant: UnfilteredSparePartsForSelectedVariant={\r\n selectedVariantId : '',\r\n sparePartsForSelectedVariant:[] \r\n }\r\n constructor() {\r\n super();\r\n this.translations = window.__litium.translation;\r\n }\r\n\r\n handleSearchResult(data: SearchSparePartResult, productType: string) {\r\n\r\n if(productType==\"sparepart\") {\r\n this.showSparePartTile = true;\r\n } else {\r\n this.showSparePartTile = false;\r\n }\r\n\r\n this.products = data.products;\r\n this.spareParts = data.spareParts;\r\n\r\n if (this.products.length == 0 && this.spareParts.length == 0) {\r\n this.noSearchResults = true;\r\n } else {\r\n this.noSearchResults = false;\r\n }\r\n }\r\n\r\n loadSparePartsForSelectedVariant(id: string, sparePartTypeFilter: Guid, selectedFilter:string, isCommonProblemFiltering:boolean) {\r\n this.spareParts =[];\r\n this.selectedFilterText = selectedFilter;\r\n if(!sparePartTypeFilter.isEmpty && id==''){\r\n id = SparePartShopStore.selectedVariantId;\r\n }\r\n \r\n SparePartShopStore.saveSelectedVariantId(id);\r\n this.sparePartFilter.selectedVariantId = id;\r\n var filterId=Guid.createEmpty();\r\n if(isCommonProblemFiltering){\r\n if(this.queryStringLoad){\r\n filterId= sparePartTypeFilter;\r\n this.sparePartFilter.selectedFilterSparePartByCommonProblem = sparePartTypeFilter;\r\n }\r\n else if(this.sparePartFilter.selectedFilterSparePartByCommonProblem==sparePartTypeFilter)\r\n {\r\n this.sparePartFilter.selectedFilterSparePartByCommonProblem=Guid.createEmpty();\r\n this.selectedFilterText = '';\r\n }\r\n else\r\n {\r\n filterId= sparePartTypeFilter;\r\n this.sparePartFilter.selectedFilterSparePartByCommonProblem = sparePartTypeFilter;\r\n }\r\n\r\n this.sparePartFilter.selectedFilterSparePartByType = Guid.createEmpty();\r\n }\r\n else{\r\n if(this.queryStringLoad){\r\n filterId= sparePartTypeFilter;\r\n this.sparePartFilter.selectedFilterSparePartByType = sparePartTypeFilter;\r\n }\r\n else if(this.sparePartFilter.selectedFilterSparePartByType==sparePartTypeFilter)\r\n {\r\n this.sparePartFilter.selectedFilterSparePartByType=Guid.createEmpty();\r\n this.selectedFilterText = '';\r\n }\r\n else\r\n {\r\n filterId= sparePartTypeFilter;\r\n this.sparePartFilter.selectedFilterSparePartByType = sparePartTypeFilter;\r\n }\r\n\r\n this.sparePartFilter.selectedFilterSparePartByCommonProblem = Guid.createEmpty();\r\n }\r\n\r\n this.generatePermaLink();\r\n\r\n if(this.unfilteredSparePartsForSelectedVariant.selectedVariantId!=id){\r\n ApiService.getProductSpareParts(id, Guid.createEmpty()).then((response) => {\r\n if (response && response.data) {\r\n this.unfilteredSparePartsForSelectedVariant.selectedVariantId = id;\r\n this.unfilteredSparePartsForSelectedVariant.sparePartsForSelectedVariant = response.data.spareParts;\r\n }\r\n });\r\n }\r\n\r\n ApiService.getProductSpareParts(id, filterId).then((response) => {\r\n if (response && response.data) {\r\n this.productSpareParts = response.data.spareParts;\r\n this.selectedProductName = response.data.selectedProductName; \r\n this.selectedProductNameInternal= response.data.selectedProductName; \r\n }\r\n });\r\n }\r\n\r\n clearSearchResult() {\r\n this.products = [];\r\n this.spareParts = [];\r\n this.productSpareParts = [];\r\n this.selectedProductName = '';\r\n this.selectedProductNameInternal= '';\r\n sessionStorage.setItem('spare-parts-search-term', '');\r\n sessionStorage.setItem('spare-parts-selected-variant', '');\r\n SparePartShopStore.saveSelectedVariantId('');\r\n\r\n this.generatePermaLink();\r\n }\r\n\r\n clearSparePartFilter(){\r\n this.sparePartFilter={ \r\n searchSpareparts:false,\r\n searchTerm: '',\r\n selectedFilterSparePartByType: Guid.createEmpty(),\r\n selectedFilterSparePartByCommonProblem: Guid.createEmpty(),\r\n selectedVariantId:''\r\n };\r\n \r\n this.generatePermaLink();\r\n }\r\n \r\n loadSparePartsTypes(){\r\n ApiService.getSparePartsType().then((response) => {\r\n if (response && response.data) {\r\n this.sparePartsTypesFilter = response.data;\r\n\r\n if(!this.sparePartFilter.selectedFilterSparePartByType.isEmpty)\r\n {\r\n if(this.sparePartsTypesFilter && this.sparePartsTypesFilter.length>0)\r\n {\r\n var x = this.sparePartsTypesFilter.find(y=>y.categorySystemId==this.sparePartFilter.selectedFilterSparePartByType);\r\n if(x){\r\n this.selectedFilterText = x.name;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n loadCommonProblems(){\r\n ApiService.getCommonProblems().then((response) => {\r\n if (response && response.data) {\r\n this.commonProblemsFilter = response.data;\r\n\r\n if(!this.sparePartFilter.selectedFilterSparePartByCommonProblem.isEmpty){\r\n if(this.commonProblemsFilter && this.commonProblemsFilter.length>0)\r\n {\r\n var selectedCommonProblemsFilter = this.commonProblemsFilter.find(y=>y.categorySystemId==this.sparePartFilter.selectedFilterSparePartByCommonProblem);\r\n if(selectedCommonProblemsFilter){\r\n this.selectedFilterText = selectedCommonProblemsFilter.name;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n showFilterItemBasedOnCategoryId(categorySystemId){\r\n var showFilterItem = false;\r\n if(this.unfilteredSparePartsForSelectedVariant.sparePartsForSelectedVariant.length>0){\r\n var sparePart = this.unfilteredSparePartsForSelectedVariant.sparePartsForSelectedVariant.find(y=>y.categorySystemId==categorySystemId);\r\n showFilterItem = sparePart != undefined;\r\n }\r\n\r\n return showFilterItem;\r\n }\r\n\r\n showToolTip(id){\r\n this.hideAllToolTip();\r\n\r\n var toolTip = document.getElementById(id) ;\r\n if(toolTip){\r\n (toolTip).style.display = 'block';\r\n }\r\n }\r\n\r\n hideAllToolTip(){\r\n var toolTips = document.getElementsByClassName('tool-tip');\r\n if (toolTips && toolTips.length > 0){\r\n for(var i=0; i < toolTips.length; i++){\r\n (toolTips[i]).style.display = \"none\";\r\n }\r\n } \r\n }\r\n\r\n generatePermaLink(){\r\n var currentlocation = location.pathname+'?ssp='+ this.sparePartFilter.searchSpareparts;\r\n\r\n if(this.sparePartFilter.searchTerm && this.sparePartFilter.searchTerm!=''){\r\n currentlocation +=\"&q=\"+this.sparePartFilter.searchTerm\r\n }\r\n\r\n if(this.sparePartFilter.selectedFilterSparePartByType && !this.sparePartFilter.selectedFilterSparePartByType.isEmpty){\r\n currentlocation +=\"&spt=\"+this.sparePartFilter.selectedFilterSparePartByType;\r\n }\r\n\r\n if(this.sparePartFilter.selectedFilterSparePartByCommonProblem && !this.sparePartFilter.selectedFilterSparePartByCommonProblem.isEmpty){\r\n currentlocation +=\"&spc=\"+this.sparePartFilter.selectedFilterSparePartByCommonProblem;\r\n }\r\n\r\n if(this.sparePartFilter.selectedVariantId && this.sparePartFilter.selectedVariantId!=''){\r\n currentlocation +=\"&sv=\"+this.sparePartFilter.selectedVariantId;\r\n }\r\n \r\n window.history.pushState(null, \"\", currentlocation);\r\n }\r\n\r\n setSparePartFilter(searchSpareparts:boolean, searchTerm:string, selectedFilterSparePartByType:Guid, \r\n selectedFilterSparePartByCommonProblem:Guid, selectedVariantId:string){\r\n this.sparePartFilter.searchSpareparts = searchSpareparts;\r\n\r\n if(searchTerm){\r\n this.sparePartFilter.searchTerm = searchTerm;\r\n }\r\n\r\n if(selectedFilterSparePartByType){\r\n this.sparePartFilter.selectedFilterSparePartByType = selectedFilterSparePartByType;\r\n }\r\n\r\n if(selectedFilterSparePartByCommonProblem){\r\n this.sparePartFilter.selectedFilterSparePartByCommonProblem = selectedFilterSparePartByCommonProblem;\r\n }\r\n \r\n this.sparePartFilter.selectedVariantId = selectedVariantId;\r\n SparePartShopStore.saveSelectedVariantId(selectedVariantId);\r\n this.generatePermaLink();\r\n }\r\n\r\n public created(){\r\n window.onpopstate = function () {\r\n location.reload();\r\n };\r\n \r\n this.loadSparePartsTypes();\r\n this.loadCommonProblems();\r\n this.loadFromQueryString();\r\n this.queryStringLoad = false;\r\n }\r\n\r\n public loadFromQueryString(){\r\n this.sparePartFilter={ \r\n searchSpareparts:false,\r\n searchTerm: '',\r\n selectedFilterSparePartByType: Guid.createEmpty(),\r\n selectedFilterSparePartByCommonProblem: Guid.createEmpty(),\r\n selectedVariantId:''\r\n };\r\n\r\n var query = queryString.parse(location.search);\r\n if (query.ssp) {\r\n if(query.ssp.toLowerCase()==\"true\")\r\n this.sparePartFilter.searchSpareparts = true;\r\n else\r\n this.sparePartFilter.searchSpareparts = false;\r\n }\r\n\r\n if (query.q) {\r\n this.sparePartFilter.searchTerm = query.q;\r\n }\r\n \r\n if (query.spt) {\r\n this.sparePartFilter.selectedFilterSparePartByType = query.spt;\r\n }\r\n\r\n if (query.spc) {\r\n this.sparePartFilter.selectedFilterSparePartByCommonProblem = query.spc;\r\n }\r\n\r\n if (query.sv) {\r\n this.sparePartFilter.selectedVariantId = query.sv;\r\n }\r\n \r\n if(!this.sparePartFilter.selectedFilterSparePartByType.isEmpty)\r\n {\r\n if(this.sparePartsTypesFilter && this.sparePartsTypesFilter.length>0)\r\n {\r\n var x = this.sparePartsTypesFilter.find(y=>y.categorySystemId==this.sparePartFilter.selectedFilterSparePartByType);\r\n if(x){\r\n this.selectedFilterText = x.name;\r\n }\r\n }\r\n\r\n this.loadSparePartsForSelectedVariant(this.sparePartFilter.selectedVariantId, this.sparePartFilter.selectedFilterSparePartByType, this.selectedFilterText, false);\r\n }\r\n else if(!this.sparePartFilter.selectedFilterSparePartByCommonProblem.isEmpty){\r\n if(this.commonProblemsFilter && this.commonProblemsFilter.length>0)\r\n {\r\n var selectedCommonProblemsFilter = this.commonProblemsFilter.find(y=>y.categorySystemId==this.sparePartFilter.selectedFilterSparePartByType);\r\n if(selectedCommonProblemsFilter){\r\n this.selectedFilterText = selectedCommonProblemsFilter.name;\r\n }\r\n }\r\n \r\n this.loadSparePartsForSelectedVariant(this.sparePartFilter.selectedVariantId, this.sparePartFilter.selectedFilterSparePartByCommonProblem, this.selectedFilterText, true);\r\n }\r\n else{\r\n\r\n if(this.sparePartFilter.selectedVariantId!='')\r\n {\r\n this.loadSparePartsForSelectedVariant(this.sparePartFilter.selectedVariantId, Guid.createEmpty(), this.selectedFilterText, false);\r\n }\r\n }\r\n }\r\n} \r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./SparePartShop.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./SparePartShop.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SparePartShop.vue?vue&type=template&id=1b385b08&scoped=true&\"\nimport script from \"./SparePartShop.ts?vue&type=script&lang=ts&\"\nexport * from \"./SparePartShop.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./SparePartShop.vue?vue&type=style&index=0&id=1b385b08&lang=scss&scoped=true&\"\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 \"1b385b08\",\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:\"container-padding\"},[_c('div',{staticClass:\"customer-service\"},[_vm._l((_vm.customerservicemodel.customerServiceItems),function(row,index){return _c('div',{key:index},[_c('div',{staticClass:\"col-xs-12 button-type\",staticStyle:{\"background-color\":\"@item.ButtonColor\"},style:({ 'background-color': row.buttonColor })},[_c('button',{staticClass:\"button-happy\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.happyCustomerCall(index)}}}),_c('span',{staticStyle:{\"display\":\"inline-block\"}},[_vm._v(_vm._s(row.buttonText))]),_c('button',{staticClass:\"button-sad\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.sadCustomerCall(index)}}})])])}),_c('div',{staticClass:\"date-outer\"},[_c('div',{staticClass:\"report-dates\"},[_c('div',{staticClass:\"form-group date\"},[_c('label',[_vm._v(_vm._s(_vm.translations[\"customerservice.fromdate\"]))]),_c('date-picker',{attrs:{\"monday-first\":true,\"required\":true,\"use-utc\":true,\"language\":_vm.languages[_vm.currentLanguage],\"tabindex\":\"12\"},on:{\"selected\":_vm.changeFromDate},model:{value:(_vm.formattedSelectedfromDate),callback:function ($$v) {_vm.formattedSelectedfromDate=$$v},expression:\"formattedSelectedfromDate\"}})],1),_c('div',{staticClass:\"form-group date \"},[_c('label',[_vm._v(_vm._s(_vm.translations[\"customerservice.todate\"]))]),_c('date-picker',{attrs:{\"monday-first\":true,\"required\":true,\"use-utc\":true,\"language\":_vm.languages[_vm.currentLanguage],\"tabindex\":\"12\"},on:{\"selected\":_vm.changeToDate},model:{value:(_vm.formattedSelectedtoDate),callback:function ($$v) {_vm.formattedSelectedtoDate=$$v},expression:\"formattedSelectedtoDate\"}})],1),_c('span',{staticClass:\"download-report\",on:{\"click\":_vm.getCustomercallsReport}},[_vm._v(\" \"+_vm._s(_vm.translations[\"customerservice.exportexcel\"]))])])])],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport DatePicker from \"vuejs-datepicker\";\r\nimport { sv } from \"vuejs-datepicker/dist/locale\";\r\nimport { CustomerServiceModel, CustomerResponseModel } from \"@/models/tapwell/CustomerService\";\r\nimport { Spinner } from \"spin.js\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\n@Component({\r\n components: {\r\n DatePicker,\r\n },\r\n})\r\nexport default class CustomerServiceReport extends Vue {\r\n public translations: any;\r\n @Prop()\r\n protected viewmodel!: CustomerServiceModel;\r\n private viewmodelInternal!: CustomerServiceModel;\r\n protected spinner: Spinner;\r\n protected selectedFromDate: Date;\r\n protected selectedToDate: Date;\r\n get customerservicemodel(): CustomerServiceModel {\r\n return this.viewmodelInternal;\r\n }\r\n\r\n set customerservicemodel(value: CustomerServiceModel) {\r\n this.viewmodelInternal = value;\r\n }\r\n\r\n protected isMounted: boolean = false;\r\n\r\n protected languages: {\r\n sv: any;\r\n };\r\n constructor() {\r\n super(); \r\n this.customerservicemodel = this.viewmodel;\r\n this.languages = { sv: sv };\r\n this.spinner = new Spinner({ scale: 0.5 });\r\n var date = new Date();\r\n var firstDay = new Date(date.getFullYear(), date.getMonth()-1, 2);\r\n this.selectedFromDate= firstDay\r\n this.selectedToDate= new Date();\r\n this.translations = window.__litium.translation;\r\n \r\n }\r\n\r\n // mounted() {\r\n // this.isMounted = true;\r\n // }\r\n\r\n get formattedSelectedfromDate(): Date {\r\n return new Date(this.selectedFromDate);\r\n }\r\n set formattedSelectedfromDate(value: Date) { \r\n this.selectedFromDate=value;\r\n } \r\n get formattedSelectedtoDate(): Date {\r\n return new Date(this.selectedToDate);\r\n }\r\n set formattedSelectedtoDate(value: Date) { \r\n this.selectedToDate=value;\r\n } \r\n \r\n\r\n\r\n\r\n get currentLanguage(): string {\r\n return (document.querySelector(\"html\") as HTMLElement).getAttribute(\"lang\") as string;\r\n }\r\n public changeFromDate(selectedDate: Date) {\r\n this.formattedSelectedfromDate = selectedDate;\r\n }\r\n public changeToDate(selectedDate: Date) {\r\n this.formattedSelectedtoDate = selectedDate;\r\n }\r\n \r\n public happyCustomerCall(index: number): void {\r\n this.spinner.spin(this.$el as HTMLElement);\r\n var clickedItem = this.customerservicemodel.customerServiceItems[index]; \r\n\r\n const payload: CustomerResponseModel = {\r\n buttonText: clickedItem.buttonText,\r\n isHappy:true,\r\n dataIdentifier:this.customerservicemodel.dataIdentifier\r\n };\r\n this.saveCustomerResponce(payload);\r\n \r\n }\r\n public sadCustomerCall(index: number): void {\r\n this.spinner.spin(this.$el as HTMLElement);\r\n var clickedItem = this.customerservicemodel.customerServiceItems[index];\r\n\r\n const payload: CustomerResponseModel = {\r\n buttonText: clickedItem.buttonText,\r\n isHappy:false,\r\n dataIdentifier:this.customerservicemodel.dataIdentifier\r\n };\r\n this.saveCustomerResponce(payload);\r\n }\r\n\r\n\r\n public saveCustomerResponce(payload: CustomerResponseModel): void {\r\n\r\n ApiService.saveCustomercalls(payload).then((response) => {\r\n if (response.status == 200) {\r\n var self = this;\r\n setTimeout(function () { \r\n self.spinner.stop();\r\n }, 1000);\r\n \r\n }\r\n else if (response.status == 400) {\r\n this.spinner.stop();\r\n\r\n }\r\n else {\r\n this.spinner.stop();\r\n }\r\n });\r\n }\r\n\r\n\r\n public getCustomercallsReport(): void {\r\n this.spinner.spin(this.$el as HTMLElement);\r\n \r\n\r\n ApiService.getCustomercallsReport(this.customerservicemodel.dataIdentifier,this.selectedFromDate,this.selectedToDate).then((response) => {\r\n if (response.status == 200) {\r\n\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'report.csv');\r\n document.body.appendChild(link);\r\n link.click();\r\n\r\n this.spinner.stop();\r\n\r\n }\r\n else if (response.status == 400) {\r\n this.spinner.stop();\r\n \r\n }\r\n else {\r\n this.spinner.stop();\r\n }\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--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./CustomerServiceReport.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./CustomerServiceReport.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CustomerServiceReport.vue?vue&type=template&id=e7f1d1a6&scoped=true&\"\nimport script from \"./CustomerServiceReport.ts?vue&type=script&lang=ts&\"\nexport * from \"./CustomerServiceReport.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./CustomerServiceReport.vue?vue&type=style&index=0&id=e7f1d1a6&lang=scss&scoped=true&\"\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 \"e7f1d1a6\",\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('autocomplete',{staticClass:\"tapwell-autocomplete\",attrs:{\"source\":_vm.optionlist,\"placeholder\":[[_vm.translations['login.selectorganization.select']]]},on:{\"selected\":_vm.changeOrganizationProject,\"clear\":_vm.clearSelection}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { OrganizationProject, SelectListOptions } from \"@/models/OrganizationProject\";\r\nimport Autocomplete from \"vuejs-auto-complete\";\r\n@Component({\r\n components: {\r\n Autocomplete,\r\n },\r\n})\r\nexport default class SelectOrganization extends Vue {\r\n @Prop()\r\n protected viewmodel!: OrganizationProject[];\r\n protected setorganization: any;\r\n protected translations: any;\r\n\r\n private viewmodelInternal!: OrganizationProject[];\r\n\r\n get organizationProjectList(): OrganizationProject[] {\r\n return this.viewmodelInternal;\r\n }\r\n set organizationProjectList(value: OrganizationProject[]) {\r\n this.viewmodelInternal = value;\r\n }\r\n\r\n public optionlist: SelectListOptions[] = [];\r\n\r\n constructor() {\r\n super();\r\n\r\n this.translations = window.__litium.translation;\r\n\r\n this.organizationProjectList = this.viewmodel;\r\n this.organizationProjectList.forEach(row => {\r\n this.optionlist.push({\r\n id: row.organization.value,\r\n name: row.organization.text,\r\n type: \"organization\",\r\n organizationId: row.organization.value,\r\n });\r\n if (row.projects.length > 0) {\r\n row.projects.forEach(element => {\r\n this.optionlist.push({\r\n id: element.value,\r\n name: element.text,\r\n type: \"project\",\r\n organizationId: row.organization.value,\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n //Set value to parent razor page on autocomplete @change.\r\n public changeOrganizationProject(item) {\r\n var selectedOrganization = document.querySelector(\"#SelectedOrganization\");\r\n var selectedProjectOrganization = document.querySelector(\"#SelectedProjectOrganization\");\r\n\r\n if (item.selectedObject.type == \"organization\") {\r\n if (selectedProjectOrganization != undefined && selectedProjectOrganization != null) {\r\n selectedProjectOrganization.value = \"\";\r\n }\r\n selectedOrganization.value = item.value;\r\n } else {\r\n if (selectedOrganization != undefined && selectedOrganization != null) {\r\n selectedOrganization.value = \"\";\r\n }\r\n\r\n selectedProjectOrganization.value = item.value;\r\n selectedOrganization.value = item.selectedObject.organizationId;\r\n }\r\n }\r\n\r\n public clearSelection() {\r\n var selectedOrganization = document.querySelector(\"#SelectedOrganization\");\r\n var selectedProjectOrganization = document.querySelector(\"#SelectedProjectOrganization\");\r\n if (selectedProjectOrganization != undefined && selectedProjectOrganization != null) {\r\n selectedProjectOrganization.value = \"\";\r\n }\r\n\r\n if (selectedOrganization != undefined && selectedOrganization != null) {\r\n selectedOrganization.value = \"\";\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./SelectOrganization.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./SelectOrganization.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SelectOrganization.vue?vue&type=template&id=41319312&scoped=true&\"\nimport script from \"./SelectOrganization.ts?vue&type=script&lang=ts&\"\nexport * from \"./SelectOrganization.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./SelectOrganization.vue?vue&type=style&index=0&id=41319312&lang=scss&scoped=true&\"\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 \"41319312\",\n null\n \n)\n\nexport default component.exports","// import { ApiService } from '@/services/bricmate/ApiService';\r\nimport { ApiService2 } from '@/services/bricmate/ApiService2';\r\n\r\nimport { orderCatalog } from \"@/models/bricmate/orderCatalog\";\r\nimport ThankYouModal from \"./ThankYouModal.vue\";\r\n\r\nexport default {\r\n name: 'CatalogForm',\r\n data() {\r\n return {\r\n orderForm: {\r\n name: '',\r\n address: '',\r\n email: '',\r\n postalCodeAndCity: '',\r\n mainCatalog: true,\r\n outSideCatalog: false,\r\n counterTopCatalog: false,\r\n } as orderCatalog,\r\n showThankYouModal: false,\r\n }\r\n },\r\n props: [\"viewmodel\"],\r\n components: {\r\n ThankYouModal\r\n },\r\n computed: {\r\n translations() {\r\n return window.__litium.translation;\r\n }\r\n },\r\n methods: {\r\n onSubmit() {\r\n ApiService2.orderCatalog(this.orderForm).then((response) => {\r\n if (response && response.status == 200) {\r\n this.showThankYouModal = true;\r\n }\r\n else {\r\n //if send mail fails\r\n }\r\n });\r\n\r\n },\r\n resetForm() {\r\n this.orderForm = {\r\n name: '',\r\n address: '',\r\n email: '',\r\n mainCatalog: true,\r\n outSideCatalog: false,\r\n counterTopCatalog: false,\r\n };\r\n\r\n\r\n this.$nextTick(() => this.$refs.observer.reset());\r\n },\r\n handleCloseModal() {\r\n this.showThankYouModal = false;\r\n this.resetForm();\r\n }\r\n },\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"newsletter-modal\",class:{ 'newsletter-modal--open': _vm.showModal },on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.closeModal()}}},[_c('div',{staticClass:\"newsletter-modal__container\",attrs:{\"id\":\"sib-form-container\"}},[_c('div',{staticClass:\"\\n sib-form-message-panel\\n newsletter-modal__msg newsletter-modal__msg--error\\n \",attrs:{\"id\":\"error-message\"}},[_c('div',{staticClass:\"\\n sib-form-message-panel__text sib-form-message-panel__text--center\\n \"},[_c('svg',{staticClass:\"sib-icon sib-notification__icon\",attrs:{\"viewBox\":\"0 0 512 512\"}},[_c('path',{attrs:{\"d\":\"M256 40c118.621 0 216 96.075 216 216 0 119.291-96.61 216-216 216-119.244 0-216-96.562-216-216 0-119.203 96.602-216 216-216m0-32C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm-11.49 120h22.979c6.823 0 12.274 5.682 11.99 12.5l-7 168c-.268 6.428-5.556 11.5-11.99 11.5h-8.979c-6.433 0-11.722-5.073-11.99-11.5l-7-168c-.283-6.818 5.167-12.5 11.99-12.5zM256 340c-15.464 0-28 12.536-28 28s12.536 28 28 28 28-12.536 28-28-12.536-28-28-28z\"}})]),_c('span',{staticClass:\"sib-form-message-panel__inner-text\"})])]),_c('div',{staticClass:\"\\n sib-form-message-panel\\n newsletter-modal__msg newsletter-modal__msg--success\\n \",attrs:{\"id\":\"success-message\"}},[_c('div',{staticClass:\"\\n sib-form-message-panel__text sib-form-message-panel__text--center\\n \"},[_c('svg',{staticClass:\"sib-icon sib-notification__icon\",attrs:{\"viewBox\":\"0 0 512 512\"}},[_c('path',{attrs:{\"d\":\"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 464c-118.664 0-216-96.055-216-216 0-118.663 96.055-216 216-216 118.664 0 216 96.055 216 216 0 118.663-96.055 216-216 216zm141.63-274.961L217.15 376.071c-4.705 4.667-12.303 4.637-16.97-.068l-85.878-86.572c-4.667-4.705-4.637-12.303.068-16.97l8.52-8.451c4.705-4.667 12.303-4.637 16.97.068l68.976 69.533 163.441-162.13c4.705-4.667 12.303-4.637 16.97.068l8.451 8.52c4.668 4.705 4.637 12.303-.068 16.97z\"}})]),_c('span',{staticClass:\"sib-form-message-panel__inner-text\"})])]),_c('div',{staticClass:\"newsletter-modal__inner-container\",style:({ 'background-image': 'url(' + _vm.model.newsletterBackgroundImageUrl + ')' })},[_c('div',{staticClass:\"\\n hide-desktop\\n newsletter-modal__image-container newsletter-modal__content\\n \"},[_c('h2',{staticClass:\"newsletter-modal__header\"},[_vm._v(_vm._s(_vm.model.newsletterHeader))]),_c('div',{staticClass:\"newsletter-modal__content newsletter-modal__image\",style:({ 'background-image': 'url(' + _vm.model.newsletterBackgroundImageUrl + ')' })})]),_c('div',{staticClass:\"hide-mobile newsletter-modal__content\"},[_c('h1',{staticClass:\"newsletter-modal__header\"},[_vm._v(_vm._s(_vm.model.newsletterHeader))])]),_c('div',{staticClass:\"newsletter-modal__content newsletter-modal__text-container\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.model.newsletterInfoText)}})]),_c('ValidationObserver',{attrs:{\"slim\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nreturn [_c('form',{staticClass:\"newsletter-modal__content newsletter-form\",attrs:{\"id\":\"sib-form\",\"method\":\"POST\",\"action\":\"https://02324397.sibforms.com/serve/MUIEAGEEefqzLxRRPeuHIfeWoMRF-qjN3EY7dBHV5UaWllspJGx97iQ7tiaV5NjwGbiflhGMIcNNYURPAypzby6rTL7G11KqhPhQnGGo8gjMopTZSuKfgixywR1K2zm1c95b6Nh-tq0ruoZVqCC7aO7VCwklkebIKlQ5ON-fJRdSQjMqTA42tP8EfXt_OkiJm5ZvDScIxUtSgOx0\",\"data-type\":\"subscription\"}},[_c('ValidationProvider',{staticClass:\"input-container newsletter-form__input\",attrs:{\"name\":\"email\",\"mode\":\"lazy\",\"rules\":\"required|email\"}},[_c('label',{attrs:{\"for\":\"EMAIL\"}},[_vm._v(\" \"+_vm._s(_vm.translations[\"newsletter.emaillabel\"]))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.email),expression:\"email\"}],attrs:{\"type\":\"text\",\"placeholder\":[[_vm.translations['newsletter.emailplaceholder']]],\"data-required\":\"true\",\"required\":\"\",\"name\":\"EMAIL\"},domProps:{\"value\":(_vm.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.email=$event.target.value}}})]),_c('div',{staticClass:\"newsletter-form__checkboxes\"},[_c('ValidationProvider',{attrs:{\"rules\":{ required: { allowFalse: false } }}},[_c('label',{staticClass:\"checkbox-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.signUpForNewsletter),expression:\"signUpForNewsletter\"}],attrs:{\"type\":\"checkbox\",\"data-required\":\"true\",\"required\":\"\"},domProps:{\"checked\":_vm.signUpForNewsletter,\"checked\":Array.isArray(_vm.signUpForNewsletter)?_vm._i(_vm.signUpForNewsletter,null)>-1:(_vm.signUpForNewsletter)},on:{\"change\":function($event){var $$a=_vm.signUpForNewsletter,$$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.signUpForNewsletter=$$a.concat([$$v]))}else{$$i>-1&&(_vm.signUpForNewsletter=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.signUpForNewsletter=$$c}}}}),_c('span',[_vm._v(\" \"+_vm._s(_vm.translations[\"newsletter.signmeup\"])+\" \")]),_c('span',{staticClass:\"checkbox__checkmark\"})])]),_c('div',[_c('div',{staticClass:\"form__label-row\"},[_c('label',{staticClass:\"checkbox-container\"},[_c('ValidationProvider',{attrs:{\"rules\":{ required: { allowFalse: false } }}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.termsAndConditions),expression:\"termsAndConditions\"}],attrs:{\"type\":\"checkbox\",\"data-required\":\"true\",\"required\":\"\",\"name\":\"OPT_IN\"},domProps:{\"checked\":_vm.termsAndConditions,\"checked\":Array.isArray(_vm.termsAndConditions)?_vm._i(_vm.termsAndConditions,null)>-1:(_vm.termsAndConditions)},on:{\"change\":function($event){var $$a=_vm.termsAndConditions,$$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.termsAndConditions=$$a.concat([$$v]))}else{$$i>-1&&(_vm.termsAndConditions=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.termsAndConditions=$$c}}}}),_c('span',[_vm._v(\" \"+_vm._s(_vm.translations[\"newsletter.agreeto\"])+\" \")]),_c('span',[_c('a',{staticClass:\"link\",attrs:{\"target\":\"_blank\",\"href\":_vm.model.newsLetterTermsAndConditionsPageUrl}},[_vm._v(_vm._s(_vm.translations[\"newsletter.termsandconditions\"]))])]),_c('span',{staticClass:\"checkbox__checkmark\"})])],1)])])],1),_c('button',{staticClass:\"newsletter-form__submit-btn\",class:{ 'newsletter-form__submit-btn--disabled': invalid },attrs:{\"type\":\"submit\",\"form\":\"sib-form\",\"disabled\":invalid}},[_c('svg',{staticClass:\"sib-hide-loader-icon newsletter-form__submit-btn-icon\",attrs:{\"viewBox\":\"0 0 512 512\"}}),_vm._v(\" \"+_vm._s(_vm.translations[\"newsletter.subscribebtn\"])+\" \")]),_c('input',{staticClass:\"input--hidden\",attrs:{\"type\":\"text\",\"name\":\"email_address_check\",\"value\":\"\"}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"locale\",\"value\":\"en\"}})],1)]}}])}),_c('button',{staticClass:\"newsletter-modal__close-btn\",on:{\"click\":_vm.closeModal}},[_vm._v(\" \"+_vm._s(_vm.translations[\"newsletter.close\"])+\" \")])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function getCookie(name) {\r\n var nameEQ = name + \"=\";\r\n var ca = document.cookie.split(';');\r\n for (var i = 0; i < ca.length; i++) {\r\n var c = ca[i];\r\n while (c.charAt(0) == ' ') c = c.substring(1, c.length);\r\n if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);\r\n }\r\n return null;\r\n}\r\n\r\nexport function setCookie(name, value, days) {\r\n var expires = \"\";\r\n if (days) {\r\n var date = new Date();\r\n date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\r\n expires = \"; expires=\" + date.toUTCString();\r\n }\r\n document.cookie = name + \"=\" + (value || \"\") + expires + \"; path=/\";\r\n}\r\n\r\nexport function eraseCookie(name) { \r\n document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';\r\n}","import { getCookie, setCookie } from \"@/services/tapwell/Cookies\";\r\nimport { newsletterStore } from \"@/store/tapwell/newsletterModal\";\r\n\r\nexport default {\r\n name: \"NewsletterSignup\",\r\n props: [\"model\"],\r\n data() {\r\n return {\r\n signUpForNewsletter: false,\r\n termsAndConditions: false,\r\n email: '',\r\n };\r\n },\r\n computed: {\r\n translations(){\r\n return window.__litium.translation;\r\n },\r\n showModal(){\r\n return newsletterStore.showModal;\r\n }\r\n },\r\n methods: {\r\n closeModal() {\r\n newsletterStore.saveUserState({showNewsletterModal: false});\r\n setCookie(\"hidenewsletter\", true, 7);\r\n },\r\n onSubmitBtnClick(){\r\n // For some reason this is needed \r\n // to prevent pageload when submitting the form\r\n }\r\n },\r\n\r\n mounted() {\r\n setTimeout(() => {\r\n const hideNewsletter = getCookie(\"hidenewsletter\");\r\n if (!hideNewsletter) {\r\n newsletterStore.saveUserState({showNewsletterModal: true});\r\n }\r\n }, 20000)\r\n }\r\n\r\n};","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./NewsletterSignup.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./NewsletterSignup.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewsletterSignup.vue?vue&type=template&id=650a065e&\"\nimport script from \"./NewsletterSignup.ts?vue&type=script&lang=ts&\"\nexport * from \"./NewsletterSignup.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:\"newsletter-banner\"},[_c('span',{staticClass:\"newsletter-banner__text\",on:{\"click\":_vm.handleOnClick}},[_vm._v(_vm._s(_vm.model.newsletterBannerText))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {newsletterStore} from \"@/store/tapwell/newsletterModal\";\r\n\r\nexport default {\r\n name: \"NewsletterBanner\",\r\n props: [\"model\"],\r\n data() {\r\n return {\r\n \r\n };\r\n },\r\n computed: {\r\n translations(){\r\n return window.__litium.translation;\r\n }\r\n },\r\n methods: {\r\n handleOnClick(){\r\n newsletterStore.saveUserState({showNewsletterModal: true}); \r\n }\r\n },\r\n\r\n};","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./NewsletterBanner.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./NewsletterBanner.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewsletterBanner.vue?vue&type=template&id=68b2b943&\"\nimport script from \"./NewsletterBanner.ts?vue&type=script&lang=ts&\"\nexport * from \"./NewsletterBanner.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:\"vat-country-dropdown\",class:{ active: _vm.open},on:{\"click\":function($event){_vm.open = !_vm.open}}},[_c('span',{attrs:{\"id\":\"ddSelectedCountry\"}},[_vm._v(_vm._s(_vm.currentCountryCode))]),_c('ul',{staticClass:\"dropdown\"},_vm._l((_vm.model),function(countrycode,id){return _c('li',{key:id},[_c('a',{on:{\"click\":function($event){return _vm.chooseCountry(id)}}},[_vm._v(_vm._s(countrycode))])])}),0)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { ApiService } from \"@/services/tapwell/ApiService\";\r\nimport { Country } from \"@/models/tapwell/Country\";\r\n\r\n@Component\r\nexport default class CountryPicker extends Vue {\r\n @Prop()\r\n protected model!: Country;\r\n protected open: boolean = false;\r\n @Prop()\r\n protected selectedcountryid!: string;\r\n private currentCountryCodeInternal!: string;\r\n \r\n constructor() {\r\n super();\r\n\r\n this.currentCountryCode = this.model[this.selectedcountryid];\r\n }\r\n \r\n get currentCountryCode(): string {\r\n return this.currentCountryCodeInternal;\r\n }\r\n\r\n set currentCountryCode(value: string){\r\n this.currentCountryCodeInternal = value;\r\n }\r\n\r\n protected chooseCountry(id: string){\r\n this.currentCountryCode = this.model[id];\r\n\r\n ApiService.selectCountry(id).then((response) => {\r\n location.reload();\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./CountryPicker.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./CountryPicker.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CountryPicker.vue?vue&type=template&id=ed82f442&\"\nimport script from \"./CountryPicker.ts?vue&type=script&lang=ts&\"\nexport * from \"./CountryPicker.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:\"configurator-page__steps-container\"},[_c('div',{staticClass:\"configurator-page__step-1\"},[_c('h2',{staticClass:\"configurator-page__step-header\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.step1\"])+\" \")]),_c('div',{staticClass:\"product-page__product-list configurator-page__product-list\"},[_c('div',{staticClass:\"row\"},_vm._l((_vm.model),function(product,index){return _c('div',{key:index,staticClass:\"product-page__product-list__column configurator-page__tile Tall\"},[_c('div',[_c('div',{staticClass:\"\\n product-tile-shower-configure__icon\\n shower-configure__icon\\n \",on:{\"click\":function($event){return _vm.selectProduct(product.id)}}},[_c('div',{staticClass:\"product-tile-shower-configure__icon--configure shower-configure__icon--configure\"})]),_c('div',{staticClass:\"product-page__product__img configurator-page__tile-img\"},[_c('div',{staticClass:\"product-page__product__img__regular\",style:({ 'background-image': 'url(' + product.image + ')' })}),_c('div',{staticClass:\"blur\"})]),_c('div',{staticClass:\"configurator-page__tile-description\"},[_c('div',[_c('span',{staticClass:\"configurator-page__tile-category\"},[_vm._v(\" Shower \")]),_c('span',[_vm._v(_vm._s(product.name))])]),_c('button',{staticClass:\"configurator-page__tile-btn\",class:{'configurator-page__tile-btn--selected': product.id===_vm.selectedVariantId},on:{\"click\":function($event){return _vm.selectProduct(product.id)}}},[(product.id===_vm.selectedVariantId)?_c('span',[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.picked.product\"])+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.pick.product\"])+\" \")])])])])])}),0)])]),_c('div',{ref:\"step-2\",staticClass:\"configurator-page__step-2\",class:{'configurator-page__step-2--open' : _vm.visibleConfigurator}},[_c('h2',{staticClass:\"configurator-page__step-header configurator-page__step-header--step2\"},[_vm._v(\" \"+_vm._s(_vm.translations[\"configurator.step2\"])+\" \")]),_c('div',{staticClass:\"configurator-page__shower-config-container\"},[(_vm.visibleConfigurator)?_c('shower-configurator',{attrs:{\"variantid\":_vm.selectedVariantId,\"mode\":'standAlone',\"reopenShowerConfigurator\":_vm.reopenShowerConfigurator,\"showerconfiguratorpdfurl\":_vm.showerconfiguratorpdfurl,\"configuratorOptionTitle1\":_vm.configuratoroptiontitle1internal,\"configuratorOptionTitle2\":_vm.configuratoroptiontitle2internal,\"configuratorOptionTitle3\":_vm.configuratoroptiontitle3internal,\"configuratorOptionTitle4\":_vm.configuratoroptiontitle4internal,\"pagesystemid\":_vm.pagesystemidinternal,\"displayConfigHeaders\":false}}):_vm._e()],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ConfiguratorProduct } from \"@/models/tapwell/Configurator\";\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport ShowerConfigurator from \"./ShowerConfigurator.vue\";\r\nimport { dectectMobileDevice } from \"@/scripts/shared/sharedScripts.js\";\r\nimport { Guid } from \"guid-typescript\";\r\n\r\n@Component({\r\n components : {\r\n ShowerConfigurator,\r\n },\r\n mounted(){\r\n detectStickyHeader('.configurator-page__step-header');\r\n }\r\n})\r\nexport default class ShowerConfiguratorStandalone extends Vue {\r\n public translations: any;\r\n\r\n @Prop()\r\n public model!: ConfiguratorProduct[];\r\n\r\n @Prop()\r\n public showerconfiguratorpdfurl!: string;\r\n\r\n @Prop()\r\n public configuratoroptiontitle1!: string;\r\n\r\n @Prop()\r\n public configuratoroptiontitle2!: string;\r\n\r\n @Prop()\r\n public configuratoroptiontitle3!: string;\r\n \r\n @Prop()\r\n public configuratoroptiontitle4!: string;\r\n\r\n @Prop()\r\n public displayConfigHeaders!: boolean;\r\n\r\n @Prop()\r\n public pagesystemid!: Guid;\r\n\r\n\r\n public configuratorOptionTitle1Internal!: string;\r\n\r\n get configuratoroptiontitle1internal(): string {\r\n return this.configuratorOptionTitle1Internal;\r\n }\r\n\r\n public configuratorOptionTitle2Internal!: string;\r\n\r\n get configuratoroptiontitle2internal(): string {\r\n return this.configuratorOptionTitle2Internal;\r\n }\r\n\r\n public configuratorOptionTitle3Internal!: string;\r\n\r\n get configuratoroptiontitle3internal(): string {\r\n return this.configuratorOptionTitle3Internal;\r\n }\r\n\r\n public configuratorOptionTitle4Internal!: string;\r\n\r\n get configuratoroptiontitle4internal(): string {\r\n return this.configuratorOptionTitle4Internal;\r\n }\r\n\r\n public pageSystemIdInternal!: Guid;\r\n\r\n get pagesystemidinternal(): Guid {\r\n return this.pageSystemIdInternal;\r\n }\r\n\r\n private requestContext: any;\r\n\r\n protected selectedVariantId: string = \"\";\r\n\r\n protected visibleConfigurator: boolean = false;\r\n\r\n protected reopenShowerConfigurator: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__litium.translation;\r\n this.requestContext = window.__litium.requestContext;\r\n this.configuratorOptionTitle1Internal = this.configuratoroptiontitle1;\r\n this.configuratorOptionTitle2Internal = this.configuratoroptiontitle2;\r\n this.configuratorOptionTitle3Internal = this.configuratoroptiontitle3;\r\n this.configuratorOptionTitle4Internal = this.configuratoroptiontitle4;\r\n this.pageSystemIdInternal = this.pagesystemid;\r\n }\r\n\r\n selectProduct(variantId: string) {\r\n if(this.visibleConfigurator){\r\n this.reopenShowerConfigurator = !this.reopenShowerConfigurator;\r\n }\r\n\r\n this.selectedVariantId = variantId;\r\n this.visibleConfigurator = true;\r\n\r\n var element = this.$refs['step-2'] as HTMLElement;\r\n setTimeout(()=>{\r\n element.scrollIntoView();\r\n },100)\r\n \r\n detectStickyHeader('.configurator-page__step-header--step2');\r\n }\r\n}\r\n\r\n\r\n\r\nfunction detectStickyHeader(className){\r\n const element = document.querySelector(className)\r\n\r\n const observer = new IntersectionObserver( \r\n ([e]) => e.target.classList.toggle('isSticky', e.intersectionRatio < 1),\r\n {threshold: [1]}\r\n );\r\n\r\n observer.observe(element);\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ShowerConfiguratorStandalone.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./ShowerConfiguratorStandalone.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ShowerConfiguratorStandalone.vue?vue&type=template&id=2db71c3d&\"\nimport script from \"./ShowerConfiguratorStandalone.ts?vue&type=script&lang=js&\"\nexport * from \"./ShowerConfiguratorStandalone.ts?vue&type=script&lang=js&\"\nimport style0 from \"./ShowerConfiguratorStandalone.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-padding\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"loader-container image-bank__loader-container\"},[_c('div',{staticClass:\"loader image-bank__loader\"})]),_c('div',{staticClass:\"image-bank__title-wrapper\"},[_c('h1',{staticClass:\"image-bank__title\"},[_vm._v(_vm._s(_vm.translations[\"imagebank.image-bank.title\"]))])]),_c('ImageFilter',{attrs:{\"loading\":_vm.loading,\"descriptionText\":_vm.descriptionText,\"bricmateLogo\":_vm.bricmateLogo,\"tapwellLogo\":_vm.tapwellLogo,\"havenLogo\":_vm.havenLogo,\"filters\":_vm.imageFilters},on:{\"onSearch\":_vm.onSearch}}),(_vm.images.length && !_vm.allSelectedImages)?_c('div',{staticClass:\"image-bank__selectAllImages\",on:{\"click\":function($event){return _vm.selectAllImages(_vm.images)}}},[_c('div',{staticClass:\"image-bank__selectAllImages-text\"},[_vm._v(_vm._s(_vm.translations[\"imagebank.image-bank.selectAllImages\"]))]),_c('v-checkbox',{attrs:{\"type\":\"large\"}})],1):_vm._e(),(_vm.allSelectedImages)?_c('div',{staticClass:\"image-bank__selectAllImages\",on:{\"click\":function($event){return _vm.removeAllImages(_vm.images)}}},[_c('div',{staticClass:\"image-bank__selectAllImages-text\"},[_vm._v(_vm._s(_vm.translations[\"imagebank.image-bank.deSelectAllImages\"]))]),_c('v-checkbox',{attrs:{\"type\":\"large\"}})],1):_vm._e(),(_vm.images.length)?_c('div',{staticClass:\"image-bank__result\"},[_vm._v(_vm._s(_vm.translations[\"imagebank.image-bank.result\"])+\" \"+_vm._s(_vm.images.length)+\" \"+_vm._s(_vm.translations[\"imagebank.image-bank.amount\"]))]):_vm._e(),_c('div',{staticClass:\"image-bank__list\",attrs:{\"id\":\"images\"}},[_c('image-list',{attrs:{\"imagesList\":_vm.images},on:{\"setModalImage\":_vm.onShowModal}}),(_vm.noResult)?_c('div',{staticClass:\"image-bank__no-results\"},[_vm._v(_vm._s(_vm.translations[\"imagebank.image-bank.noSerachResult\"]))]):_vm._e(),(_vm.images.length)?_c('div',{staticClass:\"category__loadmore\"},[_c('button',{staticClass:\"btn\",on:{\"click\":_vm.loadMoreProducts}},[_vm._v(_vm._s(_vm.translations[\"products.loadmore\"]))])]):_vm._e()],1),_c('image-modal',{attrs:{\"show\":!!_vm.modalImage,\"image\":_vm.modalImage},on:{\"toggle-selection\":_vm.onToggleImage,\"download\":_vm.onDownload,\"close\":function($event){_vm.modalImage = null}}}),_c('selected-images-modal',{on:{\"toggle-selection\":_vm.onToggleImage,\"download\":_vm.onDownload}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from \"axios\";\r\nimport { ImageBankFilterModel, ImageBankImageModel } from \"./model\";\r\n\r\nexport const ApiService = {\r\n async search(query: { search: string; color?: string[]; brand?: string[]; categories?: string[]; imageTypes?: string[]; pageIndex?: number }) {\r\n var result = await axios.post(\r\n \"/api/imagebank\",\r\n {\r\n ...query,\r\n },\r\n {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n },\r\n );\r\n\r\n return result;\r\n },\r\n\r\n async getFilters() {\r\n var result = await axios.get(\"/api/imagebank/filters\", {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n });\r\n\r\n return result;\r\n },\r\n\r\n async downloadImages(resolution: string, ids: string[]) {\r\n var result = await axios({\r\n method: \"POST\",\r\n url: \"/api/imagebank/download\",\r\n responseType: \"arraybuffer\",\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n Accept: \"application/pdf\",\r\n },\r\n data: {\r\n Resolution: resolution,\r\n Ids: ids,\r\n },\r\n });\r\n\r\n const url = window.URL.createObjectURL(new Blob([result.data], { type: \"application/zip\" }));\r\n\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", \"images.zip\");\r\n link.click();\r\n },\r\n};\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{class:_vm.type,attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.onClick}},[_vm._t(\"default\",[_vm._v(\"Button\")])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Emit, Prop, Vue } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class Button extends Vue {\r\n @Prop({ default: \"primary\" })\r\n readonly type!: \"primary\" | \"secondary\";\r\n\r\n @Prop({ default: false })\r\n readonly disabled!: boolean;\r\n\r\n @Emit(\"click\")\r\n onClick(e: MouseEvent) {\r\n return e;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./button.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./button.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Button.vue?vue&type=template&id=7ead5022&scoped=true&\"\nimport script from \"./button.ts?vue&type=script&lang=ts&\"\nexport * from \"./button.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Button.vue?vue&type=style&index=0&id=7ead5022&lang=scss&scoped=true&\"\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 \"7ead5022\",\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.type,on:{\"click\":_vm.onClick}},[_c('span',[_vm._v(\"[\")]),_c('p',{class:{ checked: _vm.isChecked }},[_vm._v(\"x\")]),_c('span',[_vm._v(\"]\")]),_c('label',[_vm._v(_vm._s(_vm.label))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Emit, Prop, Vue, Watch } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class Checkbox extends Vue {\r\n @Prop({ default: false })\r\n value!: boolean;\r\n\r\n @Prop({ default: \"small\" })\r\n type!: \"large\" | \"small\";\r\n\r\n @Prop({ default: \"\" })\r\n label!: string;\r\n\r\n isChecked: boolean = this.value;\r\n\r\n @Watch(\"value\")\r\n onValueChange() {\r\n this.isChecked = this.value;\r\n }\r\n\r\n @Emit(\"input\")\r\n onClick() {\r\n this.isChecked = !this.isChecked;\r\n return this.isChecked;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./checkbox.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./checkbox.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Checkbox.vue?vue&type=template&id=4dcf277d&scoped=true&\"\nimport script from \"./checkbox.ts?vue&type=script&lang=ts&\"\nexport * from \"./checkbox.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Checkbox.vue?vue&type=style&index=0&id=4dcf277d&lang=scss&scoped=true&\"\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 \"4dcf277d\",\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('input',{attrs:{\"type\":\"text\",\"placeholder\":_vm.placeholder},on:{\"input\":_vm.onInput}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Emit, Prop, Vue } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class Search extends Vue {\r\n @Prop({ default: \"Search\" })\r\n placeholder!: string;\r\n\r\n @Prop({ default: \"\" })\r\n value!: string;\r\n\r\n @Emit(\"input\")\r\n onInput(e: Event) {\r\n return (e.target as HTMLInputElement).value;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./search.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./search.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Search.vue?vue&type=template&id=7003fc12&scoped=true&\"\nimport script from \"./search.ts?vue&type=script&lang=ts&\"\nexport * from \"./search.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Search.vue?vue&type=style&index=0&id=7003fc12&lang=scss&scoped=true&\"\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 \"7003fc12\",\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:\"select__wrapper\"},[_c('label',{staticClass:\"select__label\"},[_vm._v(\"Label\")]),_c('div',{attrs:{\"id\":\"select\",\"tabindex\":0},on:{\"blur\":function($event){_vm.isOpen = false}}},[_c('div',{class:{ open: _vm.isOpen },attrs:{\"id\":\"selected\"},on:{\"click\":function($event){_vm.isOpen = !_vm.isOpen}}},[_vm._v(\" \"+_vm._s(_vm.selected.name)+\" \")]),(_vm.isOpen)?_c('div',{attrs:{\"id\":\"items\"}},_vm._l((_vm.options),function(option){return _c('div',{key:option.id,on:{\"click\":function($event){_vm.selected = option}}},[_vm._v(\" \"+_vm._s(option.name)+\" \")])}),0):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Emit, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { SelectOption } from \"./SelectOption\";\r\n\r\n@Component\r\nexport default class Select extends Vue {\r\n @Prop()\r\n value!: number;\r\n\r\n @Prop()\r\n options!: Array;\r\n\r\n isOpen = false;\r\n selected?: SelectOption = undefined;\r\n\r\n constructor() {\r\n super();\r\n\r\n if (this.value) {\r\n const result = this.options.find(x => x.id === this.value);\r\n this.selected = result ? result : undefined;\r\n }\r\n\r\n if (!this.selected) {\r\n this.selected = this.options[0];\r\n }\r\n }\r\n\r\n @Emit(\"input\")\r\n mounted() {\r\n return this.selected;\r\n }\r\n\r\n @Watch(\"selected\")\r\n @Emit(\"input\")\r\n onSelected() {\r\n this.isOpen = false;\r\n return this.selected;\r\n }\r\n}\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./select.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./select.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Select.vue?vue&type=template&id=19fe4a8e&scoped=true&\"\nimport script from \"./select.ts?vue&type=script&lang=ts&\"\nexport * from \"./select.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Select.vue?vue&type=style&index=0&id=19fe4a8e&lang=scss&scoped=true&\"\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 \"19fe4a8e\",\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:\"select__wrapper\"},[_c('label',{staticClass:\"select__label\"},[_vm._v(_vm._s(_vm.label))]),_c('div',{staticClass:\"select\",attrs:{\"tabindex\":0},on:{\"mouseleave\":function () {\n if (!_vm.loading) { _vm.isOpen = false; }\n }}},[_c('div',{staticClass:\"select__selected-option\",class:{ open: _vm.isOpen },on:{\"click\":function($event){_vm.isOpen = !_vm.isOpen}}},[_vm._v(\" \"+_vm._s(_vm.caption ? _vm.caption : \"#Välj\")+\" \")]),(_vm.isOpen)?_c('div',{staticClass:\"select__dropdown\"},_vm._l((_vm.options),function(option){return _c('div',{key:option.id,staticClass:\"select__option\"},[_c('v-checkbox',{key:option.id,attrs:{\"label\":option.name,\"value\":_vm.value.includes(option.id)},on:{\"input\":function($event){return _vm.check(option.id, $event)}}})],1)}),0):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Emit, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { Checkbox } from \"../\";\r\nimport { MultiSelectOption } from \"./MultiSelectOption\";\r\n\r\n@Component({\r\n components: {\r\n \"v-checkbox\": Checkbox,\r\n },\r\n})\r\nexport default class MultiSelect extends Vue {\r\n @Prop({ default: \"Select\" })\r\n label!: string;\r\n\r\n @Prop()\r\n value!: Array;\r\n\r\n @Prop()\r\n options!: Array;\r\n\r\n @Prop({ default: false })\r\n loading!: boolean;\r\n\r\n translations: any;\r\n\r\n isOpen: boolean = false;\r\n count: number = 0;\r\n caption: string = \"\";\r\n\r\n constructor() {\r\n super();\r\n\r\n this.translations = window.__litium.translation;\r\n\r\n this.count = this.value.length;\r\n }\r\n\r\n updateCount() {\r\n const updated = [...this.value];\r\n this.count = updated.length;\r\n }\r\n\r\n created() {\r\n this.caption = this.translations[\"imagebank.selection.none\"];\r\n }\r\n\r\n @Watch(\"count\")\r\n setLabel() {\r\n if (this.count <= 0) {\r\n this.caption = this.translations[\"imagebank.selection.none\"];\r\n } else if (this.count === 1) {\r\n this.caption = `1 ${this.translations[\"imagebank.selection.one\"]}`;\r\n } else {\r\n this.caption = `${this.count} ${this.translations[\"imagebank.selection.many\"]}`;\r\n }\r\n }\r\n\r\n @Emit(\"input\")\r\n check(id: string, checked: boolean) {\r\n const updated = [...this.value];\r\n\r\n if (checked) {\r\n updated.push(id);\r\n } else {\r\n updated.splice(updated.indexOf(id), 1);\r\n }\r\n\r\n this.count = updated.length;\r\n\r\n return updated;\r\n }\r\n}\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./multi-select.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./multi-select.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MultiSelect.vue?vue&type=template&id=26881e08&scoped=true&\"\nimport script from \"./multi-select.ts?vue&type=script&lang=ts&\"\nexport * from \"./multi-select.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./MultiSelect.vue?vue&type=style&index=0&id=26881e08&lang=scss&scoped=true&\"\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 \"26881e08\",\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('v-modal',{ref:\"modal\",on:{\"close\":_vm.onModalClose},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('div',{staticClass:\"image\"},[_c('div',[_c('img',{attrs:{\"src\":_vm.image.url}})]),_c('div',[_c('div',[_c('h3',[_vm._v(_vm._s(_vm.image.name))]),_c('p',[_vm._v(_vm._s(_vm.image.color))])]),_c('div',[_c('ul',[_c('li',{on:{\"click\":function($event){return _vm.onDownload('low')}}},[_vm._v(\" \"+_vm._s(_vm.translations[\"imagebank.download.low_resolution\"])+\" \"),_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M11 21.883l-6.235-7.527-.765.644 7.521 9 7.479-9-.764-.645-6.236 7.529v-21.884h-1v21.883z\"}})])]),_c('li',{on:{\"click\":function($event){return _vm.onDownload('high')}}},[_vm._v(\" \"+_vm._s(_vm.translations[\"imagebank.download.high_resolution\"])+\" \"),_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M11 21.883l-6.235-7.527-.765.644 7.521 9 7.479-9-.764-.645-6.236 7.529v-21.884h-1v21.883z\"}})])])])]),_c('div',[_c('v-checkbox',{attrs:{\"type\":\"large\",\"value\":_vm.selected},on:{\"input\":_vm.toggleSelection}})],1)])])]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.show)?_c('div',{attrs:{\"id\":\"modal\"}},[_c('div',{staticClass:\"modal-overlay\",on:{\"click\":_vm.onCloseModal}}),_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-header\"},[_vm._t(\"header\"),_c('svg',{staticClass:\"close\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 352 512\"},on:{\"click\":_vm.onCloseModal}},[_c('path',{attrs:{\"d\":\"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"}})])],2),_c('div',{staticClass:\"modal-body\"},[_vm._t(\"body\")],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Emit, Vue } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class Modal extends Vue {\r\n show: boolean = false;\r\n\r\n openModal() {\r\n this.show = true;\r\n }\r\n\r\n @Emit(\"close\")\r\n onCloseModal() {\r\n this.show = false;\r\n return this.show;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./modal.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./modal.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Modal.vue?vue&type=template&id=8eabe380&scoped=true&\"\nimport script from \"./modal.ts?vue&type=script&lang=ts&\"\nexport * from \"./modal.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Modal.vue?vue&type=style&index=0&id=8eabe380&lang=scss&scoped=true&\"\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 \"8eabe380\",\n null\n \n)\n\nexport default component.exports","import { Component, Emit, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { Button, Checkbox } from \"@/imagebank/components\";\r\nimport { imageBankStore } from \"@/imagebank/imagebank-state\";\r\nimport { ImageBankImageModel } from \"@/imagebank/model\";\r\nimport { IModal } from \"@/imagebank/components/modal\";\r\nimport Modal from \"@/imagebank/components/modal/Modal.vue\";\r\n\r\n@Component({\r\n components: {\r\n \"v-button\": Button,\r\n \"v-checkbox\": Checkbox,\r\n \"v-modal\": Modal,\r\n },\r\n})\r\nexport default class ImageModal extends Vue {\r\n public readonly $refs!: Vue[\"$refs\"] & {\r\n modal: IModal;\r\n };\r\n\r\n @Prop({ default: false })\r\n show: boolean = false;\r\n\r\n @Prop({ default: undefined })\r\n image!: ImageBankImageModel;\r\n\r\n translations: any;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__litium.translation;\r\n }\r\n\r\n get selected() {\r\n return !!imageBankStore.selectedImages.find(x => x.articleNumber === this.image.articleNumber);\r\n }\r\n\r\n @Watch(\"show\")\r\n onShowChange() {\r\n if (this.image && this.show) {\r\n this.$refs.modal.openModal();\r\n }\r\n }\r\n\r\n @Emit(\"close\")\r\n onModalClose() {\r\n return false;\r\n }\r\n\r\n @Emit(\"download\")\r\n onDownload(resolution: \"high\" | \"low\") {\r\n return {\r\n resolution,\r\n ids: [this.image.id],\r\n };\r\n }\r\n\r\n @Emit(\"toggle-selection\")\r\n toggleSelection() {\r\n return this.image;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./image-modal.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./image-modal.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ImageModal.vue?vue&type=template&id=df1571f8&scoped=true&\"\nimport script from \"./image-modal.ts?vue&type=script&lang=ts&\"\nexport * from \"./image-modal.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ImageModal.vue?vue&type=style&index=0&id=df1571f8&lang=scss&scoped=true&\"\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 \"df1571f8\",\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('article',{staticClass:\"image-tile\",attrs:{\"title\":_vm.image.articleNumber}},[_c('figure',{staticClass:\"image-tile__figure\",class:{ selected: _vm.selected },on:{\"click\":_vm.onShowModal}},[_c('img',{staticClass:\"image-tile__image\",attrs:{\"src\":_vm.image.url,\"alt\":\"\"}}),_c('svg',{staticClass:\"image-tile__enlarge-icon\",attrs:{\"data-name\":\"Lager 1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 69.02 69\"}},[_c('path',{attrs:{\"d\":\"m59.82 25.3-3.24 3.24 5.94 6-6 6 3.26 3.24 9.23-9.28Zm-47.37 3.27L9.2 25.3.01 34.5l9.2 9.2 3.27-3.24-6-6ZM34.5 62.49l-6-6-3.2 3.31 9.2 9.2 9.2-9.2-3.24-3.24Zm0-56 5.94 5.93L43.7 9.2 34.5 0l-9.2 9.2 3.24 3.27Zm13.8 28a13.8 13.8 0 1 0-5.82 11.25l8.79 8.78 3.27-3.26-8.79-8.79a13.75 13.75 0 0 0 2.55-7.97Zm-13.8 9.2a9.2 9.2 0 1 1 9.2-9.2 9.2 9.2 0 0 1-9.2 9.2Z\"}})])]),_c('hgroup',{staticClass:\"image-tile__hgroup\"},[_c('h2',{staticClass:\"image-tile__title\"},[_vm._v(_vm._s(_vm.image.name))]),(_vm.image.articleNumbers.length > 5)?_c('span',[_vm._v(\" \"+_vm._s(_vm.translations[\"imagebank.articlenumber\"])+\" \"),_c('h3',{staticClass:\"image-tile__horizontal-list image-tile__subtitle image-tile__space\"},[_vm._v(_vm._s(_vm.image.articleNumbers[0]))]),_c('h3',{staticClass:\"image-tile__horizontal-list image-tile__subtitle image-tile__space\"},[_vm._v(_vm._s(_vm.image.articleNumbers[1]))]),_c('h3',{staticClass:\"image-tile__horizontal-list image-tile__subtitle image-tile__space\"},[_vm._v(_vm._s(_vm.image.articleNumbers[2]))]),_c('h3',{staticClass:\"image-tile__horizontal-list image-tile__subtitle image-tile__space\"},[_vm._v(_vm._s(_vm.image.articleNumbers[3]))]),_c('h3',{staticClass:\"image-tile__horizontal-list image-tile__subtitle image-tile__space\"},[_vm._v(_vm._s(_vm.image.articleNumbers[4]))]),_c('h3',{staticClass:\"image-tile__horizontal-list image-tile__subtitle\"},[_vm._v(\"...\")])]):_c('span',[_vm._v(\" \"+_vm._s(_vm.translations[\"imagebank.articlenumber\"])+\" \"),_vm._l((_vm.image.articleNumbers),function(articleNumber){return _c('h3',{key:articleNumber,staticClass:\"image-tile__horizontal-list\"},[_c('h3',{staticClass:\"image-tile__subtitle image-tile__space\"},[_vm._v(_vm._s(articleNumber))])])})],2),_vm._l((_vm.image.imageTypes),function(imageType){return _c('h3',{key:imageType.id,staticClass:\"image-tile__subtitle\"},[_vm._v(_vm._s(imageType.name))])})],2),_c('span',{staticClass:\"image-tile__download--low\",on:{\"click\":function($event){return _vm.onDownload('low')}}},[_vm._v(\" \"+_vm._s(_vm.translations[\"imagebank.download.low_resolution\"])),_c('span',{staticClass:\"image-tile__image-size\"},[_vm._v(\"(\"+_vm._s(_vm.convertByteToMB(_vm.image.lowResolutionSize))+\")\")]),_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M11 21.883l-6.235-7.527-.765.644 7.521 9 7.479-9-.764-.645-6.236 7.529v-21.884h-1v21.883z\"}})])]),_c('span',{staticClass:\"image-tile__download--high\",on:{\"click\":function($event){return _vm.onDownload('high')}}},[_vm._v(\" \"+_vm._s(_vm.translations[\"imagebank.download.high_resolution\"])),_c('span',{staticClass:\"image-tile__image-size\"},[_vm._v(\"(\"+_vm._s(_vm.convertByteToMB(_vm.image.size))+\")\")]),_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M11 21.883l-6.235-7.527-.765.644 7.521 9 7.479-9-.764-.645-6.236 7.529v-21.884h-1v21.883z\"}})])]),_c('span',{staticClass:\"image-tile__checkbox\"},[_c('v-checkbox',{attrs:{\"type\":\"large\",\"value\":_vm.selected},on:{\"input\":_vm.toggleSelection}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Emit, Prop, Vue } from \"vue-property-decorator\";\r\nimport { Checkbox } from \"@/imagebank/components\";\r\nimport { ImageBankImageModel } from \"@/imagebank/model\";\r\nimport ImageModal from \"@/imagebank/components/image-modal/ImageModal.vue\";\r\nimport { imageBankStore } from \"@/imagebank/imagebank-state\";\r\n\r\n@Component({\r\n components: {\r\n \"v-checkbox\": Checkbox,\r\n ImageModal,\r\n },\r\n})\r\nexport default class ImageTile extends Vue {\r\n @Prop({ default: undefined })\r\n image!: ImageBankImageModel;\r\n\r\n translations: any;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__litium.translation;\r\n }\r\n\r\n get selected() {\r\n return !!imageBankStore.selectedImages.find(x => x.articleNumber === this.image.articleNumber);\r\n }\r\n\r\n @Emit(\"onShowModal\")\r\n onShowModal() {\r\n return this.image;\r\n }\r\n\r\n @Emit(\"download\")\r\n onDownload(resolution: \"high\" | \"low\") {\r\n return {\r\n resolution,\r\n ids: [this.image.id],\r\n };\r\n }\r\n\r\n @Emit(\"toggle-selection\")\r\n toggleSelection() {\r\n return this.image;\r\n }\r\n\r\n convertByteToMB(data: string) {\r\n const const_term = 1024;\r\n return (parseInt(data) / const_term ** 2).toFixed(1) + \"mb\";\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./image-tile.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./image-tile.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ImageTile.vue?vue&type=template&id=329d237e&scoped=true&\"\nimport script from \"./image-tile.ts?vue&type=script&lang=ts&\"\nexport * from \"./image-tile.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ImageTile.vue?vue&type=style&index=0&id=329d237e&lang=scss&scoped=true&\"\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 \"329d237e\",\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('section',{staticClass:\"filter\"},[_c('div',{staticClass:\"filter__left-section\"},[_c('div',{staticClass:\"filter__description\",domProps:{\"innerHTML\":_vm._s(_vm.tpUnescape(_vm.descriptionText))}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchValue),expression:\"searchValue\"}],staticClass:\"filter__search\",attrs:{\"placeholder\":_vm.translations['imagebank.image-filter.search-placeholder']},domProps:{\"value\":(_vm.searchValue)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onSearch($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.searchValue=$event.target.value}}}),_c('v-button',{staticClass:\"filter__search-button\",attrs:{\"type\":\"primary\",\"disabled\":_vm.isSearching},on:{\"click\":_vm.onSearch}},[_vm._v(_vm._s(_vm.translations[\"imagebank.image-filter.search\"]))]),_c('div',{staticClass:\"filter__brands\"},[_c('div',{class:[{ 'filter__brands-select--static-logo filter__bricmate': !_vm.bricmateLogo }, 'filter__brands-select'],on:{\"click\":function($event){return _vm.toggleBrandFilter('Bricmate B2C')}}},[(_vm.bricmateLogo)?_c('img',{staticClass:\"filter__brands-logo\",attrs:{\"alt\":\"Bricmate logo\",\"src\":_vm.bricmateLogo}}):_vm._e()]),_c('div',{class:[{ 'filter__brands-select--static-logo filter__haven': !_vm.havenLogo }, 'filter__brands-select'],on:{\"click\":function($event){return _vm.toggleBrandFilter('Haven B2B')}}},[(_vm.havenLogo)?_c('img',{staticClass:\"filter__brands-logo\",attrs:{\"alt\":\"Haven logo\",\"src\":_vm.havenLogo}}):_vm._e()]),_c('div',{class:[{ 'filter__brands-select--static-logo filter__tapwell': !_vm.tapwellLogo }, 'filter__brands-select'],on:{\"click\":function($event){return _vm.toggleBrandFilter('Tapwell B2C')}}},[(_vm.tapwellLogo)?_c('img',{staticClass:\"filter__brands-logo\",attrs:{\"alt\":\"Tapwell logo\",\"src\":_vm.tapwellLogo}}):_vm._e()])]),_c('div',{staticClass:\"filter__select-wrapper\"},[_c('v-select-multi',{ref:\"multiSelectColor\",staticClass:\"select\",attrs:{\"loading\":_vm.loading,\"label\":this.translations['imagebank.selection.label.colors'],\"options\":_vm.filterColors},model:{value:(_vm.selectedColors),callback:function ($$v) {_vm.selectedColors=$$v},expression:\"selectedColors\"}}),_c('v-select-multi',{ref:\"multiSelectCategories\",staticClass:\"select\",attrs:{\"loading\":_vm.loading,\"label\":this.translations['imagebank.selection.label.categories'],\"options\":_vm.filterCategories},model:{value:(_vm.selectedCategories),callback:function ($$v) {_vm.selectedCategories=$$v},expression:\"selectedCategories\"}}),_c('v-select-multi',{ref:\"multiSelectImageType\",staticClass:\"select\",attrs:{\"loading\":_vm.loading,\"label\":this.translations['imagebank.selection.label.imageType'],\"options\":_vm.filterImageTypes},model:{value:(_vm.selectedImageTypes),callback:function ($$v) {_vm.selectedImageTypes=$$v},expression:\"selectedImageTypes\"}})],1)],1),_c('div',{staticClass:\"filter__right-section\"},[(_vm.selectedBrands)?_c('ul',{staticClass:\"filter__active-filters\"},[_vm._l((_vm.selectedBrands),function(item,index){return _c('li',{key:item,staticClass:\"filter__selected-filters\"},[_c('h3',{staticClass:\"filter__active-filter\"},[_vm._v(_vm._s(item))]),_c('div',{staticClass:\"filter__checkbox\"},[_c('span',[_vm._v(\"[\")]),_c('button',{staticClass:\"filter__delete-filter\",on:{\"click\":function($event){return _vm.onRemoveSelected(index, _vm.selectedBrands)}}},[_vm._v(\"X\")]),_c('span',[_vm._v(\"]\")])])])}),_c('li',{staticClass:\"filter__active-filter\"})],2):_vm._e(),(_vm.selectedColors)?_c('ul',{staticClass:\"filter__active-filters\"},_vm._l((_vm.selectedColors),function(item){return _c('li',{key:item,staticClass:\"filter__selected-filters\"},[_c('h3',{staticClass:\"filter__active-filter\"},[_vm._v(_vm._s(item))]),_c('div',{staticClass:\"filter__checkbox\"},[_c('span',[_vm._v(\"[\")]),_c('button',{staticClass:\"filter__delete-filter\",on:{\"click\":function($event){return _vm.$refs.multiSelectColor.check(item, false)}}},[_vm._v(\"X\")]),_c('span',[_vm._v(\"]\")])])])}),0):_vm._e(),(_vm.selectedCategories)?_c('ul',{staticClass:\"filter__active-filters\"},[_vm._l((_vm.selectedCategories),function(item){return _c('li',{key:item,staticClass:\"filter__selected-filters\"},[_c('h3',{staticClass:\"filter__active-filter\"},[_vm._v(_vm._s(item))]),_c('div',{staticClass:\"filter__checkbox\"},[_c('span',[_vm._v(\"[\")]),_c('button',{staticClass:\"filter__delete-filter\",on:{\"click\":function($event){return _vm.$refs.multiSelectCategories.check(item, false)}}},[_vm._v(\"X\")]),_c('span',[_vm._v(\"]\")])])])}),_c('li',{staticClass:\"filter__active-filter\"})],2):_vm._e(),(_vm.selectedImageTypes)?_c('ul',{staticClass:\"filter__active-filters\"},[_vm._l((_vm.selectedImageTypes),function(item){return _c('li',{key:item,staticClass:\"filter__selected-filters\"},[_c('h3',{staticClass:\"filter__active-filter\"},[_vm._v(_vm._s(item))]),_c('div',{staticClass:\"filter__checkbox\"},[_c('span',[_vm._v(\"[\")]),_c('button',{staticClass:\"filter__delete-filter\",on:{\"click\":function($event){return _vm.$refs.multiSelectImageType.check(item, false)}}},[_vm._v(\"X\")]),_c('span',[_vm._v(\"]\")])])])}),_c('li',{staticClass:\"filter__active-filter\"})],2):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Emit, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { Button, Checkbox, MultiSelect, MultiSelectOption, Search, Select } from \"@/imagebank/components\";\r\nimport { ImageBankFilterModel } from \"@/imagebank/model\";\r\n\r\n@Component({\r\n components: {\r\n \"v-button\": Button,\r\n // \"v-checkbox\": Checkbox,\r\n \"v-search\": Search,\r\n // \"v-select\": Select,\r\n \"v-select-multi\": MultiSelect,\r\n },\r\n})\r\nexport default class ImageFilter extends Vue {\r\n @Prop({ default: undefined })\r\n filters!: ImageBankFilterModel;\r\n @Prop()\r\n bricmateLogo!: string;\r\n @Prop()\r\n havenLogo!: string;\r\n @Prop()\r\n tapwellLogo!: string;\r\n @Prop()\r\n descriptionText!: string;\r\n @Prop({ default: false })\r\n loading!: boolean;\r\n\r\n translations: any;\r\n\r\n searchValue: string = \"\";\r\n isSearching: boolean = false;\r\n // checked1: boolean = false;\r\n // checked2: boolean = true;\r\n selectedBrands = new Array();\r\n selectedColors = new Array();\r\n selectedCategories = new Array();\r\n selectedImageTypes = new Array();\r\n filterBrands = new Array();\r\n filterColors = new Array();\r\n filterCategories = new Array();\r\n filterImageTypes = new Array();\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__litium.translation;\r\n }\r\n\r\n toggleBrandFilter(brand: string) {\r\n if (this.selectedBrands.includes(brand)) {\r\n let index = this.selectedBrands.indexOf(brand);\r\n this.selectedBrands.splice(index, 1);\r\n } else {\r\n this.selectedBrands.push(brand);\r\n }\r\n }\r\n\r\n @Watch(\"filters\")\r\n buildOptions() {\r\n if (this.filters) {\r\n this.filterColors = this.filters.colors.map(x => ({ id: x.key, name: x.key }));\r\n this.filterBrands = this.filters.brands.map(x => ({ id: x.key, name: x.key }));\r\n this.filterCategories = this.filters.categories.map(x => ({ id: x.key, name: x.key }));\r\n this.filterImageTypes = this.filters.imageTypes.map(x => ({ id: x.key, name: x.key }));\r\n }\r\n }\r\n\r\n @Emit(\"onSearch\")\r\n onSearch() {\r\n return {\r\n search: this.searchValue,\r\n brands: this.selectedBrands,\r\n colors: this.selectedColors,\r\n categories: this.selectedCategories,\r\n imageTypes: this.selectedImageTypes,\r\n };\r\n }\r\n\r\n @Watch(\"selectedColors\")\r\n @Watch(\"selectedBrands\")\r\n @Watch(\"selectedCategories\")\r\n @Watch(\"selectedImageTypes\")\r\n @Emit(\"onSearch\")\r\n onSelectMulti(e: string[]) {\r\n return {\r\n search: this.searchValue,\r\n brands: this.selectedBrands,\r\n colors: this.selectedColors,\r\n categories: this.selectedCategories,\r\n imageTypes: this.selectedImageTypes,\r\n };\r\n }\r\n\r\n onRemoveSelected(index: number, selectedFilters: string[]) {\r\n selectedFilters.splice(index, 1);\r\n }\r\n tpUnescape(string: string) {\r\n const e = document.createElement(\"textarea\");\r\n e.innerHTML = string;\r\n return e.childNodes.length === 0 ? \"\" : e.childNodes[0].nodeValue;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./image-filter.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./image-filter.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ImageFilter.vue?vue&type=template&id=df131f96&scoped=true&\"\nimport script from \"./image-filter.ts?vue&type=script&lang=ts&\"\nexport * from \"./image-filter.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ImageFilter.vue?vue&type=style&index=0&id=df131f96&lang=scss&scoped=true&\"\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 \"df131f96\",\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:\"imagelisting__images\"},_vm._l((_vm.imagesList),function(image,index){return _c('image-tile',{key:image.articleNumber + index,attrs:{\"image\":image},on:{\"toggle-selection\":_vm.onToggleImage,\"download\":_vm.onDownload,\"onShowModal\":_vm.onShowModal}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Emit, Vue } from \"vue-property-decorator\";\r\nimport { ApiService } from \"@/imagebank/api\";\r\nimport { ImageBankImageModel } from \"@/imagebank/model\";\r\nimport ImageTile from \"@/imagebank/components/image-tile/ImageTile.vue\";\r\nimport { imageBankStore } from \"@/imagebank/imagebank-state\";\r\n\r\n@Component({\r\n components: {\r\n ImageTile,\r\n },\r\n})\r\nexport default class ImageList extends Vue {\r\n\r\n modalImage!: ImageBankImageModel | null;\r\n\r\n @Prop()\r\n imagesList!: ImageBankImageModel[];\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n get selectedImages() {\r\n return imageBankStore.selectedImages;\r\n }\r\n\r\n @Emit(\"setModalImage\")\r\n onShowModal(image: ImageBankImageModel) {\r\n this.modalImage = image;\r\n }\r\n\r\n onToggleImage(image: ImageBankImageModel) {\r\n if (this.selectedImages.find(x => x.articleNumber === image.articleNumber)) {\r\n imageBankStore.removeSelectedImage(image);\r\n } else {\r\n imageBankStore.addSelectedImage(image);\r\n }\r\n }\r\n\r\n onDownload(data: { resolution: \"high\" | \"low\"; ids: string[] }) {\r\n ApiService.downloadImages(data.resolution, data.ids);\r\n }\r\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./image-list.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./image-list.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ImageList.vue?vue&type=template&id=1ac8ea05&scoped=true&\"\nimport script from \"./image-list.ts?vue&type=script&lang=ts&\"\nexport * from \"./image-list.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ImageList.vue?vue&type=style&index=0&id=1ac8ea05&lang=scss&scoped=true&\"\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 \"1ac8ea05\",\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.show)?_c('div',{staticClass:\"selected-images\"},[_c('div',{staticClass:\"selected-images__header\"},[_c('div',{staticClass:\"selected-images__left-group\"},[_c('h3',{staticClass:\"selected-images__title\"},[_vm._v(_vm._s(_vm.translations[\"imagebank.selected-images.title\"])+\" \"+_vm._s(_vm.selectedImages.length)+\" st\")]),_c('div',{staticClass:\"selected-images__checkbox\"},[_c('span',[_vm._v(\"[\")]),_c('button',{staticClass:\"selected-images__delete-all\",on:{\"click\":function($event){return _vm.onRemoveAll(_vm.selectedImages)}}},[_vm._v(\"X\")]),_c('span',[_vm._v(\"]\")])])]),_c('div',{staticClass:\"selected-images__right-group\",on:{\"click\":_vm.toggleImages}},[_c('span',{staticClass:\"selected-images__show\"},[_vm._v(\" \"+_vm._s(_vm.showImages ? _vm.translations[\"imagebank.selected-images.toggle-hide\"] : _vm.translations[\"imagebank.selected-images.toggle-show\"]))]),_c('div',{staticClass:\"selected-images__icon\",class:_vm.showImages ? 'selected-images__icon-hide' : 'selected-images__icon-show'})])]),(_vm.showImages)?_c('ul',{staticClass:\"selected-images__list\"},_vm._l((_vm.selectedImages),function(item){return _c('li',{key:item.articleNumber,staticClass:\"selected-images__list-item\"},[_c('figure',{staticClass:\"selected-images__figure\"},[_c('img',{staticClass:\"selected-images__image\",attrs:{\"src\":item.url,\"alt\":\"\"}})]),_c('hgroup',{staticClass:\"selected-images__item-info\"},[_c('h3',{staticClass:\"selected-images__item-name\"},[_vm._v(_vm._s(item.name))]),_c('span',[_vm._v(_vm._s(item.color))])]),_c('button',{staticClass:\"selected-images__delete-item\",on:{\"click\":function($event){return _vm.onRemoveSelected(item)}}})])}),0):_vm._e(),_c('v-button',{staticClass:\"selected-images__button\",attrs:{\"type\":\"primary expanded\"},on:{\"click\":function($event){return _vm.onDownload('low')}}},[_vm._v(\" \"+_vm._s(_vm.translations[\"imagebank.selected-images.download.low_resolution\"])+\" \")]),_c('v-button',{attrs:{\"type\":\"secondary expanded\"},on:{\"click\":function($event){return _vm.onDownload('high')}}},[_vm._v(\" \"+_vm._s(_vm.translations[\"imagebank.selected-images.download.high_resolution\"])+\" \"+_vm._s(_vm.totalImageSize(_vm.selectedImages))+\" \")])],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Emit, Vue } from \"vue-property-decorator\";\r\nimport { imageBankStore } from \"@/imagebank/imagebank-state\";\r\nimport { Button, Checkbox } from \"@/imagebank/components\";\r\nimport { ImageBankImageModel } from \"@/imagebank/model\";\r\n\r\n@Component({\r\n components: {\r\n \"v-button\": Button,\r\n \"v-checkbox\": Checkbox,\r\n },\r\n})\r\nexport default class SelectedImagesModal extends Vue {\r\n translations: any;\r\n\r\n showImages: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n this.translations = window.__litium.translation;\r\n }\r\n\r\n get selectedImages(): ImageBankImageModel[] {\r\n return imageBankStore.selectedImages;\r\n }\r\n\r\n get show() {\r\n return imageBankStore.selectedImages.length > 0;\r\n }\r\n\r\n @Emit(\"download\")\r\n onDownload(resolution: \"high\" | \"low\") {\r\n const ids = this.selectedImages.map(x => x.id);\r\n\r\n return {\r\n resolution,\r\n ids,\r\n };\r\n }\r\n\r\n @Emit(\"toggle-selection\")\r\n onRemoveSelected(image: ImageBankImageModel) {\r\n return image;\r\n }\r\n\r\n @Emit(\"remove\")\r\n onRemoveAll(images: ImageBankImageModel[]) {\r\n images.splice(0);\r\n }\r\n\r\n toggleImages() {\r\n this.showImages = !this.showImages;\r\n }\r\n\r\n totalImageSize(images: ImageBankImageModel[]) {\r\n var totalSize: number = 0;\r\n images.forEach(image => {\r\n totalSize += parseInt(image.size);\r\n });\r\n return this.convertByteToMB(totalSize).toString();\r\n }\r\n\r\n convertByteToMB(data) {\r\n const const_term = 1024;\r\n return (data / const_term ** 2).toFixed(1) + \"mb\";\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./selected-images-modal.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./selected-images-modal.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SelectedImagesModal.vue?vue&type=template&id=43887377&scoped=true&\"\nimport script from \"./selected-images-modal.ts?vue&type=script&lang=ts&\"\nexport * from \"./selected-images-modal.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./SelectedImagesModal.vue?vue&type=style&index=0&id=43887377&lang=scss&scoped=true&\"\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 \"43887377\",\n null\n \n)\n\nexport default component.exports","import { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { ApiService } from \"@/imagebank/api\";\r\nimport { imageBankStore } from \"@/imagebank/imagebank-state\";\r\nimport { ImageBankFilterModel, ImageBankImageModel } from \"@/imagebank/model\";\r\nimport { Button, Checkbox } from \"@/imagebank/components\";\r\nimport ImageModal from \"@/imagebank/components/image-modal/ImageModal.vue\";\r\nimport ImageTile from \"@/imagebank/components/image-tile/ImageTile.vue\";\r\nimport ImageFilter from \"@/imagebank/components/image-filter/ImageFilter.vue\";\r\nimport ImageList from \"@/imagebank/components/image-list/ImageList.vue\";\r\nimport SelectedImagesModal from \"@/imagebank/components/seleted-images-modal/SelectedImagesModal.vue\";\r\n\r\n@Component({\r\n components: {\r\n \"v-button\": Button,\r\n \"v-checkbox\": Checkbox,\r\n ImageModal,\r\n ImageTile,\r\n ImageFilter,\r\n ImageList,\r\n SelectedImagesModal,\r\n },\r\n})\r\nexport default class ImageBank extends Vue {\r\n @Prop()\r\n bricmateLogo!: string;\r\n @Prop()\r\n havenLogo!: string;\r\n @Prop()\r\n tapwellLogo!: string;\r\n @Prop()\r\n descriptionText!: string;\r\n translations: any;\r\n\r\n modalImage!: ImageBankImageModel | null;\r\n images = new Array();\r\n imageFilters!: ImageBankFilterModel;\r\n showSelectedImages = false;\r\n allSelectedImages = false;\r\n\r\n noResult: boolean = false;\r\n\r\n private pageIndex: number = 2;\r\n public showLoadMoreButton: boolean = true;\r\n loading: boolean = false;\r\n\r\n //@Prop()\r\n private searchTermInternal!: {\r\n search: string;\r\n color?: string[] | undefined;\r\n brand?: string[] | undefined;\r\n categories?: string[] | undefined;\r\n imageTypes?: string[] | undefined;\r\n pageIndex: number;\r\n };\r\n constructor() {\r\n super();\r\n this.translations = window.__litium.translation;\r\n\r\n this.modalImage = null;\r\n this.imageFilters = {} as ImageBankFilterModel;\r\n\r\n }\r\n\r\n mounted() {\r\n ApiService.getFilters().then(x => (this.imageFilters = x.data));\r\n }\r\n\r\n\r\n get searchTerm() {\r\n return this.searchTermInternal;\r\n }\r\n set searchTerm(v) {\r\n this.searchTermInternal = v;\r\n }\r\n get selectedImages() {\r\n return imageBankStore.selectedImages;\r\n }\r\n\r\n onShowModal(image: ImageBankImageModel) {\r\n this.modalImage = image;\r\n }\r\n\r\n onSearch(filter: { search: string; color?: string[]; brand?: string[]; categories?: string[]; imageTypes?: string[]; pageIndex: number }) {\r\n this.searchTerm = filter;\r\n this.pageIndex = 1;\r\n filter.pageIndex = this.pageIndex;\r\n this.loading = true;\r\n ApiService.search(filter).then(result => {\r\n this.images = [...result.data];\r\n this.searchTerm.pageIndex += 1;\r\n this.loading = false;\r\n if (result.data.length == 0) {\r\n this.noResult = true;\r\n } else {\r\n this.noResult = false;\r\n }\r\n });\r\n }\r\n\r\n selectAllImages(images: ImageBankImageModel[]) {\r\n images.forEach(image => {\r\n imageBankStore.addSelectedImage(image);\r\n this.allSelectedImages = true;\r\n });\r\n }\r\n\r\n removeAllImages(images: ImageBankImageModel[]) {\r\n images.forEach(image => {\r\n imageBankStore.removeSelectedImage(image);\r\n this.allSelectedImages = false;\r\n });\r\n }\r\n\r\n onToggleImage(image: ImageBankImageModel) {\r\n if (this.selectedImages.find(x => x.articleNumber === image.articleNumber)) {\r\n imageBankStore.removeSelectedImage(image);\r\n } else {\r\n imageBankStore.addSelectedImage(image);\r\n }\r\n }\r\n\r\n onDownload(data: { resolution: \"high\" | \"low\"; ids: string[] }) {\r\n ApiService.downloadImages(data.resolution, data.ids);\r\n }\r\n\r\n public loadMoreProducts() {\r\n if (this.searchTerm) {\r\n this.loading = true;\r\n ApiService.search(this.searchTerm).then(result => {\r\n this.loading = false;\r\n if (result && result.data) {\r\n this.images = this.images.concat(result.data);\r\n this.searchTerm.pageIndex += 1;\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/eslint-loader/index.js??ref--13-0!./imagebank.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/eslint-loader/index.js??ref--13-0!./imagebank.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ImageBank.vue?vue&type=template&id=158f5e34&scoped=true&\"\nimport script from \"./imagebank.ts?vue&type=script&lang=ts&\"\nexport * from \"./imagebank.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ImageBank.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./ImageBank.vue?vue&type=style&index=1&id=158f5e34&lang=scss&scoped=true&\"\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 \"158f5e34\",\n null\n \n)\n\nexport default component.exports","import \"core-js/stable\";\r\nimport \"regenerator-runtime/runtime\";\r\nimport Vue from \"vue\";\r\nimport VueGtm from \"gtm-vue\";\r\nimport UniqueId from \"vue-unique-id\";\r\nimport moment from \"moment\";\r\nimport { ValidationProvider, localize, ValidationObserver } from \"vee-validate\";\r\nimport \"@/localization/veelocalize\";\r\nimport store from \"@/store/tapwell/index\";\r\nimport \"spin.js/spin.css\";\r\nimport \"@/styles/tapwell/main.scss\";\r\nimport \"@/scripts/tapwell/application.js\";\r\nimport Category from \"@/components/tapwell/Category/Category.vue\";\r\nimport MiniCart from \"@/components/tapwell/MiniCart/MiniCart.vue\";\r\nimport ProductDetail from \"@/components/tapwell/Product/ProductDetail.vue\";\r\nimport ProductDetailHaven from \"@/components/tapwell/Product/ProductDetailHaven.vue\";\r\nimport ProductUpSell from \"@/components/tapwell/Product/ProductUpSell.vue\";\r\nimport ProductAccessoryList from \"@/components/tapwell/Product/ProductAccessoryList.vue\";\r\nimport ReorderButton from \"@/components/tapwell/Order/ReorderButton.vue\";\r\nimport Checkout from \"@/components/tapwell/Checkout/Checkout.vue\";\r\nimport CheckoutB2c from \"@/components/tapwell/Checkout/CheckoutB2C.vue\";\r\nimport OrderConfirmationB2c from \"@/components/tapwell/Checkout/OrderConfirmationB2C.vue\";\r\nimport ParallaxBlock from \"@/components/tapwell/Blocks/ParallaxBlock.vue\";\r\nimport ProductDetailB2c from \"@/components/tapwell/Product/ProductDetailB2C.vue\";\r\nimport SearchResultB2c from \"@/components/tapwell/Search/SearchResultB2C.vue\";\r\nimport SearchB2c from \"@/components/tapwell/Search/SearchB2C.vue\";\r\nimport SparePartShop from \"@/components/tapwell/SparePartShop/SparePartShop.vue\";\r\nimport CustomerServiceReport from \"@/components/tapwell/CustomerSupport/CustomerServiceReport.vue\";\r\nimport SelectOrganization from \"@/components/tapwell/SelectOrganization/SelectOrganization.vue\";\r\nimport CatalogForm from \"@/components/bricmate/CatalogForm\";\r\nimport NewsletterSignup from \"@/components/tapwell/NewsletterSignup/NewsletterSignup.vue\";\r\nimport NewsletterBanner from \"@/components/tapwell/NewsletterSignup/NewsletterBanner.vue\";\r\nimport CountryPicker from \"@/components/tapwell/CountryPicker/CountryPicker.vue\";\r\nimport ShowerConfiguratorStandalone from \"@/components/tapwell/Configurator/ShowerConfiguratorStandalone.vue\";\r\nimport VueScrollTo from \"vue-scrollto\";\r\nimport VueLazyload from \"vue-lazyload\";\r\nimport CookieLaw from \"vue-cookie-law\";\r\nimport ImageBank from \"@/imagebank/ImageBank.vue\";\r\n\r\nVue.use(UniqueId);\r\nVue.use(VueScrollTo);\r\nVue.component(\"ValidationProvider\", ValidationProvider);\r\nVue.component(\"ValidationObserver\", ValidationObserver);\r\nVue.component(\"CookieLaw\", CookieLaw);\r\nVue.config.productionTip = false;\r\n\r\nconst gtmid = (document.querySelector(\"#app\") as HTMLElement).getAttribute(\"data-gtmid\") as string;\r\n\r\nVue.use(VueLazyload, {\r\n loading: \"/lazy-loader.svg\",\r\n throttleWait: 10,\r\n observer: true,\r\n preLoad: 5\r\n});\r\n\r\nVue.use(VueGtm, {\r\n id: gtmid,\r\n enabled: gtmid != null && gtmid !== \"\",\r\n debug: process.env.NODE_ENV !== \"production\",\r\n});\r\n\r\nnew Vue({\r\n components: {\r\n Category,\r\n MiniCart,\r\n ProductDetail,\r\n ProductUpSell,\r\n ProductAccessoryList,\r\n ReorderButton,\r\n Checkout,\r\n ParallaxBlock,\r\n ProductDetailB2c,\r\n SearchB2c,\r\n SparePartShop,\r\n CheckoutB2c,\r\n OrderConfirmationB2c,\r\n CustomerServiceReport,\r\n SelectOrganization,\r\n SearchResultB2c,\r\n CatalogForm,\r\n NewsletterSignup,\r\n NewsletterBanner,\r\n CountryPicker,\r\n ShowerConfiguratorStandalone,\r\n ProductDetailHaven,\r\n ImageBank,\r\n },\r\n store,\r\n created() {\r\n const culture = (document.querySelector(\"html\") as HTMLElement).getAttribute(\"lang\") as string;\r\n localize(culture);\r\n moment.locale(culture);\r\n },\r\n}).$mount(\"#app\");\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScrollShadow.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScrollShadow.vue?vue&type=style&index=0&lang=scss&\"","window.addEventListener(\"DOMContentLoaded\", (event) => {\r\n const hamburger = document.querySelector(\".hamburger\");\r\n const menu = document.querySelector(\".header\");\r\n const body = document.querySelector(\"body\");\r\n const html = document.querySelector(\"html\");\r\n const cart = document.querySelector(\".header__cart\");\r\n const heading = document.querySelector(\".header__heading\");\r\n const links = document.querySelector(\".header__links\");\r\n const app = document.querySelector(\"#app\");\r\n \r\n const header = document.querySelector(\".header\");\r\n const bannerText = document.querySelector(\".banner__text\");\r\n const scrollUp = \"scroll-up\";\r\n const scrollDown = \"scroll-down\";\r\n const searching = \"searching\";\r\n\r\n function displayWindowSize() {\r\n var windowWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\r\n if (!windowWidth < 1024 && !app.classList.contains(\"b2c\")) {\r\n hamburger.classList.remove(\"open\");\r\n menu.classList.remove(\"open\");\r\n body.classList.remove(\"menu-open\");\r\n html.classList.remove(\"menu-open\");\r\n menu.classList.remove(\"mega-menu-open\");\r\n body.classList.remove(\"mega-menu-open\");\r\n html.classList.remove(\"mega-menu-open\");\r\n }\r\n if (windowWidth < 1024 && app.classList.contains(\"b2c\")) {\r\n hamburger.classList.remove(\"open\");\r\n menu.classList.remove(\"open\");\r\n body.classList.remove(\"menu-open\");\r\n html.classList.remove(\"menu-open\");\r\n menu.classList.remove(\"mega-menu-open\");\r\n body.classList.remove(\"mega-menu-open\");\r\n html.classList.remove(\"mega-menu-open\");\r\n }\r\n }\r\n\r\n function toggleMenuClick() {\r\n var windowWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\r\n if (windowWidth < 1024) {\r\n hamburger.classList.toggle(\"open\");\r\n menu.classList.toggle(\"open\");\r\n body.classList.toggle(\"menu-open\");\r\n html.classList.toggle(\"menu-open\");\r\n } else if(!windowWidth < 1024 && app.classList.contains(\"b2c\")) {\r\n hamburger.classList.toggle(\"open\");\r\n menu.classList.toggle(\"mega-menu-open\");\r\n body.classList.toggle(\"mega-menu-open\");\r\n html.classList.toggle(\"mega-menu-open\");\r\n }\r\n else {\r\n hamburger.classList.remove(\"open\");\r\n body.classList.remove(\"menu-open\");\r\n html.classList.remove(\"menu-open\");\r\n cart.classList.remove(\"open\");\r\n heading.classList.remove(\"open\");\r\n links.classList.remove(\"open\");\r\n }\r\n }\r\n\r\n window.addEventListener(\"resize\", displayWindowSize);\r\n hamburger.addEventListener(\"click\", toggleMenuClick); \r\n\r\n let lastScroll = 0;\r\n\r\n window.addEventListener(\"scroll\", () => {\r\n const currentScroll = window.pageYOffset;\r\n //Top of page\r\n if (currentScroll <= 0) {\r\n if (header) {\r\n header.classList.remove(scrollUp);\r\n header.classList.remove(scrollDown);\r\n header.classList.remove(\"stick\");\r\n }\r\n if (bannerText) {\r\n bannerText.classList.remove(scrollDown); \r\n }\r\n return;\r\n }\r\n \r\n //Scroll down\r\n if (currentScroll > lastScroll && !header.classList.contains(scrollDown) && !header.classList.contains(\"open\") && !body.classList.contains(\"product-category-page\")) {\r\n if (header) {\r\n header.classList.add(scrollDown);\r\n header.classList.remove(scrollUp);\r\n }\r\n if (bannerText) {\r\n bannerText.classList.add(scrollDown);\r\n }\r\n\r\n } \r\n\r\n // Edge case Product categoryPage\r\n else if (currentScroll < 350 && !header.classList.contains(\"open\") && body.classList.contains(\"product-category-page\")) {\r\n if (header) {\r\n header.classList.add(\"stick\");\r\n }\r\n } \r\n\r\n // Edge case Product categoryPage\r\n else if (currentScroll > 350 && !header.classList.contains(\"open\") && body.classList.contains(\"product-category-page\")) {\r\n if (header) {\r\n header.classList.remove(scrollUp);\r\n header.classList.add(scrollDown);\r\n header.classList.remove(\"stick\");\r\n }\r\n if (bannerText) {\r\n bannerText.classList.remove(scrollUp);\r\n header.classList.add(scrollDown);\r\n }\r\n } \r\n \r\n // Edge case Product categoryPage\r\n if (currentScroll < lastScroll && header.classList.contains(scrollDown) && !header.classList.contains(\"open\") && body.classList.contains(\"product-category-page\")) {\r\n if (header) {\r\n header.classList.remove(scrollDown);\r\n header.classList.add(scrollUp);\r\n }\r\n if (bannerText) {\r\n bannerText.classList.remove(scrollDown);\r\n header.classList.add(scrollUp);\r\n }\r\n }\r\n //Scroll up\r\n else if (currentScroll < lastScroll && header.classList.contains(scrollDown) && !header.classList.contains(\"open\") && !header.classList.contains(searching)) {\r\n if (header) {\r\n header.classList.remove(scrollDown);\r\n header.classList.add(scrollUp);\r\n }\r\n }\r\n lastScroll = currentScroll;\r\n });\r\n\r\n function showMoreOrders(e) {\r\n e.target.parentNode.parentNode.parentNode.parentNode.classList.add(\"open\");\r\n }\r\n var showMoreBtn = document.querySelectorAll(\".order__show-btn\");\r\n for (var i = 0; i < showMoreBtn.length; i++) {\r\n showMoreBtn[i].addEventListener(\"click\", showMoreOrders); \r\n }\r\n});\r\n\r\n// IE11 polyfill source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries#polyfill\r\nif (!Object.entries) {\r\n Object.entries = function( obj ){\r\n var ownProps = Object.keys( obj ),\r\n i = ownProps.length,\r\n resArray = new Array(i); // preallocate the Array\r\n while (i--)\r\n resArray[i] = [ownProps[i], obj[ownProps[i]]];\r\n \r\n return resArray;\r\n };\r\n}","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectOrganization.vue?vue&type=style&index=0&id=41319312&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectOrganization.vue?vue&type=style&index=0&id=41319312&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductAccessoryList.vue?vue&type=style&index=0&id=a84592a6&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductAccessoryList.vue?vue&type=style&index=0&id=a84592a6&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductUpSell.vue?vue&type=style&index=0&id=3c42f950&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductUpSell.vue?vue&type=style&index=0&id=3c42f950&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SparePartShop.vue?vue&type=style&index=0&id=1b385b08&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SparePartShop.vue?vue&type=style&index=0&id=1b385b08&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CategoryNavigation.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CategoryNavigation.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiSelect.vue?vue&type=style&index=0&id=26881e08&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiSelect.vue?vue&type=style&index=0&id=26881e08&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShowerConfiguratorStandalone.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShowerConfiguratorStandalone.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductDetailHaven.vue?vue&type=style&index=0&id=5be7ea41&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductDetailHaven.vue?vue&type=style&index=0&id=5be7ea41&lang=scss&scoped=true&\"","export function dectectMobileDevice(maxWidth) { \r\n return window.matchMedia(`only screen and (max-width: ${maxWidth}px)`).matches;\r\n }\r\n\r\n export function toggleBodyClassName(className){\r\n const bodyElem = document.body;\r\n\r\n if(bodyElem.classList.contains(className)){\r\n bodyElem.classList.remove(className);\r\n }else{\r\n bodyElem.classList.add(className)\r\n }\r\n}","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Search.vue?vue&type=style&index=0&id=7003fc12&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Search.vue?vue&type=style&index=0&id=7003fc12&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=style&index=0&id=8eabe380&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=style&index=0&id=8eabe380&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductTile.vue?vue&type=style&index=0&id=6511907b&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductTile.vue?vue&type=style&index=0&id=6511907b&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageTile.vue?vue&type=style&index=0&id=329d237e&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageTile.vue?vue&type=style&index=0&id=329d237e&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerServiceReport.vue?vue&type=style&index=0&id=e7f1d1a6&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerServiceReport.vue?vue&type=style&index=0&id=e7f1d1a6&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageFilter.vue?vue&type=style&index=0&id=df131f96&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageFilter.vue?vue&type=style&index=0&id=df131f96&lang=scss&scoped=true&\"","import axios, { AxiosResponse, AxiosRequestConfig } from \"axios\";\r\nimport \"../../models/Window\";\r\nimport { orderCatalog } from \"@/models/bricmate/orderCatalog\";\r\n\r\nfunction errorResponse(e: any): Promise> {\r\n const response: AxiosResponse = {\r\n data: false,\r\n status: e.response.status,\r\n statusText: e.response.data,\r\n headers: {},\r\n request: {},\r\n config: null as unknown as AxiosRequestConfig,\r\n };\r\n return Promise.resolve(response);\r\n}\r\n\r\n// For some reason if I import the ApiService from ./ApiService.ts the styling disappears and I don't know why\r\nexport const ApiService2 =\r\n{\r\n async orderCatalog(model: orderCatalog): Promise> {\r\n try {\r\n return await axios.post(\"/api/bricmateb2ccatalogorder/catalog\", model, {\r\n headers: {\r\n \"litium-request-context\": JSON.stringify(window.__litium.requestContext),\r\n \"RequestVerificationToken\": window.localStorage.getItem(\"requestVerificationToken\"),\r\n 'content-type': 'application/json',\r\n },\r\n });\r\n } catch (e) {\r\n return errorResponse(e);\r\n }\r\n },\r\n\r\n};\r\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectProductTile.vue?vue&type=style&index=0&id=7e345730&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectProductTile.vue?vue&type=style&index=0&id=7e345730&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchModal.vue?vue&type=style&index=0&id=e79f80ac&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchModal.vue?vue&type=style&index=0&id=e79f80ac&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SparePartTile.vue?vue&type=style&index=0&id=246489a9&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SparePartTile.vue?vue&type=style&index=0&id=246489a9&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductTileB2C.vue?vue&type=style&index=0&id=717c9584&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductTileB2C.vue?vue&type=style&index=0&id=717c9584&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductList.vue?vue&type=style&index=0&id=155c3067&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductList.vue?vue&type=style&index=0&id=155c3067&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchPanel.vue?vue&type=style&index=0&id=dfaa8ede&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchPanel.vue?vue&type=style&index=0&id=dfaa8ede&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"thank-you-modal\"},[_c('div',{staticClass:\"thank-you-modal__content\"},[_c('div',{staticClass:\"container container--modifier\"},[_c('div',{staticClass:\"row row--modifier\"},[_c('div',{staticClass:\"col-xs-12\"},[_c('h2',{staticClass:\"block__header\"},[_vm._v(_vm._s(_vm.thankYouHeader))])])]),_c('div',{staticClass:\"row row--modifier\"},[_c('div',{staticClass:\"col-xs-12\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.thankYouMsg)}})])]),_c('button',{staticClass:\"thank-you-modal__close-btn\",on:{\"click\":function($event){return _vm.$emit('closeModal')}}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n name: \"ThankYouModal\",\r\n props: [\"thankYouMsg\", \"thankYouHeader\"],\r\n data() {\r\n return {\r\n };\r\n },\r\n computed: {\r\n },\r\n methods: {\r\n\r\n }\r\n};","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./ThankYouModal.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./ThankYouModal.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ThankYouModal.vue?vue&type=template&id=79606db0&\"\nimport script from \"./ThankYouModal.ts?vue&type=script&lang=ts&\"\nexport * from \"./ThankYouModal.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 mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Select.vue?vue&type=style&index=0&id=19fe4a8e&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Select.vue?vue&type=style&index=0&id=19fe4a8e&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductTileHaven.vue?vue&type=style&index=0&id=2fbdfb12&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductTileHaven.vue?vue&type=style&index=0&id=2fbdfb12&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductDetail.vue?vue&type=style&index=0&id=54c14f83&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductDetail.vue?vue&type=style&index=0&id=54c14f83&lang=scss&scoped=true&\""],"sourceRoot":""}