diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/multisuggest/MultiDragContact.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/multisuggest/MultiDragContact.java index df7fcba..a33a238 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/multisuggest/MultiDragContact.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/multisuggest/MultiDragContact.java @@ -38,6 +38,7 @@ import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer; import com.extjs.gxt.ui.client.widget.layout.FitLayout; import com.extjs.gxt.ui.client.widget.layout.RowData; import com.extjs.gxt.ui.client.widget.layout.RowLayout; +import com.extjs.gxt.ui.client.widget.tips.QuickTip; import com.extjs.gxt.ui.client.widget.toolbar.ToolBar; public class MultiDragContact extends Dialog { @@ -49,6 +50,7 @@ public class MultiDragContact extends Dialog { private TextArea textAreaAlreadyShared; private Grid gridAllContacts; private Grid gridShareWith; + private ColumnConfig columnConfigDisplayName; public MultiDragContact() { setStyleAttribute("margin", "10px"); @@ -123,8 +125,27 @@ public class MultiDragContact extends Dialog { VerticalPanel vp = new VerticalPanel(); vp.setHorizontalAlign(HorizontalAlignment.CENTER); vp.add(new Label("All Contacts")); + gridAllContacts = new Grid(storeSource, createColumnModel()); + + GridCellRenderer displayNameCellRender = new GridCellRenderer() { + public String render(ExtendedInfoContactModel model, String property, ColumnData config, int rowIndex, int colIndex, ListStore store, Grid grid) { + + if(model!=null){ + + String value = model.get (property); + if (value != null){ + return "" + value + ""; + } + } + + return ""; + } + }; + + columnConfigDisplayName.setRenderer(displayNameCellRender); + storeSource.setDefaultSort(InfoContactModel.FULLNAME, SortDir.ASC); storeSource.sort(InfoContactModel.FULLNAME, SortDir.ASC); @@ -244,7 +265,11 @@ public class MultiDragContact extends Dialog { public void componentSelected(ButtonEvent ce) { hide(); } - }); + }); + + // needed to enable quicktips (qtitle for the heading and qtip for the + // content) that are setup in the change GridCellRenderer + new QuickTip(gridAllContacts); } private ColumnModel createColumnModel() { @@ -253,8 +278,8 @@ public class MultiDragContact extends Dialog { ColumnConfig icon = new ColumnConfig(ExtendedInfoContactModel.ICON, "", 25); configs.add(icon); - ColumnConfig columnName = new ColumnConfig(ExtendedInfoContactModel.FULLNAME, "Name", 150); - configs.add(columnName); + columnConfigDisplayName = new ColumnConfig(ExtendedInfoContactModel.FULLNAME, "Name", 150); + configs.add(columnConfigDisplayName); ColumnConfig type = new ColumnConfig(ExtendedInfoContactModel.ISGROUP, "Type", 50); configs.add(type);