Rally 为什么赢了';t任务模型中返回Ready和BlockedReason值
我试图返回一个任务列表,并包含就绪和BlockedReason值。下面的代码将返回“configCfgs”中列出的所有列,但这两列除外。你知道怎么抓住他们吗Rally 为什么赢了';t任务模型中返回Ready和BlockedReason值,rally,Rally,我试图返回一个任务列表,并包含就绪和BlockedReason值。下面的代码将返回“configCfgs”中列出的所有列,但这两列除外。你知道怎么抓住他们吗 this.grid = this.add({ xtype: 'rallygrid', model: model, columnCfgs: ['FormattedID', 'Name', 'Ready', 'Blocked', 'BlockedReason', 'WorkProduct', 'Owner', 'Rele
this.grid = this.add({
xtype: 'rallygrid',
model: model,
columnCfgs: ['FormattedID', 'Name', 'Ready', 'Blocked', 'BlockedReason', 'WorkProduct', 'Owner', 'Release', 'Iteration','Project'],
columns: [
{ text: 'Test', dataIndex: 'FormattedID', width: 20}
],
storeConfig: {
context: {
projectScopeUp: false,
projectScopeDown: true
},
filters: this._activeFilters
}
});
以下是完整的功能:
launch: function launch() {
Rally.data.ModelFactory.getModel({
type: 'Task',
scope: this,
success: function(model) {
var project = Rally.environment.getContext().getProject().ObjectID;
var me = this;
var clearFiltersStoreConfig = {
listeners: {
load: function() {
me._clearFilterInputs();
}
}
};
var filterContainer = {
width: 800,
xtype: 'container',
cls: 'filter-container',
layout: {
type: 'hbox'
},
items: [{
xtype: 'container',
items: [{
xtype: 'button',
width: 100,
text: 'Reset Filters',
handler: Ext.bind(this._resetFilters, this)
}],
flex: 1
},{
xtype: 'container',
layout: 'vbox',
items: [{
xtype: 'container',
cls: 'name-container',
layout: 'hbox',
items: [{
id: 'nameTextField',
labelWidth: 45,
xtype: 'rallytextfield',
fieldLabel: 'Name',
storeConfig: clearFiltersStoreConfig,
enableKeyEvents: true,
listeners: {
keypress: Ext.bind(this._enterKeyPressed("Name"), this)
}
},
this._makeClearButton('nameTextField', 'Name')],
flex: 1
}, {
xtype: 'container',
cls: 'owner-container',
layout: 'hbox',
items: [{
id: 'ownerComboBox',
labelWidth: 45,
xtype: 'rallyusercombobox',
fieldLabel: 'Owner',
project: '/project/' + project,
storeConfig: clearFiltersStoreConfig,
listeners: {
select: Ext.bind(this._optionSelected("Owner"), this)
}
},
this._makeClearButton('ownerComboBox', 'Owner')],
flex: 1
}],
flex: 1
}, {
xtype: 'container',
layout: 'vbox',
items: [{
xtype: 'container',
layout: 'hbox',
items: [{
id: 'releaseComboBox',
xtype: 'rallyreleasecombobox',
plugins: [],
fieldLabel: "Release",
autoSelect: false,
labelWidth: 45,
listConfig: {
minWidth: 90,
width: 90,
itemTpl: new Ext.XTemplate('<div class="timebox-name<tpl if="isSelected"> timebox-item-selected</tpl>">{formattedName}</div>')
},
storeConfig: clearFiltersStoreConfig,
listeners: {
select: Ext.bind(this._optionSelected("Release"), this)
}
},
this._makeClearButton('releaseComboBox', 'Release')],
flex: 1
}, {
xtype: 'container',
layout: 'hbox',
items: [{
id: 'iterationComboBox',
xtype: 'rallyiterationcombobox',
plugins: [],
fieldLabel: "Iteration",
labelWidth: 45,
listConfig: {
minWidth: 90,
width: 90,
itemTpl: new Ext.XTemplate('<div class="timebox-name<tpl if="isSelected"> timebox-item-selected</tpl>">{formattedName}</div>')
},
storeConfig: clearFiltersStoreConfig,
listeners: {
select: Ext.bind(this._optionSelected("Iteration"), this)
}
},
this._makeClearButton('iterationComboBox', 'Iteration')],
flex: 1
}],
flex: 1
}]
};
this.add(filterContainer);
this.grid = this.add({
xtype: 'rallygrid',
model: model,
columnCfgs: ['FormattedID', 'Name', 'Ready', 'Blocked', 'BlockedReason', 'WorkProduct', 'Owner', 'Release', 'Iteration','Project'],
columns: [
{ text: 'Test', dataIndex: 'FormattedID', width: 20}
],
storeConfig: {
context: {
projectScopeUp: false,
projectScopeDown: true
},
filters: this._activeFilters
}
});
var me = this;
setTimeout(function() {
me._loadLastFilters();
}, 1000);
}
});
}
launch:函数启动(){
Rally.data.ModelFactory.getModel({
键入:“任务”,
范围:本,,
成功:功能(模型){
var project=Rally.environment.getContext().getProject().ObjectID;
var me=这个;
变量clearFiltersStoreConfig={
听众:{
加载:函数(){
我;
}
}
};
变量筛选器容器={
宽度:800,
xtype:'容器',
cls:“筛选器容器”,
布局:{
类型:“hbox”
},
项目:[{
xtype:'容器',
项目:[{
xtype:'按钮',
宽度:100,
文本:“重置筛选器”,
处理程序:Ext.bind(this.\u resetFilters,this)
}],
弹性:1
},{
xtype:'容器',
布局:“vbox”,
项目:[{
xtype:'容器',
cls:“名称容器”,
布局:“hbox”,
项目:[{
id:'nameTextField',
标签宽度:45,
xtype:'rallytextfield',
fieldLabel:'名称',
storeConfig:clearFiltersStoreConfig,
enableKeyEvents:true,
听众:{
按键:Ext.bind(this.\u enterKeyPressed(“名称”),this)
}
},
这是._makeClearButton('nameTextField','Name')],
弹性:1
}, {
xtype:'容器',
cls:“所有者容器”,
布局:“hbox”,
项目:[{
id:'所有者通讯录',
标签宽度:45,
xtype:“rallyusercombobox”,
fieldLabel:“所有者”,
项目:'/project/'+项目,
storeConfig:clearFiltersStoreConfig,
听众:{
选择:Ext.bind(this.\u选项选择(“所有者”),this)
}
},
这是。_makeClearButton('ownerComboBox','Owner'),
弹性:1
}],
弹性:1
}, {
xtype:'容器',
布局:“vbox”,
项目:[{
xtype:'容器',
布局:“hbox”,
项目:[{
id:“releaseComboBox”,
xtype:“rallyreleasecombobox”,
插件:[],
字段标签:“发布”,
自动选择:false,
标签宽度:45,
列表配置:{
最小宽度:90,
宽度:90,
itemTpl:new Ext.XTemplate(“{formattedName}”)
},
storeConfig:clearFiltersStoreConfig,
听众:{
选择:Ext.bind(this._选项选择(“释放”),this)
}
},
这是._makeClearButton('releaseComboBox','Release'),
弹性:1
}, {
xtype:'容器',
布局:“hbox”,
项目:[{
id:'iterationComboBox',
xtype:'rallyiterationcombobox',
插件:[],
字段标签:“迭代”,
标签宽度:45,
列表配置:{
最小宽度:90,