PATH:
home
/
shotlining
/
portal.shotlining.com
/
wp-content
/
plugins
/
woocommerce-abandoned-cart
/
src
import { CART_STORE_KEY } from '@woocommerce/block-data'; import { select, subscribe } from '@wordpress/data'; const store = select ( CART_STORE_KEY ); const debounce = (callback, wait) => { let timeoutId = null; return (...args) => { window.clearTimeout(timeoutId); timeoutId = window.setTimeout(() => { callback.apply(null, args); }, wait); }; } var can_run = false; var gdpr_consent = true; const checkKeyPress = debounce((ev) => { can_run = true; }, 1000 ); window.addEventListener('change', checkKeyPress ); window.addEventListener('keypress', checkKeyPress ); const checkStorage = ( event ) => { if ( 'wcal_gdpr_no_thanks' === event.key ) { if ( 'wcal_gdpr_no_thanks' === event.key ) { if ( event.newValue ) { gdpr_consent = false; } var data = { action : 'wcal_gdpr_refused', ajax_nonce: wcal_guest_capture_blocks_params.wcal_gdpr_nonce, }; } jQuery.post( wcal_guest_capture_blocks_params.ajax_url, data, function( response ) { }); } } window.addEventListener('storage', checkStorage ); const unsubscribe = subscribe( () => { const { billingAddress, shippingAddress } = store.getCustomerData(); // Prepopulate the fields if the user is recovering a cart. if ( wcal_guest_capture_blocks_params.user_id >= 63000000 && ! localStorage.getItem( 'wcal_data_populated' ) ) { // Email billingAddress.email = wcal_guest_capture_blocks_params.email; localStorage.setItem( 'wcal_user_email', wcal_guest_capture_blocks_params.email ); // First Name billingAddress.first_name = wcal_guest_capture_blocks_params.first_name; shippingAddress.first_name = wcal_guest_capture_blocks_params.first_name; localStorage.setItem( 'wcal_user_firstname', wcal_guest_capture_blocks_params.first_name ); // Last Name billingAddress.last_name = wcal_guest_capture_blocks_params.last_name; shippingAddress.last_name = wcal_guest_capture_blocks_params.last_name; localStorage.setItem( 'wcal_user_lastname', wcal_guest_capture_blocks_params.last_name ); localStorage.setItem( 'wcal_data_populated', true ); } if ( can_run && gdpr_consent ) { /* =============================== * Saved values (localStorage) * =============================== */ var saved_email = localStorage.getItem( 'wcal_user_email' ); var saved_firstname = localStorage.getItem( 'wcal_user_firstname' ); var saved_lastname = localStorage.getItem( 'wcal_user_lastname' ); var saved_billing_postcode = localStorage.getItem( 'wcal_billing_postcode' ); var saved_shipping_postcode = localStorage.getItem( 'wcal_shipping_postcode' ); var saved_billing_country = localStorage.getItem( 'wcal_billing_country' ); var saved_shipping_country = localStorage.getItem( 'wcal_shipping_country' ); /* =============================== * Current checkout values * =============================== */ var page_email = billingAddress.email; var page_firstname = billingAddress.first_name; var page_lastname = billingAddress.last_name; var page_billing_postcode = billingAddress.postcode; var page_shipping_postcode = shippingAddress.postcode; var page_billing_country = billingAddress.country; var page_shipping_country = shippingAddress.country; var data_updated = false; if ( saved_email !== page_email ) { data_updated = true; localStorage.setItem( 'wcal_user_email', page_email ); } if ( saved_firstname !== page_firstname ) { data_updated = true; localStorage.setItem( 'wcal_user_firstname', page_firstname ); } if ( saved_lastname !== page_lastname ) { data_updated = true; localStorage.setItem( 'wcal_user_lastname', page_lastname ); } if ( saved_billing_postcode !== page_billing_postcode ) { localStorage.setItem( 'wcal_billing_postcode', page_billing_postcode ); } if ( saved_shipping_postcode !== page_shipping_postcode ) { localStorage.setItem( 'wcal_shipping_postcode', page_shipping_postcode ); } // ✅ COUNTRY HANDLING if ( saved_billing_country !== page_billing_country ) { data_updated = true; localStorage.setItem( 'wcal_billing_country', page_billing_country ); } if ( saved_shipping_country !== page_shipping_country ) { data_updated = true; localStorage.setItem( 'wcal_shipping_country', page_shipping_country ); } /* =============================== * Fire AJAX only if data changed * =============================== */ if ( data_updated ) { var data = { billing_first_name : localStorage.getItem( 'wcal_user_firstname' ), billing_last_name : localStorage.getItem( 'wcal_user_lastname' ), billing_email : localStorage.getItem( 'wcal_user_email' ), billing_postcode : localStorage.getItem( 'wcal_billing_postcode' ), shipping_postcode : localStorage.getItem( 'wcal_shipping_postcode' ), billing_country : localStorage.getItem( 'wcal_billing_country' ), shipping_country : localStorage.getItem( 'wcal_shipping_country' ), wcal_guest_capture_nonce : wcal_guest_capture_blocks_params.wcal_save_nonce, action : 'save_data' }; if ( localStorage.wcal_abandoned_id ) { data.wcal_abandoned_id = localStorage.wcal_abandoned_id; } jQuery.post( wcal_guest_capture_blocks_params.ajax_url, data, function( response ) {} ); } can_run = false; } }, CART_STORE_KEY );
[+]
..
[+]
wcal-blocks-gdpr-email-compliance
[-] index.js
[edit]
[-] wcal-blocks-guest-capture.js
[edit]