本文整理汇总了TypeScript中phosphor/lib/core/disposable.DisposableSet类的典型用法代码示例。如果您正苦于以下问题:TypeScript DisposableSet类的具体用法?TypeScript DisposableSet怎么用?TypeScript DisposableSet使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了DisposableSet类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: toArray
node.addEventListener('contextmenu', (event: MouseEvent) => {
event.preventDefault();
let path = fbWidget.pathForClick(event) || '';
let ext = '.' + path.split('.').pop();
let factories = registry.preferredWidgetFactories(ext);
let widgetNames = toArray(map(factories, factory => {
return factory.name;
}));
let prefix = `file-browser-contextmenu-${++Private.id}`;
let openWith: Menu = null;
if (path && widgetNames.length > 1) {
let disposables = new DisposableSet();
let command: string;
openWith = new Menu({ commands, keymap });
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);
});
示例2: createContextMenu
/**
* Create a context menu for the file browser listing.
*/
function createContextMenu(fbWidget: FileBrowserWidget, openWith: Menu): Menu {
let { commands, keymap } = fbWidget;
let menu = new Menu({ commands, keymap });
let prefix = `file-browser-${++Private.id}`;
let disposables = new DisposableSet();
let command: string;
// // Remove all the commands associated with this menu upon disposal.
menu.disposed.connect(() => disposables.dispose());
command = `${prefix}:open`;
disposables.add(commands.addCommand(command, {
execute: () => fbWidget.open(),
icon: 'fa fa-folder-open-o',
label: 'Open',
mnemonic: 0
}));
menu.addItem({ command });
if (openWith) {
menu.addItem({ type: 'submenu', menu: openWith });
}
command = `${prefix}:rename`;
disposables.add(commands.addCommand(command, {
execute: () => fbWidget.rename(),
icon: 'fa fa-edit',
label: 'Rename',
mnemonic: 0
}));
menu.addItem({ command });
command = `${prefix}:delete`;
disposables.add(commands.addCommand(command, {
execute: () => fbWidget.delete(),
icon: 'fa fa-remove',
label: 'Delete',
mnemonic: 0
}));
menu.addItem({ command });
command = `${prefix}:duplicate`;
disposables.add(commands.addCommand(command, {
execute: () => fbWidget.duplicate(),
icon: 'fa fa-copy',
label: 'Duplicate'
}));
menu.addItem({ command });
command = `${prefix}:cut`;
disposables.add(commands.addCommand(command, {
execute: () => fbWidget.cut(),
icon: 'fa fa-cut',
label: 'Cut'
}));
menu.addItem({ command });
command = `${prefix}:copy`;
disposables.add(commands.addCommand(command, {
execute: () => fbWidget.copy(),
icon: 'fa fa-copy',
label: 'Copy',
mnemonic: 0
}));
menu.addItem({ command });
command = `${prefix}:paste`;
disposables.add(commands.addCommand(command, {
execute: () => fbWidget.paste(),
icon: 'fa fa-paste',
label: 'Paste',
mnemonic: 0
}));
menu.addItem({ command });
command = `${prefix}:download`;
disposables.add(commands.addCommand(command, {
execute: () => fbWidget.download(),
icon: 'fa fa-download',
label: 'Download'
}));
menu.addItem({ command });
command = `${prefix}:shutdown`;
disposables.add(commands.addCommand(command, {
execute: () => fbWidget.shutdownKernels(),
icon: 'fa fa-stop-circle-o',
label: 'Shutdown Kernel'
}));
menu.addItem({ command });
menu.disposed.connect(() => disposables.dispose());
return menu;
}