From c3f5a46400a689d067ad1468042829dcfa2c51a6 Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Tue, 20 Jan 2026 15:25:53 +0100 Subject: [PATCH] Refactor export wizards for more shared code --- client/src/api/exports.ts | 4 + .../Common/ExportFormatSelector.vue | 73 +++++++++++ .../Common/ExportIncludeOptions.vue | 51 ++++++++ .../Common/ExportRemoteSourceSelector.vue | 74 +++++++++++ .../History/Export/HistoryExportWizard.vue | 122 +++++++++--------- .../Export/InvocationExportWizard.vue | 83 +++++------- .../Invocation/Export/Plugins/index.ts | 16 ++- .../Workflow/Run/ExportOnCompleteWizard.vue | 114 +++++----------- .../Workflow/Run/OnCompleteActions.vue | 35 ++--- .../Workflow/Run/WorkflowRunFormSimple.vue | 3 +- 10 files changed, 355 insertions(+), 220 deletions(-) create mode 100644 client/src/components/Common/ExportFormatSelector.vue create mode 100644 client/src/components/Common/ExportIncludeOptions.vue create mode 100644 client/src/components/Common/ExportRemoteSourceSelector.vue diff --git a/client/src/api/exports.ts b/client/src/api/exports.ts index 7d0e692fab3..f7db82132d8 100644 --- a/client/src/api/exports.ts +++ b/client/src/api/exports.ts @@ -2,6 +2,10 @@ import { GalaxyApi, type ObjectExportTaskResponse } from "@/api"; import { ExportRecordModel } from "@/components/Common/models/exportRecordModel"; import { rethrowSimple } from "@/utils/simple-error"; +import type { components } from "./schema"; + +export type WriteStoreToPayload = components["schemas"]["WriteStoreToPayload"]; + /** * Gets a list of recent export records for the current user. * This includes exports to remote file sources (not short-term storage downloads). diff --git a/client/src/components/Common/ExportFormatSelector.vue b/client/src/components/Common/ExportFormatSelector.vue new file mode 100644 index 00000000000..82d530f5d17 --- /dev/null +++ b/client/src/components/Common/ExportFormatSelector.vue @@ -0,0 +1,73 @@ + + + + + diff --git a/client/src/components/Common/ExportIncludeOptions.vue b/client/src/components/Common/ExportIncludeOptions.vue new file mode 100644 index 00000000000..e99e9eea390 --- /dev/null +++ b/client/src/components/Common/ExportIncludeOptions.vue @@ -0,0 +1,51 @@ + + + diff --git a/client/src/components/Common/ExportRemoteSourceSelector.vue b/client/src/components/Common/ExportRemoteSourceSelector.vue new file mode 100644 index 00000000000..68b3c6b87b7 --- /dev/null +++ b/client/src/components/Common/ExportRemoteSourceSelector.vue @@ -0,0 +1,74 @@ + + + diff --git a/client/src/components/History/Export/HistoryExportWizard.vue b/client/src/components/History/Export/HistoryExportWizard.vue index 181bea4b924..c3ccd8a9cc5 100644 --- a/client/src/components/History/Export/HistoryExportWizard.vue +++ b/client/src/components/History/Export/HistoryExportWizard.vue @@ -1,21 +1,23 @@