wickes-css2 2.105.0-develop.2 → 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.
Files changed (168) hide show
  1. package/Readme.md +3 -2
  2. package/build/css/category-main.css +1 -1
  3. package/build/css/homepage-main.css +1 -1
  4. package/build/css/kitchen-plp-main.css +1 -1
  5. package/build/css/main.css +1 -1
  6. package/build/css/my-account-main-v2.css +1 -1
  7. package/build/css/my-account-main.css +1 -1
  8. package/build/css/pages/page_product_search.css +1 -1
  9. package/build/css/pages/page_products-list-combined.css +1 -1
  10. package/build/css/pages/page_products-list.css +1 -1
  11. package/build/css/pdp-main-before-combine.css +1 -1
  12. package/build/css/pdp-main-non-critical.css +1 -1
  13. package/build/css/pdp-main.css +1 -1
  14. package/build/css/plp-main.css +1 -1
  15. package/build/css/store-locator-main.css +1 -1
  16. package/build/js/account-members.min.js +1 -1
  17. package/build/js/basket.min.js +2 -2
  18. package/build/js/bundle.min.js +1 -1
  19. package/build/js/checkout.min.js +2 -2
  20. package/build/js/emulation.min.js +12122 -11594
  21. package/build/js/general.bundle.min.js +1 -1
  22. package/build/js/kitchen/kitchen-plp.min.js +1 -9
  23. package/build/js/merged-checkout.min.js +2 -2
  24. package/build/js/mini-basket-slider.min.js +1 -1
  25. package/build/js/page/basket/basket-update-cart-action.js +59 -56
  26. package/build/js/page/basket/basket-update-cart.js +27 -27
  27. package/build/js/page/basket/basket-utils.js +40 -33
  28. package/build/js/page/basket/mini-basket-total.js +70 -66
  29. package/build/js/page/basket/quantity-change-handler.js +73 -55
  30. package/build/js/page/basket/update-quantity-operation.js +39 -30
  31. package/build/js/page/basket/update-quantity.js +62 -62
  32. package/build/js/page/basket-v2.js +362 -229
  33. package/build/js/page/billie-business-type.js +27 -27
  34. package/build/js/page/checkout-payment-details.js +301 -299
  35. package/build/js/page/components/discounts.js +39 -36
  36. package/build/js/page/components/mini-basket-slider.js +604 -545
  37. package/build/js/page/filters/desktop-nav.js +64 -0
  38. package/build/js/page/filters/mobile-nav.js +93 -0
  39. package/build/js/page/filters/plp-filters-chips.js +92 -0
  40. package/build/js/page/filters/plp-filters-mobile.js +150 -0
  41. package/build/js/page/filters/plp-filters-panel.js +123 -0
  42. package/build/js/page/filters/plp-filters-utils.js +66 -0
  43. package/build/js/page/filters/plp-filters.js +256 -0
  44. package/build/js/page/filters/sort-by.js +172 -0
  45. package/build/js/page/klarna-modal-scroll-disable.js +4 -4
  46. package/build/js/page/online-exclusive.js +28 -30
  47. package/build/js/page/search-filter.js +62 -0
  48. package/build/js/page/utils/helpers.js +14 -9
  49. package/build/js/page/utils/show-more-less.js +273 -0
  50. package/build/js/pdp.bundle.min.js +1 -1
  51. package/build/js/plp-filters.min.js +9 -0
  52. package/build/js/plp.bundle.min.js +1 -1
  53. package/build/js/project-list.min.js +1 -1
  54. package/build/js/search-filter.min.js +1 -0
  55. package/package.json +5 -3
  56. package/src/components/accordion.hbs +2 -2
  57. package/src/components/generate-project-id.hbs +1 -1
  58. package/src/components/kitchen/dropdown.hbs +6 -3
  59. package/src/components/kitchen/filter-modal-content-kitchen.hbs +10 -0
  60. package/src/components/kitchen/filter-modal.hbs +10 -13
  61. package/src/components/kitchen/plp-filters.hbs +3 -1
  62. package/src/components/kitchen/sort-by.hbs +1 -1
  63. package/src/components/search-filter-modal-content.hbs +102 -0
  64. package/src/components/search-filter.hbs +121 -112
  65. package/src/components/shopping-list-with-share-list-v2.hbs +28 -10
  66. package/src/components/shopping-list.hbs +5 -5
  67. package/src/data/data_plp_load-more.json +1 -1
  68. package/src/elements/btn.hbs +7 -0
  69. package/src/js/components/general/accordion.js +38 -29
  70. package/src/js/components/general/cart-slider.js +19 -16
  71. package/src/js/components/general/create-popup-slider.js +168 -173
  72. package/src/js/emulation/big-wins.js +1081 -904
  73. package/src/js/emulation/billie-modal.js +23 -19
  74. package/src/js/emulation/checkout-payment-details.js +47 -38
  75. package/src/js/emulation/custom-slider-emulation.js +17 -13
  76. package/src/js/emulation/filters-emulation.js +164 -0
  77. package/src/js/emulation/forms.js +360 -323
  78. package/src/js/emulation/mini-basket-data.js +1051 -923
  79. package/src/js/emulation/paymentLoader.js +17 -17
  80. package/src/js/emulation/pdf-file-loader.js +89 -91
  81. package/src/js/emulation/popover-mini-basket.js +246 -239
  82. package/src/js/emulation/product-counter.js +50 -0
  83. package/src/js/emulation/project-list-pdp.js +321 -316
  84. package/src/js/emulation/repayment-toggle.js +23 -24
  85. package/src/js/emulation/reset-filter-desktop.js +5 -0
  86. package/src/js/emulation/selectable.js +22 -18
  87. package/src/js/emulation/wismo-details.js +23 -31
  88. package/src/js/page/basket/basket-update-cart-action.js +59 -56
  89. package/src/js/page/basket/basket-update-cart.js +27 -27
  90. package/src/js/page/basket/basket-utils.js +40 -33
  91. package/src/js/page/basket/mini-basket-total.js +70 -66
  92. package/src/js/page/basket/quantity-change-handler.js +73 -55
  93. package/src/js/page/basket/update-quantity-operation.js +39 -30
  94. package/src/js/page/basket/update-quantity.js +62 -62
  95. package/src/js/page/basket-v2.js +362 -229
  96. package/src/js/page/billie-business-type.js +27 -27
  97. package/src/js/page/checkout-payment-details.js +301 -299
  98. package/src/js/page/components/discounts.js +39 -36
  99. package/src/js/page/components/mini-basket-slider.js +604 -545
  100. package/src/js/page/filters/desktop-nav.js +64 -0
  101. package/src/js/page/filters/mobile-nav.js +93 -0
  102. package/src/js/page/filters/plp-filters-chips.js +92 -0
  103. package/src/js/page/filters/plp-filters-mobile.js +150 -0
  104. package/src/js/page/filters/plp-filters-panel.js +123 -0
  105. package/src/js/page/filters/plp-filters-utils.js +66 -0
  106. package/src/js/page/filters/plp-filters.js +256 -0
  107. package/src/js/page/filters/sort-by.js +172 -0
  108. package/src/js/page/klarna-modal-scroll-disable.js +4 -4
  109. package/src/js/page/online-exclusive.js +28 -30
  110. package/src/js/page/search-filter.js +62 -0
  111. package/src/js/page/utils/helpers.js +14 -9
  112. package/src/js/page/utils/show-more-less.js +273 -0
  113. package/src/page_empty-shared-project-list-bicester-hub.html +3 -0
  114. package/src/page_kitchen-plp.html +2 -2
  115. package/src/page_my-shopping-list-hide-download.html +1 -1
  116. package/src/page_plp-with-paint.html +2 -7
  117. package/src/page_plp.html +2 -7
  118. package/src/page_plp_v2-energy-efficiency.html +1 -6
  119. package/src/page_plp_v2-favourite-products.html +6 -7
  120. package/src/page_plp_v2-vat.html +2 -7
  121. package/src/page_plp_v2.html +22 -9
  122. package/src/page_product_search-vat.html +2 -7
  123. package/src/page_product_search.html +2 -7
  124. package/src/page_project-list-with-new-share-popup-android.html +15 -0
  125. package/src/page_project-list-with-new-share-popup-ios.html +15 -0
  126. package/src/page_project-list-with-new-share-popup.html +1 -0
  127. package/src/page_search-results.html +2 -7
  128. package/src/page_shared-project-list-bicester-hub.html +1 -0
  129. package/src/scss/common/_common.scss +5 -4
  130. package/src/scss/components/_accordion.scss +1 -3
  131. package/src/scss/components/_custom-slider.scss +15 -14
  132. package/src/scss/components/_date-selection-add-new-styles.scss +6 -7
  133. package/src/scss/components/_date-selection.scss +1 -1
  134. package/src/scss/components/{kitchen/_filter-modal.scss → _filter-modal.scss} +55 -4
  135. package/src/scss/components/{kitchen/_plp-filters.scss → _plp-filters.scss} +31 -13
  136. package/src/scss/components/_popover-mini-basket.scss +3 -3
  137. package/src/scss/components/_search-filter.scss +95 -15
  138. package/src/scss/components/_shared-shopping-list.scss +22 -0
  139. package/src/scss/components/_shopping-list.scss +18 -8
  140. package/src/scss/components/_sort-by.scss +190 -0
  141. package/src/scss/components/checkout-chip.scss +2 -2
  142. package/src/scss/components/checkout-payment-repayment-terms.scss +1 -1
  143. package/src/scss/globals/_global-components.scss +3 -0
  144. package/src/scss/helpers/_colors-semantic.scss +68 -68
  145. package/src/scss/helpers/_variables.scss +242 -196
  146. package/src/scss/kitchen-plp-main.scss +0 -3
  147. package/src/scss/main.scss +65 -65
  148. package/src/scss/pages/page_product-details-v2.scss +1 -4
  149. package/src/scss/pages/page_product_search.scss +9 -1
  150. package/src/scss/pages/page_products-list-combined.scss +28 -24
  151. package/src/scss/pages/page_products-list.scss +8 -0
  152. package/src/scss/pages/tradePro-rewards.scss +2 -3
  153. package/src/sitemap.html +9 -1
  154. package/build/js/page/accordion.js +0 -35
  155. package/build/js/page/kitchen/plp-filters-chips.js +0 -90
  156. package/build/js/page/kitchen/plp-filters-mobile.js +0 -72
  157. package/build/js/page/kitchen/plp-filters-panel.js +0 -119
  158. package/build/js/page/kitchen/plp-filters-utils.js +0 -65
  159. package/build/js/page/kitchen/plp-filters.js +0 -205
  160. package/build/js/page/kitchen/sort-by.js +0 -157
  161. package/src/js/components/general/search-filter.js +0 -21
  162. package/src/js/page/accordion.js +0 -35
  163. package/src/js/page/kitchen/plp-filters-chips.js +0 -90
  164. package/src/js/page/kitchen/plp-filters-mobile.js +0 -72
  165. package/src/js/page/kitchen/plp-filters-panel.js +0 -119
  166. package/src/js/page/kitchen/plp-filters-utils.js +0 -65
  167. package/src/js/page/kitchen/plp-filters.js +0 -205
  168. package/src/js/page/kitchen/sort-by.js +0 -157
@@ -1,248 +1,255 @@
1
- var Wick = Wick || {};
2
- Wick.MiniBasket = (function() {
3
- var $el = $('.header-minicart-wrap .header-minicart__switcher');
4
-
5
- if (Wick.Responsive.getCurrentBreakpoint() === 'up-lg') {
6
- $el = $('.header-right__item .header-minicart__switcher');
7
- }
8
-
9
- var $rollover = $('#mini-basket-rollover'),
10
- $popup = $('#mini-basket-popup'),
11
- $body = $('body'),
12
- fixContent = 'fixed-content',
13
- $switcherBtn = $('.header-minicart__btn_switcher'),
14
- $linkBtn = $('.header-minicart__btn_link');
15
-
16
- if (!$el.length) {
17
- return;
18
- }
19
- //fix for iOS 13
20
- if (Wick.Responsive.isTouchDevice()) {
21
- $linkBtn.on('touchstart', function () {
22
- document.location.href = $linkBtn[0].href;
23
- });
24
- }
25
-
26
- var showMiniBasketLink = function () {
27
- $switcherBtn.hide();
28
- $linkBtn.show();
29
- $body.addClass(fixContent);
30
- };
31
-
32
- var hideMiniBasketLink = function () {
33
- $switcherBtn.show();
34
- $linkBtn.hide();
35
- $body.removeClass(fixContent);
36
- };
37
-
38
- var removeSwitcherButton = function () {
39
- $switcherBtn.remove();
40
- $linkBtn.show();
41
- $body.removeClass(fixContent);
42
- };
43
-
44
- var rollover = {
45
- isExist: false,
46
- isDisabled: false,
47
- self: '.popover-mini-basket_permanent',
48
- productTitle: '.popover-mini-basket_permanent .product-card__title',
49
- create: function(){
50
- popup.destory();
51
-
52
- var $popover = $el.popover({
53
- trigger: 'manual',
54
- html: true,
55
- placement: 'bottom',
56
- fallbackPlacement: 'clockwise',
57
- offset: '-65%',
58
- content: $rollover.html()
59
- });
60
-
61
- $popover.on('inserted.bs.popover', function(){
62
- $(rollover.productTitle).each(function (index, value) {
63
- $clamp(value, {clamp: 3});
64
- });
65
- });
1
+ var Wick = (window.Wick = window.Wick || {});
66
2
 
67
- if (Wick.Responsive.isTouchDevice()) {
68
- $popover.on('hidden.bs.popover', hideMiniBasketLink).on('shown.bs.popover', showMiniBasketLink);
69
- }
70
-
71
- rollover.isExist = true;
72
- },
73
- _bindTouchEvents: function(){
74
- if (!Wick.Responsive.isTouchDevice()){
75
- return;
76
- }
77
-
78
- $el
79
- .on('touchstart', function(){
80
- if (rollover.isDisabled){
81
- empty.show();
82
- return;
83
- }
84
-
85
- if (!rollover.isExist){
86
- rollover.create();
87
- }
88
- $el.popover('show');
89
- });
90
-
91
- $(document).off("touchstart.leaveBasket").on("touchstart.leaveBasket", function (e) {
92
- if (!$('.popover').hasClass('show')
93
- || $(e.target).parents(rollover.self).length
94
- || $(e.target).closest('.header-minicart__btn').length) {
95
- return;
96
- };
97
-
98
- $el.popover('hide');
99
- $el.tooltip('hide');
100
- });
101
- },
102
- _bindEvents: function(){
103
- if (Wick.Responsive.isTouchDevice()){
104
- return;
105
- }
106
-
107
- $el
108
- .on('mouseenter', function() {
109
- if (rollover.isDisabled){
110
- return;
111
- }
112
-
113
- if (!rollover.isExist){
114
- rollover.create();
115
- }
116
-
117
- $el.popover('show');
118
- })
119
- .on('mouseleave', function() {
120
- setTimeout(function() {
121
- if (!$('.popover:hover').length) {
122
- $el.popover('hide');
123
- }
124
- }, 100);
125
- });
126
-
127
- $(document).on('mouseleave', rollover.self, function(){
128
- $el.popover('hide');
129
- });
130
- },
131
- bindEvents: function(){
132
- // this._bindEvents();
133
- // this._bindTouchEvents();
134
- },
135
- enable: function(){
136
- rollover.isDisabled = false;
137
- },
138
- disable: function(){
139
- rollover.isDisabled = true;
140
- },
141
- destory: function(){
142
- if (!rollover.isExist){
143
- return;
144
- }
3
+ Wick.MiniBasket = (function () {
4
+ var $el = $('.header-minicart-wrap .header-minicart__switcher');
145
5
 
146
- $el.popover('dispose');
147
- rollover.isExist = false;
6
+ if (Wick.Responsive.getCurrentBreakpoint() === 'up-lg') {
7
+ $el = $('.header-right__item .header-minicart__switcher');
148
8
  }
149
- };
150
-
151
- var popup = {
152
- isExist: false,
153
- timeout: undefined,
154
- productTitle: '.popover-mini-basket_just-added .product-card__title',
155
- btnClose: '.popover-mini-basket_just-added .notification__close',
156
- create: function(){
157
- var $justAddedPopover = $el
158
- .popover({
159
- trigger: 'manual',
160
- html: true,
161
- placement: 'bottom',
162
- fallbackPlacement: 'clockwise',
163
- offset: '-65%',
164
- content: $popup.html()
165
- })
166
- .popover('show');
167
-
168
- if (Wick.Responsive.isTouchDevice()) {
169
- $justAddedPopover.on('shown.bs.popover', hideMiniBasketLink);
170
- }
171
-
172
- popup.timeout = setTimeout(function() {
173
- popup.destory();
174
- }, 6000);
175
-
176
- $(popup.productTitle).each(function (index, value) {
177
- $clamp(value, {clamp: 3});
178
- });
179
-
180
- $('html, body').animate({ scrollTop: 0 }, 300);
181
-
182
- popup.isExist = true;
183
- },
184
- bindEvents: function(){
185
- $(document).on('click', popup.btnClose, function(){
186
- popup.destory();
187
- });
188
- },
189
- destory: function(){
190
- if (!popup.isExist){
9
+
10
+ var $rollover = $('#mini-basket-rollover'),
11
+ $popup = $('#mini-basket-popup'),
12
+ $body = $('body'),
13
+ fixContent = 'fixed-content',
14
+ $switcherBtn = $('.header-minicart__btn_switcher'),
15
+ $linkBtn = $('.header-minicart__btn_link');
16
+
17
+ if (!$el.length) {
191
18
  return;
192
- }
19
+ }
20
+ //fix for iOS 13
21
+ if (Wick.Responsive.isTouchDevice()) {
22
+ $linkBtn.on('touchstart', function () {
23
+ document.location.href = $linkBtn[0].href;
24
+ });
25
+ }
193
26
 
194
- $el.popover('dispose');
195
- popup.isExist = false;
196
- clearTimeout(popup.timeout);
27
+ var showMiniBasketLink = function () {
28
+ $switcherBtn.hide();
29
+ $linkBtn.show();
30
+ $body.addClass(fixContent);
31
+ };
32
+
33
+ var hideMiniBasketLink = function () {
34
+ $switcherBtn.show();
35
+ $linkBtn.hide();
36
+ $body.removeClass(fixContent);
37
+ };
38
+
39
+ var removeSwitcherButton = function () {
40
+ $switcherBtn.remove();
41
+ $linkBtn.show();
42
+ $body.removeClass(fixContent);
43
+ };
44
+
45
+ var rollover = {
46
+ isExist: false,
47
+ isDisabled: false,
48
+ self: '.popover-mini-basket_permanent',
49
+ productTitle: '.popover-mini-basket_permanent .product-card__title',
50
+ create: function () {
51
+ popup.destory();
52
+
53
+ var $popover = $el.popover({
54
+ trigger: 'manual',
55
+ html: true,
56
+ placement: 'bottom',
57
+ fallbackPlacement: 'clockwise',
58
+ offset: '-65%',
59
+ content: $rollover.html(),
60
+ });
61
+
62
+ $popover.on('inserted.bs.popover', function () {
63
+ $(rollover.productTitle).each(function (index, value) {
64
+ $clamp(value, { clamp: 3 });
65
+ });
66
+ });
67
+
68
+ if (Wick.Responsive.isTouchDevice()) {
69
+ $popover
70
+ .on('hidden.bs.popover', hideMiniBasketLink)
71
+ .on('shown.bs.popover', showMiniBasketLink);
72
+ }
73
+
74
+ rollover.isExist = true;
75
+ },
76
+ _bindTouchEvents: function () {
77
+ if (!Wick.Responsive.isTouchDevice()) {
78
+ return;
79
+ }
80
+
81
+ $el.on('touchstart', function () {
82
+ if (rollover.isDisabled) {
83
+ empty.show();
84
+ return;
85
+ }
86
+
87
+ if (!rollover.isExist) {
88
+ rollover.create();
89
+ }
90
+ $el.popover('show');
91
+ });
92
+
93
+ $(document)
94
+ .off('touchstart.leaveBasket')
95
+ .on('touchstart.leaveBasket', function (e) {
96
+ if (
97
+ !$('.popover').hasClass('show') ||
98
+ $(e.target).parents(rollover.self).length ||
99
+ $(e.target).closest('.header-minicart__btn').length
100
+ ) {
101
+ return;
102
+ }
103
+
104
+ $el.popover('hide');
105
+ $el.tooltip('hide');
106
+ });
107
+ },
108
+ _bindEvents: function () {
109
+ if (Wick.Responsive.isTouchDevice()) {
110
+ return;
111
+ }
112
+
113
+ $el.on('mouseenter', function () {
114
+ if (rollover.isDisabled) {
115
+ return;
116
+ }
117
+
118
+ if (!rollover.isExist) {
119
+ rollover.create();
120
+ }
121
+
122
+ $el.popover('show');
123
+ }).on('mouseleave', function () {
124
+ setTimeout(function () {
125
+ if (!$('.popover:hover').length) {
126
+ $el.popover('hide');
127
+ }
128
+ }, 100);
129
+ });
130
+
131
+ $(document).on('mouseleave', rollover.self, function () {
132
+ $el.popover('hide');
133
+ });
134
+ },
135
+ bindEvents: function () {
136
+ // this._bindEvents();
137
+ // this._bindTouchEvents();
138
+ },
139
+ enable: function () {
140
+ rollover.isDisabled = false;
141
+ },
142
+ disable: function () {
143
+ rollover.isDisabled = true;
144
+ },
145
+ destory: function () {
146
+ if (!rollover.isExist) {
147
+ return;
148
+ }
149
+
150
+ $el.popover('dispose');
151
+ rollover.isExist = false;
152
+ },
153
+ };
154
+
155
+ var popup = {
156
+ isExist: false,
157
+ timeout: undefined,
158
+ productTitle: '.popover-mini-basket_just-added .product-card__title',
159
+ btnClose: '.popover-mini-basket_just-added .notification__close',
160
+ create: function () {
161
+ var $justAddedPopover = $el
162
+ .popover({
163
+ trigger: 'manual',
164
+ html: true,
165
+ placement: 'bottom',
166
+ fallbackPlacement: 'clockwise',
167
+ offset: '-65%',
168
+ content: $popup.html(),
169
+ })
170
+ .popover('show');
171
+
172
+ if (Wick.Responsive.isTouchDevice()) {
173
+ $justAddedPopover.on('shown.bs.popover', hideMiniBasketLink);
174
+ }
175
+
176
+ popup.timeout = setTimeout(function () {
177
+ popup.destory();
178
+ }, 6000);
179
+
180
+ $(popup.productTitle).each(function (index, value) {
181
+ $clamp(value, { clamp: 3 });
182
+ });
183
+
184
+ $('html, body').animate({ scrollTop: 0 }, 300);
185
+
186
+ popup.isExist = true;
187
+ },
188
+ bindEvents: function () {
189
+ $(document).on('click', popup.btnClose, function () {
190
+ popup.destory();
191
+ });
192
+ },
193
+ destory: function () {
194
+ if (!popup.isExist) {
195
+ return;
196
+ }
197
+
198
+ $el.popover('dispose');
199
+ popup.isExist = false;
200
+ clearTimeout(popup.timeout);
201
+ },
202
+ };
203
+
204
+ var empty = {
205
+ create: function () {
206
+ var $tooltip = $el.tooltip({
207
+ title: 'Your basket is currently empty',
208
+ placement: 'bottom',
209
+ offset: '-15%',
210
+ template:
211
+ '<div class="tooltip popover-mini-basket__tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',
212
+ });
213
+
214
+ if (Wick.Responsive.isTouchDevice()) {
215
+ $tooltip
216
+ .on('hidden.bs.tooltip', hideMiniBasketLink)
217
+ .on('shown.bs.tooltip', showMiniBasketLink);
218
+ }
219
+ },
220
+ show: function () {
221
+ $el.tooltip('show');
222
+ },
223
+ destroy: function () {
224
+ $el.tooltip('dispose');
225
+ },
226
+ };
227
+
228
+ if (!Wick.Responsive.isTouchDevice()) {
229
+ removeSwitcherButton();
197
230
  }
198
- };
199
-
200
- var empty = {
201
- create: function(){
202
- var $tooltip = $el.tooltip({
203
- title: 'Your basket is currently empty',
204
- placement: 'bottom',
205
- offset: '-15%',
206
- template: '<div class="tooltip popover-mini-basket__tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>'
207
- });
208
-
209
- if (Wick.Responsive.isTouchDevice()) {
210
- $tooltip.on('hidden.bs.tooltip', hideMiniBasketLink).on('shown.bs.tooltip', showMiniBasketLink);
211
- }
212
- },
213
- show: function(){
214
- $el.tooltip('show');
215
- },
216
- destroy: function(){
217
- $el.tooltip('dispose');
231
+
232
+ if ($rollover.length) {
233
+ rollover.bindEvents();
234
+ rollover.create();
235
+ } else {
236
+ empty.create();
218
237
  }
219
- };
220
-
221
- if (!Wick.Responsive.isTouchDevice()) {
222
- removeSwitcherButton();
223
- }
224
-
225
- if ($rollover.length){
226
- rollover.bindEvents();
227
- rollover.create();
228
- } else {
229
- empty.create();
230
- }
231
-
232
- if ($popup.length){
233
- popup.bindEvents();
234
- }
235
-
236
- return {
237
- showJustAdded: function(){
238
- rollover.destory();
239
- rollover.enable();
240
- popup.create();
241
- empty.destroy();
242
- },
243
- disableRollover: function(){
244
- rollover.disable();
245
- empty.create();
238
+
239
+ if ($popup.length) {
240
+ popup.bindEvents();
246
241
  }
247
- };
242
+
243
+ return {
244
+ showJustAdded: function () {
245
+ rollover.destory();
246
+ rollover.enable();
247
+ popup.create();
248
+ empty.destroy();
249
+ },
250
+ disableRollover: function () {
251
+ rollover.disable();
252
+ empty.create();
253
+ },
254
+ };
248
255
  })();
@@ -0,0 +1,50 @@
1
+ var Wick = Wick || {};
2
+
3
+ Wick.ProductCounter = (function () {
4
+ let _count = 0;
5
+
6
+ function triggerChange() {
7
+ $(document).trigger('productCounter:change', [_count]);
8
+ }
9
+
10
+ function setCount(val) {
11
+ const next = Number(val) || 0;
12
+ if (_count === next) return;
13
+
14
+ _count = next;
15
+ triggerChange();
16
+ }
17
+
18
+ function recalcFromFilters() {
19
+ const checked = $('.filter-results input[type="checkbox"]:checked').length;
20
+
21
+ if (checked === 0) setCount(0);
22
+ else if (checked === 1) setCount(1);
23
+ else setCount(1838);
24
+ }
25
+
26
+ function bind() {
27
+ $(document).on('change', '.filter-results input[type="checkbox"]', recalcFromFilters);
28
+
29
+ recalcFromFilters();
30
+ }
31
+
32
+ return {
33
+ get count() {
34
+ return _count;
35
+ },
36
+ set count(val) {
37
+ setCount(val);
38
+ },
39
+ recalc: recalcFromFilters,
40
+ bind: bind,
41
+ };
42
+ })();
43
+
44
+ $(document).ready(function () {
45
+ if (Wick.ProjectListMultiple && typeof Wick.ProjectListMultiple.bindAll === 'function') {
46
+ Wick.ProjectListMultiple.bindAll();
47
+ }
48
+
49
+ Wick.ProductCounter.bind();
50
+ });