0

与故事计数和计划估计颜色编码算法完成的拉力百分比相关,但在这里询问未回答的部分。

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);
4

1 回答 1

0

完成百分比组件以与生产中的 Rally 相同的方式确定它的颜色(因为 SDK 和 prod 共享相同的代码)。如果您查看组件使用的模板(在此处找到) ,您会发现它使用了 HealthColorCalculator。

如果您想更改组件为工具提示着色的方式,您可以使用Ext Override并更改该类的功能来计算您喜欢的颜色

于 2013-08-21T21:15:12.973 回答