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



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

是可能的-以及如何-自动缩放后,你调整窗口的大小(所以不按F5)?

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

  • 在作为菜单的主仪表板中(使用嵌入的报表小部件),在其中放置一个带有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版本后,它工作了。

我不知道为什么会这样,但它是有效的,这是最重要的事情。

最新更新