UNPKG

@voila-dashboards/jupyterlab-gridstack

Version:

A gridstack-based template for [![voila-gridstack](assets/voila.png)](https://github.com/voila-dashboards/voila).

31 lines (30 loc) 1.3 kB
import { IJupyterWidgetRegistry } from '@jupyter-widgets/base'; import { registerWidgetManager, WidgetRenderer, } from '@jupyter-widgets/jupyterlab-manager'; import { IVoilaGridStackTracker } from '../editor/widget'; function* widgetRenderers(editor) { for (const w of editor.gridWidgets) { if (w instanceof WidgetRenderer) { yield w; } } } /** * A plugin to add support for rendering Jupyter Widgets in the editor. */ export const widgets = { id: '@voila-dashboards/jupyterlab-gridstack:widgets', autoStart: true, optional: [IVoilaGridStackTracker, IJupyterWidgetRegistry], activate: (app, voilaEditorTracker, widgetRegistry) => { if (!widgetRegistry) { return; } voilaEditorTracker === null || voilaEditorTracker === void 0 ? void 0 : voilaEditorTracker.forEach((panel) => { registerWidgetManager(panel.context, panel.content.rendermime, widgetRenderers(panel.content)); }); voilaEditorTracker === null || voilaEditorTracker === void 0 ? void 0 : voilaEditorTracker.widgetAdded.connect((sender, panel) => { registerWidgetManager(panel.context, panel.content.rendermime, widgetRenderers(panel.content)); }); console.log(widgets.id, 'activated'); }, };