[Jifty-commit] r2312 - in jifty/trunk: share/web/static/js

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Sun Dec 3 21:49:50 EST 2006


Author: trs
Date: Sun Dec  3 21:49:50 2006
New Revision: 2312

Modified:
   jifty/trunk/   (props changed)
   jifty/trunk/share/web/static/js/calendar.js

Log:
 r17857 at zot:  tom | 2006-12-03 20:14:47 -0500
 Checkpoint -- existing functionality (minus selecting OOM dates) is now back with 0.12


Modified: jifty/trunk/share/web/static/js/calendar.js
==============================================================================
--- jifty/trunk/share/web/static/js/calendar.js	(original)
+++ jifty/trunk/share/web/static/js/calendar.js	Sun Dec  3 21:49:50 2006
@@ -13,7 +13,6 @@
         return true;
     },
 
-    dateFormat: "Y-m-d",
     dateRegex: /^(\d{4})\W(\d{2})\W(\d{2})/,
     
     Options: {
@@ -55,43 +54,39 @@
             var bits = input.value.match(Jifty.Calendar.dateRegex);
             cal = new YAHOO.widget.Calendar( calId,
                                              wrapId,
-                                             bits[2]+"/"+bits[1],
-                                             bits[2]+"/"+bits[3]+"/"+bits[1]
+                                             { pagedate: bits[2]+"/"+bits[1],
+                                               selected: bits[2]+"/"+bits[3]+"/"+bits[1] }
                                             );
         }
         else {
             cal = new YAHOO.widget.Calendar( calId, wrapId );
         }
         
-
-        cal["customConfig"] = function(){ 
-            for (i in Jifty.Calendar.Options) {
-                this.Options[i] = Jifty.Calendar.Options[i];
-            } 
-        };
-
-        cal["onSelect"] = function() {
-            input.value = cal.getSelectedDates()[0].formatDate(Jifty.Calendar.dateFormat);
-            Jifty.Calendar.hideOpenCalendar();
-            Form.Element.validate(input); // We can't trigger an onBlur, so canonicalize/validate manually
-        };
-
-        cal["_onChangePage"] = cal["onChangePage"];
-        cal["onChangePage"]  = function() {
-            Jifty.Calendar._blurredCalendar = null;
-            cal["_onChangePage"]();
-        };
+        cal.cfg.applyConfig( Jifty.Calendar.Options );
+        cal.cfg.fireQueue();
+        
+        cal.selectEvent.subscribe( Jifty.Calendar.handleSelect, { event: ev, calendar: cal }, true );
+        cal.changePageEvent.subscribe( function() { Jifty.Calendar._blurredCalendar = null; }, null, false );
         
-        cal.setupConfig();
         cal.render();
 
         Jifty.Calendar.openCalendar = wrapId;
         Jifty.Utils.scrollToShow( wrapId );
         /*Jifty.Calendar.preventStutter = wrapId;*/
-        /* IE fix */
-        if ( navigator.userAgent.toLowerCase().indexOf("msie") >= 0 && navigator.appVersion.indexOf("MSIE 7") < 0 ) { 
-            wrap.appendChild(document.createElement("iframe"));
-        }
+    },
+
+    handleSelect: function(type, args, obj) {
+        // args = [ [ [yyyy, mm, dd] ] ]
+        var year  = args[0][0][0],
+            month = args[0][0][1],
+            day   = args[0][0][2];
+
+        var input = obj.event.target;
+        
+        input.value = year + "-" + month + "-" + day;
+
+        Jifty.Calendar.hideOpenCalendar();
+        Form.Element.validate( input ); // We can't trigger an onBlur, so canonicalize/validate manually
     },
 
     openCalendar: "",


More information about the Jifty-commit mailing list