hswidget
Version:
Helpful Scripts UI widgets
26 lines • 2.38 kB
JavaScript
import m from "mithril";
import { RadioButtons } from './Optionbuttons';
import { Widget } from './Widget';
export class Menu extends RadioButtons {
view(node) {
node.attrs.class = [node.attrs.class || '', `hs_menu`].join(' ');
return super.view(node);
}
}
export class MenuPanel extends Widget {
oninit(node) {
node.state.selected = node.attrs.initial || 0;
node.state.change = (index) => node.state.selected = index;
}
view(node) {
const children = node.children;
return m('.hs_menu_panel', [
m(Menu, {
onclick: node.state.change,
initial: node.attrs.initial || 0
}, node.attrs.menuItems || children.map((c, i) => i)),
m('.hs_menu_content', children[node.state.selected])
]);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9NZW51LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdGQSxPQUFPLENBQUMsTUFBNkIsU0FBUyxDQUFDO0FBQy9DLE9BQU8sRUFBZSxZQUFZLEVBQUUsTUFBYyxpQkFBaUIsQ0FBQztBQUdwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQW9CLFVBQVUsQ0FBQztBQWFoRCxNQUFNLE9BQU8sSUFBSyxTQUFRLFlBQVk7SUFDbEMsSUFBSSxDQUFDLElBQTRCO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQUNKO0FBbUJELE1BQU0sT0FBTyxTQUFVLFNBQVEsTUFBTTtJQUdqQyxNQUFNLENBQUMsSUFBaUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFBO1FBQzdDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDdEUsQ0FBQztJQUNELElBQUksQ0FBQyxJQUFpQztRQUNsQyxNQUFNLFFBQVEsR0FBYyxJQUFJLENBQUMsUUFBUSxDQUFBO1FBQ3pDLE9BQU8sQ0FBQyxDQUFDLGdCQUFnQixFQUFFO1lBRXZCLENBQUMsQ0FBQyxJQUFJLEVBQWE7Z0JBQ2YsT0FBTyxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtnQkFDekIsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLENBQUM7YUFDbkMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFcEQsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3ZELENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiJ9