Skip to content

Commit 1f32001

Browse files
author
Jackson Kearl
committed
1 parent e7ced68 commit 1f32001

File tree

2 files changed

+15
-14
lines changed

2 files changed

+15
-14
lines changed

src/vs/workbench/contrib/welcome/gettingStarted/browser/gettingStarted.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1007,7 +1007,9 @@ export class GettingStartedPage extends EditorPane {
10071007
.filter(recent => !this.workspaceContextService.isCurrentWorkspace(isRecentWorkspace(recent) ? recent.workspace : recent.folderUri))
10081008
.map(recent => ({ ...recent, id: isRecentWorkspace(recent) ? recent.workspace.id : recent.folderUri.toString() }));
10091009

1010-
const updateEntries = () => { recentlyOpenedList.setEntries(workspacesWithID); };
1010+
const updateEntries = () => {
1011+
recentlyOpenedList.setEntries(workspacesWithID);
1012+
};
10111013

10121014
updateEntries();
10131015

@@ -1106,7 +1108,6 @@ export class GettingStartedPage extends EditorPane {
11061108
title: localize('walkthroughs', "Walkthroughs"),
11071109
klass: 'getting-started',
11081110
limit: 5,
1109-
empty: undefined, more: undefined,
11101111
footer: $('span.button-link.see-all-walkthroughs', { 'x-dispatch': 'seeAllWalkthroughs' }, localize('showAll', "More...")),
11111112
renderElement: renderGetttingStaredWalkthrough,
11121113
rankElement: rankWalkthrough,

src/vs/workbench/contrib/welcome/gettingStarted/browser/gettingStartedList.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export class GettingStartedIndexList<T extends { id: string; when?: ContextKeyEx
3030
private list: HTMLUListElement;
3131
private scrollbar: DomScrollableElement;
3232

33-
private entries: T[];
33+
private entries: undefined | T[];
3434

3535
private lastRendered: string[] | undefined;
3636

@@ -48,7 +48,7 @@ export class GettingStartedIndexList<T extends { id: string; when?: ContextKeyEx
4848

4949
this.contextService = options.contextService;
5050

51-
this.entries = [];
51+
this.entries = undefined;
5252

5353
this.itemCount = 0;
5454
this.list = $('ul');
@@ -93,27 +93,27 @@ export class GettingStartedIndexList<T extends { id: string; when?: ContextKeyEx
9393
this.setEntries(this.entries);
9494
}
9595

96-
setEntries(entries: T[]) {
96+
setEntries(entries: undefined | T[]) {
97+
const entryList = entries ?? [];
98+
9799
this.itemCount = 0;
98100

99101
const ranker = this.options.rankElement;
100102
if (ranker) {
101-
entries = entries.filter(e => ranker(e) !== null);
102-
entries.sort((a, b) => ranker(b)! - ranker(a)!);
103+
entries = entryList.filter(e => ranker(e) !== null);
104+
entryList.sort((a, b) => ranker(b)! - ranker(a)!);
103105
}
104106

105-
106-
this.entries = entries;
107-
108-
const activeEntries = entries.filter(e => !e.when || this.contextService.contextMatchesRules(e.when));
107+
const activeEntries = entryList.filter(e => !e.when || this.contextService.contextMatchesRules(e.when));
109108
const limitedEntries = activeEntries.slice(0, this.options.limit);
110109

111110
const toRender = limitedEntries.map(e => e.id);
112111

113-
if (equals(toRender, this.lastRendered)) { return; }
112+
if (this.entries === entries && equals(toRender, this.lastRendered)) { return; }
113+
this.entries = entries;
114114

115115
this.contextKeysToWatch.clear();
116-
entries.forEach(e => {
116+
entryList.forEach(e => {
117117
const keys = e.when?.keys();
118118
if (keys) {
119119
keys.forEach(key => this.contextKeysToWatch.add(key));
@@ -137,7 +137,7 @@ export class GettingStartedIndexList<T extends { id: string; when?: ContextKeyEx
137137
if (activeEntries.length > limitedEntries.length && this.options.more) {
138138
this.list.appendChild(this.options.more);
139139
}
140-
else if (this.itemCount === 0 && this.options.empty) {
140+
else if (entries !== undefined && this.itemCount === 0 && this.options.empty) {
141141
this.list.appendChild(this.options.empty);
142142
}
143143
else if (this.options.footer) {

0 commit comments

Comments
 (0)