说明
进行superset
二次开发集成echarts
的时候,需要对不同报表的标题做传参处理,但是直接在form_data
的json
数据中直接添加无法直接传入到superset
对应的报表的js
文件中,所以就仔细研究了一下,发现可以在superset
的Charts
的维护页面左侧的Data
中增加配置项进行参数传递。
一开始是直接参考的IFrame
报表中的URL
配置项进行开发,但是这样实在是不友好且不方便。
所以就有继续研究了一下,发现可以左边的配置项也可以自定义。这样就方便很多了。
自定义步骤
注册配置项
进入static/assets/src/explore
目录下,编辑controls.jsx
文件,在controls
中增加title
配置项,如下:
title: {
type: 'TextControl',
label: t('TITLE'),
description: t('Title of report'),
default: '',
},
保存退出。
在对应报表中增加该配置项
进入static/assets/src/explore/controlPanels
目录下,编辑需要title
报表的js
文件。代码如下:
import { t } from '@superset-ui/translation';
export default {
controlPanelSections: [
{
label: t('Query'),
expanded: true,
controlSetRows: [
['metrics', 'groupby'],
['limit'],
['title'],
],
},
{
label: t('Chart Options'),
controlSetRows: [
['color_scheme'],
],
},
],
};
编辑重启
进入static\assets
目录下运行npm run dev
,然后重启superset run
即可。进入web维护页面即可看到
多了一个TITLE的配置项。
加入业务逻辑
然后在对应报表的js
文件中加入相关的业务逻辑用来配置报表的title即可。