30 lines
No EOL
883 B
JavaScript
30 lines
No EOL
883 B
JavaScript
/**
|
|
* Webhook Events
|
|
* Manages dynamic selection control in the webhook form interface.
|
|
*/
|
|
import {Component} from "./component";
|
|
|
|
export class WebhookEvents extends Component {
|
|
|
|
setup() {
|
|
this.checkboxes = this.$el.querySelectorAll('input[type="checkbox"]');
|
|
this.allCheckbox = this.$el.querySelector('input[type="checkbox"][value="all"]');
|
|
|
|
this.$el.addEventListener('change', event => {
|
|
if (event.target.checked && event.target === this.allCheckbox) {
|
|
this.deselectIndividualEvents();
|
|
} else if (event.target.checked) {
|
|
this.allCheckbox.checked = false;
|
|
}
|
|
});
|
|
}
|
|
|
|
deselectIndividualEvents() {
|
|
for (const checkbox of this.checkboxes) {
|
|
if (checkbox !== this.allCheckbox) {
|
|
checkbox.checked = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
} |