diff --git a/src/vs/base/browser/ui/list/list.ts b/src/vs/base/browser/ui/list/list.ts index 5efc6001991..592b8a92627 100644 --- a/src/vs/base/browser/ui/list/list.ts +++ b/src/vs/base/browser/ui/list/list.ts @@ -16,7 +16,7 @@ export interface IListRenderer { templateId: string; renderTemplate(container: HTMLElement): TTemplateData; renderElement(element: T, index: number, templateData: TTemplateData): void; - disposeElement(element: T, index: number, templateData: TTemplateData): void; + disposeElement?(element: T, index: number, templateData: TTemplateData): void; disposeTemplate(templateData: TTemplateData): void; } diff --git a/src/vs/base/browser/ui/list/listPaging.ts b/src/vs/base/browser/ui/list/listPaging.ts index a251268c088..88868fa4865 100644 --- a/src/vs/base/browser/ui/list/listPaging.ts +++ b/src/vs/base/browser/ui/list/listPaging.ts @@ -58,10 +58,6 @@ class PagedRenderer implements IListRenderer this.renderer.renderElement(entry, index, data.data!)); } - disposeElement(): void { - // noop - } - disposeTemplate(data: ITemplateData): void { if (data.disposable) { data.disposable.dispose(); diff --git a/src/vs/base/browser/ui/list/listWidget.ts b/src/vs/base/browser/ui/list/listWidget.ts index bedf2db6aa7..1b07bd8590e 100644 --- a/src/vs/base/browser/ui/list/listWidget.ts +++ b/src/vs/base/browser/ui/list/listWidget.ts @@ -67,10 +67,6 @@ class TraitRenderer implements IListRenderer this.trait.renderIndex(index, templateData); } - disposeElement(): void { - // noop - } - splice(start: number, deleteCount: number, insertCount: number): void { const rendered: IRenderedContainer[] = []; @@ -886,7 +882,9 @@ class PipelineRenderer implements IListRenderer { let i = 0; for (const renderer of this.renderers) { - renderer.disposeElement(element, index, templateData[i++]); + if (renderer.disposeElement) { + renderer.disposeElement(element, index, templateData[i++]); + } } } @@ -921,10 +919,6 @@ class AccessibiltyRenderer implements IListRenderer { } } - disposeElement(element: T, index: number, container: HTMLElement): void { - // noop - } - disposeTemplate(templateData: any): void { // noop } diff --git a/src/vs/base/browser/ui/selectBox/selectBoxCustom.ts b/src/vs/base/browser/ui/selectBox/selectBoxCustom.ts index 153daf8056a..97e5ca0059e 100644 --- a/src/vs/base/browser/ui/selectBox/selectBoxCustom.ts +++ b/src/vs/base/browser/ui/selectBox/selectBoxCustom.ts @@ -77,10 +77,6 @@ class SelectListRenderer implements IListRenderer implements IListRenderer, index: number, templateData: ITreeListTemplateData): void { - this.renderer.disposeElement(node, index, templateData.templateData); + if (this.renderer.disposeElement) { + this.renderer.disposeElement(node, index, templateData.templateData); + } this.renderedNodes.delete(node); this.renderedElements.set(node.element); } diff --git a/src/vs/base/browser/ui/tree/asyncDataTree.ts b/src/vs/base/browser/ui/tree/asyncDataTree.ts index 692818d1a8f..ba729c4bd7a 100644 --- a/src/vs/base/browser/ui/tree/asyncDataTree.ts +++ b/src/vs/base/browser/ui/tree/asyncDataTree.ts @@ -80,7 +80,9 @@ class DataTreeRenderer implements ITreeRenderer, TFilterData>, index: number, templateData: IDataTreeListTemplateData): void { - this.renderer.disposeElement(new AsyncDataTreeNodeWrapper(node), index, templateData.templateData); + if (this.renderer.disposeElement) { + this.renderer.disposeElement(new AsyncDataTreeNodeWrapper(node), index, templateData.templateData); + } } disposeTemplate(templateData: IDataTreeListTemplateData): void { diff --git a/src/vs/base/test/browser/ui/list/listView.test.ts b/src/vs/base/test/browser/ui/list/listView.test.ts index 997b336f3cb..99f9bac73cf 100644 --- a/src/vs/base/test/browser/ui/list/listView.test.ts +++ b/src/vs/base/test/browser/ui/list/listView.test.ts @@ -25,7 +25,6 @@ suite('ListView', function () { templateId: 'template', renderTemplate() { templatesCount++; }, renderElement() { }, - disposeElement() { }, disposeTemplate() { templatesCount--; } }; diff --git a/src/vs/base/test/browser/ui/tree/asyncDataTree.test.ts b/src/vs/base/test/browser/ui/tree/asyncDataTree.test.ts index ed7ff765a40..96dfbbd5b44 100644 --- a/src/vs/base/test/browser/ui/tree/asyncDataTree.test.ts +++ b/src/vs/base/test/browser/ui/tree/asyncDataTree.test.ts @@ -46,9 +46,6 @@ suite('AsyncDataTree', function () { renderElement(element: ITreeNode, index: number, templateData: HTMLElement): void { templateData.textContent = element.element.id; } - disposeElement(element: ITreeNode, index: number, templateData: HTMLElement): void { - // noop - } disposeTemplate(templateData: HTMLElement): void { // noop } diff --git a/src/vs/editor/contrib/referenceSearch/referencesTree.ts b/src/vs/editor/contrib/referenceSearch/referencesTree.ts index c107e0253fb..7db27ea761a 100644 --- a/src/vs/editor/contrib/referenceSearch/referencesTree.ts +++ b/src/vs/editor/contrib/referenceSearch/referencesTree.ts @@ -135,9 +135,6 @@ export class FileReferencesRenderer implements ITreeRenderer, index: number, template: FileReferencesTemplate): void { template.set(node.element); } - disposeElement(element: ITreeNode, index: number, templateData: FileReferencesTemplate): void { - // - } disposeTemplate(templateData: FileReferencesTemplate): void { templateData.dispose(); } @@ -189,9 +186,6 @@ export class OneReferenceRenderer implements ITreeRenderer, index: number, templateData: OneReferenceTemplate): void { templateData.set(element.element); } - disposeElement(): void { - // - } disposeTemplate(): void { // } diff --git a/src/vs/editor/contrib/suggest/suggestWidget.ts b/src/vs/editor/contrib/suggest/suggestWidget.ts index 32b95b984c8..7a657e430f3 100644 --- a/src/vs/editor/contrib/suggest/suggestWidget.ts +++ b/src/vs/editor/contrib/suggest/suggestWidget.ts @@ -206,10 +206,6 @@ class Renderer implements IListRenderer, index: number, templateData: ILoadedScriptsItemTemplateData): void { - // noop - } - disposeTemplate(templateData: ILoadedScriptsItemTemplateData): void { templateData.label.dispose(); } diff --git a/src/vs/workbench/parts/debug/electron-browser/callStackView.ts b/src/vs/workbench/parts/debug/electron-browser/callStackView.ts index 1a4617d1d01..cb1c151a1c0 100644 --- a/src/vs/workbench/parts/debug/electron-browser/callStackView.ts +++ b/src/vs/workbench/parts/debug/electron-browser/callStackView.ts @@ -375,10 +375,6 @@ class SessionsRenderer implements ITreeRenderer, index: number, templateData: ISessionTemplateData): void { - // noop - } - disposeTemplate(templateData: ISessionTemplateData): void { // noop } @@ -414,10 +410,6 @@ class ThreadsRenderer implements ITreeRenderer, index: number, templateData: IThreadTemplateData): void { - // noop - } - disposeTemplate(templateData: IThreadTemplateData): void { // noop } @@ -468,10 +460,6 @@ class StackFramesRenderer implements ITreeRenderer, index: number, templateData: IStackFrameTemplateData): void { - // noop - } - disposeTemplate(templateData: IStackFrameTemplateData): void { // noop } @@ -497,10 +485,6 @@ class ErrorsRenderer implements ITreeRenderer data.label.title = error; } - disposeElement(element: ITreeNode, index: number, templateData: IErrorTemplateData): void { - // noop - } - disposeTemplate(templateData: IErrorTemplateData): void { // noop } @@ -525,10 +509,6 @@ class LoadMoreRenderer implements ITreeRenderer, index: number, templateData: ILabelTemplateData): void { - // noop - } - disposeTemplate(templateData: ILabelTemplateData): void { // noop } @@ -557,10 +537,6 @@ class ShowMoreRenderer implements ITreeRenderer, index: number, templateData: ILabelTemplateData): void { - // noop - } - disposeTemplate(templateData: ILabelTemplateData): void { // noop } diff --git a/src/vs/workbench/parts/debug/electron-browser/repl.ts b/src/vs/workbench/parts/debug/electron-browser/repl.ts index 55c24982f60..4a3a48170d7 100644 --- a/src/vs/workbench/parts/debug/electron-browser/repl.ts +++ b/src/vs/workbench/parts/debug/electron-browser/repl.ts @@ -560,10 +560,6 @@ class ReplExpressionsRenderer implements ITreeRenderer, index: number, templateData: IExpressionTemplateData): void { - // noop - } - disposeTemplate(templateData: IExpressionTemplateData): void { // noop } @@ -627,10 +623,6 @@ class ReplSimpleElementsRenderer implements ITreeRenderer element.sourceData; } - disposeElement(element: ITreeNode, index: number, templateData: ISimpleReplElementTemplateData): void { - // noop - } - disposeTemplate(templateData: ISimpleReplElementTemplateData): void { dispose(templateData.toDispose); } @@ -680,10 +672,6 @@ class ReplRawObjectsRenderer implements ITreeRenderer, index: number, templateData: IRawObjectReplTemplateData): void { - // noop - } - disposeTemplate(templateData: IRawObjectReplTemplateData): void { // noop } diff --git a/src/vs/workbench/parts/debug/electron-browser/variablesView.ts b/src/vs/workbench/parts/debug/electron-browser/variablesView.ts index 686023e12c8..e15f3efb8be 100644 --- a/src/vs/workbench/parts/debug/electron-browser/variablesView.ts +++ b/src/vs/workbench/parts/debug/electron-browser/variablesView.ts @@ -213,10 +213,6 @@ class ScopesRenderer implements ITreeRenderer templateData.name.textContent = element.element.name; } - disposeElement(element: ITreeNode, index: number, templateData: IScopeTemplateData): void { - // noop - } - disposeTemplate(templateData: IScopeTemplateData): void { // noop } diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsList.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsList.ts index eef65a957ac..e7403fe12fa 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsList.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsList.ts @@ -204,10 +204,6 @@ export class Renderer implements IPagedRenderer { } } - disposeElement(): void { - // noop - } - private updateRecommendationStatus(extension: IExtension, data: ITemplateData) { const extRecommendations = this.extensionTipsService.getAllRecommendationsWithReason(); let ariaLabel = extension.displayName + '. '; diff --git a/src/vs/workbench/parts/extensions/electron-browser/runtimeExtensionsEditor.ts b/src/vs/workbench/parts/extensions/electron-browser/runtimeExtensionsEditor.ts index aa667121e78..6bff006de03 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/runtimeExtensionsEditor.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/runtimeExtensionsEditor.ts @@ -390,8 +390,6 @@ export class RuntimeExtensionsEditor extends BaseEditor { }, - disposeElement: () => null, - disposeTemplate: (data: IRuntimeExtensionTemplateData): void => { data.disposables = dispose(data.disposables); } diff --git a/src/vs/workbench/parts/files/electron-browser/views/openEditorsView.ts b/src/vs/workbench/parts/files/electron-browser/views/openEditorsView.ts index 2ab66de337f..560aeecc1bf 100644 --- a/src/vs/workbench/parts/files/electron-browser/views/openEditorsView.ts +++ b/src/vs/workbench/parts/files/electron-browser/views/openEditorsView.ts @@ -607,10 +607,6 @@ class EditorGroupRenderer implements IListRenderer { renderElement(entry: IListEntry, index: number, template: any): void { } - disposeElement(): void { - } - disposeTemplate(template: any): void { } } @@ -771,8 +768,6 @@ class KeybindingItemRenderer implements IListRenderer