2012-06-07 52 views
2

如何创建带有可映射状态的TASK卡板,如Rally的现有看板支持。在拉力赛中:我可以将自定义任务状态映射到拉力赛任务板中的现有任务状态(类似于用户故事的看板)?

我想添加一个或两个自定义任务状态:如“准备合并”和“单元测试完成”。现有的任务板不支持此功能。

我使用Rally 2.0 SDK(预览版)玩卡板代码,并能够在自定义状态列中快速显示任务,但映射是我迷失的地方,因为我不确定如何映射这些自定义状态到默认的Defined/In-Process/Completed状态。我很好奇,如果你有任何指示什么触发器或组件用于状态映射。

我知道可以有一些反对额外的任务状态,但在一些工程公司,编码与任务密切相关,额外的状态可以在任务级别上有意义。

回答

1

首先让我给你一些注意事项。 您的映射只适用于此特定的主板和任何其他视图。所以这些更改可以非常容易地失去同步。

下面是一些代码,应该做你期待的。你可以依据它在这里 https://gist.github.com/2926610

<!DOCTYPE html> 
<html> 
<head> 
<title>My Custom App</title> 

<!--Include SDK--> 
<script type="text/javascript" src="https://rally1.rallydev.com/apps/2.0p/sdk.js"></script> 

<!--App code--> 
<script type="text/javascript"> 

    Rally.onReady(function() { 

     Ext.define('CustomApp', { 
      extend: 'Rally.app.App', 
      componentCls: 'app', 
      mappedToField:"State", 
      mappedFromField:"Mapme", 

      fieldNameMap:{ 
       a:"Defined", 
       b:"Defined", 
       c:"In-Progress", 
       d:"In-Progress", 
       e:"Completed" 
      }, 

      launch: function() { 
       this.add({ 
        xtype:'rallycardboard', 
        types:['task'], 
        attribute: this.mappedFromField, 
        listeners:{ 
         beforecarddroppedsave:function(cardboard, card) { 
          //map the new state from on this card to the new state 
          var newState = this.fieldNameMap[card.record.get(this.mappedFromField)]; 
          card.record.set(this.mappedToField, newState); 
         }, 
         scope:this 
        } 
       }); 
      } 
     }); 

     Rally.launchApp('CustomApp', { 
      name: 'My Custom App' 
     }); 

    }); 

</script> 


</head> 
<body class="myApp"> 
</body> 
</html> 
+0

这个工作!谢谢! – JoelChicago

+0

哇,谢谢你的整个应用程序!让我的一天! – phatmann

相关问题