gcube-ckan-datacatalog/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/client/view/CkanFramePanel.java

98 lines
2.2 KiB
Java

/**
*
*/
package org.gcube.portlets.gcubeckan.gcubeckandatacatalog.client.view;
import org.gcube.portlets.gcubeckan.gcubeckandatacatalog.client.event.IFrameInstanciedEvent;
import com.google.gwt.core.shared.GWT;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.dom.client.LoadEvent;
import com.google.gwt.event.dom.client.LoadHandler;
import com.google.gwt.event.shared.HandlerManager;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.Frame;
/**
* The Class CkanFramePanel.
*
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
* Jun 9, 2016
*/
public class CkanFramePanel extends FlowPanel{
private Frame frame;
private HandlerManager eventBus;
/**
* Instantiates a new ckan frame panel.
*
* @param eventBus the event bus
*/
public CkanFramePanel(HandlerManager eventBus) {
this.eventBus = eventBus;
}
/**
* Prints the.
*
* @param msg the msg
*/
private static native void print(String msg)/*-{
console.log(msg);
}-*/;
/**
* Instance frame.
*
* @param ckanUrlConnector the ckan url connector
* @return the frame
*/
public Frame instanceFrame(String ckanUrlConnector) {
GWT.log("Instancing new IFRAME with uri: "+ckanUrlConnector);
try{
if(frame != null)
remove(frame);
}catch(Exception e){
print("Error " + e);
}
frame = new Frame(ckanUrlConnector);
frame.getElement().getStyle().setBorderWidth(0, Unit.PX);
// frame.getElement().setPropertyString("frameBorder", "0");
frame.addLoadHandler(new LoadHandler() {
@Override
public void onLoad(LoadEvent arg0) {
/*NodeList<Element> listHeaders = Document.get().getElementsByTagName("header");
if(listHeaders!=null){
GWT.log("List Header by tag name is/are: "+listHeaders.getLength() +", hidden..");
for (int i = 0; i < listHeaders.getLength(); i++) {
Element header = listHeaders.getItem(i);
header.getStyle().setVisibility(Visibility.HIDDEN);
}
}else
GWT.log("List Header by tag name is null");*/
}
});
add(frame);
eventBus.fireEvent(new IFrameInstanciedEvent());
return frame;
}
/**
* Gets the frame.
*
* @return the frame
*/
public Frame getFrame() {
return frame;
}
}