Fix selected record id required after closing settings (#10894)

On Show page, let's only load the actionMenu if the objectMetadataItem
and the selectedRecord are present in the context store
This commit is contained in:
Charles Bochet
2025-03-14 15:00:52 +01:00
committed by GitHub
parent b12b2485c5
commit fe4b47b781

View File

@ -5,6 +5,7 @@ import { ActionMenuConfirmationModals } from '@/action-menu/components/ActionMen
import { RecordShowActionMenuButtons } from '@/action-menu/components/RecordShowActionMenuButtons'; import { RecordShowActionMenuButtons } from '@/action-menu/components/RecordShowActionMenuButtons';
import { ActionMenuContext } from '@/action-menu/contexts/ActionMenuContext'; import { ActionMenuContext } from '@/action-menu/contexts/ActionMenuContext';
import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState'; import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState';
import { contextStoreTargetedRecordsRuleComponentState } from '@/context-store/states/contextStoreTargetedRecordsRuleComponentState';
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
import { FeatureFlagKey } from '~/generated/graphql'; import { FeatureFlagKey } from '~/generated/graphql';
@ -14,13 +15,21 @@ export const RecordShowActionMenu = () => {
contextStoreCurrentObjectMetadataItemIdComponentState, contextStoreCurrentObjectMetadataItemIdComponentState,
); );
const contextStoreTargetedRecordsRule = useRecoilComponentValueV2(
contextStoreTargetedRecordsRuleComponentState,
);
const hasSelectedRecord =
contextStoreTargetedRecordsRule.mode === 'selection' &&
contextStoreTargetedRecordsRule.selectedRecordIds.length === 1;
const isWorkflowEnabled = useIsFeatureEnabled( const isWorkflowEnabled = useIsFeatureEnabled(
FeatureFlagKey.IsWorkflowEnabled, FeatureFlagKey.IsWorkflowEnabled,
); );
return ( return (
<> <>
{contextStoreCurrentObjectMetadataItemId && ( {hasSelectedRecord && contextStoreCurrentObjectMetadataItemId && (
<ActionMenuContext.Provider <ActionMenuContext.Provider
value={{ value={{
isInRightDrawer: false, isInRightDrawer: false,