You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ma...@apache.org on 2024/02/19 22:05:07 UTC

(camel-karavan) 03/03: Configurable show Kamelet/Component blocker checkbox

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}