扩展开发一个新的分析功能 |
数据洞察提供了扩展开发分析的能力,供您方便地扩展分析工具。同时也提供了一些自定义组件,如:下拉选择器、输入框、按钮,您可根据需求注册相应的组件完成分析参数的设置。
扩展新的分析功能前,请先阅读数据洞察 WebApp 扩展流程。本节仅介绍分析功能的扩展开发步骤。
第一步:在创建的分析 js 文件中,实例化 iDataInsights.Plugins.AnalystExtension,代码如下所示:
const analysis = {
// 分析类型
type: 'sample',
// 分析模式
mode: "CLIENT",
// 分析名称
name: '自定义分析',
// 分析描述
remark: '自定义分析描述内容',
// 缩略图
thumbnail: './libs/plugins/images/xxx.png'
}
const analysisInstance = new iDataInsights.Plugins.AnalystExtension([analysis]);
其中:
type,定义扩展分析的类型,不能与数据洞察已有分析类型重名。
mode,定义扩展分析的模式,可选值包含标准分析中的本地离线分析和服务端在线分析、分布式分析三种。参见:AnalystExtension.AnalystModes
name,扩展分析工具的名称,对应上图中红色1标识的区域中上方的粗体文字。
remark,扩展分析工具的描述,对应上图中红色1标识的区域中下方的文字。
thumbnail,设置扩展分析工具在属性面板展示的缩略图,对应上图中红色1标识的区域中的图片。
第二步:实现扩展的分析方法,并调用 bindAnalyse 将分析方法绑定到分析实例,如下所示:
function analysis(callback) {
// 分析的具体实现方法
callback('分析结果类型', '分析结果', '分析结果名称');
}
analysisInstance.bindAnalyse(analysis);
其中:
分析结果类型必须从 AnalystExtension.AnalysisResultTypes 中选择。
分析结果的数据格式必须符合规范。
第三步,调用 bindComponents 方法绑定组件,如下所示。(该步为可选步骤)
function registComponents() {
// 处理组件需要参数
return AnalystExtension.Components;
}
analysisInstance.bindComponents(registComponents);
其中,registComponents 方法的返回值必须满足AnalystExtension.Component 的数据结构。
参考: