Refactor axo module

This commit is contained in:
Pedro Silva 2024-03-08 14:39:50 +00:00
parent b7d43d3c5b
commit 039cc53f40
No known key found for this signature in database
GPG key ID: E2EE20C0669D24B3
6 changed files with 581 additions and 51 deletions

View file

@ -0,0 +1,13 @@
class DomElement {
constructor(config) {
this.config = config;
this.selector = this.config.selector;
this.id = this.config.selector || null;
this.className = this.config.selector || null;
}
}
export default DomElement;

View file

@ -0,0 +1,57 @@
import DomElement from "./DomElement";
class DomElementCollection {
constructor() {
this.gatewayRadioButton = new DomElement({
selector: '#payment_method_ppcp-axo-gateway',
});
this.defaultSubmitButton = new DomElement({
selector: '#place_order',
});
this.paymentContainer = new DomElement({
id: 'ppcp-axo-payment-container',
selector: '#ppcp-axo-payment-container',
className: 'ppcp-axo-payment-container'
});
this.watermarkContainer = new DomElement({
id: 'ppcp-axo-watermark-container',
selector: '#ppcp-axo-watermark-container',
className: 'ppcp-axo-watermark-container'
});
this.emailWidgetContainer = new DomElement({
id: 'ppcp-axo-email-widget',
selector: '#ppcp-axo-email-widget',
className: 'ppcp-axo-email-widget'
});
this.shippingAddressContainer = new DomElement({
id: 'ppcp-axo-shipping-address-container',
selector: '#ppcp-axo-shipping-address-container',
className: 'ppcp-axo-shipping-address-container',
anchorSelector: '.woocommerce-shipping-fields'
});
this.billingAddressContainer = new DomElement({
id: 'ppcp-axo-billing-address-container',
selector: '#ppcp-axo-billing-address-container',
className: 'ppcp-axo-billing-address-container',
anchorSelector: '.woocommerce-billing-fields__field-wrapper'
});
this.fieldBillingEmail = new DomElement({
selector: '#billing_email_field'
});
this.submitButtonContainer = new DomElement({
selector: '#ppcp-axo-submit-button-container',
buttonSelector: '#ppcp-axo-submit-button-container button'
});
}
}
export default DomElementCollection;