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
This commit is contained in:
Francesco Mangiacrapa 2015-06-25 10:56:41 +00:00
parent 9f9ebc5b5b
commit 7946490b18
32 changed files with 186 additions and 20 deletions

View File

@ -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();
}
}
}
}

View File

@ -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() {

View File

@ -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();
}

View File

@ -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();
}

View File

@ -0,0 +1,7 @@
/* @url <constant name> <DataResource method name> */
@url invalidNameUrl invalidName;
.nameError{
background:#fff invalidNameUrl repeat-x bottom;
border: 1px solid #dd7870;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 980 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 666 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 997 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 980 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 855 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 815 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 603 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 775 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 835 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 649 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 519 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 806 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 614 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 756 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 444 B

View File

@ -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")

View File

@ -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");