代码之家  ›  专栏  ›  技术社区  ›  fussmonkey

Rally App SDK 2.0-按日期筛选

  •  2
  • fussmonkey  · 技术社区  · 10 年前

    是否可以构建wsapi.Filter以根据StartDate和EndDate过滤迭代?我想做一些像

    {
      property: 'StartDate',
      operator: '>=',
      value: myStartDate
    }
    

    {
      property: 'EndDate',
      operator: '<=',
      value: myEndDate
    }
    

    但它似乎不起作用。我甚至不知道如何在Web服务API页面上手动查询迭代;我不知道如何正确格式化日期字符串。

    1 回复  |  直到 10 年前
        1
  •  1
  •   nickm    10 年前

    您可以尝试在最近90天内按StarDate筛选的代码。请查看控制台中的输出:

    Ext.define('CustomApp', { extend: 'Rally.app.App', componentCls: 'app',
    
            launch: function() {
    
            this.loadIterations(); 
            },
    
    loadIterations: function() {
            var millisecondsInDay = 86400000;            
            var currentDate = new Date();
            var startDate = new Date(currentDate - millisecondsInDay*90);
            var startDateUTC = startDate.toISOString();
            console.log('startDateUTC',startDateUTC);
            console.log('startDate',startDate);
            var iterations = Ext.create('Rally.data.WsapiDataStore', {
                model: 'Iteration',
                autoLoad: true,
                fetch: ['ObjectID', 'Name', 'StartDate', 'PlannedVelocity'],
                filters:[
                    {
                            property: 'StartDate',
                            operator: '>=',
                            value: startDateUTC
                    }
                ],
                sorters: [
                    {property: 'StartDate', direction: 'ASC'}
                ],
                listeners: {
                    load: function(store, data, success) {
                        Ext.Array.each(data, function(record) {
                            console.info('ID: ', record.get('ObjectID'), 
                                '  Name: ', record.get('Name'),                             
                                '  StartDate: ', record.get('StartDate'), 
                                '  PlannedVelocity: ', record.get('PlannedVelocity'));
                        });
                    }, scope: this
                }
            });        
    }    
    });