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);
}
});