@jupyterlab/docregistry
Version:
JupyterLab - Document Registry
147 lines (146 loc) • 4.03 kB
TypeScript
import { Printing } from '@jupyterlab/apputils';
import { IRenderMime, IRenderMimeRegistry } from '@jupyterlab/rendermime';
import { ITranslator } from '@jupyterlab/translation';
import { Message } from '@lumino/messaging';
import { Widget } from '@lumino/widgets';
import { ABCWidgetFactory, DocumentWidget } from './default';
import { DocumentRegistry } from './registry';
/**
* A content widget for a rendered mimetype document.
*/
export declare class MimeContent extends Widget {
/**
* Construct a new widget.
*/
constructor(options: MimeContent.IOptions);
/**
* The mimetype for this rendered content.
*/
readonly mimeType: string;
/**
* Print method. Deferred to the renderer.
*/
[ ](): Printing.OptionalAsyncThunk;
/**
* A promise that resolves when the widget is ready.
*/
get ready(): Promise<void>;
/**
* Set URI fragment identifier.
*/
setFragment(fragment: string): void;
/**
* Dispose of the resources held by the widget.
*/
dispose(): void;
/**
* Handle an `update-request` message to the widget.
*/
protected onUpdateRequest(msg: Message): void;
/**
* Render the mime content.
*/
private _render;
/**
* A bound change callback.
*/
private _changeCallback;
readonly renderer: IRenderMime.IRenderer;
protected translator: ITranslator;
private _trans;
private _context;
private _fragment;
private _monitor;
private _ready;
private _dataType;
private _isRendering;
private _renderRequested;
}
/**
* The namespace for MimeDocument class statics.
*/
export declare namespace MimeContent {
/**
* The options used to initialize a MimeDocument.
*/
interface IOptions {
/**
* Context
*/
context: DocumentRegistry.IContext<DocumentRegistry.IModel>;
/**
* The renderer instance.
*/
renderer: IRenderMime.IRenderer;
/**
* The mime type.
*/
mimeType: string;
/**
* The render timeout.
*/
renderTimeout: number;
/**
* Preferred data type from the model.
*/
dataType?: 'string' | 'json';
/**
* The application language translator.
*/
translator?: ITranslator;
}
}
/**
* A document widget for mime content.
*/
export declare class MimeDocument extends DocumentWidget<MimeContent> {
setFragment(fragment: string): void;
}
/**
* An implementation of a widget factory for a rendered mimetype document.
*/
export declare class MimeDocumentFactory extends ABCWidgetFactory<MimeDocument> {
/**
* Construct a new mimetype widget factory.
*/
constructor(options: MimeDocumentFactory.IOptions<MimeDocument>);
/**
* Create a new widget given a context.
*/
protected createNewWidget(context: DocumentRegistry.Context): MimeDocument;
private _rendermime;
private _renderTimeout;
private _dataType;
private _fileType;
private _factory;
}
/**
* The namespace for MimeDocumentFactory class statics.
*/
export declare namespace MimeDocumentFactory {
/**
* The options used to initialize a MimeDocumentFactory.
*/
interface IOptions<T extends MimeDocument> extends DocumentRegistry.IWidgetFactoryOptions<T> {
/**
* The primary file type associated with the document.
*/
primaryFileType: DocumentRegistry.IFileType | undefined;
/**
* The rendermime instance.
*/
rendermime: IRenderMimeRegistry;
/**
* The render timeout.
*/
renderTimeout?: number;
/**
* Preferred data type from the model.
*/
dataType?: 'string' | 'json';
/**
* Optional renderer to use (overriding the renderer in the registry)
*/
factory?: IRenderMime.IRendererFactory;
}
}