roojs-all.js
authorAlan Knowles <alan@roojs.com>
Thu, 10 Apr 2014 02:37:04 +0000 (10:37 +0800)
committerAlan Knowles <alan@roojs.com>
Thu, 10 Apr 2014 02:37:04 +0000 (10:37 +0800)
roojs-debug.js

roojs-all.js
roojs-debug.js

index 6966913..132b4c0 100644 (file)
@@ -1208,9 +1208,9 @@ this.fireEvent('monthchange',this,A);},getSelectionModel:function(){if(!this.sel
 B.push(c);});return B;},findBestRow:function(A){var B=0;for(var i=0;i<A.length;i++){B=Math.max(A[i].rows||0,B);}return B;},addItem:function(A){var B=this.findCells(A);A.row=this.findBestRow(B);var C=false;var D=[];for(var i=0;i<B.length;i++){if(!C){C={start:B[i],end:B[i]};continue;}if(C.start.getY()==B[i].getY()){C.end=B[i];continue;}
 D.push(C);C={start:B[i],end:B[i]};}
 D.push(C);A.els=[];A.rows=D;A.cells=B;for(var i=0;i<B.length;i++){B[i].rows=Math.max(B[i].rows||0,A.row+1);}},clearEvents:function(){if(!this.eventStore.getCount()){return;}
-Roo.each(this.cells.elements,function(c){c.rows=0;});this.eventStore.each(function(e){Roo.each(e.els,function(el){el.un('mouseenter',this.onEventEnter,this);el.un('mouseleave',this.onEventLeave,this);el.remove();},this);e.els=[];},this);},renderEvents:function(){if(!this.eventTmpl){this.eventTmpl=new Roo.Template('<div class="roo-dynamic fc-event fc-event-hori fc-event-draggable ui-draggable {fccls} {cls}"  style="position: absolute" unselectable="on">'+'<div class="fc-event-inner">'+'<span class="fc-event-time">{time}</span>'+'<span class="fc-event-title" qtip="{qtip}">{title}</span>'+'</div>'+'<div class="ui-resizable-heandle ui-resizable-e">&nbsp;&nbsp;&nbsp;</div>'+'</div>');}
-this.cells.each(function(c){Roo.log(c.select('.fc-day-content div',true).first());c.select('.fc-day-content div',true).first().setHeight(Math.max(34,(c.rows||1)*20));});var A=this.view.el.select('.fc-event-container',true).first();var B;this.eventStore.each(function(ev){ev.els=[];var C=ev.cells;var D=ev.rows;this.fireEvent('eventrender',this,ev);for(var i=0;i<D.length;i++){B='';if(i==0){B+=' fc-event-start';}if((i+1)==D.length){B+=' fc-event-end';}
-Roo.log(ev.data);var cg=this.eventTmpl.append(A,Roo.apply({fccls:B},ev.data),true);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 E=D[i].start.select('.fc-day-content',true).first().getBox();var F=D[i].end.select('.fc-day-content',true).first().getBox();cg.setXY([E.x+2,E.y+(ev.row*20)]);cg.setWidth(F.right-E.x-2);}},this);this.view.layout();},onEventEnter:function(e,el,A,d){this.fireEvent('evententer',this,el,A);},onEventLeave:function(e,el,A,d){this.fireEvent('eventleave',this,el,A);},onEventClick:function(e,el,A,d){this.fireEvent('eventclick',this,el,A);},onMonthChange:function(){this.store.load();},onLoad:function(){if(this.eventStore.getCount()>0){this.eventStore.each(function(d){var A=d.data;if(typeof(A.end_dt)=='undefined'){Roo.log("Missing End time in calendar data: ");Roo.log(d);return;}if(typeof(A.start_dt)=='undefined'){Roo.log("Missing Start time in calendar data: ");Roo.log(d);return;}
+Roo.each(this.cells.elements,function(c){c.rows=0;});this.eventStore.each(function(e){this.clearEvent(e);},this);},clearEvent:function(ev){if(ev.els){Roo.each(ev.els,function(el){el.un('mouseenter',this.onEventEnter,this);el.un('mouseleave',this.onEventLeave,this);el.remove();},this);ev.els=[];}},renderEvent:function(ev,A){if(!A){A=this.view.el.select('.fc-event-container',true).first();}
+this.clearEvent(ev);ev.els=[];var B=ev.cells;var C=ev.rows;this.fireEvent('eventrender',this,ev);for(var i=0;i<C.length;i++){cls='';if(i==0){cls+=' fc-event-start';}if((i+1)==C.length){cls+=' fc-event-end';}var cg=this.eventTmpl.append(A,Roo.apply({fccls:cls},ev.data),true);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 D=C[i].start.select('.fc-day-content',true).first().getBox();var E=C[i].end.select('.fc-day-content',true).first().getBox();cg.setXY([D.x+2,D.y+(ev.row*20)]);cg.setWidth(E.right-D.x-2);}},renderEvents:function(){if(!this.eventTmpl){this.eventTmpl=new Roo.Template('<div class="roo-dynamic fc-event fc-event-hori fc-event-draggable ui-draggable {fccls} {cls}"  style="position: absolute" unselectable="on">'+'<div class="fc-event-inner">'+'<span class="fc-event-time">{time}</span>'+'<span class="fc-event-title" qtip="{qtip}">{title}</span>'+'</div>'+'<div class="ui-resizable-heandle ui-resizable-e">&nbsp;&nbsp;&nbsp;</div>'+'</div>');}
+this.cells.each(function(c){Roo.log(c.select('.fc-day-content div',true).first());c.select('.fc-day-content div',true).first().setHeight(Math.max(34,(c.rows||1)*20));});var A=this.view.el.select('.fc-event-container',true).first();var B;this.eventStore.each(function(ev){this.renderEvent(ev);},this);this.view.layout();},onEventEnter:function(e,el,A,d){this.fireEvent('evententer',this,el,A);},onEventLeave:function(e,el,A,d){this.fireEvent('eventleave',this,el,A);},onEventClick:function(e,el,A,d){this.fireEvent('eventclick',this,el,A);},onMonthChange:function(){this.store.load();},onLoad:function(){if(this.eventStore.getCount()>0){this.eventStore.each(function(d){var A=d.data;if(typeof(A.end_dt)=='undefined'){Roo.log("Missing End time in calendar data: ");Roo.log(d);return;}if(typeof(A.start_dt)=='undefined'){Roo.log("Missing Start time in calendar data: ");Roo.log(d);return;}
 A.start_dt=typeof(A.start_dt)=='string'?Date.parseDate(A.start_dt,'Y-m-d H:i:s'):A.start_dt,A.end_dt=typeof(A.end_dt)=='string'?Date.parseDate(A.end_dt,'Y-m-d H:i:s'):A.end_dt,A.id=A.id||d.id;A.title=A.title||'??';this.addItem(d);},this);}
 this.renderEvents();}});
 //Roo/LoadMask.js
index 537e462..6408470 100644 (file)
@@ -56533,18 +56533,72 @@ Roo.extend(Roo.grid.Calendar, Roo.grid.Grid, {
         });
         
         this.eventStore.each(function(e) {
-            Roo.each(e.els, function(el) {
+            this.clearEvent(e);
+        },this);
+        
+    },
+    
+    clearEvent : function(ev)
+    {
+        if (ev.els) {
+            Roo.each(ev.els, function(el) {
                 el.un('mouseenter' ,this.onEventEnter, this);
                 el.un('mouseleave' ,this.onEventLeave, this);
                 el.remove();
             },this);
-            e.els = [];
-        },this);
-        
+            ev.els = [];
+        }
     },
     
     
-    
+    renderEvent : function(ev,ctr) {
+        if (!ctr) {
+             ctr = this.view.el.select('.fc-event-container',true).first();
+        }
+        
+         
+        this.clearEvent(ev);
+            //code
+       
+        
+        
+        ev.els = [];
+        var cells = ev.cells;
+        var rows = ev.rows;
+        this.fireEvent('eventrender', this, ev);
+        
+        for(var i =0; i < rows.length; i++) {
+            
+            cls = '';
+            if (i == 0) {
+                cls += ' fc-event-start';
+            }
+            if ((i+1) == rows.length) {
+                cls += ' fc-event-end';
+            }
+            
+            //Roo.log(ev.data);
+            // how many rows should it span..
+            var cg = this.eventTmpl.append(ctr,Roo.apply({
+                fccls : cls
+                
+            }, ev.data) , true);
+            
+            
+            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);
+        }
+    },
     
     renderEvents: function()
     {   
@@ -56575,44 +56629,9 @@ Roo.extend(Roo.grid.Calendar, Roo.grid.Grid, {
         var cls;
         this.eventStore.each(function(ev){
             
-            ev.els = [];
-            var cells = ev.cells;
-            var rows = ev.rows;
-            this.fireEvent('eventrender', this, ev);
-            
-            for(var i =0; i < rows.length; i++) {
-                
-                cls = '';
-                if (i == 0) {
-                    cls += ' fc-event-start';
-                }
-                if ((i+1) == rows.length) {
-                    cls += ' fc-event-end';
-                }
-                
-                Roo.log(ev.data);
-                // how many rows should it span..
-                var cg = this.eventTmpl.append(ctr,Roo.apply({
-                    fccls : cls
-                    
-                }, ev.data) , true);
-                
-                
-                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);
-            }
-            
-            
+            this.renderEvent(ev);
+             
+             
         }, this);
         this.view.layout();