Возможно, вы захотите проверить код примера для Rally.ui.grid.Grid.
Вот краткий пример того, как можно было бы применить Timebox фильтр к сетке:
Ext.define('CustomApp', {
extend: 'Rally.app.App',
componentCls: 'app',
grid: null,
launch: function() {
var filters = [];
var timeboxScope = this.getContext().getTimeboxScope();
if(timeboxScope) {
filters.push(timeboxScope.getQueryFilter());
}
this.getFilteredStoryModel(filters);
},
onTimeboxScopeChange: function(newTimeboxScope) {
var newFilters = [];
var updatedTimeboxScope = this.getContext().getTimeboxScope();
if (this.grid) {
this.grid.destroy();
}
if (updatedTimeboxScope) {
newFilters.push(newTimeboxScope.getQueryFilter());
}
this.getFilteredStoryModel(newFilters);
},
getFilteredStoryModel: function(queryFilters) {
Rally.data.ModelFactory.getModel({
type: 'UserStory',
success: function(model) {
this.grid = this.add({
xtype: 'rallygrid',
model: model,
columnCfgs: [
'FormattedID',
'Name',
'Owner',
'Iteration'
],
storeConfig: {
filters: queryFilters
}
});
},
scope: this
});
}
});
Чтобы показать timebox фильтр, выберите тип фильтра вы хотите, когда первая настройку пользовательских страниц в ралли. Обратный вызов «onTimeboxScopeChange» реагирует на события, вызванные установкой селектора времени и настроенными в самом контейнере пользовательской страницы. Код не требуется для настройки селектора timebox, а вы делаете это с помощью ралли UI при создании новой пользовательской страницы:
Выберите тип фильтра (Release или итерацию):
(1) Обратите внимание, что фильтр отображается в контейнере «Моя новая пользовательская страница». (2) Любое приложение, которое вы добавляете в "Мой Новый пользовательский страницу" будет иметь фильтр timebox доступный/применяется:
Добавление пользовательских HTML App:
Вставить в Код и Сохранить:
Итерация фильтруется Сетка:
В качестве альтернативы, если вы не хотите timebox фильтр, который относится ко всему контейнеру Пользовательские страницы, вы можете выбрать для использования Rally.ui.combobox.ReleaseComboBox или Rally.ui.combobox.IterationComboBox
В вашей самой App кода, и управлять фильтрации через обратные вызовы от любого из этих компонентов. Эта фильтрация будет полностью «внутри-приложения» и не будет опираться на компонент Timebox на любой странице.
Отличный пример, спасибо - гораздо яснее теперь, как мне получить фильтр для отображения под этим подходом? –
Ответ отредактирован с помощью скриншотов, показывающих, как настроить фильтр. –