更改 Pentaho CDE 条形图中条形的颜色
Change color of bar in a Pentaho CDE Barchart
如主题所述,我不太确定如何更改用户在 CDE 仪表板条形图中选择的条形颜色。
在 clickaction() 方法中,我想做一些类似
的事情
function f() {
var mychart = this;
var bar = mychart.getSelection();
bar.color('red');
}
有人可以帮我解决这个问题吗?主要问题是我不太确定在哪里可以找到我可以在 JS 中使用的所有对象和方法的文档。比如有没有办法访问仪表板中的特定对象?喜欢:
var chartXY = Dashboards.getObject('Chart XY');
我希望任何人都可以提供一些有用的链接或一些可以在 JS 中使用的所有方法的文档。
提前致谢。
好的,我自己弄好了,想和大家分享一下。
我是这样做的,在我添加的 PreExecution 中:
function changeBars(){
var cccOptions = this.chartDefinition;
// For changing extension points, a little more work is required:
var eps = Dashboards.propertiesArrayToObject(cccOptions.extensionPoints);
// add extension points:
eps.bar_fillStyle = function getColor(){
var val = this.scene.vars.value.value;
var atom = this.scene.atoms;
var category = atom.category.label;
if(category == selection_param){
return "red";
}else{
return "blue";
}
};
// Serialize back eps into cccOptions
cccOptions.extensionPoints = Dashboards.objectToPropertiesArray(eps);
}
您需要监听 selected_param,每次选择特定图表的柱时都会设置它。我希望这是有帮助的。另外,如果有更优雅的方式,请告诉我。
如主题所述,我不太确定如何更改用户在 CDE 仪表板条形图中选择的条形颜色。 在 clickaction() 方法中,我想做一些类似
的事情function f() {
var mychart = this;
var bar = mychart.getSelection();
bar.color('red');
}
有人可以帮我解决这个问题吗?主要问题是我不太确定在哪里可以找到我可以在 JS 中使用的所有对象和方法的文档。比如有没有办法访问仪表板中的特定对象?喜欢:
var chartXY = Dashboards.getObject('Chart XY');
我希望任何人都可以提供一些有用的链接或一些可以在 JS 中使用的所有方法的文档。 提前致谢。
好的,我自己弄好了,想和大家分享一下。 我是这样做的,在我添加的 PreExecution 中:
function changeBars(){
var cccOptions = this.chartDefinition;
// For changing extension points, a little more work is required:
var eps = Dashboards.propertiesArrayToObject(cccOptions.extensionPoints);
// add extension points:
eps.bar_fillStyle = function getColor(){
var val = this.scene.vars.value.value;
var atom = this.scene.atoms;
var category = atom.category.label;
if(category == selection_param){
return "red";
}else{
return "blue";
}
};
// Serialize back eps into cccOptions
cccOptions.extensionPoints = Dashboards.objectToPropertiesArray(eps);
}
您需要监听 selected_param,每次选择特定图表的柱时都会设置它。我希望这是有帮助的。另外,如果有更优雅的方式,请告诉我。