fc1d8df60f
Node.js Build / build (push) Has been skipped
- 基于 grill-me Q1-Q61 决策 - Vitest 测试与 CI workflow - middleware: parseFilters 核心实现 - component: Vue3 TransForm 基础组件 + Storybook Co-authored-by: Cursor <cursoragent@cursor.com>
1.2 KiB
1.2 KiB
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 + 版本 + 更新.