Relations many in table view (#5842)

Closes #5924.

Adding the "many" side of relations in the table view, and fixing some
issues (glitch in Multi record select, cache update after update).

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
This commit is contained in:
Marie
2024-06-27 11:28:03 +02:00
committed by GitHub
parent dcb709feee
commit 7eb69a78ef
82 changed files with 1531 additions and 751 deletions

View File

@ -1,14 +1,31 @@
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { isDefined } from '~/utils/isDefined';
export const generateDepthOneRecordGqlFields = ({
objectMetadataItem,
record,
}: {
objectMetadataItem: ObjectMetadataItem;
record?: Record<string, any>;
}) => {
return objectMetadataItem.fields.reduce((acc, field) => {
return {
...acc,
[field.name]: true,
};
}, {});
const gqlFieldsFromObjectMetadataItem = objectMetadataItem.fields.reduce(
(acc, field) => {
return {
...acc,
[field.name]: true,
};
},
{},
);
if (isDefined(record)) {
return Object.keys(gqlFieldsFromObjectMetadataItem).reduce((acc, key) => {
return {
...acc,
[key]: Object.keys(record).includes(key),
};
}, gqlFieldsFromObjectMetadataItem);
}
return gqlFieldsFromObjectMetadataItem;
};