diff --git a/src/main/java/org/gcube/portlets/user/td/openwidget/client/TabResourcesSelectionPanel.java b/src/main/java/org/gcube/portlets/user/td/openwidget/client/TabResourcesSelectionPanel.java index 42e856f..5b88291 100644 --- a/src/main/java/org/gcube/portlets/user/td/openwidget/client/TabResourcesSelectionPanel.java +++ b/src/main/java/org/gcube/portlets/user/td/openwidget/client/TabResourcesSelectionPanel.java @@ -29,10 +29,12 @@ import com.google.gwt.event.logical.shared.HasSelectionHandlers; import com.google.gwt.event.logical.shared.SelectionEvent; import com.google.gwt.event.logical.shared.SelectionHandler; import com.google.gwt.event.shared.HandlerRegistration; +import com.google.gwt.safehtml.shared.SafeHtml; import com.google.gwt.safehtml.shared.SafeHtmlBuilder; import com.google.gwt.user.client.rpc.AsyncCallback; import com.sencha.gxt.core.client.IdentityValueProvider; import com.sencha.gxt.core.client.Style.SelectionMode; +import com.sencha.gxt.core.client.XTemplates; import com.sencha.gxt.data.client.loader.RpcProxy; import com.sencha.gxt.data.shared.ListStore; import com.sencha.gxt.data.shared.ModelKeyProvider; @@ -74,10 +76,16 @@ import com.sencha.gxt.widget.core.client.toolbar.ToolBar; public class TabResourcesSelectionPanel extends ContentPanel implements HasSelectionHandlers { + interface NameTooltipTemplates extends XTemplates { + @XTemplate("{value}") + SafeHtml format(String value, String desc); - protected Grid grid; - protected ResourceBundle res; - protected Menu contextMenu; + } + + + private Grid grid; + private ResourceBundle res; + private Menu contextMenu; private TabResource removableTR; @@ -127,9 +135,51 @@ public class TabResourcesSelectionPanel extends ContentPanel implements TabResourcesProperties properties = GWT .create(TabResourcesProperties.class); + + final ExtendedListStore store = new ExtendedListStore( + properties.id()); + + searchField.addKeyUpHandler(new KeyUpHandler() { + + public void onKeyUp(KeyUpEvent event) { + Log.trace("searchTerm: " + searchField.getCurrentValue()); + store.applyFilters(); + } + }); + + store.addFilter(new StoreFilter() { + + public boolean select(Store store, TabResource parent, + TabResource item) { + String searchTerm = searchField.getCurrentValue(); + if (searchTerm == null) + return true; + return TabResourcesSelectionPanel.this.select(item, searchTerm); + } + }); + + store.setEnableFilters(true); + + + ColumnConfig nameColumn = new ColumnConfig( properties.name(), 90, "Name"); + /* + nameColumn.setCell( + new AbstractCell() { + + @Override + public void render(Context context, String value, SafeHtmlBuilder sb) { + TabResource tabResource=store.get(context.getIndex()); + + final NameTooltipTemplates nameToolTipTemplates = GWT + .create(NameTooltipTemplates.class); + sb.append(nameToolTipTemplates.format(value, tabResource.getDescription())); + + } + });*/ + ColumnConfig typeColumn = new ColumnConfig( properties.tabResourceType(), 30, "Type"); ColumnConfig tableTypeNameColumn = new ColumnConfig( @@ -175,30 +225,7 @@ public class TabResourcesSelectionPanel extends ContentPanel implements ColumnModel cm = new ColumnModel(columns); - final ExtendedListStore store = new ExtendedListStore( - properties.id()); - - searchField.addKeyUpHandler(new KeyUpHandler() { - - public void onKeyUp(KeyUpEvent event) { - Log.trace("searchTerm: " + searchField.getCurrentValue()); - store.applyFilters(); - } - }); - - store.addFilter(new StoreFilter() { - - public boolean select(Store store, TabResource parent, - TabResource item) { - String searchTerm = searchField.getCurrentValue(); - if (searchTerm == null) - return true; - return TabResourcesSelectionPanel.this.select(item, searchTerm); - } - }); - - store.setEnableFilters(true); - + RpcProxy> proxy = new RpcProxy>() { public void load(ListLoadConfig loadConfig, @@ -224,6 +251,7 @@ public class TabResourcesSelectionPanel extends ContentPanel implements }); } }; + sm.setSelectionMode(SelectionMode.SINGLE); grid.setLoader(loader);