本文整理汇总了TypeScript中jupyter-js-ui/lib/filehandler.FileHandlerRegistry.addDefaultHandler方法的典型用法代码示例。如果您正苦于以下问题:TypeScript FileHandlerRegistry.addDefaultHandler方法的具体用法?TypeScript FileHandlerRegistry.addDefaultHandler怎么用?TypeScript FileHandlerRegistry.addDefaultHandler使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jupyter-js-ui/lib/filehandler.FileHandlerRegistry
的用法示例。
在下文中一共展示了FileHandlerRegistry.addDefaultHandler方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: activateFileHandler
function activateFileHandler(app: Application, registry: FileHandlerRegistry, services: JupyterServices): Promise<void> {
let contents = services.contentsManager;
let activeId = '';
let id = 0;
let fileHandler = new FileHandler(contents);
let dirCreator = new FileCreator(contents, 'directory');
let fileCreator = new FileCreator(contents, 'file');
registry.addDefaultHandler(fileHandler);
registry.addCreator(
'New Directory', dirCreator.createNew.bind(dirCreator));
registry.addCreator('New File', fileCreator.createNew.bind(fileCreator));
app.commands.add([
{
id: 'text-file:create-new',
handler: () => {
fileCreator.createNew('').then(contents => {
registry.open(contents.path);
});
}
}]);
return Promise.resolve(void 0);
};
示例2: main
function main(): void {
let baseUrl = getConfigOption('baseUrl');
let contentsManager = new ContentsManager(baseUrl);
let sessionsManager = new NotebookSessionManager({ baseUrl: baseUrl });
let fbModel = new FileBrowserModel(contentsManager, sessionsManager);
let registry = new FileHandlerRegistry();
let fileHandler = new FileHandler(contentsManager);
registry.addDefaultHandler(fileHandler);
let fbWidget = new FileBrowserWidget(fbModel, registry);
let dirCreator = new FileCreator(contentsManager, 'directory');
let fileCreator = new FileCreator(contentsManager, 'file');
registry.addCreator(
'New Directory', dirCreator.createNew.bind(dirCreator));
registry.addCreator('New File', fileCreator.createNew.bind(fileCreator));
let widgets: CodeMirrorWidget[] = [];
registry.opened.connect((r, widget) => {
dock.insertTabAfter(widget);
widgets.push(widget as CodeMirrorWidget);
});
let panel = new SplitPanel();
panel.id = 'main';
panel.addChild(fbWidget);
SplitPanel.setStretch(fbWidget, 0);
let dock = new DockPanel();
panel.addChild(dock);
SplitPanel.setStretch(dock, 1);
dock.spacing = 8;
let activeWidget: CodeMirrorWidget;
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;
}
}
});
let keymapManager = new KeymapManager();
keymapManager.add([{
sequence: ['Enter'],
selector: '.jp-DirListing',
handler: () => {
fbWidget.open();
return true;
}
}, {
sequence: ['Ctrl N'], // Add emacs keybinding for select next.
selector: '.jp-DirListing',
handler: () => {
fbWidget.selectNext();
return true;
}
}, {
sequence: ['Ctrl P'], // Add emacs keybinding for select previous.
selector: '.jp-DirListing',
handler: () => {
fbWidget.selectPrevious();
return true;
}
}, {
sequence: ['Accel S'],
selector: '.jp-CodeMirrorWidget',
handler: () => {
let path = fileHandler.findModel(activeWidget).path;
fileHandler.save(path);
return true;
}
}]);
window.addEventListener('keydown', (event) => {
keymapManager.processKeydownEvent(event);
});
let contextMenu = new Menu([
new MenuItem({
text: '&Open',
icon: 'fa fa-folder-open-o',
shortcut: 'Ctrl+O',
handler: () => { fbWidget.open(); }
}),
new MenuItem({
text: '&Rename',
icon: 'fa fa-edit',
shortcut: 'Ctrl+R',
handler: () => { fbWidget.rename(); }
}),
new MenuItem({
text: '&Delete',
icon: 'fa fa-remove',
shortcut: 'Ctrl+D',
//.........这里部分代码省略.........