Alona Kaplan has uploaded a new change for review. Change subject: webadmin: Status label is not update on IE ......................................................................
webadmin: Status label is not update on IE On dragStart we setData on the dragDropEvent. Later we use this data as a key to the dragged object. On dragenter, dragleave, dragover we update the status label. We use the getData to find out the dragged element. On firefox it works fine, but on most of the browsers drag, dragenter, dragleave, dragover and dragend don't have access to event's data. It is part of the DnD specification itself and firefox is the exception here. So, to workaround it- the dragged element key is saved as a static member of NetworkItemPanel class. Change-Id: Id72896117ce2b26f99607f3d34a55642fbe548bd 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, 19 insertions(+), 4 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/79/11079/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 c468eab..f87f90b 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 @@ -73,7 +73,7 @@ flexCellFormatter.setRowSpan(0, 0, networkSize); FlexTable networkTable = new FlexTable(); for (int i = 0; i < networkSize; i++) { - networkTable.setWidget(i, 0 ,new NetworkPanel(networks.get(i), style)); + networkTable.setWidget(i, 0, new NetworkPanel(networks.get(i), style)); } networkTable.setWidth("100%"); //$NON-NLS-1$ table.setWidget(0, 2, networkTable); @@ -127,7 +127,7 @@ private void doDrag(DragDropEventBase<?> event, boolean isDrop) { HostSetupNetworksModel setupModel = nicModel.getSetupModel(); - String dragDropEventData = event.getData("Text"); //$NON-NLS-1$ + String dragDropEventData = NetworkItemPanel.getDragDropEventData(event, isDrop); String type = NetworkItemPanel.getType(dragDropEventData); String data = NetworkItemPanel.getData(dragDropEventData); if (data != null) { 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 19d8e89..37a098c 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 @@ -20,6 +20,7 @@ import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.dom.client.ContextMenuEvent; import com.google.gwt.event.dom.client.ContextMenuHandler; +import com.google.gwt.event.dom.client.DragDropEventBase; import com.google.gwt.event.dom.client.DragStartEvent; import com.google.gwt.event.dom.client.DragStartHandler; import com.google.gwt.event.dom.client.MouseOutEvent; @@ -50,6 +51,8 @@ private static final PopupPanel menuPopup = new PopupPanel(true); private static final ItemInfoPopup infoPopup = new ItemInfoPopup(); + + private static String lastDragData = ""; //$NON-NLS-1$ public NetworkItemPanel(NetworkItemModel<?> item, NetworkPanelsStyle style, Boolean draggable) { super(draggable); @@ -134,7 +137,8 @@ public void onDragStart(DragStartEvent event) { NetworkItemPanel sourcePanel = (NetworkItemPanel) event.getSource(); // Required: set data for the event. - event.setData("Text", sourcePanel.item.getType() + " " + sourcePanel.item.getName()); //$NON-NLS-1$ //$NON-NLS-2$ + lastDragData = sourcePanel.item.getType() + " " + sourcePanel.item.getName(); //$NON-NLS-1$ + event.setData("Text", lastDragData); //$NON-NLS-1$ // show a ghost of the widget under cursor. NativeEvent nativeEvent = event.getNativeEvent(); @@ -230,4 +234,15 @@ } return dragDropEventData.substring(0, split); } + + public static String getDragDropEventData(DragDropEventBase<?> event, boolean isDrop) { + if (isDrop) { + return event.getData("Text"); //$NON-NLS-1$ + } else + { + // On most of the browsers drag, dragenter, dragleave, dragover and dragend don't have access to event's + // data + return lastDragData; + } + } } 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 ec1e9ee..202cacc 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 @@ -132,7 +132,7 @@ } private void doDrag(DragDropEventBase<?> event, boolean isDrop) { - String dragDropEventData = event.getData("Text"); //$NON-NLS-1$ + String dragDropEventData = NetworkItemPanel.getDragDropEventData(event, isDrop); String type = NetworkItemPanel.getType(dragDropEventData); String data = NetworkItemPanel.getData(dragDropEventData); if (data != null) { -- To view, visit http://gerrit.ovirt.org/11079 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id72896117ce2b26f99607f3d34a55642fbe548bd 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
