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.
- package/Readme.md +5 -1
- package/build/css/category-main.css +1 -1
- package/build/css/homepage-main.css +1 -1
- package/build/css/kitchen-plp-main.css +1 -1
- package/build/css/main.css +1 -1
- package/build/css/my-account-main-v2.css +1 -1
- package/build/css/my-account-main.css +1 -1
- package/build/css/pdp-main-before-combine.css +1 -1
- package/build/css/pdp-main-non-critical.css +1 -1
- package/build/css/pdp-main.css +1 -1
- package/build/css/plp-main.css +1 -1
- package/build/css/store-locator-main.css +1 -1
- package/build/js/basket.min.js +2 -2
- package/build/js/bundle.min.js +1 -1
- package/build/js/checkout.min.js +2 -2
- package/build/js/emulation.min.js +994 -50
- package/build/js/general.bundle.min.js +1 -1
- package/build/js/merged-checkout.min.js +2 -2
- package/build/js/mini-basket-slider.min.js +1 -0
- package/build/js/page/basket/basket-update-cart-action.js +59 -0
- package/build/js/page/basket/basket-update-cart.js +29 -0
- package/build/js/page/basket/basket-utils.js +50 -0
- package/build/js/page/basket/mini-basket-total.js +97 -0
- package/build/js/page/basket/quantity-change-handler.js +64 -0
- package/build/js/page/basket/update-quantity-operation.js +37 -0
- package/build/js/page/basket/update-quantity.js +65 -0
- package/build/js/page/basket-v2.js +138 -244
- package/build/js/page/components/discounts.js +6 -6
- package/build/js/page/components/mini-basket-slider.js +569 -0
- package/build/js/pdp.bundle.min.js +1 -1
- package/build/js/plp.bundle.min.js +1 -1
- package/build/js/project-list.min.js +1 -1
- package/package.json +17 -2
- package/src/components/mini-basket/mini-basket-empty.hbs +3 -13
- package/src/components/mini-basket/mini-basket-order-item.hbs +73 -0
- package/src/components/mini-basket/mini-basket.hbs +32 -13
- package/src/components/mini-basket/product-item.hbs +37 -16
- package/src/components/srp-injected.hbs +3 -13
- package/src/data/data_confirmation-summary.json +4 -2
- package/src/data/data_mini-basket.json +4 -80
- package/src/js/components/banner-placement-manager.js +10 -1
- package/src/js/components/general/cart-slider.js +4 -0
- package/src/js/components/general/create-popup-slider.js +5 -2
- package/src/js/emulation/account-hub.js +40 -40
- package/src/js/emulation/custom-slider-emulation.js +4 -10
- package/src/js/emulation/mini-basket-data.js +949 -0
- package/src/js/page/basket/basket-update-cart-action.js +59 -0
- package/src/js/page/basket/basket-update-cart.js +29 -0
- package/src/js/page/basket/basket-utils.js +50 -0
- package/src/js/page/basket/mini-basket-total.js +97 -0
- package/src/js/page/basket/quantity-change-handler.js +64 -0
- package/src/js/page/basket/update-quantity-operation.js +37 -0
- package/src/js/page/basket/update-quantity.js +65 -0
- package/src/js/page/basket-v2.js +138 -244
- package/src/js/page/components/discounts.js +6 -6
- package/src/js/page/components/mini-basket-slider.js +569 -0
- package/src/layouts/base.hbs +0 -6
- package/src/page_plp_v2.html +2 -1
- package/src/partials/scripts.hbs +1 -0
- package/src/scss/category-main.scss +1 -0
- package/src/scss/components/_custom-slider.scss +131 -3
- package/src/scss/components/_popover-mini-basket.scss +0 -4
- package/src/scss/emulation.scss +3 -3
- package/src/scss/helpers/_colors-semantic.scss +120 -0
- package/src/scss/helpers/_variables.scss +2 -0
- package/src/scss/pages/_facets.scss +86 -0
- package/src/scss/plp-main.scss +1 -0
- 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.
|
|
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-
|
|
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
|
-
|
|
14
|
-
|
|
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 & 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
|
|
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="
|
|
10
|
-
|
|
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"
|
|
21
|
+
<span class="mini-basket__total-toggle-value"></span>
|
|
25
22
|
</button>
|
|
26
23
|
|
|
27
|
-
|
|
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="
|
|
31
|
-
<
|
|
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
|
-
</
|
|
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
|
-
<
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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 & 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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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": "
|
|
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
|
-
|
|
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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
|
|
35
|
-
|
|
34
|
+
Wick.AccountHub.initAccountHub();
|
|
35
|
+
Wick.AccountHub.initAccountHubRemove();
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
|
11
|
-
$(window).on('
|
|
10
|
+
function bindResolveEvent(events) {
|
|
11
|
+
$(window).on(events.join(' '), function ({ detail: { resolve } }) {
|
|
12
12
|
setTimeout(() => {
|
|
13
|
-
|
|
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
|
-
|
|
21
|
+
bindResolveEvent(['CLOSE_JUST_ADDED', 'CLOSE_MINI_BASKET', 'MINI_BASKET_CHECKOUT', 'MINI_BASKET_VIEW_BASKET']);
|
|
28
22
|
});
|