2012-04-13 4 views
1

Я пытаюсь создать Chooser, который позволит выбрать рабочий продукт, назначенный для выбранной итерации.Почему не работает запрос на мой рассказ?

The Chooser, созданный при помощи приведенного ниже кода, отображает только «Нет ничего, чтобы отобразить». хотя я знаю, что на итерации несколько пользовательских историй.

Замечание спецификации запроса приводит к выбору 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); 

Я попытался добавить Итерацию в атрибут выборки Chooser, но это не влияет.

ответ

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

Спасибо за ответ и предложение. Я понял, что это проблема форматирования, но я не смог найти правильную комбинацию. В итоге я использовал getQueryFromSelected IterationDropdown. Это казалось более элегантным решением. Еще раз спасибо. –