Fix view open in settings not saving (#10674)

This PR removes the legacy useGetCurrentView hook that still returned
view with combined filters and sorts, which we don't use anymore.

This allows to remove a bug where we couldn't select the "open in"
settings of a view.
This commit is contained in:
Lucas Bordeau
2025-03-05 15:52:37 +01:00
committed by GitHub
parent 07a72226da
commit f34b59b6b6
6 changed files with 38 additions and 100 deletions
@@ -1,19 +1,18 @@
import { useRecoilCallback } from 'recoil';
import { useRecoilCallback, useRecoilValue } from 'recoil';
import { useContextStoreObjectMetadataItemOrThrow } from '@/context-store/hooks/useContextStoreObjectMetadataItemOrThrow';
import { prefetchViewsFromObjectMetadataItemFamilySelector } from '@/prefetch/states/selector/prefetchViewsFromObjectMetadataItemFamilySelector';
import { getSnapshotValue } from '@/ui/utilities/recoil-scope/utils/getSnapshotValue';
import { useRecoilComponentCallbackStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentCallbackStateV2';
import { useChangeView } from '@/views/hooks/useChangeView';
import { useDeleteView } from '@/views/hooks/useDeleteView';
import { useGetCurrentView } from '@/views/hooks/useGetCurrentView';
import { useGetCurrentViewOnly } from '@/views/hooks/useGetCurrentViewOnly';
import { useCloseAndResetViewPicker } from '@/views/view-picker/hooks/useCloseAndResetViewPicker';
import { viewPickerIsDirtyComponentState } from '@/views/view-picker/states/viewPickerIsDirtyComponentState';
import { viewPickerIsPersistingComponentState } from '@/views/view-picker/states/viewPickerIsPersistingComponentState';
import { viewPickerReferenceViewIdComponentState } from '@/views/view-picker/states/viewPickerReferenceViewIdComponentState';
export const useDeleteViewFromCurrentState = (viewBarInstanceId?: string) => {
const { viewsOnCurrentObject, currentViewId } =
useGetCurrentView(viewBarInstanceId);
const { closeAndResetViewPicker } = useCloseAndResetViewPicker();
const viewPickerIsPersistingCallbackState = useRecoilComponentCallbackStateV2(
@@ -32,6 +31,16 @@ export const useDeleteViewFromCurrentState = (viewBarInstanceId?: string) => {
viewBarInstanceId,
);
const { objectMetadataItem } = useContextStoreObjectMetadataItemOrThrow();
const viewsOnCurrentObject = useRecoilValue(
prefetchViewsFromObjectMetadataItemFamilySelector({
objectMetadataItemId: objectMetadataItem.id,
}),
);
const { currentView } = useGetCurrentViewOnly();
const { changeView } = useChangeView();
const { deleteView } = useDeleteView();
@@ -48,7 +57,7 @@ export const useDeleteViewFromCurrentState = (viewBarInstanceId?: string) => {
viewPickerReferenceViewIdCallbackState,
);
const shouldChangeView = viewPickerReferenceViewId === currentViewId;
const shouldChangeView = viewPickerReferenceViewId === currentView?.id;
if (shouldChangeView) {
changeView(
@@ -61,7 +70,7 @@ export const useDeleteViewFromCurrentState = (viewBarInstanceId?: string) => {
await deleteView(viewPickerReferenceViewId);
},
[
currentViewId,
currentView,
closeAndResetViewPicker,
changeView,
deleteView,