mirror of
https://github.com/pronamic/woocommerce-subscriptions.git
synced 2025-10-07 01:54:05 +00:00
63 lines
1.8 KiB
JavaScript
Executable File
63 lines
1.8 KiB
JavaScript
Executable File
function hide_non_applicable_coupons() {
|
|
var coupon_elements = document.getElementsByClassName( 'cart-discount' );
|
|
|
|
for ( var i = 0; i < coupon_elements.length; i++ ) {
|
|
if (
|
|
0 !==
|
|
coupon_elements[ i ].getElementsByClassName( 'wcs-hidden-coupon' )
|
|
.length
|
|
) {
|
|
coupon_elements[ i ].style.display = 'none';
|
|
}
|
|
}
|
|
}
|
|
|
|
hide_non_applicable_coupons();
|
|
|
|
jQuery( function ( $ ) {
|
|
$( document.body ).on( 'updated_cart_totals updated_checkout', function () {
|
|
hide_non_applicable_coupons();
|
|
} );
|
|
|
|
/**
|
|
* Update all subscriptions shipping methods which inherit the chosen method from the initial
|
|
* cart when the customer changes the shipping method.
|
|
*/
|
|
$( document ).on(
|
|
'change',
|
|
'select.shipping_method, :input[name^=shipping_method]',
|
|
function ( event ) {
|
|
var shipping_method_option = $( event.target );
|
|
var shipping_method_id = shipping_method_option.val();
|
|
var package_index = shipping_method_option.data( 'index' );
|
|
|
|
// We're only interested in the initial cart shipping method options which have int package indexes.
|
|
if ( ! Number.isInteger( package_index ) ) {
|
|
return;
|
|
}
|
|
|
|
// Find all recurring cart info elements with the same package index as the changed shipping method.
|
|
$(
|
|
'.recurring-cart-shipping-mapping-info[data-index=' +
|
|
package_index +
|
|
']'
|
|
).each( function () {
|
|
// Update the corresponding subscription's hidden chosen shipping method.
|
|
$(
|
|
'input[name="shipping_method[' +
|
|
$( this ).data( 'recurring_index' ) +
|
|
']"]'
|
|
).val( shipping_method_id );
|
|
} );
|
|
}
|
|
);
|
|
|
|
$( '.payment_methods [name="payment_method"]' ).on( 'click', function () {
|
|
if ( $( this ).hasClass( 'supports-payment-method-changes' ) ) {
|
|
$( '.update-all-subscriptions-payment-method-wrap' ).show();
|
|
} else {
|
|
$( '.update-all-subscriptions-payment-method-wrap' ).hide();
|
|
}
|
|
} );
|
|
} );
|