Feat/metadata datatable types (#2175)

* Handled new url v2 type

* Fixed refetch queries

* wip

* Ok delete but views bug

* Fix lint

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Lucas Bordeau
2023-10-21 14:07:18 +02:00
committed by GitHub
parent 598fda8f45
commit f1670f0cf4
50 changed files with 1125 additions and 350 deletions

View File

@ -23,8 +23,8 @@ import { isDeeplyEqual } from '~/utils/isDeeplyEqual';
import { GET_VIEW_FIELDS } from '../graphql/queries/getViewFields';
const toViewFieldInput = (
objectId: 'company' | 'person',
export const toViewFieldInput = (
objectId: string,
fieldDefinition: ColumnDefinition<FieldMetadata>,
) => ({
key: fieldDefinition.key,
@ -40,7 +40,7 @@ export const useTableViewFields = ({
columnDefinitions,
skipFetch,
}: {
objectId: 'company' | 'person';
objectId: string;
columnDefinitions: ColumnDefinition<FieldMetadata>[];
skipFetch?: boolean;
}) => {
@ -110,7 +110,7 @@ export const useTableViewFields = ({
);
useGetViewFieldsQuery({
skip: !currentViewId || skipFetch,
skip: !currentViewId || skipFetch || columnDefinitions.length === 0,
variables: {
orderBy: { index: SortOrder.Asc },
where: {

View File

@ -18,7 +18,7 @@ export const useTableViews = ({
objectId,
columnDefinitions,
}: {
objectId: 'company' | 'person';
objectId: string;
columnDefinitions: ColumnDefinition<FieldMetadata>[];
}) => {
const tableColumns = useRecoilScopedValue(
@ -52,6 +52,10 @@ export const useTableViews = ({
skipFetch: isFetchingViews,
});
const createDefaultViewFields = async () => {
await createViewFields(tableColumns);
};
const { createViewFilters, persistFilters } = useViewFilters({
RecoilScopeContext: TableRecoilScopeContext,
skipFetch: isFetchingViews,
@ -73,5 +77,7 @@ export const useTableViews = ({
persistColumns,
submitCurrentView,
updateView,
createDefaultViewFields,
isFetchingViews,
};
};

View File

@ -22,7 +22,7 @@ export const useViews = ({
RecoilScopeContext,
type,
}: {
objectId: 'company' | 'person';
objectId: string;
onViewCreate?: (viewId: string) => Promise<void>;
RecoilScopeContext: RecoilScopeContext;
type: ViewType;