Refactor Views by cleaning the code, relying on apolloCache and improving performances (#4516)
* Wip refactoring view * Post merge conflicts * Fix review * Add create view capability * Fix create object missing view * Fix tests
This commit is contained in:
@ -57,7 +57,7 @@ describe('useFindManyRecords', () => {
|
||||
const { result } = renderHook(
|
||||
() => {
|
||||
const setCurrentWorkspaceMember = useSetRecoilState(
|
||||
currentWorkspaceMemberState(),
|
||||
currentWorkspaceMemberState,
|
||||
);
|
||||
setCurrentWorkspaceMember({
|
||||
id: '32219445-f587-4c40-b2b1-6d3205ed96da',
|
||||
@ -67,7 +67,7 @@ describe('useFindManyRecords', () => {
|
||||
|
||||
const mockObjectMetadataItems = getObjectMetadataItemsMock();
|
||||
|
||||
const setMetadataItems = useSetRecoilState(objectMetadataItemsState());
|
||||
const setMetadataItems = useSetRecoilState(objectMetadataItemsState);
|
||||
|
||||
setMetadataItems(mockObjectMetadataItems);
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ describe('useGenerateFindManyRecordsForMultipleMetadataItemsQuery', () => {
|
||||
const mockObjectMetadataItems = getObjectMetadataItemsMock();
|
||||
|
||||
return useGenerateFindManyRecordsForMultipleMetadataItemsQuery({
|
||||
objectMetadataItems: mockObjectMetadataItems.slice(0, 2),
|
||||
targetObjectMetadataItems: mockObjectMetadataItems.slice(0, 2),
|
||||
});
|
||||
},
|
||||
{
|
||||
|
||||
@ -18,7 +18,7 @@ import { isDefined } from '~/utils/isDefined';
|
||||
const Wrapper = getJestHookWrapper({
|
||||
apolloMocks: [],
|
||||
onInitializeRecoilSnapshot: (snapshot) => {
|
||||
snapshot.set(objectMetadataItemsState(), getObjectMetadataItemsMock());
|
||||
snapshot.set(objectMetadataItemsState, getObjectMetadataItemsMock());
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
@ -69,7 +69,7 @@ export const useFindManyRecords = <T extends ObjectRecord = ObjectRecord>({
|
||||
);
|
||||
|
||||
const { enqueueSnackBar } = useSnackBar();
|
||||
const currentWorkspaceMember = useRecoilValue(currentWorkspaceMemberState());
|
||||
const currentWorkspaceMember = useRecoilValue(currentWorkspaceMemberState);
|
||||
|
||||
const { data, loading, error, fetchMore } = useQuery<
|
||||
ObjectRecordQueryResult<T>
|
||||
|
||||
@ -17,7 +17,7 @@ export const useGenerateCreateManyRecordMutation = ({
|
||||
}: {
|
||||
objectMetadataItem: ObjectMetadataItem;
|
||||
}) => {
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState());
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
|
||||
|
||||
if (isUndefinedOrNull(objectMetadataItem)) {
|
||||
return EMPTY_MUTATION;
|
||||
|
||||
@ -17,7 +17,7 @@ export const useGenerateCreateOneRecordMutation = ({
|
||||
}: {
|
||||
objectMetadataItem: ObjectMetadataItem;
|
||||
}) => {
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState());
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
|
||||
|
||||
if (isUndefinedOrNull(objectMetadataItem)) {
|
||||
return EMPTY_MUTATION;
|
||||
|
||||
@ -21,7 +21,7 @@ export const useGenerateExecuteQuickActionOnOneRecordMutation = ({
|
||||
}: {
|
||||
objectMetadataItem: ObjectMetadataItem;
|
||||
}) => {
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState());
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
|
||||
|
||||
if (isUndefinedOrNull(objectMetadataItem)) {
|
||||
return EMPTY_MUTATION;
|
||||
|
||||
@ -11,7 +11,7 @@ export const getFindDuplicateRecordsQueryResponseField = (
|
||||
) => `${objectNameSingular}Duplicates`;
|
||||
|
||||
export const useGenerateFindDuplicateRecordsQuery = () => {
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState());
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
|
||||
|
||||
return ({
|
||||
objectMetadataItem,
|
||||
|
||||
@ -8,14 +8,14 @@ import { isNonEmptyArray } from '~/utils/isNonEmptyArray';
|
||||
import { capitalize } from '~/utils/string/capitalize';
|
||||
|
||||
export const useGenerateFindManyRecordsForMultipleMetadataItemsQuery = ({
|
||||
objectMetadataItems,
|
||||
targetObjectMetadataItems,
|
||||
depth,
|
||||
}: {
|
||||
objectMetadataItems: ObjectMetadataItem[];
|
||||
targetObjectMetadataItems: ObjectMetadataItem[];
|
||||
depth?: number;
|
||||
}) => {
|
||||
const allObjectMetadataItems = useRecoilValue(objectMetadataItemsState());
|
||||
const capitalizedObjectNameSingulars = objectMetadataItems.map(
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
|
||||
const capitalizedObjectNameSingulars = targetObjectMetadataItems.map(
|
||||
({ nameSingular }) => capitalize(nameSingular),
|
||||
);
|
||||
|
||||
@ -58,7 +58,7 @@ export const useGenerateFindManyRecordsForMultipleMetadataItemsQuery = ({
|
||||
${lastCursorPerMetadataItemArray},
|
||||
${limitPerMetadataItemArray}
|
||||
) {
|
||||
${objectMetadataItems
|
||||
${targetObjectMetadataItems
|
||||
.map(
|
||||
(objectMetadataItem) =>
|
||||
`${objectMetadataItem.namePlural}(filter: $filter${capitalize(
|
||||
@ -72,7 +72,7 @@ export const useGenerateFindManyRecordsForMultipleMetadataItemsQuery = ({
|
||||
)}){
|
||||
edges {
|
||||
node ${mapObjectMetadataToGraphQLQuery({
|
||||
objectMetadataItems: allObjectMetadataItems,
|
||||
objectMetadataItems: objectMetadataItems,
|
||||
objectMetadataItem,
|
||||
depth,
|
||||
})}
|
||||
|
||||
@ -7,7 +7,7 @@ import { mapObjectMetadataToGraphQLQuery } from '@/object-metadata/utils/mapObje
|
||||
import { capitalize } from '~/utils/string/capitalize';
|
||||
|
||||
export const useGenerateFindManyRecordsQuery = () => {
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState());
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
|
||||
|
||||
return ({
|
||||
objectMetadataItem,
|
||||
|
||||
@ -7,7 +7,7 @@ import { mapObjectMetadataToGraphQLQuery } from '@/object-metadata/utils/mapObje
|
||||
import { capitalize } from '~/utils/string/capitalize';
|
||||
|
||||
export const useGenerateFindOneRecordQuery = () => {
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState());
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
|
||||
|
||||
return ({
|
||||
objectMetadataItem,
|
||||
|
||||
@ -17,7 +17,7 @@ export const useGenerateUpdateOneRecordMutation = ({
|
||||
}: {
|
||||
objectMetadataItem: ObjectMetadataItem;
|
||||
}) => {
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState());
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
|
||||
|
||||
if (isUndefinedOrNull(objectMetadataItem)) {
|
||||
return EMPTY_MUTATION;
|
||||
|
||||
@ -11,7 +11,7 @@ import { FieldMetadataType } from '~/generated/graphql';
|
||||
import { isDefined } from '~/utils/isDefined';
|
||||
|
||||
export const useMapConnectionToRecords = () => {
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState());
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
|
||||
|
||||
const mapConnectionToRecords = useCallback(
|
||||
<T extends ObjectRecord>({
|
||||
|
||||
Reference in New Issue
Block a user