Implementation:ArroyoSystems Arroyo Start Pipeline Modal
| Knowledge Sources | |
|---|---|
| Domains | WebUI, React, Pipelines |
| Last Updated | 2026-02-08 08:00 GMT |
Overview
A modal dialog for configuring and launching a new pipeline, providing form fields for pipeline name and parallelism along with error display.
Description
StartPipelineModal renders a Chakra UI Modal with two form controls:
- Name -- Text input for the pipeline name with a helper text.
- Parallelism -- Numeric input (1-1024 with stepper) controlling how many parallel subtasks run for the pipeline.
The modal shows a Start button (disabled when name is empty or parallelism is null) and a Cancel button. If a startError is provided, an error alert is displayed at the top of the modal body with scrollable pre-wrapped content. The modal resizes to 4xl when an error is present.
Usage
Opened from the CreatePipeline page when the user clicks the Launch button.
Code Reference
Source Location
- Repository: ArroyoSystems_Arroyo
- File: webui/src/components/StartPipelineModal.tsx
Signature
export interface StartPipelineModalProps {
isOpen: boolean;
onClose: () => void;
startError: string | null;
options: SqlOptions;
setOptions: (s: SqlOptions) => void;
start: () => void;
}
const StartPipelineModal: React.FC<StartPipelineModalProps>;
export default StartPipelineModal;
Import
import StartPipelineModal from '../components/StartPipelineModal';
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| isOpen | boolean | Yes | Controls modal visibility |
| onClose | () => void | Yes | Callback to close the modal |
| startError | string or null | Yes | Error message to display, or null |
| options | SqlOptions | Yes | Current pipeline options (name, parallelism) |
| setOptions | (s: SqlOptions) => void | Yes | Callback to update pipeline options |
| start | () => void | Yes | Callback to create and start the pipeline |
Outputs
| Name | Type | Description |
|---|---|---|
| Modal | React element | Pipeline launch configuration dialog |
Usage Examples
<StartPipelineModal
isOpen={isOpen}
onClose={onClose}
startError={startError}
options={options}
setOptions={setOptions}
start={start}
/>