{"version":3,"file":"default/js/bambuser/client.js","mappings":"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","sources":["webpack://autobahn-build/./int_bambuser/cartridges/int_bambuser/cartridge/client/default/js/bambuser/client.js","webpack://autobahn-build/./int_bambuser/cartridges/int_bambuser/cartridge/client/default/js/bambuser/modules/bambuser.js","webpack://autobahn-build/webpack/bootstrap"],"sourcesContent":["const bambuserHeroWrapper = document.querySelectorAll('.bambuser-hero-trigger');\nconst bambuser = require('./modules/bambuser');\n\nif (bambuserHeroWrapper.length) {\n /**\n * example bambuser frontend module integration\n */\n document.querySelectorAll('.js_bambuser-stream-trigger:not(.js_processed)').forEach((el) => {\n const { streamId } = el.dataset;\n if (streamId) {\n bambuser.initStream(streamId, el);\n el.classList.add('js_processed');\n }\n });\n}\n\n// initializing the miniplayer skip pages\nbambuser.miniplayerSkipPages();\n// initializing the shopping floating action button widget\nbambuser.initLiveShoppingWidget();\n","/**\n * Bambuser helper functions for the Bambuser integration\n * @module bambuser\n */\n\n/**\n* Reloads the iframe page for live commerce\n* @returns {void}\n*/\nfunction reloadIframePage() {\n /* eslint-disable */\n $('iframe').each((i, item) => {\n const $pageFrame = $(item);\n const parentId = $($pageFrame.parent()).attr('id');\n /* eslint-enable */\n const currentPage = window.location.href;\n if (currentPage.indexOf('Order-Confirm') > -1) {\n return;\n }\n\n if (parentId && parentId.indexOf('livecommerce-surf') > -1) {\n $pageFrame.attr('src', currentPage);\n }\n });\n}\n\n/**\n* Updates the shop's mini cart\n* @param {Object} options - options for updating the mini cart\n* @param {number} options.quantityTotal - total quantity of items in the mini cart\n* @param {number} options.minicartCountOfItems - count of items in the mini cart\n* @returns {void}\n*/\nfunction updateShopMiniCart({ quantityTotal, minicartCountOfItems }) {\n window.$('.minicart').trigger('count:update', { quantityTotal, minicartCountOfItems });\n document.dispatchEvent(new Event('cart:update', { bubbles: true }));\n reloadIframePage();\n}\n\n/**\n* Updates the Bambuser product with the given product response, player, and configuration\n* @param {Object} productResponse - the response from the Bambuser API for the product\n* @param {Object} player - the Bambuser player object\n* @param {Object} config - the configuration for the Bambuser product\n*/\nfunction updateBambuserProduct(productResponse, player, config) {\n if (productResponse) {\n player.updateProduct(productResponse.bambuserPID, (factory) => factory\n .currency(config.currency)\n .locale(config.locale)\n .product((p) => p\n .brandName(productResponse.brand)\n .defaultVariationIndex(0)\n .description(productResponse.description)\n .name(productResponse.name)\n .sku(productResponse.id)\n .variations((v) => productResponse.variations.map((variation) => v()\n .attributes((a) => a\n .colorName(variation.colorName))\n .imageUrls(variation.imageURLs)\n .name(variation.name)\n .sku(variation.sku)\n .sizes((s) => variation.sizes.map((size) => s()\n .name(size.name)\n .inStock(size.inStock)\n .price((pr) => pr\n .currency(size.price.currency)\n .current(size.price.current))\n .sku(size.sku)))))));\n }\n}\n\n/**\n* Pauses the video playback if the bambuserPlayer object is available in the parent window\n*/\nfunction pauseVideo() {\n if (window.parent.bambuserPlayer) {\n window.parent.bambuserPlayer.pause();\n }\n}\n\n/**\n* Continues the video playback if the bambuser player is available\n* @returns {void}\n*/\nfunction continueVideo() {\n if (window.parent.bambuserPlayer) {\n window.parent.bambuserPlayer.play();\n }\n}\n\n/**\n* Checks if the cart is empty and updates the player's cart accordingly\n* @param {Object} player - the player object\n* @returns {void}\n*/\nfunction isCartEmpty(player) {\n let basketUrl;\n const basketItems = document.querySelector('.basket-items');\n\n if (basketItems !== null) {\n basketUrl = basketItems.getAttribute('data-basket-action');\n }\n // eslint-disable-next-line no-undef\n $.ajax({\n url: basketUrl,\n method: 'GET',\n success(data) {\n if (data.quantityTotal === 0) {\n player.updateCart({\n items: [],\n });\n }\n },\n error(e) {\n window.console.error('Could not load basket', e);\n },\n });\n}\n\n/**\n* Initializes the Bambuser integration\n* @returns {void}\n*/\nfunction initIntegration() {\n // get config\n let config;\n const basketPLIs = {};\n\n try {\n const configEl = document.querySelector('.js_bambuser-config');\n config = JSON.parse(configEl.dataset.config);\n } catch (e) {\n window.console.error('Could not load bambuser player config', e);\n return;\n }\n\n if (!config.enabled) {\n window.console.debug('Bambuser integration disabled');\n return;\n }\n // configure player and define handlers\n window.onBambuserLiveShoppingReady = function (player) {\n window.bambuserPlayer = player;\n // basic config\n let dismissMiniplayer;\n let productMiniplayer;\n let checkoutMiniplayer;\n const buttonsDisplay = {};\n const NO_DISPLAY = 'no_display';\n\n switch (config.dismissMiniplayer) {\n case 'player.BUTTON.CLOSE':\n dismissMiniplayer = player.BUTTON.CLOSE;\n break;\n case 'player.BUTTON.MINIMIZE':\n dismissMiniplayer = player.BUTTON.MINIMIZE;\n break;\n case 'player.BUTTON.NONE':\n dismissMiniplayer = player.BUTTON.NONE;\n break;\n default: break;\n }\n\n if (config.dismissMiniplayer !== NO_DISPLAY) {\n buttonsDisplay.dismiss = dismissMiniplayer;\n }\n\n switch (config.productMiniplayer) {\n case 'player.BUTTON.LINK':\n productMiniplayer = player.BUTTON.LINK;\n break;\n case 'player.BUTTON.MINIMIZE':\n productMiniplayer = player.BUTTON.MINIMIZE;\n break;\n case 'player.BUTTON.NONE':\n productMiniplayer = player.BUTTON.NONE;\n break;\n case 'player.BUTTON.AUTO':\n productMiniplayer = player.BUTTON.AUTO;\n break;\n default: break;\n }\n\n if (config.productMiniplayer !== NO_DISPLAY) {\n buttonsDisplay.product = productMiniplayer;\n }\n\n switch (config.checkoutMiniplayer) {\n case 'player.BUTTON.LINK':\n checkoutMiniplayer = player.BUTTON.LINK;\n break;\n case 'player.BUTTON.MINIMIZE':\n checkoutMiniplayer = player.BUTTON.MINIMIZE;\n break;\n default: break;\n }\n\n if (config.checkoutMiniplayer !== NO_DISPLAY) {\n buttonsDisplay.checkout = checkoutMiniplayer;\n }\n\n player.configure({\n locale: config.locale,\n currency: config.currency,\n buttons: buttonsDisplay,\n ui: {\n hideCartButton: !config.cartIntegration,\n },\n\n });\n\n // handle add to cart\n player.on(player.EVENT.ADD_TO_CART, (addedItem, callback) => {\n const payLoad = new FormData();\n payLoad.append('pid', addedItem.sku);\n payLoad.append('quantity', addedItem.quantity || 1);\n window.fetch(\n config.urls.addToCart,\n {\n method: 'POST',\n body: payLoad,\n },\n )\n .then((response) => response.json())\n .then((productJson) => {\n basketPLIs[addedItem.sku] = productJson.pliUUID;\n updateShopMiniCart(productJson);\n callback(true);\n });\n });\n\n // handle checkout (redirect)\n player.on(player.EVENT.CHECKOUT, () => {\n player.showCheckout(window.location.origin + config.urls.checkout);\n });\n\n // handle PROVIDE_PRODUCT_DATA\n player.on(player.EVENT.PROVIDE_PRODUCT_DATA, (event) => {\n if (config.cartIntegration) {\n Array.prototype.forEach.call(event.products, (prod) => {\n // construct query url\n const url = new URL(window.location.href);\n url.pathname = config.urls.productData;\n url.searchParams.append('id', prod.id || '');\n url.searchParams.append('ref', prod.ref || '');\n\n // fetch and process product data\n window.fetch(url, { method: 'GET' })\n .then((response) => response.json())\n .then((responseObj) => updateBambuserProduct(responseObj.product, player, config));\n });\n }\n });\n\n // Optional: handle CLOSE\n player.on(player.EVENT.CLOSE, (event) => { // eslint-disable-line no-unused-vars\n // do something\n });\n\n // handle UPDATE_ITEM_IN_CART\n // Note: due to the possibility of the player cart being out of sync with the shop, some unexpected behavior\n // is possible (see SYNC_CART_STATE handler)\n player.on(player.EVENT.UPDATE_ITEM_IN_CART, (updatedItem, callback) => {\n if (updatedItem.quantity < 0) { // WGACA MODIFICATION\n const pliUUID = basketPLIs[updatedItem.sku];\n\n if (pliUUID) {\n const url = new URL(\n updatedItem.quantity > 0 ? config.urls.updateQuantity : config.urls.removeProduct,\n window.location.origin,\n );\n url.searchParams.append('pid', updatedItem.sku);\n url.searchParams.append('uuid', pliUUID);\n url.searchParams.append('quantity', updatedItem.quantity);\n\n window\n .fetch(url, { method: 'GET' })\n .then((response) => response.json())\n .then((responseJson) => {\n const quantityTotal = responseJson.numItems || 0;\n const { minicartCountOfItems } = updatedItem.quantity > 0\n ? responseJson.resources\n : responseJson.basket.resources;\n updateShopMiniCart({ quantityTotal, minicartCountOfItems });\n callback(true);\n });\n } else {\n callback({\n success: false,\n reason: \"custom-error\",\n message: \"For additional quantities, please email LiveShopping@wgacany.com\",\n });\n }\n }\n });\n\n player.on(player.EVENT.SYNC_CART_STATE, () => {\n // check if the basket is empty\n isCartEmpty(player);\n });\n };\n\n // load bambuser script\n window.initBambuserLiveShopping = function (item) { window.initBambuserLiveShopping.queue.push(item); };\n window.initBambuserLiveShopping.queue = [];\n const scriptNode = document.createElement('script');\n scriptNode.src = config.urls.embedScript;\n document.body.appendChild(scriptNode);\n}\n\n/* eslint-disable */\n// the code is from bambuser dashboard and we disabled the linting as it doesn't comply with it\n/**\n* Initializes the Bambuser Live Shopping Widget\n* @returns {void}\n*/\nfunction initLiveShoppingWidget() {\n const configEl = document.querySelector('.js_bambuser-fab-config');\n if (configEl) {\n const configFab = JSON.parse(configEl.getAttribute('data-config'));\n const skipPage = configEl.getAttribute('fabSkipPage');\n if (configFab.enableFAB && skipPage !== \"true\") {\n if (!window.initBambuserLiveShopping) {\n initIntegration();\n }\n const widgetElementId = 'bambuser-liveshopping-widget';\n window.__bfwId = configFab.fabWidgetId;\n \n if (document.getElementById(widgetElementId) && window.__bfwInit) {\n return window.__bfwInit();\n }\n \n if (document.getElementById(widgetElementId)) {\n return;\n }\n \n const s = document.createElement('script');\n const ss = document.getElementsByTagName('body')[0]; // WGACA MODIFICATION\n const aa = ss.lastElementChild;\n s.id = widgetElementId;\n s.src = configFab.fabWidgetURL;\n aa.parentNode.insertBefore(s, aa);\n }\n }\n}\n\n/**\n* Initializes a Bambuser stream for a specific element\n* @param {string} showId - the ID of the show to stream\n* @param {HTMLElement} node - the element to stream the show on\n* @param {string} [type='overlay'] - the type of stream to initialize (default: overlay)\n*/\nfunction initStream(showId, node, type = 'overlay') {\n // check if integration has been initialized\n if (!window.initBambuserLiveShopping) {\n initIntegration();\n }\n // intitialize stream for element\n if (window.initBambuserLiveShopping) {\n window.initBambuserLiveShopping({\n showId,\n node,\n type,\n });\n }\n}\n\n/**\n* Function that handles miniplayer page skipping\n* @returns {void}\n*/\nfunction miniplayerSkipPages() {\n const configMiniplayer = document.querySelector('.js_bambuser-fab-config');\n\n if (configMiniplayer) {\n const skipPageMiniplayer = configMiniplayer.getAttribute('miniplayerSkipPage');\n const miniplayer = window.parent.document.querySelector('[data-bambuser-liveshopping-player-id]');\n if (miniplayer) {\n if (skipPageMiniplayer === 'true') {\n miniplayer.classList.remove('show-miniplayer');\n if (!miniplayer.classList.contains('hide-miniplayer')){\n miniplayer.classList.add('hide-miniplayer');\n pauseVideo();\n }\n } else if (skipPageMiniplayer !== 'true') {\n miniplayer.classList.remove('hide-miniplayer');\n if (!miniplayer.classList.contains('show-miniplayer')){\n miniplayer.classList.add('show-miniplayer');\n continueVideo();\n }\n }\n }\n }\n}\n\nmodule.exports.initStream = initStream;\nmodule.exports.initLiveShoppingWidget = initLiveShoppingWidget;\nmodule.exports.miniplayerSkipPages = miniplayerSkipPages;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n"],"names":["bambuserHeroWrapper","bambuser","updateShopMiniCart","_ref","quantityTotal","minicartCountOfItems","window","$","trigger","document","dispatchEvent","Event","bubbles","each","i","item","$pageFrame","parentId","parent","attr","currentPage","location","href","indexOf","initIntegration","config","basketPLIs","configEl","querySelector","JSON","parse","dataset","e","console","error","enabled","onBambuserLiveShoppingReady","player","dismissMiniplayer","productMiniplayer","checkoutMiniplayer","bambuserPlayer","buttonsDisplay","NO_DISPLAY","BUTTON","CLOSE","MINIMIZE","NONE","dismiss","LINK","AUTO","product","checkout","configure","locale","currency","buttons","ui","hideCartButton","cartIntegration","on","EVENT","ADD_TO_CART","addedItem","callback","payLoad","FormData","append","sku","quantity","fetch","urls","addToCart","method","body","then","response","json","productJson","pliUUID","CHECKOUT","showCheckout","origin","PROVIDE_PRODUCT_DATA","event","Array","prototype","forEach","call","products","prod","url","URL","pathname","productData","searchParams","id","ref","responseObj","productResponse","updateProduct","bambuserPID","factory","p","brandName","brand","defaultVariationIndex","description","name","variations","v","map","variation","attributes","a","colorName","imageUrls","imageURLs","sizes","s","size","inStock","price","pr","current","updateBambuserProduct","UPDATE_ITEM_IN_CART","updatedItem","updateQuantity","removeProduct","responseJson","numItems","resources","basket","success","reason","message","SYNC_CART_STATE","basketUrl","basketItems","getAttribute","ajax","data","updateCart","items","isCartEmpty","initBambuserLiveShopping","queue","push","scriptNode","createElement","src","embedScript","appendChild","debug","module","exports","initStream","showId","node","type","arguments","length","undefined","initLiveShoppingWidget","configFab","skipPage","enableFAB","widgetElementId","__bfwId","fabWidgetId","getElementById","__bfwInit","aa","getElementsByTagName","lastElementChild","fabWidgetURL","parentNode","insertBefore","miniplayerSkipPages","configMiniplayer","skipPageMiniplayer","miniplayer","classList","remove","contains","add","pause","play","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","querySelectorAll","require","el","streamId"],"sourceRoot":""}