wickes-css2 2.103.0-develop.8 → 2.103.0-develop.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/build/css/category-main.css +1 -1
  2. package/build/css/homepage-main.css +1 -1
  3. package/build/css/kitchen-plp-main.css +1 -1
  4. package/build/css/main.css +1 -1
  5. package/build/css/my-account-main-v2.css +1 -1
  6. package/build/css/my-account-main.css +1 -1
  7. package/build/css/pdp-main-before-combine.css +1 -1
  8. package/build/css/pdp-main-non-critical.css +1 -1
  9. package/build/css/pdp-main.css +1 -1
  10. package/build/css/plp-main.css +1 -1
  11. package/build/css/store-locator-main.css +1 -1
  12. package/build/js/basket.min.js +2 -2
  13. package/build/js/bundle.min.js +1 -1
  14. package/build/js/checkout.min.js +2 -2
  15. package/build/js/emulation.min.js +954 -10
  16. package/build/js/general.bundle.min.js +1 -1
  17. package/build/js/merged-checkout.min.js +2 -2
  18. package/build/js/mini-basket-slider.min.js +1 -0
  19. package/build/js/page/basket/basket-update-cart-action.js +59 -0
  20. package/build/js/page/basket/basket-update-cart.js +29 -0
  21. package/build/js/page/basket/basket-utils.js +50 -0
  22. package/build/js/page/basket/mini-basket-total.js +97 -0
  23. package/build/js/page/basket/quantity-change-handler.js +64 -0
  24. package/build/js/page/basket/update-quantity-operation.js +37 -0
  25. package/build/js/page/basket/update-quantity.js +65 -0
  26. package/build/js/page/basket-v2.js +138 -244
  27. package/build/js/page/components/discounts.js +6 -6
  28. package/build/js/page/components/mini-basket-slider.js +569 -0
  29. package/build/js/pdp.bundle.min.js +1 -1
  30. package/build/js/plp.bundle.min.js +1 -1
  31. package/build/js/project-list.min.js +1 -1
  32. package/package.json +1 -1
  33. package/src/components/mini-basket/mini-basket-empty.hbs +3 -13
  34. package/src/components/mini-basket/mini-basket-order-item.hbs +73 -0
  35. package/src/components/mini-basket/mini-basket.hbs +32 -13
  36. package/src/components/mini-basket/product-item.hbs +37 -16
  37. package/src/data/data_confirmation-summary.json +4 -2
  38. package/src/data/data_mini-basket.json +4 -80
  39. package/src/js/components/general/cart-slider.js +4 -0
  40. package/src/js/components/general/create-popup-slider.js +5 -2
  41. package/src/js/emulation/custom-slider-emulation.js +4 -10
  42. package/src/js/emulation/mini-basket-data.js +949 -0
  43. package/src/js/page/basket/basket-update-cart-action.js +59 -0
  44. package/src/js/page/basket/basket-update-cart.js +29 -0
  45. package/src/js/page/basket/basket-utils.js +50 -0
  46. package/src/js/page/basket/mini-basket-total.js +97 -0
  47. package/src/js/page/basket/quantity-change-handler.js +64 -0
  48. package/src/js/page/basket/update-quantity-operation.js +37 -0
  49. package/src/js/page/basket/update-quantity.js +65 -0
  50. package/src/js/page/basket-v2.js +138 -244
  51. package/src/js/page/components/discounts.js +6 -6
  52. package/src/js/page/components/mini-basket-slider.js +569 -0
  53. package/src/layouts/base.hbs +0 -6
  54. package/src/partials/scripts.hbs +1 -0
  55. package/src/scss/components/_custom-slider.scss +131 -3
  56. package/src/scss/components/_popover-mini-basket.scss +0 -4
  57. package/src/js/components/general/mini-basket-slider.js +0 -8
@@ -31,6 +31,19 @@ import {displayEnergyEfficiency} from "./basket/display-energy-efficiency";
31
31
  import {appendLoader, hideLoader, showLoader} from "./utils/loader";
32
32
  import { initStickyObserver } from './components/sticky-order-observer';
33
33
  import {addClassToSummaryAside} from "./basket/summary-mobile";
34
+ import {handleQuantityChange} from "./basket/quantity-change-handler";
35
+ import {updateQuantityAction} from "./basket/update-quantity";
36
+ import {updateQuantityOperation} from "./basket/update-quantity-operation";
37
+ import {
38
+ checkProductArrays,
39
+ getCartEntries,
40
+ getMessageInfo,
41
+ isMessageExist,
42
+ updatePromotion,
43
+ showNotification
44
+ } from "./basket/basket-utils";
45
+ import {updateCartBase} from "./basket/basket-update-cart";
46
+ import {updateCartActionBase} from "./basket/basket-update-cart-action";
34
47
 
35
48
  var Wick = window.Wick || {};
36
49
  Wick.BasketPage = {
@@ -192,36 +205,17 @@ Wick.BasketPage = {
192
205
  }
193
206
 
194
207
  //for local update quantity value before API Call
195
- switch (action) {
196
- case 'plus':
197
- value = Number.parseInt(value, 10) + 1;
198
- if (value) {
199
- Wick.BasketPage.updateQuantity(quantityInput, value);
200
- Wick.BasketPage.debounceQuantityChange(entryNumber, value, quantityInput, context);
201
- }
202
- break;
203
- case 'minus':
204
- value = Number.parseInt(value, 10) - 1;
205
- if (value > 0) {
206
- Wick.BasketPage.updateQuantity(quantityInput, value);
207
- Wick.BasketPage.debounceQuantityChange(entryNumber, value, quantityInput, context);
208
- } else {
209
- Wick.BasketPage.removeQuantityDisable();
210
- }
211
-
212
- break;
213
- case 'remove':
214
- value = 0;
215
- charity || Wick.BasketPage.updateQuantity(quantityInput, value);
216
- Wick.BasketPage.debounceQuantityChange(entryNumber, value, quantityInput, context);
217
- break;
218
- default:
219
- if (+value !== 0) {
220
- Wick.BasketPage.updateQuantity(quantityInput, value);
221
- Wick.BasketPage.debounceQuantityChange(entryNumber, value, quantityInput, context);
222
- }
223
- break;
224
- }
208
+ handleQuantityChange({
209
+ quantityInput,
210
+ action,
211
+ value,
212
+ context,
213
+ charity,
214
+ entryNumber,
215
+ onQuantityChange: Wick.BasketPage.updateQuantityAction,
216
+ debounceQuantityChange: Wick.BasketPage.debounceQuantityChange,
217
+ onRemoveQuantityDisable: Wick.BasketPage.removeQuantityDisable
218
+ });
225
219
 
226
220
  changeWisdomWhenQuantityUpdated(e, context);
227
221
  Wick.BasketPage.toggleItemTotal(context, +quantityInput.val())
@@ -231,54 +225,23 @@ Wick.BasketPage = {
231
225
  Wick.BasketPage.updateQuantityAction(entryNumber, value, quantityInput, context)
232
226
  }, 500),
233
227
  updateQuantityAction: function (entryNumber, quantityToUpdate, quantityInput, context) {
234
- console.log('case(api) to update quantity', entryNumber, quantityToUpdate);
235
- //checkEnv
236
- if (!Wick.checkLocalEnv) {
237
- // api
238
- Wick.BasketPage.addQuantityDisable(context);
239
- const payload = {
240
- url: `${ROUTES.BASKET_ADD_STOCK}/${entryNumber}`,
241
- queries: {
242
- quantity: quantityToUpdate,
243
- },
244
- type: 'PUT',
245
- complete: () => {
246
- Wick.BasketPage.removeQuantityDisable();
247
- hideLoader(Wick.BasketPage.el.loader);
248
- },
249
- }
250
-
251
- callAction(
252
- payload,
253
- Wick.BasketPage.updateAction,
254
- quantityToUpdate,
255
- quantityInput,
256
- context,
257
- (response) => {
258
- if (response.statusMessage === 'accConfirmedMsgs') {
259
- const basketSection = Wick.BasketPage.el.basketMainSection;
260
- $(document).trigger("EEUpdateCart", {
261
- cartEntryNumber: entryNumber,
262
- initialCartQuantity: response.quantity - response.quantityAdded,
263
- newCartQuantity: response.quantity,
264
- fulfillment: context.hasClass('charity-new') ? 'Delivery' : context.closest(basketSection).attr('data-type'),
265
- });
266
- }
267
- context.find(Wick.BasketPage.el.actionButton).removeClass('disabled');
268
- });
269
- } else {
270
- Wick.BasketPage.updateQuantityOperation(
271
- quantityToUpdate,
272
- quantityInput,
273
- context,
274
- Wick.BasketData.updateQuantity
275
- );
276
- Wick.BasketPage.addQuantityDisable(context);
277
- setTimeout(() => {
278
- Wick.BasketPage.removeQuantityDisable();
279
- hideLoader(Wick.BasketPage.el.loader);
280
- }, 500);
281
- }
228
+ updateQuantityAction({
229
+ entryNumber,
230
+ quantityToUpdate,
231
+ quantityInput,
232
+ context,
233
+ addQuantityDisable: Wick.BasketPage.addQuantityDisable,
234
+ removeQuantityDisable: Wick.BasketPage.removeQuantityDisable,
235
+ hideLoader: hideLoader,
236
+ loaderSelector: Wick.BasketPage.el.loader,
237
+ updateAction: Wick.BasketPage.updateAction,
238
+ updateQuantityOperation: Wick.BasketPage.updateQuantityOperation,
239
+ basketData: Wick.BasketData,
240
+ isLocalEnv: Wick.checkLocalEnv,
241
+ callActionFn: callAction,
242
+ routes: ROUTES,
243
+ basketSectionSelector: Wick.BasketPage.el.basketMainSection
244
+ });
282
245
  },
283
246
  updateAction: function (response, quantityToUpdate, quantityInput, context, successCallback) {
284
247
  Wick.BasketPage.updateQuantityOperation(
@@ -290,54 +253,17 @@ Wick.BasketPage = {
290
253
  successCallback(response);
291
254
  },
292
255
  updateQuantityOperation: function (quantityToUpdate, quantityInput, context, data) {
293
- const charity = context.hasClass('charity-new'),
294
- negativeStatus = data.statusMessage !== 'accConfirmedMsgs',
295
- messageInfo = Wick.BasketPage.isMessageExist(data) && Wick.BasketPage.getMessageInfo(data);
296
- let maxValue, minValue;
297
-
298
- if (!charity) {
299
- maxValue = +quantityInput.attr('max');
300
- minValue = +quantityInput.attr('min');
301
- }
302
-
303
- console.log('errorStatus:', negativeStatus);
304
-
305
- minValue === 0 ? minValue = 1 : minValue = minValue;
306
-
307
- if (negativeStatus) {
308
- Wick.BasketPage.updateCart(messageInfo);
309
- Wick.BasketPage.updateQuantity(quantityInput, data.quantity);
310
- Wick.BasketPage.showNotification(data);
311
- } else {
312
- if (charity) {
313
- Wick.BasketPage.updateCart();
314
- } else {
315
- if (maxValue > 1 || minValue > 1) {
316
- if (quantityToUpdate > maxValue || quantityToUpdate < minValue) {
317
- Wick.BasketPage.showNotification(data);
318
- }
319
- }
320
-
321
- if (quantityToUpdate === 0) {
322
- Wick.BasketPage.showNotification(data);
323
- Wick.BasketPage.updateCart(messageInfo);
324
- } else {
325
- Wick.BasketPage.updateItemTotal(data, context)
326
- Wick.BasketPage.updateCart(null, context)
327
- }
328
- }
329
- }
330
-
331
- },
332
- isMessageExist: function (data) {
333
- return data.message && data.statusMessage;
334
- },
335
- getMessageInfo: function (data) {
336
- return {
337
- message: data.message,
338
- status: data.statusMessage,
339
- }
256
+ updateQuantityOperation(quantityToUpdate, quantityInput, context, data, {
257
+ updateCart: Wick.BasketPage.updateCart,
258
+ showNotification: Wick.BasketPage.showNotification,
259
+ updateQuantity: Wick.BasketPage.updateQuantity,
260
+ updateItemTotal: Wick.BasketPage.updateItemTotal,
261
+ isMessageExist: Wick.BasketPage.isMessageExist,
262
+ getMessageInfo: Wick.BasketPage.getMessageInfo
263
+ });
340
264
  },
265
+ isMessageExist: isMessageExist,
266
+ getMessageInfo: getMessageInfo,
341
267
  loadIndexing: function () {
342
268
  Wick.BasketPage.el.$orderItem.each(function (index) {
343
269
  $(this).attr('data-id', index);
@@ -364,107 +290,92 @@ Wick.BasketPage = {
364
290
  }
365
291
  }
366
292
  },
367
- toggleItemTotal: function (context, quantity) {
293
+ toggleItemTotal: function(context, quantity) {
368
294
  quantity <= 1
369
- ? $(context).find(Wick.BasketPage.el.total).addClass(Wick.BasketPage.el.totalHide)
370
- : $(context).find(Wick.BasketPage.el.total).removeClass(Wick.BasketPage.el.totalHide);
295
+ ? $(context).find(Wick.BasketPage.el.total).addClass(Wick.BasketPage.el.totalHide)
296
+ : $(context).find(Wick.BasketPage.el.total).removeClass(Wick.BasketPage.el.totalHide);
371
297
  },
372
298
  updateCart: function (repaintData, context, charity, initial, callback) {
373
299
  console.log('case(api) to update cart');
374
- const info = {repaintData, context, charity, initial}
375
- const actionCallback = callback || Wick.BasketPage.updateCartAction;
376
-
377
- if (!Wick.checkLocalEnv) {
378
- const payload = {
379
- url: ROUTES.BASKET_GET_CART,
380
- type: 'GET',
381
- complete: hideLoader(Wick.BasketPage.el.loader),
382
- }
383
-
384
- callAction(payload, actionCallback, info)
385
- } else {
386
- if (initial) {
387
- Wick.BasketPage.getCartEntries(Wick.BasketData.initialCartState);
388
- addClassToSummaryAside(Wick.BasketData.initialCartState);
389
- const initialTotalPrice = Wick.BasketData.initialCartState.totalPrice.value;
390
- updateClearpayVisibility(initialTotalPrice);
391
- } else {
392
- updateBasketDataQuantity();
393
- updateOrderSummary(
394
- Wick.BasketData.updateCart,
395
- Wick.BasketPage.getEqualMapForUpdateCart(Wick.BasketData.updateCart)
396
- );
397
-
398
- !repaintData || Wick.BasketPage.repaintOrderItems(Wick.BasketData.updateCart, repaintData);
399
- !charity || Wick.BasketPage.addCharityEntryNumber(Wick.BasketData.updateCart);
400
-
401
- //update promotion when update quantity
402
- if (context && context.length) {
403
- Wick.BasketPage.updatePromotion(Wick.BasketData.updateCart, context);
300
+ updateCartBase({
301
+ isLocalEnv: Wick.checkLocalEnv,
302
+ apiUrl: ROUTES.BASKET_GET_CART,
303
+ apiType: 'GET',
304
+ hideLoader: () => setTimeout(() => hideLoader(Wick.BasketPage.el.loader), 1000),
305
+ callActionFn: callAction,
306
+ actionCallback: callback || Wick.BasketPage.updateCartAction,
307
+ repaintData,
308
+ context,
309
+ charity,
310
+ initial,
311
+ localUpdateFn: function(initial, repaintData, context, charity) {
312
+ if (initial) {
313
+ Wick.BasketPage.getCartEntries(Wick.BasketData.initialCartState);
314
+ addClassToSummaryAside(Wick.BasketData.initialCartState);
315
+ const initialTotalPrice = Wick.BasketData.initialCartState.totalPrice.value;
316
+ updateClearpayVisibility(initialTotalPrice);
317
+ } else {
318
+ updateBasketDataQuantity();
319
+ updateOrderSummary(
320
+ Wick.BasketData.updateCart,
321
+ Wick.BasketPage.getEqualMapForUpdateCart(Wick.BasketData.updateCart)
322
+ );
323
+ !repaintData || Wick.BasketPage.repaintOrderItems(Wick.BasketData.updateCart, repaintData);
324
+ !charity || Wick.BasketPage.addCharityEntryNumber(Wick.BasketData.updateCart);
325
+ if (context && context.length) {
326
+ Wick.BasketPage.updatePromotion(Wick.BasketData.updateCart, context);
327
+ }
328
+ updateKlarnaPlacements(Wick.BasketData.updateCart.totalPrice.formattedPriceWithoutCurrencySymbol);
329
+ updateClearpayPlacements(Wick.BasketData.updateCart.totalPrice.value);
330
+ updateClearpayVisibility(Wick.BasketData.updateCart.totalPrice.value);
331
+ Wick.BasketPage.addPotentialPromo(Wick.BasketData.updateCart);
332
+ addClassToSummaryAside(Wick.BasketData.updateCart);
333
+ Wick.BasketPage.getCartEntries(Wick.BasketData.updateCart);
334
+ Wick.BasketPage.checkProductArrays(Wick.BasketData.updateCart) || Wick.BasketPage.removeOrderItem(repaintData);
335
+ updateBasketSession();
336
+ Wick.EnergyEfficiency && Wick.EnergyEfficiency.drawEnergyLabels();
337
+ setTimeout(() => hideLoader(Wick.BasketPage.el.loader), 1000);
404
338
  }
405
-
406
- updateKlarnaPlacements(Wick.BasketData.updateCart.totalPrice.formattedPriceWithoutCurrencySymbol);
407
- updateClearpayPlacements(Wick.BasketData.updateCart.totalPrice.value);
408
- updateClearpayVisibility(Wick.BasketData.updateCart.totalPrice.value);
409
- Wick.BasketPage.addPotentialPromo(Wick.BasketData.updateCart);
410
- addClassToSummaryAside(Wick.BasketData.updateCart);
411
- Wick.BasketPage.getCartEntries(Wick.BasketData.updateCart);
412
- Wick.BasketPage.checkProductArrays(Wick.BasketData.updateCart) || Wick.BasketPage.removeOrderItem(repaintData);
413
- updateBasketSession();
414
- Wick.EnergyEfficiency && Wick.EnergyEfficiency.drawEnergyLabels();
415
- setTimeout(hideLoader, 1000);
416
339
  }
417
- }
340
+ });
418
341
  },
419
- updateCartAction: function (response, info) {
420
- updateClearpayVisibility(response.totalPrice.value)
421
- addClassToSummaryAside(response)
422
- if (info.initial) {
423
- Wick.BasketPage.getCartEntries(response);
424
- } else {
425
- updateOrderSummary(response, Wick.BasketPage.getEqualMapForUpdateCart(response));
426
- if (info.repaintData) {
427
- if (info.repaintData.isChangeDelivery) {
428
- info.repaintData.cartEntry = Wick.BasketPage.cartEntries
429
- .filter(entry => entry.entryNumber === info.repaintData.cartEntryNumber)[0];
430
- $(document).trigger("EEUpdateDeliveryMode", info.repaintData);
431
- }
432
-
433
- Wick.BasketPage.checkProductArrays(response) ?
434
- Wick.BasketPage.repaintOrderItems(response, info.repaintData) :
435
- (() => {
436
- $(Wick.BasketPage.el.orderItem).remove();
437
- Wick.BasketPage.removeOrderItem(info.repaintData);
438
- })();
439
- }
440
-
441
- !info.charity || Wick.BasketPage.addCharityEntryNumber(response);
442
-
443
- //update promotion when update quantity
444
- if (info.context && info.context.length) {
445
- Wick.BasketPage.updatePromotion(response, info.context);
342
+ updateCartAction: function (response, {repaintData, charity, initial, context}) {
343
+ updateClearpayVisibility(response.totalPrice.value);
344
+ addClassToSummaryAside(response);
345
+
346
+ updateCartActionBase({
347
+ response,
348
+ repaintData,
349
+ context,
350
+ charity,
351
+ initial,
352
+ updateOrderSummaryFn: updateOrderSummary,
353
+ getEqualMapFn: Wick.BasketPage.getEqualMapForUpdateCart,
354
+ repaintOrderItemsFn: Wick.BasketPage.repaintOrderItems,
355
+ addCharityEntryNumberFn: Wick.BasketPage.addCharityEntryNumber,
356
+ updatePromotionFn: Wick.BasketPage.updatePromotion,
357
+ addPotentialPromoFn: Wick.BasketPage.addPotentialPromo,
358
+ cartEntries: Wick.BasketPage.cartEntries,
359
+ getCartEntriesFn: () => Wick.BasketPage.getCartEntries(response),
360
+ checkProductArraysFn: Wick.BasketPage.checkProductArrays,
361
+ removeOrderItemFn: Wick.BasketPage.removeOrderItem,
362
+ elOrderItem: Wick.BasketPage.el.orderItem,
363
+ updateKlarnaPlacementsFn: updateKlarnaPlacements,
364
+ updateClearpayPlacementsFn: updateClearpayPlacements,
365
+ updateClearpayVisibilityFn: updateClearpayVisibility,
366
+ addClassToSummaryAsideFn: addClassToSummaryAside,
367
+ updateBasketSessionFn: updateBasketSession,
368
+ drawEnergyLabelsFn: Wick.EnergyEfficiency && Wick.EnergyEfficiency.drawEnergyLabels,
369
+ extraActions: (response) => {
370
+ updateEeaProducts(response.deliveryOrderGroups, response.pickupOrderGroups);
371
+ updateEeaCheckoutProducts(response.deliveryOrderGroups, response.pickupOrderGroups);
372
+ syncEeaProducts();
446
373
  }
447
-
448
- Wick.BasketPage.addPotentialPromo(response);
449
- updateEeaProducts(response.deliveryOrderGroups, response.pickupOrderGroups);
450
- updateEeaCheckoutProducts(response.deliveryOrderGroups, response.pickupOrderGroups);
451
- syncEeaProducts();
452
- $(document).trigger("cartUpdate");
453
- Wick.BasketPage.getCartEntries(response);
454
- updateKlarnaPlacements(response.totalPrice.formattedPriceWithoutCurrencySymbol);
455
- updateClearpayPlacements(response.totalPrice.value);
456
- updateClearpayVisibility(response.totalPrice.value);
457
- updateBasketSession();
458
- Wick.EnergyEfficiency.drawEnergyLabels()
459
- }
460
- },
461
- checkProductArrays(cart) {
462
- return cart.pickupUniqueItemsNumber || cart.deliveryUniqueItemsNumber;
374
+ });
463
375
  },
464
- getCartEntries(data) {
465
- Wick.BasketPage.cartEntries = data.deliveryOrderGroups.concat(data.pickupOrderGroups)
466
- .map(orderGroup => orderGroup.entries)
467
- .flatMap(entries => entries);
376
+ checkProductArrays: checkProductArrays,
377
+ getCartEntries: function(data) {
378
+ Wick.BasketPage.cartEntries = getCartEntries(data);
468
379
  },
469
380
  addCharityEntryNumber: function (data) {
470
381
  let entryNumber;
@@ -481,34 +392,17 @@ Wick.BasketPage = {
481
392
  )
482
393
  }
483
394
  },
484
- updatePromotion: function (data) {
485
- $(Wick.BasketPage.el.orderItem).each(function () {
486
- let itemNumber = {entryNumber: +$(this).attr('data-id')}
487
- $(this).find(Wick.BasketPage.el.orderItemOffers).remove()
488
- $(this).find(Wick.BasketPage.el.orderItemInfo).append(Wick.BasketPage.addPromotions(itemNumber, data));
489
- })
395
+ updatePromotion: function(data, context) {
396
+ updatePromotion(
397
+ data,
398
+ Wick.BasketPage.el.orderItem,
399
+ Wick.BasketPage.el.orderItemOffers,
400
+ Wick.BasketPage.el.orderItemInfo,
401
+ Wick.BasketPage.addPromotions
402
+ );
490
403
  },
491
- showNotification: function (data) {
492
- let notificationType;
493
- switch (data.statusMessage) {
494
- case 'accConfirmedMsgs':
495
- notificationType = 'success'
496
- break;
497
- case 'accWarnMsgs':
498
- notificationType = 'warning'
499
- break;
500
- case 'accErrorMsgs':
501
- notificationType = 'error'
502
- break;
503
- }
504
-
505
- Wick.Notification.show({
506
- text: data.message,
507
- container: '.notification-area',
508
- type: notificationType,
509
- closeBtn: true
510
- });
511
-
404
+ showNotification: function(data) {
405
+ showNotification(data, '.notification-area');
512
406
  },
513
407
  hideUnusedDeliveryTypeCost: function (data, isVoucher) {
514
408
  $(Wick.BasketPage.el.delivery).show()
@@ -1,22 +1,22 @@
1
1
  const osEl = {
2
- $discountList: $('.checkout-widget__details-discount ul'),
2
+ $discountList: () => $('.checkout-widget__details-discount').find('ul'),
3
3
  discountItem: '.checkout-widget__details-discount',
4
4
  }
5
5
 
6
6
  export function updateDiscount(data, isVoucher) {
7
7
  if ((Array.isArray(data.promotionsInfo) && data.promotionsInfo.length)) {
8
8
  $(osEl.discountItem).show();
9
- osEl.$discountList.empty();
9
+ osEl.$discountList().empty();
10
10
 
11
11
  !data.promotionsInfo || data.promotionsInfo.forEach(function (discountObj) {
12
12
  appendOrderPromotions(discountObj);
13
13
  });
14
14
  } else if (isVoucher && (Array.isArray(data.promotionsInfo) && data.promotionsInfo.length)) {
15
15
  $(osEl.discountItem).show();
16
- osEl.$discountList.empty();
16
+ osEl.$discountList().empty();
17
17
 
18
18
  data.promotionsInfo.forEach(function (discountItem) {
19
- osEl.$discountList.append(function () {
19
+ osEl.$discountList().append(function () {
20
20
  if (discountItem.usedCouponCode && discountItem.description) {
21
21
  return `
22
22
  <li data-coupon-code="${discountItem.usedCouponCode}">
@@ -44,9 +44,9 @@ export function updateDiscount(data, isVoucher) {
44
44
  function appendOrderPromotions(discountObj) {
45
45
  if (!_.isEmpty(discountObj)) {
46
46
  if (discountObj.usedCouponCode && discountObj.description) {
47
- osEl.$discountList.append(createRemoveCouponItem(discountObj));
47
+ osEl.$discountList().append(createRemoveCouponItem(discountObj));
48
48
  } else if (discountObj.description) {
49
- osEl.$discountList.append(function () {
49
+ osEl.$discountList().append(function () {
50
50
  return `<li>${discountObj.description}</li>`
51
51
  });
52
52
  }