根据调整大小事件自动缩放仪表板

automatically scaling dashboards based on a resize event

icCube 的实时仪表板演示显示了随浏览器大小缩放的仪表板 window。不过目前,在调整 window 大小后,您必须先刷新浏览器才能看到重新缩放的仪表板。

在调整 window 大小时(无需按 F5)是否可以 - 以及如何 - 自动缩放?

我的 javascript 开发人员找到了以下解决方案。它并不完美,但它有效:

  • 在用作菜单的主仪表板中(使用嵌入式报告小部件),放置一个 action/button 并在其中放置事件 ic3-report-refresh
  • 使用 CSS
  • 使按钮不可见
  • 将以下代码放入主仪表板的 javascript 部分:

    function consumeEvent( context, event ) {   
    if (event.name == 'ic3-report-after-build') {     
          //resize window
          var delay = (function(){
              var timer = 0;
              return function(callback, ms){
                clearTimeout(timer);
                timer = setTimeout(callback, ms);
              };
            })();
    
    
    $(window).resize(function () {
        delay(function(){
        $(".report-refresh-button").trigger("click");
    }, 500);
    });
    

    }
    }`

效果是当 html 主页面(其中嵌入了主仪表板)大小发生变化时(即 iPad 转动),会触发刷新,从而有效地触发 icCube 调整大小页面。

在 5.1.1 版本中,它现已修复并且可以正常工作。 我花了一段时间让它工作,因为我在主页中引用了不同版本的 jquery (jquery-1.11.2.min.js).

我在 icCube (jquery-1.7.2.min.js) 中将其更改为 jquery 版本后,它起作用了。

我不知道为什么会这样,但它在起作用,这是最重要的。