UNPKG

@dewesoft-web/grid2

Version:

Dewesoft WebUI Grid

59 lines (46 loc) 1.39 kB
import { WebControl, CommonEvent } from "../../ui/events"; import { observable } from "mobx"; import { ControlModel } from "../../ui/controls/ControlModel"; enum MenuEvent { DisplayChanged, ElementClick } export class ContextMenuModel extends ControlModel<MenuEvent> { @observable display : string; constructor(name : string, options) { super(WebControl.Button, name, options); this.setOptions(options); } onClick() { this.triggerEvent(MenuEvent.ElementClick); } onInitialized() { this.triggerCommon(CommonEvent.Initialized, { display: this.display }); } updateOptions(props) { if (this.display !== props.display) { this.display = props.display; } } protected setOptions(options) { this.display = options.display; } protected onEvent(event : MenuEvent, name : string, ...args : any[]) { if (this.name !== name) { return; } switch (event) { case MenuEvent.ElementClick: break; case MenuEvent.DisplayChanged: this.display = args[0]; break; default: super.onEvent(event, name, ...args); break; } } }