//>>built
define("dojox/grid/enhanced/_Plugin","dojo/_base/kernel dojo/_base/lang dojo/_base/declare dojo/_base/array dojo/_base/connect ../EnhancedGrid".split(" "),function(k,g,h,e,d){return h("dojox.grid.enhanced._Plugin",null,{name:"plugin",grid:null,option:{},_connects:[],_subscribes:[],privates:{},constructor:function(a,b){this.grid=a;this.option=b;this._connects=[];this._subscribes=[];this.privates=g.mixin({},dojox.grid.enhanced._Plugin.prototype);this.init()},init:function(){},onPreInit:function(){},
onPostInit:function(){},onStartUp:function(){},connect:function(a,b,c){a=d.connect(a,b,this,c);this._connects.push(a);return a},disconnect:function(a){e.some(this._connects,function(b,c,f){return b==a?(d.disconnect(a),f.splice(c,1),!0):!1})},subscribe:function(a,b){var c=d.subscribe(a,this,b);this._subscribes.push(c);return c},unsubscribe:function(a){e.some(this._subscribes,function(b,c,f){return b==a?(d.unsubscribe(a),f.splice(c,1),!0):!1})},onSetStore:function(a){},destroy:function(){e.forEach(this._connects,
d.disconnect);e.forEach(this._subscribes,d.unsubscribe);delete this._connects;delete this._subscribes;delete this.option;delete this.privates}})});