feat: create default views on workspace creation + add views seed (#1313)

Closes #1311
This commit is contained in:
Thaïs
2023-08-25 21:17:28 +02:00
committed by GitHub
parent 8a3a176571
commit 209e8b64d9
11 changed files with 356 additions and 16 deletions

View File

@ -68,7 +68,7 @@ export const useTableViewFields = ({
columns: ViewFieldDefinition<ViewFieldMetadata>[],
viewId = currentViewId,
) => {
if (!columns.length) return;
if (!viewId || !columns.length) return;
return createViewFieldsMutation({
variables: {
@ -84,7 +84,7 @@ export const useTableViewFields = ({
const updateViewFields = useCallback(
(columns: ViewFieldDefinition<ViewFieldMetadata>[]) => {
if (!columns.length) return;
if (!currentViewId || !columns.length) return;
return Promise.all(
columns.map((column) =>
@ -100,10 +100,11 @@ export const useTableViewFields = ({
),
);
},
[updateViewFieldMutation],
[currentViewId, updateViewFieldMutation],
);
const { refetch } = useGetViewFieldsQuery({
skip: !currentViewId,
variables: {
orderBy: { index: SortOrder.Asc },
where: {
@ -139,6 +140,8 @@ export const useTableViewFields = ({
});
const persistColumns = useCallback(async () => {
if (!currentViewId) return;
const viewFieldsToUpdate = columns.filter(
(column) =>
savedColumnsById[column.id] &&
@ -148,7 +151,7 @@ export const useTableViewFields = ({
await updateViewFields(viewFieldsToUpdate);
return refetch();
}, [columns, refetch, savedColumnsById, updateViewFields]);
}, [columns, currentViewId, refetch, savedColumnsById, updateViewFields]);
return { createViewFields, persistColumns };
};