Added code to reload the same page after dataset creation

git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/widgets/ckan-metadata-publisher-widget@129097 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Costantino Perciante 2016-06-13 15:40:19 +00:00
parent d043c06a72
commit 90e9c33dd3
3 changed files with 34 additions and 4 deletions

View File

@ -0,0 +1,14 @@
package org.gcube.portlets.widgets.ckandatapublisherwidget.client;
/**
* simply encode base64 strings
*/
public class Encoder {
public static native String encode(String toEncode) /*-{
return btoa(toEncode);
}-*/;
public static native String decode(String toDecode) /*-{
return atob(toDecode);
}-*/;
}

View File

@ -2,6 +2,7 @@ package org.gcube.portlets.widgets.ckandatapublisherwidget.client.ui;
import org.gcube.portlets.widgets.ckandatapublisherwidget.client.CKanPublisherService;
import org.gcube.portlets.widgets.ckandatapublisherwidget.client.CKanPublisherServiceAsync;
import org.gcube.portlets.widgets.ckandatapublisherwidget.client.Encoder;
import org.gcube.portlets.widgets.ckandatapublisherwidget.client.events.AddResourceEvent;
import org.gcube.portlets.widgets.ckandatapublisherwidget.shared.ResourceBean;
@ -71,7 +72,14 @@ public class AddResourceToDataset extends Composite{
@Override
public void onClick(ClickEvent event) {
Window.Location.assign(datasetUrl);
String currentPath = Window.Location.getHref();
int datasetIndex = datasetUrl.indexOf("/dataset");
if(datasetIndex == -1)
return;
String finalPart = datasetUrl.substring(datasetIndex);
String finalPath = currentPath + "?" + Encoder.encode("q") + "=" + Encoder.encode(finalPart);
Window.Location.assign(finalPath);
}
});
}

View File

@ -10,6 +10,7 @@ import java.util.Map.Entry;
import org.gcube.portlets.user.gcubewidgets.client.elements.Span;
import org.gcube.portlets.widgets.ckandatapublisherwidget.client.CKanPublisherService;
import org.gcube.portlets.widgets.ckandatapublisherwidget.client.CKanPublisherServiceAsync;
import org.gcube.portlets.widgets.ckandatapublisherwidget.client.Encoder;
import org.gcube.portlets.widgets.ckandatapublisherwidget.client.events.DeleteCustomFieldEvent;
import org.gcube.portlets.widgets.ckandatapublisherwidget.client.events.DeleteCustomFieldEventHandler;
import org.gcube.portlets.widgets.ckandatapublisherwidget.shared.DatasetMetadataBean;
@ -554,7 +555,14 @@ public class CreateDatasetForm extends Composite{
@Override
public void onClick(ClickEvent event) {
Window.Location.assign(datasetUrl);
String currentPath = Window.Location.getHref();
int datasetIndex = datasetUrl.indexOf("/dataset");
if(datasetIndex == -1)
return;
String finalPart = datasetUrl.substring(datasetIndex);
String finalPath = currentPath + "?" + Encoder.encode("q") + "=" + Encoder.encode(finalPart);
Window.Location.assign(finalPath);
}
});
@ -738,7 +746,7 @@ public class CreateDatasetForm extends Composite{
if(checkSelectedMetaDataProfile()){
errorMessage = "You must select a metadata profile different frome none";
}
if(organizationsListbox.getSelectedItemText() == null){
errorMessage = "You must select an organization in which you want to publish";
}
@ -859,7 +867,7 @@ public class CreateDatasetForm extends Composite{
// ckan accepts only alphanumeric values
if(!itemBox.getValue().matches("^[a-zA-Z0-9]*$"))
return;
final String value = itemBox.getValue();
final ListItem displayItem = new ListItem();
displayItem.setStyleName("tag-style");