diff --git a/frontend/src/tools/ChangeMetadata.tsx b/frontend/src/tools/ChangeMetadata.tsx index 134568052..2eb07afc7 100644 --- a/frontend/src/tools/ChangeMetadata.tsx +++ b/frontend/src/tools/ChangeMetadata.tsx @@ -63,12 +63,55 @@ const ChangeMetadata = (props: BaseToolProps) => { setOpenStep(openStep === stepName ? MetadataStep.NONE : stepName); }; - return createToolFlow({ - files: { - selectedFiles: base.selectedFiles, - isCollapsed: base.hasResults, - }, - steps: [ + // Create step objects + const createStandardMetadataStep = () => ({ + title: t("changeMetadata.standardFields.title", "Standard Metadata"), + isCollapsed: getActualCollapsedState(MetadataStep.STANDARD_METADATA), + onCollapsedClick: () => handleStepToggle(MetadataStep.STANDARD_METADATA), + tooltip: standardMetadataTips, + content: ( + + ), + }); + + const createDocumentDatesStep = () => ({ + title: t("changeMetadata.dates.title", "Document Dates"), + isCollapsed: getActualCollapsedState(MetadataStep.DOCUMENT_DATES), + onCollapsedClick: () => handleStepToggle(MetadataStep.DOCUMENT_DATES), + tooltip: documentDatesTips, + content: ( + + ), + }); + + const createAdvancedOptionsStep = () => ({ + title: t("changeMetadata.advanced.title", "Advanced Options"), + isCollapsed: getActualCollapsedState(MetadataStep.ADVANCED_OPTIONS), + onCollapsedClick: () => handleStepToggle(MetadataStep.ADVANCED_OPTIONS), + tooltip: advancedOptionsTips, + content: ( + + ), + }); + + // Build steps array based on deleteAll state + const buildSteps = () => { + const steps = [ { title: t("changeMetadata.deleteAll.label", "Delete All Metadata"), isCollapsed: getActualCollapsedState(MetadataStep.DELETE_ALL), @@ -82,49 +125,25 @@ const ChangeMetadata = (props: BaseToolProps) => { /> ), }, - { - title: t("changeMetadata.standardFields.title", "Standard Metadata"), - isCollapsed: getActualCollapsedState(MetadataStep.STANDARD_METADATA), - onCollapsedClick: () => handleStepToggle(MetadataStep.STANDARD_METADATA), - tooltip: standardMetadataTips, - content: ( - - ), - }, - { - title: t("changeMetadata.dates.title", "Document Dates"), - isCollapsed: getActualCollapsedState(MetadataStep.DOCUMENT_DATES), - onCollapsedClick: () => handleStepToggle(MetadataStep.DOCUMENT_DATES), - tooltip: documentDatesTips, - content: ( - - ), - }, - { - title: t("changeMetadata.advanced.title", "Advanced Options"), - isCollapsed: getActualCollapsedState(MetadataStep.ADVANCED_OPTIONS), - onCollapsedClick: () => handleStepToggle(MetadataStep.ADVANCED_OPTIONS), - tooltip: advancedOptionsTips, - content: ( - - ), - }, - ], + ]; + + if (!base.params.parameters.deleteAll) { + steps.push( + createStandardMetadataStep(), + createDocumentDatesStep(), + createAdvancedOptionsStep() + ); + } + + return steps; + }; + + return createToolFlow({ + files: { + selectedFiles: base.selectedFiles, + isCollapsed: base.hasResults, + }, + steps: buildSteps(), executeButton: { text: t("changeMetadata.submit", "Update Metadata"), isVisible: !base.hasResults,