major doc changes
[roojs1] / Roo / bootstrap / Calendar.js
index 0f570f1..e82ac32 100644 (file)
@@ -65,6 +65,11 @@ Roo.bootstrap.Calendar = function(config){
 
 Roo.extend(Roo.bootstrap.Calendar, Roo.bootstrap.Component,  {
     
+         /**
+     * @cfg {Roo.data.Store} store
+     * The data source for the calendar
+     */
+       store : false,
      /**
      * @cfg {Number} startDay
      * Day index at which the week should begin, 0-based (defaults to 0, which is Sunday)
@@ -198,7 +203,7 @@ Roo.extend(Roo.bootstrap.Calendar, Roo.bootstrap.Component,  {
         };
         var cal_rows = function() {
             
-            var ret = []
+            var ret = [];
             for (var r = 0; r < 6; r++) {
                 var row= {
                     tag : 'tr',
@@ -298,7 +303,7 @@ Roo.extend(Roo.bootstrap.Calendar, Roo.bootstrap.Component,  {
                     cn: [
                         {
                             tag: "img",
-                            src: rootURL + '/roojs1/images/ux/lightbox/loading.gif'
+                            src: Roo.rootURL + '/images/ux/lightbox/loading.gif' 
                         },
                         {
                             tag: "span",
@@ -308,7 +313,7 @@ Roo.extend(Roo.bootstrap.Calendar, Roo.bootstrap.Component,  {
                     ]
                 }
             ]
-        }
+        };
         this.maskEl = Roo.DomHelper.append(this.el.select('.fc-content', true).first(), mark, true);
         
         var size = this.el.select('.fc-content', true).first().getSize();
@@ -443,7 +448,6 @@ Roo.extend(Roo.bootstrap.Calendar, Roo.bootstrap.Component,  {
             cell.row = 0;
             cell.events = [];
             cell.more = [];
-            cell.inhertance = 0;
             //Roo.log('set Cell Class');
             cell.title = "";
             var t = d.getTime();
@@ -619,11 +623,10 @@ Roo.extend(Roo.bootstrap.Calendar, Roo.bootstrap.Component,  {
         var rows = [];
         for(var i =0; i < cells.length; i++) {
             
-            cells[i].inhertance = cells[i].inhertance + 1;
+            cells[i].row = cells[0].row;
             
             if(i == 0){
                 cells[i].row = cells[i].row + 1;
-                cells[i].inhertance = cells[i].inhertance - 1;
             }
             
             if (!crow) {
@@ -654,17 +657,6 @@ Roo.extend(Roo.bootstrap.Calendar, Roo.bootstrap.Component,  {
         
         cells[0].events.push(ev);
         
-//        if((typeof(cells[0].events) == 'undefined')){
-//            cells[0].events = [];
-//        }
-//        
-//        cells[0].events.push(ev);
-//        ev.rendered = false;
-//        for (var i = 0; i < cells.length;i++) {
-//            cells[i].rows = Math.max(cells[i].rows || 0 , ev.row + 1 );
-//            
-//        }
-        
         this.calevents.push(ev);
     },
     
@@ -695,144 +687,40 @@ Roo.extend(Roo.bootstrap.Calendar, Roo.bootstrap.Component,  {
     },
     
     renderEvents: function()
-    {  
-//        for (var e = 0; e < this.calevents.length; e++) {
-//            
-//            var ev = this.calevents[e];
-//            var cells = ev.cells;
-//            var rows = ev.rows;
-//            
-//            for (var j = 0; j < cells.length; j++){
-//            
-//                if(!cells[j].more.length){
-//                    cells[j].row++;
-//                }
-//                if(cells[j].row > 3){
-//                    cells[j].more.push(ev);
-//                    continue;
-//                }
-//                
-//                cells[j].events.push(ev);
-//            }
-//        }
-            
-//            for (var i = 0; i < rows.length; i++){
-//                // how many rows should it span..
-//
-//                var  cfg = {
-//                    cls : 'roo-dynamic fc-event fc-event-hori fc-event-draggable ui-draggable',
-//                    style : 'position: absolute', // left: 387px; width: 121px; top: 359px;
-//
-//                    unselectable : "on",
-//                    cn : [
-//                        {
-//                            cls: 'fc-event-inner',
-//                            cn : [
-////                                {
-////                                  tag:'span',
-////                                  cls: 'fc-event-time',
-////                                  html : cells.length > 1 ? '' : ev.time
-////                                },
-//                                {
-//                                  tag:'span',
-//                                  cls: 'fc-event-title',
-//                                  html : String.format('{0}', ev.title)
-//                                }
-//
-//
-//                            ]
-//                        },
-//                        {
-//                            cls: 'ui-resizable-handle ui-resizable-e',
-//                            html : '&nbsp;&nbsp;&nbsp'
-//                        }
-//
-//                    ]
-//                };
-//
-//                if (i == 0) {
-//                    cfg.cls += ' fc-event-start';
-//                }
-//                if ((i+1) == rows.length) {
-//                    cfg.cls += ' fc-event-end';
-//                }
-//
-//                var ctr = this.el.select('.fc-event-container',true).first();
-//                var cg = ctr.createChild(cfg);
-//
-//                var sbox = rows[i].start.select('.fc-day-content',true).first().getBox();
-//                var ebox = rows[i].end.select('.fc-day-content',true).first().getBox();
-//
-//                cg.setXY([sbox.x +2, sbox.y +(e * 20)]);    
-//                cg.setWidth(ebox.right - sbox.x -2);
-//
-//                cg.on('mouseenter' ,this.onEventEnter, this, ev);
-//                cg.on('mouseleave' ,this.onEventLeave, this, ev);
-//                cg.on('click', this.onEventClick, this, ev);
-//
-//                ev.els.push(cg);
-//
-//                
-//            }
-//        }
-        
+    {   
         var _this = this;
         
         this.cells.each(function(c) {
-            if(c.inhertance > 4){
-                c.more = c.events;
-                c.events = [];
-                return;
-            }
-            
-            var totalRow = c.inhertance + c.row;
             
-            if(totalRow < 5){
+            if(c.row < 5){
                 return;
             }
             
-            var moreRow = 3 - c.inhertance;
-            
             var ev = c.events;
             
-            c.events = ev.slice(0, moreRow);
-            c.more = ev.slice(moreRow);
+            var r = 4;
+            if(c.row != c.events.length){
+                r = 4 - (4 - (c.row - c.events.length));
+            }
             
-            c.row = c.events.length + 1;
+            c.events = ev.slice(0, r);
+            c.more = ev.slice(r);
             
             if(c.more.length && c.more.length == 1){
                 c.events.push(c.more.pop());
             }
             
+            c.row = (c.row - ev.length) + c.events.length + ((c.more.length) ? 1 : 0);
+            
         });
             
-//        for (var e = 0; e < this.calevents.length; e++) {
-//            
-//            var ev = this.calevents[e];
-//            var cells = ev.cells;
-//            var rows = ev.rows;
-//            
-//            for(var i = 0; i < cells.length; i++){
-//                
-//                var cbox = this.cells.item(this.cells.indexOf(cells[i]));
-//                
-//                if(cells.length < 2 && cbox.rows.length > 3){
-//                    cbox.more.push(ev);
-//                    continue;
-//                }
-//                
-//                cbox.rows.push(ev);
-//            }
-//        }
-//        
         this.cells.each(function(c) {
             
-            c.select('.fc-day-content div',true).first().setHeight(Math.max(34, (c.inhertance + c.row) * 20));
+            c.select('.fc-day-content div',true).first().setHeight(Math.max(34, c.row * 20));
             
             
             for (var e = 0; e < c.events.length; e++){
                 var ev = c.events[e];
-                
                 var rows = ev.rows;
                 
                 for(var i = 0; i < rows.length; i++) {
@@ -883,7 +771,8 @@ Roo.extend(Roo.bootstrap.Calendar, Roo.bootstrap.Component,  {
                     var sbox = rows[i].start.select('.fc-day-content',true).first().getBox();
                     var ebox = rows[i].end.select('.fc-day-content',true).first().getBox();
 
-                    cg.setXY([sbox.x +2, sbox.y +(e * 20)]);    
+                    var r = (c.more.length) ? 1 : 0;
+                    cg.setXY([sbox.x +2, sbox.y + ((c.row - c.events.length - r + e) * 20)]);    
                     cg.setWidth(ebox.right - sbox.x -2);
 
                     cg.on('mouseenter' ,_this.onEventEnter, _this, ev);
@@ -929,7 +818,7 @@ Roo.extend(Roo.bootstrap.Calendar, Roo.bootstrap.Component,  {
                 var sbox = c.select('.fc-day-content',true).first().getBox();
                 var ebox = c.select('.fc-day-content',true).first().getBox();
                 //Roo.log(cg);
-                cg.setXY([sbox.x +2, sbox.y +((c.inhertance + c.row) * 20)]);    
+                cg.setXY([sbox.x +2, sbox.y +((c.row - 1) * 20)]);    
                 cg.setWidth(ebox.right - sbox.x -2);
 
                 cg.on('click', _this.onMoreEventClick, _this, c.more);
@@ -973,7 +862,7 @@ Roo.extend(Roo.bootstrap.Calendar, Roo.bootstrap.Component,  {
             var cfg = {
                 cls : 'fc-event-hori fc-event-draggable',
                 html : m.title
-            }
+            };
             var cg = ctr.createChild(cfg);
             
             cg.on('click', _this.onEventClick, _this, m);