19 lines
443 B
JavaScript
19 lines
443 B
JavaScript
|
|
||
|
class ToggleSwitch {
|
||
|
|
||
|
constructor(elem) {
|
||
|
this.elem = elem;
|
||
|
this.input = elem.querySelector('input');
|
||
|
|
||
|
this.elem.onclick = this.onClick.bind(this);
|
||
|
}
|
||
|
|
||
|
onClick(event) {
|
||
|
let checked = this.input.value !== 'true';
|
||
|
this.input.value = checked ? 'true' : 'false';
|
||
|
checked ? this.elem.classList.add('active') : this.elem.classList.remove('active');
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
module.exports = ToggleSwitch;
|