Closes #7336 Create 3 states: - `contextStoreCurrentObjectMetadataIdState`: is set when we change object metadata - `contextStoreCurrentViewIdState`: is set when we change view - `contextStoreTargetedRecordIdsState`: is set when we select records inside a table or a board or when a show page is opened. Is reset when we change view.
17 lines
496 B
TypeScript
17 lines
496 B
TypeScript
import { useResetUnsavedViewStates } from '@/views/hooks/useResetUnsavedViewStates';
|
|
import { useSetViewInUrl } from '@/views/hooks/useSetViewInUrl';
|
|
|
|
export const useChangeView = (viewBarComponentId?: string) => {
|
|
const { resetUnsavedViewStates } =
|
|
useResetUnsavedViewStates(viewBarComponentId);
|
|
|
|
const { setViewInUrl } = useSetViewInUrl();
|
|
|
|
const changeView = async (viewId: string) => {
|
|
setViewInUrl(viewId);
|
|
resetUnsavedViewStates(viewId);
|
|
};
|
|
|
|
return { changeView };
|
|
};
|