From d500691730e874060482667edde7446290829bd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9sz=C3=A1ros=20R=C3=B3bert?= Date: Wed, 8 Apr 2020 18:55:11 +0300 Subject: [PATCH] Add compiled assets file --- modules.local/ppcp-button/assets/js/button.js | 2 -- modules.local/ppcp-button/assets/js/button.js.map | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/modules.local/ppcp-button/assets/js/button.js b/modules.local/ppcp-button/assets/js/button.js index fb9fe2775..0b0bbb1de 100644 --- a/modules.local/ppcp-button/assets/js/button.js +++ b/modules.local/ppcp-button/assets/js/button.js @@ -330,7 +330,6 @@ class CheckoutBootstap { jQuery(document.body).on('payment_method_selected', () => { // TODO: replace this dirty check, possible create a separate - // context config const currentPaymentMethod = jQuery('input[name="payment_method"]:checked').val(); if (currentPaymentMethod !== 'ppcp-gateway') { @@ -416,7 +415,6 @@ class MiniCartBootstap { const renderer = new _Renderer__WEBPACK_IMPORTED_MODULE_0__["default"](miniCartWrapper); jQuery(document.body).on('wc_fragments_loaded wc_fragments_refreshed', () => { - console.log('ok'); renderer.render(this.configurator.configuration()); }); diff --git a/modules.local/ppcp-button/assets/js/button.js.map b/modules.local/ppcp-button/assets/js/button.js.map index e86f60696..d836d28cb 100644 --- a/modules.local/ppcp-button/assets/js/button.js.map +++ b/modules.local/ppcp-button/assets/js/button.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./resources/js/button.js","webpack:///./resources/js/modules/ButtonsToggleListener.js","webpack:///./resources/js/modules/CartBootstap.js","webpack:///./resources/js/modules/CartConfig.js","webpack:///./resources/js/modules/CheckoutBootstap.js","webpack:///./resources/js/modules/ErrorHandler.js","webpack:///./resources/js/modules/MiniCartBootstap.js","webpack:///./resources/js/modules/Product.js","webpack:///./resources/js/modules/Renderer.js","webpack:///./resources/js/modules/SingleProductBootstap.js","webpack:///./resources/js/modules/SingleProductConfig.js","webpack:///./resources/js/modules/UpdateCart.js","webpack:///./resources/js/modules/onApprove.js"],"names":["bootstrap","context","PayPalCommerceGateway","errorHandler","ErrorHandler","defaultConfig","CartConfig","miniCartBootstap","MiniCartBootstap","init","singleProductBootstap","SingleProductBootstap","cartBootstrap","CartBootstrap","checkoutBootstap","CheckoutBootstap","document","addEventListener","console","error","script","createElement","setAttribute","button","url","event","body","append","ButtonsToggleListener","constructor","element","showCallback","hideCallback","observer","config","attributes","callback","classList","contains","MutationObserver","observe","disconnect","configurator","buttonWrapper","wrapper","querySelector","renderer","Renderer","jQuery","on","render","configuration","createOrder","data","actions","fetch","ajax","create_order","endpoint","method","JSON","stringify","nonce","purchase_units","then","res","json","success","id","onApprove","onError","message","cancelWrapper","cancel_wrapper","trigger","currentPaymentMethod","val","hide","show","text","add","innerText","sanitize","textarea","innerHTML","value","clear","remove","miniCartWrapper","mini_cart_wrapper","log","Product","quantity","variations","buttonConfig","paypal","Buttons","hideButtons","style","display","showButtons","updateCart","UpdateCart","change_cart","SingleProductConfig","bind","showButtonCallback","hideButtonCallback","formElement","hasVariations","getProducts","isGroupedProduct","qty","products","querySelectorAll","forEach","elementName","getAttribute","match","length","parseInt","push","onResolve","promise","update","map","name","Promise","resolve","reject","result","resolved","approve_order","order_id","orderID","location","href","redirect"],"mappings":"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","file":"js/button.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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 = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./resources/js/button.js\");\n","import ErrorHandler from './modules/ErrorHandler';\nimport CartConfig from './modules/CartConfig';\nimport MiniCartBootstap from './modules/MiniCartBootstap';\nimport SingleProductBootstap from './modules/SingleProductBootstap';\nimport CartBootstrap from './modules/CartBootstap';\nimport CheckoutBootstap from './modules/CheckoutBootstap';\n\nconst bootstrap = () => {\n const context = PayPalCommerceGateway.context;\n const errorHandler = new ErrorHandler();\n const defaultConfig = new CartConfig(\n PayPalCommerceGateway,\n errorHandler,\n );\n\n if (context === 'mini-cart') {\n const miniCartBootstap = new MiniCartBootstap(defaultConfig);\n\n miniCartBootstap.init();\n }\n\n if (context === 'product') {\n const singleProductBootstap = new SingleProductBootstap();\n const miniCartBootstap = new MiniCartBootstap(defaultConfig);\n\n singleProductBootstap.init();\n miniCartBootstap.init();\n }\n\n if (context === 'cart') {\n const cartBootstrap = new CartBootstrap(defaultConfig);\n\n cartBootstrap.init();\n }\n\n if (context === 'checkout') {\n const checkoutBootstap = new CheckoutBootstap(defaultConfig);\n\n checkoutBootstap.init();\n }\n};\ndocument.addEventListener(\n 'DOMContentLoaded',\n () => {\n if (!typeof (PayPalCommerceGateway)) {\n console.error('PayPal button could not be configured.');\n return;\n }\n\n const script = document.createElement('script');\n\n script.setAttribute('src', PayPalCommerceGateway.button.url);\n script.addEventListener('load', (event) => {\n bootstrap();\n });\n\n document.body.append(script);\n },\n);","/**\n * When you can't add something to the cart, the PayPal buttons should not show.\n * Therefore we listen for changes on the add to cart button and show/hide the buttons accordingly.\n */\n\nclass ButtonsToggleListener {\n constructor(element, showCallback, hideCallback)\n {\n this.element = element;\n this.showCallback = showCallback;\n this.hideCallback = hideCallback;\n this.observer = null;\n }\n\n init()\n {\n const config = { attributes : true };\n const callback = () => {\n if (this.element.classList.contains('disabled')) {\n this.hideCallback();\n return;\n }\n this.showCallback();\n }\n this.observer = new MutationObserver(callback);\n this.observer.observe(this.element, config);\n }\n\n disconnect()\n {\n this.observer.disconnect();\n }\n}\n\nexport default ButtonsToggleListener;","import Renderer from './Renderer';\n\nclass CartBootstrap {\n constructor(configurator) {\n this.configurator = configurator;\n }\n\n init() {\n const buttonWrapper = PayPalCommerceGateway.button.wrapper;\n\n if (!document.querySelector(buttonWrapper)) {\n return;\n }\n\n const renderer = new Renderer(buttonWrapper);\n\n jQuery(document.body).on('updated_cart_totals updated_checkout', () => {\n renderer.render(this.configurator.configuration());\n });\n\n renderer.render(this.configurator.configuration());\n }\n}\n\nexport default CartBootstrap;","import onApprove from \"./onApprove\";\n\nclass CartConfig {\n\n constructor(config, errorHandler) {\n this.config = config;\n this.errorHandler = errorHandler;\n }\n\n configuration() {\n\n const createOrder = (data, actions) => {\n return fetch(this.config.ajax.create_order.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: this.config.ajax.create_order.nonce,\n purchase_units:[]\n })\n }).then(function (res) {\n return res.json();\n }).then(function (data) {\n if (!data.success) {\n //Todo: Error handling\n return;\n }\n return data.data.id;\n });\n }\n return {\n createOrder,\n onApprove:onApprove(this),\n onError: (error) => {\n this.errorHandler.message(error);\n }\n }\n }\n}\n\nexport default CartConfig;","import Renderer from './Renderer';\n\nclass CheckoutBootstap {\n constructor(configurator) {\n this.configurator = configurator;\n }\n\n init() {\n const buttonWrapper = PayPalCommerceGateway.button.wrapper;\n const cancelWrapper = PayPalCommerceGateway.button.cancel_wrapper;\n\n if (!document.querySelector(buttonWrapper)) {\n return;\n }\n\n const renderer = new Renderer(buttonWrapper);\n\n jQuery(document.body).on('updated_checkout', () => {\n if (document.querySelector(cancelWrapper)) {\n return;\n }\n\n renderer.render(this.configurator.configuration());\n\n jQuery(document.body).trigger('payment_method_selected');\n });\n\n jQuery(document.body).on('payment_method_selected', () => {\n // TODO: replace this dirty check, possible create a separate\n // context config\n const currentPaymentMethod = jQuery(\n 'input[name=\"payment_method\"]:checked').val();\n\n if (currentPaymentMethod !== 'ppcp-gateway') {\n jQuery(buttonWrapper).hide();\n jQuery('#place_order').show();\n }\n else {\n jQuery(buttonWrapper).show();\n jQuery('#place_order').hide();\n }\n });\n\n renderer.render(this.configurator.configuration());\n }\n}\n\nexport default CheckoutBootstap;","class ErrorHandler {\n\n constructor()\n {\n this.wrapper = document.querySelector('.woocommerce-notices-wrapper');\n }\n\n message(text)\n {\n this.wrapper.classList.add('woocommerce-error');\n this.wrapper.innerText = this.sanitize(text);\n }\n\n sanitize(text)\n {\n const textarea = document.createElement('textarea');\n textarea.innerHTML = text;\n return textarea.value;\n }\n\n clear()\n {\n if (! this.wrapper.classList.contains('woocommerce-error')) {\n return;\n }\n this.wrapper.classList.remove('woocommerce-error');\n this.wrapper.innerText = '';\n }\n}\n\nexport default ErrorHandler;","import Renderer from './Renderer';\n\nclass MiniCartBootstap {\n constructor(configurator) {\n this.configurator = configurator;\n }\n\n init() {\n const miniCartWrapper = PayPalCommerceGateway.button.mini_cart_wrapper;\n\n if (!document.querySelector(miniCartWrapper)) {\n return;\n }\n\n const renderer = new Renderer(miniCartWrapper);\n\n jQuery(document.body).\n on('wc_fragments_loaded wc_fragments_refreshed', () => {\n console.log('ok');\n renderer.render(this.configurator.configuration());\n });\n\n renderer.render(this.configurator.configuration());\n }\n}\n\nexport default MiniCartBootstap;","class Product {\n\n constructor(id, quantity, variations) {\n this.id = id;\n this.quantity = quantity;\n this.variations = variations;\n }\n\n data() {\n return {\n id:this.id,\n quantity:this.quantity,\n variations:this.variations\n }\n }\n}\n\nexport default Product;","class Renderer {\n\n constructor(wrapper)\n {\n this.wrapper = wrapper;\n }\n\n render(buttonConfig)\n {\n\n paypal.Buttons(\n buttonConfig\n ).render(this.wrapper);\n }\n\n hideButtons()\n {\n document.querySelector(this.wrapper).style.display = 'none';\n }\n\n showButtons()\n {\n document.querySelector(this.wrapper).style.display = 'block';\n }\n}\n\nexport default Renderer;","import ErrorHandler from './ErrorHandler';\nimport Renderer from './Renderer';\nimport UpdateCart from './UpdateCart';\nimport SingleProductConfig from './SingleProductConfig';\n\nclass SingleProductBootstap {\n init() {\n const buttonWrapper = PayPalCommerceGateway.button.wrapper;\n\n if (!document.querySelector(buttonWrapper)) {\n return;\n }\n\n if (!document.querySelector('form.cart')) {\n return;\n }\n\n const renderer = new Renderer(buttonWrapper);\n const errorHandler = new ErrorHandler();\n const updateCart = new UpdateCart(\n PayPalCommerceGateway.ajax.change_cart.endpoint,\n PayPalCommerceGateway.ajax.change_cart.nonce,\n );\n const configurator = new SingleProductConfig(\n PayPalCommerceGateway,\n updateCart,\n renderer.showButtons.bind(renderer),\n renderer.hideButtons.bind(renderer),\n document.querySelector('form.cart'),\n errorHandler,\n );\n\n renderer.render(configurator.configuration());\n }\n}\n\nexport default SingleProductBootstap;","import ButtonsToggleListener from \"./ButtonsToggleListener\";\nimport Product from \"./Product\";\nimport onApprove from \"./onApprove\";\nclass SingleProductConfig {\n\n constructor(\n config,\n updateCart,\n showButtonCallback,\n hideButtonCallback,\n formElement,\n errorHandler\n ) {\n this.config = config;\n this.updateCart = updateCart;\n this.showButtonCallback = showButtonCallback;\n this.hideButtonCallback = hideButtonCallback;\n this.formElement = formElement;\n this.errorHandler = errorHandler;\n }\n\n configuration()\n {\n\n if ( this.hasVariations() ) {\n const observer = new ButtonsToggleListener(\n this.formElement.querySelector('.single_add_to_cart_button'),\n this.showButtonCallback,\n this.hideButtonCallback\n );\n observer.init();\n }\n\n return {\n createOrder: this.createOrder(),\n onApprove: onApprove(this),\n onError: (error) => {\n this.errorHandler.message(error);\n }\n }\n }\n\n createOrder()\n {\n var getProducts = null;\n if (! this.isGroupedProduct() ) {\n getProducts = () => {\n const id = document.querySelector('[name=\"add-to-cart\"]').value;\n const qty = document.querySelector('[name=\"quantity\"]').value;\n const variations = this.variations();\n return [new Product(id, qty, variations)];\n }\n } else {\n getProducts = () => {\n const products = [];\n this.formElement.querySelectorAll('input[type=\"number\"]').forEach((element) => {\n if (! element.value) {\n return;\n }\n const elementName = element.getAttribute('name').match(/quantity\\[([\\d]*)\\]/);\n if (elementName.length !== 2) {\n return;\n }\n const id = parseInt(elementName[1]);\n const quantity = parseInt(element.value);\n products.push(new Product(id, quantity, null));\n })\n return products;\n }\n }\n const createOrder = (data, actions) => {\n this.errorHandler.clear();\n\n const onResolve = (purchase_units) => {\n return fetch(this.config.ajax.create_order.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: this.config.ajax.create_order.nonce,\n purchase_units\n })\n }).then(function (res) {\n return res.json();\n }).then(function (data) {\n if (!data.success) {\n //Todo: Error handling\n return;\n }\n return data.data.id;\n });\n };\n\n const promise = this.updateCart.update(onResolve, getProducts());\n return promise;\n };\n return createOrder;\n }\n\n variations()\n {\n\n if (! this.hasVariations()) {\n return null;\n }\n const attributes = [...this.formElement.querySelectorAll(\"[name^='attribute_']\")].map(\n (element) => {\n return {\n value:element.value,\n name:element.name\n }\n }\n );\n return attributes;\n }\n\n hasVariations()\n {\n return this.formElement.classList.contains('variations_form');\n }\n\n isGroupedProduct()\n {\n return this.formElement.classList.contains('grouped_form');\n }\n}\nexport default SingleProductConfig;","import Product from \"./Product\";\nclass UpdateCart {\n\n constructor(endpoint, nonce)\n {\n this.endpoint = endpoint;\n this.nonce = nonce;\n }\n\n /**\n *\n * @param onResolve\n * @param {Product[]} products\n * @returns {Promise}\n */\n update(onResolve, products)\n {\n return new Promise((resolve, reject) => {\n fetch(\n this.endpoint,\n {\n method: 'POST',\n body: JSON.stringify({\n nonce: this.nonce,\n products,\n })\n }\n ).then(\n (result) => {\n return result.json();\n }\n ).then((result) => {\n if (! result.success) {\n reject(result.data);\n return;\n }\n\n const resolved = onResolve(result.data);\n resolve(resolved);\n })\n });\n }\n}\n\nexport default UpdateCart;","const onApprove = (context) => {\n return (data, actions) => {\n return fetch(context.config.ajax.approve_order.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: context.config.ajax.approve_order.nonce,\n order_id:data.orderID\n })\n }).then((res)=>{\n return res.json();\n }).then((data)=>{\n if (!data.success) {\n //Todo: Error handling\n return;\n }\n location.href = context.config.redirect;\n });\n\n }\n}\n\nexport default onApprove;\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./resources/js/button.js","webpack:///./resources/js/modules/ButtonsToggleListener.js","webpack:///./resources/js/modules/CartBootstap.js","webpack:///./resources/js/modules/CartConfig.js","webpack:///./resources/js/modules/CheckoutBootstap.js","webpack:///./resources/js/modules/ErrorHandler.js","webpack:///./resources/js/modules/MiniCartBootstap.js","webpack:///./resources/js/modules/Product.js","webpack:///./resources/js/modules/Renderer.js","webpack:///./resources/js/modules/SingleProductBootstap.js","webpack:///./resources/js/modules/SingleProductConfig.js","webpack:///./resources/js/modules/UpdateCart.js","webpack:///./resources/js/modules/onApprove.js"],"names":["bootstrap","context","PayPalCommerceGateway","errorHandler","ErrorHandler","defaultConfig","CartConfig","miniCartBootstap","MiniCartBootstap","init","singleProductBootstap","SingleProductBootstap","cartBootstrap","CartBootstrap","checkoutBootstap","CheckoutBootstap","document","addEventListener","console","error","script","createElement","setAttribute","button","url","event","body","append","ButtonsToggleListener","constructor","element","showCallback","hideCallback","observer","config","attributes","callback","classList","contains","MutationObserver","observe","disconnect","configurator","buttonWrapper","wrapper","querySelector","renderer","Renderer","jQuery","on","render","configuration","createOrder","data","actions","fetch","ajax","create_order","endpoint","method","JSON","stringify","nonce","purchase_units","then","res","json","success","id","onApprove","onError","message","cancelWrapper","cancel_wrapper","trigger","currentPaymentMethod","val","hide","show","text","add","innerText","sanitize","textarea","innerHTML","value","clear","remove","miniCartWrapper","mini_cart_wrapper","Product","quantity","variations","buttonConfig","paypal","Buttons","hideButtons","style","display","showButtons","updateCart","UpdateCart","change_cart","SingleProductConfig","bind","showButtonCallback","hideButtonCallback","formElement","hasVariations","getProducts","isGroupedProduct","qty","products","querySelectorAll","forEach","elementName","getAttribute","match","length","parseInt","push","onResolve","promise","update","map","name","Promise","resolve","reject","result","resolved","approve_order","order_id","orderID","location","href","redirect"],"mappings":"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","file":"js/button.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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 = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./resources/js/button.js\");\n","import ErrorHandler from './modules/ErrorHandler';\nimport CartConfig from './modules/CartConfig';\nimport MiniCartBootstap from './modules/MiniCartBootstap';\nimport SingleProductBootstap from './modules/SingleProductBootstap';\nimport CartBootstrap from './modules/CartBootstap';\nimport CheckoutBootstap from './modules/CheckoutBootstap';\n\nconst bootstrap = () => {\n const context = PayPalCommerceGateway.context;\n const errorHandler = new ErrorHandler();\n const defaultConfig = new CartConfig(\n PayPalCommerceGateway,\n errorHandler,\n );\n\n if (context === 'mini-cart') {\n const miniCartBootstap = new MiniCartBootstap(defaultConfig);\n\n miniCartBootstap.init();\n }\n\n if (context === 'product') {\n const singleProductBootstap = new SingleProductBootstap();\n const miniCartBootstap = new MiniCartBootstap(defaultConfig);\n\n singleProductBootstap.init();\n miniCartBootstap.init();\n }\n\n if (context === 'cart') {\n const cartBootstrap = new CartBootstrap(defaultConfig);\n\n cartBootstrap.init();\n }\n\n if (context === 'checkout') {\n const checkoutBootstap = new CheckoutBootstap(defaultConfig);\n\n checkoutBootstap.init();\n }\n};\ndocument.addEventListener(\n 'DOMContentLoaded',\n () => {\n if (!typeof (PayPalCommerceGateway)) {\n console.error('PayPal button could not be configured.');\n return;\n }\n\n const script = document.createElement('script');\n\n script.setAttribute('src', PayPalCommerceGateway.button.url);\n script.addEventListener('load', (event) => {\n bootstrap();\n });\n\n document.body.append(script);\n },\n);","/**\n * When you can't add something to the cart, the PayPal buttons should not show.\n * Therefore we listen for changes on the add to cart button and show/hide the buttons accordingly.\n */\n\nclass ButtonsToggleListener {\n constructor(element, showCallback, hideCallback)\n {\n this.element = element;\n this.showCallback = showCallback;\n this.hideCallback = hideCallback;\n this.observer = null;\n }\n\n init()\n {\n const config = { attributes : true };\n const callback = () => {\n if (this.element.classList.contains('disabled')) {\n this.hideCallback();\n return;\n }\n this.showCallback();\n }\n this.observer = new MutationObserver(callback);\n this.observer.observe(this.element, config);\n }\n\n disconnect()\n {\n this.observer.disconnect();\n }\n}\n\nexport default ButtonsToggleListener;","import Renderer from './Renderer';\n\nclass CartBootstrap {\n constructor(configurator) {\n this.configurator = configurator;\n }\n\n init() {\n const buttonWrapper = PayPalCommerceGateway.button.wrapper;\n\n if (!document.querySelector(buttonWrapper)) {\n return;\n }\n\n const renderer = new Renderer(buttonWrapper);\n\n jQuery(document.body).on('updated_cart_totals updated_checkout', () => {\n renderer.render(this.configurator.configuration());\n });\n\n renderer.render(this.configurator.configuration());\n }\n}\n\nexport default CartBootstrap;","import onApprove from \"./onApprove\";\n\nclass CartConfig {\n\n constructor(config, errorHandler) {\n this.config = config;\n this.errorHandler = errorHandler;\n }\n\n configuration() {\n\n const createOrder = (data, actions) => {\n return fetch(this.config.ajax.create_order.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: this.config.ajax.create_order.nonce,\n purchase_units:[]\n })\n }).then(function (res) {\n return res.json();\n }).then(function (data) {\n if (!data.success) {\n //Todo: Error handling\n return;\n }\n return data.data.id;\n });\n }\n return {\n createOrder,\n onApprove:onApprove(this),\n onError: (error) => {\n this.errorHandler.message(error);\n }\n }\n }\n}\n\nexport default CartConfig;","import Renderer from './Renderer';\n\nclass CheckoutBootstap {\n constructor(configurator) {\n this.configurator = configurator;\n }\n\n init() {\n const buttonWrapper = PayPalCommerceGateway.button.wrapper;\n const cancelWrapper = PayPalCommerceGateway.button.cancel_wrapper;\n\n if (!document.querySelector(buttonWrapper)) {\n return;\n }\n\n const renderer = new Renderer(buttonWrapper);\n\n jQuery(document.body).on('updated_checkout', () => {\n if (document.querySelector(cancelWrapper)) {\n return;\n }\n\n renderer.render(this.configurator.configuration());\n\n jQuery(document.body).trigger('payment_method_selected');\n });\n\n jQuery(document.body).on('payment_method_selected', () => {\n // TODO: replace this dirty check, possible create a separate\n const currentPaymentMethod = jQuery(\n 'input[name=\"payment_method\"]:checked').val();\n\n if (currentPaymentMethod !== 'ppcp-gateway') {\n jQuery(buttonWrapper).hide();\n jQuery('#place_order').show();\n }\n else {\n jQuery(buttonWrapper).show();\n jQuery('#place_order').hide();\n }\n });\n\n renderer.render(this.configurator.configuration());\n }\n}\n\nexport default CheckoutBootstap;","class ErrorHandler {\n\n constructor()\n {\n this.wrapper = document.querySelector('.woocommerce-notices-wrapper');\n }\n\n message(text)\n {\n this.wrapper.classList.add('woocommerce-error');\n this.wrapper.innerText = this.sanitize(text);\n }\n\n sanitize(text)\n {\n const textarea = document.createElement('textarea');\n textarea.innerHTML = text;\n return textarea.value;\n }\n\n clear()\n {\n if (! this.wrapper.classList.contains('woocommerce-error')) {\n return;\n }\n this.wrapper.classList.remove('woocommerce-error');\n this.wrapper.innerText = '';\n }\n}\n\nexport default ErrorHandler;","import Renderer from './Renderer';\n\nclass MiniCartBootstap {\n constructor(configurator) {\n this.configurator = configurator;\n }\n\n init() {\n const miniCartWrapper = PayPalCommerceGateway.button.mini_cart_wrapper;\n\n if (!document.querySelector(miniCartWrapper)) {\n return;\n }\n\n const renderer = new Renderer(miniCartWrapper);\n\n jQuery(document.body).\n on('wc_fragments_loaded wc_fragments_refreshed', () => {\n renderer.render(this.configurator.configuration());\n });\n\n renderer.render(this.configurator.configuration());\n }\n}\n\nexport default MiniCartBootstap;","class Product {\n\n constructor(id, quantity, variations) {\n this.id = id;\n this.quantity = quantity;\n this.variations = variations;\n }\n\n data() {\n return {\n id:this.id,\n quantity:this.quantity,\n variations:this.variations\n }\n }\n}\n\nexport default Product;","class Renderer {\n\n constructor(wrapper)\n {\n this.wrapper = wrapper;\n }\n\n render(buttonConfig)\n {\n\n paypal.Buttons(\n buttonConfig\n ).render(this.wrapper);\n }\n\n hideButtons()\n {\n document.querySelector(this.wrapper).style.display = 'none';\n }\n\n showButtons()\n {\n document.querySelector(this.wrapper).style.display = 'block';\n }\n}\n\nexport default Renderer;","import ErrorHandler from './ErrorHandler';\nimport Renderer from './Renderer';\nimport UpdateCart from './UpdateCart';\nimport SingleProductConfig from './SingleProductConfig';\n\nclass SingleProductBootstap {\n init() {\n const buttonWrapper = PayPalCommerceGateway.button.wrapper;\n\n if (!document.querySelector(buttonWrapper)) {\n return;\n }\n\n if (!document.querySelector('form.cart')) {\n return;\n }\n\n const renderer = new Renderer(buttonWrapper);\n const errorHandler = new ErrorHandler();\n const updateCart = new UpdateCart(\n PayPalCommerceGateway.ajax.change_cart.endpoint,\n PayPalCommerceGateway.ajax.change_cart.nonce,\n );\n const configurator = new SingleProductConfig(\n PayPalCommerceGateway,\n updateCart,\n renderer.showButtons.bind(renderer),\n renderer.hideButtons.bind(renderer),\n document.querySelector('form.cart'),\n errorHandler,\n );\n\n renderer.render(configurator.configuration());\n }\n}\n\nexport default SingleProductBootstap;","import ButtonsToggleListener from \"./ButtonsToggleListener\";\nimport Product from \"./Product\";\nimport onApprove from \"./onApprove\";\nclass SingleProductConfig {\n\n constructor(\n config,\n updateCart,\n showButtonCallback,\n hideButtonCallback,\n formElement,\n errorHandler\n ) {\n this.config = config;\n this.updateCart = updateCart;\n this.showButtonCallback = showButtonCallback;\n this.hideButtonCallback = hideButtonCallback;\n this.formElement = formElement;\n this.errorHandler = errorHandler;\n }\n\n configuration()\n {\n\n if ( this.hasVariations() ) {\n const observer = new ButtonsToggleListener(\n this.formElement.querySelector('.single_add_to_cart_button'),\n this.showButtonCallback,\n this.hideButtonCallback\n );\n observer.init();\n }\n\n return {\n createOrder: this.createOrder(),\n onApprove: onApprove(this),\n onError: (error) => {\n this.errorHandler.message(error);\n }\n }\n }\n\n createOrder()\n {\n var getProducts = null;\n if (! this.isGroupedProduct() ) {\n getProducts = () => {\n const id = document.querySelector('[name=\"add-to-cart\"]').value;\n const qty = document.querySelector('[name=\"quantity\"]').value;\n const variations = this.variations();\n return [new Product(id, qty, variations)];\n }\n } else {\n getProducts = () => {\n const products = [];\n this.formElement.querySelectorAll('input[type=\"number\"]').forEach((element) => {\n if (! element.value) {\n return;\n }\n const elementName = element.getAttribute('name').match(/quantity\\[([\\d]*)\\]/);\n if (elementName.length !== 2) {\n return;\n }\n const id = parseInt(elementName[1]);\n const quantity = parseInt(element.value);\n products.push(new Product(id, quantity, null));\n })\n return products;\n }\n }\n const createOrder = (data, actions) => {\n this.errorHandler.clear();\n\n const onResolve = (purchase_units) => {\n return fetch(this.config.ajax.create_order.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: this.config.ajax.create_order.nonce,\n purchase_units\n })\n }).then(function (res) {\n return res.json();\n }).then(function (data) {\n if (!data.success) {\n //Todo: Error handling\n return;\n }\n return data.data.id;\n });\n };\n\n const promise = this.updateCart.update(onResolve, getProducts());\n return promise;\n };\n return createOrder;\n }\n\n variations()\n {\n\n if (! this.hasVariations()) {\n return null;\n }\n const attributes = [...this.formElement.querySelectorAll(\"[name^='attribute_']\")].map(\n (element) => {\n return {\n value:element.value,\n name:element.name\n }\n }\n );\n return attributes;\n }\n\n hasVariations()\n {\n return this.formElement.classList.contains('variations_form');\n }\n\n isGroupedProduct()\n {\n return this.formElement.classList.contains('grouped_form');\n }\n}\nexport default SingleProductConfig;","import Product from \"./Product\";\nclass UpdateCart {\n\n constructor(endpoint, nonce)\n {\n this.endpoint = endpoint;\n this.nonce = nonce;\n }\n\n /**\n *\n * @param onResolve\n * @param {Product[]} products\n * @returns {Promise}\n */\n update(onResolve, products)\n {\n return new Promise((resolve, reject) => {\n fetch(\n this.endpoint,\n {\n method: 'POST',\n body: JSON.stringify({\n nonce: this.nonce,\n products,\n })\n }\n ).then(\n (result) => {\n return result.json();\n }\n ).then((result) => {\n if (! result.success) {\n reject(result.data);\n return;\n }\n\n const resolved = onResolve(result.data);\n resolve(resolved);\n })\n });\n }\n}\n\nexport default UpdateCart;","const onApprove = (context) => {\n return (data, actions) => {\n return fetch(context.config.ajax.approve_order.endpoint, {\n method: 'POST',\n body: JSON.stringify({\n nonce: context.config.ajax.approve_order.nonce,\n order_id:data.orderID\n })\n }).then((res)=>{\n return res.json();\n }).then((data)=>{\n if (!data.success) {\n //Todo: Error handling\n return;\n }\n location.href = context.config.redirect;\n });\n\n }\n}\n\nexport default onApprove;\n"],"sourceRoot":""} \ No newline at end of file