SDK:过滤拉力卡

时间:2013-12-27 19:01:34

标签: rally

如何使用SDK过滤拉力卡中的卡?

看起来很简单,使用filter()函数(虽然我不确定为什么配置中似乎没有选项),但我似乎无法让它工作。

这是我最近的尝试:

    var cardBoardConfig = {
            xtype: 'rallycardboard',
            types: ['PortfolioItem/Feature'],
            columns: initiativeColumns,
            attribute: 'Parent',
            context: context
        };
    var cardBoard = this.add(cardBoardConfig);
    var releaseFilter = Ext.create('Rally.data.QueryFilter',
            { property: 'Release.Name', operator: '!=', value: ''});


    cardBoard.filter(releaseFilter);

我意识到它正在寻找的过滤器实际上是一个Ext.util.filter,但是带有它的变体似乎也不起作用。例如,我尝试过:

    var releaseFilter = Ext.create('Ext.util.Filter', { property: 'Release', operator: '=', value: null});

我的目标是根据卡片是否分配到特定版本来过滤卡片。

1 个答案:

答案 0 :(得分:2)

如果查看source for CardBoard's filter,您会发现它尚未实现。那很糟糕,我们应该解决这个问题。

看起来您可以使用cardboard.applyFilters([filter])作为替代方案。如果这不起作用,那么这应该作为服务器端方法:

var cardBoardConfig = {
    xtype: 'rallycardboard',
    types: ['PortfolioItem/Feature'],
    columns: initiativeColumns,
    attribute: 'Parent',
    context: context,
    // have the server do the filtering
    storeConfig: {
        filters: [
            { property: 'Release.Name', operator: '!=', value: ''}
        ]
    }
};
var cardBoard = this.add(cardBoardConfig);