diff --git a/src/sql/workbench/parts/notebook/browser/notebook.contribution.ts b/src/sql/workbench/parts/notebook/browser/notebook.contribution.ts index fb0fc55f33..a8767cb695 100644 --- a/src/sql/workbench/parts/notebook/browser/notebook.contribution.ts +++ b/src/sql/workbench/parts/notebook/browser/notebook.contribution.ts @@ -292,4 +292,17 @@ registerComponentType({ selector: MarkdownOutputComponent.SELECTOR }); +/** + * A mime renderer for IPyWidgets + */ +registerComponentType({ + mimeTypes: [ + 'application/vnd.jupyter.widget-view', + 'application/vnd.jupyter.widget-view+json' + ], + rank: 47, + safe: true, + ctor: MimeRendererComponent, + selector: MimeRendererComponent.SELECTOR +}); registerCellComponent(TextCellComponent); diff --git a/src/sql/workbench/parts/notebook/browser/outputs/factories.ts b/src/sql/workbench/parts/notebook/browser/outputs/factories.ts index ae4f034c16..692cc8dd9b 100644 --- a/src/sql/workbench/parts/notebook/browser/outputs/factories.ts +++ b/src/sql/workbench/parts/notebook/browser/outputs/factories.ts @@ -80,6 +80,16 @@ export const dataResourceRendererFactory: IRenderMime.IRendererFactory = { createRenderer: options => new widgets.RenderedDataResource(options) }; +export const ipywidgetFactory: IRenderMime.IRendererFactory = { + safe: false, + mimeTypes: [ + 'application/vnd.jupyter.widget-view', + 'application/vnd.jupyter.widget-view+json' + ], + defaultRank: 45, + createRenderer: options => new widgets.RenderedIPyWidget(options) +}; + /** * The standard factories provided by the rendermime package. */ @@ -90,5 +100,6 @@ export const standardRendererFactories: ReadonlyArray { + let deferred = new Deferred(); + deferred.resolve(); + return deferred.promise; + } +}