Я строю карту истории проекта, используя картон.Он должен показывать все истории нижнего уровня (то есть истории без дочерних элементов и, следовательно, с возможностью итерации) по их итерации (столбец), с возможностью установки строки для Epic (элемент портфолио) или Parent User Story (Parent).
Проблема в том, что когда rowconfig = 'PortfolioItem', я получаю только непосредственные дочерние истории Epic.Когда 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
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 это 'PortfolioItem'?В этом случае я могу предположить, что между 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);