我需要将一些计算过滤应用于与Rally Grid相关联的数据存储。
这段代码有一些调试“噪音”,但它表明我试图在配置时提供一些过滤器,它们被忽略,或者似乎是因为我的过滤器功能没有触发。 / p>
Ext.define('CustomApp', {
extend: 'Rally.app.App',
componentCls: 'app',
launch: function () {
//Write app code here
console.log("Overall App Launch function entered");
//API Docs: https://help.rallydev.com/apps/2.1/doc/
}
});
Rally.onReady(function () {
Ext.define('BOA.AdoptedWork.MultiArtifactGrid', {
extend: 'Rally.app.App',
componentCls: 'app',
launch: function () {
console.log("onReady Launch function entered");
this.theGrid = {
xtype: 'rallygrid',
showPagingToolbar: true,
showRowActionsColumn: false,
editable: false,
columnCfgs: [
'FormattedID',
'Name',
'ScheduleState',
'Iteration',
'Release',
'PlanEstimate',
'TaskEstimateTotal',
'TaskActualTotal', // For some reason this does not display ?? :o( ??
'TaskRemainingTotal'
],
listeners: {
afterrender: {
fn: function (_myVar, eOpts) {
console.log("Arg to afterrender: ", _myVar, " and ", eOpts);
console.log("Filters: ", _myVar.filters);
var _myStore = _myVar.getStore();
console.log("Store : ", _myStore);
console.log("Store filters: ", _myStore.filters);
}
}
},
filters: [{
// This did not work ...
property: 'ScheduleState',
operator: '==',
value: 'Defined',
// Trying dynamic Filter Function. Update: Never called.
filterFn: function (item) {
console.log("Entered Filter Function!");
var iter = item.get("Iteration");
console.log("Iteration field: ", iter);
if (iter !== null && iter !== undefined) {
return (iter.name === "Sprint 3");
} else {
return false;
}
}
}],
context: this.getContext(),
storeConfig: {
models: ['userstory', 'defect']
},
scope: this
};
this.add(this.theGrid);
console.log("The Grid Object: ", this.theGrid);
}
});
Rally.launchApp('BOA.AdoptedWork.MultiArtifactGrid', {
name: 'Multi-type Grid'
});
});
我没有编写12年的编码,也从未使用过JavaScript。所以,我正在接受我的支持。
答案 0 :(得分:0)
拉力赛社区中的某个人提供了答案和有用的反馈:
corkr03说...@miguelfuerte一些事情: "过滤器"配置需要是storeConfig的一部分。在上面的代码中,它是gridConfig的一部分。
storeConfig: {
filters: [{
property: "Iteration.Name",
value: "Sprint 3"
}]
}
此外,过滤器的属性为"迭代"期望引用迭代引用。对于该特定实现,您将需要使用属性:" Iteration.Name"。有关查询和使用点表示法的良好信息:常规查询示例| CA Agile Central帮助