tasks.md 2.8 KB

1. OpenSpec And Contract

  • 1.1 明确 ezTreeCom 新增的公开能力边界,至少覆盖“读取当前配置、应用配置、随机生成配置”,并写明这些能力为增量 API,不替代现有 props 契约。(可验证:proposal / design / spec 中明确保留 jsonText、jsonTextChangeNumber、isUpdate 的兼容要求)
  • 1.2 明确预览层动作按钮采用声明式 metadata,而不是在 dcsConfig 中内联运行时 callback。(可验证:spec 中写明外部读取 ./config 仍然是声明式、可读的)

2. Preview Infrastructure

  • 2.1 扩展 src/views/createConfigPane.ts,支持通用动作按钮控件,并保持现有 Select、ColorPicker、Switch、Slider、jsonText 控件行为不变。(可验证:新增动作按钮后,其他组件现有 pane 控件仍可正常工作)
  • 2.2 更新 src/views/templateComponet.vue,让它能拿到当前组件实例 ref,桥接动作按钮到组件公开方法,并把返回的配置快照同步回 attrsData。(可验证:预览层可以泛化调用组件公开方法,且 jsonText 等返回值可实时回写到面板状态)

3. ezTree Runtime Config

  • 3.1 重构 src/components/ezTreeCom.vue 的配置应用逻辑,统一 props、公开方法和随机生成入口,保证每次成功更新配置后都重新执行树生成。(可验证:无论通过文本应用、公开方法应用还是随机动作触发,树模型都会按最新配置重建)
  • 3.2 保持配置解析语法与编辑器一致,并保留上游 TreeOptions / loadFromJson 语义,不再直接把 tree.options 替换成普通对象。(可验证:面板中校验通过的配置文本在组件里也能被成功应用,且后续重复更新不因 options 类型漂移失效)
  • 3.3 通过 defineExpose 暴露可稳定读取最新配置快照的实例方法,并在随机生成或公开 apply 后更新最新快照文本。(可验证:组件 ref 在更新后能读到最新配置,而不是初始默认值)

4. Service Registration And Documentation

  • 4.1 在 src/dcsConfig.ts 为 ezTreeCom 注册随机配置按钮及所需 action metadata,保持接入方式声明式且不修改 src/views/previewEntry.vue。(可验证:ezTree 预览页出现随机配置按钮,且接入只通过 dcsConfig.ts 和通用桥接完成)
  • 4.2 如实现中引入新的 pane schema 字段或控件类型,补充 README 或相关文档说明其用途与约束。(可验证:仓库文档或变更文档中能查到新的 schema 用法)

5. Validation

  • 5.1 运行 npm run build,并视情况执行变更相关 lint / spot check,确认没有因本次改动引入新的构建错误。(可验证:验证结果被记录,且能区分本次改动问题与仓库既有问题)