summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/src/com/vaadin/client/ui/VCalendarPanel.java24
-rw-r--r--client/src/com/vaadin/client/ui/datefield/PopupDateFieldConnector.java9
2 files changed, 18 insertions, 15 deletions
diff --git a/client/src/com/vaadin/client/ui/VCalendarPanel.java b/client/src/com/vaadin/client/ui/VCalendarPanel.java
index 1f40298760..58e0448b5f 100644
--- a/client/src/com/vaadin/client/ui/VCalendarPanel.java
+++ b/client/src/com/vaadin/client/ui/VCalendarPanel.java
@@ -2215,11 +2215,13 @@ public class VCalendarPanel extends FocusableFlexTable implements
* - the allowed range's start date
*/
public void setRangeStart(Date rangeStart) {
- this.rangeStart = rangeStart;
- if (initialRenderDone) {
- // Dynamic updates to the range needs to render the calendar to
- // update the element stylenames
- renderCalendar();
+ if (this.rangeStart != rangeStart) {
+ this.rangeStart = rangeStart;
+ if (initialRenderDone) {
+ // Dynamic updates to the range needs to render the calendar to
+ // update the element stylenames
+ renderCalendar();
+ }
}
}
@@ -2232,11 +2234,13 @@ public class VCalendarPanel extends FocusableFlexTable implements
* - the allowed range's end date
*/
public void setRangeEnd(Date rangeEnd) {
- this.rangeEnd = rangeEnd;
- if (initialRenderDone) {
- // Dynamic updates to the range needs to render the calendar to
- // update the element stylenames
- renderCalendar();
+ if (this.rangeEnd != rangeEnd) {
+ this.rangeEnd = rangeEnd;
+ if (initialRenderDone) {
+ // Dynamic updates to the range needs to render the calendar to
+ // update the element stylenames
+ renderCalendar();
+ }
}
}
}
diff --git a/client/src/com/vaadin/client/ui/datefield/PopupDateFieldConnector.java b/client/src/com/vaadin/client/ui/datefield/PopupDateFieldConnector.java
index 627478ebe5..f018caefa5 100644
--- a/client/src/com/vaadin/client/ui/datefield/PopupDateFieldConnector.java
+++ b/client/src/com/vaadin/client/ui/datefield/PopupDateFieldConnector.java
@@ -77,9 +77,6 @@ public class PopupDateFieldConnector extends TextualDateConnector {
String oldLocale = getWidget().getCurrentLocale();
- boolean lastReadOnlyState = getWidget().isReadonly();
- boolean lastEnabledState = getWidget().isEnabled();
-
getWidget().parsable = uidl.getBooleanAttribute("parsable");
super.updateFromUIDL(uidl, client);
@@ -92,7 +89,8 @@ public class PopupDateFieldConnector extends TextualDateConnector {
.getCurrentResolution()) {
getWidget().calendar.setResolution(getWidget()
.getCurrentResolution());
- if (getWidget().calendar.getDate() != null) {
+ if (getWidget().calendar.getDate() != null
+ && getWidget().getCurrentDate() != null) {
getWidget().calendar.setDate((Date) getWidget()
.getCurrentDate().clone());
// force re-render when changing resolution only
@@ -101,7 +99,7 @@ public class PopupDateFieldConnector extends TextualDateConnector {
}
// Force re-render of calendar if locale has changed (#12153)
- if (getWidget().getCurrentLocale() != oldLocale) {
+ if (!getWidget().getCurrentLocale().equals(oldLocale)) {
getWidget().calendar.renderCalendar();
}
@@ -113,6 +111,7 @@ public class PopupDateFieldConnector extends TextualDateConnector {
.setFocusChangeListener(new FocusChangeListener() {
@Override
public void focusChanged(Date date) {
+
getWidget().updateValue(date);
getWidget().buildDate();
Date date2 = getWidget().calendar.getDate();