Fix ESLint issue

This commit is contained in:
Niels Lange 2023-12-13 17:06:38 +07:00
parent 040038a339
commit 31c9eed519
No known key found for this signature in database
GPG Key ID: CAA376E87CD94FE3
1 changed files with 151 additions and 200 deletions

View File

@ -1,5 +1,6 @@
/* global wc_cart_params */ /* global wc_cart_params */
jQuery( function ( $ ) { jQuery( function( $ ) {
// wc_cart_params is required to continue, ensure the object exists // wc_cart_params is required to continue, ensure the object exists
if ( typeof wc_cart_params === 'undefined' ) { if ( typeof wc_cart_params === 'undefined' ) {
return false; return false;
@ -13,10 +14,11 @@ jQuery( function ( $ ) {
* @param {String} endpoint The AJAX Endpoint * @param {String} endpoint The AJAX Endpoint
* @return {String} The URL to use for the request * @return {String} The URL to use for the request
*/ */
var get_url = function ( endpoint ) { var get_url = function( endpoint ) {
return wc_cart_params.wc_ajax_url return wc_cart_params.wc_ajax_url.toString().replace(
.toString() '%%endpoint%%',
.replace( '%%endpoint%%', endpoint ); endpoint
);
}; };
/** /**
@ -25,10 +27,8 @@ jQuery( function ( $ ) {
* @param {JQuery Object} $node * @param {JQuery Object} $node
* @return {bool} True if the DOM Element is UI Blocked, false if not. * @return {bool} True if the DOM Element is UI Blocked, false if not.
*/ */
var is_blocked = function ( $node ) { var is_blocked = function( $node ) {
return ( return $node.is( '.processing' ) || $node.parents( '.processing' ).length;
$node.is( '.processing' ) || $node.parents( '.processing' ).length
);
}; };
/** /**
@ -36,14 +36,14 @@ jQuery( function ( $ ) {
* *
* @param {JQuery Object} $node * @param {JQuery Object} $node
*/ */
var block = function ( $node ) { var block = function( $node ) {
if ( ! is_blocked( $node ) ) { if ( ! is_blocked( $node ) ) {
$node.addClass( 'processing' ).block( { $node.addClass( 'processing' ).block( {
message: null, message: null,
overlayCSS: { overlayCSS: {
background: '#fff', background: '#fff',
opacity: 0.6, opacity: 0.6
}, }
} ); } );
} }
}; };
@ -53,7 +53,7 @@ jQuery( function ( $ ) {
* *
* @param {JQuery Object} $node * @param {JQuery Object} $node
*/ */
var unblock = function ( $node ) { var unblock = function( $node ) {
$node.removeClass( 'processing' ).unblock(); $node.removeClass( 'processing' ).unblock();
}; };
@ -62,11 +62,11 @@ jQuery( function ( $ ) {
* *
* @param {JQuery Object} $notices * @param {JQuery Object} $notices
*/ */
var remove_duplicate_notices = function ( $notices ) { var remove_duplicate_notices = function( $notices ) {
var seen = new Set(); var seen = new Set();
var deduplicated_notices = []; var deduplicated_notices = [];
$notices.each( function () { $notices.each( function() {
const text = $( this ).text(); const text = $( this ).text();
if ( ! seen.has( text ) ) { if ( ! seen.has( text ) ) {
@ -84,16 +84,11 @@ jQuery( function ( $ ) {
* @param {String} html_str The HTML string with which to replace the div. * @param {String} html_str The HTML string with which to replace the div.
* @param {bool} preserve_notices Should notices be kept? False by default. * @param {bool} preserve_notices Should notices be kept? False by default.
*/ */
var update_wc_div = function ( html_str, preserve_notices ) { var update_wc_div = function( html_str, preserve_notices ) {
var $html = $.parseHTML( html_str ); var $html = $.parseHTML( html_str );
var $new_form = $( '.woocommerce-cart-form', $html ); var $new_form = $( '.woocommerce-cart-form', $html );
var $new_totals = $( '.cart_totals', $html ); var $new_totals = $( '.cart_totals', $html );
var $notices = remove_duplicate_notices( var $notices = remove_duplicate_notices( $( '.woocommerce-error, .woocommerce-message, .woocommerce-info, .is-error, .is-notice, .is-success', $html ) );
$(
'.woocommerce-error, .woocommerce-message, .woocommerce-info, .is-error, .is-notice, .is-success',
$html
)
);
// No form, cannot do this. // No form, cannot do this.
if ( $( '.woocommerce-cart-form' ).length === 0 ) { if ( $( '.woocommerce-cart-form' ).length === 0 ) {
@ -103,9 +98,7 @@ jQuery( function ( $ ) {
// Remove errors // Remove errors
if ( ! preserve_notices ) { if ( ! preserve_notices ) {
$( $( '.woocommerce-error, .woocommerce-message, .woocommerce-info' ).remove();
'.woocommerce-error, .woocommerce-message, .woocommerce-info'
).remove();
} }
if ( $new_form.length === 0 ) { if ( $new_form.length === 0 ) {
@ -116,12 +109,8 @@ jQuery( function ( $ ) {
} }
// No items to display now! Replace all cart content. // No items to display now! Replace all cart content.
var $cart_html = $( '.wc-empty-cart-message', $html ).closest( var $cart_html = $( '.wc-empty-cart-message', $html ).closest( '.woocommerce' );
'.woocommerce' $( '.woocommerce-cart-form__contents' ).closest( '.woocommerce' ).replaceWith( $cart_html );
);
$( '.woocommerce-cart-form__contents' )
.closest( '.woocommerce' )
.replaceWith( $cart_html );
// Display errors // Display errors
if ( $notices.length > 0 ) { if ( $notices.length > 0 ) {
@ -137,9 +126,7 @@ jQuery( function ( $ ) {
} }
$( '.woocommerce-cart-form' ).replaceWith( $new_form ); $( '.woocommerce-cart-form' ).replaceWith( $new_form );
$( '.woocommerce-cart-form' ) $( '.woocommerce-cart-form' ).find( ':input[name="update_cart"]' ).prop( 'disabled', true );
.find( ':input[name="update_cart"]' )
.prop( 'disabled', true );
if ( $notices.length > 0 ) { if ( $notices.length > 0 ) {
show_notice( $notices ); show_notice( $notices );
@ -156,7 +143,7 @@ jQuery( function ( $ ) {
* *
* @param {String} html_str The HTML string with which to replace the div. * @param {String} html_str The HTML string with which to replace the div.
*/ */
var update_cart_totals_div = function ( html_str ) { var update_cart_totals_div = function( html_str ) {
$( '.cart_totals' ).replaceWith( html_str ); $( '.cart_totals' ).replaceWith( html_str );
$( document.body ).trigger( 'updated_cart_totals' ); $( document.body ).trigger( 'updated_cart_totals' );
}; };
@ -166,30 +153,29 @@ jQuery( function ( $ ) {
* *
* @param {Object} The Notice HTML Element in string or object form. * @param {Object} The Notice HTML Element in string or object form.
*/ */
var show_notice = function ( html_element, $target ) { var show_notice = function( html_element, $target ) {
if ( ! $target ) { if ( ! $target ) {
$target = $target = $( '.woocommerce-notices-wrapper:first' ) ||
$( '.woocommerce-notices-wrapper:first' ) ||
$( '.wc-empty-cart-message' ).closest( '.woocommerce' ) || $( '.wc-empty-cart-message' ).closest( '.woocommerce' ) ||
$( '.woocommerce-cart-form' ); $( '.woocommerce-cart-form' );
} }
$target.prepend( html_element ); $target.prepend( html_element );
}; };
/** /**
* Object to handle AJAX calls for cart shipping changes. * Object to handle AJAX calls for cart shipping changes.
*/ */
var cart_shipping = { var cart_shipping = {
/** /**
* Initialize event handlers and UI state. * Initialize event handlers and UI state.
*/ */
init: function ( cart ) { init: function( cart ) {
this.cart = cart; this.cart = cart;
this.toggle_shipping = this.toggle_shipping.bind( this ); this.toggle_shipping = this.toggle_shipping.bind( this );
this.shipping_method_selected = this.shipping_method_selected = this.shipping_method_selected.bind( this );
this.shipping_method_selected.bind( this ); this.shipping_calculator_submit = this.shipping_calculator_submit.bind( this );
this.shipping_calculator_submit =
this.shipping_calculator_submit.bind( this );
$( document ).on( $( document ).on(
'click', 'click',
@ -213,11 +199,9 @@ jQuery( function ( $ ) {
/** /**
* Toggle Shipping Calculator panel * Toggle Shipping Calculator panel
*/ */
toggle_shipping: function () { toggle_shipping: function() {
$( '.shipping-calculator-form' ).slideToggle( 'slow' ); $( '.shipping-calculator-form' ).slideToggle( 'slow' );
$( 'select.country_to_state, input.country_to_state' ).trigger( $( 'select.country_to_state, input.country_to_state' ).trigger( 'change' );
'change'
);
$( document.body ).trigger( 'country_to_state_changed' ); // Trigger select2 to load. $( document.body ).trigger( 'country_to_state_changed' ); // Trigger select2 to load.
return false; return false;
}, },
@ -225,13 +209,11 @@ jQuery( function ( $ ) {
/** /**
* Handles when a shipping method is selected. * Handles when a shipping method is selected.
*/ */
shipping_method_selected: function () { shipping_method_selected: function() {
var shipping_methods = {}; var shipping_methods = {};
// eslint-disable-next-line max-len // eslint-disable-next-line max-len
$( $( 'select.shipping_method, :input[name^=shipping_method][type=radio]:checked, :input[name^=shipping_method][type=hidden]' ).each( function() {
'select.shipping_method, :input[name^=shipping_method][type=radio]:checked, :input[name^=shipping_method][type=hidden]'
).each( function () {
shipping_methods[ $( this ).data( 'index' ) ] = $( this ).val(); shipping_methods[ $( this ).data( 'index' ) ] = $( this ).val();
} ); } );
@ -239,21 +221,21 @@ jQuery( function ( $ ) {
var data = { var data = {
security: wc_cart_params.update_shipping_method_nonce, security: wc_cart_params.update_shipping_method_nonce,
shipping_method: shipping_methods, shipping_method: shipping_methods
}; };
$.ajax( { $.ajax( {
type: 'post', type: 'post',
url: get_url( 'update_shipping_method' ), url: get_url( 'update_shipping_method' ),
data: data, data: data,
dataType: 'html', dataType: 'html',
success: function ( response ) { success: function( response ) {
update_cart_totals_div( response ); update_cart_totals_div( response );
}, },
complete: function () { complete: function() {
unblock( $( 'div.cart_totals' ) ); unblock( $( 'div.cart_totals' ) );
$( document.body ).trigger( 'updated_shipping_method' ); $( document.body ).trigger( 'updated_shipping_method' );
}, }
} ); } );
}, },
@ -262,7 +244,7 @@ jQuery( function ( $ ) {
* *
* @param {Object} evt The JQuery event. * @param {Object} evt The JQuery event.
*/ */
shipping_calculator_submit: function ( evt ) { shipping_calculator_submit: function( evt ) {
evt.preventDefault(); evt.preventDefault();
var $form = $( evt.currentTarget ); var $form = $( evt.currentTarget );
@ -271,27 +253,26 @@ jQuery( function ( $ ) {
block( $form ); block( $form );
// Provide the submit button value because wc-form-handler expects it. // Provide the submit button value because wc-form-handler expects it.
$( '<input />' ) $( '<input />' ).attr( 'type', 'hidden' )
.attr( 'type', 'hidden' ) .attr( 'name', 'calc_shipping' )
.attr( 'name', 'calc_shipping' ) .attr( 'value', 'x' )
.attr( 'value', 'x' ) .appendTo( $form );
.appendTo( $form );
// Make call to actual form post URL. // Make call to actual form post URL.
$.ajax( { $.ajax( {
type: $form.attr( 'method' ), type: $form.attr( 'method' ),
url: $form.attr( 'action' ), url: $form.attr( 'action' ),
data: $form.serialize(), data: $form.serialize(),
dataType: 'html', dataType: 'html',
success: function ( response ) { success: function( response ) {
update_wc_div( response ); update_wc_div( response );
}, },
complete: function () { complete: function() {
unblock( $form ); unblock( $form );
unblock( $( 'div.cart_totals' ) ); unblock( $( 'div.cart_totals' ) );
}, }
} ); } );
}, }
}; };
/** /**
@ -301,78 +282,64 @@ jQuery( function ( $ ) {
/** /**
* Initialize cart UI events. * Initialize cart UI events.
*/ */
init: function () { init: function() {
this.update_cart_totals = this.update_cart_totals.bind( this ); this.update_cart_totals = this.update_cart_totals.bind( this );
this.input_keypress = this.input_keypress.bind( this ); this.input_keypress = this.input_keypress.bind( this );
this.cart_submit = this.cart_submit.bind( this ); this.cart_submit = this.cart_submit.bind( this );
this.submit_click = this.submit_click.bind( this ); this.submit_click = this.submit_click.bind( this );
this.apply_coupon = this.apply_coupon.bind( this ); this.apply_coupon = this.apply_coupon.bind( this );
this.remove_coupon_clicked = this.remove_coupon_clicked = this.remove_coupon_clicked.bind( this );
this.remove_coupon_clicked.bind( this ); this.quantity_update = this.quantity_update.bind( this );
this.quantity_update = this.quantity_update.bind( this ); this.item_remove_clicked = this.item_remove_clicked.bind( this );
this.item_remove_clicked = this.item_remove_clicked.bind( this ); this.item_restore_clicked = this.item_restore_clicked.bind( this );
this.item_restore_clicked = this.item_restore_clicked.bind( this ); this.update_cart = this.update_cart.bind( this );
this.update_cart = this.update_cart.bind( this );
$( document ).on( 'wc_update_cart added_to_cart', function () { $( document ).on(
cart.update_cart.apply( cart, [].slice.call( arguments, 1 ) ); 'wc_update_cart added_to_cart',
} ); function() { cart.update_cart.apply( cart, [].slice.call( arguments, 1 ) ); } );
$( document ).on( $( document ).on(
'click', 'click',
'.woocommerce-cart-form :input[type=submit]', '.woocommerce-cart-form :input[type=submit]',
this.submit_click this.submit_click );
);
$( document ).on( $( document ).on(
'keypress', 'keypress',
'.woocommerce-cart-form :input[type=number]', '.woocommerce-cart-form :input[type=number]',
this.input_keypress this.input_keypress );
);
$( document ).on( $( document ).on(
'submit', 'submit',
'.woocommerce-cart-form', '.woocommerce-cart-form',
this.cart_submit this.cart_submit );
);
$( document ).on( $( document ).on(
'click', 'click',
'a.woocommerce-remove-coupon', 'a.woocommerce-remove-coupon',
this.remove_coupon_clicked this.remove_coupon_clicked );
);
$( document ).on( $( document ).on(
'click', 'click',
'.woocommerce-cart-form .product-remove > a', '.woocommerce-cart-form .product-remove > a',
this.item_remove_clicked this.item_remove_clicked );
);
$( document ).on( $( document ).on(
'click', 'click',
'.woocommerce-cart .restore-item', '.woocommerce-cart .restore-item',
this.item_restore_clicked this.item_restore_clicked );
);
$( document ).on( $( document ).on(
'change input', 'change input',
'.woocommerce-cart-form .cart_item :input', '.woocommerce-cart-form .cart_item :input',
this.input_changed this.input_changed );
);
$( '.woocommerce-cart-form :input[name="update_cart"]' ).prop( $( '.woocommerce-cart-form :input[name="update_cart"]' ).prop( 'disabled', true );
'disabled',
true
);
}, },
/** /**
* After an input is changed, enable the update cart button. * After an input is changed, enable the update cart button.
*/ */
input_changed: function () { input_changed: function() {
$( '.woocommerce-cart-form :input[name="update_cart"]' ).prop( $( '.woocommerce-cart-form :input[name="update_cart"]' ).prop( 'disabled', false );
'disabled',
false
);
}, },
/** /**
* Update entire cart via ajax. * Update entire cart via ajax.
*/ */
update_cart: function ( preserve_notices ) { update_cart: function( preserve_notices ) {
var $form = $( '.woocommerce-cart-form' ); var $form = $( '.woocommerce-cart-form' );
block( $form ); block( $form );
@ -380,36 +347,36 @@ jQuery( function ( $ ) {
// Make call to actual form post URL. // Make call to actual form post URL.
$.ajax( { $.ajax( {
type: $form.attr( 'method' ), type: $form.attr( 'method' ),
url: $form.attr( 'action' ), url: $form.attr( 'action' ),
data: $form.serialize(), data: $form.serialize(),
dataType: 'html', dataType: 'html',
success: function ( response ) { success: function( response ) {
update_wc_div( response, preserve_notices ); update_wc_div( response, preserve_notices );
}, },
complete: function () { complete: function() {
unblock( $form ); unblock( $form );
unblock( $( 'div.cart_totals' ) ); unblock( $( 'div.cart_totals' ) );
$.scroll_to_notices( $( '[role="alert"]' ) ); $.scroll_to_notices( $( '[role="alert"]' ) );
}, }
} ); } );
}, },
/** /**
* Update the cart after something has changed. * Update the cart after something has changed.
*/ */
update_cart_totals: function () { update_cart_totals: function() {
block( $( 'div.cart_totals' ) ); block( $( 'div.cart_totals' ) );
$.ajax( { $.ajax( {
url: get_url( 'get_cart_totals' ), url: get_url( 'get_cart_totals' ),
dataType: 'html', dataType: 'html',
success: function ( response ) { success: function( response ) {
update_cart_totals_div( response ); update_cart_totals_div( response );
}, },
complete: function () { complete: function() {
unblock( $( 'div.cart_totals' ) ); unblock( $( 'div.cart_totals' ) );
}, }
} ); } );
}, },
@ -423,18 +390,19 @@ jQuery( function ( $ ) {
* For us, that is the Apply Coupon button. This is required * For us, that is the Apply Coupon button. This is required
* to catch the event before that happens. * to catch the event before that happens.
*/ */
input_keypress: function ( evt ) { input_keypress: function( evt ) {
// Catch the enter key and don't let it submit the form. // Catch the enter key and don't let it submit the form.
if ( 13 === evt.keyCode ) { if ( 13 === evt.keyCode ) {
var $form = $( evt.currentTarget ).parents( 'form' ); var $form = $( evt.currentTarget ).parents( 'form' );
try { try {
// If there are no validation errors, handle the submit. // If there are no validation errors, handle the submit.
if ( $form[ 0 ].checkValidity() ) { if ( $form[0].checkValidity() ) {
evt.preventDefault(); evt.preventDefault();
this.cart_submit( evt ); this.cart_submit( evt );
} }
} catch ( err ) { } catch( err ) {
evt.preventDefault(); evt.preventDefault();
this.cart_submit( evt ); this.cart_submit( evt );
} }
@ -446,10 +414,10 @@ jQuery( function ( $ ) {
* *
* @param {Object} evt The JQuery event * @param {Object} evt The JQuery event
*/ */
cart_submit: function ( evt ) { cart_submit: function( evt ) {
var $submit = $( document.activeElement ), var $submit = $( document.activeElement ),
$clicked = $( ':input[type=submit][clicked=true]' ), $clicked = $( ':input[type=submit][clicked=true]' ),
$form = $( evt.currentTarget ); $form = $( evt.currentTarget );
// For submit events, currentTarget is form. // For submit events, currentTarget is form.
// For keypress events, currentTarget is input. // For keypress events, currentTarget is input.
@ -457,9 +425,7 @@ jQuery( function ( $ ) {
$form = $( evt.currentTarget ).parents( 'form' ); $form = $( evt.currentTarget ).parents( 'form' );
} }
if ( if ( 0 === $form.find( '.woocommerce-cart-form__contents' ).length ) {
0 === $form.find( '.woocommerce-cart-form__contents' ).length
) {
return; return;
} }
@ -467,16 +433,11 @@ jQuery( function ( $ ) {
return false; return false;
} }
if ( if ( $clicked.is( ':input[name="update_cart"]' ) || $submit.is( 'input.qty' ) ) {
$clicked.is( ':input[name="update_cart"]' ) ||
$submit.is( 'input.qty' )
) {
evt.preventDefault(); evt.preventDefault();
this.quantity_update( $form ); this.quantity_update( $form );
} else if (
$clicked.is( ':input[name="apply_coupon"]' ) || } else if ( $clicked.is( ':input[name="apply_coupon"]' ) || $submit.is( '#coupon_code' ) ) {
$submit.is( '#coupon_code' )
) {
evt.preventDefault(); evt.preventDefault();
this.apply_coupon( $form ); this.apply_coupon( $form );
} }
@ -487,11 +448,8 @@ jQuery( function ( $ ) {
* *
* @param {Object} evt The JQuery event * @param {Object} evt The JQuery event
*/ */
submit_click: function ( evt ) { submit_click: function( evt ) {
$( $( ':input[type=submit]', $( evt.target ).parents( 'form' ) ).removeAttr( 'clicked' );
':input[type=submit]',
$( evt.target ).parents( 'form' )
).removeAttr( 'clicked' );
$( evt.target ).attr( 'clicked', 'true' ); $( evt.target ).attr( 'clicked', 'true' );
}, },
@ -500,7 +458,7 @@ jQuery( function ( $ ) {
* *
* @param {JQuery Object} $form The cart form. * @param {JQuery Object} $form The cart form.
*/ */
apply_coupon: function ( $form ) { apply_coupon: function( $form ) {
block( $form ); block( $form );
var cart = this; var cart = this;
@ -509,28 +467,24 @@ jQuery( function ( $ ) {
var data = { var data = {
security: wc_cart_params.apply_coupon_nonce, security: wc_cart_params.apply_coupon_nonce,
coupon_code: coupon_code, coupon_code: coupon_code
}; };
$.ajax( { $.ajax( {
type: 'POST', type: 'POST',
url: get_url( 'apply_coupon' ), url: get_url( 'apply_coupon' ),
data: data, data: data,
dataType: 'html', dataType: 'html',
success: function ( response ) { success: function( response ) {
$( $( '.woocommerce-error, .woocommerce-message, .woocommerce-info' ).remove();
'.woocommerce-error, .woocommerce-message, .woocommerce-info'
).remove();
show_notice( response ); show_notice( response );
$( document.body ).trigger( 'applied_coupon', [ $( document.body ).trigger( 'applied_coupon', [ coupon_code ] );
coupon_code,
] );
}, },
complete: function () { complete: function() {
unblock( $form ); unblock( $form );
$text_field.val( '' ); $text_field.val( '' );
cart.update_cart( true ); cart.update_cart( true );
}, }
} ); } );
}, },
@ -539,36 +493,34 @@ jQuery( function ( $ ) {
* *
* @param {Object} evt The JQuery event * @param {Object} evt The JQuery event
*/ */
remove_coupon_clicked: function ( evt ) { remove_coupon_clicked: function( evt ) {
evt.preventDefault(); evt.preventDefault();
var cart = this; var cart = this;
var $wrapper = $( evt.currentTarget ).closest( '.cart_totals' ); var $wrapper = $( evt.currentTarget ).closest( '.cart_totals' );
var coupon = $( evt.currentTarget ).attr( 'data-coupon' ); var coupon = $( evt.currentTarget ).attr( 'data-coupon' );
block( $wrapper ); block( $wrapper );
var data = { var data = {
security: wc_cart_params.remove_coupon_nonce, security: wc_cart_params.remove_coupon_nonce,
coupon: coupon, coupon: coupon
}; };
$.ajax( { $.ajax( {
type: 'POST', type: 'POST',
url: get_url( 'remove_coupon' ), url: get_url( 'remove_coupon' ),
data: data, data: data,
dataType: 'html', dataType: 'html',
success: function ( response ) { success: function( response ) {
$( $( '.woocommerce-error, .woocommerce-message, .woocommerce-info' ).remove();
'.woocommerce-error, .woocommerce-message, .woocommerce-info'
).remove();
show_notice( response ); show_notice( response );
$( document.body ).trigger( 'removed_coupon', [ coupon ] ); $( document.body ).trigger( 'removed_coupon', [ coupon ] );
unblock( $wrapper ); unblock( $wrapper );
}, },
complete: function () { complete: function() {
cart.update_cart( true ); cart.update_cart( true );
}, }
} ); } );
}, },
@ -577,31 +529,30 @@ jQuery( function ( $ ) {
* *
* @param {JQuery Object} $form The cart form. * @param {JQuery Object} $form The cart form.
*/ */
quantity_update: function ( $form ) { quantity_update: function( $form ) {
block( $form ); block( $form );
block( $( 'div.cart_totals' ) ); block( $( 'div.cart_totals' ) );
// Provide the submit button value because wc-form-handler expects it. // Provide the submit button value because wc-form-handler expects it.
$( '<input />' ) $( '<input />' ).attr( 'type', 'hidden' )
.attr( 'type', 'hidden' ) .attr( 'name', 'update_cart' )
.attr( 'name', 'update_cart' ) .attr( 'value', 'Update Cart' )
.attr( 'value', 'Update Cart' ) .appendTo( $form );
.appendTo( $form );
// Make call to actual form post URL. // Make call to actual form post URL.
$.ajax( { $.ajax( {
type: $form.attr( 'method' ), type: $form.attr( 'method' ),
url: $form.attr( 'action' ), url: $form.attr( 'action' ),
data: $form.serialize(), data: $form.serialize(),
dataType: 'html', dataType: 'html',
success: function ( response ) { success: function( response ) {
update_wc_div( response ); update_wc_div( response );
}, },
complete: function () { complete: function() {
unblock( $form ); unblock( $form );
unblock( $( 'div.cart_totals' ) ); unblock( $( 'div.cart_totals' ) );
$.scroll_to_notices( $( '[role="alert"]' ) ); $.scroll_to_notices( $( '[role="alert"]' ) );
}, }
} ); } );
}, },
@ -610,7 +561,7 @@ jQuery( function ( $ ) {
* *
* @param {Object} evt The JQuery event * @param {Object} evt The JQuery event
*/ */
item_remove_clicked: function ( evt ) { item_remove_clicked: function( evt ) {
evt.preventDefault(); evt.preventDefault();
var $a = $( evt.currentTarget ); var $a = $( evt.currentTarget );
@ -620,17 +571,17 @@ jQuery( function ( $ ) {
block( $( 'div.cart_totals' ) ); block( $( 'div.cart_totals' ) );
$.ajax( { $.ajax( {
type: 'GET', type: 'GET',
url: $a.attr( 'href' ), url: $a.attr( 'href' ),
dataType: 'html', dataType: 'html',
success: function ( response ) { success: function( response ) {
update_wc_div( response ); update_wc_div( response );
}, },
complete: function () { complete: function() {
unblock( $form ); unblock( $form );
unblock( $( 'div.cart_totals' ) ); unblock( $( 'div.cart_totals' ) );
$.scroll_to_notices( $( '[role="alert"]' ) ); $.scroll_to_notices( $( '[role="alert"]' ) );
}, }
} ); } );
}, },
@ -639,7 +590,7 @@ jQuery( function ( $ ) {
* *
* @param {Object} evt The JQuery event * @param {Object} evt The JQuery event
*/ */
item_restore_clicked: function ( evt ) { item_restore_clicked: function( evt ) {
evt.preventDefault(); evt.preventDefault();
var $a = $( evt.currentTarget ); var $a = $( evt.currentTarget );
@ -649,18 +600,18 @@ jQuery( function ( $ ) {
block( $( 'div.cart_totals' ) ); block( $( 'div.cart_totals' ) );
$.ajax( { $.ajax( {
type: 'GET', type: 'GET',
url: $a.attr( 'href' ), url: $a.attr( 'href' ),
dataType: 'html', dataType: 'html',
success: function ( response ) { success: function( response ) {
update_wc_div( response ); update_wc_div( response );
}, },
complete: function () { complete: function() {
unblock( $form ); unblock( $form );
unblock( $( 'div.cart_totals' ) ); unblock( $( 'div.cart_totals' ) );
}, }
} ); } );
}, }
}; };
cart_shipping.init( cart ); cart_shipping.init( cart );