diff options
author | Henri Sara <hesara@vaadin.com> | 2016-07-14 15:22:39 +0300 |
---|---|---|
committer | Henri Sara <hesara@vaadin.com> | 2016-08-11 17:01:35 +0300 |
commit | 8b8752c520c9d2d1f0673b7edf95e56eaeea160f (patch) | |
tree | f9421e5251e3bd4d683f3cbdbdd6acb860dbb5b7 | |
parent | 5c852b41ff22409e9f69d634f2de5df69b7815c0 (diff) | |
download | vaadin-framework-8b8752c520c9d2d1f0673b7edf95e56eaeea160f.tar.gz vaadin-framework-8b8752c520c9d2d1f0673b7edf95e56eaeea160f.zip |
Use shared state for OptionGroup htmlContentAllowed
Change-Id: I626165e19a1b634bd27b2e25efab88066552b190
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; } |