Fix record filters, sorts and groups (#10899)
A recent change made contextStoreCurrentObjectMetadataItemIdComponentState not initialized, while it was being used for intializing currentRecordFilters, currentRecordSorts and currentRecordFilterGroups states. In this PR we use objectMetadataItem in RecordIndexContext to initialize record filters, sorts and filter groups instead.
This commit is contained in:
@ -1,8 +1,7 @@
|
|||||||
import { COMMAND_MENU_COMPONENT_INSTANCE_ID } from '@/command-menu/constants/CommandMenuComponentInstanceId';
|
|
||||||
import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
|
|
||||||
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
|
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
|
||||||
import { useFilterableFieldMetadataItems } from '@/object-record/record-filter/hooks/useFilterableFieldMetadataItems';
|
import { useFilterableFieldMetadataItems } from '@/object-record/record-filter/hooks/useFilterableFieldMetadataItems';
|
||||||
import { currentRecordFiltersComponentState } from '@/object-record/record-filter/states/currentRecordFiltersComponentState';
|
import { currentRecordFiltersComponentState } from '@/object-record/record-filter/states/currentRecordFiltersComponentState';
|
||||||
|
import { useRecordIndexContextOrThrow } from '@/object-record/record-index/contexts/RecordIndexContext';
|
||||||
import { prefetchViewFromViewIdFamilySelector } from '@/prefetch/states/selector/prefetchViewFromViewIdFamilySelector';
|
import { prefetchViewFromViewIdFamilySelector } from '@/prefetch/states/selector/prefetchViewFromViewIdFamilySelector';
|
||||||
import { useRecoilComponentFamilyStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyStateV2';
|
import { useRecoilComponentFamilyStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyStateV2';
|
||||||
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
|
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
|
||||||
@ -18,10 +17,7 @@ export const ViewBarRecordFilterEffect = () => {
|
|||||||
contextStoreCurrentViewIdComponentState,
|
contextStoreCurrentViewIdComponentState,
|
||||||
);
|
);
|
||||||
|
|
||||||
const contextStoreCurrentObjectMetadataItemId = useRecoilComponentValueV2(
|
const { objectMetadataItem } = useRecordIndexContextOrThrow();
|
||||||
contextStoreCurrentObjectMetadataItemIdComponentState,
|
|
||||||
COMMAND_MENU_COMPONENT_INSTANCE_ID,
|
|
||||||
);
|
|
||||||
|
|
||||||
const currentView = useRecoilValue(
|
const currentView = useRecoilValue(
|
||||||
prefetchViewFromViewIdFamilySelector({
|
prefetchViewFromViewIdFamilySelector({
|
||||||
@ -44,14 +40,12 @@ export const ViewBarRecordFilterEffect = () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
const { filterableFieldMetadataItems } = useFilterableFieldMetadataItems(
|
const { filterableFieldMetadataItems } = useFilterableFieldMetadataItems(
|
||||||
contextStoreCurrentObjectMetadataItemId ?? '',
|
objectMetadataItem.id,
|
||||||
);
|
);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (isDefined(currentView) && !hasInitializedCurrentRecordFilters) {
|
if (isDefined(currentView) && !hasInitializedCurrentRecordFilters) {
|
||||||
if (
|
if (currentView.objectMetadataId !== objectMetadataItem.id) {
|
||||||
currentView.objectMetadataId !== contextStoreCurrentObjectMetadataItemId
|
|
||||||
) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,7 +67,7 @@ export const ViewBarRecordFilterEffect = () => {
|
|||||||
hasInitializedCurrentRecordFilters,
|
hasInitializedCurrentRecordFilters,
|
||||||
setHasInitializedCurrentRecordFilters,
|
setHasInitializedCurrentRecordFilters,
|
||||||
currentView,
|
currentView,
|
||||||
contextStoreCurrentObjectMetadataItemId,
|
objectMetadataItem,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import { COMMAND_MENU_COMPONENT_INSTANCE_ID } from '@/command-menu/constants/CommandMenuComponentInstanceId';
|
|
||||||
import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
|
|
||||||
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
|
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
|
||||||
import { currentRecordFilterGroupsComponentState } from '@/object-record/record-filter-group/states/currentRecordFilterGroupsComponentState';
|
import { currentRecordFilterGroupsComponentState } from '@/object-record/record-filter-group/states/currentRecordFilterGroupsComponentState';
|
||||||
|
import { useRecordIndexContextOrThrow } from '@/object-record/record-index/contexts/RecordIndexContext';
|
||||||
import { prefetchViewFromViewIdFamilySelector } from '@/prefetch/states/selector/prefetchViewFromViewIdFamilySelector';
|
import { prefetchViewFromViewIdFamilySelector } from '@/prefetch/states/selector/prefetchViewFromViewIdFamilySelector';
|
||||||
import { useRecoilComponentFamilyStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyStateV2';
|
import { useRecoilComponentFamilyStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyStateV2';
|
||||||
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
|
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
|
||||||
@ -17,10 +16,7 @@ export const ViewBarRecordFilterGroupEffect = () => {
|
|||||||
contextStoreCurrentViewIdComponentState,
|
contextStoreCurrentViewIdComponentState,
|
||||||
);
|
);
|
||||||
|
|
||||||
const contextStoreCurrentObjectMetadataItemId = useRecoilComponentValueV2(
|
const { objectMetadataItem } = useRecordIndexContextOrThrow();
|
||||||
contextStoreCurrentObjectMetadataItemIdComponentState,
|
|
||||||
COMMAND_MENU_COMPONENT_INSTANCE_ID,
|
|
||||||
);
|
|
||||||
|
|
||||||
const currentView = useRecoilValue(
|
const currentView = useRecoilValue(
|
||||||
prefetchViewFromViewIdFamilySelector({
|
prefetchViewFromViewIdFamilySelector({
|
||||||
@ -44,9 +40,7 @@ export const ViewBarRecordFilterGroupEffect = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (isDefined(currentView) && !hasInitializedCurrentRecordFilterGroups) {
|
if (isDefined(currentView) && !hasInitializedCurrentRecordFilterGroups) {
|
||||||
if (
|
if (currentView.objectMetadataId !== objectMetadataItem.id) {
|
||||||
currentView.objectMetadataId !== contextStoreCurrentObjectMetadataItemId
|
|
||||||
) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,7 +59,7 @@ export const ViewBarRecordFilterGroupEffect = () => {
|
|||||||
setCurrentRecordFilterGroups,
|
setCurrentRecordFilterGroups,
|
||||||
hasInitializedCurrentRecordFilterGroups,
|
hasInitializedCurrentRecordFilterGroups,
|
||||||
setHasInitializedCurrentRecordFilterGroups,
|
setHasInitializedCurrentRecordFilterGroups,
|
||||||
contextStoreCurrentObjectMetadataItemId,
|
objectMetadataItem,
|
||||||
currentView,
|
currentView,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
import { COMMAND_MENU_COMPONENT_INSTANCE_ID } from '@/command-menu/constants/CommandMenuComponentInstanceId';
|
|
||||||
import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
|
|
||||||
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
|
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
|
||||||
|
import { useRecordIndexContextOrThrow } from '@/object-record/record-index/contexts/RecordIndexContext';
|
||||||
import { currentRecordSortsComponentState } from '@/object-record/record-sort/states/currentRecordSortsComponentState';
|
import { currentRecordSortsComponentState } from '@/object-record/record-sort/states/currentRecordSortsComponentState';
|
||||||
import { prefetchViewFromViewIdFamilySelector } from '@/prefetch/states/selector/prefetchViewFromViewIdFamilySelector';
|
import { prefetchViewFromViewIdFamilySelector } from '@/prefetch/states/selector/prefetchViewFromViewIdFamilySelector';
|
||||||
import { useRecoilComponentFamilyStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyStateV2';
|
import { useRecoilComponentFamilyStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyStateV2';
|
||||||
@ -17,10 +16,7 @@ export const ViewBarRecordSortEffect = () => {
|
|||||||
contextStoreCurrentViewIdComponentState,
|
contextStoreCurrentViewIdComponentState,
|
||||||
);
|
);
|
||||||
|
|
||||||
const contextStoreCurrentObjectMetadataItemId = useRecoilComponentValueV2(
|
const { objectMetadataItem } = useRecordIndexContextOrThrow();
|
||||||
contextStoreCurrentObjectMetadataItemIdComponentState,
|
|
||||||
COMMAND_MENU_COMPONENT_INSTANCE_ID,
|
|
||||||
);
|
|
||||||
|
|
||||||
const currentView = useRecoilValue(
|
const currentView = useRecoilValue(
|
||||||
prefetchViewFromViewIdFamilySelector({
|
prefetchViewFromViewIdFamilySelector({
|
||||||
@ -44,9 +40,7 @@ export const ViewBarRecordSortEffect = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (isDefined(currentView) && !hasInitializedCurrentRecordSorts) {
|
if (isDefined(currentView) && !hasInitializedCurrentRecordSorts) {
|
||||||
if (
|
if (currentView.objectMetadataId !== objectMetadataItem.id) {
|
||||||
currentView.objectMetadataId !== contextStoreCurrentObjectMetadataItemId
|
|
||||||
) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,7 +53,7 @@ export const ViewBarRecordSortEffect = () => {
|
|||||||
hasInitializedCurrentRecordSorts,
|
hasInitializedCurrentRecordSorts,
|
||||||
currentView,
|
currentView,
|
||||||
setCurrentRecordSorts,
|
setCurrentRecordSorts,
|
||||||
contextStoreCurrentObjectMetadataItemId,
|
objectMetadataItem,
|
||||||
setHasInitializedCurrentRecordSorts,
|
setHasInitializedCurrentRecordSorts,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user