Refactored useFindOneObjectMetadataItem and useFindManyObjectMetadataItems (#2600)

* Refactored useFindOneObjectMetadataItem and useFindManyObjectMetadataItems to rely on a recoil family selector

* Removed console.log

* Cleaned

* Removed unused hook

* Fixed seeds
This commit is contained in:
Lucas Bordeau
2023-11-20 16:34:06 +01:00
committed by GitHub
parent 3ad30a0498
commit 189586830e
44 changed files with 190 additions and 239 deletions
@@ -3,7 +3,7 @@ import { DateTime } from 'luxon';
import { useRecoilState } from 'recoil';
import { useFavorites } from '@/favorites/hooks/useFavorites';
import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem';
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { formatFieldMetadataItemAsColumnDefinition } from '@/object-metadata/utils/formatFieldMetadataItemAsColumnDefinition';
import { filterAvailableFieldMetadataItem } from '@/object-record/utils/filterAvailableFieldMetadataItem';
import { IconBuildingSkyscraper } from '@/ui/display/icon';
@@ -35,7 +35,7 @@ export const RecordShowPage = () => {
objectMetadataId: string;
}>();
const { foundObjectMetadataItem } = useFindOneObjectMetadataItem({
const { objectMetadataItem: foundObjectMetadataItem } = useObjectMetadataItem({
objectNameSingular,
});
@@ -2,7 +2,7 @@ import styled from '@emotion/styled';
import { useRecoilCallback } from 'recoil';
import { useComputeDefinitionsFromFieldMetadata } from '@/object-metadata/hooks/useComputeDefinitionsFromFieldMetadata';
import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem';
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { RecordTable } from '@/ui/object/record-table/components/RecordTable';
import { TableOptionsDropdownId } from '@/ui/object/record-table/constants/TableOptionsDropdownId';
import { useRecordTable } from '@/ui/object/record-table/hooks/useRecordTable';
@@ -32,7 +32,7 @@ export const RecordTableContainer = ({
}: {
objectNamePlural: string;
}) => {
const { foundObjectMetadataItem } = useFindOneObjectMetadataItem({
const { objectMetadataItem: foundObjectMetadataItem } = useObjectMetadataItem({
objectNamePlural,
});
const { columnDefinitions } = useComputeDefinitionsFromFieldMetadata(
@@ -1,8 +1,8 @@
import { useEffect } from 'react';
import { useComputeDefinitionsFromFieldMetadata } from '@/object-metadata/hooks/useComputeDefinitionsFromFieldMetadata';
import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem';
import { useObjectMainIdentifier } from '@/object-metadata/hooks/useObjectMainIdentifier';
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { useRecordTableContextMenuEntries } from '@/object-record/hooks/useRecordTableContextMenuEntries';
import { filterAvailableTableColumns } from '@/object-record/utils/filterAvailableTableColumns';
import { useRecordTable } from '@/ui/object/record-table/hooks/useRecordTable';
@@ -17,7 +17,7 @@ export const RecordTableEffect = () => {
setObjectMetadataConfig,
} = useRecordTable();
const { foundObjectMetadataItem } = useFindOneObjectMetadataItem({
const { objectMetadataItem } = useObjectMetadataItem({
objectNamePlural,
});
@@ -25,10 +25,10 @@ export const RecordTableEffect = () => {
mainIdentifierMapper,
basePathToShowPage,
mainIdentifierFieldMetadataId,
} = useObjectMainIdentifier(foundObjectMetadataItem);
} = useObjectMainIdentifier(objectMetadataItem);
const { columnDefinitions, filterDefinitions, sortDefinitions } =
useComputeDefinitionsFromFieldMetadata(foundObjectMetadataItem);
useComputeDefinitionsFromFieldMetadata(objectMetadataItem);
const {
setAvailableSortDefinitions,
@@ -53,17 +53,17 @@ export const RecordTableEffect = () => {
}
}, [
basePathToShowPage,
foundObjectMetadataItem,
objectMetadataItem,
mainIdentifierFieldMetadataId,
mainIdentifierMapper,
setObjectMetadataConfig,
]);
useEffect(() => {
if (!foundObjectMetadataItem) {
if (!objectMetadataItem) {
return;
}
setViewObjectMetadataId?.(foundObjectMetadataItem.id);
setViewObjectMetadataId?.(objectMetadataItem.id);
setViewType?.(ViewType.Table);
setAvailableSortDefinitions?.(sortDefinitions);
@@ -82,7 +82,7 @@ export const RecordTableEffect = () => {
setAvailableSortDefinitions,
setAvailableFilterDefinitions,
setAvailableFieldDefinitions,
foundObjectMetadataItem,
objectMetadataItem,
sortDefinitions,
filterDefinitions,
setAvailableTableColumns,
@@ -2,7 +2,7 @@ import { useEffect } from 'react';
import { useNavigate, useParams } from 'react-router-dom';
import styled from '@emotion/styled';
import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem';
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { ObjectMetadataItemIdentifier } from '@/object-metadata/types/ObjectMetadataItemIdentifier';
import { IconBuildingSkyscraper } from '@/ui/display/icon';
import { PageAddButton } from '@/ui/layout/page/PageAddButton';
@@ -31,26 +31,25 @@ export type RecordTablePageProps = Pick<
export const RecordTablePage = () => {
const objectNamePlural = useParams().objectNamePlural ?? '';
const { objectNotFoundInMetadata, loading, foundObjectMetadataItem } =
useFindOneObjectMetadataItem({
const { objectNotFoundInMetadata, objectMetadataItem } =
useObjectMetadataItem({
objectNamePlural,
});
const navigate = useNavigate();
useEffect(() => {
if (!loading && objectNotFoundInMetadata) {
if (objectNotFoundInMetadata) {
navigate('/');
}
}, [objectNotFoundInMetadata, loading, navigate]);
}, [objectNotFoundInMetadata, navigate]);
const { createOneObject } = useCreateOneObjectRecord({
objectNameSingular: foundObjectMetadataItem?.nameSingular,
objectNameSingular: objectMetadataItem?.nameSingular,
});
const handleAddButtonClick = async () => {
const createdObject = await createOneObject?.({});
console.log(createdObject);
await createOneObject?.({});
};
return (