为什么查询我的故事选择器不起作用?

时间:2012-04-13 18:58:21

标签: rally

我正在尝试创建一个选择器,以便选择分配给所选迭代的工作产品。

以下代码创建的选择器仅显示“无需显示任何内容”。即使我知道迭代中有几个用户故事。

注释掉查询规范会导致选择器显示项目整个历史记录中的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属性中,但这没有任何影响。

1 个答案:

答案 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。