Fix View creation, view fields re-ordering, view filters and view sorts erratic behaviors (#4800)
We used to not type properly the return of getRecordFromCache before the work from last week. The getViewFromCache function was patching this temporarily in a "dirty" way. Now that this is cleaner, I'm removing the typescript patch. This fixing several behaviors on viewBar
This commit is contained in:
@ -3,9 +3,7 @@ import { useApolloClient } from '@apollo/client';
|
|||||||
|
|
||||||
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
|
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
|
||||||
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
||||||
import { ObjectRecordEdge } from '@/object-record/types/ObjectRecordEdge';
|
import { View } from '@/views/types/View';
|
||||||
import { GraphQLView } from '@/views/types/GraphQLView';
|
|
||||||
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';
|
|
||||||
|
|
||||||
export const useGetViewFromCache = () => {
|
export const useGetViewFromCache = () => {
|
||||||
const client = useApolloClient();
|
const client = useApolloClient();
|
||||||
@ -17,30 +15,7 @@ export const useGetViewFromCache = () => {
|
|||||||
|
|
||||||
const getViewFromCache = useCallback(
|
const getViewFromCache = useCallback(
|
||||||
async (viewId: string) => {
|
async (viewId: string) => {
|
||||||
// Todo Fix typing once we have figured out record connections
|
return getRecordFromCache<View>(viewId, cache);
|
||||||
const viewWithConnections = getRecordFromCache<any>(viewId, cache);
|
|
||||||
|
|
||||||
if (isUndefinedOrNull(viewWithConnections)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const view = {
|
|
||||||
...viewWithConnections,
|
|
||||||
viewFilters:
|
|
||||||
viewWithConnections.viewFilters?.edges?.map(
|
|
||||||
(edge: ObjectRecordEdge) => edge.node,
|
|
||||||
) ?? [],
|
|
||||||
viewSorts:
|
|
||||||
viewWithConnections.viewSorts?.edges?.map(
|
|
||||||
(edge: ObjectRecordEdge) => edge.node,
|
|
||||||
) ?? [],
|
|
||||||
viewFields:
|
|
||||||
viewWithConnections.viewFields?.edges?.map(
|
|
||||||
(edge: ObjectRecordEdge) => edge.node,
|
|
||||||
) ?? [],
|
|
||||||
} as GraphQLView;
|
|
||||||
|
|
||||||
return view;
|
|
||||||
},
|
},
|
||||||
[cache, getRecordFromCache],
|
[cache, getRecordFromCache],
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user