{"version":3,"sources":["webpack:///./src/js/modules/ecommerce/cart.js","webpack:///./src/js/modules/ecommerce/product-classification.js","webpack:///./src/js/modules/ecommerce/utils.js","webpack:///./src/js/constants.js","webpack:///./src/js/custom-handlers.js","webpack:///./src/js/modules/ecommerce/constants.js"],"names":["symbol","get","AddToCart","productId","chosenVariant","quantity","iswithaddress","dataClassification","data","variantId","qty","classification","a","post","ADD_TO_CART_WITH_ADDRESS_URL","undefined","Notify","DeleteCartItem","id","isUnique","jqxhr","$","always","status","responseJSON","remove","text","length","empty","append","CalculateCart","statusText","subtotal","cartItemPrices","each","i","eq","singleItemSubtotalElem","cartClassificationPrice","classificationPrice","singleItemSubtotal","parseFloat","this","format","e","UpdateCartItem","newTotal","parseInt","Toaster","gravity","position","duration","backgroundColor","off","click","prompt","itemInfo","imageUrl","productName","window","call","then","res","put","location","reload","$RADIO_CLASSIFICATION","$SELECTED_CLASSIFICATION_ROW","$SUMMARY_TOTAL","getClassification","classificationList","price","categoryId","Id","CategoryId","Quantity","AdditionalPrice","InvoiceItemId","Name","CategoryName","push","ClassificationList","Total","change","classificationId","classificationName","attr","total_price","selectedCategoryId","find","html","toString","is","Number","replace","EMPTY_SIDECART_ELEMENT_STRING","EMPTY_CART_ELEMENT_STRING","CART_ITEM_ELEMENT_STRING","cartItem","stringToReturn","ID","VariantID","ImageUrl","Variant","ProductName","Option1","Option2","Option3","Price","PriceMask","UPDATE_PRICE_VIEW_FROM_VARIANT","variant","$elemPrice","$elemDiscount","PriceString","IsHideComparePrice","CompareAtPrice","CompareAtPriceString","TOASTER_ERROR_BG_COLOR","TOASTER_SUCCESS_BG_COLOR","TOASTER_SUCCESS_BG_COLOR_ALT","NATIVE_SPINNER","NATIV_DARK_SPINNER","on","preventDefault","target","first","toggleClass","AddWishlistCallback","$elem","RemoveWishlistCallback","RemoveWishlistProfile","document","querySelector","querySelectorAll","wishlistContainer","insertAdjacentHTML","EmptyWishlistDisplay","deleteAddressProfileCallback","elem","addressDiv","parentElement","removeChild","deleteAddressProfilePrompt","Promise","rs","rj","confirm","deleteCartItem","css","removeClass","addClass","FAIL_ADD_CART_MESSAGE","SUCCESS_ADD_MESSAGE","STOCK_EMPTY_VARIANT_MESSAGE","$WISHLIST_SUBMIT_BUTTON","$WISHLIST_REMOVE_BUTTON","ADD_WISHLIST_URL","REMOVE_WISHLIST_URL","SUCCESS_ADD_WISHLIST_MESSAGE","SUCCESS_REMOVE_WISHLIST_MESSAGE","$DELIVERY_COURIER_NAME_INPUT","$DELIVERY_COURIER_SERVICE_INPUT","$DELIVERY_COURIER_COST_INPUT","$DELIVERY_COURIER_RADIO","$DELIVERY_COURIER_SUBMIT_BUTTON","DELIVERY_COURIER_ERROR_MESSAGE","$PAYMENT_RADIO","$PAYMENT_BANK_INPUT","$PAYMENT_TYPE_INPUT","$PAYMENT_AND_NOTE_SUBMIT_BUTTON","PAYMENT_AND_NOTE_ERROR_MESSAGE","GET_ALL_PROMO_URL","$AUTOMATIC_PROMOS_SUBMIT_BUTTON","$PROMO_LOADER","$MASTER_LOADER","$PROMO_MODAL","$REMOVE_CART_PROMO","$REMOVE_PRODUCT_PROMO","$REMOVE_SHIPPING_PROMO","$REMOVE_COUPON_CODE","$REMOVE_MEMBERSHIP_POINT","COMPLETE_TRANSACTION_URL","GET_TRANSACTION_URL","$COMPLETE_TRANSACTION_BUTTON","$PAY_WITH_MIDTRANS_BUTTON","PAYPAL_BUTTON_CONTAINER_SELECTOR","ADD_TO_CART_URL","$CART_QUANTITY_ELEMENTS","$CART_ITEM_CONTAINER","$SIDECART_ITEM_CONTAINER","$CART_ITEM_DELETE_ACTION_ELEMENT","$CART_ITEM_QUANTITY_INPUT","UPDATE_CART_ITEM_URL","REMOVE_CART_ITEM_URL","$CART_ITEMS","$CART_ITEM_ELEMENT_BY_ID","$CART_ITEM_PRICE","$SIDE_CART_ITEM_PRICE","$CART_ITEM_QTY","$SIDE_CART_ITEM_QTY","$CART_ITEM_SUBTOTAL","$SINGLE_CART_ITEM_SUBTOTAL","$CART_CLASSIFICATION_PRICE","IsVariantAvailable","isAvailable","IsAvailable","isInStock","Stock","isTrackingStock","IsStockTracking","isIgnoringStock","IsIgnoredStock"],"mappings":"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","file":"bobaweb.custom-handlers.de2520def7b9d717aee5.js","sourcesContent":["'use strict';\r\n\r\nimport numeral from 'numeral';\r\n\r\nimport axios from 'axios';\r\n\r\nimport {\r\n ADD_TO_CART_URL,\r\n REMOVE_CART_ITEM_URL,\r\n UPDATE_CART_ITEM_URL,\r\n $CART_ITEMS,\r\n $CART_ITEM_ELEMENT_BY_ID,\r\n $CART_QUANTITY_ELEMENTS,\r\n $SIDECART_ITEM_CONTAINER,\r\n $CART_ITEM_PRICE,\r\n $CART_ITEM_SUBTOTAL,\r\n $SINGLE_CART_ITEM_SUBTOTAL,\r\n $CART_ITEM_QTY,\r\n $CART_ITEM_DELETE_ACTION_ELEMENT,\r\n $SIDE_CART_ITEM_PRICE,\r\n $SIDE_CART_ITEM_QTY,\r\n $CART_ITEM_CONTAINER,\r\n $CART_CLASSIFICATION_PRICE\r\n} from './constants';\r\n\r\nimport * as UTILS from './utils';\r\n\r\nimport { TOASTER_ERROR_BG_COLOR } from '../../constants';\r\n\r\nimport Cookies from \"js-cookie\";\r\n\r\nimport {\r\n getClassification\r\n} from './product-classification';\r\n\r\n\r\n// resetting address\r\nconst $RESET_CART_ADDRESS = () => $('[data-action=\"reset-cart-address\"]');\r\n\r\nconst RESET_ADDRESS_URL = '/umbraco/surface/cart/resetaddress';\r\n\r\n\r\n// resetting courier\r\nconst $RESET_CART_COURIER = () => $('[data-action=\"reset-cart-courier\"]');\r\n\r\nconst RESET_COURIER_URL = '/umbraco/surface/cart/resetcourier';\r\n\r\n\r\n// resetting payment\r\nconst $RESET_CART_PAYMENT = () => $('[data-action=\"reset-cart-payment\"]');\r\n\r\nconst RESET_PAYMENT_URL = '/umbraco/surface/cart/resetpayment';\r\n\r\nvar symbol = Cookies.get('__currencySymbol');\r\n\r\n\r\n// adding item to cart\r\nexport function AddToCart(productId, chosenVariant, quantity, iswithaddress) {\r\n\r\n let dataClassification = getClassification();\r\n\r\n if (chosenVariant && productId && quantity) {\r\n // data to be sent\r\n let data = {\r\n productId: productId,\r\n variantId: chosenVariant,\r\n qty: quantity,\r\n classification: dataClassification\r\n }\r\n\r\n if (iswithaddress) {\r\n return axios.post(ADD_TO_CART_WITH_ADDRESS_URL, data);\r\n }\r\n else {\r\n return axios.post(ADD_TO_CART_URL, data);\r\n }\r\n }\r\n else if (chosenVariant == undefined || chosenVariant == null) {\r\n Notify('Please choose a variant!');\r\n return;\r\n }\r\n else if (productId == undefined || productId == null) {\r\n Notify('Please choose a product!');\r\n return;\r\n }\r\n else {\r\n Notify('Please specify the quantity!');\r\n return;\r\n }\r\n}\r\n\r\n// adding item to cart with address\r\nexport function AddToCartWithAddress(productId, chosenVariant, quantity, iswithaddress) {\r\n\r\n let dataClassification = getClassification();\r\n\r\n if (chosenVariant && productId && quantity) {\r\n // data to be sent\r\n let data = {\r\n productId: productId,\r\n variantId: chosenVariant,\r\n qty: quantity,\r\n classification: dataClassification\r\n }\r\n\r\n if (iswithaddress) {\r\n return axios.post(ADD_TO_CART_WITH_ADDRESS_URL, data);\r\n }\r\n else {\r\n return axios.post(ADD_TO_CART_URL, data);\r\n }\r\n }\r\n else if (chosenVariant == undefined || chosenVariant == null) {\r\n Notify('Please choose a variant!');\r\n return;\r\n }\r\n else if (productId == undefined || productId == null) {\r\n Notify('Please choose a product!');\r\n return;\r\n }\r\n else {\r\n Notify('Please specify the quantity!');\r\n return;\r\n }\r\n}\r\n\r\n// deleting cart item\r\nexport function DeleteCartItem(id, isUnique = true) {\r\n if (id) {\r\n let jqxhr = $.post(REMOVE_CART_ITEM_URL, { id, isUnique });\r\n\r\n jqxhr\r\n .always(() => {\r\n if (jqxhr.status == 200) {\r\n let cartItem = $CART_ITEM_ELEMENT_BY_ID(jqxhr.responseJSON.id);\r\n\r\n // remove the cart item\r\n cartItem.remove();\r\n\r\n // update the quantity dispaly\r\n $CART_QUANTITY_ELEMENTS().text(jqxhr.responseJSON.quantity);\r\n\r\n // populate the cart item\r\n if ($CART_ITEMS().length <= 0) {\r\n // attach view of empty cart on side cart\r\n $SIDECART_ITEM_CONTAINER().empty().append(UTILS.EMPTY_SIDECART_ELEMENT_STRING);\r\n\r\n // attach view of empty cart on cart\r\n $CART_ITEM_CONTAINER().empty().append(UTILS.EMPTY_CART_ELEMENT_STRING);\r\n }\r\n\r\n // calculate cart\r\n CalculateCart();\r\n }\r\n else if (jqxhr.status == 400) {\r\n Notify(jqxhr.statusText, 'error');\r\n }\r\n });\r\n }\r\n}\r\n\r\n// calculating cart\r\nexport function CalculateCart() {\r\n let subtotal = 0;\r\n\r\n let cartItemPrices = $CART_ITEM_PRICE();\r\n\r\n if (cartItemPrices.length <= 0) {\r\n cartItemPrices = $SIDE_CART_ITEM_PRICE();\r\n }\r\n\r\n if (cartItemPrices.length) {\r\n cartItemPrices.each(function (i) {\r\n let qty = $CART_ITEM_QTY().eq(i);\r\n\r\n if (qty.length <= 0) {\r\n qty = $SIDE_CART_ITEM_QTY().eq(i);\r\n }\r\n\r\n // element for subtotal of single item\r\n const singleItemSubtotalElem = $SINGLE_CART_ITEM_SUBTOTAL().eq(i);\r\n\r\n // get classification price data\r\n let cartClassificationPrice = $CART_CLASSIFICATION_PRICE().eq(i);\r\n let classificationPrice = 0;\r\n\r\n if (cartClassificationPrice.length) {\r\n classificationPrice = cartClassificationPrice.data('classificationPrice');\r\n }\r\n \r\n // subtotal of single item\r\n const singleItemSubtotal = parseFloat(($(this).data('price')) + classificationPrice) * parseFloat(qty.data('qty'));\r\n\r\n try {\r\n\r\n // updating data\r\n singleItemSubtotalElem.data('price', singleItemSubtotal);\r\n\r\n // updating view\r\n singleItemSubtotalElem.text(symbol + ' ' + numeral(singleItemSubtotal).format('0,0.00'));\r\n } catch (e){\r\n //\r\n }\r\n\r\n // increment the subtotal\r\n subtotal += singleItemSubtotal;\r\n });\r\n }\r\n\r\n $CART_ITEM_SUBTOTAL().data('price', subtotal);\r\n\r\n $CART_ITEM_SUBTOTAL().text(symbol + ' ' + numeral(subtotal).format('0,0.00'));\r\n}\r\n\r\n// updating item on cart\r\nexport function UpdateCartItem(id, quantity, isUnique = true) {\r\n if (id) {\r\n let jqxhr = $.post(UPDATE_CART_ITEM_URL, { id, quantity, isUnique });\r\n\r\n jqxhr\r\n .always(() => {\r\n if (jqxhr.status == 200) {\r\n // updating the stock data\r\n $(`[data-identity=\"cart-item-qty\"][data-id=\"${jqxhr.responseJSON.id}\"]`).data('qty', jqxhr.responseJSON.qty);\r\n\r\n let newTotal = 0;\r\n\r\n $CART_ITEM_QTY().each(function () {\r\n let qty = parseInt($(this).data('qty'));\r\n\r\n newTotal += qty;\r\n });\r\n\r\n // change the cart total quantity display\r\n $CART_QUANTITY_ELEMENTS().text(newTotal);\r\n\r\n // recalculate total\r\n CalculateCart();\r\n }\r\n else if (jqxhr.status == 400) {\r\n // Toaster\r\n Toaster({\r\n text: jqxhr.statusText,\r\n gravity: 'bottom',\r\n position: 'right',\r\n duration: 5000,\r\n backgroundColor: TOASTER_ERROR_BG_COLOR\r\n });\r\n }\r\n });\r\n }\r\n}\r\n\r\n$CART_ITEM_DELETE_ACTION_ELEMENT()\r\n .off()\r\n .click(function () {\r\n let id = $(this).data('id');\r\n let isUnique = $(this).data('isUnique');\r\n let prompt = $(this).data('prompt');\r\n\r\n let itemInfo = {\r\n imageUrl: $(`[data-identity=\"cart-item-image\"][data-id=\"${id}\"]`).data('imageUrl'),\r\n productName: $(`[data-identity=\"cart-item-name\"][data-id=\"${id}\"]`).data('name')\r\n };\r\n\r\n if (prompt) {\r\n window[prompt].call(this, itemInfo)\r\n .then(res => {\r\n\r\n if (res) {\r\n if (isUnique != undefined && isUnique != null) {\r\n DeleteCartItem(id)\r\n }\r\n else {\r\n DeleteCartItem(id, isUnique);\r\n }\r\n }\r\n\r\n })\r\n }\r\n\r\n });\r\n\r\n$RESET_CART_ADDRESS()\r\n .off()\r\n .click(function () {\r\n\r\n axios.put(RESET_ADDRESS_URL)\r\n .then(res => {\r\n\r\n window.location.reload();\r\n\r\n })\r\n\r\n })\r\n\r\n$RESET_CART_COURIER()\r\n .off()\r\n .click(function () {\r\n\r\n axios.put(RESET_COURIER_URL)\r\n .then(res => {\r\n\r\n window.location.reload();\r\n\r\n })\r\n\r\n })\r\n\r\n$RESET_CART_PAYMENT()\r\n .off()\r\n .click(function () {\r\n\r\n axios.put(RESET_PAYMENT_URL)\r\n .then(res => {\r\n\r\n window.location.reload();\r\n\r\n })\r\n\r\n })\r\n","'use strict';\r\n\r\nimport Cookies from \"js-cookie\";\r\n\r\nvar symbol = Cookies.get('__currencySymbol');\r\n\r\nconst $RADIO_CLASSIFICATION = () => $('[data-identity=\"product-classification\"]');\r\n\r\nconst $SELECTED_CLASSIFICATION_ROW = () => $('tr[data-identity=\"selected-classification\"]');\r\n\r\nconst $SUMMARY_TOTAL = () => $('td[data-identity=\"summary-total\"]');\r\n\r\n$RADIO_CLASSIFICATION().change(function () {\r\n\r\n let classificationId = $(this).data('id');\r\n let classificationName = $(this).data('name');\r\n let classificationPrice = $(this).data('price');\r\n let categoryId = $(this).attr('name');\r\n let total_price = 0;\r\n let price = 0;\r\n\r\n // on change radio update data on summary\r\n $SELECTED_CLASSIFICATION_ROW().each(function () {\r\n\r\n let selectedCategoryId = $(this).data('categoryId');\r\n\r\n if (categoryId == selectedCategoryId) {\r\n\r\n $(this).find('td[data-identity=\"summary-name\"]').html(classificationName);\r\n\r\n $(this).find('td[data-identity=\"summary-price\"]').html(symbol + \" \" + classificationPrice);\r\n\r\n $(this).data('classificationId', classificationId);\r\n\r\n $(this).data('classificationName', classificationName);\r\n\r\n $(this).data('classificationPrice', classificationPrice);\r\n\r\n }\r\n\r\n price = parseFloat($(this).data('classificationPrice'));\r\n\r\n total_price += price;\r\n\r\n $SUMMARY_TOTAL().html(symbol + \" \" + total_price.toString());\r\n\r\n $SUMMARY_TOTAL().data('total', total_price);\r\n\r\n })\r\n})\r\n\r\n//set data on summary if material checked default\r\n$RADIO_CLASSIFICATION().each(function () {\r\n \r\n let classificationId = $(this).data('id');\r\n let classificationName = $(this).data('name');\r\n let classificationPrice = $(this).data('price');\r\n let categoryId = $(this).attr('name');\r\n let total_price = 0;\r\n let price = 0;\r\n\r\n if ($(this).is(':checked')) {\r\n\r\n $SELECTED_CLASSIFICATION_ROW().each(function () {\r\n\r\n let selectedCategoryId = $(this).data('categoryId');\r\n\r\n if (categoryId == selectedCategoryId) {\r\n\r\n $(this).find('td[data-identity=\"summary-name\"]').html(classificationName);\r\n\r\n $(this).find('td[data-identity=\"summary-price\"]').html(symbol + \" \" + classificationPrice);\r\n\r\n $(this).data('classificationId', classificationId);\r\n\r\n $(this).data('classificationName', classificationName);\r\n\r\n $(this).data('classificationPrice', classificationPrice);\r\n\r\n }\r\n\r\n price = Number(($(this).data('classificationPrice').replace(/[^0-9.-]+/g, \"\")));\r\n\r\n total_price += price;\r\n\r\n $SUMMARY_TOTAL().html(symbol + \" \" + total_price);\r\n\r\n $SUMMARY_TOTAL().data('total', $SUMMARY_TOTAL);\r\n })\r\n }\r\n})\r\n\r\n//get classification data on summary\r\nexport function getClassification() {\r\n\r\n let classificationList = [];\r\n\r\n $SELECTED_CLASSIFICATION_ROW().each(function () {\r\n\r\n let price = parseFloat($(this).data('classificationPrice'));\r\n\r\n let categoryId = $(this).data('categoryId');\r\n\r\n let classificationId = $(this).data('classificationId');\r\n\r\n let classificationName = $(this).data('classificationName');\r\n\r\n let categoryName = $(this).data('categoryName');\r\n\r\n let classification = {\r\n Id: classificationId,\r\n CategoryId: categoryId,\r\n Quantity: 1,\r\n AdditionalPrice: price,\r\n InvoiceItemId: \"\",\r\n Name: classificationName,\r\n CategoryName: categoryName\r\n };\r\n\r\n if (classification.Id) {\r\n classificationList.push(classification);\r\n }\r\n\r\n if (classificationList == undefined) {\r\n classificationList = [];\r\n }\r\n });\r\n\r\n let classificationToCart = {\r\n ClassificationList: classificationList,\r\n Total: $SUMMARY_TOTAL().data('total')\r\n };\r\n\r\n return classificationToCart;\r\n}","'use strict';\r\n\r\nimport numeral from 'numeral';\r\n\r\nimport Cookies from \"js-cookie\";\r\n\r\nexport const EMPTY_SIDECART_ELEMENT_STRING = `
\r\n

You don't have any items in your cart.

\r\n
`;\r\n\r\nexport const EMPTY_CART_ELEMENT_STRING = `\r\n

Your cart is empty. Click here to start shopping!

\r\n \r\n `;\r\nvar symbol = Cookies.get('__currencySymbol');\r\n\r\nexport const CART_ITEM_ELEMENT_STRING = (cartItem) => {\r\n\r\n let stringToReturn = `
  • \r\n \r\n \r\n \r\n
    \r\n\r\n ${cartItem.Variant.ProductName}`;\r\n\r\n if (cartItem.Variant.Option1 != null && cartItem.Variant.Option1 != undefined) {\r\n stringToReturn += `

    Size: ${cartItem.Option1}

    `\r\n }\r\n\r\n if (cartItem.Variant.Option2 != null && cartItem.Variant.Option2 != undefined) {\r\n stringToReturn += `

    Color: ${cartItem.Option2}

    `\r\n }\r\n\r\n if (cartItem.Variant.Option3 != null && cartItem.Variant.Option2 != undefined) {\r\n stringToReturn += `

    Material: ${cartItem.Option3}

    `\r\n }\r\n\r\n stringToReturn += `\r\n

    \r\n ${cartItem.Quantity}\r\n ${symbol} ${cartItem.PriceMask}\r\n

    \r\n \r\n
    \r\n
  • `;\r\n\r\n return stringToReturn;\r\n\r\n //let stringToReturn = `
    \r\n //
    \r\n //
    \r\n //
    \r\n //

    ${cartItem.Variant.ProductName}

    `;\r\n\r\n //if (cartItem.Variant.Option1 != null && cartItem.Variant.Option1 != undefined) {\r\n // stringToReturn += `

    Size: ${cartItem.Option1}

    `\r\n //}\r\n\r\n //if (cartItem.Variant.Option2 != null && cartItem.Variant.Option2 != undefined) {\r\n // stringToReturn += `

    Color: ${cartItem.Option2}

    `\r\n //}\r\n\r\n //if (cartItem.Variant.Option3 != null && cartItem.Variant.Option2 != undefined) {\r\n // stringToReturn += `

    Material: ${cartItem.Option3}

    `\r\n //}\r\n\r\n //stringToReturn += `
    \r\n // \r\n // ${cartItem.Quantity}\r\n //
    `;\r\n\r\n //stringToReturn += `
    \r\n //


    ${symbol} ${ cartItem.PriceMask }

    \r\n //
    \r\n //
    \r\n // `;\r\n\r\n //return stringToReturn;\r\n};\r\n\r\nexport function UPDATE_PRICE_VIEW_FROM_VARIANT(variant, $elemPrice, $elemDiscount) {\r\n\r\n $elemPrice.text(variant.PriceString);\r\n\r\n if (!variant.IsHideComparePrice && variant.CompareAtPrice > 0) {\r\n\r\n $elemDiscount.text(variant.CompareAtPriceString);\r\n\r\n }\r\n else {\r\n $elemDiscount.text('');\r\n }\r\n\r\n}\r\n\r\n\r\n","// background color for toaster\r\n// when error happened\r\nexport const TOASTER_ERROR_BG_COLOR = \"linear-gradient(135deg, rgba(255,136,136,1) 0%, rgba(230,70,70,1) 100%)\";\r\n\r\n// background color for toaster\r\n// when success happened\r\n//export const TOASTER_SUCCESS_BG_COLOR = \"linear-gradient(90deg, rgba(106,255,138,1) 0%, rgba(56,255,102,1) 100%)\";\r\nexport const TOASTER_SUCCESS_BG_COLOR = \"#f88089\";\r\n\r\n// alternative background color for toaster\r\n// when success happened\r\nexport const TOASTER_SUCCESS_BG_COLOR_ALT = \"#f88089\";\r\n\r\n// white spinner html\r\n// !!! NEEDS BOOTSTRAP 4.3.1 !!!\r\nexport const WHITE_SPINNER = `
    \r\n Loading...\r\n
    `;\r\n\r\n// dark spinner html\r\n// !!! NEEDS BOOTSTRAP 4.3.1 !!!\r\nexport const DARK_SPINNER = `
    \r\n Loading...\r\n
    `;\r\n\r\n// native white spinner html\r\nexport const NATIVE_SPINNER = `
    `;\r\n\r\n// native dark spinner html\r\nexport const NATIV_DARK_SPINNER = `
    `;","/*\r\n * ==============================================================\r\n * Bobaweb Custom Handlers\r\n * Intended use for unique script for each web\r\n * ==============================================================\r\n * ==============================================================\r\n * ██████╗ ██████╗ ██████╗ █████╗ ██╗ ██╗███████╗██████╗\r\n * ██╔══██╗██╔═══██╗██╔══██╗██╔══██╗██║ ██║██╔════╝██╔══██╗\r\n * ██████╔╝██║ ██║██████╔╝███████║██║ █╗ ██║█████╗ ██████╔╝\r\n * ██╔══██╗██║ ██║██╔══██╗██╔══██║██║███╗██║██╔══╝ ██╔══██╗\r\n * ██████╔╝╚██████╔╝██████╔╝██║ ██║╚███╔███╔╝███████╗██████╔╝\r\n * ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚══╝╚══╝ ╚══════╝╚═════╝\r\n * ==============================================================\r\n * ==============================================================\r\n */\r\n\r\n'use strict';\r\n\r\nimport './modules/ecommerce/cart';\r\nimport { AddToCart } from './modules/ecommerce/cart';\r\n\r\n//import 'bootstrap/dist/js/bootstrap.bundle';\r\n\r\n// opening edit profile\r\n// in my account page\r\n$('#open-edit-profile').on('click', function (e) {\r\n e.preventDefault();\r\n\r\n // getting the target container\r\n let target = $(this).data('target');\r\n\r\n // make instance target as jQuery instance\r\n let $target = $(target).first();\r\n\r\n // toggling the class;\r\n $target.toggleClass('d-none');\r\n});\r\n\r\n//$('#promoModal').modal('show');\r\n\r\n// add wishlist callbacks\r\nwindow.AddWishlistCallback = function ($elem, productId) {\r\n ////$elem.addClass('wishlisted');\r\n}\r\n\r\n// remove wishlist callback\r\nwindow.RemoveWishlistCallback = function ($elem, productId) {\r\n //$elem.removeClass('wishlisted');\r\n}\r\n\r\n// remove wishlist callback\r\n// on profile page\r\nwindow.RemoveWishlistProfile = function ($elem, productId) {\r\n\r\n let elemToRemove = document.querySelector(`[data-identity=\"wishlist-profile-item\"][data-id=\"${productId}\"]`);\r\n\r\n elemToRemove.remove();\r\n\r\n EmptyWishlistDisplay();\r\n}\r\n\r\nfunction EmptyWishlistDisplay() {\r\n\r\n let wishlistNumbers = document.querySelectorAll('[data-identity=\"wishlist-profile-item\"]').length;\r\n\r\n if (wishlistNumbers <= 0) {\r\n\r\n let wishlistContainer = document.querySelector('[data-identity=\"wishlist-container\"]');\r\n\r\n // removing the wishlist display\r\n document.querySelector(`.wishlist-tbody`).remove();\r\n\r\n // appending the empty wishlist display\r\n wishlistContainer.insertAdjacentHTML('beforeend', `\r\n \r\n \r\n

    You currently don't have any wishlist!

    \r\n

    Take a look at our catalogue right here

    \r\n \r\n \r\n `);\r\n }\r\n\r\n}\r\n\r\n// delete address callback\r\n// on profile page\r\nwindow.deleteAddressProfileCallback = function (id, elem) {\r\n\r\n let addressDiv = document.querySelector(`#address-${id}`);\r\n\r\n addressDiv.parentElement.removeChild(addressDiv);\r\n\r\n}\r\n\r\n// delete address prompt\r\n// on profile page\r\nwindow.deleteAddressProfilePrompt = function () {\r\n return new Promise((rs, rj) => {\r\n\r\n let deleteConfirm = confirm('Are you sure you want to delete this address?');\r\n\r\n if (deleteConfirm) {\r\n rs(true);\r\n }\r\n else {\r\n rj(false);\r\n }\r\n\r\n });\r\n}\r\n\r\n// delete cart item prompt\r\nwindow.deleteCartItem = function (itemInfo) {\r\n\r\n return new Promise((rs, rj) => {\r\n\r\n $('.bw-isla-delete-cart-item__img')\r\n .css('background', `url(${itemInfo.imageUrl})`);\r\n\r\n $('.bw-isla-delete-cart-item__title')\r\n .text(itemInfo.productName);\r\n\r\n $('.isla-button.yes-delete').off().click(function () {\r\n $('.bw-isla-delete-cart').removeClass('show-notif');\r\n\r\n rs(true);\r\n })\r\n\r\n $('.bw-isla-close').off().click(function () {\r\n\r\n $('.bw-isla-delete-cart').removeClass('show-notif');\r\n rj();\r\n })\r\n\r\n $('.bw-isla-delete-cart').addClass('show-notif');\r\n });\r\n\r\n}\r\n\r\n\r\n","export const SUCCESS_ADD_CART_MESSAGE = 'Item has been added to cart!';\r\n\r\nexport const FAIL_ADD_CART_MESSAGE = 'Item has been failed added to cart!';\r\n\r\nexport const SUCCESS_ADD_MESSAGE = 'Item has been added to cart!';\r\n\r\nexport const CHOOSE_VARIANT_MESSAGE = 'Please choose a variant!';\r\n\r\nexport const STOCK_EMPTY_VARIANT_MESSAGE = 'Sorry this product is out of stock!';\r\n\r\n// wishlists\r\nexport const $WISHLIST_SUBMIT_BUTTON = () => $('[data-action=\"add-wishlist\"]');\r\n\r\nexport const $WISHLIST_REMOVE_BUTTON = () => $('[data-action=\"remove-wishlist\"]');\r\n\r\nexport const ADD_WISHLIST_URL = '/umbraco/surface/member/addwishlist';\r\n\r\nexport const REMOVE_WISHLIST_URL = '/umbraco/surface/member/removewishlist';\r\n\r\nexport const SUCCESS_ADD_WISHLIST_MESSAGE = 'The product is now on your wishlist!';\r\n\r\nexport const SUCCESS_REMOVE_WISHLIST_MESSAGE = 'The product is removed from your wishlist!';\r\n\r\nexport const ADDRESS_NOT_CHOSEN_MESSAGE = 'Please choose an address!';\r\n\r\nexport const $DELIVERY_COURIER_NAME_INPUT = $('#courier-name-input');\r\n\r\nexport const $DELIVERY_COURIER_SERVICE_INPUT = $('#courier-service-input');\r\n\r\nexport const $DELIVERY_COURIER_COST_INPUT = $('#courier-cost-input');\r\n\r\nexport const $DELIVERY_COURIER_RADIO = $('[data-identity=\"delivery-courier-radio\"]');\r\n\r\nexport const $DELIVERY_COURIER_FORM = $('#add-delivery-courier-form');\r\n\r\nexport const $DELIVERY_COURIER_SUBMIT_BUTTON = $('[data-identity=\"delivery-courier-submit-button\"]');\r\n\r\nexport const DELIVERY_COURIER_ERROR_MESSAGE = 'There has been an error submitting your delivery courier. Try again!';\r\n\r\nexport const $PAYMENT_RADIO = $('[data-identity=\"payment-radio\"]');\r\n\r\nexport const $PAYMENT_BANK_INPUT = $('#bank-input');\r\n\r\nexport const $PAYMENT_TYPE_INPUT = $('#payment-type-input');\r\n\r\nexport const $PAYMENT_AND_NOTE_FORM = $('#payment-and-note-form');\r\n\r\nexport const $PAYMENT_AND_NOTE_SUBMIT_BUTTON = $('#payment-and-note-submit-button');\r\n\r\nexport const PAYMENT_AND_NOTE_ERROR_MESSAGE = 'There has been an error submitting your payment choice. Try again!';\r\n\r\nexport const $CHECKOUT_BUTTON = $('[data-action=\"checkout\"]');\r\n\r\nexport const GET_ALL_PROMO_URL = '/umbraco/surface/cart/getalldiscounts';\r\n\r\nexport const $AUTOMATIC_PROMOS_SUBMIT_BUTTON = $('[data-action=\"submit-automatic-promos\"]');\r\n\r\nexport const $PROMO_LOADER = $('.promo-loader');\r\n\r\nexport const $MASTER_LOADER = $('.master-loader');\r\n\r\nexport const $PROMO_MODAL = $('#promo-modal');\r\n\r\nexport const $REMOVE_CART_PROMO = () => $('[data-action=\"remove-cart-promo\"]');\r\n\r\nexport const $REMOVE_PRODUCT_PROMO = () => $('[data-action=\"remove-product-promo\"]');\r\n\r\nexport const $REMOVE_SHIPPING_PROMO = () => $('[data-action=\"remove-shipping-promo\"]');\r\n\r\nexport const $REMOVE_COUPON_CODE = () => $('[data-action=\"remove-coupon-code\"]');\r\n\r\nexport const $REMOVE_MEMBERSHIP_POINT = () => $('[data-action=\"remove-membership-point-discount\"]');\r\n\r\nexport const COMPLETE_TRANSACTION_URL = '/umbraco/surface/cart/checkoutajax';\r\n\r\nexport const GET_TRANSACTION_URL = '/umbraco/surface/cart/GetInvoiceCart';\r\n\r\nexport const $COMPLETE_TRANSACTION_BUTTON = () => $('[data-action=\"complete-transaction\"]');\r\n\r\nexport const $PAY_WITH_MIDTRANS_BUTTON = () => $('[data-action=\"pay-with-midtrans\"]');\r\n\r\nexport const $PAY_WITH_PAYPAL_BUTTON = () => $('[data-action=\"pay-with-paypal\"]');\r\n\r\nexport const PAYPAL_BUTTON_CONTAINER_SELECTOR = '[data-identity=\"paypal-button-container\"]';\r\n\r\nexport const ADD_TO_CART_URL = '/umbraco/surface/cart/addcart';\r\n\r\nexport const ADD_TO_CART_WITH_ADDRESS_URL = '/umbraco/surface/cart/addcartwithaddress';\r\n\r\n// Element that show total number\r\n// of items in the cart\r\nexport const $CART_QUANTITY_ELEMENTS = () => $('[data-identity=\"cart-quantity\"]');\r\n\r\n// Container of cart\r\nexport const $CART_ITEM_CONTAINER = () => $('[data-identity=\"cart-item-container\"]');\r\n\r\n\r\n// Container of side cart\r\nexport const $SIDECART_ITEM_CONTAINER = () => $('#bw-sidecart-item-container');\r\n\r\n\r\n// Element that act as a delete\r\n// cart item button\r\nexport const $CART_ITEM_DELETE_ACTION_ELEMENT = () => $('[data-action=\"delete-cart-item\"]');\r\n\r\n\r\n// Input that contain certain\r\n// cart item quantity\r\nexport const $CART_ITEM_QUANTITY_INPUT = () => $('input[data-identity=\"cart-item-qty\"]');\r\n\r\nexport const UPDATE_CART_ITEM_URL = '/umbraco/surface/cart/updatecartitemquantity';\r\n\r\nexport const REMOVE_CART_ITEM_URL = '/umbraco/surface/cart/removecartitem';\r\n\r\n\r\n// All cart item element\r\nexport const $CART_ITEMS = () => $(`[data-identity=\"cart-item\"]`);\r\n\r\n// cart item element\r\nexport const $CART_ITEM_ELEMENT_BY_ID = (id) => $(`[data-identity=\"cart-item\"][data-id=\"${id}\"]`);\r\n\r\nexport const $CART_ITEM_PRICE = () => $('[data-identity=\"cart-item-price\"]');\r\n\r\nexport const $SIDE_CART_ITEM_PRICE = () => $('[data-identity=\"side-cart-item-price\"]');\r\n\r\nexport const $CART_ITEM_QTY = () => $('[data-identity=\"cart-item-qty\"]');\r\n\r\nexport const $SIDE_CART_ITEM_QTY = () => $('[data-identity=\"side-cart-item-qty\"]');\r\n\r\nexport const $CART_ITEM_SUBTOTAL = () => $(`[data-identity=\"cart-subtotal\"]`);\r\n\r\nexport const $SINGLE_CART_ITEM_SUBTOTAL = () => $(`[data-identity=\"cart-item-subtotal\"]`);\r\n\r\nexport const $CART_CLASSIFICATION_PRICE = () => $(`[data-identity=\"cart-classification-price\"]`);\r\n\r\n// checking whether\r\n// variant is available\r\nexport function IsVariantAvailable(variant) {\r\n\r\n let isAvailable = variant.IsAvailable;\r\n\r\n let isInStock = variant.Stock > 0;\r\n\r\n let isTrackingStock = variant.IsStockTracking;\r\n\r\n let isIgnoringStock = variant.IsIgnoredStock;\r\n\r\n if (!isAvailable) {\r\n return false;\r\n }\r\n else if (!isInStock && isTrackingStock && !isIgnoringStock) {\r\n return false;\r\n }\r\n else return true;\r\n}"],"sourceRoot":""}