Make "Delete all" checkbox remove remaining tool steps

This commit is contained in:
James Brunton 2025-09-12 17:00:58 +01:00
parent 2e68f2d062
commit 83d8553e38

View File

@ -63,12 +63,55 @@ const ChangeMetadata = (props: BaseToolProps) => {
setOpenStep(openStep === stepName ? MetadataStep.NONE : stepName); setOpenStep(openStep === stepName ? MetadataStep.NONE : stepName);
}; };
return createToolFlow({ // Create step objects
files: { const createStandardMetadataStep = () => ({
selectedFiles: base.selectedFiles, title: t("changeMetadata.standardFields.title", "Standard Metadata"),
isCollapsed: base.hasResults, isCollapsed: getActualCollapsedState(MetadataStep.STANDARD_METADATA),
}, onCollapsedClick: () => handleStepToggle(MetadataStep.STANDARD_METADATA),
steps: [ tooltip: standardMetadataTips,
content: (
<StandardMetadataStep
parameters={base.params.parameters}
onParameterChange={base.params.updateParameter}
disabled={base.endpointLoading || isExtractingMetadata}
/>
),
});
const createDocumentDatesStep = () => ({
title: t("changeMetadata.dates.title", "Document Dates"),
isCollapsed: getActualCollapsedState(MetadataStep.DOCUMENT_DATES),
onCollapsedClick: () => handleStepToggle(MetadataStep.DOCUMENT_DATES),
tooltip: documentDatesTips,
content: (
<DocumentDatesStep
parameters={base.params.parameters}
onParameterChange={base.params.updateParameter}
disabled={base.endpointLoading || isExtractingMetadata}
/>
),
});
const createAdvancedOptionsStep = () => ({
title: t("changeMetadata.advanced.title", "Advanced Options"),
isCollapsed: getActualCollapsedState(MetadataStep.ADVANCED_OPTIONS),
onCollapsedClick: () => handleStepToggle(MetadataStep.ADVANCED_OPTIONS),
tooltip: advancedOptionsTips,
content: (
<AdvancedOptionsStep
parameters={base.params.parameters}
onParameterChange={base.params.updateParameter}
disabled={base.endpointLoading || isExtractingMetadata}
addCustomMetadata={base.params.addCustomMetadata}
removeCustomMetadata={base.params.removeCustomMetadata}
updateCustomMetadata={base.params.updateCustomMetadata}
/>
),
});
// Build steps array based on deleteAll state
const buildSteps = () => {
const steps = [
{ {
title: t("changeMetadata.deleteAll.label", "Delete All Metadata"), title: t("changeMetadata.deleteAll.label", "Delete All Metadata"),
isCollapsed: getActualCollapsedState(MetadataStep.DELETE_ALL), 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), if (!base.params.parameters.deleteAll) {
onCollapsedClick: () => handleStepToggle(MetadataStep.STANDARD_METADATA), steps.push(
tooltip: standardMetadataTips, createStandardMetadataStep(),
content: ( createDocumentDatesStep(),
<StandardMetadataStep createAdvancedOptionsStep()
parameters={base.params.parameters} );
onParameterChange={base.params.updateParameter} }
disabled={base.endpointLoading || base.params.parameters.deleteAll || isExtractingMetadata}
/> return steps;
), };
},
{ return createToolFlow({
title: t("changeMetadata.dates.title", "Document Dates"), files: {
isCollapsed: getActualCollapsedState(MetadataStep.DOCUMENT_DATES), selectedFiles: base.selectedFiles,
onCollapsedClick: () => handleStepToggle(MetadataStep.DOCUMENT_DATES), isCollapsed: base.hasResults,
tooltip: documentDatesTips, },
content: ( steps: buildSteps(),
<DocumentDatesStep
parameters={base.params.parameters}
onParameterChange={base.params.updateParameter}
disabled={base.endpointLoading || base.params.parameters.deleteAll || isExtractingMetadata}
/>
),
},
{
title: t("changeMetadata.advanced.title", "Advanced Options"),
isCollapsed: getActualCollapsedState(MetadataStep.ADVANCED_OPTIONS),
onCollapsedClick: () => handleStepToggle(MetadataStep.ADVANCED_OPTIONS),
tooltip: advancedOptionsTips,
content: (
<AdvancedOptionsStep
parameters={base.params.parameters}
onParameterChange={base.params.updateParameter}
disabled={base.endpointLoading || isExtractingMetadata}
addCustomMetadata={base.params.addCustomMetadata}
removeCustomMetadata={base.params.removeCustomMetadata}
updateCustomMetadata={base.params.updateCustomMetadata}
/>
),
},
],
executeButton: { executeButton: {
text: t("changeMetadata.submit", "Update Metadata"), text: t("changeMetadata.submit", "Update Metadata"),
isVisible: !base.hasResults, isVisible: !base.hasResults,