Frank Kobzik has uploaded a new change for review.

Change subject: webadmin: Template main tab columns sorting
......................................................................

webadmin: Template main tab columns sorting

This patch adds sorting of fields in Template main tab in webadmin. As a
part of the patch, some existing *Column implementations were adjusted
to extend SortableColumn class.

Change-Id: I8c91564be9bc4119e405282d29a3aa00288126c6
Signed-off-by: Frantisek Kobzik <fkob...@redhat.com>
Bug-Url: https://bugzilla.redhat.com/1104784
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/ImageResourceColumn.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabTemplateView.java
3 files changed, 15 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/72/28372/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/ImageResourceColumn.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/ImageResourceColumn.java
index f204f9f..4440337 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/ImageResourceColumn.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/ImageResourceColumn.java
@@ -8,7 +8,6 @@
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.resources.client.ImageResource;
 import com.google.gwt.safehtml.shared.SafeHtmlUtils;
-import com.google.gwt.user.cellview.client.Column;
 import com.google.gwt.user.client.ui.AbstractImagePrototype;
 
 /**
@@ -17,7 +16,7 @@
  * @param <T>
  *            Table row data type.
  */
-public abstract class ImageResourceColumn<T> extends Column<T, ImageResource> {
+public abstract class ImageResourceColumn<T> extends SortableColumn<T, 
ImageResource> {
 
     private static final CommonApplicationResources RESOURCES = 
GWT.create(CommonApplicationResources.class);
     protected static final CommonApplicationConstants CONSTANTS = 
GWT.create(CommonApplicationConstants.class);
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java
index af425ee..2c7b98e 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java
@@ -383,12 +383,17 @@
     @Override
     protected void syncSearch()
     {
-        SearchParameters tempVar = new SearchParameters(getSearchString(), 
SearchType.VmTemplate, isCaseSensitiveSearch());
+        SearchParameters tempVar = new 
SearchParameters(applySortOptions(getSearchString()), SearchType.VmTemplate, 
isCaseSensitiveSearch());
         tempVar.setMaxCount(getSearchPageSize());
         super.syncSearch(VdcQueryType.Search, tempVar);
     }
 
     @Override
+    public boolean supportsServerSideSorting() {
+        return true;
+    }
+
+    @Override
     public void setItems(Collection value) {
         genVersionToBaseTemplate(value);
         super.setItems(value);
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabTemplateView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabTemplateView.java
index 77fd36f..371a503 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabTemplateView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabTemplateView.java
@@ -5,6 +5,7 @@
 import org.ovirt.engine.core.common.businessentities.VmTemplate;
 import org.ovirt.engine.core.common.businessentities.VmTemplateStatus;
 import org.ovirt.engine.core.compat.StringFormat;
+import 
org.ovirt.engine.core.searchbackend.VmTemplateConditionFieldAutoCompleter;
 import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
 import org.ovirt.engine.ui.common.uicommon.model.MainModelProvider;
 import org.ovirt.engine.ui.common.widget.table.column.EnumColumn;
@@ -44,6 +45,7 @@
                 return object.getName();
             }
         };
+        nameColumn.makeSortable(VmTemplateConditionFieldAutoCompleter.NAME);
         getTable().addColumn(nameColumn, constants.namePool(), "150px"); 
//$NON-NLS-1$
 
         TextColumnWithTooltip<VmTemplate> versionNameColumn = new 
TextColumnWithTooltip<VmTemplate>() {
@@ -58,6 +60,7 @@
                         object.getTemplateVersionNumber());
             }
         };
+        
versionNameColumn.makeSortable(VmTemplateConditionFieldAutoCompleter.VERSION_NAME);
         getTable().addColumn(versionNameColumn, constants.versionTemplate(), 
"150px"); //$NON-NLS-1$
 
         CommentColumn<VmTemplate> commentColumn = new 
CommentColumn<VmTemplate>();
@@ -69,6 +72,7 @@
                 return object.getCreationDate();
             }
         };
+        
creationDateColumn.makeSortable(VmTemplateConditionFieldAutoCompleter.CREATIONDATE);
         getTable().addColumn(creationDateColumn, 
constants.creationDateTemplate(), "150px"); //$NON-NLS-1$
 
         TextColumnWithTooltip<VmTemplate> statusColumn = new 
EnumColumn<VmTemplate, VmTemplateStatus>() {
@@ -77,6 +81,7 @@
                 return object.getStatus();
             }
         };
+        
statusColumn.makeSortable(VmTemplateConditionFieldAutoCompleter.STATUS);
         getTable().addColumn(statusColumn, constants.statusTemplate(), 
"100px"); //$NON-NLS-1$
 
         TextColumnWithTooltip<VmTemplate> clusterColumn = new 
TextColumnWithTooltip<VmTemplate>() {
@@ -85,6 +90,7 @@
                 return object.getVdsGroupName();
             }
         };
+        
clusterColumn.makeSortable(VmTemplateConditionFieldAutoCompleter.CLUSTER);
         getTable().addColumn(clusterColumn, constants.clusterTemplate(), 
"150px"); //$NON-NLS-1$
 
         TextColumnWithTooltip<VmTemplate> dcColumn = new 
TextColumnWithTooltip<VmTemplate>() {
@@ -93,6 +99,7 @@
                 return object.getStoragePoolName();
             }
         };
+        
dcColumn.makeSortable(VmTemplateConditionFieldAutoCompleter.DATACENTER);
         getTable().addColumn(dcColumn, constants.dcTemplate(), "150px"); 
//$NON-NLS-1$
 
         TextColumnWithTooltip<VmTemplate> descriptionColumn = new 
TextColumnWithTooltip<VmTemplate>() {
@@ -101,6 +108,7 @@
                 return object.getDescription();
             }
         };
+        
descriptionColumn.makeSortable(VmTemplateConditionFieldAutoCompleter.DESCRIPTION);
         getTable().addColumn(descriptionColumn, 
constants.descriptionTemplate(), "150px"); //$NON-NLS-1$
 
         getTable().addActionButton(new 
WebAdminButtonDefinition<VmTemplate>(constants.editTemplate()) {


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

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

Reply via email to