summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenri Sara <hesara@vaadin.com>2016-07-14 15:22:39 +0300
committerHenri Sara <hesara@vaadin.com>2016-08-11 17:01:35 +0300
commit8b8752c520c9d2d1f0673b7edf95e56eaeea160f (patch)
treef9421e5251e3bd4d683f3cbdbdd6acb860dbb5b7
parent5c852b41ff22409e9f69d634f2de5df69b7815c0 (diff)
downloadvaadin-framework-8b8752c520c9d2d1f0673b7edf95e56eaeea160f.tar.gz
vaadin-framework-8b8752c520c9d2d1f0673b7edf95e56eaeea160f.zip
Use shared state for OptionGroup htmlContentAllowed
Change-Id: I626165e19a1b634bd27b2e25efab88066552b190
-rw-r--r--client/src/main/java/com/vaadin/client/ui/VOptionGroup.java17
-rw-r--r--client/src/main/java/com/vaadin/client/ui/optiongroup/OptionGroupConnector.java4
-rw-r--r--server/src/main/java/com/vaadin/ui/OptionGroup.java19
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/optiongroup/OptionGroupConstants.java1
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/optiongroup/OptionGroupState.java4
5 files changed, 23 insertions, 22 deletions
diff --git a/client/src/main/java/com/vaadin/client/ui/VOptionGroup.java b/client/src/main/java/com/vaadin/client/ui/VOptionGroup.java
index 9a28111dc5..a3c9f069b3 100644
--- a/client/src/main/java/com/vaadin/client/ui/VOptionGroup.java
+++ b/client/src/main/java/com/vaadin/client/ui/VOptionGroup.java
@@ -85,8 +85,7 @@ public class VOptionGroup extends VOptionGroupBase implements FocusHandler,
*/
private boolean blurOccured = false;
- /** For internal use only. May be removed or replaced in the future. */
- public boolean htmlContentAllowed = false;
+ private boolean htmlContentAllowed = false;
private boolean wasHtmlContentAllowed = false;
private boolean wasMultiselect = false;
@@ -136,7 +135,7 @@ public class VOptionGroup extends VOptionGroupBase implements FocusHandler,
final UIDL opUidl = (UIDL) it.next();
String itemHtml = opUidl.getStringAttribute("caption");
- if (!htmlContentAllowed) {
+ if (!isHtmlContentAllowed()) {
itemHtml = WidgetUtil.escapeHTML(itemHtml);
}
@@ -151,7 +150,7 @@ public class VOptionGroup extends VOptionGroupBase implements FocusHandler,
// Need to recreate object if isMultiselect is changed (#10451)
// OR if htmlContentAllowed changed due to Safari 5 issue
- if ((op == null) || (htmlContentAllowed != wasHtmlContentAllowed)
+ if ((op == null) || (isHtmlContentAllowed() != wasHtmlContentAllowed)
|| (isMultiselect() != wasMultiselect)) {
// Create a new element
if (isMultiselect()) {
@@ -193,7 +192,7 @@ public class VOptionGroup extends VOptionGroupBase implements FocusHandler,
}
}
- wasHtmlContentAllowed = htmlContentAllowed;
+ wasHtmlContentAllowed = isHtmlContentAllowed();
wasMultiselect = isMultiselect();
}
@@ -308,4 +307,12 @@ public class VOptionGroup extends VOptionGroupBase implements FocusHandler,
});
}
}
+
+ public boolean isHtmlContentAllowed() {
+ return htmlContentAllowed;
+ }
+
+ public void setHtmlContentAllowed(boolean htmlContentAllowed) {
+ this.htmlContentAllowed = htmlContentAllowed;
+ }
}
diff --git a/client/src/main/java/com/vaadin/client/ui/optiongroup/OptionGroupConnector.java b/client/src/main/java/com/vaadin/client/ui/optiongroup/OptionGroupConnector.java
index f9bdf455f6..6035d5ad26 100644
--- a/client/src/main/java/com/vaadin/client/ui/optiongroup/OptionGroupConnector.java
+++ b/client/src/main/java/com/vaadin/client/ui/optiongroup/OptionGroupConnector.java
@@ -26,7 +26,6 @@ import com.vaadin.client.UIDL;
import com.vaadin.client.ui.VOptionGroup;
import com.vaadin.shared.EventId;
import com.vaadin.shared.ui.Connect;
-import com.vaadin.shared.ui.optiongroup.OptionGroupConstants;
import com.vaadin.shared.ui.optiongroup.OptionGroupState;
import com.vaadin.ui.OptionGroup;
@@ -35,9 +34,6 @@ public class OptionGroupConnector extends OptionGroupBaseConnector {
@Override
public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {
- getWidget().htmlContentAllowed = uidl
- .hasAttribute(OptionGroupConstants.HTML_CONTENT_ALLOWED);
-
super.updateFromUIDL(uidl, client);
getWidget().sendFocusEvents = client.hasEventListeners(this,
diff --git a/server/src/main/java/com/vaadin/ui/OptionGroup.java b/server/src/main/java/com/vaadin/ui/OptionGroup.java
index a8d0e61a97..af2afeb4ad 100644
--- a/server/src/main/java/com/vaadin/ui/OptionGroup.java
+++ b/server/src/main/java/com/vaadin/ui/OptionGroup.java
@@ -44,7 +44,6 @@ public class OptionGroup extends AbstractSelect implements
FieldEvents.BlurNotifier, FieldEvents.FocusNotifier {
private Set<Object> disabledItemIds = new HashSet<Object>();
- private boolean htmlContentAllowed = false;
public OptionGroup() {
super();
@@ -63,14 +62,6 @@ public class OptionGroup extends AbstractSelect implements
}
@Override
- public void paintContent(PaintTarget target) throws PaintException {
- if (isHtmlContentAllowed()) {
- target.addAttribute(OptionGroupConstants.HTML_CONTENT_ALLOWED, true);
- }
- super.paintContent(target);
- }
-
- @Override
protected void paintItem(PaintTarget target, Object itemId)
throws PaintException {
super.paintItem(target, itemId);
@@ -242,8 +233,7 @@ public class OptionGroup extends AbstractSelect implements
* text
*/
public void setHtmlContentAllowed(boolean htmlContentAllowed) {
- this.htmlContentAllowed = htmlContentAllowed;
- markAsDirty();
+ getState().htmlContentAllowed = htmlContentAllowed;
}
/**
@@ -254,7 +244,7 @@ public class OptionGroup extends AbstractSelect implements
* @see #setHtmlContentAllowed(boolean)
*/
public boolean isHtmlContentAllowed() {
- return htmlContentAllowed;
+ return getState(false).htmlContentAllowed;
}
@Override
@@ -293,4 +283,9 @@ public class OptionGroup extends AbstractSelect implements
protected OptionGroupState getState() {
return (OptionGroupState) super.getState();
}
+
+ @Override
+ protected OptionGroupState getState(boolean markAsDirty) {
+ return (OptionGroupState) super.getState(markAsDirty);
+ }
}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/optiongroup/OptionGroupConstants.java b/shared/src/main/java/com/vaadin/shared/ui/optiongroup/OptionGroupConstants.java
index 5670b64b38..c3545c9deb 100644
--- a/shared/src/main/java/com/vaadin/shared/ui/optiongroup/OptionGroupConstants.java
+++ b/shared/src/main/java/com/vaadin/shared/ui/optiongroup/OptionGroupConstants.java
@@ -18,7 +18,6 @@ package com.vaadin.shared.ui.optiongroup;
import java.io.Serializable;
public class OptionGroupConstants implements Serializable {
- public static final String HTML_CONTENT_ALLOWED = "usehtml";
public static final String ATTRIBUTE_OPTION_DISABLED = "disabled";
}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/optiongroup/OptionGroupState.java b/shared/src/main/java/com/vaadin/shared/ui/optiongroup/OptionGroupState.java
index f1676e0dd8..baa4148d97 100644
--- a/shared/src/main/java/com/vaadin/shared/ui/optiongroup/OptionGroupState.java
+++ b/shared/src/main/java/com/vaadin/shared/ui/optiongroup/OptionGroupState.java
@@ -15,6 +15,7 @@
*/
package com.vaadin.shared.ui.optiongroup;
+import com.vaadin.shared.annotations.DelegateToWidget;
import com.vaadin.shared.ui.select.AbstractSelectState;
/**
@@ -26,4 +27,7 @@ public class OptionGroupState extends AbstractSelectState {
{
primaryStyleName = "v-select-optiongroup";
}
+
+ @DelegateToWidget
+ public boolean htmlContentAllowed = false;
}