Implement basic edition for record page layouts (#15237)

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
This commit is contained in:
Baptiste Devessier
2025-10-22 10:48:09 +02:00
committed by GitHub
parent c2a477a9d6
commit c6addc2bb4
13 changed files with 466 additions and 4 deletions
@@ -1,5 +1,6 @@
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';
@@ -10,8 +11,10 @@ import { isDefined } from 'twenty-shared/utils';
export const getActionConfig = ({
objectMetadataItem,
isRecordPageLayoutEnabled,
}: {
objectMetadataItem?: ObjectMetadataItem;
isRecordPageLayoutEnabled: boolean;
}): Record<string, ActionConfig> => {
if (!isDefined(objectMetadataItem)) {
return {};
@@ -30,6 +33,13 @@ export const getActionConfig = ({
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;
}