【仅供内部供应商使用,不提供对外解答和培训】
【仅供内部供应商使用,不提供对外解答和培训】
无
CustomComponentProvider支持插件自定义组件(图表)。
package com.finebi.provider.api.component;
import com.finebi.common.context.OperationContext;
import com.finebi.provider.api.component.data.DataModel;
import com.fr.common.annotations.Open;
import com.fr.stable.fun.mark.Mutable;
import com.fr.web.struct.AssembleComponent;
import java.util.List;
/**
* <p>插件自定义组件(图表)的注册点</p>
*
* @author Jimmy.Zheng
* @since 6.0
* Created on 2023/5/22
**/
@Open
public interface CustomComponentProvider extends Mutable {
String XML_TAG = "CustomComponentProvider";
int CURRENT_LEVEL = 1;
/**
* 获取组件的名称
*
* @return 组件名称
*/
String getName();
/**
* 获取组件的类型,建议英文
*
* @return 组件类型
*/
String getType();
/**
* 获取组件的图标
*
* @return 图标路径
*/
String getIcon();
/**
* 获取组件的预览大图标
*
* @return 图标路径
*/
String getPreviewIcon();
/**
* 获取组件编辑界面的html
*
* @param context 上下文
* @return html
*/
String getEditPageHTML(OperationContext context);
/**
* 获取组件编辑界面的css和 js
*
* @param context 上下文
* @return css和 js的路径包装
*/
AssembleComponent editClient(OperationContext context);
/**
* 获取组件预览界面的html
*
* @param context 上下文
* @return html
*/
String getPreviewPageHTML(OperationContext context);
/**
* 获取组件预览界面的css和 js
*
* @param context 上下文
* @return css和 js的路径包装
*/
AssembleComponent previewClient(OperationContext context);
String config();
/**
* 返回是否需要进行自定义数据处理
*
* @param customComponentContext 自定义图表相关的上下文信息,目前包含前端传的查询配置
* @return 是否需要进行自定义数据处理
*/
boolean needDataProcess(CustomComponentContext customComponentContext);
/**
* 对BI计算后即将返回前端的数据进行自定义处理
*
* @param dataModels 数据模型
* @param customComponentContext 自定义图表相关的上下文信息,目前包含前端传的查询配置
* @return 处理过的数据模型
*/
List<DataModel> process(List<DataModel> dataModels, CustomComponentContext customComponentContext);
}
配套前端接口:
产品线 | 版本 | 支持情况 | 备注 |
|---|---|---|---|
| BI | 6.0.13- | 支持 |
<extra-core>
<CustomComponentProvider class="your class name"/>
</extra-core>
demo地址:
免责声明:所有文档中的开源示例,均为开发者自行开发并提供。仅用于参考和学习使用,开发者和官方均无义务对开源案例所涉及的所有成果进行教学和指导。若作为商用一切后果责任由使用者自行承担。