diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/TwinColumnSelection/ResourceInfoForm.ui.xml b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/TwinColumnSelection/ResourceInfoForm.ui.xml
index bc64abf..c9d29ce 100644
--- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/TwinColumnSelection/ResourceInfoForm.ui.xml
+++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/TwinColumnSelection/ResourceInfoForm.ui.xml
@@ -1,7 +1,6 @@
+ xmlns:g="urn:import:com.google.gwt.user.client.ui" xmlns:b="urn:import:com.github.gwtbootstrap.client.ui">
.legend-style {
width: 100%;
@@ -29,68 +28,61 @@
.control-group {
margin-bottom: 0px !important;
}
-
- .custom-input {
-
- }
-
-
-
-
-
- Resource Information
-
-
-
-
- Name:
-
-
-
-
-
-
-
- Path:
-
-
-
-
-
-
-
- Description:
-
-
-
-
-
-
-
- Format:
-
-
-
-
-
-
-
- Update
-
-
+
+
+
+
+ Resource Information
+
+
+
+
+ Name:
+
+
+
+
+
+
+
+ Path:
+
+
+
+
+
+
+
+ Description:
+
+
+
+
+
+
+
+ Format:
+
+
+
+
+
+
+
+ Update
+
+
\ No newline at end of file
diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/EditPublishingResourceEvent.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/EditPublishingResourceEvent.java
deleted file mode 100644
index 64d292b..0000000
--- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/EditPublishingResourceEvent.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.gcube.portlets.widgets.ckandatapublisherwidget.client.ui.workspace;
-
-import org.gcube.portlets.widgets.ckandatapublisherwidget.shared.ResourceElementBean;
-
-import com.google.gwt.event.shared.GwtEvent;
-
-
-// TODO: Auto-generated Javadoc
-/**
- * The Class EditPublishingResourceEvent.
- *
- * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
- *
- * Mar 9, 2021
- */
-public class EditPublishingResourceEvent extends GwtEvent {
-
- /** The type. */
- public static Type TYPE = new Type();
-
- /** The resource. */
- private ResourceElementBean resource;
-
-
- /**
- * Instantiates a new edits the publishing resource event.
- *
- * @param resource the resource
- */
- public EditPublishingResourceEvent(ResourceElementBean resource) {
- this.resource = resource;
- }
-
- /**
- * Gets the resource.
- *
- * @return the resource
- */
- public ResourceElementBean getResource() {
- return resource;
- }
-
- /**
- * Gets the associated type.
- *
- * @return the associated type
- */
- @Override
- public Type getAssociatedType() {
- return TYPE;
- }
-
- /**
- * Dispatch.
- *
- * @param handler the handler
- */
- @Override
- protected void dispatch(EditPublishingResourceEventHandler handler) {
- handler.onEditResource(this);
- }
-}
diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/EditPublishingResourceEventHandler.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/EditPublishingResourceEventHandler.java
deleted file mode 100644
index 333fa76..0000000
--- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/EditPublishingResourceEventHandler.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.gcube.portlets.widgets.ckandatapublisherwidget.client.ui.workspace;
-
-import com.google.gwt.event.shared.EventHandler;
-
-
-// TODO: Auto-generated Javadoc
-/**
- * The Interface EditPublishingResourceEventHandler.
- *
- * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
- *
- * Mar 9, 2021
- */
-public interface EditPublishingResourceEventHandler extends EventHandler {
-
- /**
- * On edit resource.
- *
- * @param editResourceEvent the edit resource event
- */
- void onEditResource(EditPublishingResourceEvent editResourceEvent);
-}
diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/ResourceInfoForm.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/ResourceInfoForm.java
new file mode 100644
index 0000000..209cd66
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/ResourceInfoForm.java
@@ -0,0 +1,138 @@
+package org.gcube.portlets.widgets.ckandatapublisherwidget.client.ui.workspace;
+
+import org.gcube.portlets.widgets.ckandatapublisherwidget.shared.ResourceElementBean;
+
+import com.github.gwtbootstrap.client.ui.Button;
+import com.github.gwtbootstrap.client.ui.ControlGroup;
+import com.github.gwtbootstrap.client.ui.TextArea;
+import com.github.gwtbootstrap.client.ui.TextBox;
+import com.github.gwtbootstrap.client.ui.constants.ControlGroupType;
+import com.github.gwtbootstrap.client.ui.constants.IconType;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.dom.client.Style.Float;
+import com.google.gwt.dom.client.Style.Unit;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HasHorizontalAlignment;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ * A resource information form panel
+ * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
+ */
+public class ResourceInfoForm extends Composite{
+
+ @UiField
+ public TextBox resourceName;
+ @UiField
+ public TextBox resourcePath;
+ @UiField
+ public TextBox resourceFormat;
+ @UiField
+ public TextArea resourceDescription;
+ @UiField
+ public Button updateResourceButton;
+ @UiField
+ Button closeButton;
+ @UiField
+ HorizontalPanel commandPanel;
+ @UiField
+ ControlGroup controlName;
+
+ private ResourceElementBean resourceBean;
+
+ private static ResourceInfoFormUiBinder uiBinder = GWT
+ .create(ResourceInfoFormUiBinder.class);
+
+ interface ResourceInfoFormUiBinder extends
+ UiBinder {
+ }
+
+ public ResourceInfoForm(final ResourceElementBean resource) {
+ initWidget(uiBinder.createAndBindUi(this));
+
+ resourceBean = resource;
+ resourceDescription.setText(resource.getDescription());
+ resourceFormat.setText(resource.getMimeType() == null? "Unavailable" : resource.getMimeType());
+ resourceName.setText(resource.getEditableName());
+ resourcePath.setText(resource.getFullPath());
+ closeButton.getElement().getStyle().setFloat(Float.RIGHT);
+ closeButton.setIcon(IconType.REMOVE_CIRCLE);
+ commandPanel.setCellHorizontalAlignment(updateResourceButton, HasHorizontalAlignment.ALIGN_RIGHT);
+ commandPanel.getElement().getStyle().setMarginTop(10, Unit.PX);
+ updateResourceButton.addClickHandler(new ClickHandler() {
+
+ @Override
+ public void onClick(ClickEvent event) {
+ resourceBean.setDescription(resourceDescription.getText());
+
+ removeError(controlName);
+ String newName = resourceName.getText();
+ if(newName == null || newName.isEmpty()){
+ showError(controlName);
+ }else{
+ resourceBean.setEditableName(newName);
+ clearPanel();
+ }
+ }
+ });
+
+ closeButton.addClickHandler(new ClickHandler() {
+
+ @Override
+ public void onClick(ClickEvent event) {
+
+ clearPanel();
+
+ }
+ });
+ }
+
+ public String getResourceName() {
+ return resourceName.getText();
+ }
+
+ public void setResourceName(String resourceName) {
+ this.resourceName.setText(resourceName);
+ }
+
+ public String getResourcePath() {
+ return resourcePath.getText();
+ }
+
+ public void setResourcePath(String resourcePath) {
+ this.resourcePath.setText(resourcePath);
+ }
+
+ public String getResourceFormat() {
+ return resourceFormat.getText();
+ }
+
+ public void setResourceFormat(String resourceFormat) {
+ this.resourceFormat.setText(resourceFormat);
+ }
+
+ public String getResourceDescription() {
+ return resourceDescription.getText();
+ }
+
+ public void removeError(ControlGroup control) {
+ control.setType(ControlGroupType.NONE);
+ }
+
+ public void showError(ControlGroup control) {
+ control.setType(ControlGroupType.ERROR);
+ }
+
+ protected void clearPanel() {
+ this.removeFromParent();
+ }
+
+ public ResourceElementBean getResourceBean() {
+ return resourceBean;
+ }
+}
diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/ResourceInfoForm.ui.xml b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/ResourceInfoForm.ui.xml
new file mode 100644
index 0000000..762e04d
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/ResourceInfoForm.ui.xml
@@ -0,0 +1,97 @@
+
+
+
+ .legend-style {
+ width: 100%;
+ padding: 10px;
+ margin-bottom: 0px;
+ font-size: 14px;
+ }
+
+ .panel-style {
+ padding: 5px;
+ border: 1px solid #bbb;
+ border-radius: 5px;
+ height: 320px;
+ width: 700px;
+ margin-left: 70px;
+ margin-bottom: 20px;
+ }
+
+ .labels-style {
+ color: #999;
+ }
+
+ .controls-style {
+ margin-left: 10px !important;
+ }
+
+ .control-group {
+ margin-bottom: 0px !important;
+ }
+
+ .custom-input input, textarea {
+ width: 350px;
+ }
+
+
+
+
+
+ Resource Information
+
+
+
+
+ Name:
+
+
+
+
+
+
+
+ Path:
+
+
+
+
+
+
+
+ Description:
+
+
+
+
+
+
+
+ Format:
+
+
+
+
+
+
+
+ Update
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceByWEMainPanel.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceByWEMainPanel.java
index b8b20d4..b24596d 100644
--- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceByWEMainPanel.java
+++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceByWEMainPanel.java
@@ -3,7 +3,6 @@ package org.gcube.portlets.widgets.ckandatapublisherwidget.client.ui.workspace;
import java.util.HashMap;
import java.util.Map;
-import org.gcube.portlets.widgets.ckandatapublisherwidget.client.ui.TwinColumnSelection.ResourceInfoForm;
import org.gcube.portlets.widgets.ckandatapublisherwidget.shared.ResourceElementBean;
import org.gcube.portlets.widgets.wsexplorer.client.explore.WorkspaceResourcesExplorerPanel;
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.WorskpaceExplorerSelectNotificationListener;
@@ -19,7 +18,6 @@ import com.github.gwtbootstrap.client.ui.constants.LabelType;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
-import com.google.gwt.event.dom.client.HasAllDragAndDropHandlers;
import com.google.gwt.event.shared.HandlerManager;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
@@ -72,7 +70,7 @@ public class SelectResourceByWEMainPanel extends Composite {
public final static HandlerManager eventBus = new HandlerManager(null);
- Map mapSelectedResources = new HashMap();
+ Map mapSelectedResources = new HashMap();
/**
* The Interface SelectResourceByWEMainPanelUiBinder.
@@ -190,35 +188,13 @@ public class SelectResourceByWEMainPanel extends Composite {
});
- eventBus.addHandler(EditPublishingResourceEvent.TYPE, new EditPublishingResourceEventHandler() {
-
- @Override
- public void onEditResource(EditPublishingResourceEvent editResourceEvent) {
- if(editResourceEvent.getResource()!=null) {
- editPublishingResource(editResourceEvent.getResource());
- }
-
- }
-
-
- });
}
- private void editPublishingResource(ResourceElementBean resource) {
-
- SelectResourceWidget theRW = mapSelectedResources.get(resource.getOriginalIdInWorkspace());
- if(theRW!=null) {
-
- ResourceInfoForm rif = new ResourceInfoForm(resource, null);
- editPanel.add(rif);
- }
-
- }
private void removePublishingResource(ResourceElementBean resource) {
- SelectResourceWidget theRW = mapSelectedResources.get(resource.getOriginalIdInWorkspace());
+ SelectedResourceWidget theRW = mapSelectedResources.get(resource.getOriginalIdInWorkspace());
if(theRW!=null) {
selectResourcesContainer.remove(theRW);
mapSelectedResources.remove(resource.getOriginalIdInWorkspace());
@@ -229,7 +205,7 @@ public class SelectResourceByWEMainPanel extends Composite {
public void addSelectResource(String wsItemId, String name, String path) {
- SelectResourceWidget selWidg = mapSelectedResources.get(wsItemId);
+ SelectedResourceWidget selWidg = mapSelectedResources.get(wsItemId);
if (selWidg != null) {
showAlertMsg(AlertType.WARNING,"Item '" + name + "' already selected",true);
return;
@@ -240,7 +216,7 @@ public class SelectResourceByWEMainPanel extends Composite {
rb.setName(name);
rb.setFullPath(path);
rb.setEditableName(name);
- selWidg = new SelectResourceWidget(rb);
+ selWidg = new SelectedResourceWidget(rb);
mapSelectedResources.put(wsItemId, selWidg);
selectResourcesContainer.add(selWidg);
diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceByWEMainPanel.ui.xml b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceByWEMainPanel.ui.xml
index 2ab7607..31a4e44 100644
--- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceByWEMainPanel.ui.xml
+++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceByWEMainPanel.ui.xml
@@ -37,7 +37,7 @@
Publishing Resources
-
+
Nothing
diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceWidget.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectedResourceWidget.java
similarity index 55%
rename from src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceWidget.java
rename to src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectedResourceWidget.java
index e5d677e..3f111fe 100644
--- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceWidget.java
+++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectedResourceWidget.java
@@ -10,32 +10,64 @@ import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
-public class SelectResourceWidget extends Composite {
+/**
+ * The Class SelectResourceWidget.
+ *
+ * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
+ *
+ * Mar 12, 2021
+ */
+public class SelectedResourceWidget extends Composite {
- private static SelectResourceWidgetUiBinder uiBinder = GWT.create(SelectResourceWidgetUiBinder.class);
+ /** The ui binder. */
+ private static SelectedResourceWidgetUiBinder uiBinder = GWT.create(SelectedResourceWidgetUiBinder.class);
- interface SelectResourceWidgetUiBinder extends UiBinder {
+ /**
+ * The Interface SelectResourceWidgetUiBinder.
+ *
+ * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
+ *
+ * Mar 12, 2021
+ */
+ interface SelectedResourceWidgetUiBinder extends UiBinder {
}
- public SelectResourceWidget() {
+ /**
+ * Instantiates a new select resource widget.
+ */
+ public SelectedResourceWidget() {
initWidget(uiBinder.createAndBindUi(this));
}
+ /** The button delete. */
@UiField
Button buttonDelete;
+ /** The button edit. */
@UiField
Button buttonEdit;
+ /** The field name. */
@UiField
Label fieldName;
+
+ /** The edit panel. */
+ @UiField
+ HTMLPanel editPanel;
+ /** The resource bean. */
private ResourceElementBean resourceBean;
- public SelectResourceWidget(ResourceElementBean rb) {
+ /**
+ * Instantiates a new select resource widget.
+ *
+ * @param rb the rb
+ */
+ public SelectedResourceWidget(ResourceElementBean rb) {
initWidget(uiBinder.createAndBindUi(this));
this.resourceBean = rb;
@@ -50,14 +82,18 @@ public class SelectResourceWidget extends Composite {
}
+ /**
+ * Adds the handlers.
+ */
private void addHandlers() {
buttonEdit.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
- SelectResourceByWEMainPanel.eventBus.fireEvent(new EditPublishingResourceEvent(resourceBean));
+ ResourceInfoForm rif = new ResourceInfoForm(resourceBean);
+ editPanel.add(rif);
}
});
@@ -71,6 +107,11 @@ public class SelectResourceWidget extends Composite {
}
+ /**
+ * Gets the resource bean.
+ *
+ * @return the resource bean
+ */
public ResourceElementBean getResourceBean() {
return resourceBean;
}
diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceWidget.ui.xml b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectedResourceWidget.ui.xml
similarity index 59%
rename from src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceWidget.ui.xml
rename to src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectedResourceWidget.ui.xml
index 141a063..50e7a49 100644
--- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceWidget.ui.xml
+++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectedResourceWidget.ui.xml
@@ -6,7 +6,9 @@
.important {
font-weight: bold;
}
+
.selected-resources {
+
}
.selected-resources td {
@@ -14,10 +16,13 @@
}
-
-
-
+
+
+
-
+
+
\ No newline at end of file