与故事计数和计划估计颜色编码算法完成的拉力百分比相关,但在这里询问未回答的部分。
SDK 2.0 中的Percent Done ui 组件不会根据拉力赛使用的算法为卡片着色(它仅根据百分比着色代码)。有没有办法提供颜色编码功能或渲染功能来更改此功能以符合 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);