import { useRunWorkflowRecordActions } from '@/action-menu/actions/record-actions/run-workflow-actions/hooks/useRunWorkflowRecordActions'; import { useRunWorkflowRecordAgnosticActions } from '@/action-menu/actions/record-agnostic-actions/run-workflow-actions/hooks/useRunWorkflowRecordAgnosticActions'; import { ActionMenuContext, ActionMenuContextType, } from '@/action-menu/contexts/ActionMenuContext'; import { useRegisteredActions } from '@/action-menu/hooks/useRegisteredActions'; import { useShouldActionBeRegisteredParams } from '@/action-menu/hooks/useShouldActionBeRegisteredParams'; import { contextStoreTargetedRecordsRuleComponentState } from '@/context-store/states/contextStoreTargetedRecordsRuleComponentState'; import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; export const ActionMenuContextProviderWorkflowsEnabled = ({ objectMetadataItem, isInRightDrawer, displayType, actionMenuType, children, }: { objectMetadataItem: ObjectMetadataItem; isInRightDrawer: ActionMenuContextType['isInRightDrawer']; displayType: ActionMenuContextType['displayType']; actionMenuType: ActionMenuContextType['actionMenuType']; children: React.ReactNode; }) => { const params = useShouldActionBeRegisteredParams({ objectMetadataItem, }); const shouldBeRegisteredParams = { ...params, }; const actions = useRegisteredActions(shouldBeRegisteredParams); const contextStoreTargetedRecordsRule = useRecoilComponentValueV2( contextStoreTargetedRecordsRuleComponentState, ); const isRecordSelection = contextStoreTargetedRecordsRule.mode === 'selection' && contextStoreTargetedRecordsRule.selectedRecordIds.length > 0; const runWorkflowRecordActions = useRunWorkflowRecordActions({ objectMetadataItem, skip: !isRecordSelection, }); const runWorkflowRecordAgnosticActions = useRunWorkflowRecordAgnosticActions(); return ( {children} ); };