protected void handleBadDD(NativeEvent event) { Element target = WidgetUtil.getElementUnderMouse(event); if (target == null) { VDragAndDropManager.get().interruptDrag(); return; } Node targetParent = DOM.asOld(target).getParentNode(); if (!getElement().isOrHasChild(targetParent)) { VDragAndDropManager.get().interruptDrag(); } }
boolean isValidDropTarget(final UIDL configuration) { try { final String dropTarget = VDragAndDropManager.get().getCurrentDropHandler().getConnector().getWidget() .getElement().getId(); final int dropTargetCount = configuration.getIntAttribute(DROP_TARGET_COUNT);
@Override public void onDragEnter(DragEnterEvent event) { NativeEvent nativeEvent = event.getNativeEvent(); if (validate(nativeEvent)) { VTransferable transferable = new VTransferable(); transferable.setDragSource(connector); vaadinDragEvent = VDragAndDropManager.get() .startDrag(transferable, event.getNativeEvent(), false); vaadinDragEvent.setCurrentGwtEvent(nativeEvent); VDragAndDropManager.get().setCurrentDropHandler(dropHandler); dropHandler.dragEnter(vaadinDragEvent); nativeEvent.preventDefault(); nativeEvent.stopPropagation(); } else if (vaadinDragEvent != null && Element.is(nativeEvent.getEventTarget())) { vaadinDragEvent.setCurrentGwtEvent(nativeEvent); VDragAndDropManager.get().setCurrentDropHandler(null); VDragAndDropManager.get().interruptDrag(); vaadinDragEvent = null; nativeEvent.preventDefault(); nativeEvent.stopPropagation(); } if (globalDragEnterHandler != null) { globalDragEnterHandler.onDragEnter(event); } }
boolean isValidDropTarget(final UIDL configuration) { try { final String dropTarget = VDragAndDropManager.get().getCurrentDropHandler().getConnector().getWidget() .getElement().getId(); final int dropTargetCount = configuration.getIntAttribute(DROP_TARGET_COUNT);
@Override public void onDragEnter(DragEnterEvent event) { NativeEvent nativeEvent = event.getNativeEvent(); if (validate(nativeEvent)) { VTransferable transferable = new VTransferable(); transferable.setDragSource(connector); vaadinDragEvent = VDragAndDropManager.get() .startDrag(transferable, event.getNativeEvent(), false); vaadinDragEvent.setCurrentGwtEvent(nativeEvent); VDragAndDropManager.get().setCurrentDropHandler(dropHandler); dropHandler.dragEnter(vaadinDragEvent); nativeEvent.preventDefault(); nativeEvent.stopPropagation(); } else if (vaadinDragEvent != null && Element.is(nativeEvent.getEventTarget())) { vaadinDragEvent.setCurrentGwtEvent(nativeEvent); VDragAndDropManager.get().setCurrentDropHandler(null); VDragAndDropManager.get().interruptDrag(); vaadinDragEvent = null; nativeEvent.preventDefault(); nativeEvent.stopPropagation(); } if (globalDragEnterHandler != null) { globalDragEnterHandler.onDragEnter(event); } }
@Override public void onDragOver(DragOverEvent event) { NativeEvent nativeEvent = event.getNativeEvent(); if (validate(nativeEvent) && vaadinDragEvent != null) { nativeEvent.preventDefault(); nativeEvent.stopPropagation(); // event stopped, just notify global handler // Haulmont API if (globalDragOverHandler != null) { globalDragOverHandler.onDragOver(event); } vaadinDragEvent.setCurrentGwtEvent(nativeEvent); VDragAndDropManager.get().setCurrentDropHandler(dropHandler); dropHandler.dragOver(vaadinDragEvent); } }
@Override public void onDragOver(DragOverEvent event) { NativeEvent nativeEvent = event.getNativeEvent(); if (validate(nativeEvent) && vaadinDragEvent != null) { nativeEvent.preventDefault(); nativeEvent.stopPropagation(); // event stopped, just notify global handler // Haulmont API if (globalDragOverHandler != null) { globalDragOverHandler.onDragOver(event); } vaadinDragEvent.setCurrentGwtEvent(nativeEvent); VDragAndDropManager.get().setCurrentDropHandler(dropHandler); dropHandler.dragOver(vaadinDragEvent); } }
@Override public void onDrop(DropEvent event) { NativeEvent nativeEvent = event.getNativeEvent(); if (validate(nativeEvent) && vaadinDragEvent != null) { nativeEvent.preventDefault(); nativeEvent.stopPropagation(); // event stopped, just notify global handler // Haulmont API if (globalDropHandler != null) { globalDropHandler.onDrop(event); } vaadinDragEvent.setCurrentGwtEvent(nativeEvent); VDragAndDropManager.get().setCurrentDropHandler(dropHandler); // FIXME only text currently supported String data; if (BrowserInfo.get().isIE()) { // IE does not support MIME types // http://www.developerfusion.com/article/144828/the-html5-drag-and-drop-api/ data = event.getData("text"); } else { data = event.getData("text/plain"); } vaadinDragEvent.getTransferable().setData("html5Data", data); VDragAndDropManager.get().endDrag(); vaadinDragEvent = null; } }
@Override public void onDrop(DropEvent event) { NativeEvent nativeEvent = event.getNativeEvent(); if (validate(nativeEvent) && vaadinDragEvent != null) { nativeEvent.preventDefault(); nativeEvent.stopPropagation(); // event stopped, just notify global handler // Haulmont API if (globalDropHandler != null) { globalDropHandler.onDrop(event); } vaadinDragEvent.setCurrentGwtEvent(nativeEvent); VDragAndDropManager.get().setCurrentDropHandler(dropHandler); // FIXME only text currently supported String data; if (BrowserInfo.get().isIE()) { // IE does not support MIME types // http://www.developerfusion.com/article/144828/the-html5-drag-and-drop-api/ data = event.getData("text"); } else { data = event.getData("text/plain"); } vaadinDragEvent.getTransferable().setData("html5Data", data); VDragAndDropManager.get().endDrag(); vaadinDragEvent = null; } }
public CubaMainTabSheetWidget() { RootPanel rootPanel = RootPanel.get(); dragEndHandler = rootPanel.addBitlessDomHandler(event -> handleBadDD(event.getNativeEvent()), DragEndEvent.getType()); dropHandler = rootPanel.addBitlessDomHandler(event -> handleBadDD(event.getNativeEvent()), DropEvent.getType()); dragLeaveHandler = rootPanel.addBitlessDomHandler(event -> { Element element = event.getRelativeElement(); if (element == null || element == rootPanel.getElement()) { VDragAndDropManager.get().interruptDrag(); } }, DragLeaveEvent.getType()); }
private boolean startDrag(NativeEvent event) { VTransferable transferable = new VTransferable(); transferable.setDragSource(ConnectorMap.get(client).getConnector( this)); Element targetElement = (Element) event.getEventTarget().cast(); Paintable paintable; Widget w = WidgetUtil.findWidget(targetElement, null); if(!w.getStyleName().contains("drag-source-enabled")) { return false; } while (w != null && !(w instanceof Paintable)) { w = w.getParent(); } paintable = (Paintable) w; transferable.setData("component", paintable); VDragEvent dragEvent = VDragAndDropManager.get().startDrag( transferable, event, true); transferable.setData("clientX", event.getClientX()); transferable.setData("clientY", event.getClientY()); dragEvent.createDragImage(getElement(), true); return true; }
VDragAndDropManager.get().interruptDrag(); return; VConsole.log("Dragging disabled for " + w.getClass().getName() + " in " + parent.getWidget().getClass().getName()); VDragAndDropManager.get().interruptDrag(); return; VDragAndDropManager.get().interruptDrag(); return; VDragEvent currentDragEvent = VDragAndDropManager.get() .startDrag(transferable, event, true);
VDragAndDropManager.get().interruptDrag(); return; VConsole.log("Dragging disabled for " + w.getClass().getName() + " in " + parent.getWidget().getClass().getName()); VDragAndDropManager.get().interruptDrag(); return; VDragAndDropManager.get().interruptDrag(); return; VDragEvent currentDragEvent = VDragAndDropManager.get() .startDrag(transferable, event, true);
VDragEvent ev = VDragAndDropManager.get() .startDrag(transferable, event, true); if (dragmode == DRAGMODE_MULTIROW && isMultiSelectModeAny()