PluginProbe
Orderable – Restaurant & Food Ordering System / 1.19.0
Orderable – Restaurant & Food Ordering System v1.19.0
0.1.4 0.1.5 0.2.0 1.0.0 1.1.0 1.1.1 1.10.0 1.10.1 1.11.0 1.12.0 1.12.1 1.12.2 1.13.0 1.14.0 1.15.0 1.16.0 1.17.0 1.17.1 1.18.0 1.19.0 1.19.1 1.19.2 1.2.0 1.20.0 1.20.1 All 44 releases
orderable / inc / modules / location / source / admin / js / main.js

main.js in Orderable – Restaurant & Food Ordering System 1.19.0, at inc/modules/location/source/admin/js/main.js

283 lines 7.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 ( function ( $ ) {
2 var orderable_multi_location = {
3 on_ready() {
4 $( '.orderable-toggle-field' ).on(
5 'click',
6 orderable_multi_location.handle_toggle_field_on_click
7 );
8
9 $( '.orderable-override-open-hours-toggle-field' ).on(
10 'click',
11 orderable_multi_location.handle_override_open_hours_on_click
12 );
13
14 $( '.orderable-delivery-toggle-field' ).on(
15 'click',
16 orderable_multi_location.handle_enable_service_delivery_on_click
17 );
18 $( '.orderable-pickup-toggle-field' ).on(
19 'click',
20 orderable_multi_location.handle_enable_service_pickup_on_click
21 );
22
23 $( '.orderable-admin-button--pickup' ).on( 'click', function () {
24 if (
25 $(
26 '#orderable_location_service_hours_pickup_same_as_delivery'
27 ).prop( 'checked' )
28 ) {
29 $( '.orderable-element--pickup' ).addClass(
30 'orderable-element--disabled'
31 );
32 } else {
33 $( '.orderable-element--pickup' ).removeClass(
34 'orderable-element--disabled'
35 );
36 }
37 } );
38
39 const datepicker_args = $( '.datepicker' ).data( 'datepicker' );
40 $( '.datepicker' ).datepicker( datepicker_args );
41
42 $( document.body ).on(
43 'orderable-new-row',
44 orderable_multi_location.on_new_holiday_row
45 );
46 },
47
48 handle_toggle_field_on_click() {
49 $( this ).toggleClass( [
50 'woocommerce-input-toggle--disabled',
51 'woocommerce-input-toggle--enabled',
52 ] );
53
54 const value = $( this ).hasClass(
55 'woocommerce-input-toggle--enabled'
56 );
57
58 $( this )
59 .siblings( '.orderable-toggle-field__input' )
60 .val( value ? 'yes' : 'no' );
61 },
62
63 handle_override_open_hours_on_click() {
64 $( this )
65 .siblings( '.orderable-open-hours-settings' )
66 .toggleClass( 'orderable-store-open-hours--hide' );
67 $( '.orderable-store-open-hours__open-hours' ).toggleClass(
68 'orderable-store-open-hours--hide'
69 );
70 },
71
72 handle_enable_service_delivery_on_click() {
73 const delivery_is_enabled = $( this ).hasClass(
74 'woocommerce-input-toggle--enabled'
75 );
76 pickup_is_enabled =
77 $( '[name=orderable_location_store_services_pickup]' ).val() ===
78 'yes';
79
80 if ( delivery_is_enabled ) {
81 $( '.orderable-admin-button--delivery' ).removeClass(
82 'orderable-ui-hide'
83 );
84 $( '.orderable-notice--select-service' ).addClass(
85 'orderable-ui-hide'
86 );
87 } else {
88 $( '.orderable-admin-button--delivery' )
89 .addClass( 'orderable-ui-hide' )
90 .removeClass( 'orderable-trigger-element--active' );
91 }
92
93 if ( pickup_is_enabled && delivery_is_enabled ) {
94 $(
95 '#orderable_location_service_hours_pickup_same_as_delivery_label'
96 ).removeClass( 'orderable-ui-hide' );
97
98 const has_pickup_days_selected = $(
99 '.orderable-toggle-wrapper--pickup'
100 )
101 .find( '.orderable-select--days' )
102 .first()
103 .val().length;
104
105 if ( ! has_pickup_days_selected ) {
106 $(
107 '#orderable_location_service_hours_pickup_same_as_delivery'
108 )
109 .prop( 'checked', true )
110 .change();
111 }
112
113 return;
114 }
115
116 if ( delivery_is_enabled && ! pickup_is_enabled ) {
117 $(
118 '#orderable_location_service_hours_pickup_same_as_delivery_label'
119 ).removeClass( 'orderable-ui-hide' );
120 $( '.orderable-admin-button--delivery' ).addClass(
121 'orderable-trigger-element--active'
122 );
123 $( '.orderable-toggle-wrapper--delivery' ).addClass(
124 'orderable-toggle-wrapper--active'
125 );
126
127 return;
128 }
129
130 if ( ! delivery_is_enabled && ! pickup_is_enabled ) {
131 $( '.orderable-notice--select-service' ).removeClass(
132 'orderable-ui-hide'
133 );
134 $( '.orderable-toggle-wrapper--delivery' ).removeClass(
135 'orderable-toggle-wrapper--active'
136 );
137
138 return;
139 }
140
141 if ( ! delivery_is_enabled && pickup_is_enabled ) {
142 $( '#orderable_location_service_hours_pickup_same_as_delivery' )
143 .prop( 'checked', false )
144 .change();
145
146 $(
147 '#orderable_location_service_hours_pickup_same_as_delivery_label'
148 ).addClass( 'orderable-ui-hide' );
149 $( '.orderable-table--service-hours-pickup' ).removeClass(
150 'orderable-element--disabled'
151 );
152
153 $( '.orderable-admin-button--pickup' ).addClass(
154 'orderable-trigger-element--active'
155 );
156 $( '.orderable-toggle-wrapper--pickup' )
157 .addClass( 'orderable-toggle-wrapper--active' )
158 .removeClass( 'orderable-element--disabled' );
159
160 $( '.orderable-admin-button--delivery' ).removeClass(
161 'orderable-trigger-element--active'
162 );
163 $( '.orderable-toggle-wrapper--delivery' ).removeClass(
164 'orderable-toggle-wrapper--active'
165 );
166 }
167 },
168
169 handle_enable_service_pickup_on_click() {
170 const pickup_is_enabled = $( this ).hasClass(
171 'woocommerce-input-toggle--enabled'
172 ),
173 delivery_is_enabled =
174 $(
175 '[name=orderable_location_store_services_delivery]'
176 ).val() === 'yes';
177
178 if ( pickup_is_enabled ) {
179 $( '.orderable-admin-button--pickup' ).removeClass(
180 'orderable-ui-hide'
181 );
182 $( '.orderable-table--service-hours-pickup' ).removeClass(
183 'orderable-element--disabled'
184 );
185 $( '.orderable-notice--select-service' ).addClass(
186 'orderable-ui-hide'
187 );
188 } else {
189 $( '.orderable-admin-button--pickup' )
190 .addClass( 'orderable-ui-hide' )
191 .removeClass( 'orderable-trigger-element--active' );
192 }
193
194 if ( pickup_is_enabled && delivery_is_enabled ) {
195 $(
196 '#orderable_location_service_hours_pickup_same_as_delivery_label'
197 ).removeClass( 'orderable-ui-hide' );
198
199 $( '#orderable_location_service_hours_pickup_same_as_delivery' )
200 .prop( 'checked', true )
201 .change();
202
203 return;
204 }
205
206 if ( pickup_is_enabled && ! delivery_is_enabled ) {
207 $( '#orderable_location_service_hours_pickup_same_as_delivery' )
208 .prop( 'checked', false )
209 .change();
210
211 $(
212 '#orderable_location_service_hours_pickup_same_as_delivery_label'
213 ).addClass( 'orderable-ui-hide' );
214 $( '.orderable-admin-button--pickup' ).addClass(
215 'orderable-trigger-element--active'
216 );
217
218 $( '.orderable-toggle-wrapper--pickup' )
219 .addClass( 'orderable-toggle-wrapper--active' )
220 .removeClass( 'orderable-element--disabled' );
221
222 $( '.orderable-element--pickup' ).removeClass(
223 'orderable-element--disabled'
224 );
225
226 return;
227 }
228
229 if ( ! pickup_is_enabled && delivery_is_enabled ) {
230 $( '#orderable_location_service_hours_pickup_same_as_delivery' )
231 .prop( 'checked', true )
232 .change();
233
234 $(
235 '#orderable_location_service_hours_pickup_same_as_delivery_label'
236 ).addClass( 'orderable-ui-hide' );
237 $( '.orderable-table--service-hours-delivery' ).removeClass(
238 'orderable-element--disabled'
239 );
240
241 $( '.orderable-admin-button--delivery' ).addClass(
242 'orderable-trigger-element--active'
243 );
244 $( '.orderable-toggle-wrapper--delivery' )
245 .addClass( 'orderable-toggle-wrapper--active' )
246 .removeClass( 'orderable-element--disabled' );
247
248 $( '.orderable-admin-button--pickup' ).removeClass(
249 'orderable-trigger-element--active'
250 );
251 $( '.orderable-toggle-wrapper--pickup' ).removeClass(
252 'orderable-toggle-wrapper--active'
253 );
254
255 return;
256 }
257
258 if ( ! delivery_is_enabled && ! pickup_is_enabled ) {
259 $( '.orderable-notice--select-service' ).removeClass(
260 'orderable-ui-hide'
261 );
262 $( '.orderable-toggle-wrapper--pickup' ).removeClass(
263 'orderable-toggle-wrapper--active'
264 );
265 }
266 },
267
268 on_new_holiday_row() {
269 const $row = $( '.orderable-table--holidays' ).find(
270 '.orderable-table__row--repeatable:last-child'
271 );
272
273 $row.find( '.datepicker' ).each( function () {
274 const args = $( this ).data( 'datepicker' );
275
276 $( this ).datepicker( args );
277 } );
278 },
279 };
280
281 $( document ).ready( orderable_multi_location.on_ready );
282 } )( jQuery );
283