wickes-css2 2.102.0-lg-788-improve-mini-basket.5 → 2.102.0-lg-788-improve-mini-basket.7
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/build/js/basket.min.js +1 -1
- package/build/js/bundle.min.js +1 -1
- package/build/js/checkout.min.js +1 -1
- package/build/js/general.bundle.min.js +1 -1
- package/build/js/merged-checkout.min.js +1 -1
- package/build/js/mini-basket-slider.min.js +1 -1
- package/build/js/page/components/mini-basket-slider.js +41 -3
- 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 +1 -1
- package/src/js/components/general/create-popup-slider.js +1 -1
- package/src/js/page/components/mini-basket-slider.js +41 -3
package/package.json
CHANGED
|
@@ -170,7 +170,7 @@ function createPopupSlider({ type, sliderSelector, onAppendEvent, onAppend, onCl
|
|
|
170
170
|
bindClosePopup();
|
|
171
171
|
|
|
172
172
|
if (onAppendEvent && onAppend) {
|
|
173
|
-
|
|
173
|
+
window.addEventListener(onAppendEvent, (event) => {
|
|
174
174
|
onAppend(event, { showSlider, handleScroll, el });
|
|
175
175
|
});
|
|
176
176
|
}
|
|
@@ -44,7 +44,10 @@ Wick.MiniBasketSliderFE = {
|
|
|
44
44
|
events: {
|
|
45
45
|
MINI_BASKET_CHECKOUT: 'MINI_BASKET_CHECKOUT',
|
|
46
46
|
MINI_BASKET_VIEW_BASKET: 'MINI_BASKET_VIEW_BASKET',
|
|
47
|
-
SHOW_MINI_BASKET: 'SHOW_MINI_BASKET'
|
|
47
|
+
SHOW_MINI_BASKET: 'SHOW_MINI_BASKET',
|
|
48
|
+
MINI_BASKET_QUANTITY_INCREASE: 'MINI_BASKET_QUANTITY_INCREASE',
|
|
49
|
+
MINI_BASKET_QUANTITY_DECREASE: 'MINI_BASKET_QUANTITY_DECREASE',
|
|
50
|
+
MINI_BASKET_ITEM_REMOVE: 'MINI_BASKET_ITEM_REMOVE'
|
|
48
51
|
},
|
|
49
52
|
el: {
|
|
50
53
|
miniBasket: '.custom-slider.mini-basket',
|
|
@@ -71,6 +74,7 @@ Wick.MiniBasketSliderFE = {
|
|
|
71
74
|
productCardPreview: '.card.product-card-preview',
|
|
72
75
|
notifications: '.custom-slider__notifications',
|
|
73
76
|
btnQuantity: '.card .btn--quantity',
|
|
77
|
+
btnQuantityMinus: '.btn--quantity[data-action="minus"]',
|
|
74
78
|
btnRemove: '.card .btn--remove',
|
|
75
79
|
customSliderWrap: '.custom-slider__wrap',
|
|
76
80
|
miniBasketFooter: '.custom-slider__footer',
|
|
@@ -139,6 +143,7 @@ Wick.MiniBasketSliderFE = {
|
|
|
139
143
|
},
|
|
140
144
|
isInitial: true,
|
|
141
145
|
isMiniBasketOpened: false,
|
|
146
|
+
actionEventType: null,
|
|
142
147
|
miniBasketUpdateItemQuantity(e) {
|
|
143
148
|
const $item = $(e.currentTarget).closest(Wick.MiniBasketSliderFE.el.productCardPreview);
|
|
144
149
|
const quantityElement = $item.find(Wick.MiniBasketSliderFE.el.quantityValue)
|
|
@@ -146,6 +151,10 @@ Wick.MiniBasketSliderFE = {
|
|
|
146
151
|
const action = $(e.currentTarget).attr('data-action');
|
|
147
152
|
const entryNumber = +$item.attr('data-id');
|
|
148
153
|
|
|
154
|
+
if (action === 'plus') Wick.MiniBasketSliderFE.actionEventType = Wick.MiniBasketSliderFE.events.MINI_BASKET_QUANTITY_INCREASE;
|
|
155
|
+
if (action === 'minus') Wick.MiniBasketSliderFE.actionEventType = Wick.MiniBasketSliderFE.events.MINI_BASKET_QUANTITY_DECREASE;
|
|
156
|
+
if (action === 'remove') Wick.MiniBasketSliderFE.actionEventType = Wick.MiniBasketSliderFE.events.MINI_BASKET_ITEM_REMOVE;
|
|
157
|
+
|
|
149
158
|
handleQuantityChange({
|
|
150
159
|
quantityInput: quantityElement,
|
|
151
160
|
action,
|
|
@@ -153,7 +162,7 @@ Wick.MiniBasketSliderFE = {
|
|
|
153
162
|
context: $item,
|
|
154
163
|
entryNumber,
|
|
155
164
|
onQuantityChange: Wick.MiniBasketSliderFE.updateQuantityAction,
|
|
156
|
-
debounceQuantityChange: Wick.MiniBasketSliderFE.debounceQuantityChange
|
|
165
|
+
debounceQuantityChange: Wick.MiniBasketSliderFE.debounceQuantityChange
|
|
157
166
|
});
|
|
158
167
|
},
|
|
159
168
|
debounceQuantityChange: _.debounce(function (entryNumber, value, quantityInput, context) {
|
|
@@ -175,6 +184,16 @@ Wick.MiniBasketSliderFE = {
|
|
|
175
184
|
routes: ROUTES,
|
|
176
185
|
isMiniBasket: true,
|
|
177
186
|
});
|
|
187
|
+
|
|
188
|
+
Wick.MiniBasketSliderFE.toggleMinusButtonState(context, quantityToUpdate);
|
|
189
|
+
},
|
|
190
|
+
toggleMinusButtonState($item, value) {
|
|
191
|
+
const $minusBtn = $item.find(Wick.MiniBasketSliderFE.el.btnQuantityMinus);
|
|
192
|
+
if (value > 1) {
|
|
193
|
+
$minusBtn.prop('disabled', false);
|
|
194
|
+
} else {
|
|
195
|
+
$minusBtn.prop('disabled', true);
|
|
196
|
+
}
|
|
178
197
|
},
|
|
179
198
|
updateAction: function (response, quantityToUpdate, quantityInput, context, successCallback) {
|
|
180
199
|
Wick.MiniBasketSliderFE.updateQuantityOperation(
|
|
@@ -260,9 +279,27 @@ Wick.MiniBasketSliderFE = {
|
|
|
260
279
|
extraActionsMiniBasket: () => {
|
|
261
280
|
Wick.MiniBasketSliderFE.toggleMiniBasketEmptyView();
|
|
262
281
|
Wick.MiniBasketSliderFE.updateItemsCount(response);
|
|
282
|
+
|
|
283
|
+
if (Wick.MiniBasketSliderFE.actionEventType) {
|
|
284
|
+
Wick.MiniBasketSliderFE.fireMiniBasketActionEvent(Wick.MiniBasketSliderFE.actionEventType, response);
|
|
285
|
+
}
|
|
263
286
|
}
|
|
264
287
|
});
|
|
265
288
|
},
|
|
289
|
+
fireMiniBasketActionEvent(eventType, cartData) {
|
|
290
|
+
if (!eventType) return;
|
|
291
|
+
const payload = {
|
|
292
|
+
orderType: cartData.orderType,
|
|
293
|
+
deliveryOrderGroups: cartData.deliveryOrderGroups,
|
|
294
|
+
pickupOrderGroups: cartData.pickupOrderGroups
|
|
295
|
+
};
|
|
296
|
+
const event = createEvent(
|
|
297
|
+
eventType,
|
|
298
|
+
payload,
|
|
299
|
+
{}
|
|
300
|
+
);
|
|
301
|
+
window.dispatchEvent(event);
|
|
302
|
+
},
|
|
266
303
|
removeOrderItem(data) {
|
|
267
304
|
Wick.MiniBasketSliderFE.updateItemsCount(data);
|
|
268
305
|
},
|
|
@@ -398,6 +435,7 @@ Wick.MiniBasketSliderFE = {
|
|
|
398
435
|
onClose: function () {
|
|
399
436
|
$(Wick.MiniBasketSliderFE.el.notifications).empty();
|
|
400
437
|
Wick.MiniBasketSliderFE.isMiniBasketOpened = false;
|
|
438
|
+
Wick.MiniBasketSliderFE.actionEventType = null;
|
|
401
439
|
}
|
|
402
440
|
});
|
|
403
441
|
},
|
|
@@ -472,7 +510,7 @@ Wick.MiniBasketSliderFE = {
|
|
|
472
510
|
{},
|
|
473
511
|
eventDetail
|
|
474
512
|
);
|
|
475
|
-
|
|
513
|
+
window.dispatchEvent(event);
|
|
476
514
|
});
|
|
477
515
|
},
|
|
478
516
|
bindMiniBasketBtnHandler(selector, eventName) {
|