与Rally percent done by story count and plan estimate color coding algorithm相关,但在此处询问未答复的部分。
SDK 2.0中的Percent Done ui component不会根据集会使用的算法为卡片着色(它只根据百分比的颜色代码)。有没有办法提供颜色编码功能或渲染功能来改变这个功能,以与Rally一致?谢谢!
[编辑] - 尝试覆盖现有功能以使用记录而不是完成百分比来生成ui组件
Ext.define('Custom.PercentDone', {
requires: ['Rally.ui.renderer.template.progressbar.PortfolioItemPercentDoneTemplate', 'Rally.util.HealthColorCalculator'],
extend : 'Rally.ui.PercentDone',
alias : 'widget.cpercentdone',
config: {
record: null
},
constructor: function(config) {
this.initConfig(config);
config = this.config;
this.renderTpl = Ext.create('Custom.renderer.template.progressbar.PercentDoneTemplate', {
calculateColorFn: Ext.bind(function(recordData) {
console.log('called my custom coloring fn');
var colorObject = Rally.util.HealthColorCalculator.calculateHealthColorForPortfolioItemData(config.record, config.percentDoneName);
return colorObject.hex;
}, this)
});
this.renderData = config;
this.mergeConfig(config);
this.callParent([this.config]);
}
});
App.down('#subContainer').add({
xtype: 'cpercentdone',
record: item,
useStoryCount: !App.estimate
});
我无法让它正常工作 - 我想将信息传递给calculateHealthColorForPortfolioItemData函数,但我无法弄清楚传递的参数和位置,所以我不确定要设置什么其中。
我也尝试过使用Ext.override:
var percentDone = Ext.create('Rally.ui.PercentDone', {
record: item,
percentDoneName: 'PercentDoneByStoryCount'
});
var tpl = percentDone.renderTpl;
tpl.calculateColorFn = function(recordData) {
var colorObject = Rally.util.HealthColorCalculator.calculateHealthColorForPortfolioItemData(percentDone.record, percentDone.percentDoneName);
return colorObject.hex;
};
Ext.override(percentDone, {
renderTpl: tpl
});
App.down('#subContainer').add(percentDone);
答案 0 :(得分:0)
完成百分比组件以与生产中的Rally相同的方式确定它的颜色(因为SDK和prod共享相同的代码)。如果查看组件使用的模板(found here),您可以看到它使用了HealthColorCalculator。
如果您想更改组件为工具提示着色的方式,您可以使用Ext Override并更改该类的功能以计算您喜欢的颜色