如何在icCube web报告中的ConsumeEvent函数之外fireEvent

时间:2016-12-01 16:41:41

标签: javascript events iccube

我想做一个简单的fireEvent("刷新","")

来自consumeEvent函数之外的javascript。

因为我希望能够执行一个setinterval,它将fireEvent"刷新" 并将事件名称放在表格中,然后刷新查询'在网络报道

所以最终表格会每隔1分钟刷新一次,例如。 (我希望能够以不同的时间间隔分别刷新仪表板中的每个表格)

问题是我只能从consumeEvent函数执行fireEvent 然后使用context.fireEvent(&#34;刷新&#34;,&#34;&#34;)但每次我从仪表板发生不同的事件并且它不够好时就会发生这种情况< / p>

1 个答案:

答案 0 :(得分:1)

事件可以通过上下文的事件管理器实例抛出:

<script type="text/javascript">
     context.eventMgr().fireExternalEvent("eventName", eventValue)
</script>

如果您有权访问ic3Reporting实例,也可以触发事件:

例如:

var ic3Application = ic3.startReport(options);

在这种情况下,您可以通过以下方式触发应用事件:

<script type="text/javascript">
    //get ic3application instance
    var ic3Application = ic3.startReport(options); 

    setInterval(function(){
       ic3Application.fireEvent('table1-refresh', {})
    },60000)

    setInterval(function(){
       ic3Application.fireEvent('table2-refresh', {})
    },120000)
</script>

然后只需将事件名称设置为&#34;执行刷新查询&#34;表&#39;事件

<强>更新

ic3report.html

中的脚本版本
<script type="text/javascript">

        var ic3root = "../" 
        var ic3rootLocal = "../" 

        var options = {
            root: ic3root,
            rootLocal: ic3rootLocal,

            callback: function () {
                $('#intro').remove();

                  var options = {
                            <!-- ic3-start-report-options (DO NOT REMOVE - USED TO GENERATE FILES) -->
                  };
                  var ic3Application = ic3.startReport(options);
                  setInterval(function () {
                     ic3Application.fireEvent('ic3-table', {})
                  },20000)
            };

        ic3ready(options);
</script>

更新

以下是report的示例。