Procházet zdrojové kódy

Update other packages

Steven Silvester před 7 roky
rodič
revize
34f198f3bd

+ 6 - 4
packages/cells/src/widget.ts

@@ -749,10 +749,7 @@ class MarkdownCell extends Cell {
   constructor(options: MarkdownCell.IOptions) {
     super(options);
     this.addClass(MARKDOWN_CELL_CLASS);
-    this._renderer = options.rendermime.createRenderer(
-      'text/markdown', false
-    );
-    this._renderer.addClass(MARKDOWN_OUTPUT_CLASS);
+    this._rendermime = options.rendermime;
 
     // Throttle the rendering rate of the widget.
     this._monitor = new ActivityMonitor({
@@ -842,6 +839,10 @@ class MarkdownCell extends Cell {
     // Do not re-render if the text has not changed.
     if (text !== this._prevText) {
       let mimeModel = new MimeModel({ data: { 'text/markdown': text }});
+      if (!this._renderer) {
+        this._renderer = this._rendermime.createRenderer(mimeModel);
+        this._renderer.addClass(MARKDOWN_OUTPUT_CLASS);
+      }
       this._prevText = text;
       return this._renderer.renderModel(mimeModel);
     }
@@ -850,6 +851,7 @@ class MarkdownCell extends Cell {
 
   private _monitor: ActivityMonitor<any, any> = null;
   private _renderer: IRenderMime.IRendererWidget = null;
+  private _rendermime: RenderMime;
   private _rendered = true;
   private _prevText = '';
   private _ready = new PromiseDelegate<void>();

+ 2 - 1
packages/console/src/panel.ts

@@ -76,10 +76,11 @@ class ConsolePanel extends Panel {
       kernelPreference: options.kernelPreference
     });
 
-    rendermime.resolver = new RenderMime.UrlResolver({
+    let resolver = new RenderMime.UrlResolver({
       session,
       contents: manager.contents
     });
+    rendermime = rendermime.clone({ resolver });
 
     this.console = contentFactory.createConsole({
       rendermime, session, mimeTypeService, contentFactory, modelFactory

+ 10 - 5
packages/docregistry/src/default.ts

@@ -419,16 +419,12 @@ class MimeRenderer extends Widget implements DocumentRegistry.IReadyWidget {
     layout.addWidget(toolbar);
     let context = options.context;
     this.title.label = context.path.split('/').pop();
-    let rendermime = options.rendermime.clone();
-    rendermime.resolver = context;
+    this.rendermime = options.rendermime.clone({ resolver: context });
 
     this._context = context;
     this._mimeType = options.mimeType;
     this._dataType = options.dataType;
 
-    this._renderer = rendermime.createRenderer(this._mimeType, false);
-    layout.addWidget(this._renderer);
-
     context.pathChanged.connect(this._onPathChanged, this);
 
     this._context.ready.then(() => {
@@ -455,6 +451,11 @@ class MimeRenderer extends Widget implements DocumentRegistry.IReadyWidget {
     return this._context;
   }
 
+  /**
+   * The renderime instance associated with the widget.
+   */
+  readonly rendermime: RenderMime;
+
   /**
    * A promise that resolves when the widget is ready.
    */
@@ -503,6 +504,10 @@ class MimeRenderer extends Widget implements DocumentRegistry.IReadyWidget {
       data[this._mimeType] = model.toJSON();
     }
     let mimeModel = new MimeModel({ data });
+    if (!this._renderer) {
+      this._renderer = this.rendermime.createRenderer(mimeModel);
+      (this.layout as PanelLayout).addWidget(this._renderer);
+    }
     return this._renderer.renderModel(mimeModel);
   }
 

+ 2 - 4
packages/inspector/src/handler.ts

@@ -185,11 +185,9 @@ class InspectionHandler implements IDisposable, IInspector.IInspectable {
       }
 
       const data = value.data;
-      const trusted = true;
-      const model = new MimeModel({ data });
+      const model = new MimeModel({ data, trusted: true });
 
-      const mimeType = this._rendermime.preferredMimeType(model, trusted);
-      let widget = this._rendermime.createRenderer(mimeType, trusted);
+      let widget = this._rendermime.createRenderer(model);
       widget.renderModel(model);
       update.content = widget;
       this._inspected.emit(update);

+ 0 - 1
packages/notebook/src/panel.ts

@@ -184,7 +184,6 @@ class NotebookPanel extends Widget implements DocumentRegistry.IReadyWidget {
     }
     let oldValue = this._context;
     this._context = newValue;
-    this.rendermime.resolver = newValue;
     // Trigger private, protected, and public changes.
     this._onContextChanged(oldValue, newValue);
     this.onContextChanged(oldValue, newValue);

+ 1 - 1
packages/notebook/src/widgetfactory.ts

@@ -66,7 +66,7 @@ class NotebookWidgetFactory extends ABCWidgetFactory<NotebookPanel, INotebookMod
    * the default toolbar items using `ToolbarItems.populateDefaults`.
    */
   protected createNewWidget(context: DocumentRegistry.IContext<INotebookModel>): NotebookPanel {
-    let rendermime = this.rendermime.clone();
+    let rendermime = this.rendermime.clone({ resolver: context });
     let panel = new NotebookPanel({
       rendermime,
       contentFactory: this.contentFactory,

+ 6 - 5
packages/outputarea/src/widget.ts

@@ -414,11 +414,12 @@ class OutputArea extends Widget {
     prompt.addClass(OUTPUT_AREA_PROMPT_CLASS);
     panel.addWidget(prompt);
 
-    let mimeType = this.rendermime.preferredMimeType(model, model.trusted);
-    let output = this.rendermime.createRenderer(mimeType, model.trusted);
-    output.renderModel(model);
-    output.addClass(OUTPUT_AREA_OUTPUT_CLASS);
-    panel.addWidget(output);
+    let output = this.rendermime.createRenderer(model);
+    if (output) {
+      output.renderModel(model);
+      output.addClass(OUTPUT_AREA_OUTPUT_CLASS);
+      panel.addWidget(output);
+    }
 
     return panel;
   }

+ 4 - 5
packages/tooltip/src/widget.ts

@@ -66,7 +66,7 @@ class Tooltip extends Widget {
   constructor(options: Tooltip.IOptions) {
     super();
 
-    this.layout = new PanelLayout();
+    let layout = this.layout = new PanelLayout();
     this.anchor = options.anchor;
 
     this.addClass(TOOLTIP_CLASS);
@@ -77,11 +77,10 @@ class Tooltip extends Widget {
     let model = new MimeModel({
       data: options.bundle
     });
-    let mimeType = this._rendermime.preferredMimeType(model, true);
-    if (mimeType) {
-      this._content = this._rendermime.createRenderer(mimeType, true);
+    this._content = this._rendermime.createRenderer(model);
+    if (this._content) {
       this._content.renderModel(model);
-      (this.layout as PanelLayout).addWidget(this._content);
+      layout.addWidget(this._content);
     }
   }