256: Workspace explorer
Task-Url: https://support.d4science.org/issues/256 Added icons Updated grid git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/workspace-explorer@115536 82a268e6-3cf1-43bd-a215-b396298e98cf
|
@ -3,8 +3,12 @@
|
|||
*/
|
||||
package org.gcube.portlets.widgets.wsexplorer.client;
|
||||
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.resources.old.WorkspaceLightTreeResources;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.ItemType;
|
||||
|
||||
import com.google.gwt.resources.client.ImageResource;
|
||||
|
||||
/**
|
||||
* The Class Util.
|
||||
*
|
||||
|
@ -52,4 +56,43 @@ public class Util {
|
|||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the image based on the item type.
|
||||
* @param type the item type.
|
||||
* @return the image.
|
||||
*/
|
||||
public static ImageResource getImage(Item item)
|
||||
{
|
||||
switch (item.getType()) {
|
||||
case ROOT: return WorkspaceLightTreeResources.INSTANCE.root();
|
||||
case FOLDER: {
|
||||
if (item.isSharedFolder()) return WorkspaceLightTreeResources.INSTANCE.sharedFolder();
|
||||
else return WorkspaceLightTreeResources.INSTANCE.folder();
|
||||
}
|
||||
case EXTERNAL_IMAGE: return WorkspaceLightTreeResources.INSTANCE.external_image();
|
||||
case EXTERNAL_FILE: return WorkspaceLightTreeResources.INSTANCE.external_file();
|
||||
case EXTERNAL_PDF_FILE: return WorkspaceLightTreeResources.INSTANCE.external_pdf();
|
||||
case EXTERNAL_URL: return WorkspaceLightTreeResources.INSTANCE.external_url();
|
||||
case REPORT_TEMPLATE: return WorkspaceLightTreeResources.INSTANCE.report_template();
|
||||
case REPORT: return WorkspaceLightTreeResources.INSTANCE.report();
|
||||
case QUERY: return WorkspaceLightTreeResources.INSTANCE.query();
|
||||
case DOCUMENT: return WorkspaceLightTreeResources.INSTANCE.document();
|
||||
case METADATA: return WorkspaceLightTreeResources.INSTANCE.metadata();
|
||||
case PDF_DOCUMENT: return WorkspaceLightTreeResources.INSTANCE.pdf_document();
|
||||
case IMAGE_DOCUMENT: return WorkspaceLightTreeResources.INSTANCE.image_document();
|
||||
case URL_DOCUMENT: return WorkspaceLightTreeResources.INSTANCE.url_document();
|
||||
// case TIME_SERIES: return WorkspaceLightTreeResources.INSTANCE.timeseries();
|
||||
// case AQUAMAPS_ITEM: return WorkspaceLightTreeResources.INSTANCE.aquamaps();
|
||||
// case WORKFLOW_REPORT: return WorkspaceLightTreeResources.INSTANCE.workflow_report();
|
||||
// case WORKFLOW_TEMPLATE: return WorkspaceLightTreeResources.INSTANCE.workflow_template();
|
||||
|
||||
case UNKNOWN_TYPE: return WorkspaceLightTreeResources.INSTANCE.unknownType();
|
||||
default: {
|
||||
System.err.println("Unknown item type "+item.getType());
|
||||
return WorkspaceLightTreeResources.INSTANCE.unknownType();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import java.util.HashSet;
|
|||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.Util;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||
|
||||
import com.github.gwtbootstrap.client.ui.Pagination;
|
||||
|
@ -38,7 +39,6 @@ public class ItemsTable extends AbstractItemsCellTable{
|
|||
private Column<Item, ImageResource> icon;
|
||||
private TextColumn<Item> name;
|
||||
private TextColumn<Item> owner;
|
||||
private TextColumn<Item> lastModified;
|
||||
/**
|
||||
* Instantiates a new packages table.
|
||||
*
|
||||
|
@ -80,8 +80,6 @@ public class ItemsTable extends AbstractItemsCellTable{
|
|||
public void initTable(AbstractCellTable<Item> packageTable, final SimplePager pager, final Pagination pagination) {
|
||||
packageTable.setEmptyTableWidget(new Label("No data."));
|
||||
|
||||
double artifactIDWidht = 40.0;
|
||||
|
||||
//ICONS
|
||||
ImageResourceCell iconResourceCell = new ImageResourceCell() {
|
||||
public Set<String> getConsumedEvents() {
|
||||
|
@ -95,11 +93,7 @@ public class ItemsTable extends AbstractItemsCellTable{
|
|||
icon = new Column<Item, ImageResource>(iconResourceCell) {
|
||||
@Override
|
||||
public ImageResource getValue(Item dataObj) {
|
||||
|
||||
// if(dataObj.getURL()!=null && !dataObj.getURL().isEmpty())
|
||||
// return Icons.ICONS.download();
|
||||
|
||||
return null;
|
||||
return Util.getImage(dataObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -122,7 +116,8 @@ public class ItemsTable extends AbstractItemsCellTable{
|
|||
};
|
||||
icon.setCellStyleNames("img-centered-clickable");
|
||||
icon.setSortable(false);
|
||||
|
||||
packageTable.addColumn(icon, "");
|
||||
packageTable.setColumnWidth(icon, 10.0, Unit.PCT);
|
||||
|
||||
//ARTIFACT ID
|
||||
name = new TextColumn<Item>() {
|
||||
|
@ -133,7 +128,7 @@ public class ItemsTable extends AbstractItemsCellTable{
|
|||
};
|
||||
name.setSortable(true);
|
||||
packageTable.addColumn(name, "Name");
|
||||
packageTable.setColumnWidth(name, artifactIDWidht, Unit.PCT);
|
||||
packageTable.setColumnWidth(name, 60.0, Unit.PCT);
|
||||
|
||||
ListHandler<Item> nameColumnHandler = new ListHandler<Item>(dataProvider.getList());
|
||||
nameColumnHandler.setComparator(name, new Comparator<Item>() {
|
||||
|
@ -144,23 +139,30 @@ public class ItemsTable extends AbstractItemsCellTable{
|
|||
});
|
||||
|
||||
packageTable.addColumnSortHandler(nameColumnHandler);
|
||||
/*
|
||||
|
||||
owner = new TextColumn<Item>() {
|
||||
@Override
|
||||
public String getValue(Item object) {
|
||||
return object.getVersion() != null ? object.getVersion() : "";
|
||||
return object.getOwner() != null ? object.getOwner() : "";
|
||||
}
|
||||
};
|
||||
|
||||
owner.setCellStyleNames("img-centered-clickable");
|
||||
owner.setSortable(true);
|
||||
packageTable.addColumn(owner, "Version");
|
||||
*/
|
||||
packageTable.setColumnWidth(owner, 10.0, Unit.PCT);
|
||||
packageTable.addColumn(owner, "Owner");
|
||||
packageTable.setColumnWidth(owner, 40.0, Unit.PCT);
|
||||
|
||||
ListHandler<Item> ownerColumnHandler = new ListHandler<Item>(dataProvider.getList());
|
||||
nameColumnHandler.setComparator(owner, new Comparator<Item>() {
|
||||
@Override
|
||||
public int compare(Item o1, Item o2) {
|
||||
return o1.getOwner().compareTo(o2.getOwner());
|
||||
}
|
||||
});
|
||||
packageTable.addColumnSortHandler(ownerColumnHandler);
|
||||
/*
|
||||
packageTable.addColumn(icon, "Download");
|
||||
packageTable.setColumnWidth(icon, 10.0, Unit.PCT);
|
||||
|
||||
*/
|
||||
//MAVEN COORDS
|
||||
ImageResourceCell myImgMavenCell = new ImageResourceCell() {
|
||||
public Set<String> getConsumedEvents() {
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
/**
|
||||
*
|
||||
*/
|
||||
package org.gcube.portlets.widgets.wsexplorer.client.resources.old;
|
||||
|
||||
import com.google.gwt.resources.client.CssResource;
|
||||
|
||||
/**
|
||||
* @author Federico De Faveri defaveri@isti.cnr.it
|
||||
*
|
||||
*/
|
||||
public interface WorkspaceLightTreeCss extends CssResource {
|
||||
|
||||
public String nameError();
|
||||
|
||||
}
|
|
@ -0,0 +1,96 @@
|
|||
/**
|
||||
*
|
||||
*/
|
||||
package org.gcube.portlets.widgets.wsexplorer.client.resources.old;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.resources.client.ClientBundle;
|
||||
import com.google.gwt.resources.client.DataResource;
|
||||
import com.google.gwt.resources.client.ImageResource;
|
||||
|
||||
/**
|
||||
* @author Federico De Faveri defaveri@isti.cnr.it
|
||||
*
|
||||
*/
|
||||
public interface WorkspaceLightTreeResources extends ClientBundle {
|
||||
|
||||
public static final WorkspaceLightTreeResources INSTANCE = GWT.create(WorkspaceLightTreeResources.class);
|
||||
|
||||
@Source("root.png")
|
||||
ImageResource root();
|
||||
|
||||
@Source("folder.png")
|
||||
ImageResource folder();
|
||||
|
||||
@Source("shared_folder.png")
|
||||
ImageResource sharedFolder();
|
||||
|
||||
@Source("external_image.gif")
|
||||
ImageResource external_image();
|
||||
|
||||
@Source("external_pdf.gif")
|
||||
ImageResource external_pdf();
|
||||
|
||||
@Source("external_file.png")
|
||||
ImageResource external_file();
|
||||
|
||||
@Source("external_resource_link.png")
|
||||
ImageResource external_resource_link();
|
||||
|
||||
@Source("external_url.png")
|
||||
ImageResource external_url();
|
||||
|
||||
@Source("report_template.png")
|
||||
ImageResource report_template();
|
||||
|
||||
@Source("report.png")
|
||||
ImageResource report();
|
||||
|
||||
@Source("query.png")
|
||||
ImageResource query();
|
||||
|
||||
@Source("document.png")
|
||||
ImageResource document();
|
||||
|
||||
@Source("metadata.png")
|
||||
ImageResource metadata();
|
||||
|
||||
@Source("pdf_document.png")
|
||||
ImageResource pdf_document();
|
||||
|
||||
@Source("image_document.png")
|
||||
ImageResource image_document();
|
||||
|
||||
@Source("url_document.png")
|
||||
ImageResource url_document();
|
||||
|
||||
@Source("timeseries.png")
|
||||
ImageResource timeseries();
|
||||
|
||||
@Source("aquamaps.png")
|
||||
ImageResource aquamaps();
|
||||
|
||||
@Source("workflow_report.png")
|
||||
ImageResource workflow_report();
|
||||
|
||||
@Source("workflow_template.png")
|
||||
ImageResource workflow_template();
|
||||
|
||||
@Source("noimage.png")
|
||||
ImageResource unknownType();
|
||||
|
||||
@Source("ajax-loader.gif")
|
||||
ImageResource loading();
|
||||
|
||||
@Source("invalid_name.gif")
|
||||
DataResource invalidName();
|
||||
|
||||
@Source("WorkspacePortletLightTree.css")
|
||||
WorkspaceLightTreeCss css();
|
||||
|
||||
@Source("error.png")
|
||||
ImageResource error();
|
||||
|
||||
@Source("refresh.png")
|
||||
ImageResource refresh();
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
/* @url <constant name> <DataResource method name> */
|
||||
@url invalidNameUrl invalidName;
|
||||
|
||||
.nameError{
|
||||
background:#fff invalidNameUrl repeat-x bottom;
|
||||
border: 1px solid #dd7870;
|
||||
}
|
After Width: | Height: | Size: 673 B |
After Width: | Height: | Size: 980 B |
After Width: | Height: | Size: 294 B |
After Width: | Height: | Size: 666 B |
After Width: | Height: | Size: 464 B |
After Width: | Height: | Size: 997 B |
After Width: | Height: | Size: 980 B |
After Width: | Height: | Size: 855 B |
After Width: | Height: | Size: 343 B |
After Width: | Height: | Size: 537 B |
After Width: | Height: | Size: 650 B |
After Width: | Height: | Size: 815 B |
After Width: | Height: | Size: 603 B |
After Width: | Height: | Size: 128 B |
After Width: | Height: | Size: 591 B |
After Width: | Height: | Size: 775 B |
After Width: | Height: | Size: 835 B |
After Width: | Height: | Size: 649 B |
After Width: | Height: | Size: 519 B |
After Width: | Height: | Size: 806 B |
After Width: | Height: | Size: 887 B |
After Width: | Height: | Size: 566 B |
After Width: | Height: | Size: 614 B |
After Width: | Height: | Size: 756 B |
After Width: | Height: | Size: 444 B |
|
@ -79,7 +79,7 @@ public class Breadcrumbs extends Composite {
|
|||
private void initBreadcrumbs() {
|
||||
breadcrumbs.clear();
|
||||
breadcrumbs.add(new NavLink(""));// INIT
|
||||
breadcrumbs.add(new NavLink(""));
|
||||
breadcrumbs.add(new NavLink("Home"));
|
||||
}
|
||||
|
||||
// @UiHandler("add")
|
||||
|
|
|
@ -8,6 +8,7 @@ import java.util.Map;
|
|||
import org.gcube.portlets.widgets.wsexplorer.client.Util;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.grid.ItemsTable;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.resources.Resources;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.resources.old.WorkspaceLightTreeResources;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.rpc.WorkspaceExplorerService;
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.rpc.WorkspaceExplorerServiceAsync;
|
||||
import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria;
|
||||
|
@ -16,6 +17,7 @@ import org.gcube.portlets.widgets.wsexplorer.shared.ItemType;
|
|||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
import com.google.gwt.resources.client.ImageResource;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.HTML;
|
||||
import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||
|
@ -109,7 +111,7 @@ public class WorkspaceExplorer {
|
|||
// caught);
|
||||
}
|
||||
|
||||
public void onSuccess(Item root) {
|
||||
public void onSuccess(Item item) {
|
||||
GWT.log("workspace tree retrieved.");
|
||||
// tree.setRootItem(root);
|
||||
|
||||
|
@ -119,7 +121,7 @@ public class WorkspaceExplorer {
|
|||
// then we remove the loading icon
|
||||
explorerPanel.clear();
|
||||
ItemsTable itTables = new ItemsTable(false);
|
||||
itTables.addItems(root.getChildren());
|
||||
itTables.addItems(item.getChildren());
|
||||
explorerPanel.add(itTables.getCellTable());
|
||||
|
||||
GWT.log("workspace tree loaded");
|
||||
|
|