Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 2x 2x | import type Community from '../index' import {BaseInput} from './index' export class InputSwitch extends BaseInput { type: 'switch' = 'switch' e: HTMLInputElement source: boolean constructor(e: HTMLElement, site: Community) { super(e, site) this.listen = this.listen.bind(this) e.addEventListener('change', this.listen) } get() { this.set(this.e.checked) } set(v: string | boolean) { Iif ('string' === typeof v) v = 'on' === v || 'true' === v Iif (v !== this.source) { this.previous = this.e.checked this.e.checked = this.source = v this.site.request_queue(this.id) } } listen(e: MouseEvent) { this.set(this.e.checked) } } |