iop/agent-ui/definition/components/edge-selector/index.md
toki bebd95f909 docs(agent-ui): legacy 상태값을 보정한다
validate-agent-ui 규칙이 요구하는 상태값 스키마에 맞춰 기존 code-first agent-ui 문서의 legacy 상태 표기를 정규화한다.
2026-06-25 10:54:05 +09:00

71 lines
2 KiB
Markdown

---
ui_doc_type: component
component_id: edge-selector
status: 구현됨
source_evidence:
- type: code
path: apps/client/lib/widgets/nodes_panel.dart
notes: NodesPanel renders an Active Edge dropdown and refresh action.
- type: code
path: apps/client/lib/widgets/runtime_panel.dart
notes: RuntimePanel renders an Active Edge dropdown and refresh action.
- type: code
path: apps/client/lib/widgets/execution_logs_panel.dart
notes: ExecutionLogsPanel renders a Filter Edge dropdown and refresh action.
- type: user
path: null
notes: Initial scaffold requested by user.
---
# Edge Selector
Component ID: `edge-selector`
Status: `구현됨`
## Source Evidence
| Type | Path | Notes |
|------|------|-------|
| code | `apps/client/lib/widgets/nodes_panel.dart` | active Edge dropdown과 refresh icon을 포함한다. |
| code | `apps/client/lib/widgets/runtime_panel.dart` | responsive header 안에서 active Edge dropdown과 refresh icon을 포함한다. |
| code | `apps/client/lib/widgets/execution_logs_panel.dart` | filter Edge dropdown과 refresh icon을 포함한다. |
| user | 없음 | 초기 agent-ui 생성을 요청했다. |
## Purpose
Edge-scoped view에서 대상 Edge를 선택하고 현재 view 데이터를 갱신한다.
## Used By
- `nodes`: `nodes.edge-selector`
- `runtime`: `runtime.edge-selector`
- `execution-logs`: `execution-logs.edge-selector`
## Anatomy
- label
- dropdown
- refresh icon button
## Variants
- active-edge: Nodes/Runtime에서 사용
- filter-edge: Execution Logs에서 사용
## States
- default
- loading: view별 refresh 상태로 표시
- empty: Edge 목록이 없으면 selector를 숨기거나 안내 메시지를 표시
- error: view별 error 영역에서 처리
- disabled: 없음
## Rules
- dropdown item label은 edge name이 있으면 name, 없으면 edge id를 사용한다.
- 선택 값이 목록에 없으면 첫 Edge로 fallback한다.
## Decision History
- 2026-06-25: 세 개 panel에 반복되는 Edge dropdown pattern을 component로 정의했다.