本文整理匯總了TypeScript中@jupyterlab/notebook.INotebookTracker類的典型用法代碼示例。如果您正苦於以下問題:TypeScript INotebookTracker類的具體用法?TypeScript INotebookTracker怎麽用?TypeScript INotebookTracker使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了INotebookTracker類的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: activateWidgetExtension
/**
* Activate the widget extension.
*/
function activateWidgetExtension(app: JupyterFrontEnd, tracker: INotebookTracker, rendermime: IRenderMimeRegistry, settingRegistry: ISettingRegistry, menu: IMainMenu | null): base.IJupyterWidgetRegistry {
const {commands} = app;
settingRegistry.load(plugin.id).then((settings: ISettingRegistry.ISettings) => {
settings.changed.connect(updateSettings);
updateSettings(settings);
}).catch((reason: Error) => {
console.error(reason.message);
});
// Add a placeholder widget renderer.
rendermime.addFactory(
{
safe: false,
mimeTypes: [WIDGET_VIEW_MIMETYPE],
createRenderer: options => new WidgetRenderer(options)
},
0
);
tracker.forEach(panel => {
registerWidgetManager(
panel.context,
panel.content.rendermime,
chain(
widgetRenderers(panel.content),
outputViews(app, panel.context.path)
)
);
});
tracker.widgetAdded.connect((sender, panel) => {
registerWidgetManager(
panel.context,
panel.content.rendermime,
chain(
widgetRenderers(panel.content),
outputViews(app, panel.context.path)
)
);
});
// Add a command for creating a new Markdown file.
commands.addCommand('@jupyter-widgets/jupyterlab-manager:saveWidgetState', {
label: 'Save Widget State Automatically',
execute: args => {
return settingRegistry
.set(plugin.id, 'saveState', !SETTINGS.saveState)
.catch((reason: Error) => {
console.error(`Failed to set ${plugin.id}: ${reason.message}`);
});
},
isToggled: () => SETTINGS.saveState
});
if (menu) {
menu.settingsMenu.addGroup([
{command: '@jupyter-widgets/jupyterlab-manager:saveWidgetState'}
]);
}
WIDGET_REGISTRY.push({
name: '@jupyter-widgets/base',
version: base.JUPYTER_WIDGETS_VERSION,
exports: {
WidgetModel: base.WidgetModel,
WidgetView: base.WidgetView,
DOMWidgetView: base.DOMWidgetView,
DOMWidgetModel: base.DOMWidgetModel,
LayoutModel: base.LayoutModel,
LayoutView: base.LayoutView,
StyleModel: base.StyleModel,
StyleView: base.StyleView
}
});
WIDGET_REGISTRY.push({
name: '@jupyter-widgets/controls',
version: JUPYTER_CONTROLS_VERSION,
exports: () => {
return new Promise((resolve, reject) => {
(require as any).ensure(['@jupyter-widgets/controls'], (require: NodeRequire) => {
resolve(require('@jupyter-widgets/controls'));
},
(err: any) => {
reject(err);
},
'@jupyter-widgets/controls'
);
});
}
});
WIDGET_REGISTRY.push({
name: '@jupyter-widgets/output',
version: OUTPUT_WIDGET_VERSION,
//.........這裏部分代碼省略.........
示例2: return
isActive: () => {
const current = app.shell.currentWidget;
return (
current &&
(notebookTracker.has(current) || consoleTracker.has(current))
);
}
示例3:
app.shell.currentChanged.connect((sender, args) => {
let widget = args.newValue;
if (!widget || !notebooks.has(widget)) {
return;
}
let source = handlers[widget.id];
if (source) {
manager.source = source;
}
});
示例4: if
app.shell.currentChanged.connect((shell, change) => {
const { oldValue, newValue } = change;
// Check if we need to disconnect the console listener
// or the notebook active cell listener
if (oldValue && consoleTracker.has(oldValue)) {
(oldValue as ConsolePanel).console.promptCellCreated.disconnect(
onPromptCreated
);
} else if (oldValue && notebookTracker.has(oldValue)) {
(oldValue as NotebookPanel).content.activeCellChanged.disconnect(
onActiveCellChanged
);
}
// Wire up the new editor to the model if it exists
if (newValue && consoleTracker.has(newValue)) {
(newValue as ConsolePanel).console.promptCellCreated.connect(
onPromptCreated
);
const prompt = (newValue as ConsolePanel).console.promptCell;
item.model!.editor = prompt && prompt.editor;
} else if (newValue && notebookTracker.has(newValue)) {
(newValue as NotebookPanel).content.activeCellChanged.connect(
onActiveCellChanged
);
const cell = (newValue as NotebookPanel).content.activeCell;
item.model!.editor = cell && cell.editor;
} else if (newValue && editorTracker.has(newValue)) {
item.model!.editor = (newValue as IDocumentWidget<
FileEditor
>).content.editor;
} else {
item.model!.editor = null;
}
});