本文整理汇总了TypeScript中@jupyterlab/apputils.ToolbarButton类的典型用法代码示例。如果您正苦于以下问题:TypeScript ToolbarButton类的具体用法?TypeScript ToolbarButton怎么用?TypeScript ToolbarButton使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ToolbarButton类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: it
it('should activate the callback', async () => {
let called = false;
const button = new ToolbarButton({
onClick: () => {
called = true;
}
});
Widget.attach(button, document.body);
await framePromise();
simulate(button.node.firstChild as HTMLElement, 'click');
expect(called).to.equal(true);
button.dispose();
});
示例2: FileBrowserModel
const createFileBrowser = (
id: string,
options: IFileBrowserFactory.IOptions = {}
) => {
const model = new FileBrowserModel({
manager: docManager,
driveName: options.driveName || '',
state: options.state === null ? null : options.state || state
});
const widget = new FileBrowser({
id,
model,
commands: options.commands || commands
});
const { registry } = docManager;
// Add a launcher toolbar item.
let launcher = new ToolbarButton({
className: 'jp-AddIcon',
onClick: () => {
return createLauncher(commands, widget);
},
tooltip: 'New Launcher'
});
launcher.addClass('jp-MaterialIcon');
widget.toolbar.insertItem(0, 'launch', launcher);
// Add a context menu handler to the file browser's directory listing.
let node = widget.node.getElementsByClassName('jp-DirListing-content')[0];
node.addEventListener('contextmenu', (event: MouseEvent) => {
event.preventDefault();
const model = widget.modelForClick(event);
const menu = createContextMenu(model, commands, registry);
menu.open(event.clientX, event.clientY);
});
// Track the newly created file browser.
tracker.add(widget);
return widget;
};
示例3: createApp
function createApp(manager: ServiceManager.IManager): void {
let widgets: Widget[] = [];
let activeWidget: Widget;
let opener = {
open: (widget: Widget) => {
if (widgets.indexOf(widget) === -1) {
dock.addWidget(widget, { mode: 'tab-after' });
widgets.push(widget);
}
dock.activateWidget(widget);
activeWidget = widget;
widget.disposed.connect((w: Widget) => {
let index = widgets.indexOf(w);
widgets.splice(index, 1);
});
}
};
let docRegistry = new DocumentRegistry();
let docManager = new DocumentManager({
registry: docRegistry,
manager,
opener
});
let editorServices = {
factoryService: new CodeMirrorEditorFactory(),
mimeTypeService: new CodeMirrorMimeTypeService()
};
let wFactory = new FileEditorFactory({
editorServices,
factoryOptions: {
name: 'Editor',
modelName: 'text',
fileTypes: ['*'],
defaultFor: ['*'],
preferKernel: false,
canStartKernel: true
}
});
docRegistry.addWidgetFactory(wFactory);
let commands = new CommandRegistry();
let fbModel = new FileBrowserModel({ manager: docManager });
let fbWidget = new FileBrowser({
id: 'filebrowser',
commands,
model: fbModel
});
// Add a creator toolbar item.
let creator = new ToolbarButton({
className: 'jp-AddIcon',
onClick: () => {
docManager.newUntitled({
type: 'file',
path: fbModel.path
}).then(model => {
docManager.open(model.path);
});
}
});
creator.addClass('jp-MaterialIcon');
fbWidget.toolbar.insertItem(0, 'create', creator);
let panel = new SplitPanel();
panel.id = 'main';
panel.addWidget(fbWidget);
SplitPanel.setStretch(fbWidget, 0);
let dock = new DockPanel();
panel.addWidget(dock);
SplitPanel.setStretch(dock, 1);
dock.spacing = 8;
document.addEventListener('focus', event => {
for (let i = 0; i < widgets.length; i++) {
let widget = widgets[i];
if (widget.node.contains(event.target as HTMLElement)) {
activeWidget = widget;
break;
}
}
});
// Add commands.
commands.addCommand('file-open', {
label: 'Open',
icon: 'fa fa-folder-open-o',
mnemonic: 0,
execute: () => {
each(fbWidget.selectedItems(), item => {
docManager.openOrReveal(item.path);
});
}
});
commands.addCommand('file-rename', {
label: 'Rename',
icon: 'fa fa-edit',
mnemonic: 0,
//.........这里部分代码省略.........