Alona Kaplan has uploaded a new change for review. Change subject: webadmin: ie10 drag&drop support ......................................................................
webadmin: ie10 drag&drop support DragDropEvent.setData recives two parameters- dataFormat and data. IE suuports just "Text" and "URL" as the dataFormat (while all the other browsers support arbitrary string). In order to support IE the format was changed to "Text". Change-Id: I5150a6c2b62322969d88d0e2f2a9a85621352d9c Signed-off-by: Alona Kaplan <[email protected]> --- M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkGroup.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkItemPanel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/UnassignedNetworksPanel.java 3 files changed, 33 insertions(+), 8 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/77/11077/1 diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkGroup.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkGroup.java index c4f1675..c468eab 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkGroup.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkGroup.java @@ -117,6 +117,7 @@ @Override public void onDrop(DropEvent event) { + event.preventDefault(); doDrag(event, true); table.getElement().removeClassName(style.networkGroupDragOver()); } @@ -126,8 +127,9 @@ private void doDrag(DragDropEventBase<?> event, boolean isDrop) { HostSetupNetworksModel setupModel = nicModel.getSetupModel(); - String data = event.getData(NetworkItemPanel.SETUP_NETWORKS_DATA); - String type = event.getData(NetworkItemPanel.SETUP_NETWORKS_TYPE); //$NON-NLS-1$ + String dragDropEventData = event.getData("Text"); //$NON-NLS-1$ + String type = NetworkItemPanel.getType(dragDropEventData); + String data = NetworkItemPanel.getData(dragDropEventData); if (data != null) { if (setupModel.candidateOperation(data, type, nicModel.getName(), HostSetupNetworksModel.NIC, isDrop)) { table.getElement().addClassName(style.networkGroupDragOver()); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkItemPanel.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkItemPanel.java index ad4ba88..19d8e89 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkItemPanel.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkItemPanel.java @@ -134,8 +134,7 @@ public void onDragStart(DragStartEvent event) { NetworkItemPanel sourcePanel = (NetworkItemPanel) event.getSource(); // Required: set data for the event. - event.setData(SETUP_NETWORKS_DATA, sourcePanel.item.getName()); - event.setData(SETUP_NETWORKS_TYPE, sourcePanel.item.getType()); + event.setData("Text", sourcePanel.item.getType() + " " + sourcePanel.item.getName()); //$NON-NLS-1$ //$NON-NLS-2$ // show a ghost of the widget under cursor. NativeEvent nativeEvent = event.getNativeEvent(); @@ -209,4 +208,26 @@ public NetworkItemModel<?> getItem() { return item; } + + public static String getData(String dragDropEventData) { + if (dragDropEventData == null) { + return ""; //$NON-NLS-1$ + } + int split = dragDropEventData.indexOf(" "); //$NON-NLS-1$ + if (split == -1 || dragDropEventData.length() == split + 1) { + return ""; //$NON-NLS-1$ + } + return dragDropEventData.substring(split + 1); + } + + public static String getType(String dragDropEventData) { + if (dragDropEventData == null) { + return ""; //$NON-NLS-1$ + } + int split = dragDropEventData.indexOf(" "); //$NON-NLS-1$ + if (split == -1 || split == 0) { + return ""; //$NON-NLS-1$ + } + return dragDropEventData.substring(0, split); + } } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/UnassignedNetworksPanel.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/UnassignedNetworksPanel.java index 7186289..ec1e9ee 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/UnassignedNetworksPanel.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/UnassignedNetworksPanel.java @@ -74,6 +74,7 @@ @Override public void onDrop(DropEvent event) { + event.preventDefault(); doDrag(event, true); animatedPanel.getElement().removeClassName(style.networkGroupDragOver()); } @@ -131,18 +132,19 @@ } private void doDrag(DragDropEventBase<?> event, boolean isDrop) { - String data = event.getData(NetworkItemPanel.SETUP_NETWORKS_DATA); - String type = event.getData(NetworkItemPanel.SETUP_NETWORKS_TYPE); + String dragDropEventData = event.getData("Text"); //$NON-NLS-1$ + String type = NetworkItemPanel.getType(dragDropEventData); + String data = NetworkItemPanel.getData(dragDropEventData); if (data != null) { if (setupModel.candidateOperation(data, type, null, null, isDrop)) { - animatedPanel.getElement().addClassName(style.networkGroupDragOver()); + animatedPanel.getElement().addClassName(style.networkGroupDragOver()); // allow drag/drop (look at http://www.w3.org/TR/html5/dnd.html#dndevents) event.preventDefault(); } } } - public void setSetupModel(HostSetupNetworksModel setupModel){ + public void setSetupModel(HostSetupNetworksModel setupModel) { this.setupModel = setupModel; } } -- To view, visit http://gerrit.ovirt.org/11077 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5150a6c2b62322969d88d0e2f2a9a85621352d9c Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alona Kaplan <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
