FilterPlugin.js (1149B)
1 Ext.define("PartKeepr.Util.FilterPlugin", { 2 extend: "Ext.AbstractPlugin", 3 4 ptype: 'filter', 5 6 mixins: [ 7 'Ext.mixin.Observable' 8 ], 9 10 filter: null, 11 enabled: false, 12 13 constructor: function (config) 14 { 15 this.mixins.observable.constructor.call(this, config); 16 this.callParent([config]); 17 }, 18 init: function (ownerComponent) 19 { 20 this.ownerComponent = ownerComponent; 21 22 ownerComponent.disableFilter = Ext.bind(this.disable, this); 23 ownerComponent.enableFilter = Ext.bind(this.enable, this); 24 }, 25 getFilter: function () 26 { 27 var filter = this.getFilterFn.call(this.scope); 28 29 if (this.filter === null) { 30 this.filter = Ext.create("PartKeepr.util.Filter", filter); 31 } else { 32 this.filter.setConfig(filter); 33 } 34 35 return this.filter; 36 }, 37 isEnabled: function () 38 { 39 return this.enabled; 40 }, 41 enable: function () 42 { 43 this.fireEvent("enable"); 44 this.enabled = true; 45 }, 46 disable: function () 47 { 48 this.fireEvent("disable"); 49 this.enabled = false; 50 } 51 });