首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

扩充Extjs4 Store,添加'aftersync'事件

2012-07-04 
扩展Extjs4 Store,添加aftersync事件/** * Store扩展 */Ext.define(Ext.ux.StoreEx, {extend : Ext.d

扩展Extjs4 Store,添加'aftersync'事件

/** * Store扩展 */Ext.define('Ext.ux.StoreEx', {extend : 'Ext.data.Store',alias : 'store.storeex',batchUpdateMode : 'complete',constructor : function(config) {var me = this;me.addEvents('aftersync');me.callParent([ config ]);},onBatchComplete : function(batch, operation) {var me = this, operations = batch.operations;var length = operations.length, i;me.suspendEvents();for (i = 0; i < length; i++) {me.onProxyWrite(operations[i]);}me.resumeEvents();me.fireEvent('aftersync', me);me.fireEvent('datachanged', me);},sync : function() {var me = this;var options = {};var toCreate = me.getNewRecords();var toUpdate = me.getUpdatedRecords();var toDestroy = me.getRemovedRecords();var needsSync = false;if (toCreate.length > 0) {options.create = toCreate;needsSync = true;}if (toUpdate.length > 0) {options.update = toUpdate;needsSync = true;}if (toDestroy.length > 0) {options.destroy = toDestroy;needsSync = true;}if (needsSync && me.fireEvent('beforesync', options) !== false) {me.proxy.batch(options, me.getBatchListeners());}return needsSync;}});

热点排行