irongit

A simpler way to view django projects

everything working, gonna get back to other projects

huncholanehuncholaneauthored
parent 8fd5025commit d4d428e533f111a9be70f90601d4abdb9f9d8e81Browse files

1 file changed, +15 -5

+15-5src/providers/project.ts
@@ -1,5 +1,5 @@
11 import * as vscode from "vscode";
2-import DjangoProject, { Model } from "../project";
2+import DjangoProject, { App, Model } from "../project";
33
44 export default class ProjectDataProvider
55 implements vscode.TreeDataProvider<vscode.TreeItem>
@@ -9,7 +9,6 @@ export default class ProjectDataProvider
99 project?: DjangoProject;
1010
1111 update(project: DjangoProject) {
12- console.log("updating the tree");
1312 this.project = project;
1413 this._update.fire();
1514 }
@@ -30,7 +29,11 @@ export default class ProjectDataProvider
3029 return Promise.resolve(items);
3130 } else if (element.contextValue?.includes("-app")) {
3231 const appName = element.contextValue.split("-")[0];
33- return Promise.resolve([this.createModelsTreeItem(appName)]);
32+ const app = this.project.apps.get(appName);
33+ if (!app) {
34+ return Promise.resolve([]);
35+ }
36+ return Promise.resolve([this.createModelsTreeItem(app)]);
3437 } else if (element.contextValue?.includes("-models")) {
3538 const appName = element.contextValue.split("-")[0];
3639 const app = this.project.apps.get(appName);
@@ -75,15 +78,22 @@ export default class ProjectDataProvider
7578 command: "django-overview.openFile",
7679 title: "Open File",
7780 arguments: [model.filename, model.index],
81+ tooltip: `Go to ${model.name}`,
7882 };
7983 return treeItem;
8084 }
8185
82- private createModelsTreeItem(appName: string): vscode.TreeItem {
86+ private createModelsTreeItem(app: App): vscode.TreeItem {
8387 const treeItem = new vscode.TreeItem("Models");
84- treeItem.contextValue = `${appName}-models`;
88+ treeItem.contextValue = `${app.name}-models`;
8589 treeItem.collapsibleState = vscode.TreeItemCollapsibleState.Collapsed;
8690 treeItem.iconPath = new vscode.ThemeIcon("database");
91+ treeItem.command = {
92+ command: "django-overview.openFile",
93+ title: "Open File",
94+ arguments: [`${app.path}/models.py`, 0],
95+ tooltip: "Open models.py",
96+ };
8797 return treeItem;
8898 }
8999