本文整理汇总了TypeScript中jupyterlab/lib/rendermime.RenderMime类的典型用法代码示例。如果您正苦于以下问题:TypeScript RenderMime类的具体用法?TypeScript RenderMime怎么用?TypeScript RenderMime使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了RenderMime类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: createApp
function createApp(manager: ServiceManager.IManager): void {
// Initialize the keymap manager with the bindings.
let commands = new CommandRegistry();
let keymap = new Keymap({ commands });
let useCapture = true;
// Setup the keydown listener for the document.
document.addEventListener('keydown', event => {
keymap.processKeydownEvent(event);
}, useCapture);
const transformers = RenderMime.defaultRenderers();
let renderers: RenderMime.MimeMap<RenderMime.IRenderer> = {};
let order: string[] = [];
for (let t of transformers) {
for (let m of t.mimetypes) {
renderers[m] = t;
order.push(m);
}
}
let sanitizer = defaultSanitizer;
let rendermime = new RenderMime({ renderers, order, sanitizer });
let opener = {
open: (widget: Widget) => {
// Do nothing for sibling widgets for now.
}
};
let docRegistry = new DocumentRegistry();
let docManager = new DocumentManager({
registry: docRegistry,
manager,
opener
});
let mFactory = new NotebookModelFactory({});
let clipboard = new MimeData();
let editorFactory = editorServices.factoryService.newInlineEditor;
let contentFactory = new NotebookPanel.ContentFactory({ editorFactory });
let wFactory = new NotebookWidgetFactory({
name: 'Notebook',
modelName: 'notebook',
fileExtensions: ['.ipynb'],
defaultFor: ['.ipynb'],
preferKernel: true,
canStartKernel: true,
rendermime, clipboard, contentFactory,
mimeTypeService: editorServices.mimeTypeService
});
docRegistry.addModelFactory(mFactory);
docRegistry.addWidgetFactory(wFactory);
let nbWidget = docManager.open(NOTEBOOK) as NotebookPanel;
let palette = new CommandPalette({ commands, keymap });
let panel = new SplitPanel();
panel.id = 'main';
panel.orientation = 'horizontal';
panel.spacing = 0;
SplitPanel.setStretch(palette, 0);
panel.addWidget(palette);
panel.addWidget(nbWidget);
Widget.attach(panel, document.body);
SplitPanel.setStretch(nbWidget, 1);
window.onresize = () => panel.update();
commands.addCommand(cmdIds.save, {
label: 'Save',
execute: () => nbWidget.context.save()
});
commands.addCommand(cmdIds.interrupt, {
label: 'Interrupt',
execute: () => {
if (nbWidget.context.kernel) {
nbWidget.context.kernel.interrupt();
}
}
});
commands.addCommand(cmdIds.restart, {
label: 'Restart Kernel',
execute: () => restartKernel(nbWidget.kernel, nbWidget.node)
});
commands.addCommand(cmdIds.switchKernel, {
label: 'Switch Kernel',
execute: () => selectKernelForContext(nbWidget.context, manager.sessions, nbWidget.node)
});
commands.addCommand(cmdIds.runAndAdvance, {
label: 'Run and Advance',
execute: () => {
NotebookActions.runAndAdvance(nbWidget.notebook, nbWidget.context.kernel);
}
});
commands.addCommand(cmdIds.editMode, {
label: 'Edit Mode',
execute: () => { nbWidget.notebook.mode = 'edit'; }
});
commands.addCommand(cmdIds.commandMode, {
label: 'Command Mode',
//.........这里部分代码省略.........
示例2: startApp
function startApp(session: Session.ISession) {
// Initialize the keymap manager with the bindings.
let commands = new CommandRegistry();
let keymap = new Keymap({ commands });
// Setup the keydown listener for the document.
document.addEventListener('keydown', event => {
keymap.processKeydownEvent(event);
});
const transformers = RenderMime.defaultRenderers();
let renderers: RenderMime.MimeMap<RenderMime.IRenderer> = {};
let order: string[] = [];
for (let t of transformers) {
for (let m of t.mimetypes) {
renderers[m] = t;
order.push(m);
}
}
let sanitizer = defaultSanitizer;
let rendermime = new RenderMime({ renderers, order, sanitizer });
let editorFactory = editorServices.factoryService.newInlineEditor;
let contentFactory = new ConsolePanel.ContentFactory({ editorFactory });
let consolePanel = new ConsolePanel({
rendermime,
session,
contentFactory,
mimeTypeService: editorServices.mimeTypeService
});
consolePanel.title.label = TITLE;
let palette = new CommandPalette({ commands, keymap });
let panel = new SplitPanel();
panel.id = 'main';
panel.orientation = 'horizontal';
panel.spacing = 0;
SplitPanel.setStretch(palette, 0);
SplitPanel.setStretch(consolePanel, 1);
Widget.attach(panel, document.body);
panel.addWidget(palette);
panel.addWidget(consolePanel);
window.onresize = () => { panel.update(); };
let selector = '.jp-ConsolePanel';
let category = 'Console';
let command: string;
command = 'console:clear';
commands.addCommand(command, {
label: 'Clear',
execute: () => { consolePanel.console.clear(); }
});
palette.addItem({ command, category });
command = 'console:execute';
commands.addCommand(command, {
label: 'Execute Prompt',
execute: () => { consolePanel.console.execute(); }
});
palette.addItem({ command, category });
keymap.addBinding({ command, selector, keys: ['Enter'] });
command = 'console:execute-forced';
commands.addCommand(command, {
label: 'Execute Cell (forced)',
execute: () => { consolePanel.console.execute(true); }
});
palette.addItem({ command, category });
keymap.addBinding({ command, selector, keys: ['Shift Enter'] });
command = 'console:linebreak';
commands.addCommand(command, {
label: 'Insert Line Break',
execute: () => { consolePanel.console.insertLinebreak(); }
});
palette.addItem({ command, category });
keymap.addBinding({ command, selector, keys: ['Ctrl Enter'] });
}
示例3: startApp
function startApp(session: Session.ISession) {
// Initialize the command registry with the key bindings.
let commands = new CommandRegistry();
// Setup the keydown listener for the document.
document.addEventListener('keydown', event => {
commands.processKeydownEvent(event);
});
let rendermime = new RenderMime({ items: RenderMime.getDefaultItems() });
let editorFactory = editorServices.factoryService.newInlineEditor;
let contentFactory = new ConsolePanel.ContentFactory({ editorFactory });
let consolePanel = new ConsolePanel({
rendermime,
session,
contentFactory,
mimeTypeService: editorServices.mimeTypeService
});
consolePanel.title.label = TITLE;
let palette = new CommandPalette({ commands });
let panel = new SplitPanel();
panel.id = 'main';
panel.orientation = 'horizontal';
panel.spacing = 0;
SplitPanel.setStretch(palette, 0);
SplitPanel.setStretch(consolePanel, 1);
Widget.attach(panel, document.body);
panel.addWidget(palette);
panel.addWidget(consolePanel);
window.onresize = () => { panel.update(); };
let selector = '.jp-ConsolePanel';
let category = 'Console';
let command: string;
command = 'console:clear';
commands.addCommand(command, {
label: 'Clear',
execute: () => { consolePanel.console.clear(); }
});
palette.addItem({ command, category });
command = 'console:execute';
commands.addCommand(command, {
label: 'Execute Prompt',
execute: () => { consolePanel.console.execute(); }
});
palette.addItem({ command, category });
commands.addKeyBinding({ command, selector, keys: ['Enter'] });
command = 'console:execute-forced';
commands.addCommand(command, {
label: 'Execute Cell (forced)',
execute: () => { consolePanel.console.execute(true); }
});
palette.addItem({ command, category });
commands.addKeyBinding({ command, selector, keys: ['Shift Enter'] });
command = 'console:linebreak';
commands.addCommand(command, {
label: 'Insert Line Break',
execute: () => { consolePanel.console.insertLinebreak(); }
});
palette.addItem({ command, category });
commands.addKeyBinding({ command, selector, keys: ['Ctrl Enter'] });
}