2016-04-17 14 views
1

我想建立一个应用程序显示了下面的板子。 sample board构建一个“作为泳道发布的功能故事映射” - 如何处理发布?

所以我创建了一个自定义的html应用程序,源代码在这里列出。

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <title>StoryMap</title> 
 

 
    <script type="text/javascript" src="/apps/2.0/sdk-debug.js"></script> 
 

 
    <script type="text/javascript"> 
 
     Rally.onReady(function() { 
 
       Ext.define('mycardcolumnheader', { 
 
    extend: Rally.ui.cardboard.ColumnHeader, 
 
    alias: 'widget.mycardcolumnheader', 
 

 
}); 
 

 
Ext.define('CustomApp', { 
 
    extend: 'Rally.app.App', 
 
    componentCls: 'app', 
 
    launch: function() { 
 

 
     //Fetch tree of items 
 
    // a) starting from item type in picker 
 
    // b) subject to a filter 
 

 
    //The number of columns is related to the number of lowest level PI type items that are found 
 
    //The header must show the top level (from the picker) and all the children 
 
    //The user stories are shown in a vertical line below 
 
    //Might want to introduce the concept of timebox in the vertical direction (for user stories) 
 
    //The cards for the PIs should show the progress bars 
 

 
    var ch = Ext.create('Ext.Container', { 
 
    }); 
 

 
    var dTab = Ext.create('Ext.Container', { 
 
     items: [{ 
 
      xtype: 'rallycardboard', 
 
      types: ['HierarchicalRequirement'], 
 
//    columnConfig: { xtype: 'mycardcolumn', displayField: 'feat', valueField: 'fest' }, 
 
//    attribute: 'ScheduleState' 
 
      attribute: 'Feature', 
 
      rowConfig: { field: 'Release', sortDirection: 'ASC' }, 
 
      enableDragAndDrop: true 
 
     }] 
 
     }); 
 

 
    this.add(dTab); 
 

 
    } 
 
}); 
 

 

 
      Rally.launchApp('CustomApp', { 
 
       name:"StoryMap", 
 
      parentRepos:"" 
 
      }); 
 

 
     }); 
 
    </script> 
 

 

 

 
    <style type="text/css"> 
 
     .app { 
 
    /* Add app styles here */ 
 
} 
 

 
    </style> 
 
</head> 
 
<body> 
 
</body> 
 
</html>

这是非常相似,我想要什么,但还是有一个小错误,我不知道如何解决它。该错误是如果我选择父项目,董事会将显示相同的版本到多个泳道。这是一个例子。 real case example

这可能是因为每个Rally Project都有其自己的发行版,而且该应用程序不够智能,无法识别它们在逻辑上是否相同。
如果在父项目级别创建版本1并将版本级联到子项目,则实际上为每个项目创建3个版本... 1。我们的应用程序碰巧知道,如果发布名称,开始日期和结束日期相匹配,则应该将它们视为单个版本。它似乎应用程序没有包含在其中的逻辑。

但是如何解决它?任何人都可以看看?

回答

0

这是一种预期的行为,主要是因为我们从来没有建立董事会将相似版本“挤”到其行或列中的能力。

你可能需要重写上Rally.ui.cardboard.row.Row的isMatchingRecord方法能够斗行:

//add this at the top of your app 
Ext.define('Rally.ui.cardboard.row.RowFix', { 
    override: 'Rally.ui.cardboard.row.Row', 

    isMatchingRecord: function(record) { 
     return this.callParent(arguments) || 
      this.getValue().Name === (record.get('Release') && record.get('Release').Name); 
    } 
}); 
+0

是啊,这组相同的版本名称为一行。 但是,一件小事情是,如果用户故事尚未计划进入任何发行版,那么失去了名为“NONE”的行,是否可以修改此方法以将无NONE行添加回来? –

+0

我更新了上面的代码片段,它似乎适用于我... –

相关问题