DataObjects/core.sql
[Pman.Core] / Pman.js
diff --git a/Pman.js b/Pman.js
index ebbbb63..a444578 100644 (file)
--- a/Pman.js
+++ b/Pman.js
@@ -19,8 +19,22 @@ if (typeof(_T) == 'undefined') { _T={};}
  
 
 
-Roo.XComponent.on('register', function(e) { return Pman.xregister(e); });
-Roo.XComponent.on('buildComplete', function(e) { return Pman.finalize(); });
+Roo.XComponent.on('register', function(e) { if (typeof(Pman) != 'undefined') { return Pman.xregister(e); } });
+Roo.XComponent.on('buildComplete',  
+     function() {
+                    
+        Pman.layout.getRegion('center').showPanel(0);
+        Pman.layout.endUpdate(); 
+        Pman.addTopToolbar();  
+        Pman.finalize();
+        Pman.fireEvent('load',this);
+        
+        if (!Pman.layout.getRegion('south').panels.length) {
+            Pman.layout.getRegion('south').hide();
+        }
+    
+    
+} );
 
 //Roo.debug = 1;
   
@@ -102,7 +116,7 @@ Pman = new Roo.Document(
         
     },
    
-    fakeRoot :  {
+    fakeRoot :  new Roo.XComponent( {
         modKey : '000',
         module : 'Pman',
         region : 'center',
@@ -110,8 +124,9 @@ Pman = new Roo.Document(
         isTop : true,
         name : "Pman Base",
         disabled : false, 
-        permname: '' 
-    },
+        permname: '' ,
+        render : function (el) { this.el = this.layout; }
+    }),
     
     layout: false,
     
@@ -159,13 +174,14 @@ Pman = new Roo.Document(
             }
             
         });
-        
-        
+        this.fakeRoot.layout = this.layout;
+        /*
         Pman.register( Roo.apply(this.fakeRoot, {
             layout : this.layout      
                 
                                  
         } ) );
+        */
         
         // creates all the modules ready to load..
         
@@ -205,23 +221,8 @@ Pman = new Roo.Document(
         this.layout.beginUpdate();
         
         Pman.building = true;
-        
-        this.buildModules(this, 
-            function() {
-                
-                _this.layout.getRegion('center').showPanel(0);
-                _this.layout.endUpdate(); 
-                _this.addTopToolbar();  
-                _this.finalize();
-                _this.fireEvent('load',this);
-                
-                if (!_this.layout.getRegion('south').panels.length) {
-                    _this.layout.getRegion('south').hide();
-                }
-                
-                
-            }
-        );
+        Roo.XComponent.build();
+         
         
         
      
@@ -838,7 +839,8 @@ Pman = new Roo.Document(
         }
         
         
-        if (obj.parent === Pman) {
+        if (obj.parent === Pman || obj.parent  == 'Pman') {
+            Roo.log("PARENT OF : " + obj.name + " replacing with fake");
             obj.parent = Pman.fakeRoot;
         }
         
@@ -919,12 +921,15 @@ Pman = new Roo.Document(
            // honour DEPRICATED permname setings..
            // new code should use PART name, and matching permissions.
             if (this.permname && this.permname.length) {
-                if (Pman.hasPerm(this.permname, 'S')) {
-                   this.add(this.parent.layout, this.region);    
+                if (!Pman.hasPerm(this.permname, 'S')) {
+                    return;
                 }
-                return;
+                
             }
-            this.add(this.parent.layout, this.region);    
+            this.add(this.parent.layout, this.region);
+            this.el = this.layout;
+            
+            
               
         };
         // map some of the standard properties..
@@ -941,121 +946,8 @@ Pman = new Roo.Document(
         
         // this will call xregister as it's the on.register handler..
         Roo.XComponent.register(obj.isTop ? obj : Roo.apply(obj.module, obj));
-        /*
-        
-        
-        if (obj.disabled) {
-            return;
-        }
          
-        if (!obj.parent.modules) {
-            obj.parent.modules = new Roo.util.MixedCollection(false, function(o) { return o.modKey });
-        }
-        
-        obj.parent.modules.add(obj);
-        */
-    },
-    
-    
-    buildModules : function(parent, onComplete) 
-    {
-        Roo.XComponent.build();
-        /*
-        var _this = this;
-        var cmp = function(a,b) {   
-            return String(a).toUpperCase() > String(b).toUpperCase() ? 1 : -1;
-            
-        };
-        if (!parent.modules) {
-            return;
-        }
-        parent.modules.keySort('ASC',  cmp );
-        var mods = [];
-        
-        
-        // add modules to their parents..
-        var addMod = function(m) {
-           // console.log(m.modKey);
-            
-            mods.push(m);
-            if (m.module.modules) {
-                m.module.modules.keySort('ASC',  cmp );
-                m.module.modules.each(addMod);
-            }
-            if (m.finalize) {
-                m.finalize.name = m.name + " (clean up) ";
-                mods.push(m.finalize);
-            }
-            
-        }
-        parent.modules.each(addMod);
-        //this.allmods = mods;
-        //console.log(mods);
-        //return;
-        if (!mods.length) {
-            if (onComplete) onComplete();
-            return;
-        }
-        // flash it up as modal - so we store the mask!?
-        Roo.MessageBox.show({ title: 'loading' });
-        Roo.MessageBox.show({
-           title: "Please wait...",
-           msg: "Building Interface...",
-           width:450,
-           progress:true,
-           closable:false,
-           modal: false
-          
-        });
-        var n = 0;
-        var progressRun = function() {
-            
-            var mod = mods[n];
-            
-            
-            Roo.MessageBox.updateProgress(
-                (n+1)/mods.length,  "Building Interface " + (n+1) + 
-                    " of " + mods.length + 
-                    (mod.name ? (' - ' + mod.name) : '')
-                    );
-            
-            
-            
-            if (typeof(mod) == 'function') {
-                mod();
-                
-            } else  if (typeof(mod.region) == 'undefined') {
-                Roo.log("Module does not have region defined, skipping");
-                Roo.log(mod);
-                
-            } else  if (mod.parent.layout && !mod.module.disabled) {
-                // honour permname setings..
-                if (mod.permname && mod.permname.length) {
-                    if (Pman.hasPerm(mod.permname, 'S')) {
-                        mod.module.add(mod.parent.layout, mod.region);    
-                    }
-                } else {
-                    mod.module.add(mod.parent.layout, mod.region);    
-                } 
-            }
-            
-            
-            n++;
-            if (n >= mods.length) {
-                onComplete();  
-                return;
-            }
-                
-            
-            progressRun.defer(10, Pman);    
-        }
-        progressRun.defer(1, Pman);
-        */
-        
-        
-    },
-    
+    } ,
     invertColor : function(c)
     {
         // read..