2546: Endow Workspace Resources Explorer with filtering and display features
Task-Url: https://support.d4science.org/issues/2546 git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/workspace-explorer@128639 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
6d7cfa1c79
commit
8055e5f2d7
|
@ -83,7 +83,7 @@ public class WorkspaceExplorerController implements EventHandler {
|
|||
public WorkspaceExplorerController(FilterCriteria filterCriteria, String heightPanel) {
|
||||
bindEvents();
|
||||
//As default all items are showable and selectable
|
||||
wsExplorer = new WorkspaceExplorer(eventBus, filterCriteria, ItemType.values(), ItemType.values(), null);
|
||||
wsExplorer = new WorkspaceExplorer(eventBus, filterCriteria, ItemType.values(), ItemType.values(), null, false);
|
||||
workspaceExplorerPanel = new WorkspaceExplorerPanel(5, wsExplorer.getPanel(), breadcrumbs, navigation, heightPanel);
|
||||
}
|
||||
|
||||
|
@ -101,7 +101,7 @@ public class WorkspaceExplorerController implements EventHandler {
|
|||
public WorkspaceExplorerController(FilterCriteria filterCriteria, List<String> showProperties, String heightPanel) {
|
||||
bindEvents();
|
||||
//As default all items are showable and selectable
|
||||
wsExplorer = new WorkspaceExplorer(eventBus, filterCriteria, ItemType.values(), ItemType.values(), showProperties);
|
||||
wsExplorer = new WorkspaceExplorer(eventBus, filterCriteria, ItemType.values(), ItemType.values(), showProperties, false);
|
||||
workspaceExplorerPanel = new WorkspaceExplorerPanel(5, wsExplorer.getPanel(), breadcrumbs, navigation, heightPanel);
|
||||
}
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@ public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWor
|
|||
* @throws Exception the exception
|
||||
*/
|
||||
public WorkspaceResourcesExplorerPanel(String folderId, String folderName) throws Exception {
|
||||
initExplorer(folderId, folderName, ItemType.values(), ItemType.values(), null, null);
|
||||
initExplorer(folderId, folderName, ItemType.values(), ItemType.values(), null, null, false);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -87,9 +87,9 @@ public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWor
|
|||
if(showOnlyFolders){
|
||||
ItemType[] itemsType = new ItemType[1];
|
||||
itemsType[0] = ItemType.FOLDER;
|
||||
initExplorer(folderId, "", itemsType, itemsType, null, null);
|
||||
initExplorer(folderId, "", itemsType, itemsType, null, null, false);
|
||||
}else{
|
||||
initExplorer(folderId, "", ItemType.values(), ItemType.values(), null, null);
|
||||
initExplorer(folderId, "", ItemType.values(), ItemType.values(), null, null, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -107,12 +107,34 @@ public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWor
|
|||
if(showOnlyFolders){
|
||||
ItemType[] itemsType = new ItemType[1];
|
||||
itemsType[0] = ItemType.FOLDER;
|
||||
initExplorer(folderId, "", itemsType, itemsType, showProperties, filter);
|
||||
initExplorer(folderId, "", itemsType, itemsType, showProperties, filter, false);
|
||||
}else{
|
||||
initExplorer(folderId, "", ItemType.values(), ItemType.values(), showProperties, filter);
|
||||
initExplorer(folderId, "", ItemType.values(), ItemType.values(), showProperties, filter, false);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Instantiates a new workspace explorer select panel.
|
||||
*
|
||||
* @param folderId the folder id
|
||||
* @param showOnlyFolders the show only folders
|
||||
* @param showProperties the show properties - show the input properties as column/s
|
||||
* @param filter the filter - get only workspace item/s with input key=value like GcubeProperty
|
||||
* @param showGcubeInfo the show gcube info - if true shows all the properties associated to a file (or a gcube item) by opening a popup window when clicking on the item
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
public WorkspaceResourcesExplorerPanel(String folderId, boolean showOnlyFolders, List<String> showProperties, FilterCriteria filter, boolean showGcubeInfo) throws Exception {
|
||||
|
||||
if(showOnlyFolders){
|
||||
ItemType[] itemsType = new ItemType[1];
|
||||
itemsType[0] = ItemType.FOLDER;
|
||||
initExplorer(folderId, "", itemsType, itemsType, showProperties, filter, showGcubeInfo);
|
||||
}else{
|
||||
initExplorer(folderId, "", ItemType.values(), ItemType.values(), showProperties, filter, showGcubeInfo);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Inits the explorer.
|
||||
*
|
||||
|
@ -122,15 +144,16 @@ public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWor
|
|||
* @param showableTypes the showable types
|
||||
* @param showProperties the show properties
|
||||
* @param filter the filter
|
||||
* @param showGcubeInfo the show gcube info - shows all the properties associated to a file (or a gcube item) stored into related gcube item by opening a popup window when clicking on the item
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
private void initExplorer(String folderId, String folderName, ItemType[] selectableTypes, ItemType[] showableTypes, List<String> showProperties, FilterCriteria filter) throws Exception{
|
||||
private void initExplorer(String folderId, String folderName, ItemType[] selectableTypes, ItemType[] showableTypes, List<String> showProperties, FilterCriteria filter, boolean showGcubeInfo) throws Exception{
|
||||
this.folderId = folderId;
|
||||
this.folderName = folderName;
|
||||
this.showProperties = showProperties;
|
||||
this.filterCriteria = filter;
|
||||
bindEvents();
|
||||
wsExplorer = new WorkspaceExplorer(eventBus, filter, showableTypes, selectableTypes, showProperties, new DISPLAY_FIELD[]{DISPLAY_FIELD.ICON, DISPLAY_FIELD.NAME, DISPLAY_FIELD.CREATION_DATE});
|
||||
wsExplorer = new WorkspaceExplorer(eventBus, filter, showableTypes, selectableTypes, showProperties, showGcubeInfo, new DISPLAY_FIELD[]{DISPLAY_FIELD.ICON, DISPLAY_FIELD.NAME, DISPLAY_FIELD.CREATION_DATE});
|
||||
Item item = new Item(folderId, folderName, true);
|
||||
wsExplorer.loadFolder(item, true);
|
||||
initPanel("");
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
package org.gcube.portlets.widgets.wsexplorer.client.rpc;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||
|
@ -185,4 +186,14 @@ public interface WorkspaceExplorerService extends RemoteService {
|
|||
*/
|
||||
Item createFolder(String nameFolder, String description, String parentId)
|
||||
throws Exception;
|
||||
|
||||
|
||||
/**
|
||||
* Gets the gcube properties for worspace id.
|
||||
*
|
||||
* @param id the id
|
||||
* @return the gcube properties for worspace id
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
Map<String, String> getGcubePropertiesForWorspaceId(String id) throws Exception;
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
package org.gcube.portlets.widgets.wsexplorer.client.rpc;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||
|
@ -186,4 +187,15 @@ public interface WorkspaceExplorerServiceAsync {
|
|||
void createFolder(
|
||||
String nameFolder, String description, String parentId,
|
||||
AsyncCallback<Item> callback);
|
||||
|
||||
|
||||
/**
|
||||
* Gets the gcube properties for worspace id.
|
||||
*
|
||||
* @param id the id
|
||||
* @param callback the callback
|
||||
* @return the gcube properties for worspace id
|
||||
*/
|
||||
void getGcubePropertiesForWorspaceId(String id, AsyncCallback<Map<String, String>> callback);
|
||||
|
||||
}
|
||||
|
|
|
@ -59,19 +59,26 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
|
|||
private HandlerManager eventBus;
|
||||
|
||||
private Item displayingFolderItem;
|
||||
private boolean showGcubeItemsInfo;
|
||||
|
||||
|
||||
/**
|
||||
* Instantiates a new workspace explorer.
|
||||
* Instantiates a new workspace explorer - This is the base constructor
|
||||
*
|
||||
* @param eventBus the event bus
|
||||
* @param showableTypes the showable types
|
||||
* @param selectableTypes the selectable types
|
||||
* @param displayProperties the display properties
|
||||
* @param showGcubeInfo the show gcube info
|
||||
* @param fields the fields
|
||||
*/
|
||||
private WorkspaceExplorer(HandlerManager eventBus, ItemType[] showableTypes, ItemType[] selectableTypes){
|
||||
private WorkspaceExplorer(HandlerManager eventBus, ItemType[] showableTypes, ItemType[] selectableTypes, List<String> displayProperties, boolean showGcubeInfo, DISPLAY_FIELD[] fields){
|
||||
this.eventBus = eventBus;
|
||||
this.showGcubeItemsInfo = showGcubeInfo;
|
||||
setShowableTypes(showableTypes);
|
||||
setSelectableTypes(selectableTypes);
|
||||
explorerPanel = new ScrollPanel();
|
||||
itTables = new ItemsTable<Item>(eventBus, true, fields, displayProperties, showGcubeItemsInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -83,8 +90,8 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
|
|||
* @param fields the fields
|
||||
*/
|
||||
public WorkspaceExplorer(HandlerManager eventBus, ItemType[] showableTypes, ItemType[] selectableTypes, DISPLAY_FIELD...fields) {
|
||||
this(eventBus, showableTypes, selectableTypes);
|
||||
itTables = new ItemsTable<Item>(eventBus, true, fields, null);
|
||||
this(eventBus, showableTypes, selectableTypes, null, false, fields);
|
||||
// itTables = new ItemsTable<Item>(eventBus, true, fields, null, showGcubeItemsInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -97,8 +104,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
|
|||
* @param fields the fields
|
||||
*/
|
||||
public WorkspaceExplorer(HandlerManager eventBus, ItemType[] showableTypes, ItemType[] selectableTypes, List<String> displayProperties, DISPLAY_FIELD...fields) {
|
||||
this(eventBus, showableTypes, selectableTypes);
|
||||
itTables = new ItemsTable<Item>(eventBus, true, fields, displayProperties);
|
||||
this(eventBus, showableTypes, selectableTypes, displayProperties, false, fields);
|
||||
}
|
||||
|
||||
|
||||
|
@ -110,11 +116,13 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
|
|||
* @param showableTypes the showable types
|
||||
* @param selectableTypes the selectable types
|
||||
* @param displayProperties the display properties
|
||||
* @param showGcubeInfo the show gcube info
|
||||
* @param fields the fields
|
||||
*/
|
||||
public WorkspaceExplorer(HandlerManager eventBus, FilterCriteria filterCriteria, ItemType[] showableTypes, ItemType[] selectableTypes, List<String> displayProperties, DISPLAY_FIELD...fields) {
|
||||
this(eventBus, showableTypes, selectableTypes, displayProperties, fields);
|
||||
public WorkspaceExplorer(HandlerManager eventBus, FilterCriteria filterCriteria, ItemType[] showableTypes, ItemType[] selectableTypes, List<String> displayProperties, boolean showGcubeInfo, DISPLAY_FIELD...fields) {
|
||||
this(eventBus, showableTypes, selectableTypes, displayProperties, showGcubeInfo, fields);
|
||||
this.filterCriteria = filterCriteria;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
/**
|
||||
*
|
||||
*/
|
||||
package org.gcube.portlets.widgets.wsexplorer.client.view.gcubeitem;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||
* May 17, 2016
|
||||
*/
|
||||
public class DialogGcubeItem {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public DialogGcubeItem(String id) {
|
||||
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
}
|
|
@ -0,0 +1,198 @@
|
|||
/**
|
||||
*
|
||||
*/
|
||||
package org.gcube.portlets.widgets.wsexplorer.client.view.gcubeitem;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerConstants;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.resources.WorkspaceExplorerResources;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.resources.client.ImageResource;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.Button;
|
||||
import com.google.gwt.user.client.ui.DialogBox;
|
||||
import com.google.gwt.user.client.ui.DockPanel;
|
||||
import com.google.gwt.user.client.ui.FlexTable;
|
||||
import com.google.gwt.user.client.ui.HTML;
|
||||
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
|
||||
import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||
import com.google.gwt.user.client.ui.Image;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
|
||||
|
||||
/**
|
||||
* The Class DialogShowGcubeItem.
|
||||
*
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||
* May 17, 2016
|
||||
*
|
||||
* Shows a Dialog with gcube items related to WorkspaceItemId.
|
||||
*/
|
||||
public class DialogShowGcubeItem extends DialogBox implements ClickHandler {
|
||||
|
||||
private DockPanel dock = new DockPanel();
|
||||
private Button yesButton;
|
||||
private VerticalPanel vpContainer;
|
||||
private ImageResource loading = WorkspaceExplorerResources.ICONS.loading();
|
||||
private HorizontalPanel hpButtons = new HorizontalPanel();
|
||||
|
||||
|
||||
/**
|
||||
* Instantiates a new dialog show gcube items related to WorkspaceItemId.
|
||||
*
|
||||
* @param caption the caption
|
||||
* @param text the text
|
||||
* @param item the worksapce item id
|
||||
*/
|
||||
public DialogShowGcubeItem(String caption, String text, Item item) {
|
||||
getElement().setClassName("gwt-DialogBoxNew");
|
||||
dock.setSpacing(4);
|
||||
dock.setWidth("100%");
|
||||
setText(caption);
|
||||
|
||||
yesButton = new Button("Ok");
|
||||
yesButton.addClickHandler(new ClickHandler() {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
hide();
|
||||
}
|
||||
});
|
||||
|
||||
vpContainer = new VerticalPanel();
|
||||
vpContainer.getElement().getStyle().setMargin(20.0, Unit.PX);
|
||||
vpContainer.add(new HTML(text));
|
||||
hpButtons = new HorizontalPanel();
|
||||
hpButtons.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
|
||||
hpButtons.setSpacing(3);
|
||||
yesButton.getElement().getStyle().setMarginRight(20.0, Unit.PX);
|
||||
hpButtons.add(yesButton);
|
||||
|
||||
dock.add(hpButtons, DockPanel.SOUTH);
|
||||
dock.setCellHorizontalAlignment(hpButtons, DockPanel.ALIGN_CENTER);
|
||||
|
||||
dock.add(vpContainer, DockPanel.CENTER);
|
||||
setWidget(dock);
|
||||
|
||||
|
||||
if(item.getGcubeProperties()!=null){
|
||||
FlexTable table = buildGcubeItemView(item.getGcubeProperties());
|
||||
addToCenterPanel(table);
|
||||
|
||||
}else{
|
||||
addLoader("Re-loading Gcube Properties Info...");
|
||||
WorkspaceExplorerConstants.workspaceNavigatorService.getGcubePropertiesForWorspaceId(item.getId(), new AsyncCallback<Map<String,String>>() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(Map<String, String> result) {
|
||||
FlexTable table = buildGcubeItemView(result);
|
||||
removeLoader();
|
||||
addToCenterPanel(table);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
removeLoader();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds the gcube item view.
|
||||
*
|
||||
* @param map the map
|
||||
* @return the flex table
|
||||
*/
|
||||
private FlexTable buildGcubeItemView(Map<String, String> map){
|
||||
|
||||
FlexTable table = new FlexTable();
|
||||
|
||||
if(map.size()==0){
|
||||
table.setHTML(0, 0, "No properties");
|
||||
return table;
|
||||
}
|
||||
|
||||
int i = 0;
|
||||
for (String key : map.keySet()) {
|
||||
String value = map.get(key);
|
||||
table.setHTML(i, 0, key);
|
||||
table.setHTML(i, 1, value);
|
||||
}
|
||||
return table;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* com.google.gwt.event.dom.client.ClickHandler#onClick(com.google.gwt.event
|
||||
* .dom.client.ClickEvent)
|
||||
*/
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
// hide();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Adds the loader.
|
||||
*
|
||||
* @param message the message
|
||||
*/
|
||||
private void addLoader(String message){
|
||||
try{
|
||||
dock.remove(hpButtons);
|
||||
}catch(Exception e){}
|
||||
vpContainer.clear();
|
||||
HorizontalPanel hpMask = new HorizontalPanel();
|
||||
hpMask.add(new Image(loading));
|
||||
HTML html = new HTML(message);
|
||||
html.getElement().getStyle().setMarginLeft(5, Unit.PX);
|
||||
hpMask.add(html);
|
||||
vpContainer.add(hpMask);
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes the loader.
|
||||
*/
|
||||
private void removeLoader(){
|
||||
try{
|
||||
dock.add(hpButtons);
|
||||
}catch(Exception e){}
|
||||
vpContainer.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the to center panel.
|
||||
*
|
||||
* @param w the w
|
||||
*/
|
||||
public void addToCenterPanel(Widget w) {
|
||||
vpContainer.add(w);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the dock.
|
||||
*
|
||||
* @return the dock
|
||||
*/
|
||||
public DockPanel getDock() {
|
||||
return dock;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the yes button.
|
||||
*
|
||||
* @return the yes button
|
||||
*/
|
||||
public Button getYesButton() {
|
||||
return yesButton;
|
||||
}
|
||||
}
|
|
@ -11,7 +11,9 @@ import java.util.List;
|
|||
import java.util.Set;
|
||||
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.Util;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.resources.WorkspaceExplorerResources;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.view.SelectionItem;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.view.gcubeitem.DialogShowGcubeItem;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||
|
||||
import com.github.gwtbootstrap.client.ui.Pagination;
|
||||
|
@ -19,6 +21,8 @@ import com.google.gwt.cell.client.ButtonCell;
|
|||
import com.google.gwt.cell.client.Cell.Context;
|
||||
import com.google.gwt.cell.client.DateCell;
|
||||
import com.google.gwt.cell.client.ImageResourceCell;
|
||||
import com.google.gwt.dom.client.Element;
|
||||
import com.google.gwt.dom.client.NativeEvent;
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
import com.google.gwt.event.shared.HandlerManager;
|
||||
import com.google.gwt.i18n.client.DateTimeFormat;
|
||||
|
@ -46,6 +50,7 @@ public class ItemsTable<T extends Item> extends AbstractItemsCellTable<T> implem
|
|||
private TextColumn<T> name;
|
||||
private TextColumn<T> owner;
|
||||
public DateTimeFormat dtformat = DateTimeFormat.getFormat("dd MMM hh:mm aaa yyyy");
|
||||
public ImageResource info = WorkspaceExplorerResources.ICONS.info();
|
||||
// private Item selectedItem = null;
|
||||
|
||||
/**
|
||||
|
@ -58,6 +63,7 @@ public class ItemsTable<T extends Item> extends AbstractItemsCellTable<T> implem
|
|||
private List<DISPLAY_FIELD> displayFields;
|
||||
private Column<T, Date> dateColumn;
|
||||
private List<String> displayProperties;
|
||||
private boolean showGcubeItemsInfo;
|
||||
|
||||
/**
|
||||
* Instantiates a new items table.
|
||||
|
@ -66,15 +72,25 @@ public class ItemsTable<T extends Item> extends AbstractItemsCellTable<T> implem
|
|||
* @param showMoreInfo the show more info
|
||||
* @param fields the fields
|
||||
* @param displayProperties the display properties
|
||||
* @param showGcubeItemsInfo
|
||||
*/
|
||||
public ItemsTable(HandlerManager eventBus, boolean showMoreInfo, DISPLAY_FIELD[] fields, List<String> displayProperties) {
|
||||
public ItemsTable(HandlerManager eventBus, boolean showMoreInfo, DISPLAY_FIELD[] fields, List<String> displayProperties, boolean showGcubeItemsInfo) {
|
||||
super(eventBus, showMoreInfo);
|
||||
setDisplayFields(fields);
|
||||
setDisplayProperties(displayProperties);
|
||||
setShowGcubeItemsInfo(showGcubeItemsInfo);
|
||||
initTable(null, null);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param showGcubeItemsInfo
|
||||
*/
|
||||
private void setShowGcubeItemsInfo(boolean showGcubeItemsInfo) {
|
||||
this.showGcubeItemsInfo = showGcubeItemsInfo;
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.gcube.portlets.widgets.wsexplorer.client.view.grid.AbstractItemsCellTable#updateItems(java.util.List, boolean)
|
||||
*/
|
||||
|
@ -83,7 +99,6 @@ public class ItemsTable<T extends Item> extends AbstractItemsCellTable<T> implem
|
|||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Adds the items.
|
||||
*
|
||||
|
@ -260,6 +275,51 @@ public class ItemsTable<T extends Item> extends AbstractItemsCellTable<T> implem
|
|||
}
|
||||
}
|
||||
|
||||
if(showGcubeItemsInfo){
|
||||
|
||||
//ICONS
|
||||
ImageResourceCell showGcubeInfo = new ImageResourceCell() {
|
||||
public Set<String> getConsumedEvents() {
|
||||
HashSet<String> events = new HashSet<String>();
|
||||
events.add("click");
|
||||
return events;
|
||||
}
|
||||
};
|
||||
|
||||
Column<T, ImageResource> showGcubeInfoClm = new Column<T, ImageResource>(showGcubeInfo) {
|
||||
@Override
|
||||
public ImageResource getValue(T dataObj) {
|
||||
return info;
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see com.google.gwt.user.cellview.client.Column#render(com.google.gwt.cell.client.Cell.Context, java.lang.Object, com.google.gwt.safehtml.shared.SafeHtmlBuilder)
|
||||
*/
|
||||
@Override
|
||||
public void render(Context context, T object, SafeHtmlBuilder sb) {
|
||||
super.render(context, object, sb);
|
||||
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.google.gwt.user.cellview.client.Column#onBrowserEvent(com.google.gwt.cell.client.Cell.Context, com.google.gwt.dom.client.Element, java.lang.Object, com.google.gwt.dom.client.NativeEvent)
|
||||
*/
|
||||
@Override
|
||||
public void onBrowserEvent(
|
||||
Context context, Element elem, T object, NativeEvent event) {
|
||||
|
||||
super.onBrowserEvent(context, elem, object, event);
|
||||
if ("click".equals(event.getType())) {
|
||||
Item item = object;
|
||||
DialogShowGcubeItem dg = new DialogShowGcubeItem("Gcube Items for: "+item.getName(), null, item);
|
||||
dg.show();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
showGcubeInfoClm.setSortable(false);
|
||||
cellTable.addColumn(showGcubeInfoClm, "");
|
||||
}
|
||||
|
||||
/*final SingleSelectionModel<Item> selectionModel = new SingleSelectionModel<Item>();
|
||||
selectionModel.addSelectionChangeHandler(new Handler() {
|
||||
@Override
|
||||
|
|
|
@ -3,5 +3,6 @@
|
|||
* SPECIFIC CSS FOR WORKSPACE EXPLORER
|
||||
*
|
||||
*
|
||||
* See: /src/main/java/org/gcube/portlets/widgets/wsexplorer/resources/css/bootstrap.min.css
|
||||
**************************************************/
|
||||
* See: org.gcube.portlets.widgets.wsexplorer.resources.BootstrapOverrideResources
|
||||
*
|
||||
**************************************************/
|
||||
|
|
|
@ -77,4 +77,75 @@
|
|||
|
||||
.margin-right-5px {
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
/**** GWT DIALOG NEW STYLE****/
|
||||
.gwt-DialogBoxNew{
|
||||
border: 8px solid #99C0E8;
|
||||
border-radius: 6px 6px 6px 6px;
|
||||
box-shadow: none;
|
||||
line-height: 7px;
|
||||
opacity: 1;
|
||||
z-index: 2000;
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.gwt-DialogBoxNew .Caption {
|
||||
background: none repeat scroll 0 0 #99C0E8;
|
||||
border: medium none #D4D4D4;
|
||||
cursor: default;
|
||||
font-family: Arial Unicode MS, Arial, sans-serif !important;
|
||||
font-size: 18px;
|
||||
font-weight: 400;
|
||||
line-height: 27px;
|
||||
padding: 2px 0px 0px 0px;
|
||||
}
|
||||
|
||||
.gwt-DialogBoxNew .dialogContent {
|
||||
|
||||
}
|
||||
|
||||
.gwt-DialogBoxNew .dialogMiddleCenter {
|
||||
padding: 3px;
|
||||
background: white;
|
||||
}
|
||||
|
||||
.gwt-DialogBoxNew .dialogBottomCenter {
|
||||
|
||||
}
|
||||
|
||||
.gwt-DialogBoxNew .dialogMiddleLeft {
|
||||
/* background: url(images/vborder.png) repeat-y -31px 0px; */
|
||||
|
||||
}
|
||||
|
||||
.gwt-DialogBoxNew .dialogMiddleRight {
|
||||
/* background: url(images/vborder.png) repeat-y -32px 0px;*/
|
||||
|
||||
}
|
||||
|
||||
.gwt-DialogBoxNew .dialogTopLeft {
|
||||
/* background: url(images/circles.png) no-repeat -20px 0px;
|
||||
-background: url(images/circles_ie6.png) no-repeat -20px 0px; */
|
||||
background: none repeat scroll 0 0 #E4E4E4;
|
||||
}
|
||||
|
||||
.gwt-DialogBoxNew .dialogTopRight {
|
||||
/* background: url(images/circles.png) no-repeat -28px 0px;
|
||||
-background: url(images/circles_ie6.png) no-repeat -28px 0px; */
|
||||
background: none repeat scroll 0 0 #E4E4E4;
|
||||
}
|
||||
|
||||
.gwt-DialogBoxNew .dialogBottomLeft {
|
||||
/* background: url(images/circles.png) no-repeat 0px -36px;
|
||||
-background: url(images/circles_ie6.png) no-repeat 0px -36px; */
|
||||
|
||||
}
|
||||
|
||||
.gwt-DialogBoxNew .dialogBottomRight {
|
||||
/* background: url(images/circles.png) no-repeat -8px -36px;
|
||||
-background: url(images/circles_ie6.png) no-repeat -8px -36px; */
|
||||
|
||||
}
|
||||
|
||||
/**** END GWT DIALOG NEW STYLE ****/
|
|
@ -3,7 +3,9 @@ package org.gcube.portlets.widgets.wsexplorer.server;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
@ -652,4 +654,29 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.gcube.portlets.widgets.wsexplorer.client.rpc.WorkspaceExplorerService#getGcubePropertiesForWorspaceId(java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public Map<String, String> getGcubePropertiesForWorspaceId(String id) throws Exception {
|
||||
logger.trace("getGcubePropertiesForWorspaceId "+id);
|
||||
try {
|
||||
|
||||
if(id==null || id.isEmpty()){
|
||||
logger.info(id +" is null or empty returing empty map as GcubeProperties");
|
||||
return new HashMap<String, String>(1);
|
||||
}
|
||||
|
||||
Workspace workspace = getWorkspace();
|
||||
WorkspaceItem item = workspace.getItem(id);
|
||||
|
||||
return ItemBuilder.getGcubePropertiesForItem(item);
|
||||
|
||||
} catch (Exception e) {
|
||||
logger.error("Error during folder retrieving", e);
|
||||
throw new WorkspaceNavigatorServiceException("Sorry, an error occurred when performing get folder");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue