@jupyterlab/apputils
Version:
JupyterLab - Application Utilities
53 lines (52 loc) • 1.63 kB
TypeScript
import { ISettingRegistry } from '@jupyterlab/settingregistry';
import { ContextMenu, Menu } from '@lumino/widgets';
/**
* Helper functions to build a menu from the settings
*/
export declare namespace MenuFactory {
/**
* Menu constructor options
*/
interface IMenuOptions {
/**
* The unique menu identifier.
*/
id: string;
/**
* The menu label.
*/
label?: string;
/**
* The menu rank.
*/
rank?: number;
}
/**
* Create menus from their description
*
* @param data Menubar description
* @param menuFactory Factory for empty menu
*/
function createMenus(data: ISettingRegistry.IMenu[], menuFactory: (options: IMenuOptions) => Menu): Menu[];
/**
* Convert an item description in a context menu item object
*
* @param item Context menu item
* @param menu Context menu to populate
* @param menuFactory Empty menu factory
*/
function addContextItem(item: ISettingRegistry.IContextMenuItem, menu: ContextMenu, menuFactory: (options: IMenuOptions) => Menu): void;
/**
* Update an existing list of menu and returns
* the new elements.
*
* #### Note
* New elements are added to the current menu list.
*
* @param menus Current menus
* @param data New description to take into account
* @param menuFactory Empty menu factory
* @returns Newly created menus
*/
function updateMenus(menus: Menu[], data: ISettingRegistry.IMenu[], menuFactory: (options: IMenuOptions) => Menu): Menu[];
}