2012-04-13 27 views
1

我正在尝试创建一个选择器,可以选择分配给所选迭代的工作产品。为什么我的故事选择器上的查询不起作用?

由下面的代码创建的选配器仅显示“没有任何可显示内容”。即使我知道迭代中有几个用户故事。

注释查询规范会生成一个Chooser,它显示项目整个历史记录中的200个工作产品。

function addChooser() { 
     var rallyDataSource = new rally.sdk.data.RallyDataSource('__WORKSPACE_OID__', 
          '__PROJECT_OID__', 
          '__PROJECT_SCOPING_UP__', 
          '__PROJECT_SCOPING_DOWN__'); 

     var iterDropdown; 
     var wpChooser; 

     function onWPSelected(wpChooser, eventArgs) { 
     var selectedItem = eventArgs.selectedItem; 

     console.log(selectedItem); 
     }; 

     function displayChooser(iterSelectedName) { 
     var chooserConfig = { 
      type : 'HierarchicalRequirement', 
      title : 'Choose a Work Product', 
      fetch : 'FormattedID,Name', 
      width : 600 
     }; 

     chooserConfig.query = '(Iteration.Name = "' + iterSelectedName + '")'; 

     wpChooser = new rally.sdk.ui.Chooser(chooserConfig, rallyDataSource); 
     wpChooser.display(onWPSelected); 
     }; 

     function onIterationSelected(dropdown, eventArgs) { 
     var selectedName = dropdown.getSelectedName(); 

     displayChooser(selectedName); 
     }; 

     function showDropdown() { 
     var iterConfig = { 
      rememberSelection : false 
     }; 
     iterDropdown = new rally.sdk.ui.IterationDropdown(iterConfig, rallyDataSource); 
     iterDropdown.display(document.getElementById('iterationDiv'), onIterationSelected); 
     }; 

     //Load initial data 
     showDropdown(); 
     }; 

    rally.addOnLoad(addChooser); 

我已经尝试在选配器的fetch属性中添加迭代,但这没有任何影响。

回答

1

如果你看一下发送到拉力赛的请求(在Chrome调试器或Firebug的),你会发现它有一组额外的括号的:

((Iteration.Name = "My Iteraton")) 

此外以下错误字符串是从返回WSAPI:

[Could not parse: Unknown operator ")"] 

看起来这是我们的文档Chooser中的一个错误。在何时以及何时不使用parens查询参数(取决于您使用的是哪个组件)时会出现一些不一致情况。在这种情况下,你不应该:

chooserConfig.query = 'Iteration.Name = "' + iterSelectedName + '"'; 

注意您还可以使用IterationDropdown's getQueryFromSelected方法:

chooserConfig.query = iterDropdown.getQueryFromSelected(); 

我会确保文件被更新,以在本例中不使用括号。

+0

感谢您的回答和建议。我想这是一个格式问题,但我找不到正确的组合。最后我使用了IterationDropdown的getQueryFromSelected。这似乎是更优雅的解决方案。再次感谢。 – 2012-04-16 14:16:41