removing RecordTableEmptyStateByGroupNoRecordAtAll (#11584)
We found out that `RecordTableEmptyStateByGroupNoRecordAtAll` was used only when `hasRecordGroups` was true in "RecordTableEmptyState" However the only parent component is RecordTableEmpty and called RecordTableEmptyState when `hasRecordGroups` was false Fixes https://github.com/twentyhq/core-team-issues/issues/833 Meaning never called at all
This commit is contained in:
@ -1,7 +1,5 @@
|
|||||||
import { useFindManyRecords } from '@/object-record/hooks/useFindManyRecords';
|
import { useFindManyRecords } from '@/object-record/hooks/useFindManyRecords';
|
||||||
import { hasRecordGroupsComponentSelector } from '@/object-record/record-group/states/selectors/hasRecordGroupsComponentSelector';
|
|
||||||
import { useRecordTableContextOrThrow } from '@/object-record/record-table/contexts/RecordTableContext';
|
import { useRecordTableContextOrThrow } from '@/object-record/record-table/contexts/RecordTableContext';
|
||||||
import { RecordTableEmptyStateByGroupNoRecordAtAll } from '@/object-record/record-table/empty-state/components/RecordTableEmptyStateByGroupNoRecordAtAll';
|
|
||||||
import { RecordTableEmptyStateNoGroupNoRecordAtAll } from '@/object-record/record-table/empty-state/components/RecordTableEmptyStateNoGroupNoRecordAtAll';
|
import { RecordTableEmptyStateNoGroupNoRecordAtAll } from '@/object-record/record-table/empty-state/components/RecordTableEmptyStateNoGroupNoRecordAtAll';
|
||||||
import { RecordTableEmptyStateNoRecordFoundForFilter } from '@/object-record/record-table/empty-state/components/RecordTableEmptyStateNoRecordFoundForFilter';
|
import { RecordTableEmptyStateNoRecordFoundForFilter } from '@/object-record/record-table/empty-state/components/RecordTableEmptyStateNoRecordFoundForFilter';
|
||||||
import { RecordTableEmptyStateReadOnly } from '@/object-record/record-table/empty-state/components/RecordTableEmptyStateReadOnly';
|
import { RecordTableEmptyStateReadOnly } from '@/object-record/record-table/empty-state/components/RecordTableEmptyStateReadOnly';
|
||||||
@ -15,10 +13,6 @@ export const RecordTableEmptyState = () => {
|
|||||||
const { recordTableId, objectNameSingular, objectMetadataItem } =
|
const { recordTableId, objectNameSingular, objectMetadataItem } =
|
||||||
useRecordTableContextOrThrow();
|
useRecordTableContextOrThrow();
|
||||||
|
|
||||||
const hasRecordGroups = useRecoilComponentValueV2(
|
|
||||||
hasRecordGroupsComponentSelector,
|
|
||||||
);
|
|
||||||
|
|
||||||
const hasObjectReadOnlyPermission = useHasObjectReadOnlyPermission();
|
const hasObjectReadOnlyPermission = useHasObjectReadOnlyPermission();
|
||||||
|
|
||||||
const { totalCount } = useFindManyRecords({ objectNameSingular, limit: 1 });
|
const { totalCount } = useFindManyRecords({ objectNameSingular, limit: 1 });
|
||||||
@ -40,10 +34,6 @@ export const RecordTableEmptyState = () => {
|
|||||||
} else if (isSoftDeleteActive === true) {
|
} else if (isSoftDeleteActive === true) {
|
||||||
return <RecordTableEmptyStateSoftDelete />;
|
return <RecordTableEmptyStateSoftDelete />;
|
||||||
} else if (noRecordAtAll) {
|
} else if (noRecordAtAll) {
|
||||||
if (hasRecordGroups) {
|
|
||||||
return <RecordTableEmptyStateByGroupNoRecordAtAll />;
|
|
||||||
}
|
|
||||||
|
|
||||||
return <RecordTableEmptyStateNoGroupNoRecordAtAll />;
|
return <RecordTableEmptyStateNoGroupNoRecordAtAll />;
|
||||||
} else {
|
} else {
|
||||||
return <RecordTableEmptyStateNoRecordFoundForFilter />;
|
return <RecordTableEmptyStateNoRecordFoundForFilter />;
|
||||||
|
|||||||
@ -1,60 +0,0 @@
|
|||||||
import { useObjectLabel } from '@/object-metadata/hooks/useObjectLabel';
|
|
||||||
import { RecordIndexAddRecordInGroupDropdown } from '@/object-record/record-index/components/RecordIndexAddRecordInGroupDropdown';
|
|
||||||
import { recordIndexRecordGroupHideComponentFamilyState } from '@/object-record/record-index/states/recordIndexRecordGroupHideComponentFamilyState';
|
|
||||||
import { useRecordTableContextOrThrow } from '@/object-record/record-table/contexts/RecordTableContext';
|
|
||||||
import { RecordTableEmptyStateDisplay } from '@/object-record/record-table/empty-state/components/RecordTableEmptyStateDisplay';
|
|
||||||
import { getEmptyStateSubTitle } from '@/object-record/record-table/empty-state/utils/getEmptyStateSubTitle';
|
|
||||||
import { getEmptyStateTitle } from '@/object-record/record-table/empty-state/utils/getEmptyStateTitle';
|
|
||||||
import { useSetRecoilComponentFamilyStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentFamilyStateV2';
|
|
||||||
import { ViewType } from '@/views/types/ViewType';
|
|
||||||
import { Button } from 'twenty-ui/input';
|
|
||||||
import { IconPlus } from 'twenty-ui/display';
|
|
||||||
|
|
||||||
export const RecordTableEmptyStateByGroupNoRecordAtAll = () => {
|
|
||||||
const { objectMetadataItem } = useRecordTableContextOrThrow();
|
|
||||||
|
|
||||||
const setHideEmptyRecordGroup = useSetRecoilComponentFamilyStateV2(
|
|
||||||
recordIndexRecordGroupHideComponentFamilyState,
|
|
||||||
ViewType.Table,
|
|
||||||
);
|
|
||||||
|
|
||||||
const objectLabel = useObjectLabel(objectMetadataItem);
|
|
||||||
|
|
||||||
const buttonTitle = `Add a ${objectLabel}`;
|
|
||||||
|
|
||||||
const title = getEmptyStateTitle(
|
|
||||||
objectMetadataItem.nameSingular,
|
|
||||||
objectLabel,
|
|
||||||
);
|
|
||||||
|
|
||||||
const subTitle = getEmptyStateSubTitle(
|
|
||||||
objectMetadataItem.nameSingular,
|
|
||||||
objectLabel,
|
|
||||||
);
|
|
||||||
|
|
||||||
const handleButtonClick = () => {
|
|
||||||
// When we have no records in the group, we want to show the empty state
|
|
||||||
setHideEmptyRecordGroup(false);
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
|
||||||
<RecordTableEmptyStateDisplay
|
|
||||||
title={title}
|
|
||||||
subTitle={subTitle}
|
|
||||||
animatedPlaceholderType="noRecord"
|
|
||||||
buttonComponent={
|
|
||||||
<RecordIndexAddRecordInGroupDropdown
|
|
||||||
dropdownId="record-table-empty-state-add-button-dropdown"
|
|
||||||
clickableComponent={
|
|
||||||
<Button
|
|
||||||
Icon={IconPlus}
|
|
||||||
title={buttonTitle}
|
|
||||||
variant={'secondary'}
|
|
||||||
onClick={handleButtonClick}
|
|
||||||
/>
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
Reference in New Issue
Block a user