PageSourceSearch

https://www.irobot.fr/on/demandware.static/Sites-iRobotEU-Site/-/fr_FR/v1790777452865/js/login.js

js irobot.fr collected 2026-09-30 21:03:29 UTC 14,411 bytes, 349 lines download raw bytes

vendor: 3,698 bytes, lines 1-88
1/******/ (function(modules) { // webpackBootstrap
2/******/ 	// The module cache
3/******/ 	var installedModules = {};
4/******/
5/******/ 	// The require function
6/******/ 	function __webpack_require__(moduleId) {
7/******/
8/******/ 		// Check if module is in cache
9/******/ 		if(installedModules[moduleId]) {
10/******/ 			return installedModules[moduleId].exports;
11/******/ 		}
12/******/ 		// Create a new module (and put it into the cache)
13/******/ 		var module = installedModules[moduleId] = {
14/******/ 			i: moduleId,
15/******/ 			l: false,
16/******/ 			exports: {}
17/******/ 		};
18/******/
19/******/ 		// Execute the module function
20/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21/******/
22/******/ 		// Flag the module as loaded
23/******/ 		module.l = true;
24/******/
25/******/ 		// Return the exports of the module
26/******/ 		return module.exports;
27/******/ 	}
28/******/
29/******/
30/******/ 	// expose the modules object (__webpack_modules__)
31/******/ 	__webpack_require__.m = modules;
32/******/
33/******/ 	// expose the module cache
34/******/ 	__webpack_require__.c = installedModules;
35/******/
36/******/ 	// define getter function for harmony exports
37/******/ 	__webpack_require__.d = function(exports, name, getter) {
38/******/ 		if(!__webpack_require__.o(exports, name)) {
39/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
40/******/ 		}
41/******/ 	};
42/******/
43/******/ 	// define __esModule on exports
44/******/ 	__webpack_require__.r = function(exports) {
45/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47/******/ 		}
48/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
49/******/ 	};
50/******/
51/******/ 	// create a fake namespace object
52/******/ 	// mode & 1: value is a module id, require it
53/******/ 	// mode & 2: merge all properties of value into the ns
54/******/ 	// mode & 4: return value when already ns object
55/******/ 	// mode & 8|1: behave like require
56/******/ 	__webpack_require__.t = function(value, mode) {
57/******/ 		if(mode & 1) value = __webpack_require__(value);
58/******/ 		if(mode & 8) return value;
59/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60/******/ 		var ns = Object.create(null);
61/******/ 		__webpack_require__.r(ns);
62/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64/******/ 		return ns;
65/******/ 	};
66/******/
67/******/ 	// getDefaultExport function for compatibility with non-harmony modules
68/******/ 	__webpack_require__.n = function(module) {
69/******/ 		var getter = module && module.__esModule ?
70/******/ 			function getDefault() { return module['default']; } :
71/******/ 			function getModuleExports() { return module; };
72/******/ 		__webpack_require__.d(getter, 'a', getter);
73/******/ 		return getter;
74/******/ 	};
75/******/
76/******/ 	// Object.prototype.hasOwnProperty.call
77/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78/******/
79/******/ 	// __webpack_public_path__
80/******/ 	__webpack_require__.p = "";
81/******/
82/******/
83/******/ 	// Load entry module and return exports
84/******/ 	return __webpack_require__(__webpack_require__.s = "./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/login.js");
85/******/ })
86/************************************************************************/
87/******/ ({
88
89/***/ "./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/errorNotification.js":
90/*!**************************************************************************************************************************************!*\
91  !*** ./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/errorNotification.js ***!
92  \**************************************************************************************************************************************/
93/*! no static exports found */
94/***/ (function(module, exports, __webpack_require__) {
95
96"use strict";
97
98
99module.exports = function (element, message) {
100    var errorHtml = '<div class="alert alert-danger alert-dismissible ' +
101        'fade show" role="alert">' +
102        '<button type="button" class="close" data-dismiss="alert" aria-label="Close">' +
103        '<span aria-hidden="true">&times;</span>' +
104        '</button>' + message + '</div>';
105
106    $(element).append(errorHtml);
107};
108
109
110/***/ }),
111
112/***/ "./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/formValidation.js":
113/*!***********************************************************************************************************************************!*\
114  !*** ./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/formValidation.js ***!
115  \***********************************************************************************************************************************/
116/*! no static exports found */
117/***/ (function(module, exports, __webpack_require__) {
118
119"use strict";
120
121
122/**
123 * Remove all validation. Should be called every time before revalidating form
124 * @param {element} form - Form to be cleared
125 * @returns {void}
126 */
127function clearFormErrors(form) {
128    $(form).find('.form-control.is-invalid').removeClass('is-invalid');
129}
130
131module.exports = function (formElement, payload) {
132    // clear form validation first
133    clearFormErrors(formElement);
134    $('.alert', formElement).remove();
135
136    if (typeof payload === 'object' && payload.fields) {
137        Object.keys(payload.fields).forEach(function (key) {
138            if (payload.fields[key]) {
139                var feedbackElement = $(formElement).find('[name="' + key + '"]')
140                    .parent()
141                    .children('.invalid-feedback');
142
143                if (feedbackElement.length > 0) {
144                    if (Array.isArray(payload[key])) {
145                        feedbackElement.html(payload.fields[key].join('<br/>'));
146                    } else {
147                        feedbackElement.html(payload.fields[key]);
148                    }
149                    feedbackElement.siblings('.form-control').addClass('is-invalid');
150                }
151            }
152        });
153    }
154    if (payload && payload.error) {
155        var form = $(formElement).prop('tagName') === 'FORM'
156            ? $(formElement)
157            : $(formElement).parents('form');
158
159        form.prepend('<div class="alert alert-danger" role="alert">'
160            + payload.error.join('<br/>') + '</div>');
161    }
162};
163
164
165/***/ }),
166
167/***/ "./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/login.js":
168/*!***************************************************************************************************************!*\
169  !*** ./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/login.js ***!
170  \***************************************************************************************************************/
171/*! no static exports found */
172/***/ (function(module, exports, __webpack_require__) {
173
174"use strict";
175
176
177var processInclude = __webpack_require__(/*! ./util */ "./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/util.js");
178
179$(document).ready(function () {
180    processInclude(__webpack_require__(/*! ./login/login */ "./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/login/login.js"));
181});
182
183
184/***/ }),
185
186/***/ "./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/login/login.js":
187/*!*********************************************************************************************************************!*\
188  !*** ./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/login/login.js ***!
189  \*********************************************************************************************************************/
190/*! no static exports found */
191/***/ (function(module, exports, __webpack_require__) {
192
193"use strict";
194
195
196var formValidation = __webpack_require__(/*! ../components/formValidation */ "./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/formValidation.js");
197var createErrorNotification = __webpack_require__(/*! ../components/errorNotification */ "./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/errorNotification.js");
198
199module.exports = {
200    login: function () {
201        $('form.login').submit(function (e) {
202            var form = $(this);
203            e.preventDefault();
204            var url = form.attr('action');
205            form.spinner().start();
206            $('form.login').trigger('login:submit', e);
207            $.ajax({
208                url: url,
209                type: 'post',
210                dataType: 'json',
211                data: form.serialize(),
212                success: function (data) {
213                    form.spinner().stop();
214                    if (!data.success) {
215                        formValidation(form, data);
216                        $('form.login').trigger('login:error', data);
217                    } else {
218                        $('form.login').trigger('login:success', data);
219                        location.href = data.redirectUrl;
220                    }
221                },
222                error: function (data) {
223                    if (data.responseJSON.redirectUrl) {
224                        window.location.href = data.responseJSON.redirectUrl;
225                    } else {
226                        $('form.login').trigger('login:error', data);
227                        form.spinner().stop();
228                    }
229                }
230            });
231            return false;
232        });
233    },
234
235    register: function () {
236        $('form.registration').submit(function (e) {
237            var form = $(this);
238            e.preventDefault();
239            var url = form.attr('action');
240            form.spinner().start();
241            $('form.registration').trigger('login:register', e);
242            $.ajax({
243                url: url,
244                type: 'post',
245                dataType: 'json',
246                data: form.serialize(),
247                success: function (data) {
248                    form.spinner().stop();
249                    if (!data.success) {
250                        $('form.registration').trigger('login:register:error', data);
251                        formValidation(form, data);
252                    } else {
253                        $('form.registration').trigger('login:register:success', data);
254                        location.href = data.redirectUrl;
255                    }
256                },
257                error: function (err) {
258                    if (err.responseJSON.redirectUrl) {
259                        window.location.href = err.responseJSON.redirectUrl;
260                    } else {
261                        createErrorNotification($('.error-messaging'), err.responseJSON.errorMessage);
262                    }
263
264                    form.spinner().stop();
265                }
266            });
267            return false;
268        });
269    },
270
271    resetPassword: function () {
272        $('.reset-password-form').submit(function (e) {
273            var form = $(this);
274            e.preventDefault();
275            var url = form.attr('action');
276            form.spinner().start();
277            $('.reset-password-form').trigger('login:register', e);
278            $.ajax({
279                url: url,
280                type: 'post',
281                dataType: 'json',
282                data: form.serialize(),
283                success: function (data) {
284                    form.spinner().stop();
285                    if (!data.success) {
286                        formValidation(form, data);
287                    } else {
288                        $('.request-password-title').text(data.receivedMsgHeading);
289                        $('.request-password-body').empty()
290                            .append('<p>' + data.receivedMsgBody + '</p>');
291                        if (!data.mobile) {
292                            $('#submitEmailButton').text(data.buttonText)
293                                .attr('data-dismiss', 'modal');
294                        } else {
295                            $('.send-email-btn').empty()
296                                .html('<a href="'
297                                    + data.returnUrl
298                                    + '" class="btn btn-primary btn-block">'
299                                    + data.buttonText + '</a>'
300                                );
301                        }
302                    }
303                },
304                error: function () {
305                    form.spinner().stop();
306                }
307            });
308            return false;
309        });
310    },
311
312    clearResetForm: function () {
313        $('#login .modal').on('hidden.bs.modal', function () {
314            $('#reset-password-email').val('');
315            $('.modal-dialog .form-control.is-invalid').removeClass('is-invalid');
316        });
317    }
318};
319
320
321/***/ }),
322
323/***/ "./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/util.js":
324/*!**************************************************************************************************************!*\
325  !*** ./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/util.js ***!
326  \**************************************************************************************************************/
327/*! no static exports found */
328/***/ (function(module, exports, __webpack_require__) {
329
330"use strict";
331
332
333module.exports = function (include) {
334    if (typeof include === 'function') {
335        include();
336    } else if (typeof include === 'object') {
337        Object.keys(include).forEach(function (key) {
338            if (typeof include[key] === 'function') {
339                include[key]();
340            }
341        });
342    }
343};
344
345
346/***/ })
346
347
348/******/ });
349//# sourceMappingURL=login.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.