Skip to content

24. Process Graph & Block Linking

How the pipeline graph is built, rendered, and mutated when blocks/jobs are added, linked, or updated.

Graph Model - Processes contain nested jobs each with id, status, tasks, and child jobs. - UI graph elements are created from this tree: - createElements: src/components/Project/Process/index.jsx:92-146 - Layout (dagre): src/components/Project/Process/index.jsx:148-190

Rendering & Controls - React Flow setup and controls (Start/Refresh): - src/components/Project/Process/index.jsx:880-908 - Selection/click behavior and job detail resolution: - onBlockClick: src/components/Project/Process/index.jsx:440-522 - Add‑next flow (phantom node) when selecting a block to append: - updateElements + parentIdForFlow: src/components/Project/Process/index.jsx:740-782

Mutations (Sagas) - Create process / update / delete: - src/redux/modules/processes/index.js:214-236,236-258,260-279 - Create job and link under parent/root: - src/redux/modules/processes/index.js:294-318 - Link an existing job to process path: - src/redux/modules/processes/index.js:282-294 - Update/delete job and refresh tree: - src/redux/modules/processes/index.js:320-358,360-385 - Start/refresh job statuses: - src/redux/modules/jobs/index.js:286-309,240-259

Download & Inspect - Download job outputs: src/redux/modules/jobs/index.js:520-556 - Task inspection/Info modal wiring in Process view.

Notes - Keep graph read‑only for layout (no drag/connect) to reflect backend state accurately. - Always refresh jobs and process after mutations to keep UI in sync.