File "main.js"
Full Path: /home/romayxjt/public_html/wp-content/plugins/orderable/inc/modules/location/source/admin/js/main.js
File size: 7.55 KB
MIME-type: text/plain
Charset: utf-8
( function ( $ ) {
var orderable_multi_location = {
on_ready() {
$( '.orderable-toggle-field' ).on(
'click',
orderable_multi_location.handle_toggle_field_on_click
);
$( '.orderable-override-open-hours-toggle-field' ).on(
'click',
orderable_multi_location.handle_override_open_hours_on_click
);
$( '.orderable-delivery-toggle-field' ).on(
'click',
orderable_multi_location.handle_enable_service_delivery_on_click
);
$( '.orderable-pickup-toggle-field' ).on(
'click',
orderable_multi_location.handle_enable_service_pickup_on_click
);
$( '.orderable-admin-button--pickup' ).on( 'click', function () {
if (
$(
'#orderable_location_service_hours_pickup_same_as_delivery'
).prop( 'checked' )
) {
$( '.orderable-element--pickup' ).addClass(
'orderable-element--disabled'
);
} else {
$( '.orderable-element--pickup' ).removeClass(
'orderable-element--disabled'
);
}
} );
const datepicker_args = $( '.datepicker' ).data( 'datepicker' );
$( '.datepicker' ).datepicker( datepicker_args );
$( document.body ).on(
'orderable-new-row',
orderable_multi_location.on_new_holiday_row
);
},
handle_toggle_field_on_click() {
$( this ).toggleClass( [
'woocommerce-input-toggle--disabled',
'woocommerce-input-toggle--enabled',
] );
const value = $( this ).hasClass(
'woocommerce-input-toggle--enabled'
);
$( this )
.siblings( '.orderable-toggle-field__input' )
.val( value ? 'yes' : 'no' );
},
handle_override_open_hours_on_click() {
$( this )
.siblings( '.orderable-open-hours-settings' )
.toggleClass( 'orderable-store-open-hours--hide' );
$( '.orderable-store-open-hours__open-hours' ).toggleClass(
'orderable-store-open-hours--hide'
);
},
handle_enable_service_delivery_on_click() {
const delivery_is_enabled = $( this ).hasClass(
'woocommerce-input-toggle--enabled'
);
pickup_is_enabled =
$( '[name=orderable_location_store_services_pickup]' ).val() ===
'yes';
if ( delivery_is_enabled ) {
$( '.orderable-admin-button--delivery' ).removeClass(
'orderable-ui-hide'
);
$( '.orderable-notice--select-service' ).addClass(
'orderable-ui-hide'
);
} else {
$( '.orderable-admin-button--delivery' )
.addClass( 'orderable-ui-hide' )
.removeClass( 'orderable-trigger-element--active' );
}
if ( pickup_is_enabled && delivery_is_enabled ) {
$(
'#orderable_location_service_hours_pickup_same_as_delivery_label'
).removeClass( 'orderable-ui-hide' );
const has_pickup_days_selected = $(
'.orderable-toggle-wrapper--pickup'
)
.find( '.orderable-select--days' )
.first()
.val().length;
if ( ! has_pickup_days_selected ) {
$(
'#orderable_location_service_hours_pickup_same_as_delivery'
)
.prop( 'checked', true )
.change();
}
return;
}
if ( delivery_is_enabled && ! pickup_is_enabled ) {
$(
'#orderable_location_service_hours_pickup_same_as_delivery_label'
).removeClass( 'orderable-ui-hide' );
$( '.orderable-admin-button--delivery' ).addClass(
'orderable-trigger-element--active'
);
$( '.orderable-toggle-wrapper--delivery' ).addClass(
'orderable-toggle-wrapper--active'
);
return;
}
if ( ! delivery_is_enabled && ! pickup_is_enabled ) {
$( '.orderable-notice--select-service' ).removeClass(
'orderable-ui-hide'
);
$( '.orderable-toggle-wrapper--delivery' ).removeClass(
'orderable-toggle-wrapper--active'
);
return;
}
if ( ! delivery_is_enabled && pickup_is_enabled ) {
$( '#orderable_location_service_hours_pickup_same_as_delivery' )
.prop( 'checked', false )
.change();
$(
'#orderable_location_service_hours_pickup_same_as_delivery_label'
).addClass( 'orderable-ui-hide' );
$( '.orderable-table--service-hours-pickup' ).removeClass(
'orderable-element--disabled'
);
$( '.orderable-admin-button--pickup' ).addClass(
'orderable-trigger-element--active'
);
$( '.orderable-toggle-wrapper--pickup' )
.addClass( 'orderable-toggle-wrapper--active' )
.removeClass( 'orderable-element--disabled' );
$( '.orderable-admin-button--delivery' ).removeClass(
'orderable-trigger-element--active'
);
$( '.orderable-toggle-wrapper--delivery' ).removeClass(
'orderable-toggle-wrapper--active'
);
}
},
handle_enable_service_pickup_on_click() {
const pickup_is_enabled = $( this ).hasClass(
'woocommerce-input-toggle--enabled'
),
delivery_is_enabled =
$(
'[name=orderable_location_store_services_delivery]'
).val() === 'yes';
if ( pickup_is_enabled ) {
$( '.orderable-admin-button--pickup' ).removeClass(
'orderable-ui-hide'
);
$( '.orderable-table--service-hours-pickup' ).removeClass(
'orderable-element--disabled'
);
$( '.orderable-notice--select-service' ).addClass(
'orderable-ui-hide'
);
} else {
$( '.orderable-admin-button--pickup' )
.addClass( 'orderable-ui-hide' )
.removeClass( 'orderable-trigger-element--active' );
}
if ( pickup_is_enabled && delivery_is_enabled ) {
$(
'#orderable_location_service_hours_pickup_same_as_delivery_label'
).removeClass( 'orderable-ui-hide' );
$( '#orderable_location_service_hours_pickup_same_as_delivery' )
.prop( 'checked', true )
.change();
return;
}
if ( pickup_is_enabled && ! delivery_is_enabled ) {
$( '#orderable_location_service_hours_pickup_same_as_delivery' )
.prop( 'checked', false )
.change();
$(
'#orderable_location_service_hours_pickup_same_as_delivery_label'
).addClass( 'orderable-ui-hide' );
$( '.orderable-admin-button--pickup' ).addClass(
'orderable-trigger-element--active'
);
$( '.orderable-toggle-wrapper--pickup' )
.addClass( 'orderable-toggle-wrapper--active' )
.removeClass( 'orderable-element--disabled' );
$( '.orderable-element--pickup' ).removeClass(
'orderable-element--disabled'
);
return;
}
if ( ! pickup_is_enabled && delivery_is_enabled ) {
$( '#orderable_location_service_hours_pickup_same_as_delivery' )
.prop( 'checked', true )
.change();
$(
'#orderable_location_service_hours_pickup_same_as_delivery_label'
).addClass( 'orderable-ui-hide' );
$( '.orderable-table--service-hours-delivery' ).removeClass(
'orderable-element--disabled'
);
$( '.orderable-admin-button--delivery' ).addClass(
'orderable-trigger-element--active'
);
$( '.orderable-toggle-wrapper--delivery' )
.addClass( 'orderable-toggle-wrapper--active' )
.removeClass( 'orderable-element--disabled' );
$( '.orderable-admin-button--pickup' ).removeClass(
'orderable-trigger-element--active'
);
$( '.orderable-toggle-wrapper--pickup' ).removeClass(
'orderable-toggle-wrapper--active'
);
return;
}
if ( ! delivery_is_enabled && ! pickup_is_enabled ) {
$( '.orderable-notice--select-service' ).removeClass(
'orderable-ui-hide'
);
$( '.orderable-toggle-wrapper--pickup' ).removeClass(
'orderable-toggle-wrapper--active'
);
}
},
on_new_holiday_row() {
const $row = $( '.orderable-table--holidays' ).find(
'.orderable-table__row--repeatable:last-child'
);
$row.find( '.datepicker' ).each( function () {
const args = $( this ).data( 'datepicker' );
$( this ).datepicker( args );
} );
},
};
$( document ).ready( orderable_multi_location.on_ready );
} )( jQuery );