Files
trans-form-component/DESIGN.md
T
windychen fc1d8df60f
Node.js Build / build (push) Has been skipped
chore: 初始化 trans-form 项目脚手架
- 基于 grill-me Q1-Q61 决策
- Vitest 测试与 CI workflow
- middleware: parseFilters 核心实现
- component: Vue3 TransForm 基础组件 + Storybook

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 00:47:58 +00:00

33 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# trans-form-component — Design (Q1–Q61)
Status: **implementation scaffold** (v0.1.0)
Companion package: `@windychen/trans-form-middleware`.
## Role
Schema-driven Vue 3 query form → flat filter array with optional `logic`, state flags, and `empty` markers.
## Key decisions (selected)
| # | Decision |
|---|----------|
| 4–5 | No UI framework; headless native controls for string `value-component` |
| 7 | Flat array + `logic` between adjacent conditions |
| 11 | `@change` + `getFilters()` ref API |
| 15 | 12-column grid via `row` |
| 17–18 | Query dropdown; optional `query-component` (defaults to value renderer) |
| 19 | Global singleton `setConfig` / `componentMap` |
| 20 | ESM only (Vite library build) |
| 30, 35 | Inline layout 3:2:7 (name/query/value), globally configurable |
| 47 | Storybook included |
| 48 | `app.use(TransFormPlugin)` |
| 51 | Built-in reset only (`showReset`, `reset()`) |
| 54 | First filter item has no `logic` |
| 55–59 | Reactive schema; preserve matching fields; AND/OR editable; v1 types include tags |
| 60 | Output includes state flags for middleware |
## CI
Same as windychen-utils: commit must contain `chore` + `版本` + `更新`.