From fa14ec52f4dbd0529e5e59e643d69121fdb12ec6 Mon Sep 17 00:00:00 2001 From: Jin Yi Date: Wed, 18 Jun 2025 10:52:24 +0900 Subject: [PATCH] =?UTF-8?q?[Manager]=20Impletent=20=E2=80=9CInstall=20All?= =?UTF-8?q?=E2=80=9D=20button=20(#4196)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: github-actions Co-authored-by: filtered <176114999+webfiltered@users.noreply.github.com> Co-authored-by: Christian Byrne Co-authored-by: Terry Jia Co-authored-by: comfy-waifu Co-authored-by: Comfy Org PR Bot --- .../dialog/content/LoadWorkflowWarning.vue | 11 + .../content/manager/ManagerDialogContent.vue | 1 + .../manager/button/PackActionButton.vue | 18 +- .../manager/button/PackInstallButton.vue | 10 +- .../registrySearchBar/RegistrySearchBar.vue | 59 +++-- src/composables/nodePack/useMissingNodes.ts | 39 +++ src/locales/en/main.json | 1 + src/locales/es/main.json | 1 + src/locales/fr/main.json | 1 + src/locales/ja/main.json | 1 + src/locales/ko/main.json | 1 + src/locales/ru/main.json | 1 + src/locales/zh/main.json | 1 + .../tests/composables/useMissingNodes.test.ts | 233 ++++++++++++++++++ 14 files changed, 346 insertions(+), 32 deletions(-) create mode 100644 src/composables/nodePack/useMissingNodes.ts create mode 100644 tests-ui/tests/composables/useMissingNodes.test.ts diff --git a/src/components/dialog/content/LoadWorkflowWarning.vue b/src/components/dialog/content/LoadWorkflowWarning.vue index bc10a381a..b02e85e3e 100644 --- a/src/components/dialog/content/LoadWorkflowWarning.vue +++ b/src/components/dialog/content/LoadWorkflowWarning.vue @@ -31,6 +31,12 @@
+
@@ -41,6 +47,8 @@ import ListBox from 'primevue/listbox' import { computed } from 'vue' import NoResultsPlaceholder from '@/components/common/NoResultsPlaceholder.vue' +import PackInstallButton from '@/components/dialog/content/manager/button/PackInstallButton.vue' +import { useMissingNodes } from '@/composables/nodePack/useMissingNodes' import { useDialogService } from '@/services/dialogService' import { useAboutPanelStore } from '@/stores/aboutPanelStore' import type { MissingNodeType } from '@/types/comfy' @@ -52,6 +60,9 @@ const props = defineProps<{ const aboutPanelStore = useAboutPanelStore() +// Get missing node packs from workflow with loading and error states +const { missingNodePacks, isLoading, error } = useMissingNodes() + // Determines if ComfyUI-Manager is installed by checking for its badge in the about panel // This allows us to conditionally show the Manager button only when the extension is available // TODO: Remove this check when Manager functionality is fully migrated into core diff --git a/src/components/dialog/content/manager/ManagerDialogContent.vue b/src/components/dialog/content/manager/ManagerDialogContent.vue index 34f500243..39dce41d4 100644 --- a/src/components/dialog/content/manager/ManagerDialogContent.vue +++ b/src/components/dialog/content/manager/ManagerDialogContent.vue @@ -32,6 +32,7 @@ v-model:sortField="sortField" :search-results="searchResults" :suggestions="suggestions" + :is-missing-tab="isMissingTab" :sort-options="sortOptions" />
diff --git a/src/components/dialog/content/manager/button/PackActionButton.vue b/src/components/dialog/content/manager/button/PackActionButton.vue index 573e5c34e..d38d18626 100644 --- a/src/components/dialog/content/manager/button/PackActionButton.vue +++ b/src/components/dialog/content/manager/button/PackActionButton.vue @@ -1,16 +1,18 @@