summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorAdam Wagner <wbadam@users.noreply.github.com>2017-05-19 14:56:16 +0300
committerAleksi Hietanen <aleksi@vaadin.com>2017-05-19 14:56:16 +0300
commitd7003aa96c1aed9ffefa35ff09679b3e602243fb (patch)
tree584891ac83fbcbacabe9096ffd64bb9449a833e3 /client
parent91e34500d7112f431c8d576c5992f63cbd1b4cd0 (diff)
downloadvaadin-framework-d7003aa96c1aed9ffefa35ff09679b3e602243fb.tar.gz
vaadin-framework-d7003aa96c1aed9ffefa35ff09679b3e602243fb.zip
Add style automatically to indicate that an element is being dragged (#9385)
Closes #9223
Diffstat (limited to 'client')
-rw-r--r--client/src/main/java/com/vaadin/client/extensions/DragSourceExtensionConnector.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/client/src/main/java/com/vaadin/client/extensions/DragSourceExtensionConnector.java b/client/src/main/java/com/vaadin/client/extensions/DragSourceExtensionConnector.java
index 5c91e91714..75e89f9ca4 100644
--- a/client/src/main/java/com/vaadin/client/extensions/DragSourceExtensionConnector.java
+++ b/client/src/main/java/com/vaadin/client/extensions/DragSourceExtensionConnector.java
@@ -55,6 +55,11 @@ public class DragSourceExtensionConnector extends AbstractExtensionConnector {
*/
protected static final String STYLE_SUFFIX_DRAGSOURCE = "-dragsource";
+ /**
+ * Style suffix for indicating that the element is being dragged.
+ */
+ protected static final String STYLE_SUFFIX_DRAGGED= "-dragged";
+
private static final String STYLE_NAME_DRAGGABLE = "v-draggable";
// Create event listeners
@@ -205,6 +210,11 @@ public class DragSourceExtensionConnector extends AbstractExtensionConnector {
dataMap.get(DragSourceState.DATA_TYPE_TEXT));
}
+ // Set style to indicate the element being dragged
+ Element dragSource = getDraggableElement();
+ dragSource.addClassName(
+ getStylePrimaryName(dragSource) + STYLE_SUFFIX_DRAGGED);
+
// Initiate firing server side dragstart event when there is a
// DragStartListener attached on the server side
if (hasEventListener(DragSourceState.EVENT_DRAGSTART)) {
@@ -363,6 +373,12 @@ public class DragSourceExtensionConnector extends AbstractExtensionConnector {
event.stopPropagation();
return;
}
+
+ // Remove dragged element indicator style
+ Element dragSource = getDraggableElement();
+ dragSource.removeClassName(
+ getStylePrimaryName(dragSource) + STYLE_SUFFIX_DRAGGED);
+
// Initiate server start dragend event when there is a DragEndListener
// attached on the server side
if (hasEventListener(DragSourceState.EVENT_DRAGEND)) {