BookStack/resources/js/components/toggle-switch.js

22 lines
637 B
JavaScript
Raw Normal View History

import {Component} from './component';
2022-11-15 20:44:57 +08:00
export class ToggleSwitch extends Component {
2022-11-15 20:44:57 +08:00
setup() {
this.input = this.$el.querySelector('input[type=hidden]');
this.checkbox = this.$el.querySelector('input[type=checkbox]');
this.checkbox.addEventListener('change', this.stateChange.bind(this));
}
stateChange() {
this.input.value = (this.checkbox.checked ? 'true' : 'false');
2019-08-18 20:11:30 +08:00
// Dispatch change event from hidden input so they can be listened to
// like a normal checkbox.
const changeEvent = new Event('change');
this.input.dispatchEvent(changeEvent);
}
}