wickes-css2 2.105.0-develop.3 → 2.105.0-develop.4
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 +1 -2
- 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/pages/page_product_search.css +1 -1
- package/build/css/pages/page_products-list-combined.css +1 -1
- package/build/css/pages/page_products-list.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 +12122 -11594
- package/build/js/general.bundle.min.js +1 -1
- package/build/js/kitchen/kitchen-plp.min.js +1 -9
- package/build/js/merged-checkout.min.js +2 -2
- package/build/js/mini-basket-slider.min.js +1 -1
- package/build/js/page/basket/basket-update-cart-action.js +59 -56
- package/build/js/page/basket/basket-update-cart.js +27 -27
- package/build/js/page/basket/basket-utils.js +40 -33
- package/build/js/page/basket/mini-basket-total.js +70 -66
- package/build/js/page/basket/quantity-change-handler.js +73 -55
- package/build/js/page/basket/update-quantity-operation.js +39 -30
- package/build/js/page/basket/update-quantity.js +62 -62
- package/build/js/page/basket-v2.js +362 -229
- package/build/js/page/billie-business-type.js +27 -27
- package/build/js/page/checkout-payment-details.js +301 -299
- package/build/js/page/components/discounts.js +39 -36
- package/build/js/page/components/mini-basket-slider.js +604 -545
- package/build/js/page/filters/desktop-nav.js +64 -0
- package/build/js/page/filters/mobile-nav.js +93 -0
- package/build/js/page/filters/plp-filters-chips.js +92 -0
- package/build/js/page/filters/plp-filters-mobile.js +150 -0
- package/build/js/page/filters/plp-filters-panel.js +123 -0
- package/build/js/page/filters/plp-filters-utils.js +66 -0
- package/build/js/page/filters/plp-filters.js +256 -0
- package/build/js/page/filters/sort-by.js +172 -0
- package/build/js/page/klarna-modal-scroll-disable.js +4 -4
- package/build/js/page/online-exclusive.js +28 -30
- package/build/js/page/search-filter.js +62 -0
- package/build/js/page/utils/helpers.js +14 -9
- package/build/js/page/utils/show-more-less.js +273 -0
- package/build/js/pdp.bundle.min.js +1 -1
- package/build/js/plp-filters.min.js +9 -0
- package/build/js/plp.bundle.min.js +1 -1
- package/build/js/project-list.min.js +1 -1
- package/build/js/search-filter.min.js +1 -0
- package/package.json +3 -3
- package/src/components/accordion.hbs +2 -2
- package/src/components/kitchen/dropdown.hbs +6 -3
- package/src/components/kitchen/filter-modal-content-kitchen.hbs +10 -0
- package/src/components/kitchen/filter-modal.hbs +10 -13
- package/src/components/kitchen/plp-filters.hbs +3 -1
- package/src/components/kitchen/sort-by.hbs +1 -1
- package/src/components/search-filter-modal-content.hbs +102 -0
- package/src/components/search-filter.hbs +121 -112
- package/src/data/data_plp_load-more.json +1 -1
- package/src/elements/btn.hbs +7 -0
- package/src/js/components/general/accordion.js +38 -29
- package/src/js/components/general/cart-slider.js +19 -16
- package/src/js/components/general/create-popup-slider.js +168 -173
- package/src/js/emulation/big-wins.js +1081 -904
- package/src/js/emulation/billie-modal.js +23 -19
- package/src/js/emulation/checkout-payment-details.js +47 -38
- package/src/js/emulation/custom-slider-emulation.js +17 -13
- package/src/js/emulation/filters-emulation.js +164 -0
- package/src/js/emulation/forms.js +360 -323
- package/src/js/emulation/mini-basket-data.js +1051 -923
- package/src/js/emulation/paymentLoader.js +17 -17
- package/src/js/emulation/pdf-file-loader.js +89 -91
- package/src/js/emulation/popover-mini-basket.js +246 -239
- package/src/js/emulation/product-counter.js +50 -0
- package/src/js/emulation/project-list-pdp.js +321 -316
- package/src/js/emulation/repayment-toggle.js +23 -24
- package/src/js/emulation/reset-filter-desktop.js +5 -0
- package/src/js/emulation/selectable.js +22 -18
- package/src/js/emulation/wismo-details.js +23 -31
- package/src/js/page/basket/basket-update-cart-action.js +59 -56
- package/src/js/page/basket/basket-update-cart.js +27 -27
- package/src/js/page/basket/basket-utils.js +40 -33
- package/src/js/page/basket/mini-basket-total.js +70 -66
- package/src/js/page/basket/quantity-change-handler.js +73 -55
- package/src/js/page/basket/update-quantity-operation.js +39 -30
- package/src/js/page/basket/update-quantity.js +62 -62
- package/src/js/page/basket-v2.js +362 -229
- package/src/js/page/billie-business-type.js +27 -27
- package/src/js/page/checkout-payment-details.js +301 -299
- package/src/js/page/components/discounts.js +39 -36
- package/src/js/page/components/mini-basket-slider.js +604 -545
- package/src/js/page/filters/desktop-nav.js +64 -0
- package/src/js/page/filters/mobile-nav.js +93 -0
- package/src/js/page/filters/plp-filters-chips.js +92 -0
- package/src/js/page/filters/plp-filters-mobile.js +150 -0
- package/src/js/page/filters/plp-filters-panel.js +123 -0
- package/src/js/page/filters/plp-filters-utils.js +66 -0
- package/src/js/page/filters/plp-filters.js +256 -0
- package/src/js/page/filters/sort-by.js +172 -0
- package/src/js/page/klarna-modal-scroll-disable.js +4 -4
- package/src/js/page/online-exclusive.js +28 -30
- package/src/js/page/search-filter.js +62 -0
- package/src/js/page/utils/helpers.js +14 -9
- package/src/js/page/utils/show-more-less.js +273 -0
- package/src/page_empty-shared-project-list-bicester-hub.html +3 -0
- package/src/page_kitchen-plp.html +2 -2
- package/src/page_plp-with-paint.html +2 -7
- package/src/page_plp.html +2 -7
- package/src/page_plp_v2-energy-efficiency.html +1 -6
- package/src/page_plp_v2-favourite-products.html +6 -7
- package/src/page_plp_v2-vat.html +2 -7
- package/src/page_plp_v2.html +22 -9
- package/src/page_product_search-vat.html +2 -7
- package/src/page_product_search.html +2 -7
- package/src/page_project-list-with-new-share-popup-android.html +1 -0
- package/src/page_project-list-with-new-share-popup-ios.html +1 -0
- package/src/page_project-list-with-new-share-popup.html +1 -0
- package/src/page_search-results.html +2 -7
- package/src/page_shared-project-list-bicester-hub.html +1 -0
- package/src/scss/common/_common.scss +5 -4
- package/src/scss/components/_accordion.scss +1 -3
- package/src/scss/components/_custom-slider.scss +15 -14
- package/src/scss/components/_date-selection-add-new-styles.scss +6 -7
- package/src/scss/components/_date-selection.scss +1 -1
- package/src/scss/components/{kitchen/_filter-modal.scss → _filter-modal.scss} +55 -4
- package/src/scss/components/{kitchen/_plp-filters.scss → _plp-filters.scss} +31 -13
- package/src/scss/components/_popover-mini-basket.scss +3 -3
- package/src/scss/components/_search-filter.scss +95 -15
- package/src/scss/components/_sort-by.scss +190 -0
- package/src/scss/components/checkout-chip.scss +2 -2
- package/src/scss/components/checkout-payment-repayment-terms.scss +1 -1
- package/src/scss/globals/_global-components.scss +3 -0
- package/src/scss/helpers/_colors-semantic.scss +68 -68
- package/src/scss/helpers/_variables.scss +242 -196
- package/src/scss/kitchen-plp-main.scss +0 -3
- package/src/scss/main.scss +65 -65
- package/src/scss/pages/page_product-details-v2.scss +1 -4
- package/src/scss/pages/page_product_search.scss +9 -1
- package/src/scss/pages/page_products-list-combined.scss +28 -24
- package/src/scss/pages/page_products-list.scss +8 -0
- package/src/scss/pages/tradePro-rewards.scss +2 -3
- package/build/js/page/accordion.js +0 -35
- package/build/js/page/kitchen/plp-filters-chips.js +0 -90
- package/build/js/page/kitchen/plp-filters-mobile.js +0 -72
- package/build/js/page/kitchen/plp-filters-panel.js +0 -119
- package/build/js/page/kitchen/plp-filters-utils.js +0 -65
- package/build/js/page/kitchen/plp-filters.js +0 -205
- package/build/js/page/kitchen/sort-by.js +0 -157
- package/src/js/components/general/search-filter.js +0 -21
- package/src/js/page/accordion.js +0 -35
- package/src/js/page/kitchen/plp-filters-chips.js +0 -90
- package/src/js/page/kitchen/plp-filters-mobile.js +0 -72
- package/src/js/page/kitchen/plp-filters-panel.js +0 -119
- package/src/js/page/kitchen/plp-filters-utils.js +0 -65
- package/src/js/page/kitchen/plp-filters.js +0 -205
- package/src/js/page/kitchen/sort-by.js +0 -157
package/src/js/page/basket-v2.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {updateEeaProducts, updateEeaCheckoutProducts, syncEeaProducts} from './basket/gtm';
|
|
1
|
+
import { updateEeaProducts, updateEeaCheckoutProducts, syncEeaProducts } from './basket/gtm';
|
|
2
2
|
import {
|
|
3
3
|
toggleWisdom,
|
|
4
4
|
checkDeliveryStock,
|
|
@@ -6,44 +6,44 @@ import {
|
|
|
6
6
|
createWisdom,
|
|
7
7
|
changeWisdomWhenQuantityUpdated,
|
|
8
8
|
checkDeliveryStockOnEnter,
|
|
9
|
-
prettifyWisdomPostcode
|
|
9
|
+
prettifyWisdomPostcode,
|
|
10
10
|
} from './basket/wisdom';
|
|
11
|
-
import {updateOrderSummary} from './components/order-summary';
|
|
12
|
-
import {checkVoucherCode, voucherRemove} from './components/voucher';
|
|
13
|
-
import {updateKlarnaPlacements} from './basket/klarna';
|
|
14
|
-
import {updateClearpayPlacements, updateClearpayVisibility} from './basket/clearpay';
|
|
15
|
-
import {checkPayPalAvailability} from './basket/paypal';
|
|
11
|
+
import { updateOrderSummary } from './components/order-summary';
|
|
12
|
+
import { checkVoucherCode, voucherRemove } from './components/voucher';
|
|
13
|
+
import { updateKlarnaPlacements } from './basket/klarna';
|
|
14
|
+
import { updateClearpayPlacements, updateClearpayVisibility } from './basket/clearpay';
|
|
15
|
+
import { checkPayPalAvailability } from './basket/paypal';
|
|
16
16
|
import {
|
|
17
17
|
updateCharity,
|
|
18
18
|
changeCharityPrice,
|
|
19
19
|
setDefaultCharityValue,
|
|
20
20
|
initCharityInteractions,
|
|
21
21
|
} from './components/charity';
|
|
22
|
-
import {callAction} from './utils/http-action';
|
|
23
|
-
import {ROUTES} from './utils/routes';
|
|
22
|
+
import { callAction } from './utils/http-action';
|
|
23
|
+
import { ROUTES } from './utils/routes';
|
|
24
24
|
import {
|
|
25
25
|
getUniqBasketSessionId,
|
|
26
26
|
updateBasketSession,
|
|
27
27
|
addStorageCheckEvent,
|
|
28
28
|
updateBasketDataQuantity,
|
|
29
|
-
} from './basket/session-sync'
|
|
30
|
-
import {displayEnergyEfficiency} from
|
|
31
|
-
import {appendLoader, hideLoader, showLoader} from
|
|
29
|
+
} from './basket/session-sync';
|
|
30
|
+
import { displayEnergyEfficiency } from './basket/display-energy-efficiency';
|
|
31
|
+
import { appendLoader, hideLoader, showLoader } from './utils/loader';
|
|
32
32
|
import { initStickyObserver } from './components/sticky-order-observer';
|
|
33
|
-
import {addClassToSummaryAside} from
|
|
34
|
-
import {handleQuantityChange} from
|
|
35
|
-
import {updateQuantityAction} from
|
|
36
|
-
import {updateQuantityOperation} from
|
|
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
37
|
import {
|
|
38
38
|
checkProductArrays,
|
|
39
39
|
getCartEntries,
|
|
40
40
|
getMessageInfo,
|
|
41
41
|
isMessageExist,
|
|
42
42
|
updatePromotion,
|
|
43
|
-
showNotification
|
|
44
|
-
} from
|
|
45
|
-
import {updateCartBase} from
|
|
46
|
-
import {updateCartActionBase} from
|
|
43
|
+
showNotification,
|
|
44
|
+
} from './basket/basket-utils';
|
|
45
|
+
import { updateCartBase } from './basket/basket-update-cart';
|
|
46
|
+
import { updateCartActionBase } from './basket/basket-update-cart-action';
|
|
47
47
|
|
|
48
48
|
var Wick = window.Wick || {};
|
|
49
49
|
Wick.BasketPage = {
|
|
@@ -120,15 +120,15 @@ Wick.BasketPage = {
|
|
|
120
120
|
titleItems: '.checkout-title__items',
|
|
121
121
|
wisdomPostcode: '.wisdom-postcode',
|
|
122
122
|
orderItemQuantityControl: '.order-item__quantity-control',
|
|
123
|
-
loader: '.basket-loader'
|
|
123
|
+
loader: '.basket-loader',
|
|
124
124
|
},
|
|
125
125
|
cartEntries: [],
|
|
126
126
|
sessionId: getUniqBasketSessionId(),
|
|
127
127
|
loaderPayload: {
|
|
128
128
|
wrapper: 'body',
|
|
129
129
|
hidden: true,
|
|
130
|
-
titleLoader:
|
|
131
|
-
modifier:
|
|
130
|
+
titleLoader: 'Updating basket…',
|
|
131
|
+
modifier: 'basket-loader',
|
|
132
132
|
},
|
|
133
133
|
getEqualMapForUpdateCart: function (data) {
|
|
134
134
|
return [
|
|
@@ -137,34 +137,34 @@ Wick.BasketPage = {
|
|
|
137
137
|
itemValue: Wick.BasketPage.el.value,
|
|
138
138
|
dataValue: data.subtotalWithoutCharity.formattedValue,
|
|
139
139
|
value: data.subTotal.value,
|
|
140
|
-
title: 'Items subtotal:'
|
|
140
|
+
title: 'Items subtotal:',
|
|
141
141
|
},
|
|
142
142
|
{
|
|
143
143
|
item: Wick.BasketPage.el.vat,
|
|
144
144
|
itemValue: Wick.BasketPage.el.value,
|
|
145
145
|
dataValue: data.totalTax.formattedValue,
|
|
146
146
|
value: data.totalTax.value,
|
|
147
|
-
title: 'VAT:'
|
|
147
|
+
title: 'VAT:',
|
|
148
148
|
},
|
|
149
149
|
{
|
|
150
150
|
item: Wick.BasketPage.el.cc,
|
|
151
151
|
itemValue: Wick.BasketPage.el.value,
|
|
152
152
|
dataValue: 'Free',
|
|
153
|
-
title: 'Click & Collect:'
|
|
153
|
+
title: 'Click & Collect:',
|
|
154
154
|
},
|
|
155
155
|
{
|
|
156
156
|
item: Wick.BasketPage.el.delivery,
|
|
157
157
|
itemValue: Wick.BasketPage.el.value,
|
|
158
158
|
dataValue: data.deliveryCost.formattedValue,
|
|
159
159
|
value: data.deliveryCost.value,
|
|
160
|
-
title: 'Delivery:'
|
|
160
|
+
title: 'Delivery:',
|
|
161
161
|
},
|
|
162
162
|
{
|
|
163
163
|
item: Wick.BasketPage.el.charity,
|
|
164
164
|
itemValue: Wick.BasketPage.el.value,
|
|
165
165
|
dataValue: data.charityPrice.formattedValue,
|
|
166
166
|
value: data.charityPrice.value,
|
|
167
|
-
title: 'Charity donation:'
|
|
167
|
+
title: 'Charity donation:',
|
|
168
168
|
},
|
|
169
169
|
{
|
|
170
170
|
item: Wick.BasketPage.el.discountItem,
|
|
@@ -214,15 +214,15 @@ Wick.BasketPage = {
|
|
|
214
214
|
entryNumber,
|
|
215
215
|
onQuantityChange: Wick.BasketPage.updateQuantityAction,
|
|
216
216
|
debounceQuantityChange: Wick.BasketPage.debounceQuantityChange,
|
|
217
|
-
onRemoveQuantityDisable: Wick.BasketPage.removeQuantityDisable
|
|
217
|
+
onRemoveQuantityDisable: Wick.BasketPage.removeQuantityDisable,
|
|
218
218
|
});
|
|
219
219
|
|
|
220
220
|
changeWisdomWhenQuantityUpdated(e, context);
|
|
221
|
-
Wick.BasketPage.toggleItemTotal(context, +quantityInput.val())
|
|
221
|
+
Wick.BasketPage.toggleItemTotal(context, +quantityInput.val());
|
|
222
222
|
},
|
|
223
223
|
debounceQuantityChange: _.debounce(function (entryNumber, value, quantityInput, context) {
|
|
224
224
|
showLoader(Wick.BasketPage.el.loader);
|
|
225
|
-
Wick.BasketPage.updateQuantityAction(entryNumber, value, quantityInput, context)
|
|
225
|
+
Wick.BasketPage.updateQuantityAction(entryNumber, value, quantityInput, context);
|
|
226
226
|
}, 500),
|
|
227
227
|
updateQuantityAction: function (entryNumber, quantityToUpdate, quantityInput, context) {
|
|
228
228
|
updateQuantityAction({
|
|
@@ -240,16 +240,11 @@ Wick.BasketPage = {
|
|
|
240
240
|
isLocalEnv: Wick.checkLocalEnv,
|
|
241
241
|
callActionFn: callAction,
|
|
242
242
|
routes: ROUTES,
|
|
243
|
-
basketSectionSelector: Wick.BasketPage.el.basketMainSection
|
|
243
|
+
basketSectionSelector: Wick.BasketPage.el.basketMainSection,
|
|
244
244
|
});
|
|
245
245
|
},
|
|
246
246
|
updateAction: function (response, quantityToUpdate, quantityInput, context, successCallback) {
|
|
247
|
-
Wick.BasketPage.updateQuantityOperation(
|
|
248
|
-
quantityToUpdate,
|
|
249
|
-
quantityInput,
|
|
250
|
-
context,
|
|
251
|
-
response
|
|
252
|
-
);
|
|
247
|
+
Wick.BasketPage.updateQuantityOperation(quantityToUpdate, quantityInput, context, response);
|
|
253
248
|
successCallback(response);
|
|
254
249
|
},
|
|
255
250
|
updateQuantityOperation: function (quantityToUpdate, quantityInput, context, data) {
|
|
@@ -259,7 +254,7 @@ Wick.BasketPage = {
|
|
|
259
254
|
updateQuantity: Wick.BasketPage.updateQuantity,
|
|
260
255
|
updateItemTotal: Wick.BasketPage.updateItemTotal,
|
|
261
256
|
isMessageExist: Wick.BasketPage.isMessageExist,
|
|
262
|
-
getMessageInfo: Wick.BasketPage.getMessageInfo
|
|
257
|
+
getMessageInfo: Wick.BasketPage.getMessageInfo,
|
|
263
258
|
});
|
|
264
259
|
},
|
|
265
260
|
isMessageExist: isMessageExist,
|
|
@@ -267,7 +262,7 @@ Wick.BasketPage = {
|
|
|
267
262
|
loadIndexing: function () {
|
|
268
263
|
Wick.BasketPage.el.$orderItem.each(function (index) {
|
|
269
264
|
$(this).attr('data-id', index);
|
|
270
|
-
})
|
|
265
|
+
});
|
|
271
266
|
},
|
|
272
267
|
updateQuantity: function (quantityInput, accum) {
|
|
273
268
|
quantityInput.val(accum);
|
|
@@ -290,10 +285,10 @@ Wick.BasketPage = {
|
|
|
290
285
|
}
|
|
291
286
|
}
|
|
292
287
|
},
|
|
293
|
-
toggleItemTotal: function(context, quantity) {
|
|
288
|
+
toggleItemTotal: function (context, quantity) {
|
|
294
289
|
quantity <= 1
|
|
295
|
-
|
|
296
|
-
|
|
290
|
+
? $(context).find(Wick.BasketPage.el.total).addClass(Wick.BasketPage.el.totalHide)
|
|
291
|
+
: $(context).find(Wick.BasketPage.el.total).removeClass(Wick.BasketPage.el.totalHide);
|
|
297
292
|
},
|
|
298
293
|
updateCart: function (repaintData, context, charity, initial, callback) {
|
|
299
294
|
console.log('case(api) to update cart');
|
|
@@ -308,7 +303,7 @@ Wick.BasketPage = {
|
|
|
308
303
|
context,
|
|
309
304
|
charity,
|
|
310
305
|
initial,
|
|
311
|
-
localUpdateFn: function(initial, repaintData, context, charity) {
|
|
306
|
+
localUpdateFn: function (initial, repaintData, context, charity) {
|
|
312
307
|
if (initial) {
|
|
313
308
|
Wick.BasketPage.getCartEntries(Wick.BasketData.initialCartState);
|
|
314
309
|
addClassToSummaryAside(Wick.BasketData.initialCartState);
|
|
@@ -317,29 +312,33 @@ Wick.BasketPage = {
|
|
|
317
312
|
} else {
|
|
318
313
|
updateBasketDataQuantity();
|
|
319
314
|
updateOrderSummary(
|
|
320
|
-
|
|
321
|
-
|
|
315
|
+
Wick.BasketData.updateCart,
|
|
316
|
+
Wick.BasketPage.getEqualMapForUpdateCart(Wick.BasketData.updateCart)
|
|
322
317
|
);
|
|
323
|
-
!repaintData ||
|
|
318
|
+
!repaintData ||
|
|
319
|
+
Wick.BasketPage.repaintOrderItems(Wick.BasketData.updateCart, repaintData);
|
|
324
320
|
!charity || Wick.BasketPage.addCharityEntryNumber(Wick.BasketData.updateCart);
|
|
325
321
|
if (context && context.length) {
|
|
326
322
|
Wick.BasketPage.updatePromotion(Wick.BasketData.updateCart, context);
|
|
327
323
|
}
|
|
328
|
-
updateKlarnaPlacements(
|
|
324
|
+
updateKlarnaPlacements(
|
|
325
|
+
Wick.BasketData.updateCart.totalPrice.formattedPriceWithoutCurrencySymbol
|
|
326
|
+
);
|
|
329
327
|
updateClearpayPlacements(Wick.BasketData.updateCart.totalPrice.value);
|
|
330
328
|
updateClearpayVisibility(Wick.BasketData.updateCart.totalPrice.value);
|
|
331
329
|
Wick.BasketPage.addPotentialPromo(Wick.BasketData.updateCart);
|
|
332
330
|
addClassToSummaryAside(Wick.BasketData.updateCart);
|
|
333
331
|
Wick.BasketPage.getCartEntries(Wick.BasketData.updateCart);
|
|
334
|
-
Wick.BasketPage.checkProductArrays(Wick.BasketData.updateCart) ||
|
|
332
|
+
Wick.BasketPage.checkProductArrays(Wick.BasketData.updateCart) ||
|
|
333
|
+
Wick.BasketPage.removeOrderItem(repaintData);
|
|
335
334
|
updateBasketSession();
|
|
336
335
|
Wick.EnergyEfficiency && Wick.EnergyEfficiency.drawEnergyLabels();
|
|
337
336
|
setTimeout(() => hideLoader(Wick.BasketPage.el.loader), 1000);
|
|
338
337
|
}
|
|
339
|
-
}
|
|
338
|
+
},
|
|
340
339
|
});
|
|
341
340
|
},
|
|
342
|
-
updateCartAction: function (response, {repaintData, charity, initial, context}) {
|
|
341
|
+
updateCartAction: function (response, { repaintData, charity, initial, context }) {
|
|
343
342
|
updateClearpayVisibility(response.totalPrice.value);
|
|
344
343
|
addClassToSummaryAside(response);
|
|
345
344
|
|
|
@@ -370,77 +369,84 @@ Wick.BasketPage = {
|
|
|
370
369
|
updateEeaProducts(response.deliveryOrderGroups, response.pickupOrderGroups);
|
|
371
370
|
updateEeaCheckoutProducts(response.deliveryOrderGroups, response.pickupOrderGroups);
|
|
372
371
|
syncEeaProducts();
|
|
373
|
-
}
|
|
372
|
+
},
|
|
374
373
|
});
|
|
375
374
|
},
|
|
376
375
|
checkProductArrays: checkProductArrays,
|
|
377
|
-
getCartEntries: function(data) {
|
|
376
|
+
getCartEntries: function (data) {
|
|
378
377
|
Wick.BasketPage.cartEntries = getCartEntries(data);
|
|
379
378
|
},
|
|
380
379
|
addCharityEntryNumber: function (data) {
|
|
381
380
|
let entryNumber;
|
|
382
|
-
data.deliveryOrderGroups.forEach(order => {
|
|
383
|
-
order.entries.forEach(item => {
|
|
384
|
-
item.charity ? entryNumber = item.entryNumber : null
|
|
385
|
-
})
|
|
386
|
-
})
|
|
381
|
+
data.deliveryOrderGroups.forEach((order) => {
|
|
382
|
+
order.entries.forEach((item) => {
|
|
383
|
+
item.charity ? (entryNumber = item.entryNumber) : null;
|
|
384
|
+
});
|
|
385
|
+
});
|
|
387
386
|
if ($(Wick.BasketPage.el.charityItem).find('input[name="entryNumber"]').length) {
|
|
388
|
-
$(Wick.BasketPage.el.charityItem).find('input[name="entryNumber"]').val(entryNumber)
|
|
387
|
+
$(Wick.BasketPage.el.charityItem).find('input[name="entryNumber"]').val(entryNumber);
|
|
389
388
|
} else {
|
|
390
389
|
$(Wick.BasketPage.el.charityItem).prepend(
|
|
391
390
|
`<input type="hidden" name="entryNumber" value="${entryNumber}">`
|
|
392
|
-
)
|
|
391
|
+
);
|
|
393
392
|
}
|
|
394
393
|
},
|
|
395
|
-
updatePromotion: function(data
|
|
394
|
+
updatePromotion: function (data) {
|
|
396
395
|
updatePromotion(
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
396
|
+
data,
|
|
397
|
+
Wick.BasketPage.el.orderItem,
|
|
398
|
+
Wick.BasketPage.el.orderItemOffers,
|
|
399
|
+
Wick.BasketPage.el.orderItemInfo,
|
|
400
|
+
Wick.BasketPage.addPromotions
|
|
402
401
|
);
|
|
403
402
|
},
|
|
404
|
-
showNotification: function(data) {
|
|
403
|
+
showNotification: function (data) {
|
|
405
404
|
showNotification(data, '.notification-area');
|
|
406
405
|
},
|
|
407
406
|
hideUnusedDeliveryTypeCost: function (data, isVoucher) {
|
|
408
|
-
$(Wick.BasketPage.el.delivery).show()
|
|
409
|
-
$(Wick.BasketPage.el.cc).show()
|
|
407
|
+
$(Wick.BasketPage.el.delivery).show();
|
|
408
|
+
$(Wick.BasketPage.el.cc).show();
|
|
410
409
|
if (isVoucher) {
|
|
411
410
|
if (!data.deliveryOrder) {
|
|
412
|
-
$(Wick.BasketPage.el.delivery).hide()
|
|
411
|
+
$(Wick.BasketPage.el.delivery).hide();
|
|
413
412
|
} else if (!data.clickAndCollectOrder) {
|
|
414
|
-
$(Wick.BasketPage.el.cc).hide()
|
|
413
|
+
$(Wick.BasketPage.el.cc).hide();
|
|
415
414
|
}
|
|
416
415
|
} else {
|
|
417
416
|
if (data.clickAndCollectOnly) {
|
|
418
|
-
$(Wick.BasketPage.el.delivery).hide()
|
|
417
|
+
$(Wick.BasketPage.el.delivery).hide();
|
|
419
418
|
} else if (data.deliveryItemsQuantity > 0 && data.pickupItemsQuantity === 0) {
|
|
420
|
-
$(Wick.BasketPage.el.cc).hide()
|
|
419
|
+
$(Wick.BasketPage.el.cc).hide();
|
|
421
420
|
}
|
|
422
421
|
}
|
|
423
422
|
},
|
|
424
423
|
paintActionButton: function () {
|
|
425
424
|
$(Wick.BasketPage.el.basketMainSection).each(function () {
|
|
426
|
-
if ($(this).attr('data-type') ===
|
|
427
|
-
$(this)
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
$(this).
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
425
|
+
if ($(this).attr('data-type') === 'Delivery') {
|
|
426
|
+
$(this)
|
|
427
|
+
.find(Wick.BasketPage.el.actionButton)
|
|
428
|
+
.each(function () {
|
|
429
|
+
$(this).removeClass(Wick.BasketPage.el.btnSelected);
|
|
430
|
+
if (
|
|
431
|
+
$(this).attr('data-type') === 'Delivery' ||
|
|
432
|
+
$(this).attr('data-type') === 'Delivery Stock'
|
|
433
|
+
) {
|
|
434
|
+
$(this).addClass(Wick.BasketPage.el.btnSelected);
|
|
435
|
+
$(this).find('input').prop('checked', true);
|
|
436
|
+
}
|
|
437
|
+
});
|
|
438
|
+
} else if ($(this).attr('data-type') === 'Click & Collect') {
|
|
439
|
+
$(this)
|
|
440
|
+
.find(Wick.BasketPage.el.actionButton)
|
|
441
|
+
.each(function () {
|
|
442
|
+
$(this).removeClass(Wick.BasketPage.el.btnSelected);
|
|
443
|
+
if ($(this).attr('data-type') === 'Click & Collect') {
|
|
444
|
+
$(this).addClass(Wick.BasketPage.el.btnSelected);
|
|
445
|
+
$(this).find('input').prop('checked', true);
|
|
446
|
+
}
|
|
447
|
+
});
|
|
442
448
|
}
|
|
443
|
-
})
|
|
449
|
+
});
|
|
444
450
|
},
|
|
445
451
|
hideCCSectionInDelivery: function (context) {
|
|
446
452
|
let delivery = context.find(Wick.BasketPage.el.deliveryMessage),
|
|
@@ -464,7 +470,7 @@ Wick.BasketPage = {
|
|
|
464
470
|
ccOrderInfo.removeClass(Wick.BasketPage.el.ccOrderInfoHide);
|
|
465
471
|
|
|
466
472
|
//hide wisdom if exist
|
|
467
|
-
wisdom.length && wisdom.addClass(Wick.BasketPage.el.wisdomBlockHide)
|
|
473
|
+
wisdom.length && wisdom.addClass(Wick.BasketPage.el.wisdomBlockHide);
|
|
468
474
|
|
|
469
475
|
context.find(Wick.BasketPage.el.storeUnselected).unbind();
|
|
470
476
|
context.find(Wick.BasketPage.el.ccCloseLink).unbind();
|
|
@@ -472,12 +478,17 @@ Wick.BasketPage = {
|
|
|
472
478
|
context.find(Wick.BasketPage.el.storeUnselected).on('click', (e) => e.preventDefault());
|
|
473
479
|
context.find(Wick.BasketPage.el.ccCloseLink).on('click', function (e) {
|
|
474
480
|
e.preventDefault();
|
|
475
|
-
Wick.BasketPage.makeRadioActive(
|
|
481
|
+
Wick.BasketPage.makeRadioActive(
|
|
482
|
+
context.find(Wick.BasketPage.el.deliveryButtonInCC)
|
|
483
|
+
);
|
|
476
484
|
Wick.BasketPage.hideCCSectionInDelivery(context);
|
|
477
|
-
})
|
|
485
|
+
});
|
|
478
486
|
} else {
|
|
479
487
|
Wick.BasketPage.makeRadioActive(this);
|
|
480
|
-
$(this)
|
|
488
|
+
$(this)
|
|
489
|
+
.closest(Wick.BasketPage.el.orderItem)
|
|
490
|
+
.find(Wick.BasketPage.el.wisdomClose)
|
|
491
|
+
.trigger('click');
|
|
481
492
|
}
|
|
482
493
|
},
|
|
483
494
|
changeMethodToDelivery: function (e) {
|
|
@@ -494,10 +505,10 @@ Wick.BasketPage = {
|
|
|
494
505
|
cartEntryNumber: entryNumber,
|
|
495
506
|
cartEntry: {},
|
|
496
507
|
fulfilmentData: {
|
|
497
|
-
fulfillmentType: 'Delivery'
|
|
508
|
+
fulfillmentType: 'Delivery',
|
|
498
509
|
},
|
|
499
510
|
isChangeDelivery: true,
|
|
500
|
-
}
|
|
511
|
+
};
|
|
501
512
|
|
|
502
513
|
//checkEnv
|
|
503
514
|
if (!Wick.checkLocalEnv) {
|
|
@@ -505,10 +516,10 @@ Wick.BasketPage = {
|
|
|
505
516
|
const payload = {
|
|
506
517
|
url: `${ROUTES.BASKET_ADD_STOCK}/${entryNumber}/delivery`,
|
|
507
518
|
type: 'PUT',
|
|
508
|
-
}
|
|
509
|
-
callAction(payload, Wick.BasketPage.updateDeliveryMethod, options)
|
|
519
|
+
};
|
|
520
|
+
callAction(payload, Wick.BasketPage.updateDeliveryMethod, options);
|
|
510
521
|
} else {
|
|
511
|
-
Wick.BasketPage.showNotification(Wick.BasketData.changeMethod)
|
|
522
|
+
Wick.BasketPage.showNotification(Wick.BasketData.changeMethod);
|
|
512
523
|
Wick.BasketPage.updateCart(options);
|
|
513
524
|
}
|
|
514
525
|
} else {
|
|
@@ -518,7 +529,10 @@ Wick.BasketPage = {
|
|
|
518
529
|
},
|
|
519
530
|
changeMethodToCC: function () {
|
|
520
531
|
let context = $(this).closest(Wick.BasketPage.el.orderItem),
|
|
521
|
-
storeId = $(this)
|
|
532
|
+
storeId = $(this)
|
|
533
|
+
.closest(Wick.BasketPage.el.orderSectionCta)
|
|
534
|
+
.find('.storeNamePost')
|
|
535
|
+
.val(),
|
|
522
536
|
entryNumber = +context.attr('data-id'),
|
|
523
537
|
quantity = context.find(Wick.BasketPage.el.quantityValue).val(),
|
|
524
538
|
storeName;
|
|
@@ -527,9 +541,18 @@ Wick.BasketPage = {
|
|
|
527
541
|
if ($(el).find('input').attr('value') === storeId) {
|
|
528
542
|
storeName = $(el).find(Wick.BasketPage.el.storeNameText).text().trim();
|
|
529
543
|
}
|
|
530
|
-
})
|
|
544
|
+
});
|
|
531
545
|
|
|
532
|
-
console.log(
|
|
546
|
+
console.log(
|
|
547
|
+
'case(api) change to C&C method, entry -',
|
|
548
|
+
entryNumber,
|
|
549
|
+
'storeId',
|
|
550
|
+
storeId,
|
|
551
|
+
'qty-',
|
|
552
|
+
quantity,
|
|
553
|
+
'storeName-',
|
|
554
|
+
storeName
|
|
555
|
+
);
|
|
533
556
|
|
|
534
557
|
const options = {
|
|
535
558
|
cartEntryNumber: entryNumber,
|
|
@@ -540,7 +563,7 @@ Wick.BasketPage = {
|
|
|
540
563
|
storeName: storeName,
|
|
541
564
|
},
|
|
542
565
|
isChangeDelivery: true,
|
|
543
|
-
}
|
|
566
|
+
};
|
|
544
567
|
|
|
545
568
|
//checkEnv
|
|
546
569
|
if (!Wick.checkLocalEnv) {
|
|
@@ -552,17 +575,18 @@ Wick.BasketPage = {
|
|
|
552
575
|
quantity: quantity,
|
|
553
576
|
},
|
|
554
577
|
type: 'PUT',
|
|
555
|
-
}
|
|
556
|
-
callAction(payload, Wick.BasketPage.updateDeliveryMethod, options)
|
|
578
|
+
};
|
|
579
|
+
callAction(payload, Wick.BasketPage.updateDeliveryMethod, options);
|
|
557
580
|
} else {
|
|
558
|
-
Wick.BasketPage.showNotification(Wick.BasketData.changeMethod)
|
|
581
|
+
Wick.BasketPage.showNotification(Wick.BasketData.changeMethod);
|
|
559
582
|
Wick.BasketPage.updateCart(options);
|
|
560
583
|
}
|
|
561
584
|
},
|
|
562
585
|
updateDeliveryMethod: function (response, options) {
|
|
563
|
-
const messageInfo =
|
|
586
|
+
const messageInfo =
|
|
587
|
+
Wick.BasketPage.isMessageExist(response) && Wick.BasketPage.getMessageInfo(response);
|
|
564
588
|
Object.assign(options, messageInfo);
|
|
565
|
-
Wick.BasketPage.showNotification(response)
|
|
589
|
+
Wick.BasketPage.showNotification(response);
|
|
566
590
|
Wick.BasketPage.updateCart(options);
|
|
567
591
|
},
|
|
568
592
|
removeOrderItem: function (messageInfo) {
|
|
@@ -571,13 +595,14 @@ Wick.BasketPage = {
|
|
|
571
595
|
status = messageInfo.status,
|
|
572
596
|
link;
|
|
573
597
|
|
|
574
|
-
link = `${currentLink}?notificationMessage=${message}&messageStatus=${status}
|
|
598
|
+
link = `${currentLink}?notificationMessage=${message}&messageStatus=${status}`;
|
|
575
599
|
window.location.replace(link);
|
|
576
600
|
},
|
|
577
|
-
repaintOrderItems: function (data
|
|
601
|
+
repaintOrderItems: function (data) {
|
|
578
602
|
const ccGroup = data.pickupOrderGroups || [],
|
|
579
603
|
deliveryGroup = data.deliveryOrderGroups || [];
|
|
580
|
-
let type,
|
|
604
|
+
let type,
|
|
605
|
+
itemDetails = {};
|
|
581
606
|
|
|
582
607
|
$(Wick.BasketPage.el.orderItem).remove();
|
|
583
608
|
|
|
@@ -585,19 +610,27 @@ Wick.BasketPage = {
|
|
|
585
610
|
type = 'cc';
|
|
586
611
|
if ($(Wick.BasketPage.el.basketCCSection).length) {
|
|
587
612
|
ccGroup.forEach((obj) => {
|
|
588
|
-
obj.entries.forEach(item => {
|
|
613
|
+
obj.entries.forEach((item) => {
|
|
589
614
|
itemDetails = {
|
|
590
|
-
item,
|
|
615
|
+
item,
|
|
616
|
+
type,
|
|
617
|
+
data,
|
|
591
618
|
};
|
|
592
|
-
$(Wick.BasketPage.el.basketCCSection).append(
|
|
593
|
-
|
|
594
|
-
|
|
619
|
+
$(Wick.BasketPage.el.basketCCSection).append(
|
|
620
|
+
Wick.BasketPage.createOrderItem(itemDetails)
|
|
621
|
+
);
|
|
622
|
+
});
|
|
623
|
+
});
|
|
595
624
|
Wick.BasketPage.updateItemsCount(data, type);
|
|
596
625
|
} else {
|
|
597
626
|
if ($(Wick.BasketPage.el.basketDeliverySection)) {
|
|
598
|
-
$(Wick.BasketPage.el.basketDeliverySection).after(
|
|
627
|
+
$(Wick.BasketPage.el.basketDeliverySection).after(
|
|
628
|
+
Wick.BasketPage.createBasketSection(type, ccGroup, data)
|
|
629
|
+
);
|
|
599
630
|
} else {
|
|
600
|
-
$(Wick.BasketPage.el.content).prepend(
|
|
631
|
+
$(Wick.BasketPage.el.content).prepend(
|
|
632
|
+
Wick.BasketPage.createBasketSection(type, ccGroup, data)
|
|
633
|
+
);
|
|
601
634
|
}
|
|
602
635
|
}
|
|
603
636
|
} else {
|
|
@@ -605,24 +638,33 @@ Wick.BasketPage = {
|
|
|
605
638
|
}
|
|
606
639
|
|
|
607
640
|
if (deliveryGroup.length) {
|
|
608
|
-
if (
|
|
641
|
+
if (
|
|
642
|
+
deliveryGroup.length === 1 &&
|
|
643
|
+
deliveryGroup[0].entries.length === 1 &&
|
|
644
|
+
deliveryGroup[0].entries[0].charity
|
|
645
|
+
) {
|
|
609
646
|
$(Wick.BasketPage.el.basketDeliverySection).remove();
|
|
610
647
|
} else {
|
|
611
648
|
type = 'delivery';
|
|
612
649
|
|
|
613
650
|
if ($(Wick.BasketPage.el.basketDeliverySection).length) {
|
|
614
651
|
deliveryGroup.forEach((obj) => {
|
|
615
|
-
obj.entries.forEach(item => {
|
|
652
|
+
obj.entries.forEach((item) => {
|
|
616
653
|
itemDetails = {
|
|
617
|
-
item,
|
|
654
|
+
item,
|
|
655
|
+
type,
|
|
656
|
+
data,
|
|
618
657
|
};
|
|
619
|
-
$(Wick.BasketPage.el.basketDeliverySection).append(
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
658
|
+
$(Wick.BasketPage.el.basketDeliverySection).append(
|
|
659
|
+
Wick.BasketPage.createOrderItem(itemDetails)
|
|
660
|
+
);
|
|
661
|
+
});
|
|
662
|
+
});
|
|
623
663
|
Wick.BasketPage.updateItemsCount(data, type);
|
|
624
664
|
} else {
|
|
625
|
-
$(Wick.BasketPage.el.content).prepend(
|
|
665
|
+
$(Wick.BasketPage.el.content).prepend(
|
|
666
|
+
Wick.BasketPage.createBasketSection(type, deliveryGroup, data)
|
|
667
|
+
);
|
|
626
668
|
}
|
|
627
669
|
}
|
|
628
670
|
Wick.BasketPage.addCharityEntryNumber(data);
|
|
@@ -632,27 +674,30 @@ Wick.BasketPage = {
|
|
|
632
674
|
|
|
633
675
|
$('.order-item').each(function () {
|
|
634
676
|
let quantity = +$(this).find('.order-item__quantity-value').val();
|
|
635
|
-
Wick.BasketPage.toggleItemTotal(this, quantity)
|
|
636
|
-
})
|
|
677
|
+
Wick.BasketPage.toggleItemTotal(this, quantity);
|
|
678
|
+
});
|
|
637
679
|
|
|
638
680
|
Wick.BasketPage.paintActionButton();
|
|
639
681
|
checkPayPalAvailability(data);
|
|
640
682
|
Wick.VatToggle.reapplyDisplayClass();
|
|
641
|
-
$(document).trigger(
|
|
683
|
+
$(document).trigger('cartRerender');
|
|
642
684
|
},
|
|
643
685
|
createBasketSection: function (type, group, data) {
|
|
644
|
-
type === 'cc' ? type = 'Click & Collect' : type = 'Delivery';
|
|
686
|
+
type === 'cc' ? (type = 'Click & Collect') : (type = 'Delivery');
|
|
645
687
|
const orderItems = [];
|
|
646
688
|
let itemDetails = {};
|
|
647
689
|
|
|
648
|
-
group.forEach(obj => {
|
|
649
|
-
obj.entries.forEach(item => {
|
|
650
|
-
itemDetails = {item, type, data};
|
|
690
|
+
group.forEach((obj) => {
|
|
691
|
+
obj.entries.forEach((item) => {
|
|
692
|
+
itemDetails = { item, type, data };
|
|
651
693
|
orderItems.push(Wick.BasketPage.createOrderItem(itemDetails));
|
|
652
|
-
})
|
|
694
|
+
});
|
|
653
695
|
});
|
|
654
696
|
|
|
655
|
-
const itemsCount =
|
|
697
|
+
const itemsCount =
|
|
698
|
+
type === 'Click & Collect'
|
|
699
|
+
? data.pickupUniqueItemsNumber
|
|
700
|
+
: data.deliveryUniqueItemsNumber;
|
|
656
701
|
|
|
657
702
|
return `
|
|
658
703
|
<section class="basket__section" data-type="${type}">
|
|
@@ -666,18 +711,23 @@ Wick.BasketPage = {
|
|
|
666
711
|
</div>
|
|
667
712
|
${orderItems.join('')}
|
|
668
713
|
</section>
|
|
669
|
-
|
|
714
|
+
`;
|
|
670
715
|
},
|
|
671
716
|
updateItemsCount: function (data, type) {
|
|
672
|
-
const itemCount =
|
|
717
|
+
const itemCount =
|
|
718
|
+
type === 'cc' ? data.pickupUniqueItemsNumber : data.deliveryUniqueItemsNumber,
|
|
673
719
|
titleItemsText = `${itemCount} item${itemCount > 1 ? 's' : ''}`;
|
|
674
720
|
|
|
675
721
|
if (type === 'cc') {
|
|
676
|
-
$(Wick.BasketPage.el.basketCCSection)
|
|
722
|
+
$(Wick.BasketPage.el.basketCCSection)
|
|
723
|
+
.find(Wick.BasketPage.el.titleItems)
|
|
724
|
+
.text(titleItemsText);
|
|
677
725
|
}
|
|
678
726
|
|
|
679
727
|
if (type === 'delivery') {
|
|
680
|
-
$(Wick.BasketPage.el.basketDeliverySection)
|
|
728
|
+
$(Wick.BasketPage.el.basketDeliverySection)
|
|
729
|
+
.find(Wick.BasketPage.el.titleItems)
|
|
730
|
+
.text(titleItemsText);
|
|
681
731
|
}
|
|
682
732
|
},
|
|
683
733
|
createOrderItem: function (itemDetails) {
|
|
@@ -746,7 +796,7 @@ Wick.BasketPage = {
|
|
|
746
796
|
currentItem.basePrice.value === 0
|
|
747
797
|
? '<span class="order-item__value">FREE</span>'
|
|
748
798
|
: Wick.VatToggle.isToggleVatAvailable()
|
|
749
|
-
|
|
799
|
+
? `
|
|
750
800
|
<div class="including-vat"><!--
|
|
751
801
|
--><span class="order-item__value">${currentItem.basePrice.formattedValue}</span><!--
|
|
752
802
|
--><div class="price-vat">Inc.VAT</div>
|
|
@@ -756,7 +806,7 @@ Wick.BasketPage = {
|
|
|
756
806
|
--><div class="price-vat">Exc.VAT</div>
|
|
757
807
|
</div>
|
|
758
808
|
`
|
|
759
|
-
|
|
809
|
+
: `<span class="order-item__value">${currentItem.basePrice.formattedValue}</span>`
|
|
760
810
|
}
|
|
761
811
|
</div>
|
|
762
812
|
</div>
|
|
@@ -768,7 +818,7 @@ Wick.BasketPage = {
|
|
|
768
818
|
currentItem.itemTotalWithoutDiscount.value === 0
|
|
769
819
|
? '<span class="order-item__value">FREE</span>'
|
|
770
820
|
: Wick.VatToggle.isToggleVatAvailable()
|
|
771
|
-
|
|
821
|
+
? `
|
|
772
822
|
<div class="including-vat"><!--
|
|
773
823
|
--><span class="order-item__value">${currentItem.itemTotalWithoutDiscount.formattedValue}</span><!--
|
|
774
824
|
--><div class="price-vat">Inc.VAT</div><!--
|
|
@@ -778,7 +828,7 @@ Wick.BasketPage = {
|
|
|
778
828
|
--><div class="price-vat">Exc.VAT</div>
|
|
779
829
|
</div>
|
|
780
830
|
`
|
|
781
|
-
|
|
831
|
+
: `<span class="order-item__value">${currentItem.itemTotalWithoutDiscount.formattedValue}</span>`
|
|
782
832
|
}
|
|
783
833
|
</div>
|
|
784
834
|
</div>
|
|
@@ -797,13 +847,11 @@ Wick.BasketPage = {
|
|
|
797
847
|
${Wick.BasketPage.createDeliveryMessage(currentItem, itemDetails.type)}
|
|
798
848
|
${Wick.BasketPage.createCCFinder(currentItem)}
|
|
799
849
|
</div>
|
|
800
|
-
|
|
850
|
+
`;
|
|
801
851
|
}
|
|
802
852
|
},
|
|
803
853
|
createActionButton: function (item, type, section) {
|
|
804
|
-
let available,
|
|
805
|
-
title,
|
|
806
|
-
dataType;
|
|
854
|
+
let available, title, dataType;
|
|
807
855
|
|
|
808
856
|
if (type === 'cc') {
|
|
809
857
|
title = 'Click & Collect';
|
|
@@ -823,7 +871,7 @@ Wick.BasketPage = {
|
|
|
823
871
|
} else {
|
|
824
872
|
title = 'Check Delivery Stock';
|
|
825
873
|
dataType = 'Delivery Stock';
|
|
826
|
-
type =
|
|
874
|
+
type = 'delivery_stock';
|
|
827
875
|
available = item.orderFulfilmentControls.availableForWickesFulfilment;
|
|
828
876
|
}
|
|
829
877
|
}
|
|
@@ -843,51 +891,61 @@ Wick.BasketPage = {
|
|
|
843
891
|
<span>${title}</span>
|
|
844
892
|
</label>
|
|
845
893
|
</div>
|
|
846
|
-
|
|
894
|
+
`;
|
|
847
895
|
} else {
|
|
848
|
-
return ''
|
|
896
|
+
return '';
|
|
849
897
|
}
|
|
850
|
-
|
|
851
898
|
},
|
|
852
899
|
addPromotions: function (item, data) {
|
|
853
900
|
let arr = [];
|
|
854
901
|
|
|
855
|
-
data.potentialProductPromotions &&
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
if (
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
902
|
+
data.potentialProductPromotions &&
|
|
903
|
+
data.potentialProductPromotions.forEach((entry) => {
|
|
904
|
+
entry.consumedEntries.forEach((promo) => {
|
|
905
|
+
if (promo.orderEntryNumber === item.entryNumber) {
|
|
906
|
+
if (arr.length) {
|
|
907
|
+
let duplicate = arr.every((el) => {
|
|
908
|
+
return (
|
|
909
|
+
el !==
|
|
910
|
+
`<div class="order-item__promo">${entry.description}</div>`
|
|
911
|
+
);
|
|
912
|
+
});
|
|
913
|
+
|
|
914
|
+
!duplicate ||
|
|
915
|
+
arr.push(
|
|
916
|
+
`<div class="order-item__promo">${entry.description}</div>`
|
|
917
|
+
);
|
|
918
|
+
} else {
|
|
919
|
+
arr.push(`<div class="order-item__promo">${entry.description}</div>`);
|
|
920
|
+
}
|
|
867
921
|
}
|
|
868
|
-
}
|
|
869
|
-
})
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
922
|
+
});
|
|
923
|
+
});
|
|
924
|
+
|
|
925
|
+
data.appliedProductPromotions &&
|
|
926
|
+
data.appliedProductPromotions.forEach((entry) => {
|
|
927
|
+
entry.consumedEntries.forEach((promo) => {
|
|
928
|
+
if (promo.orderEntryNumber === item.entryNumber && entry.description) {
|
|
929
|
+
if (arr.length) {
|
|
930
|
+
let duplicate = arr.every((el) => {
|
|
931
|
+
return (
|
|
932
|
+
el !==
|
|
933
|
+
`<div class="order-item__promo">${entry.description}</div>`
|
|
934
|
+
);
|
|
935
|
+
});
|
|
936
|
+
|
|
937
|
+
!duplicate ||
|
|
938
|
+
arr.push(
|
|
939
|
+
`<div class="order-item__promo">${entry.description}</div>`
|
|
940
|
+
);
|
|
941
|
+
} else {
|
|
942
|
+
arr.push(`<div class="order-item__promo">${entry.description}</div>`);
|
|
943
|
+
}
|
|
885
944
|
}
|
|
886
|
-
}
|
|
887
|
-
})
|
|
888
|
-
});
|
|
945
|
+
});
|
|
946
|
+
});
|
|
889
947
|
|
|
890
|
-
return arr.length ? `<div class="order-item__offers">${arr.join('')}</div>` : ''
|
|
948
|
+
return arr.length ? `<div class="order-item__offers">${arr.join('')}</div>` : '';
|
|
891
949
|
},
|
|
892
950
|
createPerMeterPrice: function (item) {
|
|
893
951
|
if (item.product.installationProduct) {
|
|
@@ -911,16 +969,20 @@ Wick.BasketPage = {
|
|
|
911
969
|
}
|
|
912
970
|
</div>
|
|
913
971
|
</div>
|
|
914
|
-
|
|
972
|
+
`;
|
|
915
973
|
} else {
|
|
916
|
-
return ''
|
|
974
|
+
return '';
|
|
917
975
|
}
|
|
918
976
|
},
|
|
919
977
|
createDeliveryMessage: function (item, type) {
|
|
920
978
|
if (type === 'delivery') {
|
|
921
|
-
let currentFulfillment = item.product.fulfillmentAttributes.supplierDelivered
|
|
979
|
+
let currentFulfillment = item.product.fulfillmentAttributes.supplierDelivered
|
|
980
|
+
? 'SUPPLIER_DELIVERED'
|
|
981
|
+
: 'STANDARD',
|
|
922
982
|
productCode = item.product.code,
|
|
923
|
-
coincidenceFulfillmentValue = $(Wick.BasketPage.el.content)
|
|
983
|
+
coincidenceFulfillmentValue = $(Wick.BasketPage.el.content)
|
|
984
|
+
.find(`#${productCode}_${currentFulfillment}`)
|
|
985
|
+
.val();
|
|
924
986
|
|
|
925
987
|
if (coincidenceFulfillmentValue) {
|
|
926
988
|
return `
|
|
@@ -930,12 +992,12 @@ Wick.BasketPage = {
|
|
|
930
992
|
${coincidenceFulfillmentValue}
|
|
931
993
|
</div>
|
|
932
994
|
</div>
|
|
933
|
-
|
|
995
|
+
`;
|
|
934
996
|
} else {
|
|
935
|
-
return ''
|
|
997
|
+
return '';
|
|
936
998
|
}
|
|
937
999
|
} else {
|
|
938
|
-
return ''
|
|
1000
|
+
return '';
|
|
939
1001
|
}
|
|
940
1002
|
},
|
|
941
1003
|
createCCFinder: function (item) {
|
|
@@ -946,7 +1008,7 @@ Wick.BasketPage = {
|
|
|
946
1008
|
</div>
|
|
947
1009
|
${Wick.BasketPage.createCCOrderInfo(item)}
|
|
948
1010
|
</div>
|
|
949
|
-
|
|
1011
|
+
`;
|
|
950
1012
|
},
|
|
951
1013
|
createCCOrderInfo: function (item) {
|
|
952
1014
|
if (item.updateable) {
|
|
@@ -1009,9 +1071,9 @@ Wick.BasketPage = {
|
|
|
1009
1071
|
</div>
|
|
1010
1072
|
</div>
|
|
1011
1073
|
</div>
|
|
1012
|
-
|
|
1074
|
+
`;
|
|
1013
1075
|
} else {
|
|
1014
|
-
return ''
|
|
1076
|
+
return '';
|
|
1015
1077
|
}
|
|
1016
1078
|
},
|
|
1017
1079
|
checkStoreAvailability: function (store, item) {
|
|
@@ -1024,7 +1086,7 @@ Wick.BasketPage = {
|
|
|
1024
1086
|
<a href="#" class="cc-order__change" ${item.updateable || 'style="display: none"'}>
|
|
1025
1087
|
Change Store location
|
|
1026
1088
|
</a>
|
|
1027
|
-
|
|
1089
|
+
`;
|
|
1028
1090
|
} else {
|
|
1029
1091
|
return `
|
|
1030
1092
|
<div class="cc-order__store-select">
|
|
@@ -1035,17 +1097,19 @@ Wick.BasketPage = {
|
|
|
1035
1097
|
</a>
|
|
1036
1098
|
</div>
|
|
1037
1099
|
</div>
|
|
1038
|
-
|
|
1100
|
+
`;
|
|
1039
1101
|
}
|
|
1040
1102
|
},
|
|
1041
1103
|
removePromotion: function () {
|
|
1042
|
-
$(this).closest(Wick.BasketPage.el.promo).remove()
|
|
1104
|
+
$(this).closest(Wick.BasketPage.el.promo).remove();
|
|
1043
1105
|
},
|
|
1044
1106
|
addPotentialPromo: function (data) {
|
|
1045
1107
|
$(Wick.BasketPage.el.promo).remove();
|
|
1046
1108
|
|
|
1047
|
-
if (
|
|
1048
|
-
|
|
1109
|
+
if (
|
|
1110
|
+
(data.potentialOrderPromotions && data.potentialOrderPromotions.length) ||
|
|
1111
|
+
(data.appliedOrderPromotions && data.appliedOrderPromotions.length)
|
|
1112
|
+
) {
|
|
1049
1113
|
$(Wick.BasketPage.el.promoWrapper).append(Wick.BasketPage.createPotentialPromo(data));
|
|
1050
1114
|
}
|
|
1051
1115
|
},
|
|
@@ -1053,7 +1117,8 @@ Wick.BasketPage = {
|
|
|
1053
1117
|
const arr = [];
|
|
1054
1118
|
if (data.potentialOrderPromotions && data.potentialOrderPromotions.length) {
|
|
1055
1119
|
data.potentialOrderPromotions.forEach((promo) => {
|
|
1056
|
-
!promo.description ||
|
|
1120
|
+
!promo.description ||
|
|
1121
|
+
arr.push(`
|
|
1057
1122
|
<div class="p-promotion">
|
|
1058
1123
|
<div class="p-promotion__icon">
|
|
1059
1124
|
<i class="icon fas fa-gift"></i>
|
|
@@ -1065,14 +1130,14 @@ Wick.BasketPage = {
|
|
|
1065
1130
|
<i class="icon fas fa-times"></i>
|
|
1066
1131
|
</div>
|
|
1067
1132
|
</div>
|
|
1068
|
-
`
|
|
1069
|
-
|
|
1070
|
-
})
|
|
1133
|
+
`);
|
|
1134
|
+
});
|
|
1071
1135
|
}
|
|
1072
1136
|
|
|
1073
1137
|
if (data.appliedOrderPromotions && data.appliedOrderPromotions.length) {
|
|
1074
1138
|
data.appliedOrderPromotions.forEach((promo) => {
|
|
1075
|
-
!promo.description ||
|
|
1139
|
+
!promo.description ||
|
|
1140
|
+
arr.push(`
|
|
1076
1141
|
<div class="p-promotion">
|
|
1077
1142
|
<div class="p-promotion__icon">
|
|
1078
1143
|
<i class="icon fas fa-gift"></i>
|
|
@@ -1084,14 +1149,15 @@ Wick.BasketPage = {
|
|
|
1084
1149
|
<i class="icon fas fa-times"></i>
|
|
1085
1150
|
</div>
|
|
1086
1151
|
</div>
|
|
1087
|
-
`
|
|
1088
|
-
|
|
1089
|
-
})
|
|
1152
|
+
`);
|
|
1153
|
+
});
|
|
1090
1154
|
}
|
|
1091
1155
|
if ($(Wick.BasketPage.el.promoWrapper).length) {
|
|
1092
1156
|
return arr.join('');
|
|
1093
1157
|
} else {
|
|
1094
|
-
$(Wick.BasketPage.el.checkoutHeader).before(
|
|
1158
|
+
$(Wick.BasketPage.el.checkoutHeader).before(
|
|
1159
|
+
`<div class="checkout-header__promo">${arr.join('')}</div>`
|
|
1160
|
+
);
|
|
1095
1161
|
}
|
|
1096
1162
|
},
|
|
1097
1163
|
limitingQuantityValue: function () {
|
|
@@ -1123,7 +1189,7 @@ Wick.BasketPage = {
|
|
|
1123
1189
|
const collapsed = $(context).hasClass('collapsed');
|
|
1124
1190
|
const accordionText = collapsed ? showText : hideText;
|
|
1125
1191
|
|
|
1126
|
-
$(context).find(Wick.BasketPage.el.summaryAccordionText).text(accordionText)
|
|
1192
|
+
$(context).find(Wick.BasketPage.el.summaryAccordionText).text(accordionText);
|
|
1127
1193
|
}, 150),
|
|
1128
1194
|
changeOnBlur: function () {
|
|
1129
1195
|
const context = $(this).closest(Wick.BasketPage.el.orderItem),
|
|
@@ -1153,29 +1219,60 @@ Wick.BasketPage = {
|
|
|
1153
1219
|
|
|
1154
1220
|
$(Wick.BasketPage.el.content).find(quantityValue).prop('disabled', false);
|
|
1155
1221
|
$(Wick.BasketPage.el.content).find(quantityButton).prop('disabled', false);
|
|
1156
|
-
}
|
|
1222
|
+
},
|
|
1157
1223
|
};
|
|
1158
1224
|
|
|
1159
1225
|
$(document).on('cartUpdate', initStickyObserver);
|
|
1160
1226
|
|
|
1161
1227
|
$(document).ready(function () {
|
|
1162
1228
|
function init() {
|
|
1163
|
-
|
|
1164
1229
|
if (!$('.page_basket.basket').length) {
|
|
1165
1230
|
return;
|
|
1166
1231
|
}
|
|
1167
1232
|
|
|
1168
1233
|
addStorageCheckEvent();
|
|
1169
1234
|
Wick.BasketPage.el.$voucherFormBtn.on('click', checkVoucherCode);
|
|
1170
|
-
$(Wick.BasketPage.el.content).on(
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
$(Wick.BasketPage.el.content).on(
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1235
|
+
$(Wick.BasketPage.el.content).on(
|
|
1236
|
+
'click',
|
|
1237
|
+
Wick.BasketPage.el.quantityButton,
|
|
1238
|
+
Wick.BasketPage.updateItemQuantity
|
|
1239
|
+
);
|
|
1240
|
+
$(Wick.BasketPage.el.content).on(
|
|
1241
|
+
'click',
|
|
1242
|
+
Wick.BasketPage.el.removeButton,
|
|
1243
|
+
Wick.BasketPage.updateItemQuantity
|
|
1244
|
+
);
|
|
1245
|
+
$(Wick.BasketPage.el.content).on(
|
|
1246
|
+
'change',
|
|
1247
|
+
Wick.BasketPage.el.quantityValue,
|
|
1248
|
+
Wick.BasketPage.updateItemQuantity
|
|
1249
|
+
);
|
|
1250
|
+
$(Wick.BasketPage.el.content).on(
|
|
1251
|
+
'input',
|
|
1252
|
+
Wick.BasketPage.el.quantityValue,
|
|
1253
|
+
Wick.BasketPage.limitingQuantityValue
|
|
1254
|
+
);
|
|
1255
|
+
$(Wick.BasketPage.el.content).on(
|
|
1256
|
+
'click',
|
|
1257
|
+
Wick.BasketPage.el.ccButton,
|
|
1258
|
+
Wick.BasketPage.showCCSectionInDelivery
|
|
1259
|
+
);
|
|
1260
|
+
$(Wick.BasketPage.el.content).on(
|
|
1261
|
+
'focusout',
|
|
1262
|
+
Wick.BasketPage.el.quantityValue,
|
|
1263
|
+
Wick.BasketPage.changeOnBlur
|
|
1264
|
+
);
|
|
1265
|
+
$(Wick.BasketPage.el.content).on(
|
|
1266
|
+
'click',
|
|
1267
|
+
Wick.BasketPage.el.deliveryButtonInCC,
|
|
1268
|
+
Wick.BasketPage.changeMethodToDelivery
|
|
1269
|
+
);
|
|
1270
|
+
$(Wick.BasketPage.el.content).on(
|
|
1271
|
+
'click',
|
|
1272
|
+
Wick.BasketPage.el.updateStoreButton,
|
|
1273
|
+
Wick.BasketPage.changeMethodToCC
|
|
1274
|
+
);
|
|
1275
|
+
$(Wick.BasketPage.el.donationCartBtn).on('click', function (e) {
|
|
1179
1276
|
e.preventDefault();
|
|
1180
1277
|
const context = $(this).closest(Wick.BasketPage.el.charityItem);
|
|
1181
1278
|
if (!context.hasClass('charity-added')) {
|
|
@@ -1185,17 +1282,53 @@ $(document).ready(function () {
|
|
|
1185
1282
|
changeCharityPrice.call(this);
|
|
1186
1283
|
}
|
|
1187
1284
|
});
|
|
1188
|
-
$(Wick.BasketPage.el.charityItem).on(
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1285
|
+
$(Wick.BasketPage.el.charityItem).on(
|
|
1286
|
+
'click',
|
|
1287
|
+
Wick.BasketPage.el.removeButton,
|
|
1288
|
+
updateCharity
|
|
1289
|
+
);
|
|
1290
|
+
$(Wick.BasketPage.el.orderSummary).on(
|
|
1291
|
+
'click',
|
|
1292
|
+
Wick.BasketPage.el.voucherRemove,
|
|
1293
|
+
voucherRemove
|
|
1294
|
+
);
|
|
1295
|
+
$(Wick.BasketPage.el.promoWrapper).on(
|
|
1296
|
+
'click',
|
|
1297
|
+
Wick.BasketPage.el.promoClose,
|
|
1298
|
+
Wick.BasketPage.removePromotion
|
|
1299
|
+
);
|
|
1300
|
+
$(Wick.BasketPage.el.content).on(
|
|
1301
|
+
'click',
|
|
1302
|
+
Wick.BasketPage.el.deliveryStockButton,
|
|
1303
|
+
toggleWisdom
|
|
1304
|
+
);
|
|
1192
1305
|
$(Wick.BasketPage.el.content).on('click', Wick.BasketPage.el.wisdomClose, toggleWisdom);
|
|
1193
|
-
$(Wick.BasketPage.el.content).on(
|
|
1194
|
-
|
|
1195
|
-
|
|
1306
|
+
$(Wick.BasketPage.el.content).on(
|
|
1307
|
+
'click',
|
|
1308
|
+
Wick.BasketPage.el.wisdomCheck,
|
|
1309
|
+
checkDeliveryStock
|
|
1310
|
+
);
|
|
1311
|
+
$(Wick.BasketPage.el.content).on(
|
|
1312
|
+
'keypress',
|
|
1313
|
+
Wick.BasketPage.el.wisdomPostcode,
|
|
1314
|
+
checkDeliveryStockOnEnter
|
|
1315
|
+
);
|
|
1316
|
+
$(Wick.BasketPage.el.content).on(
|
|
1317
|
+
'blur',
|
|
1318
|
+
Wick.BasketPage.el.wisdomPostcode,
|
|
1319
|
+
prettifyWisdomPostcode
|
|
1320
|
+
);
|
|
1196
1321
|
$(Wick.BasketPage.el.content).on('click', Wick.BasketPage.el.wisdomAdd, addDeliveryStock);
|
|
1197
|
-
$(Wick.BasketPage.el.content).on(
|
|
1198
|
-
|
|
1322
|
+
$(Wick.BasketPage.el.content).on(
|
|
1323
|
+
'click',
|
|
1324
|
+
Wick.BasketPage.el.changeLink,
|
|
1325
|
+
Wick.Wisdom.onLinkChange
|
|
1326
|
+
);
|
|
1327
|
+
$(Wick.BasketPage.el.content).on(
|
|
1328
|
+
'click',
|
|
1329
|
+
Wick.BasketPage.el.summaryAccordion,
|
|
1330
|
+
Wick.BasketPage.changeAccordionText
|
|
1331
|
+
);
|
|
1199
1332
|
$('main').on('click', Wick.BasketPage.el.promoClose, Wick.BasketPage.removePromotion);
|
|
1200
1333
|
|
|
1201
1334
|
$(Wick.BasketPage.el.voucherRemove).unbind('click');
|