diff --git a/pom.xml b/pom.xml index 3a0637a..caf4aa4 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ 4.0.0 org.gcube.portlets.widgets workspace-explorer - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT gCube Workspace Explorer gCube Workspace Explorer widget allows to navigate (gCube) Workspace diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/WorkspaceExplorerIcons.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/WorkspaceExplorerIcons.java index 77cee6c..77565a2 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/WorkspaceExplorerIcons.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/WorkspaceExplorerIcons.java @@ -37,5 +37,12 @@ public interface WorkspaceExplorerIcons extends ClientBundle { @Source("info-icon.png") ImageResource info(); + + /** + * @return + */ + + @Source("info-square.png") + ImageResource infoSquare(); } diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/WorkspaceExplorerResources.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/WorkspaceExplorerResources.java index 431d601..5471ea8 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/WorkspaceExplorerResources.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/WorkspaceExplorerResources.java @@ -32,6 +32,11 @@ public class WorkspaceExplorerResources { return AbstractImagePrototype.create(ICONS.info()); } + public static AbstractImagePrototype getIconInfoSquare() { + + return AbstractImagePrototype.create(ICONS.infoSquare()); + } + /** My custom base icon collection */ public enum CustomIconType implements BaseIconType { diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/info-square.png b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/info-square.png new file mode 100644 index 0000000..c4a1251 Binary files /dev/null and b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/info-square.png differ diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/gcubeitem/DialogGcubeItem.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/gcubeitem/DialogGcubeItem.java deleted file mode 100644 index 6861a7b..0000000 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/gcubeitem/DialogGcubeItem.java +++ /dev/null @@ -1,23 +0,0 @@ -/** - * - */ -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 - } -} diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/gcubeitem/DialogShowGcubeItem.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/gcubeitem/DialogShowGcubeItem.java index e84b696..77d9a3c 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/gcubeitem/DialogShowGcubeItem.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/gcubeitem/DialogShowGcubeItem.java @@ -66,12 +66,12 @@ public class DialogShowGcubeItem extends DialogBox implements ClickHandler { }); vpContainer = new VerticalPanel(); - vpContainer.getElement().getStyle().setMargin(20.0, Unit.PX); +// vpContainer.getElement().getStyle().setMargin(5.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); +// yesButton.getElement().getStyle().setMarginRight(20.0, Unit.PX); hpButtons.add(yesButton); dock.add(hpButtons, DockPanel.SOUTH); @@ -113,17 +113,28 @@ public class DialogShowGcubeItem extends DialogBox implements ClickHandler { private FlexTable buildGcubeItemView(Map map){ FlexTable table = new FlexTable(); + table.setWidth("100%"); + if(map.size()==0){ - table.setHTML(0, 0, "No properties"); + table.setHTML(0, 0, "No have properties"); return table; } + table.addStyleName("gcube-item-table"); + table.setHTML(0, 0, "N."); + table.setHTML(0, 1, "Key"); + table.setHTML(0, 2, "Value"); + table.getRowFormatter().getElement(0).addClassName("gcube-item-table-header"); + int i = 0; for (String key : map.keySet()) { String value = map.get(key); - table.setHTML(i, 0, key); - table.setHTML(i, 1, value); + int index = i+1; + table.setHTML(index, 0, index+"-"); + table.setHTML(index, 1, key); + table.setHTML(index, 2, value); + } return table; } diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/grid/AbstractItemsCellTable.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/grid/AbstractItemsCellTable.java index a03d486..10ce4c3 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/grid/AbstractItemsCellTable.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/grid/AbstractItemsCellTable.java @@ -60,6 +60,7 @@ public abstract class AbstractItemsCellTable { this.showMoreInfo = fireOnClick; cellTable = new CellTable(1, CellTableResources.INSTANCE); cellTable.addStyleName("table-overflow"); + cellTable.addStyleName("table-vertical-middle"); cellTable.setStriped(true); cellTable.setCondensed(true); cellTable.setWidth("100%", true); diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/grid/ItemsTable.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/grid/ItemsTable.java index 782f22b..82b0971 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/grid/ItemsTable.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/grid/ItemsTable.java @@ -50,7 +50,7 @@ public class ItemsTable extends AbstractItemsCellTable implem private TextColumn name; private TextColumn owner; public DateTimeFormat dtformat = DateTimeFormat.getFormat("dd MMM hh:mm aaa yyyy"); - public ImageResource info = WorkspaceExplorerResources.ICONS.info(); + public ImageResource info = WorkspaceExplorerResources.ICONS.infoSquare(); // private Item selectedItem = null; /** @@ -286,38 +286,62 @@ public class ItemsTable extends AbstractItemsCellTable implem } }; - Column showGcubeInfoClm = new Column(showGcubeInfo) { + MyToolTipColumn showGcubeInfoClm = new MyToolTipColumn(showGcubeInfo, "Show gcube properties") { + + @Override + public ImageResource getValue(T object) { + return info; + } + + @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 Properties for: "+item.getName(), null, item); + dg.setPopupPosition(event.getClientX(), event.getClientY()); + dg.show(); + } + } + }; + + /*Column showGcubeInfoClm = new Column(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) { + 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); + DialogShowGcubeItem dg = new DialogShowGcubeItem("Gcube Properties for: "+item.getName(), null, item); dg.show(); } } - }; + };*/ showGcubeInfoClm.setSortable(false); cellTable.addColumn(showGcubeInfoClm, ""); + cellTable.setColumnWidth(showGcubeInfoClm, 10.0, Unit.PCT); } /*final SingleSelectionModel selectionModel = new SingleSelectionModel(); diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/grid/MyToolTipColumn.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/grid/MyToolTipColumn.java new file mode 100644 index 0000000..965a67f --- /dev/null +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/grid/MyToolTipColumn.java @@ -0,0 +1,41 @@ +/** + * + */ + +package org.gcube.portlets.widgets.wsexplorer.client.view.grid; + +import com.google.gwt.cell.client.Cell; +import com.google.gwt.cell.client.Cell.Context; +import com.google.gwt.core.client.GWT; +import com.google.gwt.safehtml.client.SafeHtmlTemplates; +import com.google.gwt.safehtml.shared.SafeHtml; +import com.google.gwt.safehtml.shared.SafeHtmlBuilder; +import com.google.gwt.user.cellview.client.Column; + +public abstract class MyToolTipColumn extends Column { + + interface Templates extends SafeHtmlTemplates { + + @Template("
") + SafeHtml startToolTip(String toolTipText); + + @Template("
") + SafeHtml endToolTip(); + } + private static final Templates TEMPLATES = GWT.create(Templates.class); + private final String toolTipText; + + public MyToolTipColumn(final Cell cell, final String toolTipText) { + + super(cell); + this.toolTipText = toolTipText; + } + + @Override + public void render(final Context context, final T object, final SafeHtmlBuilder sb) { + + sb.append(TEMPLATES.startToolTip(toolTipText)); + super.render(context, object, sb); + sb.append(TEMPLATES.endToolTip()); + } +} diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/resources/css/bootstrap.min.css b/src/main/java/org/gcube/portlets/widgets/wsexplorer/resources/css/bootstrap.min.css index a3a5213..4b540d7 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/resources/css/bootstrap.min.css +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/resources/css/bootstrap.min.css @@ -1221,13 +1221,6 @@ a:hover, a:focus { margin: 0 auto; } -.table-overflow td, th { - overflow: hidden !important; -} - -.table-overflow th{ - text-align: center !important; -} .breadcrumbs-navigator .breadcrumb { margin-bottom: 5px !important; diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/resources/css/gwt-bootstrap.css b/src/main/java/org/gcube/portlets/widgets/wsexplorer/resources/css/gwt-bootstrap.css index 08ae1ba..7434ae4 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/resources/css/gwt-bootstrap.css +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/resources/css/gwt-bootstrap.css @@ -12,6 +12,7 @@ /* div.input-append > input, div.input-append > textarea, div.input-append > select, div.input-append > .uneditable-input { */ /* margin-bottom: 0; */ /* } */ + .gwt-PopupPanel .gwt-DatePicker { width: 200px; } @@ -81,24 +82,28 @@ /**** GWT DIALOG NEW STYLE****/ .gwt-DialogBoxNew{ - border: 8px solid #99C0E8; + border: 8px solid #EEEEEE; border-radius: 6px 6px 6px 6px; box-shadow: none; - line-height: 7px; +/* line-height: 7px; */ opacity: 1; z-index: 2000; background-color: #FFFFFF; + min-width: 250px; } .gwt-DialogBoxNew .Caption { - background: none repeat scroll 0 0 #99C0E8; - border: medium none #D4D4D4; + background: none repeat scroll 0 0 #EEEEEE; + padding: 2px; + border-bottom: 1px solid #dadada; 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; + font-size: 14px; +} + + +.gwt-DialogBoxNew table { + width: 100%; } .gwt-DialogBoxNew .dialogContent { @@ -147,5 +152,38 @@ -background: url(images/circles_ie6.png) no-repeat -8px -36px; */ } +/**** END GWT DIALOG NEW STYLE ****/ -/**** END GWT DIALOG NEW STYLE ****/ \ No newline at end of file + +/*** TABLE ***/ + +.table-overflow td, th { + overflow: hidden !important; +} + +.table-vertical-middle td, th { + height: 50%; + vertical-align: middle !important; +} + +.table-overflow th{ + text-align: center !important; +} + +.gcube-item-table{ + margin: 5px; +} + +.gcube-item-table td{ + border-bottom: 1px solid #EEE; + height: 50%; + vertical-align: middle; + text-align: center; +} + + +.gcube-item-table-header{ + background-color: #dedede; + text-align: center; +} +/******* END TABLE ********/ \ No newline at end of file