Files
github-local-actions/src/views/settings/workspaceFolderSettings.ts
Sanjula Ganepola c10f7109ac Add actions to remove and delete setting files
Signed-off-by: Sanjula Ganepola <sanjulagane@gmail.com>
2024-11-21 22:20:17 -05:00

31 lines
1.4 KiB
TypeScript

import { ThemeIcon, TreeItem, TreeItemCollapsibleState, WorkspaceFolder } from "vscode";
import { act } from "../../extension";
import { GithubLocalActionsTreeItem } from "../githubLocalActionsTreeItem";
import InputsTreeItem from "./inputs";
import RunnersTreeItem from "./runners";
import SecretsTreeItem from "./secrets";
import VariablesTreeItem from "./variables";
export default class WorkspaceFolderSettingsTreeItem extends TreeItem implements GithubLocalActionsTreeItem {
static contextValue = 'githubLocalActions.workspaceFolderSettings';
constructor(public workspaceFolder: WorkspaceFolder) {
super(workspaceFolder.name, TreeItemCollapsibleState.Collapsed);
this.contextValue = WorkspaceFolderSettingsTreeItem.contextValue;
this.iconPath = new ThemeIcon('folder');
}
async getChildren(): Promise<GithubLocalActionsTreeItem[]> {
const items: GithubLocalActionsTreeItem[] = [];
const settings = await act.settingsManager.getSettings(this.workspaceFolder, false);
items.push(...[
new SecretsTreeItem(this.workspaceFolder, settings.secrets, settings.secretFiles),
new VariablesTreeItem(this.workspaceFolder, settings.variables, settings.variableFiles),
new InputsTreeItem(this.workspaceFolder, settings.inputs, settings.inputFiles),
new RunnersTreeItem(this.workspaceFolder, settings.runners)
]);
return items;
}
}