Browse Source

Removes unused children

main
Eric Amodio 4 years ago
parent
commit
94b0ffb219
1 changed files with 13 additions and 17 deletions
  1. +13
    -17
      src/views/commitsView.ts

+ 13
- 17
src/views/commitsView.ts View File

@ -23,7 +23,6 @@ import { GitUri } from '../git/gitUri';
import {
BranchNode,
BranchTrackingStatusNode,
CompareBranchNode,
ContextValues,
MessageNode,
RepositoryNode,
@ -36,7 +35,7 @@ import { ViewBase } from './viewBase';
export class CommitsRepositoryNode extends SubscribeableViewNode<CommitsView> {
protected splatted = true;
private children: (BranchNode | CompareBranchNode)[] | undefined;
private child: BranchNode | undefined;
constructor(uri: GitUri, view: CommitsView, parent: ViewNode, public readonly repo: Repository, splatted: boolean) {
super(uri, view, parent);
@ -51,7 +50,7 @@ export class CommitsRepositoryNode extends SubscribeableViewNode {
async getChildren(): Promise<ViewNode[]> {
void this.ensureSubscription();
if (this.children == null) {
if (this.child == null) {
const branch = await this.repo.getBranch();
if (branch == null) return [new MessageNode(this.view, this, 'No commits could be found.')];
@ -63,19 +62,16 @@ export class CommitsRepositoryNode extends SubscribeableViewNode {
}
}
this.children = [
new BranchNode(this.uri, this.view, this, branch, true, {
expanded: true,
showComparison: this.view.config.showBranchComparison,
showCurrent: false,
showTracking: true,
authors: authors,
}),
];
this.child = new BranchNode(this.uri, this.view, this, branch, true, {
expanded: true,
showComparison: this.view.config.showBranchComparison,
showCurrent: false,
showTracking: true,
authors: authors,
});
}
const [branch, ...rest] = this.children;
return [...(await branch.getChildren()), ...rest];
return this.child.getChildren();
}
async getTreeItem(): Promise<TreeItem> {
@ -101,18 +97,18 @@ export class CommitsRepositoryNode extends SubscribeableViewNode {
}
async getSplattedChild() {
if (this.children == null) {
if (this.child == null) {
await this.getChildren();
}
return this.children?.[0];
return this.child;
}
@gate()
@debug()
async refresh(reset: boolean = false) {
if (reset) {
this.children = undefined;
this.child = undefined;
} else {
void this.parent?.triggerChange(false);
}

Loading…
Cancel
Save