@intuitionrobotics/thunderstorm
Version:
41 lines (40 loc) • 1.48 kB
TypeScript
import { Module } from "@intuitionrobotics/ts-common";
import { MenuPosition } from "./PopupMenu";
import { _GenericRenderer, Adapter } from "../../components/adapter/Adapter";
import { BaseRendererMap } from "../../components/adapter/BaseRenderer";
import { CSSProperties } from "react";
export declare const resolveRealPosition: (button: HTMLImageElement) => MenuPosition;
export type _Menu<Rm extends BaseRendererMap<any>> = _GenericRenderer<Rm>;
export type Menu_Model = {
id: string;
adapter: Adapter;
pos: MenuPosition;
onNodeClicked?: (path: string, item: any) => void;
onNodeDoubleClicked?: Function;
css?: CSSProperties;
};
export interface MenuListener {
__onMenuDisplay: (menu: Menu_Model) => void;
__onMenuHide: (id: string) => void;
}
export declare class MenuModule_Class extends Module<{}> {
constructor();
private showMenu;
private hideMenu;
show: (model: Menu_Model) => void;
hide: (id: string) => void[];
}
export declare const MenuModule: MenuModule_Class;
export declare class MenuBuilder {
private readonly adapter;
private readonly position;
private readonly cssContainer?;
private id;
private onNodeClicked?;
private onNodeDoubleClicked?;
constructor(menu: Adapter, position: MenuPosition, cssContainer?: CSSProperties);
show(): void;
setId(id: string): this;
setOnClick(func: (path: string, item: any) => void): this;
setOnDoubleClick(func: Function): this;
}