62 create see deleted records action (#10525)

Closes https://github.com/twentyhq/core-team-issues/issues/62

- Created action
- Removed action from the option menu
- Fixed the filters and sorts providers for the command menu



https://github.com/user-attachments/assets/b42de3ea-536c-458c-a0e7-abd6f929d234
This commit is contained in:
Raphaël Bosi
2025-02-26 18:51:17 +01:00
committed by GitHub
parent 5327febcbe
commit b349d3f8c2
9 changed files with 119 additions and 33 deletions

View File

@ -5,15 +5,11 @@ import {
IconLayout,
IconLayoutList,
IconList,
IconRotate2,
IconTag,
MenuItem,
useIcons,
} from 'twenty-ui';
import { useObjectNamePluralFromSingular } from '@/object-metadata/hooks/useObjectNamePluralFromSingular';
import { useHandleToggleTrashColumnFilter } from '@/object-record/record-index/hooks/useHandleToggleTrashColumnFilter';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { useObjectOptionsForBoard } from '@/object-record/object-options-dropdown/hooks/useObjectOptionsForBoard';
import { useOptionsDropdown } from '@/object-record/object-options-dropdown/hooks/useOptionsDropdown';
@ -48,10 +44,6 @@ export const ObjectOptionsDropdownMenuContent = () => {
const CurrentViewIcon = currentView?.icon ? getIcon(currentView.icon) : null;
const { objectNamePlural } = useObjectNamePluralFromSingular({
objectNameSingular: objectMetadataItem.nameSingular,
});
const recordGroupFieldMetadata = useRecoilComponentValueV2(
recordGroupFieldMetadataComponentState,
);
@ -68,12 +60,6 @@ export const ObjectOptionsDropdownMenuContent = () => {
TableOptionsHotkeyScope.Dropdown,
);
const { handleToggleTrashColumnFilter, toggleSoftDeleteFilterState } =
useHandleToggleTrashColumnFilter({
objectNameSingular: objectMetadataItem.nameSingular,
viewBarId: recordIndexId,
});
const { visibleBoardFields } = useObjectOptionsForBoard({
objectNameSingular: objectMetadataItem.nameSingular,
recordBoardId: recordIndexId,
@ -163,15 +149,6 @@ export const ObjectOptionsDropdownMenuContent = () => {
text={t`Import`}
/>
)}
<MenuItem
onClick={() => {
handleToggleTrashColumnFilter();
toggleSoftDeleteFilterState(true);
closeDropdown();
}}
LeftIcon={IconRotate2}
text={t`Deleted ${objectNamePlural}`}
/>
</DropdownMenuItemsContainer>
</>
);

View File

@ -14,6 +14,7 @@ import { RecordIndexLoadBaseOnContextStoreEffect } from '@/object-record/record-
import { RecordIndexPageHeader } from '@/object-record/record-index/components/RecordIndexPageHeader';
import { useHandleIndexIdentifierClick } from '@/object-record/record-index/hooks/useHandleIndexIdentifierClick';
import { RecordSortsComponentInstanceContext } from '@/object-record/record-sort/states/context/RecordSortsComponentInstanceContext';
import { getRecordIndexIdFromObjectNamePluralAndViewId } from '@/object-record/utils/getRecordIndexIdFromObjectNamePluralAndViewId';
import { PageBody } from '@/ui/layout/page/components/PageBody';
import { PageTitle } from '@/ui/utilities/page-title/components/PageTitle';
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
@ -36,7 +37,10 @@ export const RecordIndexContainerGater = () => {
const { objectMetadataItem } = useContextStoreObjectMetadataItemOrThrow();
const recordIndexId = `${objectMetadataItem.namePlural}-${contextStoreCurrentViewId}`;
const recordIndexId = getRecordIndexIdFromObjectNamePluralAndViewId(
objectMetadataItem.namePlural,
contextStoreCurrentViewId || '',
);
const handleIndexRecordsLoaded = useRecoilCallback(
({ set }) =>

View File

@ -0,0 +1,6 @@
export const getRecordIndexIdFromObjectNamePluralAndViewId = (
objectNamePlural: string,
viewId: string,
): string => {
return `${objectNamePlural}-${viewId}`;
};