如何使用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});
我的目标是根据卡片是否分配到特定版本来过滤卡片。
答案 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);