From a4eb8fb0184eda322ef2fb42470a2fb992fd6752 Mon Sep 17 00:00:00 2001 From: Jeroen Nijhuis Date: Sat, 23 Mar 2024 18:21:05 +0100 Subject: [PATCH] feat: added setting for manually specifying namespaces for clusters resolves #8 --- package-lock.json | 164 ++++++++++++------ package.json | 2 +- src/App.vue | 1 + src/assets/icons/plus.svg | 1 + src/components/ContextSwitcher.vue | 50 +++++- src/components/RouterViewport.vue | 3 +- src/components/settings/Navigation.vue | 1 + src/components/ui/tags-input/TagsInput.vue | 22 +++ .../ui/tags-input/TagsInputInput.vue | 19 ++ .../ui/tags-input/TagsInputItem.vue | 22 +++ .../ui/tags-input/TagsInputItemDelete.vue | 24 +++ .../ui/tags-input/TagsInputItemText.vue | 28 +++ src/components/ui/tags-input/index.ts | 5 + src/providers/SettingsContextProvider.ts | 10 +- src/router.ts | 10 +- src/views/Settings.vue | 2 +- src/views/settings/Clusters.vue | 125 +++++++++++++ src/views/settings/Contexts.vue | 1 - src/views/settings/General.vue | 30 +++- 19 files changed, 442 insertions(+), 78 deletions(-) create mode 100644 src/assets/icons/plus.svg create mode 100644 src/components/ui/tags-input/TagsInput.vue create mode 100644 src/components/ui/tags-input/TagsInputInput.vue create mode 100644 src/components/ui/tags-input/TagsInputItem.vue create mode 100644 src/components/ui/tags-input/TagsInputItemDelete.vue create mode 100644 src/components/ui/tags-input/TagsInputItemText.vue create mode 100644 src/components/ui/tags-input/index.ts create mode 100644 src/views/settings/Clusters.vue delete mode 100644 src/views/settings/Contexts.vue diff --git a/package-lock.json b/package-lock.json index ae3651d..b2f4c1e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "monaco-editor": "^0.45.0", "monaco-languageclient": "^7.3.0", "pluralize": "^8.0.0", - "radix-vue": "^1.2.7", + "radix-vue": "^1.5.3", "tailwind-merge": "^2.1.0", "tailwindcss-animate": "^1.0.7", "vee-validate": "^4.12.5", @@ -1349,40 +1349,41 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.2.tgz", - "integrity": "sha512-Ii3MrfY/GAIN3OhXNzpCKaLxHQfJF9qvwq/kEJYdqDxeIHa01K8sldugal6TmeeXl+WMvhv9cnVzUTaFFJF09A==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", + "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", "dependencies": { - "@floating-ui/utils": "^0.1.3" + "@floating-ui/utils": "^0.2.1" } }, "node_modules/@floating-ui/dom": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz", - "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz", + "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==", "dependencies": { - "@floating-ui/core": "^1.4.2", - "@floating-ui/utils": "^0.1.3" + "@floating-ui/core": "^1.0.0", + "@floating-ui/utils": "^0.2.0" } }, "node_modules/@floating-ui/utils": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz", - "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==" + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", + "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" }, "node_modules/@floating-ui/vue": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@floating-ui/vue/-/vue-1.0.2.tgz", - "integrity": "sha512-sImlAl9mAoCKZLNlwWz2P2ZMJIDlOEDXrRD6aD2sIHAka1LPC+nWtB+D3lPe7IE7FGWSbwBPTnlSdlABa3Fr0A==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@floating-ui/vue/-/vue-1.0.6.tgz", + "integrity": "sha512-EdrOljjkpkkqZnrpqUcPoz9NvHxuTjUtSInh6GMv3+Mcy+giY2cE2pHh9rpacRcZ2eMSCxel9jWkWXTjLmY55w==", "dependencies": { - "@floating-ui/dom": "^1.4.5", + "@floating-ui/dom": "^1.6.1", + "@floating-ui/utils": "^0.2.1", "vue-demi": ">=0.13.0" } }, "node_modules/@floating-ui/vue/node_modules/vue-demi": { - "version": "0.14.6", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", - "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", "hasInstallScript": true, "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", @@ -1437,6 +1438,14 @@ "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", "dev": true }, + "node_modules/@internationalized/date": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.5.2.tgz", + "integrity": "sha512-vo1yOMUt2hzp63IutEaTUxROdvQg1qlMRsbCvbay2AK2Gai7wIgCyK5weEX3nHkiLgo4qCXHijFNC/ILhlRpOQ==", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, "node_modules/@jest/schemas": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", @@ -2290,6 +2299,14 @@ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", "dev": true }, + "node_modules/@swc/helpers": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.7.tgz", + "integrity": "sha512-BVvNZhx362+l2tSwSuyEUV4h7+jk9raNdoTSdLfwTshXJSaGmYKluGRJznziCI3KX02Z19DdsQrdfrpXAU3Hfg==", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@szmarczak/http-timer": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", @@ -12423,13 +12440,32 @@ } }, "node_modules/radix-vue": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/radix-vue/-/radix-vue-1.2.7.tgz", - "integrity": "sha512-U3cq4kOO6BT0YXq5jSIhmc72b70XRVGGty3XCDluc//GYr5iChvWUh7OK8/9uvY+Z9q3Z/VKb4K1DsvIJmZ0dA==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/radix-vue/-/radix-vue-1.5.3.tgz", + "integrity": "sha512-K1JF8P238jGKRwwlWe0LNCd80bamfWFnDhLNBAgoWvSRORRIsoo7DODnC4TLE62JE55tf/6ABSs5JIvp2BvYPA==", "dependencies": { - "@floating-ui/dom": "^1.5.3", - "@floating-ui/vue": "^1.0.2", - "fast-deep-equal": "^3.1.3" + "@floating-ui/dom": "^1.5.4", + "@floating-ui/vue": "^1.0.4", + "@internationalized/date": "^3.5.2", + "fast-deep-equal": "^3.1.3", + "nanoid": "^5.0.6" + } + }, + "node_modules/radix-vue/node_modules/nanoid": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.6.tgz", + "integrity": "sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" } }, "node_modules/railroad-diagrams": { @@ -16117,40 +16153,41 @@ "dev": true }, "@floating-ui/core": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.2.tgz", - "integrity": "sha512-Ii3MrfY/GAIN3OhXNzpCKaLxHQfJF9qvwq/kEJYdqDxeIHa01K8sldugal6TmeeXl+WMvhv9cnVzUTaFFJF09A==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", + "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", "requires": { - "@floating-ui/utils": "^0.1.3" + "@floating-ui/utils": "^0.2.1" } }, "@floating-ui/dom": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz", - "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz", + "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==", "requires": { - "@floating-ui/core": "^1.4.2", - "@floating-ui/utils": "^0.1.3" + "@floating-ui/core": "^1.0.0", + "@floating-ui/utils": "^0.2.0" } }, "@floating-ui/utils": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz", - "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==" + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", + "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" }, "@floating-ui/vue": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@floating-ui/vue/-/vue-1.0.2.tgz", - "integrity": "sha512-sImlAl9mAoCKZLNlwWz2P2ZMJIDlOEDXrRD6aD2sIHAka1LPC+nWtB+D3lPe7IE7FGWSbwBPTnlSdlABa3Fr0A==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@floating-ui/vue/-/vue-1.0.6.tgz", + "integrity": "sha512-EdrOljjkpkkqZnrpqUcPoz9NvHxuTjUtSInh6GMv3+Mcy+giY2cE2pHh9rpacRcZ2eMSCxel9jWkWXTjLmY55w==", "requires": { - "@floating-ui/dom": "^1.4.5", + "@floating-ui/dom": "^1.6.1", + "@floating-ui/utils": "^0.2.1", "vue-demi": ">=0.13.0" }, "dependencies": { "vue-demi": { - "version": "0.14.6", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", - "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", "requires": {} } } @@ -16178,6 +16215,14 @@ "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", "dev": true }, + "@internationalized/date": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.5.2.tgz", + "integrity": "sha512-vo1yOMUt2hzp63IutEaTUxROdvQg1qlMRsbCvbay2AK2Gai7wIgCyK5weEX3nHkiLgo4qCXHijFNC/ILhlRpOQ==", + "requires": { + "@swc/helpers": "^0.5.0" + } + }, "@jest/schemas": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", @@ -16803,6 +16848,14 @@ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", "dev": true }, + "@swc/helpers": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.7.tgz", + "integrity": "sha512-BVvNZhx362+l2tSwSuyEUV4h7+jk9raNdoTSdLfwTshXJSaGmYKluGRJznziCI3KX02Z19DdsQrdfrpXAU3Hfg==", + "requires": { + "tslib": "^2.4.0" + } + }, "@szmarczak/http-timer": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", @@ -23936,13 +23989,22 @@ "dev": true }, "radix-vue": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/radix-vue/-/radix-vue-1.2.7.tgz", - "integrity": "sha512-U3cq4kOO6BT0YXq5jSIhmc72b70XRVGGty3XCDluc//GYr5iChvWUh7OK8/9uvY+Z9q3Z/VKb4K1DsvIJmZ0dA==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/radix-vue/-/radix-vue-1.5.3.tgz", + "integrity": "sha512-K1JF8P238jGKRwwlWe0LNCd80bamfWFnDhLNBAgoWvSRORRIsoo7DODnC4TLE62JE55tf/6ABSs5JIvp2BvYPA==", "requires": { - "@floating-ui/dom": "^1.5.3", - "@floating-ui/vue": "^1.0.2", - "fast-deep-equal": "^3.1.3" + "@floating-ui/dom": "^1.5.4", + "@floating-ui/vue": "^1.0.4", + "@internationalized/date": "^3.5.2", + "fast-deep-equal": "^3.1.3", + "nanoid": "^5.0.6" + }, + "dependencies": { + "nanoid": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.6.tgz", + "integrity": "sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==" + } } }, "railroad-diagrams": { diff --git a/package.json b/package.json index 58ee8ef..4e8cf13 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "monaco-editor": "^0.45.0", "monaco-languageclient": "^7.3.0", "pluralize": "^8.0.0", - "radix-vue": "^1.2.7", + "radix-vue": "^1.5.3", "tailwind-merge": "^2.1.0", "tailwindcss-animate": "^1.0.7", "vee-validate": "^4.12.5", diff --git a/src/App.vue b/src/App.vue index 7b4109a..343a483 100644 --- a/src/App.vue +++ b/src/App.vue @@ -10,6 +10,7 @@ import CommandPaletteProvider from "./providers/CommandPaletteProvider"; import TabProvider from "./providers/TabProvider"; import DialogProvider from "./providers/DialogProvider"; import DialogHandler from "./components/DialogHandler.vue"; +import Settings from "./views/Settings.vue";