{"version":3,"file":"DetailedCart.min.js","sources":["DetailedCart.js"],"sourcesContent":["(function (w, $, _) {\r\n \r\n const assetId = '~/Controls/Site/DetailedCart.min.js';\r\n\r\n if (!w.umwAssets || !w.umwAssets[assetId]) {\r\n console.error('No context found for ' + assetId);\r\n return;\r\n }\r\n\r\n const ctx = w.umwAssets[assetId][0];\r\n const cookie = w.cms && w.cms.cookie ? w.cms.cookie : $.cookie;\r\n\r\n $(function () {\r\n $('.UC110MainContainer input[data-sync-input],select[data-sync-input]').change(function () {\r\n const syncInputKey = $(this).data('sync-input');\r\n if(syncInputKey) {\r\n const syncInputValue = $(this).val();\r\n $('.UC110MainContainer input[data-sync-input=\"' + syncInputKey + '\"],select[data-sync-input=\"' + syncInputKey + '\"]').val(syncInputValue);\r\n }\r\n });\r\n\r\n if (w.ExternalTrackingEventBus) {\r\n w.PubSub.subscribe(w.ExternalTrackingEventBus.channel.event.handled,\r\n function (topic, data) {\r\n if (!(data && data.data && data.data.items && data.data.items.length && _.every(data.data.items, function(item) { return item && item.operationSource === 'DetailedCart' }))) {\r\n const loc = w.location;\r\n w.location = loc.protocol + '//' + loc.host + loc.pathname + loc.search;\r\n }\r\n });\r\n } else {\r\n w.PubSub.subscribe('externaltracking.complete',\r\n function () {\r\n const loc = w.location;\r\n w.location = loc.protocol + '//' + loc.host + loc.pathname + loc.search;\r\n });\r\n }\r\n\r\n $(\".js-detailed-cart-collapse-button\").on(\"click\", function () {\r\n const productDetails = $(this).parent().find(\".js-detailed-cart-collapsible-content\");\r\n if (productDetails.is(\":visible\")){\r\n productDetails.slideUp();\r\n } else {\r\n productDetails.slideDown();\r\n }\r\n });\r\n\r\n (function setupDeliverabilityByPostCode() {\r\n var $txbPostalCode = $('#' + ctx.txbPostalCodeId);\r\n $txbPostalCode.keypress(function (e) {\r\n if (e.keyCode === 13) {\r\n e.preventDefault();\r\n var newCode = $txbPostalCode.val().trim();\r\n\r\n if (!newCode || !newCode.length) {\r\n w.PubSub.publish('notification.error',\r\n {\r\n text: ctx.labels.emptyPostalCode,\r\n timeout: 5000\r\n });\r\n } else if (window.globalSettings.CountryCode === 'NO') {\r\n if (newCode.length !== 4 || !$.isNumeric(newCode)) {\r\n w.PubSub.publish('notification.error',\r\n {\r\n text: ctx.labels.invalidPostalCode,\r\n timeout: 5000\r\n });\r\n } else {\r\n $.getPostalCodeInfo(newCode,\r\n function (codeInfo) {\r\n if (codeInfo.valid) {\r\n cookie('PostalCodeOverride', newCode, { path: window.R });\r\n reloadPageAsGet();\r\n } else {\r\n w.PubSub.publish('notification.error',\r\n {\r\n text: ctx.labels.unknownPostalCode,\r\n timeout: 5000\r\n });\r\n }\r\n });\r\n }\r\n } else {\r\n cookie('PostalCodeOverride', newCode, { path: window.R });\r\n reloadPageAsGet();\r\n }\r\n }\r\n });\r\n\r\n const $checkoutBtns = $('#' + ctx.btnCheckoutId + ',#' + ctx.lnkKlarnaCheckoutId);\r\n $checkoutBtns.click(function (e) {\r\n if ($(this).hasClass('disabledLastBtn')) {\r\n e.preventDefault();\r\n const $lbPostalCode = $('#' + ctx.lbPostalCodeMissingId);\r\n $lbPostalCode.css({ 'visibility': 'visible' });\r\n $lbPostalCode.animate({ 'color': 'red' }, 300);\r\n }\r\n });\r\n\r\n const $undeliverableProds = $('.' + ctx.undeliverableProductCssClass);\r\n if ($undeliverableProds.length) {\r\n $checkoutBtns.addClass('disabledLastBtn');\r\n\r\n $.each($undeliverableProds, function (index, item) {\r\n const tempOrderlineId = $(item).data('tolid');\r\n if (tempOrderlineId) {\r\n $('div[data-tolid=\"' + tempOrderlineId + '\"]').toggleClass(ctx.undeliverableProductCssClass, true);\r\n }\r\n });\r\n\r\n w.PubSub.publish('notification.error',\r\n {\r\n text: ctx.labels.undeliverableProdsWarning,\r\n timeout: 5000\r\n });\r\n }\r\n })();\r\n\r\n let codes = $('#' + ctx.hDiscountCodesId).val();\r\n codes = codes ? JSON.parse(codes) : null;\r\n if (!codes || codes.length === 0) { // if codes exists, free shipping will be called from codes handler\r\n w.setFreeShippingMessage(ctx.totalPrice);\r\n }\r\n\r\n if (ctx.cartWarningMessage) {\r\n w.PubSub.publish('notification.warning', { text: ctx.cartWarningMessage, timeout: 30000 });\r\n }\r\n\r\n if (ctx.cartErrorMessage) {\r\n w.PubSub.publish('notification.error', { text: ctx.cartErrorMessage, timeout: 30000 });\r\n }\r\n\r\n const $btnDeleteAll = $('#' + ctx.btnDeleteAllId);\r\n if ($btnDeleteAll.length) {\r\n var isDeleteConfirmed = false;\r\n var btnDeleteAllName = $btnDeleteAll.attr('id').replace(new RegExp('_', 'g'), '$');\r\n\r\n $btnDeleteAll.on('click',\r\n function (e) {\r\n if (!isDeleteConfirmed) {\r\n e.preventDefault();\r\n\r\n const dialog = \"