superset开发iframe嵌入参数自定义
·
说明
进行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即可。
更多推荐
所有评论(0)