Revision: 3809
          http://vexi.svn.sourceforge.net/vexi/?rev=3809&view=rev
Author:   clrg
Date:     2010-02-26 14:34:35 +0000 (Fri, 26 Feb 2010)

Log Message:
-----------
Allow shorter date strings e.g. 1 or 2 numbers

Modified Paths:
--------------
    trunk/widgets/org.vexi.widgets/src/vexi/util/date.t

Modified: trunk/widgets/org.vexi.widgets/src/vexi/util/date.t
===================================================================
--- trunk/widgets/org.vexi.widgets/src/vexi/util/date.t 2010-02-26 13:20:47 UTC 
(rev 3808)
+++ trunk/widgets/org.vexi.widgets/src/vexi/util/date.t 2010-02-26 14:34:35 UTC 
(rev 3809)
@@ -206,25 +206,26 @@
             for (var c = v.charCodeAt(i); c>57 or 48>c; c = v.charCodeAt(++i)) 
{ /* skip non-numbers */ }
             for (var c = v.charCodeAt(i); m3>j and c>47 and 58>c; c = 
v.charCodeAt(++i)) s2 = s2 + v.charAt(i);
         } catch (e) { throw "unsupported text value for datefield: '"+v+"'"; }
+        var d = !s0 or !s1 or !s2 ? vexi.date() : null;
         // assign values to widget
         switch (format) {
         case "MMDDYYYY":
-            s0 = vexi.string.parseInt(s0, 10);
-            s1 = vexi.string.parseInt(s1, 10);
-            s2 = expandYear(s2);
+            s0 = s0 ? vexi.string.parseInt(s0, 10) : d.getMonth();
+            s1 = s1 ? vexi.string.parseInt(s1, 10) : d.getDay();
+            s2 = s2 ? expandYear(s2) : d.getYear();
             o.day = s1; o.month = s0; o.year = s2;
             break;
         case "YYYYMMDD":
-            s0 = expandYear(s0);
-            s1 = vexi.string.parseInt(s1, 10);
-            s2 = vexi.string.parseInt(s2, 10);
+            s0 = s0 ? expandYear(s0) : d.getYear();
+            s1 = s1 ? vexi.string.parseInt(s1, 10) : d.getMonth();
+            s2 = s2 ? vexi.string.parseInt(s2, 10) : d.getDay();
             o.day = s2; o.month = s1; o.year = s0;
             break;
         case "DDMMYYYY":
         default:
-            s0 = vexi.string.parseInt(s0, 10);
-            s1 = vexi.string.parseInt(s1, 10);
-            s2 = expandYear(s2);
+            s0 = s0 ? vexi.string.parseInt(s0, 10) : d.getDay();
+            s1 = s1 ? vexi.string.parseInt(s1, 10) : d.getMonth();
+            s2 = s2 ? expandYear(s2) : d.getYear();
             o.day = s0; o.month = s1; o.year = s2;
             break;
         }


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Vexi-svn mailing list
Vexi-svn@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/vexi-svn

Reply via email to