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;
|
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 org.gcube.portlets.widgets.wsexplorer.shared.ItemType;
|
||||||
|
|
||||||
|
import com.google.gwt.resources.client.ImageResource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class Util.
|
* The Class Util.
|
||||||
*
|
*
|
||||||
|
@ -52,4 +56,43 @@ public class Util {
|
||||||
}
|
}
|
||||||
return value;
|
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.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.gcube.portlets.widgets.wsexplorer.client.Util;
|
||||||
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||||
|
|
||||||
import com.github.gwtbootstrap.client.ui.Pagination;
|
import com.github.gwtbootstrap.client.ui.Pagination;
|
||||||
|
@ -38,7 +39,6 @@ public class ItemsTable extends AbstractItemsCellTable{
|
||||||
private Column<Item, ImageResource> icon;
|
private Column<Item, ImageResource> icon;
|
||||||
private TextColumn<Item> name;
|
private TextColumn<Item> name;
|
||||||
private TextColumn<Item> owner;
|
private TextColumn<Item> owner;
|
||||||
private TextColumn<Item> lastModified;
|
|
||||||
/**
|
/**
|
||||||
* Instantiates a new packages table.
|
* 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) {
|
public void initTable(AbstractCellTable<Item> packageTable, final SimplePager pager, final Pagination pagination) {
|
||||||
packageTable.setEmptyTableWidget(new Label("No data."));
|
packageTable.setEmptyTableWidget(new Label("No data."));
|
||||||
|
|
||||||
double artifactIDWidht = 40.0;
|
|
||||||
|
|
||||||
//ICONS
|
//ICONS
|
||||||
ImageResourceCell iconResourceCell = new ImageResourceCell() {
|
ImageResourceCell iconResourceCell = new ImageResourceCell() {
|
||||||
public Set<String> getConsumedEvents() {
|
public Set<String> getConsumedEvents() {
|
||||||
|
@ -95,11 +93,7 @@ public class ItemsTable extends AbstractItemsCellTable{
|
||||||
icon = new Column<Item, ImageResource>(iconResourceCell) {
|
icon = new Column<Item, ImageResource>(iconResourceCell) {
|
||||||
@Override
|
@Override
|
||||||
public ImageResource getValue(Item dataObj) {
|
public ImageResource getValue(Item dataObj) {
|
||||||
|
return Util.getImage(dataObj);
|
||||||
// if(dataObj.getURL()!=null && !dataObj.getURL().isEmpty())
|
|
||||||
// return Icons.ICONS.download();
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -122,7 +116,8 @@ public class ItemsTable extends AbstractItemsCellTable{
|
||||||
};
|
};
|
||||||
icon.setCellStyleNames("img-centered-clickable");
|
icon.setCellStyleNames("img-centered-clickable");
|
||||||
icon.setSortable(false);
|
icon.setSortable(false);
|
||||||
|
packageTable.addColumn(icon, "");
|
||||||
|
packageTable.setColumnWidth(icon, 10.0, Unit.PCT);
|
||||||
|
|
||||||
//ARTIFACT ID
|
//ARTIFACT ID
|
||||||
name = new TextColumn<Item>() {
|
name = new TextColumn<Item>() {
|
||||||
|
@ -133,7 +128,7 @@ public class ItemsTable extends AbstractItemsCellTable{
|
||||||
};
|
};
|
||||||
name.setSortable(true);
|
name.setSortable(true);
|
||||||
packageTable.addColumn(name, "Name");
|
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());
|
ListHandler<Item> nameColumnHandler = new ListHandler<Item>(dataProvider.getList());
|
||||||
nameColumnHandler.setComparator(name, new Comparator<Item>() {
|
nameColumnHandler.setComparator(name, new Comparator<Item>() {
|
||||||
|
@ -144,23 +139,30 @@ public class ItemsTable extends AbstractItemsCellTable{
|
||||||
});
|
});
|
||||||
|
|
||||||
packageTable.addColumnSortHandler(nameColumnHandler);
|
packageTable.addColumnSortHandler(nameColumnHandler);
|
||||||
/*
|
|
||||||
owner = new TextColumn<Item>() {
|
owner = new TextColumn<Item>() {
|
||||||
@Override
|
@Override
|
||||||
public String getValue(Item object) {
|
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);
|
owner.setSortable(true);
|
||||||
packageTable.addColumn(owner, "Version");
|
packageTable.addColumn(owner, "Owner");
|
||||||
*/
|
packageTable.setColumnWidth(owner, 40.0, Unit.PCT);
|
||||||
packageTable.setColumnWidth(owner, 10.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.addColumn(icon, "Download");
|
||||||
packageTable.setColumnWidth(icon, 10.0, Unit.PCT);
|
packageTable.setColumnWidth(icon, 10.0, Unit.PCT);
|
||||||
|
*/
|
||||||
//MAVEN COORDS
|
//MAVEN COORDS
|
||||||
ImageResourceCell myImgMavenCell = new ImageResourceCell() {
|
ImageResourceCell myImgMavenCell = new ImageResourceCell() {
|
||||||
public Set<String> getConsumedEvents() {
|
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() {
|
private void initBreadcrumbs() {
|
||||||
breadcrumbs.clear();
|
breadcrumbs.clear();
|
||||||
breadcrumbs.add(new NavLink(""));// INIT
|
breadcrumbs.add(new NavLink(""));// INIT
|
||||||
breadcrumbs.add(new NavLink(""));
|
breadcrumbs.add(new NavLink("Home"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// @UiHandler("add")
|
// @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.Util;
|
||||||
import org.gcube.portlets.widgets.wsexplorer.client.grid.ItemsTable;
|
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.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.WorkspaceExplorerService;
|
||||||
import org.gcube.portlets.widgets.wsexplorer.client.rpc.WorkspaceExplorerServiceAsync;
|
import org.gcube.portlets.widgets.wsexplorer.client.rpc.WorkspaceExplorerServiceAsync;
|
||||||
import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria;
|
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.core.client.GWT;
|
||||||
import com.google.gwt.dom.client.Style.Unit;
|
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.rpc.AsyncCallback;
|
||||||
import com.google.gwt.user.client.ui.HTML;
|
import com.google.gwt.user.client.ui.HTML;
|
||||||
import com.google.gwt.user.client.ui.HorizontalPanel;
|
import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||||
|
@ -109,7 +111,7 @@ public class WorkspaceExplorer {
|
||||||
// caught);
|
// caught);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onSuccess(Item root) {
|
public void onSuccess(Item item) {
|
||||||
GWT.log("workspace tree retrieved.");
|
GWT.log("workspace tree retrieved.");
|
||||||
// tree.setRootItem(root);
|
// tree.setRootItem(root);
|
||||||
|
|
||||||
|
@ -119,7 +121,7 @@ public class WorkspaceExplorer {
|
||||||
// then we remove the loading icon
|
// then we remove the loading icon
|
||||||
explorerPanel.clear();
|
explorerPanel.clear();
|
||||||
ItemsTable itTables = new ItemsTable(false);
|
ItemsTable itTables = new ItemsTable(false);
|
||||||
itTables.addItems(root.getChildren());
|
itTables.addItems(item.getChildren());
|
||||||
explorerPanel.add(itTables.getCellTable());
|
explorerPanel.add(itTables.getCellTable());
|
||||||
|
|
||||||
GWT.log("workspace tree loaded");
|
GWT.log("workspace tree loaded");
|
||||||
|
|