UNPKG

hswidget

Version:
45 lines (44 loc) 1.71 kB
import m from "mithril"; import { EnabledWidget, EnabledWidgetAtrrs, Vnode } from './Widget'; import { ViewResult } from './Widget'; import { Stateful } from "./support/State"; export interface OptionClick { (buttonIndex: number, newValue: number, states: number[]): void; } export interface OptionButtonsAttrs extends EnabledWidgetAtrrs { onclick: OptionClick; initial?: number | number[]; transition?: Transitions; remoteSet?: (r: RemoteSet) => void; } export interface RemoteSet { (buttonIndex: number, newValue: number): void; } export interface Transitions { (buttonIndex: number, newValue: number, states: Stateful[]): number[]; } export declare class OptionButtons extends EnabledWidget { static transitions: { [name: string]: Transitions; }; stateAccess: Stateful[]; setAccessFn: (stateful: Stateful, buttonIndex: number) => void; onclick: OptionClick; transition: Transitions; setButton(buttonIndex: number, newValue: number): void; oninit(node: Vnode<OptionButtonsAttrs, this>): void; view(node: Vnode<OptionButtonsAttrs, this>): ViewResult; } export interface RadioButtonsAttrs extends OptionButtonsAttrs { } export declare class RadioButtons extends OptionButtons { oninit(node: Vnode<RadioButtonsAttrs, this>): void; view(node: Vnode<RadioButtonsAttrs, this>): string | number | boolean | void | m.Vnode<any, any> | m.ChildArray; } export interface IconbuttonsAttrs extends EnabledWidgetAtrrs { onclick: (buttonIndex: number, newValue: number, states: number[]) => void; radioMode: boolean; } export declare class IconButtons extends EnabledWidget { view(node: Vnode<IconbuttonsAttrs, this>): ViewResult; }