mirror of
				https://github.com/lingble/twenty.git
				synced 2025-10-31 12:47:58 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import {
 | |
|   ActionMenuEntry,
 | |
|   ActionMenuEntryScope,
 | |
|   ActionMenuEntryType,
 | |
| } from '@/action-menu/types/ActionMenuEntry';
 | |
| import { COMMAND_MENU_COMMANDS } from '@/command-menu/constants/CommandMenuCommands';
 | |
| import {
 | |
|   Command,
 | |
|   CommandScope,
 | |
|   CommandType,
 | |
| } from '@/command-menu/types/Command';
 | |
| 
 | |
| export const computeCommandMenuCommands = (
 | |
|   actionMenuEntries: ActionMenuEntry[],
 | |
| ): Command[] => {
 | |
|   const commands = Object.values(COMMAND_MENU_COMMANDS);
 | |
| 
 | |
|   const actionCommands: Command[] = actionMenuEntries
 | |
|     ?.filter(
 | |
|       (actionMenuEntry) =>
 | |
|         actionMenuEntry.type === ActionMenuEntryType.Standard,
 | |
|     )
 | |
|     ?.map((actionMenuEntry) => ({
 | |
|       id: actionMenuEntry.key,
 | |
|       label: actionMenuEntry.label,
 | |
|       Icon: actionMenuEntry.Icon,
 | |
|       onCommandClick: actionMenuEntry.onClick,
 | |
|       type: CommandType.StandardAction,
 | |
|       scope:
 | |
|         actionMenuEntry.scope === ActionMenuEntryScope.RecordSelection
 | |
|           ? CommandScope.RecordSelection
 | |
|           : CommandScope.Global,
 | |
|     }));
 | |
| 
 | |
|   const workflowRunCommands: Command[] = actionMenuEntries
 | |
|     ?.filter(
 | |
|       (actionMenuEntry) =>
 | |
|         actionMenuEntry.type === ActionMenuEntryType.WorkflowRun,
 | |
|     )
 | |
|     ?.map((actionMenuEntry) => ({
 | |
|       id: actionMenuEntry.key,
 | |
|       label: actionMenuEntry.label,
 | |
|       Icon: actionMenuEntry.Icon,
 | |
|       onCommandClick: actionMenuEntry.onClick,
 | |
|       type: CommandType.WorkflowRun,
 | |
|       scope:
 | |
|         actionMenuEntry.scope === ActionMenuEntryScope.RecordSelection
 | |
|           ? CommandScope.RecordSelection
 | |
|           : CommandScope.Global,
 | |
|     }));
 | |
| 
 | |
|   return [...commands, ...actionCommands, ...workflowRunCommands];
 | |
| };
 | 
