我正在使用纸板构建项目故事地图。它应该按迭代(列(显示所有底层故事(即没有子级的故事,因此可迭代(,并可以选择将行设置为长篇故事(项目组合项(或父用户故事(父用户故事(。
问题是当rowconfig ='PortfolioItem'时,我只会得到史诗的直接子故事。当rowconfig ='Parent'时,我得到了底层的故事,尽管怀疑这是因为我最多有一个父级故事,所以任何孩子都是底层的。
认为 rowconfig 只是一个分组配置,但似乎也在过滤查询。
即给定以下层次结构:
Epic A -> Story 1 -> Story aa
Epic A -> Story 1 -> Story ab
Epic A -> Story 2
Epic B -> Story 3
Story 4
Story 5 -> story cc
按史诗分组时我想要什么
Epic A
-------
Story aa, Story bb, Story 2
Epic B
-------
Story 3
None
-----
Story 4, Story 5
我用rowconfig ='PortfolioItem'得到什么:
Epic A
-------
Story 1, Story 2
Epic B
-------
Story 3
None
-----
Story 4, Story cc
我用 rowconfig = 'Parent' 得到什么:
Story 1
-------
Story aa, Story ab
Story 5
-------
story cc
None
-----
Story 2, Story 3, Story 4
有没有办法强制商店获得最低级别的故事,即使 rowconfig 是"投资组合项"?在这种情况下,我可以假设Epic和底层之间最多有一个父级。
实际代码在这里 - 现在我删除了所有过滤器。
me.StoryMapBoard = Ext.create('Rally.ui.cardboard.CardBoard',{
//xtype: 'rallycardboard',
types: ['User Story'],
attribute: 'Iteration',
context: this.getContext(),
rowConfig: {
field: 'Parent' // switch to 'PortfolioItem' to show the Epic
},
cardConfig: {
fields: [
'Name',
'ScheduleState',
'Parent',
'DirectChildrenCount'
]
},
listeners: {
load: me._onBoardLoaded,
scope: me
},
storeConfig: {
//filters: myFilters,
context:{
project:'FOOBAR', //not my actual project
projectScopeUp: false,
projectScopeDown: true
},
}
});
me.add(me.StoryMapBoard);
将rowConfig.field
设置为"Feature"
。 该字段将正确填充叶子故事和介于两者之间的任何史诗。
哎呀- 哎呀!将 rowConfig.field 设置为 "Epic" 有效。以为我一开始就尝试过,但没有得到正确的结果......也许我打错了。