fix: use correct table view when switching workspaces (#1447)

Closes #1441
This commit is contained in:
Thaïs
2023-09-05 12:40:45 +02:00
committed by GitHub
parent 53f3c1691d
commit b3887c6bcc
5 changed files with 95 additions and 86 deletions

View File

@ -41,36 +41,33 @@ export const useTableViews = <Entity, SortField>({
);
const sorts = useRecoilScopedValue(sortsScopedState, TableRecoilScopeContext);
const { handleViewsChange, isFetchingViews } = useViews({
objectId,
onViewCreate: handleViewCreate,
});
const { createViewFields, persistColumns } = useTableViewFields({
objectId,
columnDefinitions,
skipFetch: isFetchingViews,
});
const { createViewFilters, persistFilters } = useViewFilters({
availableFilters,
currentViewId: currentTableViewId,
scopeContext: TableRecoilScopeContext,
skipFetch: isFetchingViews,
});
const { createViewSorts, persistSorts } = useViewSorts({
availableSorts,
currentViewId: currentTableViewId,
scopeContext: TableRecoilScopeContext,
skipFetch: isFetchingViews,
});
const handleViewCreate = useCallback(
async (viewId: string) => {
await createViewFields(tableColumns, viewId);
await createViewFilters(filters, viewId);
await createViewSorts(sorts, viewId);
},
[
createViewFields,
createViewFilters,
createViewSorts,
filters,
sorts,
tableColumns,
],
);
async function handleViewCreate(viewId: string) {
await createViewFields(tableColumns, viewId);
await createViewFilters(filters, viewId);
await createViewSorts(sorts, viewId);
}
const handleViewSubmit = useCallback(async () => {
await persistColumns();
@ -78,10 +75,5 @@ export const useTableViews = <Entity, SortField>({
await persistSorts();
}, [persistColumns, persistFilters, persistSorts]);
const { handleViewsChange } = useViews({
objectId,
onViewCreate: handleViewCreate,
});
return { handleViewsChange, handleViewSubmit };
};