Files
hub-insurance/wp-content/plugins/visual-regression-tests/components/settings-page/script.js
T
2026-07-02 15:54:39 -06:00

37 lines
840 B
JavaScript

class VrtsSettings extends window.HTMLElement {
constructor() {
super();
this.resolveElements();
this.bindFunctions();
this.bindEvents();
}
resolveElements() {
this.$proSettingsCheckboxes = this.querySelectorAll(
'[data-a11y-dialog-show] input[type="checkbox"]'
);
}
bindFunctions() {
this.onCheckboxChange = this.onCheckboxChange.bind( this );
}
bindEvents() {
this.$proSettingsCheckboxes?.forEach( ( item ) => {
item.addEventListener( 'change', this.onCheckboxChange );
} );
}
onCheckboxChange( e ) {
e.preventDefault();
e.currentTarget.checked = ! e.currentTarget.checked;
}
disconnectedCallback() {
this.$proSettingsCheckboxes?.forEach( ( item ) => {
item.removeEventListener( 'change', this.onCheckboxChange );
} );
}
}
window.customElements.define( 'vrts-settings', VrtsSettings );