-
Notifications
You must be signed in to change notification settings - Fork 2
拆分与重构 ViewConfigPanel:实现页面级和 ListView 级配置分层,完善数据流与实时同步 #715
Copy link
Copy link
Labels
Description
背景
目前 ViewConfigPanel 混合了两类完全不同层级的配置:
- 页面级(Page/View 级)配置:影响整个视图外壳,例如 showSearch、showFilters、showSort、label、viewType、导航行为等
- 列表内容级(ListView 级)配置:影响底层数据渲染和数据流,例如 columns、field/appearance、filter、sort、type-specific options 等
这种混合导致了数据流分层和实时同步的混乱,许多配置项配置后并未在实际 UI 或数据上正确实时生效,PR #712 也只修复了一部分字段的向下透传。
目标
将 ViewConfigPanel 按"Page/View 配置"与"ListView 配置"进行分层,
- 明确 UI 区块和状态数据流的分层收口
- 并针对每一项配置补齐透传到对应消费层级(objectViewSchema、renderListView/fullSchema)的逻辑,
便于逐项检查与 AI 自��修正。
待修正/拆分项明细(必须全部一一对应改造):
1. 分层职责梳理
- 明确区分页面级配置项(外层 toolbar/页壳、导航等)与列表级配置项(Grid/Kanban/Timeline 等 ListView 的数据/外观/行为)
- 拆分 UI,也可在同一文件内分区块;但每一项
onViewUpdate应写入区分后的 state 通道
2. 页面级(Page/View)配置项
- showSearch(toolbar 搜索框开关,objectViewSchema 级传递)
- showFilters(toolbar filter UI 开关)
- showSort(toolbar sort UI 开关)
- label(视图名称)
- description(视图描述)
- type/viewType(Grid、Kanban、Gallery、Timeline...)
- clickIntoRecordDetails(是否弹窗页、详情页行为)
- addRecordViaForm(表单新增,视图外层入口)
- allowExport(toolbar 导出)
3. 列表内容级(ListView 级)配置项
- columns(显隐与顺序,下传 renderListView/fullSchema)
- filter(defaultFilters,数据过滤,必须透传到 fullSchema)
- sort(defaultSort,数据排序,必须透传到 fullSchema)
- groupBy(group 渲染分组字段,所有类型需补齐 schema matrix)
- prefixField(辅助字段、多数只用于 Grid/Timeline 类型)
- color/fieldTextColor(颜色设定,影响内层渲染 schema)
- appearance/rowHeight/wrapHeaders/showDescription/collapseAllByDefault
- editRecordsInline、addDeleteRecordsInline(内层交互行为)
- type-specific options(kanban: groupByField,calendar: startDateField/endDateField/titleField,map: latitudeField/longitudeField 等等)
4. 数据流/prop 透传修正
-
objectViewSchema只关注页面级字段(外层 toolbar),不可混入内层列表专属项 -
renderListView的 fullSchema 补充所有列表内容级可配置参数,按类型覆盖至 Grid/Kanban 等所有 viewType - 各类型下的 schema matrix 完善,避免遗漏(如 Timeline/groupBy,Gallery/imageField,Map/latitudeField)
5. UI/UX
- Panel UI 采用分组显示,便于用户理解当前配置生效层级(可加分割线/标题说明)
- 用户操作保存时,保证两级 state 按需合并持久化
6. 回归测试/CI
- 对每一项配置改动补充对应的 e2e/单元测试
- 修复完成后运行全部 test,通过后同步 Roadmap checklist
备注
- 本 issue 作为全量改造 checklist,适配 AI coding agent 自动逐条批处理。
- 建议修复后将 ViewConfigPanel 划分为 PageConfigPanel + ListViewConfigPanel 两个组件,后续便于维护和复用。
Reactions are currently unavailable