use better name for async markdown rendering, https://github.com/microsoft/vscode/issues/67806

This commit is contained in:
Johannes Rieken
2020-11-18 16:25:56 +01:00
parent f5a7eb3848
commit ad6f4faafb
6 changed files with 13 additions and 13 deletions
+5 -5
View File
@@ -28,7 +28,7 @@ export interface MarkedOptions extends marked.MarkedOptions {
export interface MarkdownRenderOptions extends FormattedTextRenderOptions {
codeBlockRenderer?: (modeId: string, value: string) => Promise<HTMLElement>;
codeBlockRenderCallback?: () => void;
asyncRenderCallback?: () => void;
baseUrl?: URI;
}
@@ -177,8 +177,8 @@ export function renderMarkdown(markdown: IMarkdownString, options: MarkdownRende
// ignore
});
if (options.codeBlockRenderCallback) {
promise.then(options.codeBlockRenderCallback);
if (options.asyncRenderCallback) {
promise.then(options.asyncRenderCallback);
}
return `<div class="code" data-code="${id}">${escape(code)}</div>`;
@@ -245,11 +245,11 @@ export function renderMarkdown(markdown: IMarkdownString, options: MarkdownRende
signalInnerHTML!();
// signal size changes for image tags
if (options.codeBlockRenderCallback) {
if (options.asyncRenderCallback) {
for (const img of element.getElementsByTagName('img')) {
const listener = DOM.addDisposableListener(img, 'load', () => {
listener.dispose();
options.codeBlockRenderCallback!();
options.asyncRenderCallback!();
});
}
}
@@ -38,8 +38,8 @@ export class MarkdownRenderer {
}
});
private readonly _onDidRenderCodeBlock = new Emitter<void>();
readonly onDidRenderCodeBlock = this._onDidRenderCodeBlock.event;
private readonly _onDidRenderAsync = new Emitter<void>();
readonly onDidRenderAsync = this._onDidRenderAsync.event;
constructor(
private readonly _options: IMarkdownRendererOptions,
@@ -48,7 +48,7 @@ export class MarkdownRenderer {
) { }
dispose(): void {
this._onDidRenderCodeBlock.dispose();
this._onDidRenderAsync.dispose();
}
render(markdown: IMarkdownString | undefined, options?: MarkdownRenderOptions, markedOptions?: MarkedOptions): IMarkdownRenderResult {
@@ -103,7 +103,7 @@ export class MarkdownRenderer {
return element;
},
codeBlockRenderCallback: () => this._onDidRenderCodeBlock.fire(),
asyncRenderCallback: () => this._onDidRenderAsync.fire(),
actionHandler: {
callback: (content) => this._openerService.open(content, { fromUserGesture: true }).catch(onUnexpectedError),
disposeables
@@ -480,7 +480,7 @@ export class ModesContentHoverWidget extends ContentHoverWidget {
const markdownHoverElement = $('div.hover-row.markdown-hover');
const hoverContentsElement = dom.append(markdownHoverElement, $('div.hover-contents'));
const renderer = markdownDisposeables.add(new MarkdownRenderer({ editor: this._editor }, this._modeService, this._openerService));
markdownDisposeables.add(renderer.onDidRenderCodeBlock(() => {
markdownDisposeables.add(renderer.onDidRenderAsync(() => {
hoverContentsElement.className = 'hover-contents code-hover-contents';
this._hover.onContentsChanged();
}));
@@ -170,7 +170,7 @@ export class SuggestDetailsWidget {
const renderedContents = this._markdownRenderer.render(documentation);
this._docs.appendChild(renderedContents.element);
this._renderDisposeable.add(renderedContents);
this._renderDisposeable.add(this._markdownRenderer.onDidRenderCodeBlock(() => {
this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(() => {
this.layout(this._size.width, this._type.clientHeight + this._docs.clientHeight);
this._onDidChangeContents.fire(this);
}));
@@ -255,7 +255,7 @@ export class StatefulMarkdownCell extends Disposable {
this.relayoutCell();
} else {
// first time, readonly mode
this.localDisposables.add(markdownRenderer.onDidRenderCodeBlock(() => {
this.localDisposables.add(markdownRenderer.onDidRenderAsync(() => {
this.viewCell.renderedMarkdownHeight = this.templateData.container.clientHeight;
this.relayoutCell();
}));
@@ -94,7 +94,7 @@ export class HoverWidget extends Widget {
callback: (content) => this._linkHandler(content),
disposeables: this._messageListeners
},
codeBlockRenderCallback: () => {
asyncRenderCallback: () => {
contentsElement.classList.add('code-hover-contents');
// This changes the dimensions of the hover so trigger a layout
this._onRequestLayout.fire();