本文整理匯總了TypeScript中@jupyterlab/docregistry.IDocumentRegistry.preferredWidgetFactories方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript IDocumentRegistry.preferredWidgetFactories方法的具體用法?TypeScript IDocumentRegistry.preferredWidgetFactories怎麽用?TypeScript IDocumentRegistry.preferredWidgetFactories使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類@jupyterlab/docregistry.IDocumentRegistry
的用法示例。
在下文中一共展示了IDocumentRegistry.preferredWidgetFactories方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: createContextMenu
/**
* Create a context menu for the file browser listing.
*
* #### Notes
* This function generates temporary commands with an incremented name. These
* commands are disposed when the menu itself is disposed.
*/
function createContextMenu(path: string, commands: CommandRegistry, registry: IDocumentRegistry): Menu {
const menu = new Menu({ commands });
menu.addItem({ command: CommandIDs.open });
const ext = DocumentRegistry.extname(path);
const factories = registry.preferredWidgetFactories(ext).map(f => f.name);
if (path && factories.length > 1) {
const command = 'file-operations:open';
const openWith = new Menu({ commands });
openWith.title.label = 'Open With...';
factories.forEach(factory => {
openWith.addItem({ args: { factory, path }, command });
});
menu.addItem({ type: 'submenu', submenu: openWith });
}
menu.addItem({ command: CommandIDs.rename });
menu.addItem({ command: CommandIDs.del });
menu.addItem({ command: CommandIDs.duplicate });
menu.addItem({ command: CommandIDs.cut });
menu.addItem({ command: CommandIDs.copy });
menu.addItem({ command: CommandIDs.paste });
menu.addItem({ command: CommandIDs.download });
menu.addItem({ command: CommandIDs.shutdown });
return menu;
}
示例2: toArray
node.addEventListener('contextmenu', (event: MouseEvent) => {
event.preventDefault();
let path = fbWidget.pathForClick(event) || '';
let ext = DocumentRegistry.extname(path);
let factories = registry.preferredWidgetFactories(ext);
let widgetNames = toArray(map(factories, factory => factory.name));
let prefix = `${namespace}-contextmenu-${++Private.id}`;
let openWith: Menu = null;
if (path && widgetNames.length > 1) {
let disposables = new DisposableSet();
let command: string;
openWith = new Menu({ commands });
openWith.title.label = 'Open With...';
openWith.disposed.connect(() => { disposables.dispose(); });
for (let widgetName of widgetNames) {
command = `${prefix}:${widgetName}`;
disposables.add(commands.addCommand(command, {
execute: () => fbWidget.openPath(path, widgetName),
label: widgetName
}));
openWith.addItem({ command });
}
}
let menu = createContextMenu(fbWidget, openWith);
menu.open(event.clientX, event.clientY);
});