superset开发iframe嵌入参数自定义

说明

进行superset二次开发集成echarts的时候,需要对不同报表的标题做传参处理,但是直接在form_datajson数据中直接添加无法直接传入到superset对应的报表的js文件中,所以就仔细研究了一下,发现可以在supersetCharts的维护页面左侧的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即可。

发布了26 篇原创文章 · 获赞 1 · 访问量 6962

猜你喜欢

转载自blog.csdn.net/qq_39800434/article/details/103855856
今日推荐