This is an automated email from the ASF dual-hosted git repository. marat pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-karavan.git
commit ee10a0f6c82f74dc5d01b74f6f9ab4092321027f Author: Marat Gubaidullin <ma...@talismancloud.io> AuthorDate: Mon Feb 19 17:04:52 2024 -0500 Configurable show Kamelet/Component blocker checkbox --- karavan-vscode/package.json | 11 +++++------ karavan-vscode/settings/components-blocklist.txt | 0 karavan-vscode/settings/kamelets-blocklist.txt | 0 karavan-vscode/src/helpView.ts | 2 +- karavan-vscode/src/utils.ts | 15 +++++++++------ karavan-vscode/webview/App.tsx | 7 ++++++- 6 files changed, 21 insertions(+), 14 deletions(-) diff --git a/karavan-vscode/package.json b/karavan-vscode/package.json index c9e24eb3..068f26ea 100644 --- a/karavan-vscode/package.json +++ b/karavan-vscode/package.json @@ -458,9 +458,8 @@ "scope": "machine", "order": 95 }, - "Karavan.settingsPath": { + "Karavan.blockingComponentsPath": { "type": "string", - "default": "settings", "description": "Blocked kamelets/components Path", "scope": "machine", "order": 96 @@ -726,7 +725,7 @@ "replace-import": "run-script-os", "replace-import:darwin": "find webview -type f -name '*.ts*' -exec sed -i '' 's!karavan-core/lib!core!g' {} +", "replace-import:linux": "find webview -type f -name '*.ts*' -exec sed -i 's!karavan-core/lib!core!g' {} +", - "copy-karavan": "npm run copy-core && npm run copy-designer && npm run replace-import", + "copy-karavan": "npm run copy-core && npm run copy-designer && npm run replace-import", "vscode:prepublish": "npm run copy-karavan && npm run package", "compile": "npm run copy-karavan && cross-env NODE_ENV=development webpack --progress --stats-error-details", "watch": "npm run copy-karavan && cross-env NODE_ENV=development webpack --progress --watch", @@ -749,9 +748,9 @@ "@types/js-yaml": "4.0.9", "@types/node": "20.11.16", "@types/uuid": "9.0.8", - "html-to-image": "1.11.11", + "html-to-image": "1.11.11", "js-yaml": "^4.1.0", - "path-browserify": "^1.0.1", + "path-browserify": "^1.0.1", "react": "18.2.0", "react-dom": "18.2.0", "rxjs": "7.8.1", @@ -798,4 +797,4 @@ "@svgr/webpack": "$@svgr/webpack", "core-js": "^3.30.1" } -} +} \ No newline at end of file diff --git a/karavan-vscode/settings/components-blocklist.txt b/karavan-vscode/settings/components-blocklist.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/karavan-vscode/settings/kamelets-blocklist.txt b/karavan-vscode/settings/kamelets-blocklist.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/karavan-vscode/src/helpView.ts b/karavan-vscode/src/helpView.ts index 435281d5..b02c2cb2 100644 --- a/karavan-vscode/src/helpView.ts +++ b/karavan-vscode/src/helpView.ts @@ -73,7 +73,7 @@ export class HelpView implements vscode.TreeDataProvider<HelpItem> { break; case 'saveBlockedList': - utils.saveBlockList(message.key,message.value); + utils.saveBlockList(message.key, message.value); break; } }, diff --git a/karavan-vscode/src/utils.ts b/karavan-vscode/src/utils.ts index 985544b0..9a5789b3 100644 --- a/karavan-vscode/src/utils.ts +++ b/karavan-vscode/src/utils.ts @@ -52,9 +52,13 @@ export async function savePropertyPlaceholder(key: string, value: string) { export function saveBlockList(key: string, value: string) { if (workspace.workspaceFolders) { const uriFolder: Uri = workspace.workspaceFolders[0].uri; - const settingsPath: string | undefined = workspace.getConfiguration().get("Karavan.settingsPath"); - const name = key+"s-blocklist.txt"; - write(path.join(uriFolder.path, settingsPath+"/"+name), value); + const blockingComponentsPath: string | undefined = workspace.getConfiguration().get("Karavan.blockingComponentsPath"); + if (blockingComponentsPath && blockingComponentsPath.trim().length > 0) { + const name = key+"s-blocklist.txt"; + write(path.join(uriFolder.path, blockingComponentsPath+"/"+name), value); + } else { + window.showErrorMessage("Settings path not configured!") + } } } @@ -191,10 +195,9 @@ export async function readTemplates(context: ExtensionContext) { } export async function readBlockTemplates(context: ExtensionContext) { const result = new Map<string, string>(); - - const blockedListDir: string | undefined = workspace.getConfiguration().get("Karavan.settingsPath"); + const blockedListDir: string | undefined = workspace.getConfiguration().get("Karavan.blockingComponentsPath"); if (blockedListDir && blockedListDir.trim().length > 0) { - const files = await readFilesInDirByExtension(path.join(context.extensionPath, blockedListDir), "txt"); + const files = await readFilesInDirByExtension(blockedListDir, "txt"); files.forEach((v, k) => { result.set(k,v); }) diff --git a/karavan-vscode/webview/App.tsx b/karavan-vscode/webview/App.tsx index f46b71d0..6062553b 100644 --- a/karavan-vscode/webview/App.tsx +++ b/karavan-vscode/webview/App.tsx @@ -263,7 +263,12 @@ class App extends React.Component<Props, State> { files={this.state.files.map(f => new IntegrationFile(f.name, f.code))} /> } - {loaded && page === "knowledgebase" && <KnowledgebasePage dark={dark} changeBlockList={(type: string, name: string, checked: boolean) => this.onchangeBlockedList(type, name, checked)}/>} + {loaded && page === "knowledgebase" && + <KnowledgebasePage + dark={dark} + showBlockCheckbox={true} + changeBlockList={(type: string, name: string, checked: boolean) => this.onchangeBlockedList(type, name, checked)}/> + } {loaded && page === "topology" && <TopologyTab hideToolbar={true}