]> source.dussan.org Git - vaadin-framework.git/commitdiff
Updates all datefield variables if the value _was_ null, so that the client and sever...
authorMarc Englund <marc.englund@itmill.com>
Mon, 9 Jun 2008 09:51:44 +0000 (09:51 +0000)
committerMarc Englund <marc.englund@itmill.com>
Mon, 9 Jun 2008 09:51:44 +0000 (09:51 +0000)
svn changeset:4807/svn branch:trunk

src/com/itmill/toolkit/terminal/gwt/client/ui/CalendarPanel.java
src/com/itmill/toolkit/terminal/gwt/client/ui/Time.java

index bd185e7192a870298b7051c8202bf9cbceb1f552..b471531e35ecd89185a23358d914813c04d9752e 100644 (file)
@@ -401,15 +401,26 @@ public class CalendarPanel extends FlexTable implements MouseListener,
 \r
             try {\r
                 final Integer day = new Integer(text);\r
-                if (cal.datefield.getCurrentDate() == null) {\r
-                    cal.datefield.setCurrentDate(new Date());\r
-                }\r
                 final Date newDate = cal.datefield.getShowingDate();\r
                 newDate.setDate(day.intValue());\r
                 if (!isEnabledDate(newDate)) {\r
                     return;\r
                 }\r
-                cal.datefield.getCurrentDate().setTime(newDate.getTime());\r
+                if (cal.datefield.getCurrentDate() == null) {\r
+                    cal.datefield.setCurrentDate(new Date(newDate.getTime()));\r
+\r
+                    // Init variables with current time\r
+                    datefield.getClient().updateVariable(cal.datefield.getId(),\r
+                            "hour", newDate.getHours(), false);\r
+                    datefield.getClient().updateVariable(cal.datefield.getId(),\r
+                            "min", newDate.getMinutes(), false);\r
+                    datefield.getClient().updateVariable(cal.datefield.getId(),\r
+                            "sec", newDate.getSeconds(), false);\r
+                    datefield.getClient().updateVariable(cal.datefield.getId(),\r
+                            "msec", datefield.getMilliseconds(), false);\r
+                }\r
+\r
+                // cal.datefield.getCurrentDate().setTime(newDate.getTime());\r
                 cal.datefield.getClient().updateVariable(cal.datefield.getId(),\r
                         "day", cal.datefield.getCurrentDate().getDate(), false);\r
                 cal.datefield.getClient().updateVariable(cal.datefield.getId(),\r
index 63ddd1343cced51e034789e5268186e4c617cdff..ee7b40f2b4d8c065f13fab9480c9e308ef4cce55 100644 (file)
@@ -249,7 +249,28 @@ public class Time extends FlowPanel implements ChangeListener {
     public void onChange(Widget sender) {\r
         if (datefield.getCurrentDate() == null) {\r
             // was null on server, need to set\r
-            datefield.setCurrentDate(new Date());\r
+            Date now = datefield.getShowingDate();\r
+            if (now == null) {\r
+                now = new Date();\r
+                datefield.setShowingDate(now);\r
+            }\r
+            datefield.setCurrentDate(new Date(now.getTime()));\r
+\r
+            // Init variables with current time\r
+            datefield.getClient().updateVariable(datefield.getId(), "year",\r
+                    now.getYear() + 1900, false);\r
+            datefield.getClient().updateVariable(datefield.getId(), "month",\r
+                    now.getMonth() + 1, false);\r
+            datefield.getClient().updateVariable(datefield.getId(), "day",\r
+                    now.getDate(), false);\r
+            datefield.getClient().updateVariable(datefield.getId(), "hour",\r
+                    now.getHours(), false);\r
+            datefield.getClient().updateVariable(datefield.getId(), "min",\r
+                    now.getMinutes(), false);\r
+            datefield.getClient().updateVariable(datefield.getId(), "sec",\r
+                    now.getSeconds(), false);\r
+            datefield.getClient().updateVariable(datefield.getId(), "msec",\r
+                    datefield.getMilliseconds(), false);\r
         }\r
         if (sender == hours) {\r
             int h = hours.getSelectedIndex();\r