diff --git a/src/qqq/pages/records/view/RecordView.tsx b/src/qqq/pages/records/view/RecordView.tsx index 9861535..aa9568c 100644 --- a/src/qqq/pages/records/view/RecordView.tsx +++ b/src/qqq/pages/records/view/RecordView.tsx @@ -265,10 +265,24 @@ function RecordView({table, launchProcess}: Props): JSX.Element const metaData = await qController.loadMetaData(); setMetaData(metaData); ValueUtils.qInstance = metaData; + + /////////////////////////////////////////////////// + // load the processes to show in the action menu // + /////////////////////////////////////////////////// const processesForTable = ProcessUtils.getProcessesForTable(metaData, tableName); processesForTable.sort((a, b) => a.label.localeCompare(b.label)); setTableProcesses(processesForTable); - setAllTableProcesses(ProcessUtils.getProcessesForTable(metaData, tableName, true)); // these include hidden ones (e.g., to find the bulks) + + ////////////////////////////////////////////////////// + // load processes that the routing needs to respect // + ////////////////////////////////////////////////////// + const allTableProcesses = ProcessUtils.getProcessesForTable(metaData, tableName, true) // these include hidden ones (e.g., to find the bulks) + const runRecordScriptProcess = metaData?.processes.get("runRecordScript"); + if (runRecordScriptProcess) + { + allTableProcesses.unshift(runRecordScriptProcess) + } + setAllTableProcesses(allTableProcesses); if (launchingProcess) { @@ -512,6 +526,7 @@ function RecordView({table, launchProcess}: Props): JSX.Element navigate(path); } + const runRecordScriptProcess = metaData?.processes.get("runRecordScript"); const renderActionsMenu = ( ))} {(tableProcesses.length > 0 || hasEditOrDelete) && } + { + runRecordScriptProcess && + processClicked(runRecordScriptProcess)}> + {runRecordScriptProcess.iconName ?? "arrow_forward"} + {runRecordScriptProcess.label} + + } navigate("dev")}> - data_object + code Developer Mode { @@ -795,7 +817,7 @@ function RecordView({table, launchProcess}: Props): JSX.Element activeModalProcess && closeModalProcess(event, reason)}>
- +
}