Gitea-VSCode/src/issue.ts

37 lines
1.1 KiB
TypeScript
Raw Normal View History

import * as vscode from "vscode";
import * as path from "path";
export class Issue extends vscode.TreeItem {
constructor(public readonly label: string,
public issueId: number,
public body: string,
public issueState: string,
public assignee: string,
2019-04-12 08:09:19 +02:00
public labels: any[],
public collapsibleState: vscode.TreeItemCollapsibleState,
public readonly command?: vscode.Command) {
super(label, collapsibleState);
}
get tooltip() {
return this.label + " - " + this.assignee;
}
labelDependentIcon(dark: boolean = false): string {
let filename = "";
if (this.labels.length === 0) {
filename = "issue";
} else {
this.labels[0].name.toLowerCase() === "feature" ? filename = "feature" : filename = this.labels[0].name.toLowerCase() === "bug" ? "bug" : "issue";
}
return path.join(__filename, '..', '..', 'resources', dark ? 'dark' : 'light', filename + '.svg');
}
iconPath = {
light: this.labelDependentIcon(),
dark: this.labelDependentIcon(true)
};
contextValue = 'issue';
}