PageSourceSearch

https://lecurlshop.com/modules/mondialrelay/views/js/front/checkout/checkout-17.js

js lecurlshop.com collected 2026-10-08 22:05:42 UTC 28,363 bytes, 671 lines download raw bytes

vendor: 3,877 bytes, lines 1-96
1/*!
2 * NOTICE OF LICENSE
3 * 
4 * @author    202 ecommerce <[email protected]>
5 * @author    Mondial Relay
6 * @copyright Copyright (c) Mondial Relay
7 * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
8 */
9/******/ (function(modules) { // webpackBootstrap
10/******/ 	// The module cache
11/******/ 	var installedModules = {};
12/******/
13/******/ 	// The require function
14/******/ 	function __webpack_require__(moduleId) {
15/******/
16/******/ 		// Check if module is in cache
17/******/ 		if(installedModules[moduleId]) {
18/******/ 			return installedModules[moduleId].exports;
19/******/ 		}
20/******/ 		// Create a new module (and put it into the cache)
21/******/ 		var module = installedModules[moduleId] = {
22/******/ 			i: moduleId,
23/******/ 			l: false,
24/******/ 			exports: {}
25/******/ 		};
26/******/
27/******/ 		// Execute the module function
28/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
29/******/
30/******/ 		// Flag the module as loaded
31/******/ 		module.l = true;
32/******/
33/******/ 		// Return the exports of the module
34/******/ 		return module.exports;
35/******/ 	}
36/******/
37/******/
38/******/ 	// expose the modules object (__webpack_modules__)
39/******/ 	__webpack_require__.m = modules;
40/******/
41/******/ 	// expose the module cache
42/******/ 	__webpack_require__.c = installedModules;
43/******/
44/******/ 	// define getter function for harmony exports
45/******/ 	__webpack_require__.d = function(exports, name, getter) {
46/******/ 		if(!__webpack_require__.o(exports, name)) {
47/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
48/******/ 		}
49/******/ 	};
50/******/
51/******/ 	// define __esModule on exports
52/******/ 	__webpack_require__.r = function(exports) {
53/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
54/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
55/******/ 		}
56/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
57/******/ 	};
58/******/
59/******/ 	// create a fake namespace object
60/******/ 	// mode & 1: value is a module id, require it
61/******/ 	// mode & 2: merge all properties of value into the ns
62/******/ 	// mode & 4: return value when already ns object
63/******/ 	// mode & 8|1: behave like require
64/******/ 	__webpack_require__.t = function(value, mode) {
65/******/ 		if(mode & 1) value = __webpack_require__(value);
66/******/ 		if(mode & 8) return value;
67/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
68/******/ 		var ns = Object.create(null);
69/******/ 		__webpack_require__.r(ns);
70/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
71/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
72/******/ 		return ns;
73/******/ 	};
74/******/
75/******/ 	// getDefaultExport function for compatibility with non-harmony modules
76/******/ 	__webpack_require__.n = function(module) {
77/******/ 		var getter = module && module.__esModule ?
78/******/ 			function getDefault() { return module['default']; } :
79/******/ 			function getModuleExports() { return module; };
80/******/ 		__webpack_require__.d(getter, 'a', getter);
81/******/ 		return getter;
82/******/ 	};
83/******/
84/******/ 	// Object.prototype.hasOwnProperty.call
85/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
86/******/
87/******/ 	// __webpack_public_path__
88/******/ 	__webpack_require__.p = "";
89/******/
90/******/
91/******/ 	// Load entry module and return exports
92/******/ 	return __webpack_require__(__webpack_require__.s = "./_dev/js/front/checkout/checkout-17.js");
93/******/ })
94/************************************************************************/
95/******/ ({
96
97/***/ "./_dev/js/front/checkout/checkout-17.js":
98/*!***********************************************!*\
99  !*** ./_dev/js/front/checkout/checkout-17.js ***!
100  \***********************************************/
101/*! no exports provided */
102/***/ (function(module, __webpack_exports__, __webpack_require__) {
103
104"use strict";
105__webpack_require__.r(__webpack_exports__);
106/* harmony import */ var _checkout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./checkout */ "./_dev/js/front/checkout/checkout.js");
107/**
108 * NOTICE OF LICENSE
109 *
110 * @author    202 ecommerce <[email protected]>
111 * @author    Mondial Relay
112 * @copyright Copyright (c) Mondial Relay
113 * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
114 */
115
116/**
117 * Javascript for PS 1.7
118 */
119
120// modules ES6
121
122
123// The container of the whole "mondialrelay_content", as the original one is
124// badly placed
125var selectedCarrierExtraContent = null;
126
127// This will track if the page should be refreshed when changing carrier, as
128// other carriers may depend on it
129var flagPaymentStepNeedsRefresh = null;
130
131// This will track if the payment step should be reachable using the link or not
132var isPaymentStepReachable = null;
133var setSelectedCarrierExtraContent = function setSelectedCarrierExtraContent() {
134  selectedCarrierExtraContent = $('[name^="delivery_option"]:checked').closest('.delivery-option').next('.carrier-extra-content');
135  return selectedCarrierExtraContent;
136};
137$("#mondialrelay_save-relay").on("click", function () {
138  $('button.continue[name="confirmDeliveryOption"]').removeAttr("disabled");
139});
140var setProcessLocked = function setProcessLocked(lock) {
141  if (lock) {
142    // Delivery step is not complete
143    $("#checkout-delivery-step").removeClass('-complete');
144    // Disable submit delivery button
145    $("button[name='confirmDeliveryOption']").attr('disabled', true);
146  } else {
147    // Delivery step is not complete
148    $("#checkout-delivery-step").addClass('-complete');
149    // Enable submit delivery button
150    $("button[name='confirmDeliveryOption']").attr('disabled', false);
151  }
152};
153var fixPrepareMondialRelay = function fixPrepareMondialRelay(id_carrier) {
154  selectedCarrierExtraContent = $('#delivery_option_' + id_carrier).closest('.delivery-option').next('.carrier-extra-content');
155  return selectedCarrierExtraContent;
156};
157$(document).ready(function () {
158  if (MONDIALRELAY_CARRIER_METHODS != undefined && MONDIALRELAY_CARRIER_METHODS != null && MONDIALRELAY_CARRIER_METHODS.length > 0) {
159    fixPrepareMondialRelay(MONDIALRELAY_CARRIER_METHODS[Object.keys(MONDIALRELAY_CARRIER_METHODS)[0]].id_carrier);
160    $('#mondialrelay_content').appendTo(selectedCarrierExtraContent);
161    _checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].init({
162      ColLivMod: _checkout__WEBPACK_IMPORTED_MODULE_0__["getCarrierDeliveryMode"](MONDIALRELAY_CARRIER_METHODS[Object.keys(MONDIALRELAY_CARRIER_METHODS)[0]].id_carrier)
163    });
164  }
165});
166$(_checkout__WEBPACK_IMPORTED_MODULE_0__["widget"]).on('mondialrelay.ready', function () {
167  if (_checkout__WEBPACK_IMPORTED_MODULE_0__["isRelayCarrierSelected"]()) {
168    setSelectedCarrierExtraContent();
169
170    // "Payment" step is not reachable using the link; save the previous state to
171    // restore it if carrier changes. The user MUST click the form button,
172    // otherwise the validation hook won't be triggered.
173    if (isPaymentStepReachable === null) {
174      isPaymentStepReachable = $("#checkout-payment-step").hasClass('-reachable');
175    }
176    $("#checkout-payment-step").removeClass('-reachable').addClass('-unreachable');
177    $("#mondialrelay_content").appendTo(selectedCarrierExtraContent);
178    if (!_checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].savedRelay) {
179      setProcessLocked(true);
180      _checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].show();
181    } else {
182      $(_checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].summary_container).show();
183      _checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].hide();
184      if ($("#checkout-payment-step").hasClass('-unreachable')) {
185        $("#checkout-payment-step").removeClass('-unreachable').addClass('-reachable');
186      }
187    }
188    _checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].init({
189      ColLivMod: _checkout__WEBPACK_IMPORTED_MODULE_0__["getCarrierDeliveryMode"](_checkout__WEBPACK_IMPORTED_MODULE_0__["getSelectedCarrierId"]())
190    });
191  }
192
193  // Click events sometimes mess with PrestaShop's checkout process, so catch
194  // them and silence them
195  $(_checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].widget_container).on('click', function (ev) {
196    ev.preventDefault();
197    ev.stopPropagation();
198  });
199});
200
201// We can't submit the form if no relay was selected
202$(document).on('submit', '#js-delivery', function (ev) {
203  if (_checkout__WEBPACK_IMPORTED_MODULE_0__["isRelayCarrierSelected"]() && !_checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].savedRelay) {
204    ev.preventDefault();
205    ev.stopPropagation();
206    setSelectedCarrierExtraContent();
207    $("#mondialrelay_content").appendTo(selectedCarrierExtraContent);
208    _checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].initOrUpdate({
209      ColLivMod: _checkout__WEBPACK_IMPORTED_MODULE_0__["getCarrierDeliveryMode"](_checkout__WEBPACK_IMPORTED_MODULE_0__["getSelectedCarrierId"]())
210    });
211    alert(MONDIALRELAY_NO_SELECTION_ERROR);
212    return false;
213  }
214  return true;
215});
216prestashop.on('updatedDeliveryForm', function () {
217  // Get latest data
218  _checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].savedRelay = MONDIALRELAY_SELECTED_RELAY_IDENTIFIER;
219});
220
221// We must check this event if Mondial Relay is selected, otherwise the
222// form is reloaded immediately, and we can't check if a relay was selected; our
223// PS 1.7.2+ hook is never triggered as it requires the form to be submitted
224// with the submit button, not just when a carrier changes or a relay is
225// selected.
226$(document).on("change", '#js-delivery [name^="delivery_option"]', function (ev) {
227  // If another carrier than Mondial Relay is selected
228  if (!_checkout__WEBPACK_IMPORTED_MODULE_0__["isRelayCarrierSelected"]()) {
229    // Hide our extraContent, and set it to null
230    if (selectedCarrierExtraContent) {
231      selectedCarrierExtraContent.hide();
232      selectedCarrierExtraContent = null;
233    }
234    setProcessLocked(false);
235    _checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].resetSelectedRelay();
236    _checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].resetSavedRelay(true);
237    if (flagPaymentStepNeedsRefresh) {
238      // Some carriers may depend on the page refresh
239      $("#checkout-payment-step .content").append(flagPaymentStepNeedsRefresh);
240      flagPaymentStepNeedsRefresh = null;
241    }
242    if (isPaymentStepReachable !== null && isPaymentStepReachable) {
243      // "Payment" step is reachable
244      $("#checkout-payment-step").addClass('-reachable').removeClass('-unreachable');
245    }
246    return;
247  }
248
249  // We let this event propagate. If no relay is selected, we'll see an alert or
250  // a php error and we'll stay on delivery step.
251  /*ev.preventDefault();
252  ev.stopPropagation();*/
253
254  // We never want a page refresh when using a carrier requiring a relay; the
255  // user MUST click the form button, otherwise the validation hook won't be
256  // triggered
257  flagPaymentStepNeedsRefresh = $('.js-cart-payment-step-refresh').clone();
258  $('.js-cart-payment-step-refresh').remove();
259
260  // "Payment" step is not reachable using the link; save the previous state to
261  // restore it if carrier changes
262  if (isPaymentStepReachable === null) {
263    isPaymentStepReachable = $("#checkout-payment-step").hasClass('-reachable');
264  }
265  $("#checkout-payment-step").removeClass('-reachable').addClass('-unreachable');
266
267  // We can't go further if we haven't selected a relay
268  if (!_checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].savedRelay) {
269    setProcessLocked(true);
270    _checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].show();
271  } else if (!$(ev.target).is(_checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].selected_relay_input)) {
272    // If we DO have a selected relay, then we're reselecting a carrier
273    // The delivery_mode may be different though
274    _checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].hide();
275  }
276
277  // If we switched from a Mondial Relay carrier to another, hide the previous
278  // extraContent
279  if (selectedCarrierExtraContent) {
280    selectedCarrierExtraContent.hide();
281  }
282
283  // If we changed delivery mode, then our current relay selection is invalid
284  if (_checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].widget_current_params != null) {
285    var oldDeliveryMode = _checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].widget_current_params.ColLivMod;
286    var newDeliveryMode = _checkout__WEBPACK_IMPORTED_MODULE_0__["getCarrierDeliveryMode"](_checkout__WEBPACK_IMPORTED_MODULE_0__["getSelectedCarrierId"]());
287    if (oldDeliveryMode != newDeliveryMode) {
288      _checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].resetSelectedRelay();
289      _checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].resetSavedRelay();
290    }
291  }
292
293  // Show the new extraContent, and update the widget
294  setSelectedCarrierExtraContent();
295  $("#mondialrelay_content").appendTo(selectedCarrierExtraContent);
296  _checkout__WEBPACK_IMPORTED_MODULE_0__["widget"].initOrUpdate({
297    ColLivMod: _checkout__WEBPACK_IMPORTED_MODULE_0__["getCarrierDeliveryMode"](_checkout__WEBPACK_IMPORTED_MODULE_0__["getSelectedCarrierId"]())
298  });
299});
300
301// When selecting a PR in the list from the widget
302$('#js-delivery').on('change', '#mondialrelay_content *', function (ev) {
303  // If we selected a Mondial Relay carrier, we MUST NOT let that event
304  // propagate, or a form reload may be triggered even though we haven't
305  // selected a relay
306  ev.preventDefault();
307  ev.stopPropagation();
308});
309$(_checkout__WEBPACK_IMPORTED_MODULE_0__["widget"]).on('mondialrelay.saveSelectedRelay.before', function () {
310  setProcessLocked(true);
311  // Disable delivery options change, to prevent concurrent AJAX requests
312  $("[name^='delivery_option']").attr('readonly', true).on('click.mondialrelay.lock', function (ev) {
313    ev.preventDefault();
314    ev.stopPropagation();
315  });
316});
317$(_checkout__WEBPACK_IMPORTED_MODULE_0__["widget"]).on('mondialrelay.saveSelectedRelay.success', function () {
318  setProcessLocked(false);
319  // Enable delivery options change
320  $("[name^='delivery_option']").attr('readonly', false).off('click.mondialrelay.lock');
321});
322$(_checkout__WEBPACK_IMPORTED_MODULE_0__["widget"]).on('mondialrelay.saveSelectedRelay.error', function () {
323  setProcessLocked(true);
324  // Enable delivery options change
325  $("[name^='delivery_option']").attr('readonly', false).off('click.mondialrelay.lock');
326});
327window.mondialrelayWidget = _checkout__WEBPACK_IMPORTED_MODULE_0__["widget"];
328
329/***/ }),
330
331/***/ "./_dev/js/front/checkout/checkout.js":
332/*!********************************************!*\
333  !*** ./_dev/js/front/checkout/checkout.js ***!
334  \********************************************/
335/*! exports provided: removeCarrier, isRelayCarrierSelected, getSelectedCarrierId, getCarrierDeliveryMode, widget */
336/***/ (function(module, __webpack_exports__, __webpack_require__) {
337
338"use strict";
339__webpack_require__.r(__webpack_exports__);
340/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeCarrier", function() { return removeCarrier; });
341/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isRelayCarrierSelected", function() { return isRelayCarrierSelected; });
342/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getSelectedCarrierId", function() { return getSelectedCarrierId; });
343/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCarrierDeliveryMode", function() { return getCarrierDeliveryMode; });
344/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "widget", function() { return widget; });
345/* harmony import */ var _mondialrelay_widget__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mondialrelay_widget */ "./_dev/js/mondialrelay_widget.js");
346function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
347function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
348function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
349function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
350function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
351function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
352/**
353 * NOTICE OF LICENSE
354 *
355 * @author    202 ecommerce <[email protected]>
356 * @author    Mondial Relay
357 * @copyright Copyright (c) Mondial Relay
358 * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
359 */
360
361// modules ES6
362
363var removeCarrier = function removeCarrier() {
364  for (var _i = 0, _Object$entries = Object.entries(MONDIALRELAY_CARRIER_METHODS); _i < _Object$entries.length; _i++) {
365    var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
366      id_carrier = _Object$entries$_i[0],
367      carrier = _Object$entries$_i[1];
368    if (['ES', 'IT', 'PT'].includes(MONDIALRELAY_COUNTRY_ISO) && carrier.delivery_type !== "IP" || !['ES', 'IT', 'PT'].includes(MONDIALRELAY_COUNTRY_ISO) && carrier.delivery_type !== "MR" || !MONDIALRELAY_ADDRESS_OPC) {
369      if (carrier = $('[name^="delivery_option"][value="' + id_carrier + ',"]')[0]) {
370        pointCarrier(carrier, remove);
371      }
372    }
373  }
374};
375var pointCarrier = function pointCarrier(carrier, callback) {
376  var deliveryOption;
377  if (deliveryOption = carrier.closest('.delivery-option') || carrier.closest('.delivery_option')) {
378    callback(deliveryOption);
379  }
380};
381var remove = function remove(deliveryOption) {
382  deliveryOption.remove();
383};
384var widget = _mondialrelay_widget__WEBPACK_IMPORTED_MODULE_0__["widget"];
385var isRelayCarrierSelected = function isRelayCarrierSelected() {
386  return MONDIALRELAY_NATIVE_RELAY_CARRIERS_IDS.includes(getSelectedCarrierId());
387};
388var getSelectedCarrierId = function getSelectedCarrierId() {
389  var id = $('[name^="delivery_option"]:checked').val();
390  if (typeof id !== 'undefined') {
391    var new_id = id.split(',');
392    id = new_id[0];
393  }
394  return id ? id : false;
395};
396var getCarrierDeliveryMode = function getCarrierDeliveryMode(id_carrier) {
397  return MONDIALRELAY_CARRIER_METHODS[id_carrier]['delivery_mode'];
398};
399$(document).ready(function () {
400  removeCarrier();
401});
402$(document).on('click', widget.save_button, function (ev) {
403  ev.preventDefault();
404  ev.stopPropagation();
405  widget.displayErrors(null);
406  $(widget.summary_container).empty().show();
407  widget.addLoader(widget.summary_container);
408  $(widget).trigger('mondialrelay.saveSelectedRelay.before');
409  var params = {
410    ajax: true,
411    action: 'saveSelectedRelay',
412    mondialrelay_selectedRelay: MONDIALRELAY_SELECTED_RELAY_IDENTIFIER ? MONDIALRELAY_SELECTED_RELAY_IDENTIFIER : 0,
413    id_carrier: getSelectedCarrierId()
414  };
415  $.ajax({
416    type: 'POST',
417    url: MONDIALRELAY_AJAX_CHECKOUT_URL,
418    data: params,
419    dataType: 'json',
420    success: function success(response) {
421      if (!response) {
422        this.error(response);
423        return;
424      }
425      if (response.status == 'ok') {
426        widget.savedRelay = MONDIALRELAY_SELECTED_RELAY_IDENTIFIER;
427        $(widget.summary_container).html(response.content.relaySummary);
428        widget.hide();
429        $(widget.save_container).hide();
430        $(widget.widget_container).slideUp();
431        $(widget.save_container).slideUp();
432      } else {
433        widget.savedRelay = null;
434        if (response.error.length) {
435          widget.displayErrors(response.error);
436        }
437        widget.removeLoader($(widget.summary_container));
438        $(widget).trigger('mondialrelay.saveSelectedRelay.error');
439        return;
440      }
441      $(widget).trigger('mondialrelay.saveSelectedRelay.success');
442    },
443    error: function error(response) {
444      widget.savedRelay = null;
445      alert(MONDIALRELAY_SAVE_RELAY_ERROR);
446      $(widget).trigger('mondialrelay.saveSelectedRelay.error');
447      widget.removeLoader($(widget.summary_container));
448    }
449  });
450  return false;
451});
452
453
454/***/ }),
455
456/***/ "./_dev/js/mondialrelay_widget.js":
457/*!****************************************!*\
458  !*** ./_dev/js/mondialrelay_widget.js ***!
459  \****************************************/
460/*! exports provided: widget */
461/***/ (function(module, __webpack_exports__, __webpack_require__) {
462
463"use strict";
464__webpack_require__.r(__webpack_exports__);
465/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "widget", function() { return widget; });
466/**
467 * NOTICE OF LICENSE
468 *
469 * @author    202 ecommerce <[email protected]>
470 * @author    Mondial Relay
471 * @copyright Copyright (c) Mondial Relay
472 * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
473 */
474
475var widget = {
476  'url': '//widget.mondialrelay.com/parcelshop-picker/jquery.plugin.mondialrelay.parcelshoppicker.min.js',
477  'loaded': false,
478  'initialized': false,
479  'widget_container': '#mondialrelay_widget',
480  'save_container': '#mondialrelay_save-container',
481  'error_container': '#mondialrelay_errors',
482  'summary_container': '#mondialrelay_summary',
483  'save_button': '#mondialrelay_save-relay',
484  'change_button': '#mondialrelay_change-relay',
485  'selected_relay_input': '#mondialrelay_selected-relay',
486  'widget_search_zipcode_input': '#mondialrelay_widget .MRW-Search .Arg2',
487  'widget_search_country_input': '#mondialrelay_widget .MRW-Search .Arg1',
488  'savedRelay': null,
489  // This is basically read-only; it's used to check the widget's current state
490  'widget_current_params': null
491};
492var loadJs = function loadJs(url, callback) {
493  var script = document.createElement('script');
494  script.onload = callback;
495  script.src = url;
496  document.head.appendChild(script);
497};
498widget.load = function (callback) {
499  loadJs(widget.url, function () {
500    widget.loaded = true;
501    callback();
502  });
503};
504widget.init = function (params) {
505  // Access to the page may be completely blocked if the configuration isn't
506  // done, so this variable may not always be defined.
507  if (typeof MONDIALRELAY_BAD_CONFIGURATION != 'undefined' && MONDIALRELAY_BAD_CONFIGURATION) {
508    return;
509  }
510  if (widget.savedRelay) {
511    $(widget.summary_container).slideDown();
512  }
513  if (!widget.loaded) {
514    widget.addLoader(widget.widget_container);
515    widget.load(function () {
516      // No need to remove the loader; it will be replaced by the
517      // widget's content
518      widget.init(params);
519    });
520    return;
521  }
522  var defaultParams = {
523    // Where to store the selected relay's ID
524    Target: widget.selected_relay_input,
525    Brand: MONDIALRELAY_ENSEIGNE,
526    // iso code, 2 letters
527    Country: MONDIALRELAY_COUNTRY_ISO,
528    // Postcode for default search
529    PostCode: MONDIALRELAY_POSTCODE,
530    // Delivery mode; carrier dependent (Standard [24R], XL [24L], XXL [24X], Drive [DRI])
531    // Here for information, but don't set a default value; we should always set
532    // one directly
533    // ColLivMod: '24R',
534    // Wether to display the relays on a map or as a list
535    ShowResultsOnMap: MONDIALRELAY_DISPLAY_MAP == true,
536    // Nombre de Point Relais à afficher
537    NbResults: "7",
538    Responsive: true,
539    OnParcelShopSelected: function OnParcelShopSelected(relayData) {
540      $(widget.save_container).show();
541      widget.setSelectedRelay(null, relayData);
542    }
543  };
544  defaultParams['Theme'] = ['ES', 'IT', 'PT'].includes(MONDIALRELAY_COUNTRY_ISO) ? 'inpost' : 'mondialrelay';
545  if (params) {
546    $.extend(defaultParams, params);
547  }
548  widget.widget_current_params = defaultParams;
549  $(widget.widget_container).MR_ParcelShopPicker(defaultParams);
550  widget.initialized = true;
551};
552widget.show = function () {
553  $(widget.widget_container).show();
554};
555widget.hide = function () {
556  $(widget.widget_container).hide();
557};
558widget.update = function (params) {
559  $(widget.widget_container).trigger("MR_SetParams", params);
560  widget.widget_current_params = $.extend(widget.widget_current_params, params);
561  widget.doSearch();
562};
563widget.initOrUpdate = function (params) {
564  if (widget.initialized) {
565    widget.update(params);
566  } else {
567    widget.init(params);
568  }
569};
570widget.setSelectedRelay = function (relayIdentifier, relayData) {
571  if (typeof relayIdentifier == 'undefined' || !relayIdentifier) {
572    relayIdentifier = $(widget.selected_relay_input).val();
573  }
574  if (relayIdentifier != $(widget.selected_relay_input).val()) {
575    // @TODO : select relay on map... if we can
576    return;
577  }
578
579  // This can happen sometimes; we don't want to trigger a change if the value
580  // didn't actually change
581  if (MONDIALRELAY_SELECTED_RELAY_IDENTIFIER != relayIdentifier) {
582    var oldRelay = MONDIALRELAY_SELECTED_RELAY_IDENTIFIER;
583    MONDIALRELAY_SELECTED_RELAY_IDENTIFIER = relayIdentifier;
584    $(widget).trigger('mondialrelay.selectedRelay', {
585      oldRelay: oldRelay,
586      relayData: relayData
587    });
588  }
589};
590widget.resetSelectedRelay = function () {
591  var oldRelay = MONDIALRELAY_SELECTED_RELAY_IDENTIFIER;
592  MONDIALRELAY_SELECTED_RELAY_IDENTIFIER = null;
593  $(widget).trigger('mondialrelay.selectedRelay', {
594    oldRelay: oldRelay,
595    relayData: null
596  });
597};
598widget.resetSavedRelay = function (hideWidget) {
599  widget.savedRelay = null;
600  if (typeof hideWidget === 'undefined' || !hideWidget) {
601    $(widget.summary_container).slideUp();
602    $(widget.widget_container).slideDown();
603    $(widget.save_container).slideDown();
604  }
605};
606widget.doSearch = function (zipcode, country_iso) {
607  var searchCriteria = [typeof zipcode !== 'undefined' && zipcode ? zipcode : $(widget.widget_search_zipcode_input).val(), typeof country_iso !== 'undefined' && country_iso ? country_iso : $(widget.widget_search_country_input).val()];
608  $(widget.widget_container).trigger('MR_DoSearch', searchCriteria);
609};
610widget.displayErrors = function (messages) {
611  var box = $(widget.error_container);
612  if (box.length == 0) {
613    return;
614  }
615  box.stop(true);
616  if (box.children().length) {
617    box.fadeOut(function () {
618      $(this).empty();
619    });
620  }
621  if (typeof messages == 'undefined' || !messages) {
622    return;
623  }
624
625  // Either the queue is already going with .fadeOut(), either it will be
626  // launched by .fadeIn()
627  box.queue(function () {
628    var errors = [];
629    $.each(messages, function (k, m) {
630      errors.push($("<div/>").addClass("alert alert-danger").text(m));
631    });
632    $(this).append(errors);
633    $(this).dequeue();
634  });
635  box.fadeIn();
636};
637widget.addLoader = function (container) {
638  if ($(container).length == 0) {
639    return;
640  }
641  if ($(container).children('.mondialrelay_loader').length > 0) {
642    return;
643  }
644  $("#mondialrelay_loader-template").clone().attr('id', null).show().appendTo(container);
645};
646widget.removeLoader = function (container) {
647  $(container).children('.mondialrelay_loader').remove();
648};
649$(document).ready(function () {
650  widget.savedRelay = MONDIALRELAY_SELECTED_RELAY_IDENTIFIER;
651  $(widget).trigger('mondialrelay.ready');
652});
653$(document).on('click', widget.change_button, function (ev) {
654  widget.show();
655});
656$(document).on('click', '.MRW-ShowList', function (ev) {
657  ev.preventDefault();
658  ev.stopPropagation();
659});
660
661// Selecting a city from the autocomplete list may trigger things
662$(document).on('click', '.PR-City', function (ev) {
663  ev.preventDefault();
664  ev.stopPropagation();
665});
666
667
668/***/ })
668
669
670/******/ });
671//# sourceMappingURL=checkout-17.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.