-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BI数据可视化 - 组件规范设计 #44
Comments
配置协议设计
ComponentMeta自定义组件元信息包含了 formSchema 等属性的对象。通过元信息可以控制自定义组件的数据面板/样式面板/高级面板功能
数据面板
DataSchemaBlock在 DataSchemaBlock 配置中, 数据集有 "维度" 和 " 指标" 两种类型的字段, 不同字段可以拖入到不同的区块中实现不同的取数方式,DataSchemaBlock 的类型: 维度(column) 指标(metrics) 过滤器(filter)
DataSchemaBlockConfig单个配置块的配置项
DataSchemaDisplay配置数据面板结果展示区
styleSchema负责处理组件的样式配置项展示,为了保证组件的大小,我们决定使用JSON配置的方式控制组件的展示,实现了一个 JSONRender 的组件 配置实例
组件上,我们约定了一些特定字段,其中最重要的是name字段;组件接收一个 ref 的空对象,配置的name会挂在这个 ref 上透传给 组件实例,其他组件的配置直接写在外层,扁平化的处理 难点在于组件之前的关系处理,最常见的场景,配置A配置了特殊值a,配置B需要 disable 或者限制某些设置,这种动态的吹上,使用函数的方式,函数的参数是 ref对象,在给组件设置值的时候,使用函数设置方式的字段,会包裹上 computed 实现了动态的字段值设置 协议展示
AdvancedSchema高级配置面板, 配置上跟样式的配置实现一致 |
组件实例组件结构每一个组件的代码,由种子文件生成,核心的文件 mate.ts(导出组件配置) component.vue(导出组件实例控制ui) dev-data.ts(调试数据)
一个基础的柱状图如上所示,平台提供的工具包可以包揽大部分的配置 |
组件大小我们规定,一个组件通过压缩后的代码大小不可以超过15k,常规的大小我们控制在10k以下 设计上我们把编辑和纯展示拆分为2种,更好地处理组件在不同场景的组件大小对平台的影响 |
No description provided.
The text was updated successfully, but these errors were encountered: