Skip to content

Commit 53d6c3d

Browse files
committed
Disable treeview caching
1 parent 582702b commit 53d6c3d

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

src/commands/showPanel.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { Editor } from "../utils/editor";
1414
import { FRONTEND_ELEMENT_ID } from "../constants";
1515
import { client, SOURCE_ACADEMY_ICON_URI } from "../extension";
1616
import _ from "lodash";
17-
import { treeDataProvider } from "../treeview";
17+
import { enableAssessmentsTreeData } from "../treeview";
1818

1919
let panel: vscode.WebviewPanel | null = null;
2020
// This needs to be a reference to active
@@ -98,7 +98,7 @@ async function handleMessage(
9898
const { assessmentOverviews, courseId } = message;
9999
context.globalState.update("assessmentOverviews", assessmentOverviews);
100100
context.globalState.update("courseId", courseId);
101-
treeDataProvider.refresh();
101+
enableAssessmentsTreeData();
102102
break;
103103
}
104104
console.log(`${Date.now()} Finish handleMessage: ${message.type}`);

src/treeview/index.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ import { VscAssessmentOverview } from "../utils/messages";
33
import { SOURCE_ACADEMY_ICON_URI } from "../extension";
44

55
export let treeDataProvider: AssessmentsSidebarProvider;
6+
export function enableAssessmentsTreeData() {
7+
treeDataProvider?.enableData();
8+
}
69

710
// This will be a source of bug on first extension loads!!
811
let courseId: number;
@@ -19,7 +22,12 @@ export function setupTreeView(context: vscode.ExtensionContext) {
1922
export class AssessmentsSidebarProvider
2023
implements vscode.TreeDataProvider<BaseTreeItem>
2124
{
22-
constructor(private context: vscode.ExtensionContext) {}
25+
constructor(private context: vscode.ExtensionContext, private dataEnabled: boolean = false) {}
26+
27+
enableData() {
28+
this.dataEnabled = true;
29+
this.refresh();
30+
}
2331

2432
private _onDidChangeTreeData: vscode.EventEmitter<
2533
BaseTreeItem | undefined | null | void
@@ -33,6 +41,9 @@ export class AssessmentsSidebarProvider
3341
}
3442

3543
getChildren(element?: BaseTreeItem): Thenable<BaseTreeItem[]> {
44+
if (!this.dataEnabled) {
45+
return Promise.resolve([]);
46+
}
3647
// @ts-ignore
3748
const assessmentOverviews: VscAssessmentOverview[] =
3849
this.context.globalState.get("assessmentOverviews");

0 commit comments

Comments
 (0)