List of usage examples for com.google.gwt.dom.client NativeEvent getDataTransfer
public final native DataTransfer getDataTransfer() ;
From source file:com.vaadin.client.extensions.DragSourceExtensionConnector.java
License:Apache License
/** * Event handler for the {@code dragstart} event. Called when {@code * dragstart} event occurs.// w ww . j a v a 2s. c om * * @param event * browser event to be handled */ protected void onDragStart(Event event) { // Convert elemental event to have access to dataTransfer NativeEvent nativeEvent = (NativeEvent) event; // Set effectAllowed parameter if (getState().effectAllowed != null) { setEffectAllowed(nativeEvent.getDataTransfer(), getState().effectAllowed.getValue()); } // Set data parameter List<String> types = getState().types; Map<String, String> data = getState().data; for (String format : types) { nativeEvent.getDataTransfer().setData(format, data.get(format)); } // Store the extension's connector ID in DataTransfer.data nativeEvent.getDataTransfer().setData(DATA_TYPE_DRAG_SOURCE_ID, getConnectorId()); // Initiate firing server side dragstart event when there is a // DragStartListener attached on the server side if (hasEventListener(DragSourceState.EVENT_DRAGSTART)) { getRpcProxy(DragSourceRpc.class).dragStart(); } }
From source file:com.vaadin.client.extensions.DropTargetExtensionConnector.java
License:Apache License
/** * Event handler for the {@code dragover} event. * * @param event/*from w ww. j a va 2s. com*/ * browser event to be handled */ protected void onDragOver(Event event) { NativeEvent nativeEvent = (NativeEvent) event; if (isDragOverAllowed(nativeEvent)) { // Set dropEffect parameter if (getState().dropEffect != null) { nativeEvent.getDataTransfer() .setDropEffect(DataTransfer.DropEffect.valueOf(getState().dropEffect.name())); } // Prevent default to allow drop nativeEvent.preventDefault(); nativeEvent.stopPropagation(); } else { // Remove drop effect nativeEvent.getDataTransfer().setDropEffect(DataTransfer.DropEffect.NONE); // Remove drop target indicator removeTargetIndicator(getDropTargetElement()); } }
From source file:com.vaadin.client.extensions.DropTargetExtensionConnector.java
License:Apache License
/** * Event handler for the {@code drop} event. * * @param event//from ww w .ja v a2s. c o m * browser event to be handled */ protected void onDrop(Event event) { NativeEvent nativeEvent = (NativeEvent) event; if (dropAllowed(nativeEvent)) { nativeEvent.preventDefault(); nativeEvent.stopPropagation(); // Initiate firing server side drop event JsArrayString typesJsArray = getTypes(nativeEvent.getDataTransfer()); List<String> types = new ArrayList<>(); Map<String, String> data = new HashMap<>(); for (int i = 0; i < typesJsArray.length(); i++) { types.add(typesJsArray.get(i)); data.put(typesJsArray.get(i), nativeEvent.getDataTransfer().getData(typesJsArray.get(i))); } getRpcProxy(DropTargetRpc.class).drop(types, data, getState().dropEffect, data.get(DragSourceExtensionConnector.DATA_TYPE_DRAG_SOURCE_ID)); } removeTargetIndicator(getDropTargetElement()); }