diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/resources/AddedResourcesSummary.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/resources/AddedResourcesSummary.java
index 9fce342..8c44615 100644
--- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/resources/AddedResourcesSummary.java
+++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/resources/AddedResourcesSummary.java
@@ -9,6 +9,7 @@ import org.gcube.portlets.widgets.ckandatapublisherwidget.client.events.AddResou
import org.gcube.portlets.widgets.ckandatapublisherwidget.client.events.AddResourceEventHandler;
import org.gcube.portlets.widgets.ckandatapublisherwidget.client.events.DeleteResourceEvent;
import org.gcube.portlets.widgets.ckandatapublisherwidget.client.events.DeleteResourceEventHandler;
+import org.gcube.portlets.widgets.ckandatapublisherwidget.client.events.ReloadDatasetPageEvent;
import org.gcube.portlets.widgets.ckandatapublisherwidget.shared.ResourceElementBean;
import org.gcube.portlets.widgets.mpformbuilder.client.ui.utils.LoaderIcon;
@@ -16,7 +17,6 @@ import com.github.gwtbootstrap.client.ui.Accordion;
import com.github.gwtbootstrap.client.ui.AccordionGroup;
import com.github.gwtbootstrap.client.ui.Alert;
import com.github.gwtbootstrap.client.ui.Button;
-import com.github.gwtbootstrap.client.ui.Paragraph;
import com.github.gwtbootstrap.client.ui.Tab;
import com.github.gwtbootstrap.client.ui.constants.AlertType;
import com.github.gwtbootstrap.client.ui.constants.IconPosition;
@@ -29,6 +29,7 @@ import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.VerticalPanel;
@@ -118,24 +119,32 @@ public class AddedResourcesSummary extends Composite {
tabAddedResources.setIconPosition(IconPosition.RIGHT);
// get the resource
- final ResourceElementBean justAddedResource = addResourceEvent.getResource();
+ final ResourceElementBean addedResourceBean = addResourceEvent.getResource();
// Build an accordion to show resource info
final Accordion accordion = new Accordion();
AccordionGroup accordionGroup = new AccordionGroup();
- accordionGroup.setHeading("* " + justAddedResource.getName());
+ accordionGroup.setHeading("* " + addedResourceBean.getName());
accordionGroup.getHeading().addStyleName("accordion-resource-added");
accordion.add(accordionGroup);
+
+ FlexTable resourceTable = new FlexTable();
+ resourceTable.addStyleName("resource-table");
// add sub-info such as url and description
- HTML htmlURL = new HTML();
- if (justAddedResource.getUrl() != null) {
- htmlURL.setHTML(
- "URL: " + justAddedResource.getUrl() + "");
+ //HTML htmlURL = new HTML();
+ if (addedResourceBean.getUrl() != null) {
+// htmlURL.setHTML(
+// "URL: " + addedResourceBean.getUrl() + "");
+ resourceTable.setWidget(0, 0, new HTML("URL"));
+ resourceTable.setWidget(0, 1, new HTML("" + addedResourceBean.getUrl() + ""));
}
- Paragraph pDescription = new Paragraph();
- pDescription.setText("Description : " + justAddedResource.getDescription());
+ //Paragraph pDescription = new Paragraph();
+ //pDescription.setText("Description : " + addedResourceBean.getDescription());
+
+ resourceTable.setWidget(1, 0, new HTML("Description"));
+ resourceTable.setWidget(1, 1, new HTML(addedResourceBean.getDescription()));
// button to delete the resource
final Button deleteButton = new Button();
@@ -145,23 +154,23 @@ public class AddedResourcesSummary extends Composite {
@Override
public void onClick(ClickEvent event) {
- eventBus.fireEvent(new DeleteResourceEvent(deleteButton, justAddedResource));
+ eventBus.fireEvent(new DeleteResourceEvent(deleteButton, addedResourceBean));
}
});
// fill accordion
- accordionGroup.add(htmlURL);
- accordionGroup.add(pDescription);
+ //accordionGroup.add(htmlURL);
+ accordionGroup.add(resourceTable);
accordionGroup.add(deleteButton);
// add to the list
- addedResources.add(justAddedResource);
+ addedResources.add(addedResourceBean);
// add to the panel
addResourcesPanel.add(accordion);
- mapAddedResources.put(justAddedResource.getBeanID(), accordion);
+ mapAddedResources.put(addedResourceBean.getBeanID(), accordion);
checkNoResources();
}
});
@@ -205,6 +214,11 @@ public class AddedResourcesSummary extends Composite {
// remove from the list
addedResources.remove(toDelete);
addResourcesPanel.remove(toDeleteAccordion);
+
+ //Firing event to reload the dataset page
+ eventBus.fireEvent(new ReloadDatasetPageEvent(
+ deleteResourceEvent.getResource().getCkanDatasetId()));
+
checkNoResources();
} else {
setAlertMessage(null, "Sorry, the resource described by '"
diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/resources/AddedResourcesSummary.ui.xml b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/resources/AddedResourcesSummary.ui.xml
index 9969ce3..840d758 100644
--- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/resources/AddedResourcesSummary.ui.xml
+++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/resources/AddedResourcesSummary.ui.xml
@@ -1,9 +1,12 @@
+ xmlns:g="urn:import:com.google.gwt.user.client.ui"
+ xmlns:b="urn:import:com.github.gwtbootstrap.client.ui">
+
+
+
- Added Resources
+ Added Resources
diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/resources/ManageResources.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/resources/ManageResources.java
index 580324d..11d76b7 100644
--- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/resources/ManageResources.java
+++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/resources/ManageResources.java
@@ -7,6 +7,8 @@ import com.github.gwtbootstrap.client.ui.TabPanel;
import com.github.gwtbootstrap.client.ui.constants.IconType;
import com.github.gwtbootstrap.client.ui.resources.Bootstrap.Tabs;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.shared.HandlerManager;
@@ -33,7 +35,7 @@ public class ManageResources extends Composite {
private AddedResourcesSummary addedResourcesSummary;
- private AddResourceToDataset resourceForm;
+ private AddResourceToDataset addResourceForm;
private HandlerManager eventBus;
@@ -43,19 +45,27 @@ public class ManageResources extends Composite {
initWidget(uiBinder.createAndBindUi(this));
this.eventBus = eventBus;
- resourceForm = new AddResourceToDataset(eventBus, theDatasetBean.getId(), theDatasetBean.getTitle(),
+ addResourceForm = new AddResourceToDataset(eventBus, theDatasetBean.getId(), theDatasetBean.getTitle(),
theDatasetBean.getSelectedOrganization(), datasetUrl);
addedResourcesSummary = new AddedResourcesSummary(eventBus, addedResources, addedResourcesIcon);
// tab for the form
- addResources.add(resourceForm);
+ addResources.add(addResourceForm);
addedResources.add(addedResourcesSummary);
-
- tabPanel.setTabPosition(Tabs.LEFT.name());
- tabPanel.selectTab(0);
bind();
+
+ tabPanel.setTabPosition(Tabs.ABOVE.name());
+ tabPanel.selectTab(0);
+
+ Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+
+ @Override
+ public void execute() {
+ tabPanel.selectTab(0);
+ }
+ });
}
private void bind() {
diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/resources/ManageResources.ui.xml b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/resources/ManageResources.ui.xml
index 56d69c1..a898500 100644
--- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/resources/ManageResources.ui.xml
+++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/resources/ManageResources.ui.xml
@@ -8,6 +8,7 @@
}
+ Manage Resources
diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/public/CKanMetadataPublisher.css b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/public/CKanMetadataPublisher.css
index 4f2886b..1e43e4c 100644
--- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/public/CKanMetadataPublisher.css
+++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/public/CKanMetadataPublisher.css
@@ -139,4 +139,21 @@
padding: 2px;
box-shadow: 3px 3px #888;
border-radius: 3px;
+}
+
+.resource-table {
+ margin: 5px;
+ margin-bottom: 10px;
+ font-size: 14px;
+ max-width: 98%;
+ word-break: break-word;
+}
+
+.resource-table td {
+ padding: 3px;
+}
+
+.resource-table td:first-child {
+ color: gray;
+ width: 75px;
}
\ No newline at end of file
diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/server/PublisherCatalogueConveter.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/server/PublisherCatalogueConveter.java
index 8f27c7e..ee56908 100644
--- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/server/PublisherCatalogueConveter.java
+++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/server/PublisherCatalogueConveter.java
@@ -29,6 +29,7 @@ public class PublisherCatalogueConveter {
reb.setUrl(ckanResource.getUrl());
reb.setMimeType(ckanResource.getMimetype());
reb.setOrganizationNameDatasetParent(orgNameParent);
+ reb.setCkanDatasetId(ckanResource.getPackageId());
return reb;
}
diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/shared/ResourceElementBean.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/shared/ResourceElementBean.java
index bdb4d96..e7ab5ee 100644
--- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/shared/ResourceElementBean.java
+++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/shared/ResourceElementBean.java
@@ -70,6 +70,8 @@ public class ResourceElementBean implements Comparable, Ser
private String ckanResourceID;
+ private String ckanDatasetId;
+
/**
* The key provider that provides the unique ID of a bean.
*/
@@ -467,11 +469,14 @@ public class ResourceElementBean implements Comparable, Ser
this.rootIdInWorkspace = rootIdInWorkspace;
}
- /**
- * To string.
- *
- * @return the string
- */
+ public void setCkanDatasetId(String packageId) {
+ this.ckanDatasetId = packageId;
+ }
+
+ public String getCkanDatasetId() {
+ return ckanDatasetId;
+ }
+
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
@@ -497,10 +502,14 @@ public class ResourceElementBean implements Comparable, Ser
builder.append(description);
builder.append(", organizationNameDatasetParent=");
builder.append(organizationNameDatasetParent);
- builder.append(", childrenSize=");
- builder.append(childrenSize);
builder.append(", toPublish=");
builder.append(toPublish);
+ builder.append(", identifierGWT=");
+ builder.append(identifierGWT);
+ builder.append(", ckanResourceID=");
+ builder.append(ckanResourceID);
+ builder.append(", ckanDatasetId=");
+ builder.append(ckanDatasetId);
builder.append("]");
return builder.toString();
}