woocommerce-paypal-payments/modules/ppcp-paylater-configurator/resources/js/paylater-configurator.js

46 lines
1.7 KiB
JavaScript
Raw Normal View History

document.addEventListener( 'DOMContentLoaded', () => {
const form = document.querySelector('#mainform');
2024-02-05 17:27:31 +04:00
const table = form.querySelector('.form-table');
const saveChangesButton = form.querySelector('.woocommerce-save-button');
const publishButtonClassName = PcpPayLaterConfigurator.publishButtonClassName;
2024-02-05 19:03:38 +04:00
2024-02-05 17:27:31 +04:00
table.insertAdjacentHTML('afterend', '<div id="messaging-configurator"></div>');
2024-02-05 19:03:38 +04:00
saveChangesButton.addEventListener('click', () => {
form.querySelector('.' + publishButtonClassName).click();
2024-02-05 19:03:38 +04:00
// Delay the page refresh by a few milliseconds to ensure changes take effect
setTimeout(() => {
location.reload();
}, 1000);
2024-02-05 19:03:38 +04:00
});
merchantConfigurators.Messaging({
config: PcpPayLaterConfigurator.config,
merchantClientId: PcpPayLaterConfigurator.merchantClientId,
partnerClientId: PcpPayLaterConfigurator.partnerClientId,
partnerName: 'WooCommerce',
bnCode: 'Woo_PPCP',
2024-02-05 19:03:38 +04:00
placements: ['cart', 'checkout', 'product', 'category', 'homepage', 'custom_placement'],
styleOverrides: {
button: publishButtonClassName,
2024-02-13 17:43:16 +04:00
header: PcpPayLaterConfigurator.headerClassName,
subheader: PcpPayLaterConfigurator.subheaderClassName
},
onSave: data => {
fetch(PcpPayLaterConfigurator.ajax.save_config.endpoint, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
credentials: 'same-origin',
body: JSON.stringify({
nonce: PcpPayLaterConfigurator.ajax.save_config.nonce,
config: data,
}),
});
}
})
} );