public class DragSourceExtensionConnector extends AbstractExtensionConnector
DragSourceExtension.| Modifier and Type | Field and Description |
|---|---|
protected static String |
STYLE_SUFFIX_DRAGGED
Style suffix for indicating that the element is being dragged.
|
protected static String |
STYLE_SUFFIX_DRAGSOURCE
Style suffix for indicating that the element is a drag source.
|
| Constructor and Description |
|---|
DragSourceExtensionConnector() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addDraggable(com.google.gwt.dom.client.Element element)
Makes the given element draggable and adds class name.
|
protected void |
addDraggedStyle(com.google.gwt.dom.client.NativeEvent event)
Add class name to indicate that the drag source element is being dragged.
|
protected void |
addDragListeners(com.google.gwt.dom.client.Element element)
Adds dragstart and dragend event listeners to the given DOM element.
|
protected Map<String,String> |
createDataTransferData(com.google.gwt.dom.client.NativeEvent dragStartEvent)
Creates the data map to be set as the
DataTransfer object's data. |
protected void |
extend(ServerConnector target)
Called when the extension is attached to its parent.
|
protected void |
fixDragImageOffsetsForDesktop(com.google.gwt.dom.client.NativeEvent dragStartEvent,
com.google.gwt.dom.client.Element draggedElement)
Fixes missing or offset drag image caused by using css transform:
translate (or such) by using a cloned drag image element, for which the
property has been cleared.
|
protected void |
fixDragImageTransformForMobile(com.google.gwt.dom.client.Element draggedElement)
Fix drag image offset for touch devices when the dragged image has been
offset with css transform: translate/translate3d.
|
protected com.google.gwt.dom.client.Element |
getDraggableElement()
Finds the draggable element within the widget.
|
protected static String |
getDropEffect(com.google.gwt.dom.client.DataTransfer dataTransfer)
Returns the dropEffect for the given data transfer.
|
DragSourceState |
getState()
Returns the shared state object for this connector.
|
protected boolean |
isAndoidChrome()
Returns whether the current browser is Android Chrome.
|
protected boolean |
isNativeDragEvent(com.google.gwt.dom.client.NativeEvent nativeEvent)
Returns whether the given event is a native (android) drag start/end
event, and not produced by the drag-drop-polyfill.
|
protected void |
onDragEnd(elemental.events.Event event)
Event handler for the
dragend event. |
protected void |
onDragStart(elemental.events.Event event)
Event handler for the
dragstart event. |
void |
onUnregister()
Event called when connector has been unregistered.
|
protected void |
removeDraggable(com.google.gwt.dom.client.Element element)
Removes draggable and class name from the given element.
|
protected void |
removeDraggedStyle(com.google.gwt.dom.client.NativeEvent event)
Remove class name that indicated that the drag source element was being
dragged.
|
protected void |
removeDragListeners(com.google.gwt.dom.client.Element element)
Removes dragstart and dragend event listeners from the given DOM element.
|
protected void |
sendDragEndEventToServer(com.google.gwt.dom.client.NativeEvent dragEndEvent,
DropEffect dropEffect)
Initiates a server RPC for the drag end event.
|
protected void |
sendDragStartEventToServer(com.google.gwt.dom.client.NativeEvent dragStartEvent)
Initiates a server RPC for the drag start event.
|
protected void |
setDragImage(com.google.gwt.dom.client.NativeEvent dragStartEvent)
Sets the drag image to be displayed.
|
setParentaddStateChangeHandler, addStateChangeHandler, createState, doInit, ensureHandlerManager, fireEvent, forceStateChange, getChildren, getConnection, getConnectorId, getParent, getResourceUrl, getRpcImplementations, getRpcProxy, getStateType, getTag, hasEventListener, init, isEnabled, onStateChanged, registerRpc, removeStateChangeHandler, removeStateChangeHandler, setChildren, setTag, unregisterRpc, updateEnabledStateprotected static final String STYLE_SUFFIX_DRAGSOURCE
protected static final String STYLE_SUFFIX_DRAGGED
protected void extend(ServerConnector target)
AbstractExtensionConnectorextend in class AbstractExtensionConnectortarget - The connector this extension extendsprotected void addDraggable(com.google.gwt.dom.client.Element element)
element - Element to be set draggable.protected void removeDraggable(com.google.gwt.dom.client.Element element)
element - Element to remove draggable from.protected void addDragListeners(com.google.gwt.dom.client.Element element)
element - DOM element to attach event listeners to.protected void removeDragListeners(com.google.gwt.dom.client.Element element)
element - DOM element to remove event listeners from.public void onUnregister()
ServerConnectoronUnregister in interface ServerConnectoronUnregister in class AbstractConnectorprotected void onDragStart(elemental.events.Event event)
dragstart event. Called when dragstart event occurs.event - browser event to be handledprotected void fixDragImageOffsetsForDesktop(com.google.gwt.dom.client.NativeEvent dragStartEvent,
com.google.gwt.dom.client.Element draggedElement)
This bug only occurs on Desktop with Safari (gets offset and clips the element for the parts that are not inside the element start & end coordinates) and Firefox (gets offset), and calling this method is NOOP for any other browser.
This fix is not needed if custom drag image has been used.
dragStartEvent - the drag start eventdraggedElement - the element being draggedprotected void fixDragImageTransformForMobile(com.google.gwt.dom.client.Element draggedElement)
This necessary for e.g grid rows.
This method is NOOP for non-touch browsers.
draggedElement - the element that forms the drag imageprotected Map<String,String> createDataTransferData(com.google.gwt.dom.client.NativeEvent dragStartEvent)
DataTransfer object's data.dragStartEvent - The drag start eventnull for not setting any
data. Returning null will cancel the drag start.protected void sendDragStartEventToServer(com.google.gwt.dom.client.NativeEvent dragStartEvent)
This method is called only if there is a server side drag start event handler attached.
dragStartEvent - Client side dragstart event.protected void setDragImage(com.google.gwt.dom.client.NativeEvent dragStartEvent)
Override this method in case you need custom drag image setting. Called
from onDragStart(Event).
dragStartEvent - The drag start event.protected void onDragEnd(elemental.events.Event event)
dragend event. Called when dragend
event occurs.event - browser event to be handledprotected void sendDragEndEventToServer(com.google.gwt.dom.client.NativeEvent dragEndEvent,
DropEffect dropEffect)
dragEndEvent - Client side dragend event.dropEffect - Drop effect of the dragend event, extracted from DataTransfer.dropEffect parameter.protected void addDraggedStyle(com.google.gwt.dom.client.NativeEvent event)
event - The drag start event.protected void removeDraggedStyle(com.google.gwt.dom.client.NativeEvent event)
event - The drag end element.protected com.google.gwt.dom.client.Element getDraggableElement()
Override this method to make some other than the root element draggable instead.
In case you need to make more than whan element draggable, override
extend(ServerConnector) instead.
protected boolean isNativeDragEvent(com.google.gwt.dom.client.NativeEvent nativeEvent)
nativeEvent - the event to testtrue if native event, false if not (polyfill
event)protected boolean isAndoidChrome()
true if Android Chrome, false if notprotected static String getDropEffect(com.google.gwt.dom.client.DataTransfer dataTransfer)
dataTransfer - the data transfer with drop effectpublic DragSourceState getState()
AbstractConnectorgetState in interface ServerConnectorgetState in class AbstractConnectorCopyright © 2018 Vaadin Ltd. All rights reserved.