我正在尝试创建一个选择器,以便选择分配给所选迭代的工作产品。
以下代码创建的选择器仅显示“无需显示任何内容”。即使我知道迭代中有几个用户故事。
注释掉查询规范会导致选择器显示项目整个历史记录中的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);
我尝试将Iteration添加到Chooser的fetch属性中,但这没有任何影响。
答案 0 :(得分:1)
如果您查看发送到Rally的请求(在Chrome调试器或Firebug中),您会发现它有一组额外的parens:
((Iteration.Name = "My Iteraton"))
此外,从Wsapi返回以下错误字符串:
[Could not parse: Unknown operator ")"]
看起来这是我们Chooser文档中的错误。根据您使用的组件,何时以及何时不使用带有查询参数的parens存在一些不一致。在这种情况下,你不应该:
chooserConfig.query = 'Iteration.Name = "' + iterSelectedName + '"';
注意您也可以使用IterationDropdown's getQueryFromSelected方法:
chooserConfig.query = iterDropdown.getQueryFromSelected();
我将确保文档更新为不在示例中使用parens。