Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Implement default sort order for CheckboxColumn
......................................................................

webadmin: Implement default sort order for CheckboxColumn

Similarly to what was done with TextColumnWithTooltip, it makes sense
to implement some default sorting behavior for CheckboxColumn.

Change-Id: I7c70dd4c052ba21660f16ae223eb00ccf5d5edba
Signed-off-by: Lior Vernia <[email protected]>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/CheckboxColumn.java
1 file changed, 22 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/51/28751/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/CheckboxColumn.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/CheckboxColumn.java
index 5c0e20f..964b973 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/CheckboxColumn.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/CheckboxColumn.java
@@ -1,5 +1,7 @@
 package org.ovirt.engine.ui.common.widget.table.column;
 
+import java.util.Comparator;
+
 import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
 
 import com.google.gwt.cell.client.Cell.Context;
@@ -11,10 +13,9 @@
 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.user.cellview.client.Column;
 import com.google.gwt.view.client.CellPreviewEvent;
 
-public abstract class CheckboxColumn<T> extends Column<T, Boolean> {
+public abstract class CheckboxColumn<T> extends SortableColumn<T, Boolean> {
 
     private boolean isCentralized = false;
     private boolean multipleSelectionAllowed = true;
@@ -115,4 +116,23 @@
     protected String getDisabledMessage(T object) {
         return null;
     }
+
+    /**
+     * Render the column sortable according to the boolean cell values, false 
before true.
+     */
+    public void makeSortable() {
+        makeSortable(new Comparator<T>() {
+
+            @Override
+            public int compare(T o1, T o2) {
+                Boolean value1 = getValue(o1);
+                Boolean value2 = getValue(o2);
+                if (value1 == value2) {
+                    return 0;
+                } else {
+                    return (value1 == null || !value1) ? -1 : 1;
+                }
+            }
+        });
+    }
 }


-- 
To view, visit http://gerrit.ovirt.org/28751
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7c70dd4c052ba21660f16ae223eb00ccf5d5edba
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Lior Vernia <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to