From 8fce371e3faec3226f0f1a22b8f2ec88aa4ab062 Mon Sep 17 00:00:00 2001 From: v-bbrady <60623315+v-bbrady@users.noreply.github.com> Date: Tue, 4 Aug 2020 10:51:13 -0700 Subject: [PATCH] fixes duplicate list items on welcome #11366 #11578 (#11378) * fixes duplicate list items on welcome * fixes duplicate list, and comments on PR * updates to use clearNode, and removes unnecessary formatter * awaits maplistentries, calls functions directly --- .../contrib/welcome/page/browser/welcomePage.ts | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/src/sql/workbench/contrib/welcome/page/browser/welcomePage.ts b/src/sql/workbench/contrib/welcome/page/browser/welcomePage.ts index 74842276b2..19c06422bf 100644 --- a/src/sql/workbench/contrib/welcome/page/browser/welcomePage.ts +++ b/src/sql/workbench/contrib/welcome/page/browser/welcomePage.ts @@ -45,7 +45,7 @@ import { IHostService } from 'vs/workbench/services/host/browser/host'; import { IProductService } from 'vs/platform/product/common/productService'; import { KeyCode } from 'vs/base/common/keyCodes'; import { joinPath } from 'vs/base/common/resources'; -import { addStandardDisposableListener, EventHelper } from 'vs/base/browser/dom'; +import { addStandardDisposableListener, EventHelper, clearNode } from 'vs/base/browser/dom'; import { GuidedTour } from 'sql/workbench/contrib/welcome/page/browser/gettingStartedTour'; import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService'; import { ILayoutService } from 'vs/platform/layout/browser/layoutService'; @@ -308,19 +308,13 @@ class WelcomePage extends Disposable { recent.classList.add('emptyRecent'); return; } - const ul = container.querySelector('.recent ul'); + const ul = container.querySelector('.recent ul') as HTMLElement; if (!ul) { return; } const workspacesToShow = workspaces.slice(0, 5); - const updateEntries = async () => { - while (ul.firstChild) { - ul.removeChild(ul.firstChild); - } - await this.mapListEntries(workspacesToShow, fileService, container); - }; - await updateEntries(); - this._register(this.labelService.onDidChangeFormatters(updateEntries)); + clearNode(ul); + await this.mapListEntries(workspacesToShow, fileService, container, ul); }).then(undefined, onUnexpectedError); this.addExtensionList(container, '.extension-list'); this.addExtensionPack(container, '.extensionPack'); @@ -685,7 +679,7 @@ class WelcomePage extends Disposable { return result; } - private async mapListEntries(recents: (IRecentWorkspace | IRecentFolder)[], fileService: IFileService, container: HTMLElement): Promise { + private async mapListEntries(recents: (IRecentWorkspace | IRecentFolder)[], fileService: IFileService, container: HTMLElement, ul: HTMLElement): Promise { const result: HTMLElement[] = []; for (let i = 0; i < recents.length; i++) { const recent = recents[i]; @@ -705,7 +699,6 @@ class WelcomePage extends Disposable { } return result; } - private addExtensionList(container: HTMLElement, listSelector: string): void { const list = container.querySelector(listSelector); if (list) {