buildSDK/dependancy_bootstrap.txt
[roojs1] / roojs-bootstrap-debug.js
index 70980b6..770cb96 100644 (file)
@@ -2322,7 +2322,8 @@ Roo.extend(Roo.bootstrap.Table, Roo.bootstrap.Component,  {
         
         cfg = {
             tag: 'table',
-            cls : 'table'
+            cls : 'table',
+            cn : []
         }
             
         if (this.striped) {
@@ -2382,22 +2383,40 @@ Roo.extend(Roo.bootstrap.Table, Roo.bootstrap.Component,  {
         }
         
         if(this.store || this.cm){
-            cfg.cn = this.initTableGrid();
+            cfg.cn.push(this.renderHeader());
+            cfg.cn.push(this.renderBody());
+            cfg.cn.push(this.renderFooter());
+            
+            cfg.cls+=  ' TableGrid';
         }
         
         return cfg;
     },
-    
-    initTableGrid : function()
-    {
-        var cfg = {};
-        
-        
-//        cfg.push({
+//    
+//    initTableGrid : function()
+//    {
+//        var cfg = {};
+//        
+//        var header = {
 //            tag: 'thead',
-//            
-//        })
-    },
+//            cn : []
+//        };
+//        
+//        var cm = this.cm;
+//        
+//        for(var i = 0, len = cm.getColumnCount(); i < len; i++){
+//            header.cn.push({
+//                tag: 'th',
+//                html: cm.getColumnHeader(i)
+//            })
+//        }
+//        
+//        cfg.push(header);
+//        
+//        return cfg;
+//        
+//        
+//    },
     
     initEvents : function()
     {   
@@ -2405,23 +2424,138 @@ Roo.extend(Roo.bootstrap.Table, Roo.bootstrap.Component,  {
             return;
         }
         
-        Roo.log('initEvents!!!!');
+        Roo.log('initEvents with ds!!!!');
         
-        var tpls = this.templates || {};
+//        this.maskEl = Roo.DomHelper.append(this.el.select('.TableGrid', true).first(), {tag: "div", cls:"x-dlg-mask"}, true);
+//        this.maskEl.enableDisplayMode("block");
+//        this.maskEl.show();
         
+        this.store.on('load', this.onLoad, this);
+        this.store.on('beforeload', this.onBeforeLoad, this);
         
-//        var cm = this.cm;
-//        var colCount = cm.getColumnCount();
-//        
-//        Roo.log(colCount);
-//        
-//        var header = this.renderHeaders();
+        this.store.load();
+        
+        
+        
+    },
+    
+    renderHeader : function()
+    {
+        var header = {
+            tag: 'thead',
+            cn : []
+        };
+        
+        var cm = this.cm;
+        
+        for(var i = 0, len = cm.getColumnCount(); i < len; i++){
+            header.cn.push({
+                tag: 'th',
+                html: cm.getColumnHeader(i)
+            })
+        }
+        
+        return header;
+    },
+    
+    renderBody : function()
+    {
+        var body = {
+            tag: 'tbody',
+            cn : []
+        };
+        
+        return body;
+    },
+    
+    renderFooter : function()
+    {
+        var footer = {
+            tag: 'tfoot',
+            cn : []
+        };
         
+        return footer;
     },
     
-    renderHeaders : function()
+    onLoad : function()
     {
+        Roo.log('ds onload');
+        
+        var cm = this.cm;
+        
+        var tbody = this.el.select('tbody', true).first();
         
+        var renders = [];
+        
+        if(this.store.getCount() > 0){
+            this.store.data.each(function(d){
+                var row = {
+                    tag : 'tr',
+                    cn : []
+                };
+                
+                for(var i = 0, len = cm.getColumnCount(); i < len; i++){
+                    var renderer = cm.getRenderer(i);
+                    var value = '';
+                    var id = Roo.id();
+                    
+                    if(typeof(renderer) !== 'undefined'){
+                        value = renderer(d.data[cm.getDataIndex(i)], false, d);
+                    }
+                    
+                    if(typeof(value) === 'object'){
+                        renders.push({
+                            id : id,
+                            cfg : value 
+                        })
+                    }
+                    
+                    row.cn.push({
+                        tag: 'td',
+                        id: id,
+                        html: (typeof(value) === 'object') ? '' : value
+                    })
+                   
+                }
+                
+                tbody.createChild(row);
+                
+            });
+        }
+        
+        if(renders.length){
+            Roo.each(renders, function(r){
+                r.cfg.render(Roo.get(r.id));
+            })
+        }
+//        
+//        if(this.loadMask){
+//            this.maskEl.hide();
+//        }
+    },
+    
+    onBeforeLoad : function()
+    {
+        Roo.log('ds onBeforeLoad');
+        
+        this.clear();
+        
+//        if(this.loadMask){
+//            this.maskEl.show();
+//        }
+    },
+    
+    clear : function()
+    {
+        this.el.select('tbody', true).first().dom.innerHTML = '';
+    },
+    
+    getSelectionModel : function(){
+        if(!this.selModel){
+            this.selModel = new Roo.bootstrap.Table.RowSelectionModel();
+        }
+        return this.selModel;
     }
    
 });
@@ -7237,6 +7371,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, {
             this.pageTb = new Roo.Toolbar(this.footer);
            
         }
+        */
         if(this.pageSize){
             this.footer = this.list.createChild({cls:cls+'-ft'});
             this.pageTb = new Roo.PagingToolbar(this.footer, this.store,
@@ -7260,7 +7395,7 @@ Roo.extend(Roo.bootstrap.ComboBox, Roo.bootstrap.TriggerField, {
         if (this.footer) {
             this.assetHeight += this.footer.getHeight();
         }
-        */
+        
             
         if(!this.tpl){
             this.tpl = '<li><a href="#">{' + this.displayField + '}</a></li>';
@@ -8980,7 +9115,7 @@ Roo.extend(Roo.bootstrap.Calendar, Roo.bootstrap.Component,  {
         
         this.on('monthchange', this.onMonthChange, this);
         
-        this.update(new Date().clearTime());
+//        this.update(new Date().clearTime());
     },
     
     resize : function() {