Skip to content

拆分与重构 ViewConfigPanel:实现页面级和 ListView 级配置分层,完善数据流与实时同步 #715

@hotlong

Description

@hotlong

背景

目前 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 两个组件,后续便于维护和复用。

相关参考:#713、PR #712

Metadata

Metadata

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions