2017-04-06 48 views
0

我創建儀表盤上的每個選項卡Pentaho的CDE儀表板BI(自動刷新+的onclick刷新功能)創建錯誤控制檯

4個選項卡和多個組件(柱狀圖,餅狀圖,表),我試圖展示活在它上面的數據從MySQL數據庫..

自動刷新: - 所以我一直呈現所選選項卡上的所有元件60秒使用

Dashboards.update(render_Componentname); 

的onclick刷新: - 我也有同樣的渲染布局面板通話用java腳本進行選項卡onclick呈現spective組件

我用這個函數在預執行調整大小部件

var myself = this; 
myself.chartDefinition.width = myself.placeholder().width(); 


if (!this.resizeHandlerAttached){ 

var debouncedResize = _.debounce(function(){ 
    myself.placeholder().children().css('visibility','visible'); 
    myself.chartDefinition.width = myself.placeholder().width(); 
    myself.render(myself.query.lastResults()); 
}, 200); 

$(window).resize(function(){ 

    if (myself.chartDefinition.width != myself.placeholder().width()){ 
    myself.placeholder().children().css('visibility','hidden'); 
    debouncedResize(); 
    }  
}); 

$("#link1").click(function(){ 
    myself.placeholder().children().css('visibility','hidden'); 
    debouncedResize(); 
}); 


this.resizeHandlerAttached = true; 

因此,雖然通過標籤我得到下面的錯誤(對於每個組件,其包括上述功能)

Error :- "Uncaught NoCachedResults " 

導航我懷疑(因爲它使用佈局面板中的Onclick Javascript再次渲染)可能是衝突的。

我在控制檯這行代碼

code :- myself.render(myself.query.lastResults()); 

的我檢查CDF-引導腳本-includes.js從這個錯誤就要

對於任何相同實例,其中包括自動刷新+的onclick標籤刷新

請幫我與此

在此先感謝...

回答

0

解決最後.. !!

問題在於調用我的htmlobject的同樣的函數,這是沒有用的,組件渲染反正,所以刪除。

更新功能

var myself = this; 
myself.chartDefinition.width = myself.placeholder().width(); 


if (!this.resizeHandlerAttached){ 

    var debouncedResize = _.debounce(function(){ 
    myself.placeholder().children().css('visibility','visible'); 
    myself.chartDefinition.width = myself.placeholder().width(); 
    myself.render(myself.query.lastResults()); 
    }, 200); 

    $(window).resize(function(){ 

    if (myself.chartDefinition.width != myself.placeholder().width()){ 
     myself.placeholder().children().css('visibility','hidden'); 
     debouncedResize(); 
    }  
    }); 

    this.resizeHandlerAttached = true;