partkeepr

fork of partkeepr
git clone https://git.e1e0.net/partkeepr.git
Log | Files | Refs | Submodules | README | LICENSE

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 });