本文整理匯總了TypeScript中jupyter-js-ui/lib/filehandler.FileHandlerRegistry類的典型用法代碼示例。如果您正苦於以下問題:TypeScript FileHandlerRegistry類的具體用法?TypeScript FileHandlerRegistry怎麽用?TypeScript FileHandlerRegistry使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了FileHandlerRegistry類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的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',
//.........這裏部分代碼省略.........
示例3: activateNotebookHandler
/**
* Activate the notebook handler extension.
*/
function activateNotebookHandler(app: Application, registry: FileHandlerRegistry, services: JupyterServices, rendermime: RenderMime<Widget>): Promise<void> {
let handler = new NotebookFileHandler(
services.contentsManager,
services.notebookSessionManager,
rendermime
);
registry.addHandler(handler);
let creator = new NotebookCreator(handler);
registry.addCreator('New Notebook', creator.createNew.bind(creator));
// Temporary notebook focus follower.
document.body.addEventListener('focus', event => {
for (let widget of Private.widgets) {
let target = event.target as HTMLElement;
if (widget.isAttached && widget.isVisible) {
if (widget.node.contains(target)) {
Private.activeWidget = widget;
return;
}
}
}
}, true);
// Add opened notebooks to the widget list temporarily
handler.opened.connect((h, widget) => {
Private.activeWidget = widget;
Private.widgets.push(widget);
});
app.commands.add([
{
id: cmdIds['runAndAdvance'],
handler: () => {
let manager = Private.activeWidget.manager;
if (manager) manager.runAndAdvance();
}
},
{
id: cmdIds['run'],
handler: () => {
let manager = Private.activeWidget.manager;
if (manager) manager.run();
}
},
{
id: cmdIds['runAndInsert'],
handler: () => {
let manager = Private.activeWidget.manager;
if (manager) manager.runAndInsert();
}
},
{
id: cmdIds['restart'],
handler: () => {
let manager = Private.activeWidget.manager;
if (manager) manager.restart();
}
},
{
id: cmdIds['interrupt'],
handler: () => {
let manager = Private.activeWidget.manager;
if (manager) manager.interrupt();
}
},
{
id: cmdIds['toCode'],
handler: () => {
let manager = Private.activeWidget.manager;
if (manager) manager.changeCellType('code'); }
},
{
id: cmdIds['toMarkdown'],
handler: () => {
let manager = Private.activeWidget.manager;
if (manager) manager.changeCellType('markdown'); }
},
{
id: cmdIds['toRaw'],
handler: () => {
let manager = Private.activeWidget.manager;
if (manager) manager.changeCellType('raw');
}
},
{
id: cmdIds['cut'],
handler: () => {
let manager = Private.activeWidget.manager;
if (manager) manager.cut();
}
},
{
id: cmdIds['copy'],
handler: () => {
let manager = Private.activeWidget.manager;
if (manager) manager.copy();
//.........這裏部分代碼省略.........
示例4: ImageHandler
activate: (app: Application, registry: FileHandlerRegistry, services: JupyterServices) => {
let handler = new ImageHandler(services.contentsManager);
registry.addHandler(handler);
return Promise.resolve(void 0);
}
示例5:
fileCreator.createNew('').then(contents => {
registry.open(contents.path);
});