配置驱动中后台前端框架 Handie 一期

TBD

任务

处理中 (2)

  • 不同技术栈中的部件通用逻辑进一步抽象,降低维护难度
  • 透传 vendorProps

未开始 (41)

  • @handie/runtime-core 视图、字段、搜索、过滤器支持提交时的值转换(converter)
  • 过滤器部件和搜索部件支持配置值改变自动刷新列表
  • @handie/bulbasaur 表单搜索部件支持输入条件改变立即搜索并且输入要 throttle
  • @handie/bulbasaur 编写部件 API 文档
  • 要统一路由配置结构
  • Email 字段部件
  • 生成上下文合并视图字段/过滤器和模型字段信息时的合并策略有问题,如枚举字段的 options,可能需要支持定义对象和数组的合并策略
  • 字段的值处理应该增加更多扩展点以更好更方便地自定义
  • 列表类视图需要单个条目的模板进行迭代渲染
  • 嵌入列表视图在宿主组件反复更新时「相同」请求会发出多次
  • 字段/过滤器与对象值的默认值读写逻辑
  • 需要思考下与登录和权限相关的功能如何抽象
  • 需要思考下动态参数路由信息如何抽象
  • 过滤器部件需要知道所在搜索部件是否强制使用某种值提交策略
  • 视图名默认根据模块名与视图类别生成
  • 枚举多选下拉列表字段部件
  • 字符串多选下拉列表字段部件
  • 模块描述器支持 label 属性
  • 主从列表(树)视图部件
  • 表格支持树形数据
  • 可选择/拾取过滤器部件值改变时理解重新查询的实现方式改造
  • 渲染器接收并透传 children
  • getOne 传参类型需要支持对象
  • 字段值类型校验时忽略 null(考虑字段描述器增加 nullable 属性控制)
  • 过滤器描述器可设置 required 用以表明某些查询条件是必要的
  • 过滤条件留存策略之本地存储
  • 根据标记对请求统一「去重」处理的方案(忽略某次请求之后的「相同」请求或取消某次请求之前的「相同」请求)
  • 动作配置上的 view 如果不是 模块名.views.视图名 的格式时视为当前模块的视图,即用当前模块名进行拼接
  • 动作描述器增加 type 属性用以支持路由跳转(将路由抽象为一种类型的客户端动作)
  • 表单视图部件支持被嵌入时将表单值通过 form-view-submit 事件传给外部
  • 上下文增加生命周期以尽可能少地依赖 UI 组件而进行纯上下文编程,进而减少自定义部件
  • 视图描述器支持给 getOne 设置 null 以声明不查详情数据
  • 统一 HTTP 请求 API
  • 统一日期处理相关格式与 API
  • createApp 选项的 metadata 支持数据类型等
  • createApp 选项增加 resolvers 用于替代一些单独的内部依赖的 setter
  • 表单对话框部件支持 readonly 配置项
  • 对象视图描述器通过 validate 指定 none 时不进行值校验
  • 严格根据字段定义处理数据,没定义的或 available 计算值是 false 的就不进行各种校验,并且会从提交的数据里剔除掉
  • 将路由参数转为 URL 的函数
  • 组合动作等逻辑编排扩展能力

已完成 (11)

  • @handie/runtime-core 动作 executeconfig 作为参数传入
  • handie-vue 描述器的 widget 属性值为字符串时从模块依赖中找(需要再想想,考虑并确定部件的复用层级/规则)
  • handie-vue 将部件的 context 具体化为 $$view$$search
  • @handie/bulbasaur 表格视图部件行内按钮尺寸、样式可配置
  • @handie/bulbasaur 过滤器部件和字段部件宽度可配置
  • @handie/squirtle 修复表单部件没有 loading 状态
  • @handie/squirtle 弹出视图触发器的渲染类型应动态
  • config 中非特殊 key 透传给 UI 组件
  • 将表格视图部件的一些较为通用的逻辑转移到基础列表视图部件上
  • 过滤条件留存策略之 URL 查询参数
  • 内置一些常用的客户端动作