wickes-css2 2.94.0-develop.1 → 2.94.0-develop.12

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 (112) hide show
  1. package/Readme.md +4 -3
  2. package/build/css/category-main.css +1 -1
  3. package/build/css/components/checkout-payment-details-v2.css +1 -1
  4. package/build/css/homepage-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/pages/my-account-v2.css +1 -1
  9. package/build/css/pages/my-account.css +1 -1
  10. package/build/css/pages/page_default-store.css +1 -0
  11. package/build/css/pages/page_my-orders.css +1 -0
  12. package/build/css/pages/page_personal-details.css +1 -1
  13. package/build/css/pages/page_product-details-v2-critical.css +1 -1
  14. package/build/css/pages/page_product-details-v2.css +1 -1
  15. package/build/css/pages/page_products-list-combined.css +1 -1
  16. package/build/css/pages/page_products-list.css +1 -1
  17. package/build/css/pages/page_shopping-cart-v2.css +1 -1
  18. package/build/css/pdp-main-before-combine.css +1 -1
  19. package/build/css/pdp-main-critical.css +1 -1
  20. package/build/css/pdp-main-non-critical.css +1 -1
  21. package/build/css/pdp-main.css +1 -1
  22. package/build/css/plp-main.css +1 -1
  23. package/build/css/store-locator-main.css +1 -1
  24. package/build/js/account-members.min.js +1 -1
  25. package/build/js/basket.min.js +2 -2
  26. package/build/js/bundle.min.js +1 -1
  27. package/build/js/checkout.min.js +1 -1
  28. package/build/js/default-store.min.js +1 -0
  29. package/build/js/emulation.min.js +151 -3
  30. package/build/js/general.bundle.min.js +1 -1
  31. package/build/js/merged-checkout.min.js +1 -1
  32. package/build/js/my-orders.min.js +1 -0
  33. package/build/js/page/basket-v2.js +7 -6
  34. package/build/js/page/default-store.js +44 -0
  35. package/build/js/page/my-orders.js +165 -0
  36. package/build/js/page/personal-details.js +105 -36
  37. package/build/js/page/plp-load-more.js +1 -0
  38. package/build/js/pdp.bundle.min.js +1 -1
  39. package/build/js/personal-details.min.js +1 -1
  40. package/build/js/plp.bundle.min.js +1 -1
  41. package/build/js/project-list.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/components/account-families/actions-bar.hbs +3 -3
  44. package/src/components/default-store/current-store.hbs +60 -0
  45. package/src/components/default-store/list-of-store.hbs +39 -0
  46. package/src/components/default-store/store-form.hbs +29 -0
  47. package/src/components/default-store/store-unavailable.hbs +4 -0
  48. package/src/components/flatpickr-calendar.hbs +26 -0
  49. package/src/components/my-account/active-orders/header.hbs +6 -2
  50. package/src/components/my-account/active-orders/list-orders.hbs +14 -2
  51. package/src/components/my-account/active-orders/order-header.hbs +1 -1
  52. package/src/components/my-account/active-orders/order.hbs +10 -6
  53. package/src/components/my-account/clipboard-code-card.hbs +1 -1
  54. package/src/components/my-account/empty-orders.hbs +9 -0
  55. package/src/components/my-account/mobile-nav.hbs +23 -19
  56. package/src/components/my-account/orders-nav.hbs +15 -0
  57. package/src/components/my-account/personal-details-form.hbs +5 -0
  58. package/src/components/my-account/sort-by.hbs +3 -0
  59. package/src/components/my-account/user-account-actions.hbs +1 -1
  60. package/src/components/signup-form.hbs +1 -2
  61. package/src/components/store-details.hbs +22 -20
  62. package/src/components/store-preview.hbs +0 -11
  63. package/src/components/user-information-field.hbs +1 -1
  64. package/src/data/data_big-wins-stores.json +0 -22
  65. package/src/data/my-account/data_my-orders.json +246 -0
  66. package/src/data/my-account/data_personal-details.json +36 -11
  67. package/src/data/my-account/page_default-store.json +158 -0
  68. package/src/elements/dropdown.hbs +1 -1
  69. package/src/elements/input.hbs +2 -2
  70. package/src/js/components/flatpickr.js +167 -0
  71. package/src/js/components/general/handleAccordion.js +35 -0
  72. package/src/js/components/general/switchVat.js +28 -2
  73. package/src/js/components/leave-event.js +41 -2
  74. package/src/js/emulation/big-wins.js +0 -2
  75. package/src/js/emulation/default-store.js +97 -0
  76. package/src/js/emulation/forms.js +1 -1
  77. package/src/js/emulation/mock.js +10 -0
  78. package/src/js/emulation/my-orders-local.js +41 -0
  79. package/src/js/page/basket-v2.js +7 -6
  80. package/src/js/page/default-store.js +44 -0
  81. package/src/js/page/my-orders.js +165 -0
  82. package/src/js/page/personal-details.js +105 -36
  83. package/src/js/page/plp-load-more.js +1 -0
  84. package/src/page_checkout_payment-details_with-card-loader.html +56 -0
  85. package/src/page_default-store-page-empty.html +48 -0
  86. package/src/page_default-store-page.html +55 -0
  87. package/src/page_my-orders-empty.html +49 -0
  88. package/src/page_my-orders.html +64 -0
  89. package/src/page_personal-details-installer.html +17 -7
  90. package/src/page_personal-details.html +15 -7
  91. package/src/page_wismo-order-history-loadmore.html +3 -3
  92. package/src/scss/barclays-paypage-combined-minified.css +1 -1
  93. package/src/scss/barclays-paypage-combined.css +9 -15
  94. package/src/scss/components/_big-wins-critical.scss +0 -1
  95. package/src/scss/components/_big-wins.scss +1 -8
  96. package/src/scss/components/_order-item-cc.scss +0 -6
  97. package/src/scss/components/checkout-payment-details-v2.scss +2 -2
  98. package/src/scss/components/my-account/_active-orders.scss +263 -0
  99. package/src/scss/components/my-account/_orders-nav.scss +61 -0
  100. package/src/scss/components/my-account/_shipment.scss +1 -0
  101. package/src/scss/helpers/_variables.scss +1 -0
  102. package/src/scss/libs/flatpickr.scss +235 -0
  103. package/src/scss/pages/_my-account_new.scss +1 -12
  104. package/src/scss/pages/my-account-v2.scss +1 -136
  105. package/src/scss/pages/page_default-store.scss +634 -0
  106. package/src/scss/pages/page_my-orders.scss +232 -0
  107. package/src/scss/pages/page_personal-details.scss +37 -5
  108. package/src/scss/pages/page_products-list-combined.scss +0 -1
  109. package/src/scss/pages/page_products-list.scss +0 -1
  110. package/src/scss/partials/_header.scss +5 -0
  111. package/src/sitemap.html +7 -1
  112. package/src/scss/components/my-account/_order.scss +0 -112
@@ -0,0 +1,165 @@
1
+ import {createEvent} from "./utils/create-event";
2
+ import {appendLoader, showLoader, hideLoader} from "./utils/loader";
3
+
4
+ var Wick = window.Wick || {};
5
+
6
+ Wick.MyOrders = {
7
+ events: {
8
+ MONTHLY_VIEW_EVENT: 'MONTHLY_VIEW_EVENT',
9
+ SORT_BY_EVENT: 'SORT_BY_EVENT',
10
+ LOAD_MORE_EVENT: 'LOAD_MORE_EVENT',
11
+ CATEGORY_EVENT: 'CATEGORY_EVENT',
12
+ },
13
+ HIDDEN_CLASS_NAME: 'd-none',
14
+ el: {
15
+ $myOrders: $('.my-orders'),
16
+ calendar: '#calendarInputFlatpickr',
17
+ loader: '.loader-wrapper',
18
+ $sortOrders: $('#sort_orders'),
19
+ $chooseDate: $('.flatpickr-datepicker[choose-date]'),
20
+ $showYears: $('.flatpickr-datepicker[show-years]'),
21
+ $desktopTabs: $('.nav-orders .nav-orders__item .link'),
22
+ $mobileTabs: $('.nav-orders .account-nav__link'),
23
+ $loadMoreBtn: $('.btn-load-more'),
24
+ oderList: '.active-orders',
25
+ $activeOrderState: $('.nav-orders .nav-orders__item.active .link')
26
+ },
27
+ initialPageNumber: 0,
28
+ numberOfPagesOrders: $('#numberOfPagesOrders').val(),
29
+ loaderPayload: {
30
+ wrapper: 'body',
31
+ hidden: true,
32
+ modifier: 'basket-loader',
33
+ },
34
+ chooseDate: '',
35
+ showYears: '',
36
+ getChooseDate () {
37
+ const attrValue = Wick.MyOrders.el.$chooseDate.attr('choose-date');
38
+ if (attrValue) {
39
+ Wick.MyOrders.chooseDate = attrValue
40
+ }
41
+ },
42
+ requestToUpdateOrders (currentEvent, payload) {
43
+ return new Promise((resolve, reject) => {
44
+ const eventDetail = {resolve, reject};
45
+ const event = createEvent(currentEvent, payload, eventDetail);
46
+ window.dispatchEvent(event);
47
+ })
48
+ .then(({url}) => {
49
+ if (!url) {
50
+ return;
51
+ }
52
+
53
+ window.location.href = url;
54
+ })
55
+ .catch((error) => {
56
+ console.error(error);
57
+ });
58
+ },
59
+ loadMore () {
60
+ showLoader(Wick.MyOrders.el.loader);
61
+
62
+ return new Promise((resolve, reject) => {
63
+ const eventDetail = {resolve, reject};
64
+ const payload = {
65
+ currentPage: ++Wick.MyOrders.initialPageNumber,
66
+ sort: Wick.MyOrders.el.$sortOrders.val() || '',
67
+ chooseDate: Wick.MyOrders.chooseDate,
68
+ orderState: Wick.MyOrders.getCurrentOrderState() || ''
69
+ };
70
+ const event = createEvent(Wick.MyOrders.events.LOAD_MORE_EVENT, payload, eventDetail);
71
+ window.dispatchEvent(event);
72
+ })
73
+ .then(({innerHTML, callback}) => {
74
+ if (!innerHTML) {
75
+ return;
76
+ }
77
+
78
+ Wick.MyOrders.showNewOrders(innerHTML);
79
+ Wick.MyOrders.toggleLoadMoreBtn();
80
+
81
+ if (callback) {
82
+ callback()
83
+ }
84
+ })
85
+ .finally(() => {
86
+ hideLoader(Wick.MyOrders.el.loader);
87
+ Wick.MyOrders.el.$loadMoreBtn.blur();
88
+ })
89
+ },
90
+ showNewOrders (newProductsHtml) {
91
+ const $newProductsHtml = $(newProductsHtml);
92
+ $(Wick.MyOrders.el.oderList).append($newProductsHtml);
93
+ },
94
+ toggleLoadMoreBtn () {
95
+ if (Wick.MyOrders.initialPageNumber + 1 >= +Wick.MyOrders.numberOfPagesOrders) {
96
+ Wick.MyOrders.el.$loadMoreBtn.addClass(Wick.MyOrders.HIDDEN_CLASS_NAME);
97
+ }
98
+ },
99
+ getShowYears () {
100
+ const attrValue = Wick.MyOrders.el.$showYears.attr('show-years');
101
+ if (attrValue) {
102
+ Wick.MyOrders.showYears = attrValue
103
+ }
104
+ },
105
+ initializeFlatpickr () {
106
+ Wick.Flatpickr.init({
107
+ id: Wick.MyOrders.el.calendar,
108
+ currentYear: new Date().getFullYear(),
109
+ minYear: new Date().getFullYear() - Wick.MyOrders.showYears,
110
+ dateFormat: "F Y",
111
+ static: true,
112
+ chooseDate: Wick.MyOrders.chooseDate,
113
+ onChangeCallback: function (dateStr) {
114
+ if (!dateStr || isNaN(new Date(dateStr))) {
115
+ Wick.MyOrders.chooseDate = "";
116
+ } else {
117
+ Wick.MyOrders.chooseDate = dateStr;
118
+ }
119
+
120
+ Wick.MyOrders.requestToUpdateOrders(Wick.MyOrders.events.MONTHLY_VIEW_EVENT, { chooseDate: Wick.MyOrders.chooseDate });
121
+ },
122
+ });
123
+ },
124
+ initializeSortOrdersHandler () {
125
+ Wick.MyOrders.el.$sortOrders.on('change', function () {
126
+ const selectedValue = $(this).val();
127
+ Wick.MyOrders.requestToUpdateOrders(Wick.MyOrders.events.SORT_BY_EVENT, { sortBy: selectedValue });
128
+ });
129
+ },
130
+ registerTabClickHandler (tabsElement) {
131
+ tabsElement.on('click', function (e) {
132
+ e.preventDefault();
133
+ const tabId = $(this).attr('id');
134
+ const orderState = tabId ? { orderState: tabId } : '';
135
+ Wick.MyOrders.requestToUpdateOrders(Wick.MyOrders.events.CATEGORY_EVENT, orderState);
136
+ });
137
+ },
138
+ handleCategoryTabClick () {
139
+ Wick.MyOrders.registerTabClickHandler(Wick.MyOrders.el.$desktopTabs);
140
+ Wick.MyOrders.registerTabClickHandler(Wick.MyOrders.el.$mobileTabs);
141
+ },
142
+ getCurrentOrderState () {
143
+ if (Wick.MyOrders.el.$activeOrderState.length) {
144
+ return Wick.MyOrders.el.$activeOrderState.attr('id')
145
+ }
146
+ },
147
+ init () {
148
+ Wick.MyOrders.getShowYears();
149
+ Wick.MyOrders.getChooseDate();
150
+ Wick.MyOrders.initializeFlatpickr();
151
+ Wick.MyOrders.initializeSortOrdersHandler()
152
+ Wick.MyOrders.handleCategoryTabClick();
153
+ appendLoader(Wick.MyOrders.loaderPayload);
154
+ Wick.MyOrders.el.$loadMoreBtn.on('click', Wick.MyOrders.loadMore);
155
+ Wick.HandleAccordions.handleOutsideClick();
156
+ }
157
+ }
158
+
159
+ $(document).ready(function () {
160
+ if (!Wick.MyOrders.el.$myOrders.length) {
161
+ return;
162
+ }
163
+
164
+ Wick.MyOrders.init();
165
+ });
@@ -24,25 +24,40 @@ Wick.PersonalDetails = {
24
24
  formInvalidClass: 'form_invalid',
25
25
  notification: '.notification',
26
26
  fieldError: '.form-row.form-row_validation-error',
27
+ changePasswordPopup: '#change-password-popup',
28
+ globalMessage: '.globalMessages',
27
29
  },
28
- initialFormState: {},
29
30
  errorMessages: {
30
31
  errorFirstName: 'Please enter your first name',
31
32
  errorSurname: 'Please enter your surname',
32
- errorEmail: 'Please enter you email',
33
- },
34
- fieldToLabelMap: {
35
- titleCode: 'Title',
36
- firstName: 'First name',
37
- lastName: 'Surname',
38
- email: 'Email',
39
- tradeType: 'How would you describe yourself or your main trade',
33
+ errorEmail: 'Please enter your email address',
40
34
  },
41
35
  defaultNotificationConfig: {
42
- container: '.globalMessages .col-12',
36
+ container: '.personal-details .globalMessages',
43
37
  closeBtn: true,
44
38
  noScrolling: true,
45
39
  },
40
+ isTradeTypeLabel() {
41
+ return $(Wick.PersonalDetails.el.userForm).find('label:contains("Trade type")').length;
42
+ },
43
+ fieldToLabelMap(name) {
44
+ let currentTradeType = ''
45
+ if (name === 'tradeType') {
46
+ currentTradeType = Wick.PersonalDetails.isTradeTypeLabel()
47
+ ? 'Trade type'
48
+ : 'How would you describe yourself or your main trade';
49
+ }
50
+
51
+ const fieldMap = {
52
+ titleCode: 'Title',
53
+ firstName: 'First name',
54
+ lastName: 'Surname',
55
+ email: 'Email address',
56
+ tradeType: currentTradeType,
57
+ };
58
+
59
+ return fieldMap[name] || name;
60
+ },
46
61
  getFieldsConfigurations: function () {
47
62
  return [
48
63
  {
@@ -111,11 +126,11 @@ Wick.PersonalDetails = {
111
126
  text: response.globalMessage.message,
112
127
  type: 'success',
113
128
  });
114
- Wick.PersonalDetails.initialFormState = Wick.LeaveEvent.getState(Wick.PersonalDetails.el.userForm);
115
- Wick.PersonalDetails.updateUserInformationSection(Wick.PersonalDetails.initialFormState);
116
- Wick.PersonalDetails.updateFormFields(Wick.PersonalDetails.initialFormState);
129
+ Wick.LeaveEvent.initialFormState = Wick.LeaveEvent.getState(Wick.PersonalDetails.el.userForm);
130
+ Wick.PersonalDetails.updateUserInformationSection(Wick.LeaveEvent.initialFormState);
131
+ Wick.PersonalDetails.updateFormFields(Wick.LeaveEvent.initialFormState);
117
132
  Wick.PersonalDetails.hideForm();
118
- Wick.LeaveEvent.removeLeaveEvent();
133
+ Wick.PersonalDetails.scrollToElement(Wick.PersonalDetails.el.globalMessage);
119
134
  })
120
135
  .catch((error) => {
121
136
  Wick.Notification.show({
@@ -124,11 +139,12 @@ Wick.PersonalDetails = {
124
139
  type: 'error',
125
140
  });
126
141
  Wick.PersonalDetails.handleFieldErrors(error);
142
+ Wick.PersonalDetails.scrollToElement(Wick.PersonalDetails.el.globalMessage);
127
143
  });
128
144
  },
129
- handleFieldErrors(fieldErrors) {
130
- if (fieldErrors && fieldErrors.length) {
131
- fieldErrors.forEach((fieldError) => {
145
+ handleFieldErrors(error) {
146
+ if (error.fieldErrors && error.fieldErrors.length) {
147
+ error.fieldErrors.forEach((fieldError) => {
132
148
  const field = `#${fieldError.field}`;
133
149
  updateStylingError(field, false, fieldError.message);
134
150
  });
@@ -136,6 +152,15 @@ Wick.PersonalDetails = {
136
152
  },
137
153
  submitForm(event) {
138
154
  event.preventDefault();
155
+ Wick.PersonalDetails.trimAndRewriteInputs(Wick.PersonalDetails.el.userForm);
156
+
157
+ if (!Wick.PersonalDetails.hasUnsavedChanges()) {
158
+ Wick.PersonalDetails.hideForm();
159
+ $(Wick.PersonalDetails.el.notification).remove();
160
+ Wick.PersonalDetails.scrollToElement(Wick.PersonalDetails.el.globalMessage);
161
+ return;
162
+ }
163
+
139
164
  if (Wick.PersonalDetails.validateForm()) {
140
165
  Wick.PersonalDetails.requestToUpdateForm();
141
166
  } else {
@@ -144,6 +169,7 @@ Wick.PersonalDetails = {
144
169
  text: 'Please correct the errors below.',
145
170
  type: 'error',
146
171
  });
172
+ Wick.PersonalDetails.scrollToElement(Wick.PersonalDetails.el.globalMessage);
147
173
  }
148
174
  },
149
175
  updateUserInformationSection(personalDetails) {
@@ -153,27 +179,36 @@ Wick.PersonalDetails = {
153
179
 
154
180
  $userInformationList.empty();
155
181
 
156
- personalDetails.forEach(({ name, value }) => {
157
- const label = Wick.PersonalDetails.fieldToLabelMap[name] || name;
158
-
182
+ personalDetails.forEach(({ name, value, text }) => {
183
+ const label = Wick.PersonalDetails.fieldToLabelMap(name);
184
+ const textField = text || value
159
185
  $userInformationList.append(
160
186
  userInformationField({
161
187
  label,
162
- value,
188
+ textField,
163
189
  })
164
190
  );
165
191
  });
192
+
193
+ Wick.PersonalDetails.hideParentListItemIfLabelExists('CSRFToken');
166
194
  },
167
195
  updateFormFields(personalDetails) {
168
- personalDetails.forEach(({ name, value }) => {
196
+ personalDetails.forEach(({ name, value, text }) => {
169
197
  const field = document.querySelector(`#${name}`);
170
198
  if (field) {
171
- field.value = value || '';
172
- field.setAttribute('value', value || '');
173
-
174
- if (field.tagName === 'SELECT' || field.tagName === 'INPUT') {
175
- field.value = value || '';
176
- field.setAttribute('value', value || '');
199
+ if (field.tagName === 'INPUT') {
200
+ field.value = text || value || '';
201
+ field.setAttribute('value', text || value || '');
202
+ } else {
203
+ const options = field.querySelectorAll('option');
204
+ options.forEach(option => {
205
+ if (option.textContent.trim() === value || option.value === value) {
206
+ option.setAttribute('selected', 'selected');
207
+ field.value = option.value;
208
+ } else {
209
+ option.removeAttribute('selected');
210
+ }
211
+ });
177
212
  }
178
213
  }
179
214
  });
@@ -182,18 +217,21 @@ Wick.PersonalDetails = {
182
217
  Wick.PersonalDetails.hideForm();
183
218
  $(Wick.PersonalDetails.el.notification).remove();
184
219
  $(Wick.LeaveEvent.el.leavePopup).modal('hide');
185
- Wick.PersonalDetails.updateFormFields(Wick.PersonalDetails.initialFormState);
220
+ Wick.PersonalDetails.updateFormFields(Wick.LeaveEvent.initialFormState);
221
+ },
222
+ hasUnsavedChanges() {
223
+ const currentState = Wick.LeaveEvent.getState(Wick.PersonalDetails.el.userForm);
224
+
225
+ return !_.isEqual(currentState, Wick.LeaveEvent.initialFormState);
186
226
  },
187
227
  changePasswordHandler(event) {
188
228
  const changePasswordUrl = $(Wick.PersonalDetails.el.btnChangePassword).attr('href');
189
- const currentState = Wick.LeaveEvent.getState(Wick.PersonalDetails.el.userForm);
190
- const isDifferent = !_.isEqual(currentState, Wick.PersonalDetails.initialFormState);
191
229
 
192
- if (isDifferent) {
230
+ if (Wick.PersonalDetails.hasUnsavedChanges()) {
193
231
  event.preventDefault();
194
- $(Wick.LeaveEvent.el.leavePopup).modal('show');
232
+ $(Wick.PersonalDetails.el.changePasswordPopup).modal('show');
195
233
  Wick.LeaveEvent.proceedBrowserLeave = true;
196
- $(Wick.LeaveEvent.el.leavePopup).find(Wick.PersonalDetails.el.btnContinue).off('click').on('click', function () {
234
+ $(Wick.PersonalDetails.el.changePasswordPopup).find(Wick.PersonalDetails.el.btnContinue).off('click').on('click', function () {
197
235
  Wick.LeaveEvent.removeLeaveEvent();
198
236
  $(Wick.LeaveEvent.el.leavePopup).modal('hide');
199
237
  window.location.href = changePasswordUrl;
@@ -202,9 +240,40 @@ Wick.PersonalDetails = {
202
240
  window.location.href = changePasswordUrl;
203
241
  }
204
242
  },
243
+ hideParentListItemIfLabelExists(labelText) {
244
+ const label = $(Wick.PersonalDetails.el.userInformationList).find(`label:contains("${labelText}")`);
245
+
246
+ if (label.length > 0) {
247
+ label.closest('li').hide();
248
+ }
249
+ },
250
+ scrollToElement(element) {
251
+ const globalMessage = $(element);
252
+
253
+ if (globalMessage.length > 0) {
254
+ $('html, body').animate({
255
+ scrollTop: globalMessage.offset().top - 20
256
+ }, 300);
257
+ }
258
+ },
259
+ trimAndRewriteInputs(formSelector) {
260
+ const $form = $(formSelector);
261
+
262
+ if (!$form.length) {
263
+ return;
264
+ }
265
+
266
+ $form.find('input[type="text"], input[type="email"]').each(function () {
267
+ $(this).val($.trim($(this).val()));
268
+ });
269
+ },
205
270
  init: function () {
206
- Wick.LeaveEvent.bindEvent(Wick.PersonalDetails.el.userForm, Wick.PersonalDetails.el.btnCancel, Wick.PersonalDetails.el.btnContinue, Wick.PersonalDetails.resetFormToInitialState);
207
- Wick.PersonalDetails.initialFormState = Wick.LeaveEvent.getState(Wick.PersonalDetails.el.userForm)
271
+ Wick.LeaveEvent.bindEvent(
272
+ Wick.PersonalDetails.el.userForm,
273
+ Wick.PersonalDetails.el.btnCancel,
274
+ Wick.PersonalDetails.el.btnContinue,
275
+ Wick.PersonalDetails.resetFormToInitialState
276
+ );
208
277
 
209
278
  $(Wick.PersonalDetails.el.btnEdit).on('click', Wick.PersonalDetails.showForm);
210
279
  $(Wick.PersonalDetails.el.btnSave).on('click', Wick.PersonalDetails.submitForm);
@@ -38,6 +38,7 @@ Wick.PLPLoadMore = {
38
38
 
39
39
  Wick.PLPLoadMore.showNewCards(response);
40
40
  Wick.PLPLoadMore.toggleLoadMoreBtn();
41
+ Wick.VatToggle.reapplyDisplayClass();
41
42
  })
42
43
  .finally(() => {
43
44
  hideLoader(Wick.PLPLoadMore.el.loader);
@@ -0,0 +1,56 @@
1
+ {{#extend "checkout" pageClass="page_checkout-delivery-new page_checkout-confirmation-new" title="Checkout - Payment details" isAsideSticky="true"}}
2
+ {{#content "steps"}}
3
+ {{> steps-three-steps active-step-index="3" }}
4
+ {{/content}}
5
+
6
+ {{#content "head" mode="append"}}
7
+ <link type="text/css" rel="stylesheet" href="./css/pages/checkout-new.css">
8
+ <link type="text/css" rel="stylesheet" href="./css/pages/page_checkout_delivery-new.css">
9
+ <link type="text/css" rel="stylesheet" href="./css/components/payment-details-BPS-form.css">
10
+ <link type="text/css" rel="stylesheet" href="./css/components/checkout-payment-details-v2.css">
11
+ {{/content}}
12
+
13
+ {{#content "aside"}}
14
+ {{> order-summary delivery-address-v2.summary no-action=true id=1 basket-id=true}}
15
+ {{/content}}
16
+
17
+
18
+ {{#content "main"}}
19
+ <div class="delivery-block">
20
+ <h3 class="delivery-block__heading">Delivery Information</h3>
21
+ <div class="delivery-block__wrapper">
22
+ {{#with checkoutOrder.deliveryPayments.[0]}}
23
+ <div class="checkout-order">
24
+ {{> checkout-order-block}}
25
+ </div>
26
+ {{/with}}
27
+ </div>
28
+ </div>
29
+
30
+ <div class="click-collect-block">
31
+ <h3 class="click-collect-block__heading">Click & Collect</h3>
32
+ <div class="click-collect-block__wrapper">
33
+ {{#with checkoutOrder.clickCollectDeliveryAddress.[0]}}
34
+ <div class="checkout-order">
35
+ {{> checkout-order-block}}
36
+ </div>
37
+ {{/with}}
38
+ </div>
39
+ </div>
40
+
41
+ <div class="billing-payment-block">
42
+ <h3 class="billing-payment-block__heading">Billing & Payment</h3>
43
+ <div class="billing-payment-block__wrapper">
44
+ {{> checkout-payment-details-v2 }}
45
+ </div>
46
+ </div>
47
+
48
+ {{/content}}
49
+
50
+ {{#content "foot" mode="append"}}
51
+ <script defer src="./js/page/checkout-confirmation-new.js"></script>
52
+ <script defer src="./js/page/checkout-payment-details.js"></script>
53
+ {{> checkout-terms-and-conditions-modal }}
54
+ {{> payment-loader }}
55
+ {{/content}}
56
+ {{/extend}}
@@ -0,0 +1,48 @@
1
+ {{#extend "my-account-v2" dataBreadcrumbs=default-store.breadcrumbs pageClass="page_my-account_new" title="Default Store Page" pageMyAcc=true myAccV2=true isLoggedIn=true mainClass="default-store"}}
2
+ {{#content "head" mode="append"}}
3
+ <link type="text/css" rel="stylesheet" href="./css/pages/page_default-store.css">
4
+ {{/content}}
5
+ {{#content "main"}}
6
+ <div class="container">
7
+ <div class="row">
8
+ <div class="col-12">
9
+ {{> my-account/mobile-nav
10
+ menu=default-store.menu
11
+ active-index=6
12
+ page-name=default-store.menu.[6].title
13
+ }}
14
+ </div>
15
+ </div>
16
+ </div>
17
+
18
+ <div class="container default-store__wrap">
19
+ <div class="row">
20
+ <div class="col-12 d-md-none">
21
+ <h1 class="default-store__title">{{default-store.title}}</h1>
22
+ </div>
23
+ <div class="col-12 col-md-6 default-store__search">
24
+ <div class="default-store__header">
25
+ <h1 class="default-store__title d-none d-md-block">{{default-store.title}}</h1>
26
+ <p class="default-store__subtitle">{{default-store.subtitle}}</p>
27
+ </div>
28
+ {{> default-store/store-form
29
+ default-store.searchField
30
+ }}
31
+ {{> default-store/store-unavailable
32
+ default-store.unavailable
33
+ }}
34
+ {{> default-store/list-of-store
35
+ style="display: none;"
36
+ }}
37
+ </div>
38
+ <div class="col-12 col-md-6">
39
+ </div>
40
+ </div>
41
+ </div>
42
+
43
+ {{/content}}
44
+ {{#content "foot" mode="append"}}
45
+ <script defer src="./js/my-account.min.js"></script>
46
+ <script defer src="./js/default-store.min.js"></script>
47
+ {{/content}}
48
+ {{/extend}}
@@ -0,0 +1,55 @@
1
+ {{#extend "my-account-v2" dataBreadcrumbs=default-store.breadcrumbs pageClass="page_my-account_new" title="Default Store Page" pageMyAcc=true myAccV2=true isLoggedIn=true mainClass="default-store"}}
2
+ {{#content "head" mode="append"}}
3
+ <link type="text/css" rel="stylesheet" href="./css/pages/page_default-store.css">
4
+ {{/content}}
5
+ {{#content "notification"}}
6
+ <div class="globalMessages">
7
+ <div class="container">
8
+ {{> notifications notification-page.success withCloseBtn="true"}}
9
+ </div>
10
+ </div>
11
+ {{/content}}
12
+ {{#content "main"}}
13
+ <div class="container">
14
+ <div class="row">
15
+ <div class="col-12">
16
+ {{> my-account/mobile-nav
17
+ menu=default-store.menu
18
+ active-index=6
19
+ page-name=default-store.menu.[6].title
20
+ }}
21
+ </div>
22
+ </div>
23
+ </div>
24
+
25
+ <div class="container default-store__wrap">
26
+ <div class="row">
27
+ <div class="col-12 d-md-none">
28
+ <h1 class="default-store__title">{{default-store.title}}</h1>
29
+ </div>
30
+ <div class="col-12 col-md-6 default-store__search">
31
+ <div class="default-store__header">
32
+ <h1 class="default-store__title d-none d-md-block">{{default-store.title}}</h1>
33
+ <p class="default-store__subtitle default-store__subtitle--change">{{default-store.subtitleChange}}</p>
34
+ </div>
35
+ {{> default-store/store-form
36
+ default-store.searchField
37
+ }}
38
+ {{> default-store/list-of-store
39
+ style="display: none;"
40
+ }}
41
+ </div>
42
+ <div class="col-12 col-md-6">
43
+ {{> default-store/current-store
44
+ default-store.currentStore
45
+ }}
46
+ </div>
47
+ </div>
48
+ </div>
49
+
50
+ {{/content}}
51
+ {{#content "foot" mode="append"}}
52
+ <script defer src="./js/my-account.min.js"></script>
53
+ <script defer src="./js/default-store.min.js"></script>
54
+ {{/content}}
55
+ {{/extend}}
@@ -0,0 +1,49 @@
1
+ {{#extend
2
+ "my-account-v2"
3
+ dataBreadcrumbs=my_orders.breadcrumbs
4
+ pageClass="page_my-account_new"
5
+ title="My Orders"
6
+ pageMyAcc=true
7
+ myAccV2=true
8
+ isLoggedIn=true
9
+ mainClass="my-orders"
10
+ }}
11
+ {{#content "head" mode="append"}}
12
+ <link type="text/css" rel="stylesheet" href="./css/pages/page_my-orders.css">
13
+ {{/content}}
14
+ {{#content "notification"}}
15
+ <div class="globalMessages">
16
+ </div>
17
+ {{/content}}
18
+ {{#content "main"}}
19
+ <div class="container">
20
+ <div class="row">
21
+ <div class="col-12">
22
+ {{> my-account/mobile-nav
23
+ menu=default-store.menu
24
+ active-index=1
25
+ page-name=my_orders.menu.[1].title
26
+ }}
27
+ </div>
28
+ </div>
29
+ </div>
30
+
31
+ <div class="container my-orders__wrap">
32
+ <div class="row">
33
+ <div class="col-12">
34
+ <div class="my-orders__header">
35
+ <h1 class="my-orders__title">My Orders</h1>
36
+ </div>
37
+ {{> my-account/empty-orders
38
+ title=my_orders.emptyOrders.title
39
+ image=my_orders.emptyOrdersImage
40
+ btnText=my_orders.emptyOrders.btnTitle
41
+ }}
42
+ </div>
43
+ </div>
44
+ </div>
45
+
46
+ {{/content}}
47
+ {{#content "foot" mode="append"}}
48
+ {{/content}}
49
+ {{/extend}}
@@ -0,0 +1,64 @@
1
+ {{#extend
2
+ "my-account-v2"
3
+ dataBreadcrumbs=my_orders.breadcrumbs
4
+ pageClass="page_my-account_new"
5
+ title="My Orders"
6
+ pageMyAcc=true
7
+ myAccV2=true
8
+ isLoggedIn=true
9
+ mainClass="my-orders"
10
+ }}
11
+ {{#content "head" mode="append"}}
12
+ <link href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css" rel="stylesheet">
13
+ <link href="https://cdn.jsdelivr.net/npm/flatpickr/dist/plugins/monthSelect/style.css" rel="stylesheet">
14
+ <link type="text/css" rel="stylesheet" href="./css/pages/page_my-orders.css">
15
+ {{/content}}
16
+ {{#content "notification"}}
17
+ <div class="globalMessages">
18
+ </div>
19
+ {{/content}}
20
+ {{#content "main"}}
21
+ <div class="container">
22
+ <div class="row">
23
+ <div class="col-12">
24
+ {{> my-account/mobile-nav
25
+ menu=default-store.menu
26
+ active-index=1
27
+ page-name=my_orders.menu.[1].title
28
+ }}
29
+ </div>
30
+ </div>
31
+ </div>
32
+
33
+ <div class="container my-orders__wrap">
34
+ <div class="row">
35
+ <div class="col-12">
36
+ <div class="my-orders__header">
37
+ <h1 class="my-orders__title">My Orders</h1>
38
+ <div class="my-orders__sorts">
39
+ {{> flatpickr-calendar
40
+ textTooltip="Filter by year and month the order was placed"
41
+ }}
42
+ {{> my-account/sort-by }}
43
+ </div>
44
+ {{> my-account/orders-nav
45
+ nav=my_orders.nav
46
+ category=my_orders.nav.[0].title
47
+ }}
48
+ </div>
49
+ {{> my-account/active-orders/list-orders
50
+ title=false
51
+ orders=my_orders.orderList
52
+ isLoadMore=true
53
+ }}
54
+ </div>
55
+ </div>
56
+ </div>
57
+
58
+ {{/content}}
59
+ {{#content "foot" mode="append"}}
60
+ <script src="https://cdn.jsdelivr.net/npm/flatpickr" defer></script>
61
+ <script src="https://cdn.jsdelivr.net/npm/flatpickr/dist/plugins/monthSelect/index.js" defer></script>
62
+ <script src="./js/my-orders.min.js" defer></script>
63
+ {{/content}}
64
+ {{/extend}}