WC_Shipping_Free_Shipping::enqueue_admin_js()
Enqueue JS to handle free shipping options.
Description Description
Static so that’s enqueued only once.
Source Source
File: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php
public static function enqueue_admin_js() {
wc_enqueue_js(
"jQuery( function( $ ) {
function wcFreeShippingShowHideMinAmountField( el ) {
var form = $( el ).closest( 'form' );
var minAmountField = $( '#woocommerce_free_shipping_min_amount', form ).closest( 'tr' );
var ignoreDiscountField = $( '#woocommerce_free_shipping_ignore_discounts', form ).closest( 'tr' );
if ( 'coupon' === $( el ).val() || '' === $( el ).val() ) {
minAmountField.hide();
ignoreDiscountField.hide();
} else {
minAmountField.show();
ignoreDiscountField.show();
}
}
$( document.body ).on( 'change', '#woocommerce_free_shipping_requires', function() {
wcFreeShippingShowHideMinAmountField( this );
});
// Change while load.
$( '#woocommerce_free_shipping_requires' ).change();
$( document.body ).on( 'wc_backbone_modal_loaded', function( evt, target ) {
if ( 'wc-modal-shipping-method-settings' === target ) {
wcFreeShippingShowHideMinAmountField( $( '#wc-backbone-modal-dialog #woocommerce_free_shipping_requires', evt.currentTarget ) );
}
} );
});"
);
}