hswidget
Version:
Helpful Scripts UI widgets
26 lines • 2.52 kB
JavaScript
import m from "mithril";
import { Log } from 'hsutil';
const log = new Log('EditSelect');
import { Widget } from "./Widget";
export class EditCheckbox extends Widget {
oninit(node) {
node.state.id = node.attrs.id || `hsCheckbox${Math.floor(Math.random() * 1000000)}`;
node.state.checked = node.attrs.initial || false;
node.state.toggleCheckbox = () => {
node.state.checked = !node.state.checked;
node.attrs.update(node.state.checked);
};
}
view(node) {
return m('.hs_edit_checkbox', this.attrs(node.attrs, {}), [
m(`input`, {
id: node.state.id,
type: 'checkbox',
checked: node.state.checked,
onclick: node.state.toggleCheckbox
}),
m('label', { for: node.state.id }, node.children || '')
]);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWRpdENoZWNrYm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0VkaXRDaGVja2JveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQ0EsT0FBTyxDQUFDLE1BQXFCLFNBQVMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQWUsUUFBUSxDQUFDO0FBQUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7QUFHekUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFZLFVBQVUsQ0FBQztBQVV4QyxNQUFNLE9BQU8sWUFBYSxTQUFRLE1BQU07SUFRcEMsTUFBTSxDQUFDLElBQW1DO1FBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLGFBQWEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNsRixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUM7UUFDakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsR0FBRyxFQUFFO1lBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUE7SUFDTCxDQUFDO0lBRUQsSUFBSSxDQUFDLElBQW1DO1FBQ3BDLE9BQU8sQ0FBQyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBTyxFQUN6RCxDQUFDLEVBQUU7WUFDQSxDQUFDLENBQUMsT0FBTyxFQUFFO2dCQUNQLEVBQUUsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2hCLElBQUksRUFBRSxVQUFVO2dCQUNoQixPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPO2dCQUMzQixPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjO2FBQ3JDLENBQUM7WUFDRixDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsSUFBRSxFQUFFLENBQUM7U0FDckQsQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKIn0=