diff options
Diffstat (limited to 'client')
5 files changed, 64 insertions, 18 deletions
diff --git a/client/build.xml b/client/build.xml index dec8b84a18..19ec05b28a 100644 --- a/client/build.xml +++ b/client/build.xml @@ -72,4 +72,4 @@ <antcall target="common.test.run" /> </target> -</project>
\ No newline at end of file +</project> diff --git a/client/src/com/vaadin/client/communication/AtmospherePushConnection.java b/client/src/com/vaadin/client/communication/AtmospherePushConnection.java index 93d5d879dc..ccb01c5a30 100644 --- a/client/src/com/vaadin/client/communication/AtmospherePushConnection.java +++ b/client/src/com/vaadin/client/communication/AtmospherePushConnection.java @@ -22,6 +22,7 @@ import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.core.client.Scheduler; import com.google.gwt.json.client.JSONObject; import com.google.gwt.user.client.Command; +import com.vaadin.client.ApplicationConfiguration; import com.vaadin.client.ApplicationConnection; import com.vaadin.client.ApplicationConnection.CommunicationErrorHandler; import com.vaadin.client.ResourceLoader; @@ -489,7 +490,13 @@ public class AtmospherePushConnection implements PushConnection { if (isAtmosphereLoaded()) { command.execute(); } else { - final String pushJs = ApplicationConstants.VAADIN_PUSH_JS; + final String pushJs; + if (ApplicationConfiguration.isProductionMode()) { + pushJs = ApplicationConstants.VAADIN_PUSH_JS; + } else { + pushJs = ApplicationConstants.VAADIN_PUSH_DEBUG_JS; + } + VConsole.log("Loading " + pushJs); ResourceLoader.get().loadScript( connection.getConfiguration().getVaadinDirUrl() + pushJs, diff --git a/client/src/com/vaadin/client/ui/VFilterSelect.java b/client/src/com/vaadin/client/ui/VFilterSelect.java index a4041cc34d..7efb5b8867 100644 --- a/client/src/com/vaadin/client/ui/VFilterSelect.java +++ b/client/src/com/vaadin/client/ui/VFilterSelect.java @@ -916,6 +916,27 @@ public class VFilterSelect extends Composite implements Field, KeyDownHandler, } } + /** + * TextBox variant used as input element for filter selects, which prevents + * selecting text when disabled. + * + * @since 7.1.5 + */ + public class FilterSelectTextBox extends TextBox { + + /** + * Overridden to avoid selecting text when text input is disabled + */ + @Override + public void setSelectionRange(int pos, int length) { + if (textInputEnabled) { + super.setSelectionRange(pos, length); + } else { + super.setSelectionRange(getValue().length(), 0); + } + } + } + @Deprecated public static final FilteringMode FILTERINGMODE_OFF = FilteringMode.OFF; @Deprecated @@ -938,21 +959,10 @@ public class VFilterSelect extends Composite implements Field, KeyDownHandler, * <p> * For internal use only. May be removed or replaced in the future. */ - public final TextBox tb = new TextBox() { - - // Overridden to avoid selecting text when text input is disabled - @Override - public void setSelectionRange(int pos, int length) { - if (textInputEnabled) { - super.setSelectionRange(pos, length); - } else { - super.setSelectionRange(getValue().length(), 0); - } - }; - }; + public final TextBox tb; /** For internal use only. May be removed or replaced in the future. */ - public final SuggestionPopup suggestionPopup = new SuggestionPopup(); + public final SuggestionPopup suggestionPopup; /** * Used when measuring the width of the popup @@ -1096,9 +1106,12 @@ public class VFilterSelect extends Composite implements Field, KeyDownHandler, private boolean textInputEnabled = true; /** - * Default constructor + * Default constructor. */ public VFilterSelect() { + tb = createTextBox(); + suggestionPopup = createSuggestionPopup(); + selectedItemIcon.setStyleName("v-icon"); selectedItemIcon.addLoadHandler(new LoadHandler() { @@ -1136,6 +1149,32 @@ public class VFilterSelect extends Composite implements Field, KeyDownHandler, setStyleName(CLASSNAME); } + /** + * This method will create the TextBox used by the VFilterSelect instance. + * It is invoked during the Constructor and should only be overridden if a + * custom TextBox shall be used. The overriding method cannot use any + * instance variables. + * + * @since 7.1.5 + * @return TextBox instance used by this VFilterSelect + */ + protected TextBox createTextBox() { + return new FilterSelectTextBox(); + } + + /** + * This method will create the SuggestionPopup used by the VFilterSelect + * instance. It is invoked during the Constructor and should only be + * overridden if a custom SuggestionPopup shall be used. The overriding + * method cannot use any instance variables. + * + * @since 7.1.5 + * @return SuggestionPopup instance used by this VFilterSelect + */ + protected SuggestionPopup createSuggestionPopup() { + return new SuggestionPopup(); + } + @Override public void setStyleName(String style) { super.setStyleName(style); diff --git a/client/src/com/vaadin/client/ui/VRichTextArea.java b/client/src/com/vaadin/client/ui/VRichTextArea.java index 34693ce392..0b2c1e574c 100644 --- a/client/src/com/vaadin/client/ui/VRichTextArea.java +++ b/client/src/com/vaadin/client/ui/VRichTextArea.java @@ -403,7 +403,7 @@ public class VRichTextArea extends Composite implements Field, KeyPressHandler, result = ""; } } else if (browser.isWebkit()) { - if ("<div><br></div>".equals(result)) { + if ("<br>".equals(result) || "<div><br></div>".equals(result)) { result = ""; } } else if (browser.isIE()) { diff --git a/client/src/com/vaadin/client/ui/richtextarea/RichTextAreaConnector.java b/client/src/com/vaadin/client/ui/richtextarea/RichTextAreaConnector.java index 20dfc74c69..d2576eb133 100644 --- a/client/src/com/vaadin/client/ui/richtextarea/RichTextAreaConnector.java +++ b/client/src/com/vaadin/client/ui/richtextarea/RichTextAreaConnector.java @@ -104,9 +104,9 @@ public class RichTextAreaConnector extends AbstractFieldConnector implements if (getConnection() != null && getConnectorId() != null) { final String html = getWidget().getSanitizedValue(); if (!html.equals(cachedValue)) { + cachedValue = html; getConnection().updateVariable(getConnectorId(), "text", html, getState().immediate); - getWidget().setValue(html); } } }; |