public HandlerRegistration addDropHandler(DropHandler handler) { return addBitlessDomHandler(handler, DropEvent.getType()); }
@Override public void onDrop( DropEvent event ) { event.preventDefault(); if ( isAGridDrop( event ) ) { String gridData = event.getData( DragType.GRID.name() ); handleGridDrop( gridData ); } removeDropBorder(); } } );
@Override public void onDrop(DropEvent event) { event.preventDefault(); event.stopPropagation(); DataTransfer data = event.getNativeEvent().getDataTransfer(); uploadData(data); } }, DropEvent.getType());
DropEvent.getType() ); event.preventDefault(); }, DropEvent.getType());
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()); }
@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; } }
@UiHandler("container") void onDrop(DropEvent event) { // Make sure to prevent the (useless) default browser action, // e.g. "open as link" for the dropped element. event.preventDefault(); int draggedColumnIndex = controller.getDragIndex(); int itemColumnIndex = controller.getColumnIndex(column); // Swap the columns. if (draggedColumnIndex != itemColumnIndex) { controller.swapColumns(controller.getColumn(draggedColumnIndex), column); } // Reset the drag index. controller.setDragIndex(ColumnController.NO_DRAG); }
private boolean isAGridDrop( DropEvent event ) { return !event.getData( DragType.GRID.name() ).isEmpty(); }
@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; } }
@Test public void dropCallsDragEnd() { StubAnchor a1 = new StubAnchor(); StubAnchor a2 = new StubAnchor(); boolean[] ended = { false }; a1.addDragStartHandler(e -> e.setData("text/plain", "foo")); a1.addDragEndHandler(e -> ended[0] = true); a2.addDragOverHandler(e -> { e.preventDefault(); }); a2.addDropHandler(e -> { e.preventDefault(); }); a1.dragStart(); a2.drop(); assertThat(ended[0], is(true)); }
private boolean isHtmlDrop( DropEvent event ) { return !event.getData( DragType.HTML.name() ).isEmpty(); }
public HandlerRegistration addDropHandler(DropHandler handler) { return addBitlessDomHandler(handler, DropEvent.getType()); }
@Override public void onDrop( DropEvent event ) { event.preventDefault(); if ( isAGridDrop( event ) ) { String gridData = event.getData( DragType.GRID.name() ); handleGridDrop( gridData ); } if ( isAScreenDrop( event ) ) { handleScreenDrop(); } if ( isHtmlDrop( event ) ) { handleHTMLDrop(); } } } );
@Override public void onDrop(DropEvent event) { event.preventDefault(); event.stopPropagation(); DataTransfer data = event.getNativeEvent().getDataTransfer(); uploadData(data); } }, DropEvent.getType());
@Test public void dropImplicitlyCallsOverIfNotExplicitlyCalled() { StubAnchor a1 = new StubAnchor(); StubAnchor a2 = new StubAnchor(); a1.addDragStartHandler(e -> e.setData("text/plain", "foo")); a2.addDragOverHandler(e -> { e.preventDefault(); }); a2.addDropHandler(e -> { e.preventDefault(); }); a1.dragStart(); // no explicit dragOver // a2.dragOver(); a2.drop(); }
private boolean isAScreenDrop( DropEvent event ) { return !event.getData( DragType.SCREEN.name() ).isEmpty(); }
public HandlerRegistration addDropHandler(DropHandler handler) { return addBitlessDomHandler(handler, DropEvent.getType()); }
@UiHandler("container") void onPanelDragDrop(DropEvent event) { String aggregatedString = event.getData("Text"); // $NON-NLS-1$ String[] dataItems = aggregatedString.split("\\|"); // $NON-NLS-1$ if (dataItems.length == 3) { String vmGid = getValue("VM_GID", dataItems[0]); // $NON-NLS-1$ if (StringHelper.isNotNullOrEmpty(vmGid)) { Guid vmGuid = Guid.createGuidFromString(vmGid); boolean pinned = Boolean.valueOf(getValue("PINNED", dataItems[1])); //$NON-NLS-1$ int vNumaNodeIndex = Integer.parseInt(getValue("INDEX", dataItems[2])); //$NON-NLS-1$ container.removeStyleName(style.dragOver()); event.preventDefault(); UpdatedVnumaEvent.fire(this, vmGuid, pinned, vNumaNodeIndex, pNumaNodeIndex); } else { container.removeStyleName(style.dragOver()); } } }
@Test public void successfulDragAndDrop() { StubAnchor a1 = new StubAnchor(); StubAnchor a2 = new StubAnchor(); a1.addDragStartHandler(e -> e.setData("text/plain", "foo")); a2.addDragOverHandler(e -> { e.preventDefault(); }); a2.addDropHandler(e -> { e.preventDefault(); }); a1.dragStart(); a2.dragOver(); a2.drop(); }
private boolean isAGridDrop( DropEvent event ) { return !event.getData( DragType.GRID.name() ).isEmpty(); }