Skip to content

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions