/** */ Ext.define('Ext.data.Group', { extend: 'Ext.util.Observable', key: undefined, dirty: true, constructor: function(){ this.callParent(arguments); this.records = []; }, contains: function(record){ return Ext.Array.indexOf(this.records, record) !== -1; }, add: function(records) { Ext.Array.push(this.records, records); this.dirty = true; }, remove: function(records) { if (!Ext.isArray(records)) { records = [records]; } var len = records.length, i; for (i = 0; i < len; ++i) { Ext.Array.remove(this.records, records[i]); } this.dirty = true; }, isDirty: function(){ return this.dirty; }, hasAggregate: function(){ return !!this.aggregate; }, setDirty: function(){ this.dirty = true; }, commit: function(){ this.dirty = false; }, isCollapsed: function(){ return this.collapsed; }, getAggregateRecord: function(forceNew){ var me = this, Model; if (forceNew === true || me.dirty || !me.aggregate) { Model = me.store.model; me.aggregate = new Model(); me.aggregate.isSummary = true; } return me.aggregate; } });