mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-04 08:47:23 +08:00
66 lines
3 KiB
JavaScript
66 lines
3 KiB
JavaScript
document.addEventListener(
|
|
'DOMContentLoaded',
|
|
() => {
|
|
const config = PayPalCommerceGatewayOrderTrackingCompat;
|
|
|
|
const orderTrackingContainerId = "ppcp_order-tracking";
|
|
const orderTrackingContainerSelector = "#ppcp_order-tracking .ppcp-tracking-column.shipments";
|
|
const gzdSaveButton = document.getElementById('order-shipments-save');
|
|
const loadLocation = location.href + " " + orderTrackingContainerSelector + ">*";
|
|
const gzdSyncEnabled = config.gzd_sync_enabled;
|
|
const wcShipmentSyncEnabled = config.wc_shipment_sync_enabled;
|
|
const wcShippingTaxSyncEnabled = config.wc_shipping_tax_sync_enabled;
|
|
const wcShipmentSaveButton = document.querySelector('#woocommerce-shipment-tracking .button-save-form');
|
|
const wcShipmentTaxBuyLabelButtonSelector = '.components-modal__screen-overlay .label-purchase-modal__sidebar .purchase-section button.components-button';
|
|
|
|
const toggleLoaderVisibility = function() {
|
|
const loader = document.querySelector('.ppcp-tracking-loader');
|
|
if (loader) {
|
|
if (loader.style.display === 'none' || loader.style.display === '') {
|
|
loader.style.display = 'block';
|
|
} else {
|
|
loader.style.display = 'none';
|
|
}
|
|
}
|
|
}
|
|
|
|
const waitForTrackingUpdate = function (elementToCheck) {
|
|
if (elementToCheck.css('display') !== 'none') {
|
|
setTimeout(() => waitForTrackingUpdate(elementToCheck), 100);
|
|
} else {
|
|
jQuery(orderTrackingContainerSelector).load(loadLocation, "", function(){
|
|
toggleLoaderVisibility();
|
|
});
|
|
}
|
|
}
|
|
|
|
if (gzdSyncEnabled && typeof(gzdSaveButton) != 'undefined' && gzdSaveButton != null) {
|
|
gzdSaveButton.addEventListener('click', function (event) {
|
|
toggleLoaderVisibility();
|
|
waitForTrackingUpdate(jQuery('#order-shipments-save'));
|
|
})
|
|
}
|
|
|
|
if (wcShipmentSyncEnabled && typeof(wcShipmentSaveButton) != 'undefined' && wcShipmentSaveButton != null) {
|
|
wcShipmentSaveButton.addEventListener('click', function (event) {
|
|
toggleLoaderVisibility();
|
|
waitForTrackingUpdate(jQuery('#shipment-tracking-form'));
|
|
})
|
|
}
|
|
|
|
if (wcShippingTaxSyncEnabled && typeof(wcShippingTaxSyncEnabled) != 'undefined' && wcShippingTaxSyncEnabled != null) {
|
|
document.addEventListener('click', function(event) {
|
|
const wcShipmentTaxBuyLabelButton = event.target.closest(wcShipmentTaxBuyLabelButtonSelector);
|
|
|
|
if (wcShipmentTaxBuyLabelButton) {
|
|
toggleLoaderVisibility();
|
|
setTimeout(function () {
|
|
jQuery(orderTrackingContainerSelector).load(loadLocation, "", function(){
|
|
toggleLoaderVisibility();
|
|
});
|
|
}, 10000);
|
|
}
|
|
});
|
|
}
|
|
},
|
|
);
|