c6addc2bb4
1. Add actions for record page layouts to side panel 2. Support drag-and-drop of widgets https://github.com/user-attachments/assets/c4cef7c5-08a8-4999-b8a5-e1831cc66709
48 lines
1.9 KiB
TypeScript
48 lines
1.9 KiB
TypeScript
import { DASHBOARD_ACTIONS_CONFIG } from '@/action-menu/actions/record-actions/constants/DashboardActionsConfig';
|
|
import { DEFAULT_RECORD_ACTIONS_CONFIG } from '@/action-menu/actions/record-actions/constants/DefaultRecordActionsConfig';
|
|
import { RECORD_PAGE_LAYOUT_ACTIONS_CONFIG } from '@/action-menu/actions/record-actions/constants/RecordPageLayoutActionsConfig';
|
|
import { WORKFLOW_ACTIONS_CONFIG } from '@/action-menu/actions/record-actions/constants/WorkflowActionsConfig';
|
|
import { WORKFLOW_RUNS_ACTIONS_CONFIG } from '@/action-menu/actions/record-actions/constants/WorkflowRunsActionsConfig';
|
|
import { WORKFLOW_VERSIONS_ACTIONS_CONFIG } from '@/action-menu/actions/record-actions/constants/WorkflowVersionsActionsConfig';
|
|
import { type ActionConfig } from '@/action-menu/actions/types/ActionConfig';
|
|
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
|
import { type ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
|
|
import { isDefined } from 'twenty-shared/utils';
|
|
|
|
export const getActionConfig = ({
|
|
objectMetadataItem,
|
|
isRecordPageLayoutEnabled,
|
|
}: {
|
|
objectMetadataItem?: ObjectMetadataItem;
|
|
isRecordPageLayoutEnabled: boolean;
|
|
}): Record<string, ActionConfig> => {
|
|
if (!isDefined(objectMetadataItem)) {
|
|
return {};
|
|
}
|
|
|
|
switch (objectMetadataItem.nameSingular) {
|
|
case CoreObjectNameSingular.Dashboard: {
|
|
return DASHBOARD_ACTIONS_CONFIG;
|
|
}
|
|
case CoreObjectNameSingular.Workflow: {
|
|
return WORKFLOW_ACTIONS_CONFIG;
|
|
}
|
|
case CoreObjectNameSingular.WorkflowVersion: {
|
|
return WORKFLOW_VERSIONS_ACTIONS_CONFIG;
|
|
}
|
|
case CoreObjectNameSingular.WorkflowRun: {
|
|
return WORKFLOW_RUNS_ACTIONS_CONFIG;
|
|
}
|
|
case CoreObjectNameSingular.Company: {
|
|
if (isRecordPageLayoutEnabled) {
|
|
return RECORD_PAGE_LAYOUT_ACTIONS_CONFIG;
|
|
}
|
|
|
|
return DEFAULT_RECORD_ACTIONS_CONFIG;
|
|
}
|
|
default: {
|
|
return DEFAULT_RECORD_ACTIONS_CONFIG;
|
|
}
|
|
}
|
|
};
|