mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2025-09-18 09:29:24 +00:00
Move Custom Metadata into advanced
This commit is contained in:
parent
55b8455b66
commit
52885ec939
@ -5,7 +5,6 @@ import { useMetadataExtraction } from "../../../hooks/tools/changeMetadata/useMe
|
|||||||
import DeleteAllStep from "./steps/DeleteAllStep";
|
import DeleteAllStep from "./steps/DeleteAllStep";
|
||||||
import StandardMetadataStep from "./steps/StandardMetadataStep";
|
import StandardMetadataStep from "./steps/StandardMetadataStep";
|
||||||
import DocumentDatesStep from "./steps/DocumentDatesStep";
|
import DocumentDatesStep from "./steps/DocumentDatesStep";
|
||||||
import CustomMetadataStep from "./steps/CustomMetadataStep";
|
|
||||||
import AdvancedOptionsStep from "./steps/AdvancedOptionsStep";
|
import AdvancedOptionsStep from "./steps/AdvancedOptionsStep";
|
||||||
|
|
||||||
interface ChangeMetadataSingleStepProps {
|
interface ChangeMetadataSingleStepProps {
|
||||||
@ -86,23 +85,6 @@ const ChangeMetadataSingleStep = ({
|
|||||||
|
|
||||||
<Divider />
|
<Divider />
|
||||||
|
|
||||||
{/* Custom Metadata */}
|
|
||||||
<Stack gap="md">
|
|
||||||
<Text size="sm" fw={500}>
|
|
||||||
{t('changeMetadata.customFields.title', 'Custom Metadata')}
|
|
||||||
</Text>
|
|
||||||
<CustomMetadataStep
|
|
||||||
parameters={parameters}
|
|
||||||
onParameterChange={onParameterChange}
|
|
||||||
disabled={fieldsDisabled}
|
|
||||||
addCustomMetadata={addCustomMetadata}
|
|
||||||
removeCustomMetadata={removeCustomMetadata}
|
|
||||||
updateCustomMetadata={updateCustomMetadata}
|
|
||||||
/>
|
|
||||||
</Stack>
|
|
||||||
|
|
||||||
<Divider />
|
|
||||||
|
|
||||||
{/* Advanced Options */}
|
{/* Advanced Options */}
|
||||||
<Stack gap="md">
|
<Stack gap="md">
|
||||||
<Text size="sm" fw={500}>
|
<Text size="sm" fw={500}>
|
||||||
@ -112,6 +94,9 @@ const ChangeMetadataSingleStep = ({
|
|||||||
parameters={parameters}
|
parameters={parameters}
|
||||||
onParameterChange={onParameterChange}
|
onParameterChange={onParameterChange}
|
||||||
disabled={fieldsDisabled}
|
disabled={fieldsDisabled}
|
||||||
|
addCustomMetadata={addCustomMetadata}
|
||||||
|
removeCustomMetadata={removeCustomMetadata}
|
||||||
|
updateCustomMetadata={updateCustomMetadata}
|
||||||
/>
|
/>
|
||||||
</Stack>
|
</Stack>
|
||||||
</Stack>
|
</Stack>
|
||||||
|
@ -1,38 +1,60 @@
|
|||||||
import { Select } from "@mantine/core";
|
import { Stack, Select, Divider } from "@mantine/core";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { ChangeMetadataParameters } from "../../../../hooks/tools/changeMetadata/useChangeMetadataParameters";
|
import { ChangeMetadataParameters } from "../../../../hooks/tools/changeMetadata/useChangeMetadataParameters";
|
||||||
import { TrappedStatus } from "../../../../types/metadata";
|
import { TrappedStatus } from "../../../../types/metadata";
|
||||||
|
import CustomMetadataStep from "./CustomMetadataStep";
|
||||||
|
|
||||||
interface AdvancedOptionsStepProps {
|
interface AdvancedOptionsStepProps {
|
||||||
parameters: ChangeMetadataParameters;
|
parameters: ChangeMetadataParameters;
|
||||||
onParameterChange: <K extends keyof ChangeMetadataParameters>(key: K, value: ChangeMetadataParameters[K]) => void;
|
onParameterChange: <K extends keyof ChangeMetadataParameters>(key: K, value: ChangeMetadataParameters[K]) => void;
|
||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
|
addCustomMetadata: (key?: string, value?: string) => void;
|
||||||
|
removeCustomMetadata: (id: string) => void;
|
||||||
|
updateCustomMetadata: (id: string, key: string, value: string) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
const AdvancedOptionsStep = ({
|
const AdvancedOptionsStep = ({
|
||||||
parameters,
|
parameters,
|
||||||
onParameterChange,
|
onParameterChange,
|
||||||
disabled = false
|
disabled = false,
|
||||||
|
addCustomMetadata,
|
||||||
|
removeCustomMetadata,
|
||||||
|
updateCustomMetadata
|
||||||
}: AdvancedOptionsStepProps) => {
|
}: AdvancedOptionsStepProps) => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Select
|
<Stack gap="md">
|
||||||
label={t('changeMetadata.trapped.label', 'Trapped Status')}
|
{/* Trapped Status */}
|
||||||
description={t('changeMetadata.trapped.description', 'Indicates whether the document has been trapped for high-quality printing')}
|
<Select
|
||||||
value={parameters.trapped}
|
label={t('changeMetadata.trapped.label', 'Trapped Status')}
|
||||||
onChange={(value) => {
|
description={t('changeMetadata.trapped.description', 'Indicates whether the document has been trapped for high-quality printing')}
|
||||||
if (value) {
|
value={parameters.trapped}
|
||||||
onParameterChange('trapped', value as TrappedStatus);
|
onChange={(value) => {
|
||||||
}
|
if (value) {
|
||||||
}}
|
onParameterChange('trapped', value as TrappedStatus);
|
||||||
disabled={disabled || parameters.deleteAll}
|
}
|
||||||
data={[
|
}}
|
||||||
{ value: TrappedStatus.UNKNOWN, label: t('changeMetadata.trapped.unknown', 'Unknown') },
|
disabled={disabled || parameters.deleteAll}
|
||||||
{ value: TrappedStatus.TRUE, label: t('changeMetadata.trapped.true', 'True') },
|
data={[
|
||||||
{ value: TrappedStatus.FALSE, label: t('changeMetadata.trapped.false', 'False') }
|
{ value: TrappedStatus.UNKNOWN, label: t('changeMetadata.trapped.unknown', 'Unknown') },
|
||||||
]}
|
{ value: TrappedStatus.TRUE, label: t('changeMetadata.trapped.true', 'True') },
|
||||||
/>
|
{ value: TrappedStatus.FALSE, label: t('changeMetadata.trapped.false', 'False') }
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<Divider />
|
||||||
|
|
||||||
|
{/* Custom Metadata */}
|
||||||
|
<CustomMetadataStep
|
||||||
|
parameters={parameters}
|
||||||
|
onParameterChange={onParameterChange}
|
||||||
|
disabled={disabled}
|
||||||
|
addCustomMetadata={addCustomMetadata}
|
||||||
|
removeCustomMetadata={removeCustomMetadata}
|
||||||
|
updateCustomMetadata={updateCustomMetadata}
|
||||||
|
/>
|
||||||
|
</Stack>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -98,6 +98,15 @@ export const useAdvancedOptionsTips = (): TooltipContent => {
|
|||||||
t("changeMetadata.tooltip.advanced.trapped.bullet2", "False: Document has not been trapped"),
|
t("changeMetadata.tooltip.advanced.trapped.bullet2", "False: Document has not been trapped"),
|
||||||
t("changeMetadata.tooltip.advanced.trapped.bullet3", "Unknown: Trapped status is not specified")
|
t("changeMetadata.tooltip.advanced.trapped.bullet3", "Unknown: Trapped status is not specified")
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: t("changeMetadata.tooltip.customFields.title", "Custom Metadata"),
|
||||||
|
description: t("changeMetadata.tooltip.customFields.text", "Add your own custom key-value metadata pairs."),
|
||||||
|
bullets: [
|
||||||
|
t("changeMetadata.tooltip.customFields.bullet1", "Add any custom fields relevant to your document"),
|
||||||
|
t("changeMetadata.tooltip.customFields.bullet2", "Examples: Department, Project, Version, Status"),
|
||||||
|
t("changeMetadata.tooltip.customFields.bullet3", "Both key and value are required for each entry")
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
import { useState, useEffect } from "react";
|
import { useState } from "react";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { createToolFlow } from "../components/tools/shared/createToolFlow";
|
import { createToolFlow } from "../components/tools/shared/createToolFlow";
|
||||||
import DeleteAllStep from "../components/tools/changeMetadata/steps/DeleteAllStep";
|
import DeleteAllStep from "../components/tools/changeMetadata/steps/DeleteAllStep";
|
||||||
import StandardMetadataStep from "../components/tools/changeMetadata/steps/StandardMetadataStep";
|
import StandardMetadataStep from "../components/tools/changeMetadata/steps/StandardMetadataStep";
|
||||||
import DocumentDatesStep from "../components/tools/changeMetadata/steps/DocumentDatesStep";
|
import DocumentDatesStep from "../components/tools/changeMetadata/steps/DocumentDatesStep";
|
||||||
import CustomMetadataStep from "../components/tools/changeMetadata/steps/CustomMetadataStep";
|
|
||||||
import AdvancedOptionsStep from "../components/tools/changeMetadata/steps/AdvancedOptionsStep";
|
import AdvancedOptionsStep from "../components/tools/changeMetadata/steps/AdvancedOptionsStep";
|
||||||
import { useChangeMetadataParameters } from "../hooks/tools/changeMetadata/useChangeMetadataParameters";
|
import { useChangeMetadataParameters } from "../hooks/tools/changeMetadata/useChangeMetadataParameters";
|
||||||
import { useChangeMetadataOperation } from "../hooks/tools/changeMetadata/useChangeMetadataOperation";
|
import { useChangeMetadataOperation } from "../hooks/tools/changeMetadata/useChangeMetadataOperation";
|
||||||
@ -15,7 +14,6 @@ import {
|
|||||||
useDeleteAllTips,
|
useDeleteAllTips,
|
||||||
useStandardMetadataTips,
|
useStandardMetadataTips,
|
||||||
useDocumentDatesTips,
|
useDocumentDatesTips,
|
||||||
useCustomMetadataTips,
|
|
||||||
useAdvancedOptionsTips
|
useAdvancedOptionsTips
|
||||||
} from "../components/tooltips/useChangeMetadataTips";
|
} from "../components/tooltips/useChangeMetadataTips";
|
||||||
|
|
||||||
@ -26,14 +24,12 @@ const ChangeMetadata = (props: BaseToolProps) => {
|
|||||||
const deleteAllTips = useDeleteAllTips();
|
const deleteAllTips = useDeleteAllTips();
|
||||||
const standardMetadataTips = useStandardMetadataTips();
|
const standardMetadataTips = useStandardMetadataTips();
|
||||||
const documentDatesTips = useDocumentDatesTips();
|
const documentDatesTips = useDocumentDatesTips();
|
||||||
const customMetadataTips = useCustomMetadataTips();
|
|
||||||
const advancedOptionsTips = useAdvancedOptionsTips();
|
const advancedOptionsTips = useAdvancedOptionsTips();
|
||||||
|
|
||||||
// Individual step collapse states
|
// Individual step collapse states
|
||||||
const [deleteAllCollapsed, setDeleteAllCollapsed] = useState(false);
|
const [deleteAllCollapsed, setDeleteAllCollapsed] = useState(false);
|
||||||
const [standardMetadataCollapsed, setStandardMetadataCollapsed] = useState(false);
|
const [standardMetadataCollapsed, setStandardMetadataCollapsed] = useState(false);
|
||||||
const [documentDatesCollapsed, setDocumentDatesCollapsed] = useState(true);
|
const [documentDatesCollapsed, setDocumentDatesCollapsed] = useState(true);
|
||||||
const [customMetadataCollapsed, setCustomMetadataCollapsed] = useState(true);
|
|
||||||
const [advancedOptionsCollapsed, setAdvancedOptionsCollapsed] = useState(true);
|
const [advancedOptionsCollapsed, setAdvancedOptionsCollapsed] = useState(true);
|
||||||
|
|
||||||
const base = useBaseTool(
|
const base = useBaseTool(
|
||||||
@ -102,24 +98,6 @@ const ChangeMetadata = (props: BaseToolProps) => {
|
|||||||
/>
|
/>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: t("changeMetadata.customFields.title", "Custom Metadata"),
|
|
||||||
isCollapsed: getActualCollapsedState(customMetadataCollapsed),
|
|
||||||
onCollapsedClick: base.hasResults
|
|
||||||
? (base.settingsCollapsed ? base.handleSettingsReset : undefined)
|
|
||||||
: () => setCustomMetadataCollapsed(!customMetadataCollapsed),
|
|
||||||
tooltip: customMetadataTips,
|
|
||||||
content: (
|
|
||||||
<CustomMetadataStep
|
|
||||||
parameters={base.params.parameters}
|
|
||||||
onParameterChange={base.params.updateParameter}
|
|
||||||
disabled={base.endpointLoading || base.params.parameters.deleteAll || isExtractingMetadata}
|
|
||||||
addCustomMetadata={base.params.addCustomMetadata}
|
|
||||||
removeCustomMetadata={base.params.removeCustomMetadata}
|
|
||||||
updateCustomMetadata={base.params.updateCustomMetadata}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: t("changeMetadata.advanced.title", "Advanced Options"),
|
title: t("changeMetadata.advanced.title", "Advanced Options"),
|
||||||
isCollapsed: getActualCollapsedState(advancedOptionsCollapsed),
|
isCollapsed: getActualCollapsedState(advancedOptionsCollapsed),
|
||||||
@ -132,6 +110,9 @@ const ChangeMetadata = (props: BaseToolProps) => {
|
|||||||
parameters={base.params.parameters}
|
parameters={base.params.parameters}
|
||||||
onParameterChange={base.params.updateParameter}
|
onParameterChange={base.params.updateParameter}
|
||||||
disabled={base.endpointLoading || isExtractingMetadata}
|
disabled={base.endpointLoading || isExtractingMetadata}
|
||||||
|
addCustomMetadata={base.params.addCustomMetadata}
|
||||||
|
removeCustomMetadata={base.params.removeCustomMetadata}
|
||||||
|
updateCustomMetadata={base.params.updateCustomMetadata}
|
||||||
/>
|
/>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user