本文整理汇总了TypeScript中@jupyterlab/cells.CodeCell类的典型用法代码示例。如果您正苦于以下问题:TypeScript CodeCell类的具体用法?TypeScript CodeCell怎么用?TypeScript CodeCell使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CodeCell类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: runCell
/**
* Run a cell.
*/
function runCell(parent: Notebook, child: Cell, session?: IClientSession): Promise<boolean> {
switch (child.model.type) {
case 'markdown':
(child as MarkdownCell).rendered = true;
child.inputHidden = false;
break;
case 'code':
if (session) {
return CodeCell.execute(child as CodeCell, session).then(reply => {
if (child.isDisposed) {
return false;
}
if (reply && reply.content.status === 'ok') {
let content = reply.content as KernelMessage.IExecuteOkReply;
if (content.payload && content.payload.length) {
handlePayload(content, parent, child);
}
}
return reply ? reply.content.status === 'ok' : true;
}).catch(e => {
if (e.message !== 'Canceled') {
throw e;
}
return false;
});
}
(child.model as ICodeCellModel).executionCount = null;
break;
default:
break;
}
return Promise.resolve(true);
}
示例2:
execute: () => CodeCell.execute(cellWidget, session)
示例3: main
function main(): void {
const manager = new SessionManager();
const session = new ClientSession({ manager, name: 'Example' });
const mimeService = new CodeMirrorMimeTypeService();
// Initialize the command registry with the bindings.
const commands = new CommandRegistry();
const useCapture = true;
// Setup the keydown listener for the document.
document.addEventListener('keydown', event => {
commands.processKeydownEvent(event);
}, useCapture);
// Create the cell widget with a default rendermime instance.
const rendermime = new RenderMimeRegistry({ initialFactories });
const cellWidget = new CodeCell({
rendermime,
model: new CodeCellModel({})
});
// Handle the mimeType for the current kernel.
session.kernelChanged.connect(() => {
session.kernel.ready.then(() => {
const lang = session.kernel.info.language_info;
const mimeType = mimeService.getMimeTypeByLanguage(lang);
cellWidget.model.mimeType = mimeType;
});
});
// Start the default kernel.
session.kernelPreference = { autoStartDefault: true };
session.initialize();
// Set up a completer.
const editor = cellWidget.editor;
const model = new CompleterModel();
const completer = new Completer({ editor, model });
const connector = new KernelConnector({ session });
const handler = new CompletionHandler({ completer, connector });
// Set the handler's editor.
handler.editor = editor;
// Hide the widget when it first loads.
completer.hide();
// Create a toolbar for the cell.
const toolbar = new Toolbar();
toolbar.addItem('spacer', Toolbar.createSpacerItem());
toolbar.addItem('interrupt', Toolbar.createInterruptButton(session));
toolbar.addItem('restart', Toolbar.createRestartButton(session));
toolbar.addItem('name', Toolbar.createKernelNameItem(session));
toolbar.addItem('status', Toolbar.createKernelStatusItem(session));
// Lay out the widgets.
const panel = new BoxPanel();
panel.id = 'main';
panel.direction = 'top-to-bottom';
panel.spacing = 0;
panel.addWidget(completer);
panel.addWidget(toolbar);
panel.addWidget(cellWidget);
BoxPanel.setStretch(toolbar, 0);
BoxPanel.setStretch(cellWidget, 1);
// Attach the panel to the DOM.
Widget.attach(panel, document.body);
// Handle widget state.
window.addEventListener('resize', () => { panel.update(); });
cellWidget.activate();
// Add the commands.
commands.addCommand('invoke:completer', {
execute: () => { handler.invoke(); }
});
commands.addCommand('run:cell', {
execute: () => CodeCell.execute(cellWidget, session)
});
commands.addKeyBinding({
selector: '.jp-InputArea-editor.jp-mod-completer-enabled',
keys: ['Tab'],
command: 'invoke:completer'
});
commands.addKeyBinding({
selector: '.jp-InputArea-editor',
keys: ['Shift Enter'],
command: 'run:cell'
});
}
示例4:
matchedCells.forEach((cell) => {
cell instanceof CodeCell && CodeCell.execute(cell, session);
});