1

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

以下代码创建的选择器只显示“没有可显示的内容”。即使我知道迭代中有几个用户故事。

注释掉查询规范会生成一个选择器,该选择器显示项目整个历史中的 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 属性中,但这没有影响。

4

1 回答 1

1

如果您查看发送给 Rally 的请求(在 Chrome 调试器或 Firebug 中),您会注意到它有一组额外的括号:

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

此外,从 Wsapi 返回以下错误字符串:

[Could not parse: Unknown operator ")"]

看起来这是我们的选择文档中的一个错误。根据您使用的组件,何时以及何时不使用带有查询参数的括号存在一些不一致之处。在这种情况下,您不应该:

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

请注意,您还可以使用IterationDropdown 的 getQueryFromSelected方法:

chooserConfig.query = iterDropdown.getQueryFromSelected();

我将确保更新文档以在示例中不使用括号。

于 2012-04-14T15:07:47.860 回答