wickes-css2 2.103.0-develop.1 → 2.103.0-develop.10

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 (68) hide show
  1. package/Readme.md +5 -1
  2. package/build/css/category-main.css +1 -1
  3. package/build/css/homepage-main.css +1 -1
  4. package/build/css/kitchen-plp-main.css +1 -1
  5. package/build/css/main.css +1 -1
  6. package/build/css/my-account-main-v2.css +1 -1
  7. package/build/css/my-account-main.css +1 -1
  8. package/build/css/pdp-main-before-combine.css +1 -1
  9. package/build/css/pdp-main-non-critical.css +1 -1
  10. package/build/css/pdp-main.css +1 -1
  11. package/build/css/plp-main.css +1 -1
  12. package/build/css/store-locator-main.css +1 -1
  13. package/build/js/basket.min.js +2 -2
  14. package/build/js/bundle.min.js +1 -1
  15. package/build/js/checkout.min.js +2 -2
  16. package/build/js/emulation.min.js +994 -50
  17. package/build/js/general.bundle.min.js +1 -1
  18. package/build/js/merged-checkout.min.js +2 -2
  19. package/build/js/mini-basket-slider.min.js +1 -0
  20. package/build/js/page/basket/basket-update-cart-action.js +59 -0
  21. package/build/js/page/basket/basket-update-cart.js +29 -0
  22. package/build/js/page/basket/basket-utils.js +50 -0
  23. package/build/js/page/basket/mini-basket-total.js +97 -0
  24. package/build/js/page/basket/quantity-change-handler.js +64 -0
  25. package/build/js/page/basket/update-quantity-operation.js +37 -0
  26. package/build/js/page/basket/update-quantity.js +65 -0
  27. package/build/js/page/basket-v2.js +138 -244
  28. package/build/js/page/components/discounts.js +6 -6
  29. package/build/js/page/components/mini-basket-slider.js +569 -0
  30. package/build/js/pdp.bundle.min.js +1 -1
  31. package/build/js/plp.bundle.min.js +1 -1
  32. package/build/js/project-list.min.js +1 -1
  33. package/package.json +17 -2
  34. package/src/components/mini-basket/mini-basket-empty.hbs +3 -13
  35. package/src/components/mini-basket/mini-basket-order-item.hbs +73 -0
  36. package/src/components/mini-basket/mini-basket.hbs +32 -13
  37. package/src/components/mini-basket/product-item.hbs +37 -16
  38. package/src/components/srp-injected.hbs +3 -13
  39. package/src/data/data_confirmation-summary.json +4 -2
  40. package/src/data/data_mini-basket.json +4 -80
  41. package/src/js/components/banner-placement-manager.js +10 -1
  42. package/src/js/components/general/cart-slider.js +4 -0
  43. package/src/js/components/general/create-popup-slider.js +5 -2
  44. package/src/js/emulation/account-hub.js +40 -40
  45. package/src/js/emulation/custom-slider-emulation.js +4 -10
  46. package/src/js/emulation/mini-basket-data.js +949 -0
  47. package/src/js/page/basket/basket-update-cart-action.js +59 -0
  48. package/src/js/page/basket/basket-update-cart.js +29 -0
  49. package/src/js/page/basket/basket-utils.js +50 -0
  50. package/src/js/page/basket/mini-basket-total.js +97 -0
  51. package/src/js/page/basket/quantity-change-handler.js +64 -0
  52. package/src/js/page/basket/update-quantity-operation.js +37 -0
  53. package/src/js/page/basket/update-quantity.js +65 -0
  54. package/src/js/page/basket-v2.js +138 -244
  55. package/src/js/page/components/discounts.js +6 -6
  56. package/src/js/page/components/mini-basket-slider.js +569 -0
  57. package/src/layouts/base.hbs +0 -6
  58. package/src/page_plp_v2.html +2 -1
  59. package/src/partials/scripts.hbs +1 -0
  60. package/src/scss/category-main.scss +1 -0
  61. package/src/scss/components/_custom-slider.scss +131 -3
  62. package/src/scss/components/_popover-mini-basket.scss +0 -4
  63. package/src/scss/emulation.scss +3 -3
  64. package/src/scss/helpers/_colors-semantic.scss +120 -0
  65. package/src/scss/helpers/_variables.scss +2 -0
  66. package/src/scss/pages/_facets.scss +86 -0
  67. package/src/scss/plp-main.scss +1 -0
  68. package/src/js/components/general/mini-basket-slider.js +0 -8
package/package.json CHANGED
@@ -1,11 +1,23 @@
1
1
  {
2
2
  "name": "wickes-css2",
3
- "version": "2.103.0-develop.1",
3
+ "version": "2.103.0-develop.10",
4
4
  "description": "CSS and JS and page templates in use by Wickes",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
7
  "lint:fix": "sass-lint-auto-fix",
8
- "build": "gulp build"
8
+ "build": "gulp build",
9
+ "prepare": "husky install",
10
+ "setup:husky": "yarn prepare && npx husky add .husky/pre-commit \"yarn lint-staged\" && git add .husky/pre-commit"
11
+ },
12
+ "lint-staged": {
13
+ "src/js/**/*.js": [
14
+ "eslint --fix",
15
+ "prettier --write"
16
+ ],
17
+ "src/scss/**/*.{scss,css}": [
18
+ "prettier --write",
19
+ "sass-lint-auto-fix"
20
+ ]
9
21
  },
10
22
  "keywords": [
11
23
  "css",
@@ -48,11 +60,14 @@
48
60
  "gulp-uglify": "^3.0.2",
49
61
  "gulp-watch": "^5.0.0",
50
62
  "handlebars-layouts": "^3.1.4",
63
+ "husky": "8.0.3",
64
+ "lint-staged": "13.2.3",
51
65
  "mocha": "^6.2.2",
52
66
  "node-sass": "^4.0.0",
53
67
  "postcss": "^8.4.16",
54
68
  "postcss-combine-duplicated-selectors": "^10.0.3",
55
69
  "postcss-combine-media-query": "^1.0.1",
70
+ "prettier": "^3.7.4",
56
71
  "pug": "2.0.4",
57
72
  "sass": "^1.54.9",
58
73
  "sass-lint-auto-fix": "^0.21.2",
@@ -1,17 +1,7 @@
1
- <div class="custom-slider mini-basket d-none">
2
- <div class="custom-slider__wrap">
3
- <div class="custom-slider__header">
4
- <span class="custom-slider__count">Your basket (0)</span>
5
- <a href="#" type="button" class="icon-wrap close-popup">
6
- <i class="far fa-times icon"></i>
7
- </a>
8
- </div>
9
- <div class="custom-slider__empty">
1
+ <div class="custom-slider__empty">
10
2
  <span class="icon-wrap icon-wrap--xl">
11
3
  <i class="fas fa-shopping-basket"></i>
12
4
  </span>
13
- <p class="text">Your basket is currently empty.</p>
14
- <button class="btn btn-primary close-popup">Continue Shopping</button>
15
- </div>
16
- </div>
5
+ <p class="text">Your basket is currently empty.</p>
6
+ <button class="btn btn-primary close-popup">Continue Shopping</button>
17
7
  </div>
@@ -0,0 +1,73 @@
1
+ <div class="card product-card-preview" data-id="{{item.entryNumber}}">
2
+ <div
3
+ class="products__item card__inner"
4
+ data-name="{{item.product.name}}"
5
+ data-id="{{item.product.code}}"
6
+ data-price="{{item.product.price.formattedPriceWithoutCurrencySymbol}}"
7
+ data-brand="{{item.product.brandName}}"
8
+ data-category="{{removeFirst item.product.categoryPath 'Products/'}}"
9
+ data-position="{{position}}"
10
+ data-quantity="{{item.quantity}}"
11
+ >
12
+ <a href="{{item.product.url}}" class="card__img-wrap card__img-wrap_link products__image">
13
+ <img
14
+ class="product-img"
15
+ src="{{item.product.image.url}}"
16
+ alt="{{item.product.image.altText}}">
17
+ </a>
18
+ <div class="products__details product-card__content">
19
+ <div class="products__details-header">
20
+ <a href="{{item.product.url}}" class="title product-card__title product-card__title_link">
21
+ {{item.product.name}}
22
+ </a>
23
+ <button class="btn btn--remove {{#unless item.updateable}}d-none{{/unless}}" data-action="remove">
24
+ <i class="fas fa-trash remove-icon"></i>
25
+ </button>
26
+ </div>
27
+ <div class="products__details-body">
28
+ {{#if item.deliveryPointOfService.name}}
29
+ <p class="item">Click &amp; Collect: <span class="value">{{item.deliveryPointOfService.description}}</span></p>
30
+ {{else}}
31
+ <p class="item">Added for delivery</p>
32
+ {{/if}}
33
+ </div>
34
+
35
+ {{{promotionsHtml}}}
36
+
37
+ <div class="products__details-footer">
38
+ <div class="products__quantity-control">
39
+ <button class="btn btn--quantity" data-action="minus"
40
+ {{#unless item.updateable}}disabled{{/unless}} {{#if (eq item.quantity 1)}}disabled{{/if}}>
41
+ <i class="fal fa-minus quantity-cta-icon"></i>
42
+ </button>
43
+ <div class="quantity product-card__quantity-label">
44
+ <span class="value product-card__quantity-value" value="{{item.quantity}}">{{item.quantity}}</span>
45
+ </div>
46
+ <button class="btn btn--quantity" data-action="plus" {{#unless item.updateable}}disabled{{/unless}}>
47
+ <i class="fal fa-plus quantity-cta-icon"></i>
48
+ </button>
49
+ </div>
50
+ {{#if (eq item.basePrice.value 0)}}
51
+ <span class="order-item__value product-card__price-value">FREE</span>
52
+ {{else}}
53
+ {{#if (isToggleVatAvailable)}}
54
+ <div class="price including-vat-inherit">
55
+ <span class="product-card__price-value">
56
+ <span class="order-item__value">{{item.basePrice.formattedValue}}</span>
57
+ <span class="inc">Inc.VAT</span>
58
+ </span>
59
+ </div>
60
+ <div class="price excluding-vat-inherit">
61
+ <span class="product-card__price-value">
62
+ <span class="order-item__value">{{item.basePriceExcVat.formattedValue}}</span>
63
+ <span class="inc">Exc.VAT</span>
64
+ </span>
65
+ </div>
66
+ {{else}}
67
+ <span class="price product-card__price-value">{{item.basePrice.formattedValue}}</span>
68
+ {{/if}}
69
+ {{/if}}
70
+ </div>
71
+ </div>
72
+ </div>
73
+ </div>
@@ -1,39 +1,58 @@
1
- <div class="custom-slider mini-basket d-none">
1
+ <div class="custom-slider mini-basket popover-mini-basket d-none">
2
2
  <div class="custom-slider__wrap">
3
3
  <div class="custom-slider__header">
4
- <span class="custom-slider__count">Your basket (1)</span>
4
+ <span class="custom-slider__count">Your basket</span>
5
5
  <button type="button" class="icon-wrap close-popup">
6
6
  <i class="far fa-times icon"></i>
7
7
  </button>
8
8
  </div>
9
- <div class="products popover-mini-basket__cards-holder">
10
- {{#each mini-basket.products}}
11
- {{> mini-basket/product-item this switch-vat=true}}
12
- {{/each}}
13
- </div>
9
+ <div class="custom-slider__notifications"></div>
10
+ <div class="products popover-mini-basket__cards-holder"></div>
14
11
  </div>
15
12
  <div class="custom-slider__footer footer-fixed">
16
13
  <div class="mini-basket__total">
17
- <button class="btn mini-basket__total-toggle" type="button" data-toggle="collapse" data-target="#checkout-details-accordion-3" aria-expanded="false" aria-controls="checkout-details-accordion-3">
14
+ <button class="btn mini-basket__total-toggle collapsed" type="button" data-toggle="collapse" data-target="#checkout-details-accordion-3" aria-expanded="false" aria-controls="checkout-details-accordion-3">
18
15
  <span class="mini-basket__wrap-total">
19
16
  <span class="icon-wrap">
20
17
  <i class="fas fa-chevron-down arrow-icon"></i>
21
18
  </span>
22
19
  <span class="text">Total:</span>
23
20
  </span>
24
- <span class="value">{{mini-basket.total.totalPrice.formattedValue}}</span>
21
+ <span class="mini-basket__total-toggle-value"></span>
25
22
  </button>
26
23
 
27
- {{> checkout_order-summary-new confirmationSummary=true head=true mod=true id=3 mobile=true hideApplyVoucher=true}}
24
+ <div class="checkout-widget checkout-widget_order-summary">
25
+ <ul class="checkout-widget__details checkout-info-wrap collapse" id="checkout-details-accordion-3">
26
+ <li class="checkout-widget__accordion-wrap checkout-widget__details-discount" style="display: none">
27
+ <span class="checkout-widget__detail-name checkout-widget__detail-name_accordion collapsed" data-toggle="collapse" data-target="#acheckout-widget-accordion-3">
28
+ Discount(s):
29
+ <span class="icon accordion__header-icon-small">
30
+ <i class="fas fa-angle-up"></i>
31
+ </span>
32
+ </span>
33
+ <ul class="checkout-widget__details-hidden collapse" id="acheckout-widget-accordion-3"></ul>
34
+ <span class="checkout-widget__detail-value checkout-widget__item-value">£0.00</span>
35
+ </li>
36
+ </ul>
37
+ </div>
28
38
  </div>
29
39
  <div class="custom-slider__ctas">
30
- <a href="page_shopping-cart.html" class="btn btn_full btn-secondary">View Basket</a>
31
- <button class="btn btn-action btn_full btn-checkout">
40
+ <a href="/cart" class="btn btn_full btn-secondary btn-view-basket-cta">View Basket</a>
41
+ <a id="addToCartPopupCheckoutButton" href="/cart/checkout" class="btn btn-action btn_full btn-checkout">
32
42
  Checkout
33
43
  <span class="icon-wrap ml-2">
34
44
  <i class="fas fa-arrow-right"></i>
35
45
  </span>
36
- </button>
46
+ </a>
47
+ </div>
48
+ </div>
49
+
50
+ <div class="loader-wrapper basket-loader d-none">
51
+ <div class="loader-spinner">
52
+ <svg class="circular-loader" viewBox="25 25 50 50">
53
+ <circle class="loader-path" cx="50" cy="50" r="20" fill="none"></circle>
54
+ </svg>
37
55
  </div>
56
+ <h2>Updating basket…</h2>
38
57
  </div>
39
58
  </div>
@@ -1,24 +1,45 @@
1
- <div class="card product-card-preview">
1
+ <div class="card product-card-preview" data-id="{{id}}">
2
2
  <div class="products__item card__inner">
3
3
  <a class="card__img-wrap card__img-wrap_link products__image" href="page_product-details-with-global-search-v2.html">
4
4
  <img class="product-img" src="{{src}}" alt="">
5
5
  </a>
6
6
  <div class="products__details product-card__content">
7
- <a href="#" class="title product-card__title product-card__title_link">{{title}}</a>
8
- <p class="item">Click &amp; Collect: <span class="value">{{CC}}</span></p>
9
- <p class="item">Qty: <span class="value">{{quantity.value}}</span></p>
10
- {{#if switch-vat}}
11
- <p class="price including-vat-inherit">
12
- {{incVatPrice}}
13
- <span class="inc">Inc.VAT</span>
14
- </p>
15
- <p class="price excluding-vat-inherit">
16
- {{excVatPrice}}
17
- <span class="inc">Exc.VAT</span>
18
- </p>
19
- {{else}}
20
- <p class="price">{{price}}</p>
21
- {{/if}}
7
+ <div class="products__details-header">
8
+ <a href="#" class="title product-card__title product-card__title_link">{{title}}</a>
9
+ <button class="btn btn--remove" data-action="remove">
10
+ <i class="fas fa-trash remove-icon"></i>
11
+ </button>
12
+ </div>
13
+ <div class="products__details-body">
14
+ {{#if CC}}
15
+ <p class="item">Click &amp; Collect: <span class="value">{{CC}}</span></p>
16
+ {{/if}}
17
+ </div>
18
+ <div class="products__details-footer">
19
+ <div class="products__quantity-control">
20
+ <button class="btn btn--quantity" data-action="minus" {{#ifCond quantity.value '<=' 1}}disabled{{/ifCond}}>
21
+ <i class="fal fa-minus quantity-cta-icon"></i>
22
+ </button>
23
+ <label class="quantity product-card__quantity-label">
24
+ <span class="product-card__quantity-value">{{quantity.value}}</span>
25
+ </label>
26
+ <button class="btn btn--quantity" data-action="plus">
27
+ <i class="fal fa-plus quantity-cta-icon"></i>
28
+ </button>
29
+ </div>
30
+ {{#if switch-vat}}
31
+ <p class="price including-vat-inherit">
32
+ <span class="value">{{incVatPrice}}</span>
33
+ <span class="inc">Inc.VAT</span>
34
+ </p>
35
+ <p class="price excluding-vat-inherit">
36
+ <span class="value">{{excVatPrice}}</span>
37
+ <span class="inc">Exc.VAT</span>
38
+ </p>
39
+ {{else}}
40
+ <p class="price">{{price}}</p>
41
+ {{/if}}
42
+ </div>
22
43
  </div>
23
44
  </div>
24
45
  </div>
@@ -1,19 +1,9 @@
1
1
  <div class="srp-injected">
2
2
  <div class="srp-injected__content clamped-text">
3
3
  <p>
4
- <span style="font-size:12pt; font-variant:normal; white-space:pre-wrap">
5
- <span style="font-family:'Helvetica Neue',sans-serif">
6
- <span style="color:#000000">
7
- <span style="font-weight:400">
8
- <span style="font-style:normal">
9
- <span style="text-decoration:none">
10
- The right lighting can turn your bathroom into a sanctuary, blending style and practicality. From sleek ceiling lights to illuminated and elegant wall fixtures, each of our options is designed to elevate your space. Create a warm, inviting glow that turns your bathroom into a haven of comfort and style.
11
- </span>
12
- </span>
13
- </span>
14
- </span>
15
- </span>
16
- </span>
4
+ The right lighting can turn your bathroom into a sanctuary, blending style and practicality. From sleek ceiling
5
+ lights to illuminated and elegant wall fixtures, each of our options is designed to elevate your space. Create a
6
+ warm, inviting glow that turns your bathroom into a haven of comfort and style.
17
7
  </p>
18
8
  </div>
19
9
  </div>
@@ -13,7 +13,8 @@
13
13
  },
14
14
  {
15
15
  "title": "Click & Collect:",
16
- "value": "Free"
16
+ "value": "Free",
17
+ "mod": "cc"
17
18
  },
18
19
  {
19
20
  "title": "Delivery:",
@@ -22,7 +23,8 @@
22
23
  },
23
24
  {
24
25
  "title": "Charity donation:",
25
- "value": "£1.00"
26
+ "value": "£1.00",
27
+ "mod": "charity"
26
28
  }
27
29
  ],
28
30
  "total": {
@@ -3,6 +3,7 @@
3
3
  "number": 0,
4
4
  "products": [
5
5
  {
6
+ "id": 1,
6
7
  "quantity": {
7
8
  "value": "1"
8
9
  },
@@ -15,87 +16,9 @@
15
16
  "CC": "East Grinstead"
16
17
  },
17
18
  {
19
+ "id": 2,
18
20
  "quantity": {
19
- "value": "1"
20
- },
21
- "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
22
- "src": "img/placeholders/[e-img-4to3].jpg",
23
- "price": "£2,009.00",
24
- "incVatPrice": "£309.00",
25
- "excVatPrice": "£109.00",
26
- "bad-amount": true
27
- },
28
- {
29
- "quantity": {
30
- "value": "1"
31
- },
32
- "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
33
- "src": "img/placeholders/[e-img-4to3].jpg",
34
- "price": "£2,009.00",
35
- "incVatPrice": "£309.00",
36
- "excVatPrice": "£109.00",
37
- "bad-amount": true
38
- },
39
- {
40
- "quantity": {
41
- "value": "1"
42
- },
43
- "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
44
- "src": "img/placeholders/tap.jpg",
45
- "price": "£2,009.00",
46
- "incVatPrice": "£30.00",
47
- "excVatPrice": "£10.00",
48
- "lower-quantity": true,
49
- "CC": "East Grinstead"
50
- },
51
- {
52
- "quantity": {
53
- "value": "1"
54
- },
55
- "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
56
- "src": "img/placeholders/[e-img-4to3].jpg",
57
- "price": "£2,009.00",
58
- "incVatPrice": "£309.00",
59
- "excVatPrice": "£109.00",
60
- "bad-amount": true
61
- },
62
- {
63
- "quantity": {
64
- "value": "1"
65
- },
66
- "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
67
- "src": "img/placeholders/[e-img-4to3].jpg",
68
- "price": "£2,009.00",
69
- "incVatPrice": "£309.00",
70
- "excVatPrice": "£109.00",
71
- "bad-amount": true
72
- },
73
- {
74
- "quantity": {
75
- "value": "1"
76
- },
77
- "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
78
- "src": "img/placeholders/tap.jpg",
79
- "price": "£2,009.00",
80
- "incVatPrice": "£30.00",
81
- "excVatPrice": "£10.00",
82
- "lower-quantity": true,
83
- "CC": "East Grinstead"
84
- },
85
- {
86
- "quantity": {
87
- "value": "1"
88
- },
89
- "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
90
- "src": "img/placeholders/[e-img-4to3].jpg",
91
- "price": "£2,009.00",
92
- "incVatPrice": "£309.00",
93
- "excVatPrice": "£109.00",
94
- "bad-amount": true
95
- },
96
- {
97
- "quantity": {
98
- "value": "1"
21
+ "value": "5"
99
22
  },
100
23
  "title": "Rangemaster Classic Deluxe 90 Ceramic Range Cooker - Black with Chrome Trim",
101
24
  "src": "img/placeholders/[e-img-4to3].jpg",
@@ -125,3 +48,4 @@
125
48
  }
126
49
  }
127
50
  }
51
+
@@ -212,7 +212,16 @@ Wick.BannerPlacementManager = {
212
212
  },
213
213
  getListSlots() {
214
214
  return $(Wick.BannerPlacementManager.el.productsWrap)
215
- .children(Wick.BannerPlacementManager.el.allListSlots);
215
+ .children(Wick.BannerPlacementManager.el.allListSlots)
216
+ .filter(function() {
217
+ if ($(this).hasClass(Wick.BannerPlacementManager.classes.productBanners)) {
218
+ const position = Wick.BannerPlacementManager.getBannerPosition(this);
219
+ const productsCount = Wick.BannerPlacementManager.getListLength();
220
+ return position <= productsCount;
221
+ }
222
+
223
+ return true;
224
+ });
216
225
  },
217
226
  getBannerPriority(banner) {
218
227
  if ($(banner).hasClass(Wick.BannerPlacementManager.classes.sponsorProducts)) {
@@ -11,6 +11,10 @@ createPopupSlider({
11
11
  const htmlContent = event.detail.html;
12
12
  $(el.slider).append(htmlContent);
13
13
  showSlider();
14
+ Wick.MiniBasketSliderFE.isMiniBasketLoaded = false;
14
15
  $(el.sliderWrap).on('scroll', _.debounce(() => handleScroll(el.sliderWrap), 100));
15
16
  },
17
+ onClose: function () {
18
+ Wick.MiniBasketSliderFE.cartEntries = [];
19
+ }
16
20
  });
@@ -8,7 +8,7 @@ function createEvent(eventName, payload, eventDetail) {
8
8
  });
9
9
  }
10
10
 
11
- function createPopupSlider({ type, sliderSelector, onAppendEvent, onAppend }) {
11
+ function createPopupSlider({ type, sliderSelector, onAppendEvent, onAppend, onClose }) {
12
12
  const events = {
13
13
  CLOSE_JUST_ADDED: 'CLOSE_JUST_ADDED',
14
14
  CLOSE_MINI_BASKET: 'CLOSE_MINI_BASKET'
@@ -119,6 +119,9 @@ function createPopupSlider({ type, sliderSelector, onAppendEvent, onAppend }) {
119
119
  .finally(() => {
120
120
  hideSlider();
121
121
  Wick.Backdrop.hide();
122
+ if (typeof onClose === 'function') {
123
+ onClose();
124
+ }
122
125
  })
123
126
  }
124
127
 
@@ -167,7 +170,7 @@ function createPopupSlider({ type, sliderSelector, onAppendEvent, onAppend }) {
167
170
  bindClosePopup();
168
171
 
169
172
  if (onAppendEvent && onAppend) {
170
- document.addEventListener(onAppendEvent, (event) => {
173
+ window.addEventListener(onAppendEvent, (event) => {
171
174
  onAppend(event, { showSlider, handleScroll, el });
172
175
  });
173
176
  }
@@ -1,49 +1,49 @@
1
1
  function returnMembers() {
2
- return {
3
- canLoadMore: true,
4
- members: [
5
- {
6
- 'id': 'john.doe@wickes.co.uk',
7
- 'name': 'John Doe',
8
- 'email': 'john.doe@wickes.co.uk',
9
- 'date': '24/02/2022',
10
- 'order-history-url': 'page_tradePro_order-history.html',
11
- "status": "PENDING",
12
- "card-label": "Pending"
13
- },
14
- {
15
- 'id': 'john.doe2@wickes.co.uk',
16
- 'name': 'John Doe2',
17
- 'email': 'john.doe2@wickes.co.uk',
18
- 'date': '24/02/2022',
19
- 'order-history-url': 'page_tradePro_order-history.html',
20
- 'card-label': 'Other label'
21
- },
22
- {
23
- 'id': 'john.doe3@wickes.co.uk',
24
- 'name': 'John Doe3',
25
- 'email': 'john.doe3@wickes.co.uk',
26
- 'date': '24/02/2022',
27
- 'order-history-url': 'page_tradePro_order-history.html',
28
- }
29
- ],
30
- };
2
+ return {
3
+ canLoadMore: true,
4
+ members: [
5
+ {
6
+ id: 'john.doe@wickes.co.uk',
7
+ name: 'John Doe',
8
+ email: 'john.doe@wickes.co.uk',
9
+ date: '24/02/2022',
10
+ 'order-history-url': 'page_tradePro_order-history.html',
11
+ status: 'PENDING',
12
+ 'card-label': 'Pending',
13
+ },
14
+ {
15
+ id: 'john.doe2@wickes.co.uk',
16
+ name: 'John Doe2',
17
+ email: 'john.doe2@wickes.co.uk',
18
+ date: '24/02/2022',
19
+ 'order-history-url': 'page_tradePro_order-history.html',
20
+ 'card-label': 'Other label',
21
+ },
22
+ {
23
+ id: 'john.doe3@wickes.co.uk',
24
+ name: 'John Doe3',
25
+ email: 'john.doe3@wickes.co.uk',
26
+ date: '24/02/2022',
27
+ 'order-history-url': 'page_tradePro_order-history.html',
28
+ },
29
+ ],
30
+ };
31
31
  }
32
32
 
33
33
  function initAccountHubFunctionality() {
34
- Wick.AccountHub.initAccountHub();
35
- Wick.AccountHub.initAccountHubRemove();
34
+ Wick.AccountHub.initAccountHub();
35
+ Wick.AccountHub.initAccountHubRemove();
36
36
 
37
- $(window).on(Wick.AccountHub.LOAD_MORE_EVENT, function (e) {
38
- setTimeout(() => {
39
- e.detail.resolve(returnMembers());
40
- }, 1000);
41
- });
37
+ $(window).on(Wick.AccountHub.LOAD_MORE_EVENT, function (e) {
38
+ setTimeout(() => {
39
+ e.detail.resolve(returnMembers());
40
+ }, 1000);
41
+ });
42
42
  }
43
43
 
44
44
  $(document).ready(function () {
45
- if (!$('.account-hub').length) {
46
- return;
47
- }
48
- initAccountHubFunctionality();
45
+ if (!$('.account-hub').length) {
46
+ return;
47
+ }
48
+ initAccountHubFunctionality();
49
49
  });
@@ -7,22 +7,16 @@ function simulateHybrisSendingHtml() {
7
7
  document.dispatchEvent(event);
8
8
  }
9
9
 
10
- function initCloseJustAddedDiff() {
11
- $(window).on('CLOSE_JUST_ADDED CLOSE_MINI_BASKET', function ({ detail: { resolve }}) {
10
+ function bindResolveEvent(events) {
11
+ $(window).on(events.join(' '), function ({ detail: { resolve } }) {
12
12
  setTimeout(() => {
13
- return resolve();
13
+ resolve();
14
14
  }, 200);
15
15
  });
16
- };
17
-
18
- function simulateShowMiniBasket() {
19
- const event = new CustomEvent('showMiniBasket', {});
20
- document.dispatchEvent(event);
21
16
  }
22
17
 
23
18
  $(document).ready(function () {
24
19
  $('.btn-add-to-basket').on('click', simulateHybrisSendingHtml);
25
- $('.header-minicart__btn').on('click', simulateShowMiniBasket);
26
20
 
27
- initCloseJustAddedDiff();
21
+ bindResolveEvent(['CLOSE_JUST_ADDED', 'CLOSE_MINI_BASKET', 'MINI_BASKET_CHECKOUT', 'MINI_BASKET_VIEW_BASKET']);
28
22
  });