fixed dom message about explore_vres_landing_page
git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/gcube-ckan-datacatalog@146700 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
5011dbc176
commit
6f9a110038
|
@ -7,15 +7,18 @@ import org.gcube.portlets.gcubeckan.gcubeckandatacatalog.client.GCubeCkanDataCat
|
||||||
import org.gcube.portlets.gcubeckan.gcubeckandatacatalog.client.event.IFrameInstanciedEvent;
|
import org.gcube.portlets.gcubeckan.gcubeckandatacatalog.client.event.IFrameInstanciedEvent;
|
||||||
import org.gcube.portlets.gcubeckan.gcubeckandatacatalog.client.resource.CkanPortletResources;
|
import org.gcube.portlets.gcubeckan.gcubeckandatacatalog.client.resource.CkanPortletResources;
|
||||||
|
|
||||||
|
import com.google.gwt.core.client.JavaScriptObject;
|
||||||
import com.google.gwt.core.shared.GWT;
|
import com.google.gwt.core.shared.GWT;
|
||||||
import com.google.gwt.dom.client.Style.Display;
|
import com.google.gwt.dom.client.Style.Display;
|
||||||
import com.google.gwt.dom.client.Style.Unit;
|
import com.google.gwt.dom.client.Style.Unit;
|
||||||
import com.google.gwt.event.dom.client.LoadEvent;
|
import com.google.gwt.event.dom.client.LoadEvent;
|
||||||
import com.google.gwt.event.dom.client.LoadHandler;
|
import com.google.gwt.event.dom.client.LoadHandler;
|
||||||
import com.google.gwt.event.shared.HandlerManager;
|
import com.google.gwt.event.shared.HandlerManager;
|
||||||
|
import com.google.gwt.user.client.Element;
|
||||||
import com.google.gwt.user.client.ui.FlowPanel;
|
import com.google.gwt.user.client.ui.FlowPanel;
|
||||||
import com.google.gwt.user.client.ui.Frame;
|
import com.google.gwt.user.client.ui.Frame;
|
||||||
import com.google.gwt.user.client.ui.Image;
|
import com.google.gwt.user.client.ui.Image;
|
||||||
|
import com.google.gwt.user.client.ui.NamedFrame;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,10 +29,11 @@ import com.google.gwt.user.client.ui.Image;
|
||||||
*/
|
*/
|
||||||
public class CkanFramePanel extends FlowPanel{
|
public class CkanFramePanel extends FlowPanel{
|
||||||
|
|
||||||
private Frame frame;
|
private NamedFrame frame;
|
||||||
|
//private static final String FRAME_NAME = "ckan-content-frame";
|
||||||
private HandlerManager eventBus;
|
private HandlerManager eventBus;
|
||||||
private Image loading = new Image(CkanPortletResources.ICONS.loading());
|
private Image loading = new Image(CkanPortletResources.ICONS.loading());
|
||||||
|
private String messageToSend;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiates a new ckan frame panel.
|
* Instantiates a new ckan frame panel.
|
||||||
|
@ -41,6 +45,24 @@ public class CkanFramePanel extends FlowPanel{
|
||||||
addLoading();
|
addLoading();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Post message.
|
||||||
|
*
|
||||||
|
* @param msg the msg (as json)
|
||||||
|
* @param javaScriptObject
|
||||||
|
* @param
|
||||||
|
* @param
|
||||||
|
*/
|
||||||
|
protected native void sendMessage(String msg, String frameName) /*-{
|
||||||
|
console.log("Sending message " + msg);
|
||||||
|
// $wnd.parent.postMessage(msg,'*');
|
||||||
|
//var f = $wnd.frames[frameName];
|
||||||
|
//console.log(f);
|
||||||
|
//f.contentWindow.postMessage(msg, "*");
|
||||||
|
$wnd.frames[frameName].postMessage(msg,"*")
|
||||||
|
console.log("Message sent");
|
||||||
|
}-*/;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prints the.
|
* Prints the.
|
||||||
*
|
*
|
||||||
|
@ -56,7 +78,7 @@ public class CkanFramePanel extends FlowPanel{
|
||||||
* @param ckanUrlConnector the ckan url connector
|
* @param ckanUrlConnector the ckan url connector
|
||||||
* @return the frame
|
* @return the frame
|
||||||
*/
|
*/
|
||||||
public Frame instanceFrame(String ckanUrlConnector) {
|
public Frame instanceFrame(String ckanUrlConnector, final String messageToSend,final String ckanUrl) {
|
||||||
GWT.log("Instancing new IFRAME with uri: "+ckanUrlConnector);
|
GWT.log("Instancing new IFRAME with uri: "+ckanUrlConnector);
|
||||||
try{
|
try{
|
||||||
if(frame != null)
|
if(frame != null)
|
||||||
|
@ -64,10 +86,12 @@ public class CkanFramePanel extends FlowPanel{
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
print("Error " + e);
|
print("Error " + e);
|
||||||
}
|
}
|
||||||
|
|
||||||
addLoading();
|
addLoading();
|
||||||
|
|
||||||
frame = new Frame(ckanUrlConnector);
|
frame = new NamedFrame(GCubeCkanDataCatalog.GCUBE_CKAN_IFRAME);
|
||||||
|
frame.setUrl(ckanUrlConnector);
|
||||||
|
|
||||||
frame.getElement().setId(GCubeCkanDataCatalog.GCUBE_CKAN_IFRAME);
|
frame.getElement().setId(GCubeCkanDataCatalog.GCUBE_CKAN_IFRAME);
|
||||||
frame.setWidth("100%");
|
frame.setWidth("100%");
|
||||||
// frame.setHeight("100%");
|
// frame.setHeight("100%");
|
||||||
|
@ -78,9 +102,10 @@ public class CkanFramePanel extends FlowPanel{
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLoad(LoadEvent arg0) {
|
public void onLoad(LoadEvent arg0) {
|
||||||
|
|
||||||
CkanFramePanel.this.remove(loading);
|
CkanFramePanel.this.remove(loading);
|
||||||
|
sendMessage(messageToSend, GCubeCkanDataCatalog.GCUBE_CKAN_IFRAME);
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
add(frame);
|
add(frame);
|
||||||
|
@ -97,7 +122,7 @@ public class CkanFramePanel extends FlowPanel{
|
||||||
public Frame getFrame() {
|
public Frame getFrame() {
|
||||||
return frame;
|
return frame;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* add loading image
|
* add loading image
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -51,6 +51,7 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate {
|
||||||
private boolean isManageProductToShow = false;
|
private boolean isManageProductToShow = false;
|
||||||
private static String latestSelectedProductIdentifier;
|
private static String latestSelectedProductIdentifier;
|
||||||
public static final int IFRAME_FIX_HEIGHT = 1800;
|
public static final int IFRAME_FIX_HEIGHT = 1800;
|
||||||
|
private JSONObject obj;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiates a new g cube ckan data catalog panel.
|
* Instantiates a new g cube ckan data catalog panel.
|
||||||
|
@ -65,6 +66,14 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate {
|
||||||
|
|
||||||
this.rootPanel = rootPanel;
|
this.rootPanel = rootPanel;
|
||||||
this.eventBus = eventManager;
|
this.eventBus = eventManager;
|
||||||
|
|
||||||
|
//postMessage(obj.toString(), ckanFramePanel.getFrame());
|
||||||
|
// send message about gateway url
|
||||||
|
obj = new JSONObject();
|
||||||
|
String landingPageVREs = Window.Location.getProtocol() + "//" + Window.Location.getHostName() + "/explore";
|
||||||
|
JSONString value = new JSONString(landingPageVREs);
|
||||||
|
obj.put("explore_vres_landing_page", value);
|
||||||
|
|
||||||
ckanFramePanel = new CkanFramePanel(eventBus);
|
ckanFramePanel = new CkanFramePanel(eventBus);
|
||||||
managementPanel = new CkanMetadataManagementPanel(eventBus);
|
managementPanel = new CkanMetadataManagementPanel(eventBus);
|
||||||
ckanOrganizationsPanel = new CkanOrganizationsPanel(this);
|
ckanOrganizationsPanel = new CkanOrganizationsPanel(this);
|
||||||
|
@ -219,13 +228,7 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate {
|
||||||
|
|
||||||
// listen for DOM messages
|
// listen for DOM messages
|
||||||
listenForPostMessage();
|
listenForPostMessage();
|
||||||
|
|
||||||
// send message about gateway url
|
|
||||||
JSONObject obj = new JSONObject();
|
|
||||||
String landingPageVREs = Window.Location.getProtocol() + "//" + Window.Location.getHostName() + "/explore";
|
|
||||||
JSONString value = new JSONString(landingPageVREs);
|
|
||||||
obj.put("explore_vres_landing_page", value);
|
|
||||||
postMessage(obj.toString());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getLatestSelectedProductIdentifier(){
|
public static String getLatestSelectedProductIdentifier(){
|
||||||
|
@ -279,7 +282,7 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate {
|
||||||
ckanFramePanel.setVisible(true);
|
ckanFramePanel.setVisible(true);
|
||||||
ckanOrganizationsPanel.setVisible(false);
|
ckanOrganizationsPanel.setVisible(false);
|
||||||
ckanGroupsPanel.setVisible(false);
|
ckanGroupsPanel.setVisible(false);
|
||||||
return ckanFramePanel.instanceFrame(ckanUrlConnector);
|
return ckanFramePanel.instanceFrame(ckanUrlConnector, obj.toString(), ckanAccessPoint.getBaseUrl());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -326,16 +329,6 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate {
|
||||||
// workspace.setHeight(height+"px");
|
// workspace.setHeight(height+"px");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Post message.
|
|
||||||
*
|
|
||||||
* @param msg the msg (as json)
|
|
||||||
*/
|
|
||||||
protected native void postMessage(String msg) /*-{
|
|
||||||
console.log("Sending message " + msg);
|
|
||||||
$wnd.postMessage(msg, "*");
|
|
||||||
}-*/;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Print a message
|
* Print a message
|
||||||
* @param string
|
* @param string
|
||||||
|
@ -354,7 +347,7 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate {
|
||||||
that.@org.gcube.portlets.gcubeckan.gcubeckandatacatalog.client.view.GCubeCkanDataCatalogPanel::onPostMessage(Ljava/lang/String;Ljava/lang/String;)(msg.data, msg.origin);
|
that.@org.gcube.portlets.gcubeckan.gcubeckandatacatalog.client.view.GCubeCkanDataCatalogPanel::onPostMessage(Ljava/lang/String;Ljava/lang/String;)(msg.data, msg.origin);
|
||||||
});
|
});
|
||||||
}-*/;
|
}-*/;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* On post message.
|
* On post message.
|
||||||
*
|
*
|
||||||
|
@ -362,11 +355,11 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate {
|
||||||
* @param origin the origin
|
* @param origin the origin
|
||||||
*/
|
*/
|
||||||
private void onPostMessage(String data, String origin) {
|
private void onPostMessage(String data, String origin) {
|
||||||
GWT.log("Read data: "+data+", from origin: "+origin);
|
printString("Read data: "+data+", from origin: "+origin);
|
||||||
GWT.log("Ckan base url: "+ckanAccessPoint.getBaseUrl());
|
printString("Ckan base url: "+ckanAccessPoint.getBaseUrl());
|
||||||
|
|
||||||
// parsing data.. it is a json bean of the type
|
// parsing data.. it is a json bean of the type
|
||||||
GWT.log("Incoming message is " + data + " from " + origin);
|
printString("Incoming message is " + data + " from " + origin);
|
||||||
|
|
||||||
if (ckanAccessPoint.getBaseUrl().indexOf(origin)>=0) {
|
if (ckanAccessPoint.getBaseUrl().indexOf(origin)>=0) {
|
||||||
// The data has been sent from your site
|
// The data has been sent from your site
|
||||||
|
|
Loading…
Reference in New Issue