try and get ctrl-enter to add a clear all
[roojs1] / Roo / calendar / View.js
index 0744825..67a62c8 100644 (file)
@@ -431,6 +431,8 @@ Roo.extend(Roo.calendar.View, Roo.BoxComponent,  {
             
             cell.dateValue = t;
             
+            cell.className += " fc-cell-" + t;
+            
             if(t == today){
                 cell.className += " fc-today";
                 cell.className += " fc-state-highlight";
@@ -574,16 +576,16 @@ Roo.extend(Roo.calendar.View, Roo.BoxComponent,  {
         return ret;    
     },
     
-//    findBestRow: function(cells)
-//    {
-//        var ret = 0;
-//        
-//        for (var i =0 ; i < cells.length;i++) {
-//            ret  = Math.max(cells[i].rows || 0,ret);
-//        }
-//        return ret;
-//        
-//    },
+    findBestRow: function(cells)
+    {
+        var ret = 0;
+        
+        for (var i =0 ; i < cells.length;i++) {
+            ret  = Math.max(cells[i].rows || 0,ret);
+        }
+        return ret;
+        
+    },
     
     
     addItem : function(ev)
@@ -591,7 +593,7 @@ Roo.extend(Roo.calendar.View, Roo.BoxComponent,  {
         // look for vertical location slot in
         var cells = this.findCells(ev);
         
-//        ev.row = this.findBestRow(cells);
+        ev.row = this.findBestRow(cells);
         
         // work out the location.
         
@@ -623,10 +625,10 @@ Roo.extend(Roo.calendar.View, Roo.BoxComponent,  {
         ev.els = [];
         ev.rows = rows;
         ev.cells = cells;
-//        for (var i = 0; i < cells.length;i++) {
-//            cells[i].rows = Math.max(cells[i].rows || 0 , ev.row + 1 );
-//            
-//        }
+        for (var i = 0; i < cells.length;i++) {
+            cells[i].rows = Math.max(cells[i].rows || 0 , ev.row + 1 );
+            
+        }
         
         this.calevents.push(ev);
     },
@@ -656,8 +658,8 @@ Roo.extend(Roo.calendar.View, Roo.BoxComponent,  {
         // first make sure there is enough space..
         
         this.cells.each(function(c) {
-            c.select('.fc-day-content div',true).first().setHeight(34);
-//            c.select('.fc-day-content div',true).first().setHeight(Math.max(34, c.rows * 20));
+//            c.select('.fc-day-content div',true).first().setHeight(20);
+            c.select('.fc-day-content div',true).first().setHeight(Math.max(34, c.rows * 20));
         });
         
         for (var e = 0; e < this.calevents.length; e++) {
@@ -667,7 +669,8 @@ Roo.extend(Roo.calendar.View, Roo.BoxComponent,  {
             
             for(var i =0; i < rows.length; i++) {
                 
-                 
+                var startCell = Roo.select('.fc-cell-' + rows[i].start.dateValue + ' .fc-day-content div', true).first();
+                
                 // how many rows should it span..
                 
                 var  cfg = {
@@ -703,24 +706,31 @@ Roo.extend(Roo.calendar.View, Roo.BoxComponent,  {
                 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 ctr = this.el.select('.fc-event-container',true).first();
+                var cg = startCell.createChild(cfg);
                 
                 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 sbox = rows[i].start.select('.fc-day-content',true).first().getBox();
                 var ebox = rows[i].end.select('.fc-day-content',true).first().getBox();
-                //Roo.log(cg);
-                cg.setXY([sbox.x +2, sbox.y +(ev.row * 20)]);    
-                cg.setWidth(ebox.right - sbox.x -2);
+//                //Roo.log(cg);
+                cg.setXY([sbox.x +2, sbox.y +(ev.row * 20)]);   
+//                Roo.log(rows[i]);
+                var boxes = Math.ceil((rows[i].end.dateValue - rows[i].start.dateValue) / 86400000) + 1;
+//                cg.setWidth(ebox.right - sbox.x -2);
+//                Roo.log(boxes);
+                cg.setWidth(134 * boxes);
+//                cg.setWidth(134);
+                
             }