-
Notifications
You must be signed in to change notification settings - Fork 2
[P0] Gallery/Timeline Spec Config 标准化接入 #757
Copy link
Copy link
Closed
Description
背景
Parent Issue: #736
Spec 定义了 GalleryConfigSchema 和 TimelineConfigSchema,但 ObjectUI 的 Gallery/Timeline 视图仍使用 legacy options.gallery / options.timeline 格式。
目标
- Gallery 支持 Spec
galleryconfig:coverField,coverFit,cardSize,titleField,visibleFields - Timeline 支持 Spec
timelineconfig:startDateField,endDateField,titleField,groupByField,colorField,scale - 保持向后兼容:legacy
options.*仍可用作 fallback
技术要点
packages/types/src/objectql.ts— ListViewSchema 已有gallery?: any和timeline?: any,需改为强类型packages/plugin-list/src/ListView.tsx— 视图组件 schema 构建需优先读取 spec config,fallback 到 optionspackages/react/src/spec-bridge/bridges/list-view.ts— bridge 已传递,需映射到实际 props
改动范围
packages/types/src/objectql.ts— 定义GalleryConfig/TimelineConfig强类型 interfacepackages/plugin-list/src/ListView.tsx— Gallery/Timeline schema 构建优先使用 spec configpackages/plugin-gallery/src/ObjectGallery.tsx— 接受新的 prop 命名packages/plugin-timeline/src/ObjectTimeline.tsx— 接受新的 prop 命名
验收标准
-
schema.gallery.coverField驱动 Gallery 封面图 -
schema.gallery.cardSize控制卡片尺寸(small/medium/large) -
schema.timeline.scale控制时间轴刻度(day/week/month/quarter/year) - Legacy
options.gallery/options.timeline仍向后兼容 - 所有新增代码有对应单元测试
-
pnpm test全部通过
Reactions are currently unavailable