页面树结构
转至元数据结尾
转至元数据起始


该宏示例在V10.5上验证通过

本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。

1. 示例效果

仪表盘的组件工具栏中有将组件窗口最大化的功能,如果要最大化,需要使用鼠标点击工具栏上的最大化按钮。通过给指定组件编写宏代码,可以实现双击组件范围内的任意区域实现组件窗口最大化效果,最大化状态下双击任意区域则还原原始尺寸。

最大化功能仅支持图形、表格、WEB电子表格和tab组件。

2. 操作步骤

  • 步骤一:新建一个空白的

  • 步骤二:拖入图形组件,选择数据集或业务主题

效果如下:

  • 步骤三:选中图表1,右键进入宏管理页

  • 步骤四:在界面新建宏,弹出的新建模块对话框中输入名称,勾选对象为组件,事件为“onAfterRender(组件渲染后)

  • 步骤五:编写宏代码实现效果

把下面宏代码复制到代码区域;

function main(page: IPage, portlet: IEChartsPortlet) {
    let portletId = portlet.getId()
    // 根据portletId获取当前组件的DOM元素
    let portletDom = document.querySelector(`[portletid='${portletId}']`)
    if (portletDom != null) {
        // 添加双击事件
        portletDom.addEventListener('dblclick', function () {
            // 判断是否为最大化状态,如果是则还原尺寸,否则将组件最大化。
            if (portlet.isMaximized()) {
                portlet.restoreDown()
            } else {
                portlet.maximize()
            }
        })
    }
}

示例主要使用的是IEChartsPortlet对象下的 isMaximizedmaximizerestoreDown方法,点击查看API详情

  • 步骤六:点击 保存。重新访问报表,可看到效果已实现

3. 下载资源

migrate.xml

  • 无标签