From 68e2bb11bf215ddfb59ea5f5ad398968b4e91075 Mon Sep 17 00:00:00 2001 From: Guilherme Capanema Date: Thu, 7 Nov 2019 13:36:23 -0300 Subject: [PATCH] Melhora bloqueio da tela. --- public/js/wc-fvc-public.js | 80 ++++++++++++++++++++++++++++---------- 1 file changed, 59 insertions(+), 21 deletions(-) diff --git a/public/js/wc-fvc-public.js b/public/js/wc-fvc-public.js index 888fc55..6fc07e1 100755 --- a/public/js/wc-fvc-public.js +++ b/public/js/wc-fvc-public.js @@ -1,28 +1,66 @@ (function( $ ) { 'use strict'; - $(function() { - $( document.body ).on( 'submit', '.woocommerce-shipping-calculator', function() { - var cep = $('#calc_shipping_postcode').val(); - - $.ajax({ - type: 'GET', - url: wc_ajax_url, - async: false, - data: { - 'wc-ajax': 'correios_autofill_address', - 'postcode': cep, - }, - dataType: 'json', - contentType: 'application/json', - success: function( address ) { - if ( address.success ) { - $('#calc_shipping_state').val(address.data.state).change(); - $('#calc_shipping_city').val(address.data.city).change(); - } - }, + var WC_Fvc = { + /** + * Initialize actions. + */ + init: function() { + $( document.body ).on( 'submit', '.woocommerce-shipping-calculator', function(event) { + event.preventDefault(); + + WC_Fvc.block(); + + var cep = $('#calc_shipping_postcode').val(); + + $.ajax({ + type: 'GET', + url: wc_ajax_url, + async: false, + data: { + 'wc-ajax': 'correios_autofill_address', + 'postcode': cep, + }, + dataType: 'json', + contentType: 'application/json', + success: function( address ) { + if ( address.success ) { + $('#calc_shipping_state').val(address.data.state).change(); + $('#calc_shipping_city').val(address.data.city).change(); + } + }, + }); + }); + }, + + /** + * Block shipping form. + */ + block: function() { + $('.woocommerce-shipping-calculator, div.cart_totals') + .addClass('processing') + .block({ + message: null, + overlayCSS: { + background: '#fff', + opacity: 0.6, + } }); - }); + }, + + /** + * Unblock checkout. + */ + unblock: function() { + $('.woocommerce-shipping-calculator, div.cart_totals') + .removeClass('processing') + .unblock(); + }, + }; + + + $(function() { + WC_Fvc.init(); }); })( jQuery );