diff options
author | Teemu Suo-Anttila <teemusa@vaadin.com> | 2014-04-14 11:14:32 +0000 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2014-04-14 12:05:45 +0000 |
commit | 168de1fefa0f09b07d438968575033e6d234cfb2 (patch) | |
tree | 833b7848d77d0f194f779af88a5e479f90d5524e /client | |
parent | 35e2a34c9c4dfcf9117db31f6403401129c9befc (diff) | |
download | vaadin-framework-168de1fefa0f09b07d438968575033e6d234cfb2.tar.gz vaadin-framework-168de1fefa0f09b07d438968575033e6d234cfb2.zip |
Revert "Drag image for text-area should contain text of text-area (#13557)"
This reverts commit f227f0c1068f17e5491bd399d9f5bde16a0c8272.
Synchronising content after IE wraps the given element into a table with
a body causes a NullPointerException on client side.
This patch also contains new API and should be targeted to master branch.
Change-Id: Ia19acd9fa31c7b67507bf797a2bab7c28ea37b4b
Diffstat (limited to 'client')
-rw-r--r-- | client/src/com/vaadin/client/ui/VTextArea.java | 15 | ||||
-rw-r--r-- | client/src/com/vaadin/client/ui/dd/VDragCloneAware.java | 40 | ||||
-rw-r--r-- | client/src/com/vaadin/client/ui/dd/VDragEvent.java | 31 |
3 files changed, 1 insertions, 85 deletions
diff --git a/client/src/com/vaadin/client/ui/VTextArea.java b/client/src/com/vaadin/client/ui/VTextArea.java index 627d14a058..2a697969df 100644 --- a/client/src/com/vaadin/client/ui/VTextArea.java +++ b/client/src/com/vaadin/client/ui/VTextArea.java @@ -17,7 +17,6 @@ package com.vaadin.client.ui; import com.google.gwt.core.client.Scheduler; -import com.google.gwt.dom.client.Element; import com.google.gwt.dom.client.Style.Overflow; import com.google.gwt.dom.client.Style.WhiteSpace; import com.google.gwt.dom.client.TextAreaElement; @@ -31,7 +30,6 @@ import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.Event; import com.vaadin.client.BrowserInfo; import com.vaadin.client.Util; -import com.vaadin.client.ui.dd.VDragCloneAware; /** * This class represents a multiline textfield (textarea). @@ -42,7 +40,7 @@ import com.vaadin.client.ui.dd.VDragCloneAware; * @author Vaadin Ltd. * */ -public class VTextArea extends VTextField implements VDragCloneAware { +public class VTextArea extends VTextField { public static final String CLASSNAME = "v-textarea"; private boolean wordwrap = true; private MaxLengthHandler maxLengthHandler = new MaxLengthHandler(); @@ -296,15 +294,4 @@ public class VTextArea extends VTextField implements VDragCloneAware { // class instead of directly each other. } - @Override - public void initDragImageCopy(Element element) { - // Fix for #13557 - drag image doesn't show original text area text. - // It happens because "value" property is not copied into the cloned - // element - String value = getElement().getPropertyString("value"); - if (value != null) { - element.setPropertyString("value", value); - } - } - } diff --git a/client/src/com/vaadin/client/ui/dd/VDragCloneAware.java b/client/src/com/vaadin/client/ui/dd/VDragCloneAware.java deleted file mode 100644 index 546ca88a9f..0000000000 --- a/client/src/com/vaadin/client/ui/dd/VDragCloneAware.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2000-2013 Vaadin Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.vaadin.client.ui.dd; - -import com.google.gwt.dom.client.Element; - -/** - * Widget could implement this interface if drag image requires additional - * initialization/configuration. Method {@link #initDragImageCopy(Element)} - * allows to change/correct drag image element when element is dragged via DnD. - * - * @since 7.1 - * @author Vaadin Ltd - */ -public interface VDragCloneAware { - - /** - * This method is called for cloned <code>element</code> which corresponds - * to the widget element. One could modify/correct this <code>element</code> - * for drag image. - * - * @since 7.1 - * @param element - * cloned element of drag image - */ - void initDragImageCopy(Element element); -} diff --git a/client/src/com/vaadin/client/ui/dd/VDragEvent.java b/client/src/com/vaadin/client/ui/dd/VDragEvent.java index 0f0e1ecdad..a4667e57f3 100644 --- a/client/src/com/vaadin/client/ui/dd/VDragEvent.java +++ b/client/src/com/vaadin/client/ui/dd/VDragEvent.java @@ -20,14 +20,11 @@ import java.util.Map; import com.google.gwt.dom.client.Document; import com.google.gwt.dom.client.NativeEvent; -import com.google.gwt.dom.client.Node; import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.dom.client.TableElement; import com.google.gwt.dom.client.TableSectionElement; import com.google.gwt.event.dom.client.MouseOverEvent; import com.google.gwt.user.client.Element; -import com.google.gwt.user.client.Event; -import com.google.gwt.user.client.EventListener; import com.vaadin.client.BrowserInfo; import com.vaadin.client.Util; @@ -187,7 +184,6 @@ public class VDragEvent { cloneNode = table.cast(); } } - syncContent(element, cloneNode); if (alignImageToEvent) { int absoluteTop = element.getAbsoluteTop(); int absoluteLeft = element.getAbsoluteLeft(); @@ -202,31 +198,4 @@ public class VDragEvent { } - /** - * Do additional content sync between <code>original</code> element and its - * <code>copy</code> if needed. - * - * @since 7.1 - * @param original - * original element - * @param copy - * copy of original element - */ - protected void syncContent(Element original, Element copy) { - for (int i = 0; i < original.getChildCount(); i++) { - Node child = original.getChild(i); - if (child instanceof Element) { - syncContent((Element) child, (Element) copy.getChild(i)); - } - } - doSyncContent(original, copy); - } - - private void doSyncContent(Element original, Element copy) { - EventListener eventListener = Event.getEventListener(original); - if (eventListener instanceof VDragCloneAware) { - ((VDragCloneAware) eventListener).initDragImageCopy(copy); - } - } - } |