Add actions to remove and delete setting files
Signed-off-by: Sanjula Ganepola <sanjulagane@gmail.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { ThemeIcon, TreeItem, TreeItemCollapsibleState, WorkspaceFolder } from "vscode";
|
||||
import { act } from "../../extension";
|
||||
import { Setting } from "../../settingsManager";
|
||||
import { Setting, SettingFile } from "../../settingsManager";
|
||||
import { StorageKey } from "../../storageManager";
|
||||
import { GithubLocalActionsTreeItem } from "../githubLocalActionsTreeItem";
|
||||
import SettingTreeItem from "./setting";
|
||||
@@ -10,9 +10,10 @@ export default class InputsTreeItem extends TreeItem implements GithubLocalActio
|
||||
static contextValue = 'githubLocalActions.inputs';
|
||||
storageKey = StorageKey.InputFiles;
|
||||
|
||||
constructor(public workspaceFolder: WorkspaceFolder, inputs: Setting[]) {
|
||||
constructor(public workspaceFolder: WorkspaceFolder, inputs: Setting[], inputFiles: SettingFile[]) {
|
||||
super('Inputs', TreeItemCollapsibleState.Collapsed);
|
||||
this.description = `${inputs.filter(input => input.selected).length}/${inputs.length}`;
|
||||
this.description = `${inputs.filter(input => input.selected).length}/${inputs.length}` +
|
||||
(inputFiles.length > 0 ? ` + ${inputFiles.length} input file(s)` : ``);
|
||||
this.contextValue = InputsTreeItem.contextValue;
|
||||
this.iconPath = new ThemeIcon('record-keys');
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { ThemeIcon, TreeItem, TreeItemCollapsibleState, WorkspaceFolder } from "vscode";
|
||||
import { act } from "../../extension";
|
||||
import { Setting } from "../../settingsManager";
|
||||
import { Setting, SettingFile } from "../../settingsManager";
|
||||
import { StorageKey } from "../../storageManager";
|
||||
import { GithubLocalActionsTreeItem } from "../githubLocalActionsTreeItem";
|
||||
import SettingTreeItem from "./setting";
|
||||
@@ -10,9 +10,10 @@ export default class SecretsTreeItem extends TreeItem implements GithubLocalActi
|
||||
static contextValue = 'githubLocalActions.secrets';
|
||||
storageKey = StorageKey.SecretFiles;
|
||||
|
||||
constructor(public workspaceFolder: WorkspaceFolder, secrets: Setting[]) {
|
||||
constructor(public workspaceFolder: WorkspaceFolder, secrets: Setting[], secretFiles: SettingFile[]) {
|
||||
super('Secrets', TreeItemCollapsibleState.Collapsed);
|
||||
this.description = `${secrets.filter(secret => secret.selected).length}/${secrets.length}`;
|
||||
this.description = `${secrets.filter(secret => secret.selected).length}/${secrets.length}` +
|
||||
(secretFiles.length > 0 ? ` + ${secretFiles.length} secret file(s)` : ``);
|
||||
this.contextValue = SecretsTreeItem.contextValue;
|
||||
this.iconPath = new ThemeIcon('lock');
|
||||
}
|
||||
|
||||
@@ -69,7 +69,12 @@ export default class SettingsTreeDataProvider implements TreeDataProvider<Github
|
||||
await window.showTextDocument(document);
|
||||
}),
|
||||
commands.registerCommand('githubLocalActions.removeSettingFile', async (settingFileTreeItem: SettingFileTreeItem) => {
|
||||
|
||||
await act.settingsManager.removeSettingFile(settingFileTreeItem.workspaceFolder, settingFileTreeItem.settingFile, settingFileTreeItem.storageKey);
|
||||
this.refresh();
|
||||
}),
|
||||
commands.registerCommand('githubLocalActions.deleteSettingFile', async (settingFileTreeItem: SettingFileTreeItem) => {
|
||||
await act.settingsManager.deleteSettingFile(settingFileTreeItem.workspaceFolder, settingFileTreeItem.settingFile, settingFileTreeItem.storageKey);
|
||||
this.refresh();
|
||||
}),
|
||||
commands.registerCommand('githubLocalActions.show', async (settingTreeItem: SettingTreeItem) => {
|
||||
const newSetting = settingTreeItem.setting;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { ThemeIcon, TreeItem, TreeItemCollapsibleState, WorkspaceFolder } from "vscode";
|
||||
import { act } from "../../extension";
|
||||
import { Setting } from "../../settingsManager";
|
||||
import { Setting, SettingFile } from "../../settingsManager";
|
||||
import { StorageKey } from "../../storageManager";
|
||||
import { GithubLocalActionsTreeItem } from "../githubLocalActionsTreeItem";
|
||||
import SettingTreeItem from "./setting";
|
||||
@@ -10,9 +10,10 @@ export default class VariablesTreeItem extends TreeItem implements GithubLocalAc
|
||||
static contextValue = 'githubLocalActions.variables';
|
||||
storageKey = StorageKey.VariableFiles;
|
||||
|
||||
constructor(public workspaceFolder: WorkspaceFolder, variables: Setting[]) {
|
||||
constructor(public workspaceFolder: WorkspaceFolder, variables: Setting[], variableFiles: SettingFile[]) {
|
||||
super('Variables', TreeItemCollapsibleState.Collapsed);
|
||||
this.description = `${variables.filter(variable => variable.selected).length}/${variables.length}`;
|
||||
this.description = `${variables.filter(variable => variable.selected).length}/${variables.length}` +
|
||||
(variableFiles.length > 0 ? ` + ${variableFiles.length} variable file(s)` : ``);
|
||||
this.contextValue = VariablesTreeItem.contextValue;
|
||||
this.iconPath = new ThemeIcon('symbol-key');
|
||||
}
|
||||
|
||||
@@ -20,9 +20,9 @@ export default class WorkspaceFolderSettingsTreeItem extends TreeItem implements
|
||||
|
||||
const settings = await act.settingsManager.getSettings(this.workspaceFolder, false);
|
||||
items.push(...[
|
||||
new SecretsTreeItem(this.workspaceFolder, settings.secrets),
|
||||
new VariablesTreeItem(this.workspaceFolder, settings.variables),
|
||||
new InputsTreeItem(this.workspaceFolder, settings.inputs),
|
||||
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)
|
||||
]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user