From f4f000dded0401353e8bed7cda9a6aa4f81c12b2 Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Thu, 23 Feb 2017 14:42:45 +0000 Subject: [PATCH] Enhancement on file versioning #7006 git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace@144199 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../versioning/VersioningInfoContainer.java | 32 +++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/versioning/VersioningInfoContainer.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/versioning/VersioningInfoContainer.java index 2b3c00d..4d8baca 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/versioning/VersioningInfoContainer.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/versioning/VersioningInfoContainer.java @@ -29,9 +29,12 @@ import com.extjs.gxt.ui.client.widget.LayoutContainer; import com.extjs.gxt.ui.client.widget.MessageBox; import com.extjs.gxt.ui.client.widget.button.Button; import com.extjs.gxt.ui.client.widget.grid.ColumnConfig; +import com.extjs.gxt.ui.client.widget.grid.ColumnData; import com.extjs.gxt.ui.client.widget.grid.ColumnModel; import com.extjs.gxt.ui.client.widget.grid.Grid; +import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer; import com.extjs.gxt.ui.client.widget.grid.GroupingView; +import com.extjs.gxt.ui.client.widget.grid.filters.BooleanFilter; import com.extjs.gxt.ui.client.widget.grid.filters.DateFilter; import com.extjs.gxt.ui.client.widget.grid.filters.GridFilters; import com.extjs.gxt.ui.client.widget.grid.filters.StringFilter; @@ -267,7 +270,7 @@ public class VersioningInfoContainer extends LayoutContainer { public void initGrid() { //ColumnConfig icon = new ColumnConfig(FileGridModel.ICON, "", 25); - ColumnConfig name = createSortableColumnConfig(FileModel.NAME, FileModel.NAME, 200); + ColumnConfig name = createSortableColumnConfig(FileModel.NAME, "Version Id", 150); //ColumnConfig type = createSortableColumnConfig(FileModel.TYPE, FileModel.TYPE, 80); //ColumnConfig originalPath = createSortableColumnConfig(FileVersionModel.PATH, "Original Path", 200); ColumnConfig created = createSortableColumnConfig(FileVersionModel.CREATED, "Created", 100); @@ -275,9 +278,11 @@ public class VersioningInfoContainer extends LayoutContainer { //deleteDate.setDateTimeFormat(DateTimeFormat.getFormat("dd MMM hh:mm aaa yyyy")); ColumnConfig user = createSortableColumnConfig(FileVersionModel.USER_VERSIONING, "User", 150); + ColumnConfig currVersion = createSortableColumnConfig(FileVersionModel.IS_CURRENT_VERSION, "Current Version", 50); + //ColumnModel cm = new ColumnModel(Arrays.asList(icon, name, type, originalPath, deleteDate, deleteUser)); - ColumnModel cm = new ColumnModel(Arrays.asList(name, created, user)); + ColumnModel cm = new ColumnModel(Arrays.asList(name, created, user, currVersion)); grid = new Grid(this.store, cm); @@ -293,10 +298,33 @@ public class VersioningInfoContainer extends LayoutContainer { StringFilter nameFilter = new StringFilter(FileModel.NAME); DateFilter dateFilter = new DateFilter(FileVersionModel.CREATED); StringFilter userFilter = new StringFilter(FileVersionModel.USER_VERSIONING); + BooleanFilter currVersionFilter = new BooleanFilter(FileVersionModel.IS_CURRENT_VERSION); + final ColumnModel columnModel = cm; + + GridCellRenderer nameRender = new GridCellRenderer() { + @Override + public String render(FileVersionModel model, String property, ColumnData config, int rowIndex, int colIndex, ListStore store, Grid grid) { + Boolean isCurrVersion = model.isCurrentVersion(); + String val = model.get(property); + String color = "black"; + + if(val!=null && isCurrVersion != null && isCurrVersion){ +// color = "#EEC900"; + return "" + val + ""; + }else{ + if(val==null) + val = ""; + return "" + val + ""; + } + } + }; + + name.setRenderer(nameRender); filters.addFilter(nameFilter); filters.addFilter(dateFilter); filters.addFilter(userFilter); + filters.addFilter(currVersionFilter); grid.addPlugin(filters);