hswidget
Version:
Helpful Scripts UI widgets
24 lines • 2.9 kB
JavaScript
import m from "mithril";
import { Log } from 'hsutil';
const log = new Log('EditSelect');
import { Popup } from './Popup';
import { Widget } from "./Widget";
export class EditSelect extends Widget {
oninit(node) {
node.state.selectable = false;
const i = node.children.indexOf(node.attrs.initial);
node.state.selected = node.children[i >= 0 ? i : 0];
node.state.select = (e) => {
const selection = e.currentTarget.value;
node.attrs.update(selection);
node.state.selected = selection;
node.state.selectable = false;
};
}
view(node) {
return m(`select.hsedit_select`, Popup.arm(node.attrs.popup, this.attrs(node.attrs, { onchange: node.state.select })), node.children.map((o) => node.state.selected === o ?
m('option.hsedit_select_option.selected', { value: o, selected: true }, o) :
m('option.hsedit_select_option', { value: o }, o)));
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWRpdFNlbGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9FZGl0U2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFDQSxPQUFPLENBQUMsTUFBTSxTQUFTLENBQUM7QUFDeEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFXLFFBQVEsQ0FBQztBQUFFLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBUyxTQUFTLENBQUM7QUFDbkMsT0FBTyxFQUFFLE1BQU0sRUFBMkIsTUFBUSxVQUFVLENBQUM7QUFXN0QsTUFBTSxPQUFPLFVBQVcsU0FBUSxNQUFNO0lBSWxDLE1BQU0sQ0FBQyxJQUFpQztRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDOUIsTUFBTSxDQUFDLEdBQWMsSUFBSSxDQUFDLFFBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBYyxJQUFJLENBQUMsUUFBUyxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFPLEVBQUUsRUFBRTtZQUM1QixNQUFNLFNBQVMsR0FBdUIsQ0FBQyxDQUFDLGFBQWMsQ0FBQyxLQUFLLENBQUM7WUFDN0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUNsQyxDQUFDLENBQUE7SUFDTCxDQUFDO0lBQ0QsSUFBSSxDQUFDLElBQWlDO1FBQ2xDLE9BQU8sQ0FBQyxDQUFDLHNCQUFzQixFQUMzQixLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBTyxFQUFFLFFBQVEsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsRUFDNUUsSUFBSSxDQUFDLFFBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFHLENBQUMsQ0FBQSxDQUFDO1lBQ2hFLENBQUMsQ0FBQyxzQ0FBc0MsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0UsQ0FBQyxDQUFDLDZCQUE2QixFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0NBQ0oifQ==