diff --git a/front/src/modules/metadata/hooks/useObjectMetadata.ts b/front/src/modules/metadata/hooks/useObjectMetadata.ts index 3612f9cf4..69e7f31a9 100644 --- a/front/src/modules/metadata/hooks/useObjectMetadata.ts +++ b/front/src/modules/metadata/hooks/useObjectMetadata.ts @@ -3,6 +3,7 @@ import { formatMetadataObjectInput } from '../utils/formatMetadataObjectInput'; import { getObjectSlug } from '../utils/getObjectSlug'; import { useCreateOneMetadataObject } from './useCreateOneMetadataObject'; +import { useDeleteOneMetadataObject } from './useDeleteOneMetadataObject'; import { useFindManyMetadataObjects } from './useFindManyMetadataObjects'; import { useUpdateOneMetadataObject } from './useUpdateOneMetadataObject'; @@ -23,6 +24,7 @@ export const useObjectMetadata = () => { const { createOneMetadataObject } = useCreateOneMetadataObject(); const { updateOneMetadataObject } = useUpdateOneMetadataObject(); + const { deleteOneMetadataObject } = useDeleteOneMetadataObject(); const createObject = ( input: Pick< @@ -54,6 +56,9 @@ export const useObjectMetadata = () => { updatePayload: { isActive: false }, }); + const eraseObject = (metadataObject: Pick) => + deleteOneMetadataObject(metadataObject.id); + return { activateObject, activeObjects: activeMetadataObjects, @@ -61,6 +66,7 @@ export const useObjectMetadata = () => { disabledObjects: disabledMetadataObjects, disableObject, editObject, + eraseObject, findActiveObjectBySlug, }; }; diff --git a/front/src/modules/settings/data-model/objects/SettingsObjectDisabledMenuDropDown.tsx b/front/src/modules/settings/data-model/objects/SettingsObjectDisabledMenuDropDown.tsx index 57e4d2eda..9ca462ddc 100644 --- a/front/src/modules/settings/data-model/objects/SettingsObjectDisabledMenuDropDown.tsx +++ b/front/src/modules/settings/data-model/objects/SettingsObjectDisabledMenuDropDown.tsx @@ -9,15 +9,17 @@ import { DropdownScope } from '@/ui/layout/dropdown/scopes/DropdownScope'; import { MenuItem } from '@/ui/navigation/menu-item/components/MenuItem'; type SettingsObjectDisabledMenuDropDownProps = { - scopeKey: string; + isCustomObject: boolean; onActivate: () => void; onErase: () => void; + scopeKey: string; }; export const SettingsObjectDisabledMenuDropDown = ({ - scopeKey, + isCustomObject, onActivate, onErase, + scopeKey, }: SettingsObjectDisabledMenuDropDownProps) => { const dropdownScopeId = `${scopeKey}-settings-object-disabled-menu-dropdown`; @@ -47,12 +49,14 @@ export const SettingsObjectDisabledMenuDropDown = ({ LeftIcon={IconArchiveOff} onClick={handleActivate} /> - + {isCustomObject && ( + + )} } diff --git a/front/src/pages/settings/data-model/SettingsObjects.tsx b/front/src/pages/settings/data-model/SettingsObjects.tsx index 0bf57dc7a..161b4d805 100644 --- a/front/src/pages/settings/data-model/SettingsObjects.tsx +++ b/front/src/pages/settings/data-model/SettingsObjects.tsx @@ -34,7 +34,7 @@ export const SettingsObjects = () => { const theme = useTheme(); const navigate = useNavigate(); - const { activateObject, activeObjects, disabledObjects } = + const { activateObject, activeObjects, disabledObjects, eraseObject } = useObjectMetadata(); return ( @@ -47,9 +47,7 @@ export const SettingsObjects = () => { title="New object" accent="blue" size="small" - onClick={() => { - navigate('/settings/objects/new'); - }} + onClick={() => navigate('/settings/objects/new')} />
@@ -93,9 +91,10 @@ export const SettingsObjects = () => { objectItem={objectItem} action={ activateObject(objectItem)} - onErase={() => undefined} + onErase={() => eraseObject(objectItem)} /> } />