vendor: 3,702 bytes, lines 1-89
1/*! ab v3.3.0 */ 2/******/ (function(modules) { // webpackBootstrap 3/******/ // The module cache 4/******/ var installedModules = {}; 5/******/ 6/******/ // The require function 7/******/ function __webpack_require__(moduleId) { 8/******/ 9/******/ // Check if module is in cache 10/******/ if(installedModules[moduleId]) { 11/******/ return installedModules[moduleId].exports; 12/******/ } 13/******/ // Create a new module (and put it into the cache) 14/******/ var module = installedModules[moduleId] = { 15/******/ i: moduleId, 16/******/ l: false, 17/******/ exports: {} 18/******/ }; 19/******/ 20/******/ // Execute the module function 21/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 22/******/ 23/******/ // Flag the module as loaded 24/******/ module.l = true; 25/******/ 26/******/ // Return the exports of the module 27/******/ return module.exports; 28/******/ } 29/******/ 30/******/ 31/******/ // expose the modules object (__webpack_modules__) 32/******/ __webpack_require__.m = modules; 33/******/ 34/******/ // expose the module cache 35/******/ __webpack_require__.c = installedModules; 36/******/ 37/******/ // define getter function for harmony exports 38/******/ __webpack_require__.d = function(exports, name, getter) { 39/******/ if(!__webpack_require__.o(exports, name)) { 40/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 41/******/ } 42/******/ }; 43/******/ 44/******/ // define __esModule on exports 45/******/ __webpack_require__.r = function(exports) { 46/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 47/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 48/******/ } 49/******/ Object.defineProperty(exports, '__esModule', { value: true }); 50/******/ }; 51/******/ 52/******/ // create a fake namespace object 53/******/ // mode & 1: value is a module id, require it 54/******/ // mode & 2: merge all properties of value into the ns 55/******/ // mode & 4: return value when already ns object 56/******/ // mode & 8|1: behave like require 57/******/ __webpack_require__.t = function(value, mode) { 58/******/ if(mode & 1) value = __webpack_require__(value); 59/******/ if(mode & 8) return value; 60/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 61/******/ var ns = Object.create(null); 62/******/ __webpack_require__.r(ns); 63/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 64/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 65/******/ return ns; 66/******/ }; 67/******/ 68/******/ // getDefaultExport function for compatibility with non-harmony modules 69/******/ __webpack_require__.n = function(module) { 70/******/ var getter = module && module.__esModule ? 71/******/ function getDefault() { return module['default']; } : 72/******/ function getModuleExports() { return module; }; 73/******/ __webpack_require__.d(getter, 'a', getter); 74/******/ return getter; 75/******/ }; 76/******/ 77/******/ // Object.prototype.hasOwnProperty.call 78/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 79/******/ 80/******/ // __webpack_public_path__ 81/******/ __webpack_require__.p = ""; 82/******/ 83/******/ 84/******/ // Load entry module and return exports 85/******/ return __webpack_require__(__webpack_require__.s = "../autobahn_client_core/cartridges/autobahn_client_core/cartridge/client/default/js/vcn.js"); 86/******/ }) 87/************************************************************************/ 88/******/ ({ 89
90/***/ "../autobahn_client_core/cartridges/autobahn_client_core/cartridge/client/default/js/vcn.js": 91/*!**************************************************************************************************!*\ 92 !*** ../autobahn_client_core/cartridges/autobahn_client_core/cartridge/client/default/js/vcn.js ***! 93 \**************************************************************************************************/ 94/*! no static exports found */ 95/***/ (function(module, exports) { 96 97$(function () { 98 function affirmConfirmationThenOrderConfirm(affirmUserConfirmationUrl) { 99 $('body').spinner().start(); 100 $.ajax({ 101 url: affirmUserConfirmationUrl, 102 method: 'GET', 103 success: function success(data) { 104 var redirect = $('<form>').appendTo(document.body).attr({ 105 method: 'POST', 106 action: data.continueUrl 107 }); 108 $('<input>').appendTo(redirect).attr({ 109 name: 'orderID', 110 value: data.orderID 111 }); 112 $('<input>').appendTo(redirect).attr({ 113 name: 'orderToken', 114 value: data.orderToken 115 }); 116 redirect.submit(); 117 }, 118 error: function error(_error) { 119 $('body').spinner().stop(); // enable the placeOrder button here 120 121 $('body').trigger('checkout:enableButton', $('.next-step-button button')); 122 123 if (err.responseJSON && err.responseJSON.redirectUrl) { 124 window.location.href = err.responseJSON.redirectUrl; 125 } 126 } 127 }); 128 } // Note: changed .place-order to .submit-order 129 130 131 $(document).on('click', '.submit-order', function (e) { 132 if ($('.payment-information').data('payment-method-id') !== 'Affirm') { 133 return true; 134 } 135 136 if (!$('#vcn-data').data('affirmselected') || window.vcn_approved) { 137 return true; 138 } 139 140 var checkoutObject = $('#vcn-data').data('vcndata'); 141 142 if ($('#affirm-inline-container').length > 0) { 143 affirm.checkout.init(); 144 } 145 146 if ($('#vcn-data').data('enabled')) { 147 var $thisBtn = $(this); 148 $('#vcn-data').data('vcncomplete', 'true'); 149 e.preventDefault(); 150 affirm.checkout.open_vcn({ 151 success: function success(card_details) { 152 $.ajax({ 153 url: $('#vcn-data').data('updateurl') + '?' + $('#vcn-data').data('csrfname') + '=' + $('#vcn-data').data('csrftoken'), 154 data: card_details, 155 dataType: 'json', 156 method: 'POST', 157 success: function success(response) { 158 if (!response.error) { 159 window.vcn_approved = true; 160 $thisBtn.click(); 161 } else if ($('div.error-form').length) { 162 $('div.error-form').text($('#vcn-data').data('errormessages')["default"]); 163 } else { 164 $('table.item-list').before('<div class=\'error-form\'>' + $('#vcn-data').data('errormessages')["default"] + '</div>'); 165 } 166 }, 167 error: function error(_error2) { 168 $('table.item-list').before('<div class="error-form">Error in establishing connection with Affirm VCN service!</div>'); 169 }, 170 done: function done() {} 171 }); 172 }, 173 error: function error(_error3) { 174 if (_error3.reason == 'canceled' || _error3.reason == 'closed') { 175 window.location.assign($('#vcn-data').data('errorurl')); 176 return; 177 } 178 179 var errorText = ''; 180 var errorCollection = $('#vcn-data').data('errormessages'); 181 errorText = errorCollection[_error3.reason] || errorCollection["default"]; 182 183 if ($('div.error-form').length) { 184 $('div.error-form').text(errorText); 185 } else { 186 $('table.item-list').before('<div class=\'error-form\'>' + errorText + '</div>'); 187 } 188 }, 189 checkout_data: checkoutObject 190 }); 191 } else if (checkoutObject.metadata.mode == 'modal') { 192 $('.submit-order').addClass('disabled'); 193 e.preventDefault(); 194 affirm.checkout(checkoutObject); 195 affirm.checkout.open({ 196 onFail: function onFail(a) { 197 window.location.assign(checkoutObject.merchant.user_cancel_url); 198 $('.submit-order').removeClass('disabled'); 199 }, 200 onSuccess: function onSuccess(data) { 201 var csrftoken = $('#vcn-data').data('csrfname') + '=' + $('#vcn-data').data('csrftoken'); 202 var url = checkoutObject.merchant.user_confirmation_url + '?checkout_token='
202+ data.checkout_token + '&' + csrftoken; 203 affirmConfirmationThenOrderConfirm(url); 204 } 205 }); 206 } else { 207 e.preventDefault(); 208 affirm.checkout(checkoutObject); 209 affirm.checkout.post(); 210 } 211 }); 212 $(document).on('product:afterAttributeSelect', function (data, container) { 213 var newPrice = null; 214 var product = container.data.product; 215 216 if (product.price.sales) { 217 newPrice = product.price.sales.value; 218 } else if (product.price.list) { 219 newPrice = product.price.list.value; 220 } else if (product.price.startingFromPrice) { 221 newPrice = product.price.startingFromPrice.sales.value; 222 } 223 224 $('.affirm-as-low-as').attr('data-amount', (newPrice * 100).toFixed()); 225 226 if (typeof affirm.ui.refresh !== 'undefined') { 227 affirm.ui.refresh(); 228 } 229 }); 230 $(document).on('checkout:updateCheckoutView', function (e, data) { 231 $('.affirm-product-modal').attr('data-amount', (data.order.totals.grandTotal.substr(1) * 100).toFixed()); 232 233 if (typeof affirm.ui.refresh !== 'undefined') { 234 affirm.ui.refresh(); 235 } 236 }); 237 affirm.ui.ready(function () { 238 affirm.ui.error.on('close', function () { 239 window.location.replace($('#vcn-data').data('errorurl')); 240 }); 241 }); 242}); 243 244/***/ })
244 245 246/******/ }); 247//# sourceMappingURL=vcn.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.