Greg Sheremeta has uploaded a new change for review.

Change subject: userportal, webadmin: refactor EventHandlingCell logic
......................................................................

userportal, webadmin: refactor EventHandlingCell logic

(Patch 4aa of 12)

Introduced EventHandlingCellMixin and moved EventHandlingCell::handlesEvent()
implementations to there. Some of them were shared -- this avoids copying
and pasting code.

No functional changes -- just a refactor.

Change-Id: I0c242022965982723c0068d2df3db6472dba6394
Signed-off-by: Greg Sheremeta <gsher...@redhat.com>
---
A 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/EventHandlingCellMixin.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/ListModelListBoxCell.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/AbstractCheckboxColumn.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/EnabledDisabledCheckboxCell.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/EnabledDisabledRadioCell.java
5 files changed, 36 insertions(+), 24 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/20/38720/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/EventHandlingCellMixin.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/EventHandlingCellMixin.java
new file mode 100644
index 0000000..4f2b1a3
--- /dev/null
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/EventHandlingCellMixin.java
@@ -0,0 +1,31 @@
+package org.ovirt.engine.ui.common.widget.table.cell;
+
+import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
+
+import com.google.gwt.dom.client.BrowserEvents;
+import com.google.gwt.dom.client.Element;
+import com.google.gwt.dom.client.NativeEvent;
+import com.google.gwt.view.client.CellPreviewEvent;
+
+public class EventHandlingCellMixin {
+
+    public static boolean inputHandlesClick(CellPreviewEvent<EntityModel> 
event) {
+        NativeEvent nativeEvent = event.getNativeEvent();
+        if (!BrowserEvents.CLICK.equals(nativeEvent.getType())) {
+            return false;
+        }
+        Element target = nativeEvent.getEventTarget().cast();
+        return "input".equals(target.getTagName().toLowerCase()); //$NON-NLS-1$
+    }
+
+    public static boolean 
selectOptionHandlesClick(CellPreviewEvent<EntityModel> event) {
+        NativeEvent nativeEvent = event.getNativeEvent();
+        if (!BrowserEvents.CLICK.equals(nativeEvent.getType())) {
+            return false;
+        }
+        Element target = nativeEvent.getEventTarget().cast();
+        String tagName = target.getTagName().toLowerCase();
+        return "select".equals(tagName) || "option".equals(tagName); 
//$NON-NLS-1$ //$NON-NLS-2$
+    }
+
+}
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/ListModelListBoxCell.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/ListModelListBoxCell.java
index d0890da..6fee27b 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/ListModelListBoxCell.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/ListModelListBoxCell.java
@@ -99,13 +99,7 @@
 
     @Override
     public boolean handlesEvent(CellPreviewEvent<EntityModel> event) {
-        NativeEvent nativeEvent = event.getNativeEvent();
-        if (!BrowserEvents.CLICK.equals(nativeEvent.getType())) {
-            return false;
-        }
-        Element target = nativeEvent.getEventTarget().cast();
-        String tagName = target.getTagName().toLowerCase();
-        return "select".equals(tagName) || "option".equals(tagName); 
//$NON-NLS-1$ //$NON-NLS-2$
+        return EventHandlingCellMixin.selectOptionHandlesClick(event);
     }
 
 }
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/AbstractCheckboxColumn.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/AbstractCheckboxColumn.java
index b2aa6d4..bf27213 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/AbstractCheckboxColumn.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/AbstractCheckboxColumn.java
@@ -2,31 +2,16 @@
 
 import java.util.Comparator;
 
-import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
-
 import com.google.gwt.cell.client.Cell.Context;
 import com.google.gwt.cell.client.FieldUpdater;
-import com.google.gwt.dom.client.BrowserEvents;
-import com.google.gwt.dom.client.Element;
-import com.google.gwt.dom.client.NativeEvent;
 import com.google.gwt.safehtml.shared.SafeHtml;
 import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
 import com.google.gwt.safehtml.shared.SafeHtmlUtils;
-import com.google.gwt.view.client.CellPreviewEvent;
 
 public abstract class AbstractCheckboxColumn<T> extends AbstractColumn<T, 
Boolean> {
 
     private boolean centered = false;
     private boolean multipleSelectionAllowed = true;
-
-    static boolean handlesEvent(CellPreviewEvent<EntityModel> event) {
-        NativeEvent nativeEvent = event.getNativeEvent();
-        if (!BrowserEvents.CLICK.equals(nativeEvent.getType())) {
-            return false;
-        }
-        Element target = nativeEvent.getEventTarget().cast();
-        return "input".equals(target.getTagName().toLowerCase()); //$NON-NLS-1$
-    }
 
     private static final SafeHtml INPUT_CHECKBOX_DISABLED_PREFIX =
             SafeHtmlUtils.fromTrustedString("<input type=\"checkbox\" 
tabindex=\"-1\" disabled"); //$NON-NLS-1$
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/EnabledDisabledCheckboxCell.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/EnabledDisabledCheckboxCell.java
index ad62bc7..1230787 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/EnabledDisabledCheckboxCell.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/EnabledDisabledCheckboxCell.java
@@ -2,6 +2,7 @@
 
 import org.ovirt.engine.ui.common.idhandler.CellWithElementId;
 import org.ovirt.engine.ui.common.widget.table.cell.EventHandlingCell;
+import org.ovirt.engine.ui.common.widget.table.cell.EventHandlingCellMixin;
 import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
 
 import com.google.gwt.cell.client.CheckboxCell;
@@ -23,7 +24,7 @@
 
     @Override
     public boolean handlesEvent(CellPreviewEvent<EntityModel> event) {
-        return AbstractCheckboxColumn.handlesEvent(event);
+        return EventHandlingCellMixin.inputHandlesClick(event);
     }
 
     public void setElementIdPrefix(String elementIdPrefix) {
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/EnabledDisabledRadioCell.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/EnabledDisabledRadioCell.java
index 2fe1b18..eabb049 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/EnabledDisabledRadioCell.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/EnabledDisabledRadioCell.java
@@ -2,6 +2,7 @@
 
 import org.ovirt.engine.ui.common.idhandler.CellWithElementId;
 import org.ovirt.engine.ui.common.widget.table.cell.EventHandlingCell;
+import org.ovirt.engine.ui.common.widget.table.cell.EventHandlingCellMixin;
 import org.ovirt.engine.ui.common.widget.table.cell.RadioboxCell;
 import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
 
@@ -19,7 +20,7 @@
 
     @Override
     public boolean handlesEvent(CellPreviewEvent<EntityModel> event) {
-        return AbstractCheckboxColumn.handlesEvent(event);
+        return EventHandlingCellMixin.inputHandlesClick(event);
     }
 
 }


-- 
To view, visit https://gerrit.ovirt.org/38720
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0c242022965982723c0068d2df3db6472dba6394
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Greg Sheremeta <gsher...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to