partkeepr

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

RendererRegistry.js (1452B)


      1 Ext.define("PartKeepr.Components.Grid.Renderers.RendererRegistry", {
      2     statics: {
      3         aliasPrefix: "columnRenderer.",
      4 
      5         lookupRenderer: function (rtype)
      6         {
      7             return Ext.ClassManager.getByAlias(this.aliasPrefix + rtype);
      8         },
      9         getRenderersForEntity: function (targetEntity)
     10         {
     11             var renderers = Ext.ClassManager.getNamesByExpression(this.aliasPrefix + "*");
     12             var finalRenderers = [], renderer;
     13 
     14             for (var i = 0; i < renderers.length; i++)
     15             {
     16                 renderer = Ext.ClassManager.get(renderers[i]);
     17 
     18                 if (renderer.restrictToEntity && renderer.restrictToEntity instanceof Array)
     19                 {
     20                     if (renderer.restrictToEntity.indexOf(targetEntity) !== -1)
     21                     {
     22                         finalRenderers.push(renderers[i]);
     23                     }
     24                 } else
     25                 {
     26                     finalRenderers.push(renderers[i]);
     27                 }
     28             }
     29 
     30             return finalRenderers;
     31         },
     32         getRType: function (className) {
     33             var aliases = Ext.ClassManager.getAliasesByName(className);
     34 
     35             for (var i=0;i<aliases.length;i++) {
     36                 if (Ext.String.startsWith(aliases[i], this.aliasPrefix)) {
     37                     return aliases[i].substr(this.aliasPrefix.length);
     38                 }
     39             }
     40 
     41             return "";
     42         }
     43     }
     44 });