managed the init
This commit is contained in:
parent
9920698d75
commit
87514c4f43
|
@ -2,13 +2,19 @@ package org.gcube.portlets.user.geoportaldataviewer.client;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
||||||
|
import org.gcube.portlets.user.geoportaldataviewer.client.events.AddedLayerToMapEvent;
|
||||||
|
import org.gcube.portlets.user.geoportaldataviewer.client.events.AddedLayerToMapEventHandler;
|
||||||
|
import org.gcube.portlets.user.geoportaldataviewer.client.events.QueryDataEvent;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.client.events.ShowDetailsEvent;
|
import org.gcube.portlets.user.geoportaldataviewer.client.events.ShowDetailsEvent;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.client.events.ShowDetailsEventHandler;
|
import org.gcube.portlets.user.geoportaldataviewer.client.events.ShowDetailsEventHandler;
|
||||||
|
import org.gcube.portlets.user.geoportaldataviewer.client.gis.MapUtils;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.client.ui.GeonaDataViewMainPanel;
|
import org.gcube.portlets.user.geoportaldataviewer.client.ui.GeonaDataViewMainPanel;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.shared.GeoNaDataViewerProfile;
|
import org.gcube.portlets.user.geoportaldataviewer.shared.GeoNaDataViewerProfile;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.shared.GeoNaItemRef;
|
import org.gcube.portlets.user.geoportaldataviewer.shared.GeoNaItemRef;
|
||||||
|
import org.gcube.portlets.user.geoportaldataviewer.shared.gis.GeoQuery;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.shared.gis.LayerItem;
|
import org.gcube.portlets.user.geoportaldataviewer.shared.gis.LayerItem;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.shared.products.ConcessioneDV;
|
import org.gcube.portlets.user.geoportaldataviewer.shared.products.ConcessioneDV;
|
||||||
|
import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.RecordDV;
|
||||||
|
|
||||||
import com.google.gwt.core.client.EntryPoint;
|
import com.google.gwt.core.client.EntryPoint;
|
||||||
import com.google.gwt.core.client.GWT;
|
import com.google.gwt.core.client.GWT;
|
||||||
|
@ -21,6 +27,8 @@ import com.google.gwt.user.client.Window;
|
||||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||||
import com.google.gwt.user.client.ui.RootPanel;
|
import com.google.gwt.user.client.ui.RootPanel;
|
||||||
|
|
||||||
|
import ol.Coordinate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Entry point classes define <code>onModuleLoad()</code>.
|
* Entry point classes define <code>onModuleLoad()</code>.
|
||||||
*
|
*
|
||||||
|
@ -50,10 +58,10 @@ public class GeoportalDataViewer implements EntryPoint {
|
||||||
/** The param layer title. */
|
/** The param layer title. */
|
||||||
private String paramLayerTitle;
|
private String paramLayerTitle;
|
||||||
|
|
||||||
private HandlerManager eventBus = new HandlerManager("");
|
private HandlerManager applicationBus = new HandlerManager("");
|
||||||
|
|
||||||
/** The layer manager. */
|
/** The layer manager. */
|
||||||
private LayerManager layerManager = new LayerManager(eventBus);
|
private LayerManager layerManager = new LayerManager(applicationBus);
|
||||||
|
|
||||||
private String paramGeonaItemID;
|
private String paramGeonaItemID;
|
||||||
|
|
||||||
|
@ -61,6 +69,7 @@ public class GeoportalDataViewer implements EntryPoint {
|
||||||
|
|
||||||
private OLMapManager olMapMng = null;
|
private OLMapManager olMapMng = null;
|
||||||
|
|
||||||
|
|
||||||
//https://data.d4science.org/gis-viewer-app/?wmsrequest=https%3A%2F%2Fgeona-proto.d4science.org%2Fgeoserver%2Fconcessioni_conf%2Fwms%3Fservice%3DWMS%26version%3D1.1.0%26request%3DGetMap%26layers%3Dconcessioni_conf%3Acentroids_concessioni%26styles%3D%26bbox%3D8.476%2C39.179%2C17.391%2C45.772%26width%3D768%26height%3D567%26srs%3DEPSG%3A4326%26format%3Dapplication%2Fopenlayers&zoom=6¢ermap=12.45%2C42.98
|
//https://data.d4science.org/gis-viewer-app/?wmsrequest=https%3A%2F%2Fgeona-proto.d4science.org%2Fgeoserver%2Fconcessioni_conf%2Fwms%3Fservice%3DWMS%26version%3D1.1.0%26request%3DGetMap%26layers%3Dconcessioni_conf%3Acentroids_concessioni%26styles%3D%26bbox%3D8.476%2C39.179%2C17.391%2C45.772%26width%3D768%26height%3D567%26srs%3DEPSG%3A4326%26format%3Dapplication%2Fopenlayers&zoom=6¢ermap=12.45%2C42.98
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -68,7 +77,7 @@ public class GeoportalDataViewer implements EntryPoint {
|
||||||
*/
|
*/
|
||||||
public void onModuleLoad() {
|
public void onModuleLoad() {
|
||||||
|
|
||||||
mainPanel = new GeonaDataViewMainPanel(eventBus, getClientHeight());
|
mainPanel = new GeonaDataViewMainPanel(applicationBus, getClientHeight());
|
||||||
|
|
||||||
RootPanel.get(APP_DIV).add(mainPanel);
|
RootPanel.get(APP_DIV).add(mainPanel);
|
||||||
|
|
||||||
|
@ -77,7 +86,7 @@ public class GeoportalDataViewer implements EntryPoint {
|
||||||
@Override
|
@Override
|
||||||
public void execute() {
|
public void execute() {
|
||||||
|
|
||||||
olMapMng = new OLMapManager(mainPanel.getMapPanel().getElement().getId(),layerManager.getEventBus());
|
olMapMng = new OLMapManager(mainPanel.getMapPanel().getElement().getId(),layerManager.getLayerManagerBus());
|
||||||
layerManager.setOlMap(olMapMng.getOLOSMMap());
|
layerManager.setOlMap(olMapMng.getOLOSMMap());
|
||||||
mainPanel.setMap(olMapMng.getOLOSMMap());
|
mainPanel.setMap(olMapMng.getOLOSMMap());
|
||||||
updateSize();
|
updateSize();
|
||||||
|
@ -150,7 +159,7 @@ public class GeoportalDataViewer implements EntryPoint {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
GeoNaItemRef gir = new GeoNaItemRef(new Long(paramGeonaItemID), paramGeonaItemType);
|
GeoNaItemRef gir = new GeoNaItemRef(new Long(paramGeonaItemID), paramGeonaItemType);
|
||||||
eventBus.fireEvent(new ShowDetailsEvent(gir, null, null));
|
applicationBus.fireEvent(new ShowDetailsEvent(gir, null, null));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -185,7 +194,7 @@ public class GeoportalDataViewer implements EntryPoint {
|
||||||
*/
|
*/
|
||||||
private void bindEvents() {
|
private void bindEvents() {
|
||||||
|
|
||||||
eventBus.addHandler(ShowDetailsEvent.TYPE, new ShowDetailsEventHandler() {
|
applicationBus.addHandler(ShowDetailsEvent.TYPE, new ShowDetailsEventHandler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onShowDetails(ShowDetailsEvent showDetailsEvent) {
|
public void onShowDetails(ShowDetailsEvent showDetailsEvent) {
|
||||||
|
@ -198,41 +207,58 @@ public class GeoportalDataViewer implements EntryPoint {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String tabName = showDetailsEvent.getItemName()==null?"Dettagli Prodotto":showDetailsEvent.getItemName();
|
//TODO
|
||||||
|
|
||||||
// boolean found = mainPanel.selectTabForProductId(id);
|
|
||||||
boolean found = false;
|
boolean found = false;
|
||||||
GWT.log("Product with id: "+id+" found? "+found);
|
GWT.log("Product with id: "+id+" found? "+found);
|
||||||
|
|
||||||
if(!found) {
|
if(!found) {
|
||||||
|
|
||||||
if(showDetailsEvent.getGeonaItemType().equalsIgnoreCase("Concessione")) {
|
if(showDetailsEvent.getGeonaItemType().equalsIgnoreCase("Concessione")) {
|
||||||
|
|
||||||
//final Tab theTab = mainPanel.addAsTab(tabName, true, null);
|
|
||||||
GeoportalDataViewerServiceAsync.Util.getInstance().getConcessioneForId(id, new AsyncCallback<ConcessioneDV>() {
|
GeoportalDataViewerServiceAsync.Util.getInstance().getConcessioneForId(id, new AsyncCallback<ConcessioneDV>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Throwable caught) {
|
public void onFailure(Throwable caught) {
|
||||||
Window.alert(caught.getMessage());
|
Window.alert(caught.getMessage());
|
||||||
// theTab.clear();
|
mainPanel.hidePanelDetails();
|
||||||
// theTab.setIcon(IconType.WARNING_SIGN);
|
|
||||||
// theTab.add(new HTML(caught.getMessage()));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(ConcessioneDV concessioneDV) {
|
public void onSuccess(ConcessioneDV concessioneDV) {
|
||||||
GWT.log("Showing: "+concessioneDV);
|
GWT.log("Showing: "+concessioneDV);
|
||||||
//mainPanel.renderProductIntoTab(theTab, concessioneDV, showDetailsEvent.getGeonaItemRef());
|
|
||||||
mainPanel.showAsDetails(concessioneDV, showDetailsEvent.getGeonaItemRef());
|
mainPanel.showAsDetails(concessioneDV, showDetailsEvent.getGeonaItemRef());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
applicationBus.addHandler(AddedLayerToMapEvent.TYPE, new AddedLayerToMapEventHandler() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLayerRendered(AddedLayerToMapEvent addedLayerToMapEvent) {
|
||||||
|
GWT.log("Fired AddedLayerToMapEvent "+addedLayerToMapEvent.getLayerItem());
|
||||||
|
if(paramGeonaItemID!=null && mainPanel.getDisplyedRecord()!=null) {
|
||||||
|
RecordDV record = mainPanel.getDisplyedRecord();
|
||||||
|
GWT.log("record instanceof ConcessioneDV: " +(record instanceof ConcessioneDV));
|
||||||
|
if(record instanceof ConcessioneDV) {
|
||||||
|
ConcessioneDV concessioneDV = (ConcessioneDV) record;
|
||||||
|
Double x = concessioneDV.getCentroidLong();
|
||||||
|
Double y = concessioneDV.getCentroidLat();
|
||||||
|
Coordinate transfCoord = MapUtils.transformCoordiante(new Coordinate(x, y), GeoportalDataViewerConstants.EPSG_4326, GeoportalDataViewerConstants.EPSG_3857);
|
||||||
|
GeoQuery select = olMapMng.toDataPointQuery(transfCoord);
|
||||||
|
layerManager.getLayerManagerBus().fireEvent(new QueryDataEvent(select, transfCoord));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,8 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants.LayerType;
|
import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants.LayerType;
|
||||||
|
import org.gcube.portlets.user.geoportaldataviewer.client.events.AddedLayerToMapEvent;
|
||||||
|
import org.gcube.portlets.user.geoportaldataviewer.client.events.AddedLayerToMapEventHandler;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.client.events.QueryDataEvent;
|
import org.gcube.portlets.user.geoportaldataviewer.client.events.QueryDataEvent;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.client.events.QueryDataEventHandler;
|
import org.gcube.portlets.user.geoportaldataviewer.client.events.QueryDataEventHandler;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.client.events.ShowDetailsEvent;
|
import org.gcube.portlets.user.geoportaldataviewer.client.events.ShowDetailsEvent;
|
||||||
|
@ -62,7 +64,7 @@ public class LayerManager {
|
||||||
|
|
||||||
private List<LayerObject> layerObjects = new ArrayList<LayerObject>();
|
private List<LayerObject> layerObjects = new ArrayList<LayerObject>();
|
||||||
|
|
||||||
private HandlerManager eventBus = new HandlerManager("");
|
private HandlerManager layerManagerBus = new HandlerManager("");
|
||||||
|
|
||||||
private HandlerManager applicationBus;
|
private HandlerManager applicationBus;
|
||||||
|
|
||||||
|
@ -82,7 +84,7 @@ public class LayerManager {
|
||||||
*/
|
*/
|
||||||
private void bindEvents() {
|
private void bindEvents() {
|
||||||
|
|
||||||
eventBus.addHandler(QueryDataEvent.TYPE, new QueryDataEventHandler() {
|
layerManagerBus.addHandler(QueryDataEvent.TYPE, new QueryDataEventHandler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onQueryInteraction(final QueryDataEvent queryEvent) {
|
public void onQueryInteraction(final QueryDataEvent queryEvent) {
|
||||||
|
@ -308,6 +310,16 @@ public class LayerManager {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
layerManagerBus.addHandler(AddedLayerToMapEvent.TYPE, new AddedLayerToMapEventHandler() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLayerRendered(AddedLayerToMapEvent addedLayerToMapEvent) {
|
||||||
|
GWT.log("Fired into layerManagerBus");
|
||||||
|
applicationBus.fireEvent(addedLayerToMapEvent);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -373,7 +385,7 @@ public class LayerManager {
|
||||||
lo.setLayerItem(layerItem);
|
lo.setLayerItem(layerItem);
|
||||||
lo.setItemType(geonaItemType);
|
lo.setItemType(geonaItemType);
|
||||||
layerObjects.add(lo);
|
layerObjects.add(lo);
|
||||||
olMap.addWMSLayer(layerItem.getMapServerHost(), layerItem.getName());
|
olMap.addWMSLayer(layerItem);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -476,14 +488,9 @@ public class LayerManager {
|
||||||
public void setOlMap(OpenLayerOSM olMap) {
|
public void setOlMap(OpenLayerOSM olMap) {
|
||||||
this.olMap = olMap;
|
this.olMap = olMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public HandlerManager getLayerManagerBus() {
|
||||||
* Gets the event bus.
|
return layerManagerBus;
|
||||||
*
|
|
||||||
* @return the event bus
|
|
||||||
*/
|
|
||||||
public HandlerManager getEventBus() {
|
|
||||||
return eventBus;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ import ol.OLFactory;
|
||||||
public class OLMapManager {
|
public class OLMapManager {
|
||||||
|
|
||||||
private String targetId;
|
private String targetId;
|
||||||
private HandlerManager eventBus;
|
private HandlerManager layerManagerBus;
|
||||||
private OpenLayerOSM olMap;
|
private OpenLayerOSM olMap;
|
||||||
private ol.Extent dragStartExtent = null;
|
private ol.Extent dragStartExtent = null;
|
||||||
private Double zoomStart = null;
|
private Double zoomStart = null;
|
||||||
|
@ -26,15 +26,15 @@ public class OLMapManager {
|
||||||
private ol.Extent dragEndExtent = null;
|
private ol.Extent dragEndExtent = null;
|
||||||
private static final int QUERY_MIN_ZOOM_LEVEL = 13;
|
private static final int QUERY_MIN_ZOOM_LEVEL = 13;
|
||||||
|
|
||||||
public OLMapManager(String targetId, HandlerManager eventBus) {
|
public OLMapManager(String targetId, HandlerManager layerManagerBus) {
|
||||||
this.targetId = targetId;
|
this.targetId = targetId;
|
||||||
this.eventBus = eventBus;
|
this.layerManagerBus = layerManagerBus;
|
||||||
instanceOLMap();
|
instanceOLMap();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void instanceOLMap() {
|
public void instanceOLMap() {
|
||||||
|
|
||||||
olMap = new OpenLayerOSM(targetId, eventBus) {
|
olMap = new OpenLayerOSM(targetId, layerManagerBus) {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void clickListener(MapBrowserEvent event) {
|
public void clickListener(MapBrowserEvent event) {
|
||||||
|
@ -44,7 +44,7 @@ public class OLMapManager {
|
||||||
|
|
||||||
if (olMap.isQueryPointActive()) {
|
if (olMap.isQueryPointActive()) {
|
||||||
GeoQuery select = toDataPointQuery(coordinate);
|
GeoQuery select = toDataPointQuery(coordinate);
|
||||||
eventBus.fireEvent(new QueryDataEvent(select, coordinate));
|
layerManagerBus.fireEvent(new QueryDataEvent(select, coordinate));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -117,7 +117,7 @@ public class OLMapManager {
|
||||||
* @param coordinate the coordinate
|
* @param coordinate the coordinate
|
||||||
* @return the geo query
|
* @return the geo query
|
||||||
*/
|
*/
|
||||||
private GeoQuery toDataPointQuery(Coordinate coordinate) {
|
public GeoQuery toDataPointQuery(Coordinate coordinate) {
|
||||||
|
|
||||||
double lon = coordinate.getX();
|
double lon = coordinate.getX();
|
||||||
double lat = coordinate.getY();
|
double lat = coordinate.getY();
|
||||||
|
@ -166,12 +166,12 @@ public class OLMapManager {
|
||||||
GWT.log("the distance is: " + dist);
|
GWT.log("the distance is: " + dist);
|
||||||
if (dist > 5000 || startExt.containsExtent(endExt)) {
|
if (dist > 5000 || startExt.containsExtent(endExt)) {
|
||||||
GeoQuery select = toDataBoxQuery(dragEndExtent);
|
GeoQuery select = toDataBoxQuery(dragEndExtent);
|
||||||
eventBus.fireEvent(new QueryDataEvent(select, endExt.getCenter()));
|
layerManagerBus.fireEvent(new QueryDataEvent(select, endExt.getCenter()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(zoomStart!=null && zoomEnd!=null) {
|
else if(zoomStart!=null && zoomEnd!=null) {
|
||||||
|
|
||||||
if(zoomEnd<QUERY_MIN_ZOOM_LEVEL & !olMap.isQueryPointActive()) {
|
if(zoomEnd<QUERY_MIN_ZOOM_LEVEL && !olMap.isQueryPointActive()) {
|
||||||
olMap.hidePopup();
|
olMap.hidePopup();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
package org.gcube.portlets.user.geoportaldataviewer.client.events;
|
||||||
|
|
||||||
|
import org.gcube.portlets.user.geoportaldataviewer.shared.gis.LayerItem;
|
||||||
|
|
||||||
|
import com.google.gwt.event.shared.GwtEvent;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Class AddedLayerToMapEvent.
|
||||||
|
*
|
||||||
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
||||||
|
*
|
||||||
|
* Nov 18, 2020
|
||||||
|
*/
|
||||||
|
public class AddedLayerToMapEvent extends GwtEvent<AddedLayerToMapEventHandler> {
|
||||||
|
public static Type<AddedLayerToMapEventHandler> TYPE = new Type<AddedLayerToMapEventHandler>();
|
||||||
|
private LayerItem layerItem;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new added layer to map event.
|
||||||
|
*
|
||||||
|
* @param layerItem the layer item
|
||||||
|
*/
|
||||||
|
public AddedLayerToMapEvent(LayerItem layerItem) {
|
||||||
|
this.layerItem = layerItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the associated type.
|
||||||
|
*
|
||||||
|
* @return the associated type
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Type<AddedLayerToMapEventHandler> getAssociatedType() {
|
||||||
|
return TYPE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Dispatch.
|
||||||
|
*
|
||||||
|
* @param handler the handler
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected void dispatch(AddedLayerToMapEventHandler handler) {
|
||||||
|
handler.onLayerRendered(this);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the layer item.
|
||||||
|
*
|
||||||
|
* @return the layer item
|
||||||
|
*/
|
||||||
|
public LayerItem getLayerItem() {
|
||||||
|
return layerItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
package org.gcube.portlets.user.geoportaldataviewer.client.events;
|
||||||
|
|
||||||
|
import com.google.gwt.event.shared.EventHandler;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Interface AddedLayerToMapEventHandler.
|
||||||
|
*
|
||||||
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
||||||
|
*
|
||||||
|
* Nov 18, 2020
|
||||||
|
*/
|
||||||
|
public interface AddedLayerToMapEventHandler extends EventHandler {
|
||||||
|
/**
|
||||||
|
* On layer rendered.
|
||||||
|
*
|
||||||
|
* @param addedLayerToMapEvent the added layer to map event
|
||||||
|
*/
|
||||||
|
void onLayerRendered(AddedLayerToMapEvent addedLayerToMapEvent);
|
||||||
|
}
|
|
@ -1,6 +1,8 @@
|
||||||
package org.gcube.portlets.user.geoportaldataviewer.client.gis;
|
package org.gcube.portlets.user.geoportaldataviewer.client.gis;
|
||||||
|
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants;
|
import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants;
|
||||||
|
import org.gcube.portlets.user.geoportaldataviewer.client.events.AddedLayerToMapEvent;
|
||||||
|
import org.gcube.portlets.user.geoportaldataviewer.shared.gis.LayerItem;
|
||||||
|
|
||||||
import com.google.gwt.core.client.GWT;
|
import com.google.gwt.core.client.GWT;
|
||||||
import com.google.gwt.dom.client.Style.Visibility;
|
import com.google.gwt.dom.client.Style.Visibility;
|
||||||
|
@ -268,19 +270,19 @@ public abstract class OpenLayerOSM {
|
||||||
|
|
||||||
}-*/;
|
}-*/;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds the WMS layer.
|
* Adds the WMS layer.
|
||||||
*
|
*
|
||||||
* @param mapServerHost the map server host
|
* @param layerItem the layer item
|
||||||
* @param layerName the layer name
|
|
||||||
*/
|
*/
|
||||||
public void addWMSLayer(String mapServerHost, String layerName) {
|
public void addWMSLayer(LayerItem layerItem) {
|
||||||
|
|
||||||
ImageWmsParams imageWMSParams = OLFactory.createOptions();
|
ImageWmsParams imageWMSParams = OLFactory.createOptions();
|
||||||
imageWMSParams.setLayers(layerName);
|
imageWMSParams.setLayers(layerItem.getName());
|
||||||
|
|
||||||
ImageWmsOptions imageWMSOptions = OLFactory.createOptions();
|
ImageWmsOptions imageWMSOptions = OLFactory.createOptions();
|
||||||
imageWMSOptions.setUrl(mapServerHost);
|
imageWMSOptions.setUrl(layerItem.getMapServerHost());
|
||||||
imageWMSOptions.setParams(imageWMSParams);
|
imageWMSOptions.setParams(imageWMSParams);
|
||||||
//imageWMSOptions.setRatio(1.5f);
|
//imageWMSOptions.setRatio(1.5f);
|
||||||
|
|
||||||
|
@ -294,8 +296,39 @@ public abstract class OpenLayerOSM {
|
||||||
//visibleLayerItems
|
//visibleLayerItems
|
||||||
|
|
||||||
map.addLayer(wmsLayer);
|
map.addLayer(wmsLayer);
|
||||||
|
GWT.log("Fired the event Added Layer");
|
||||||
|
eventBus.fireEvent(new AddedLayerToMapEvent(layerItem));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// /**
|
||||||
|
// * Adds the WMS layer.
|
||||||
|
// *
|
||||||
|
// * @param mapServerHost the map server host
|
||||||
|
// * @param layerName the layer name
|
||||||
|
// */
|
||||||
|
// public void addWMSLayer(String mapServerHost, String layerName) {
|
||||||
|
//
|
||||||
|
// ImageWmsParams imageWMSParams = OLFactory.createOptions();
|
||||||
|
// imageWMSParams.setLayers(layerName);
|
||||||
|
//
|
||||||
|
// ImageWmsOptions imageWMSOptions = OLFactory.createOptions();
|
||||||
|
// imageWMSOptions.setUrl(mapServerHost);
|
||||||
|
// imageWMSOptions.setParams(imageWMSParams);
|
||||||
|
// //imageWMSOptions.setRatio(1.5f);
|
||||||
|
//
|
||||||
|
// ImageWms imageWMSSource = new ImageWms(imageWMSOptions);
|
||||||
|
//
|
||||||
|
// LayerOptions layerOptions = OLFactory.createOptions();
|
||||||
|
// layerOptions.setSource(imageWMSSource);
|
||||||
|
//
|
||||||
|
// Image wmsLayer = new Image(layerOptions);
|
||||||
|
//
|
||||||
|
// //visibleLayerItems
|
||||||
|
//
|
||||||
|
// map.addLayer(wmsLayer);
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds the point vector source.
|
* Adds the point vector source.
|
||||||
|
@ -475,8 +508,7 @@ public abstract class OpenLayerOSM {
|
||||||
|
|
||||||
public boolean mapInstancied() {
|
public boolean mapInstancied() {
|
||||||
return this.map!=null;
|
return this.map!=null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ package org.gcube.portlets.user.geoportaldataviewer.client.ui;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.client.ui.products.concessioni.ConcessioneView;
|
import org.gcube.portlets.user.geoportaldataviewer.client.ui.products.concessioni.ConcessioneView;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.shared.GeoNaItemRef;
|
import org.gcube.portlets.user.geoportaldataviewer.shared.GeoNaItemRef;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.shared.products.ConcessioneDV;
|
import org.gcube.portlets.user.geoportaldataviewer.shared.products.ConcessioneDV;
|
||||||
|
import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.RecordDV;
|
||||||
|
|
||||||
import com.github.gwtbootstrap.client.ui.Button;
|
import com.github.gwtbootstrap.client.ui.Button;
|
||||||
import com.github.gwtbootstrap.client.ui.constants.ButtonType;
|
import com.github.gwtbootstrap.client.ui.constants.ButtonType;
|
||||||
|
@ -28,6 +29,8 @@ public class DetailsPanel extends Composite {
|
||||||
|
|
||||||
@UiField
|
@UiField
|
||||||
HTMLPanel detailsHTMLPanel;
|
HTMLPanel detailsHTMLPanel;
|
||||||
|
|
||||||
|
private RecordDV displayedRecord = null;
|
||||||
|
|
||||||
interface DetailsPanelUiBinder extends UiBinder<Widget, DetailsPanel> {
|
interface DetailsPanelUiBinder extends UiBinder<Widget, DetailsPanel> {
|
||||||
}
|
}
|
||||||
|
@ -42,7 +45,7 @@ public class DetailsPanel extends Composite {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(ClickEvent event) {
|
public void onClick(ClickEvent event) {
|
||||||
showPanelDetails(false);
|
hidePanelDetails();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -50,16 +53,27 @@ public class DetailsPanel extends Composite {
|
||||||
|
|
||||||
|
|
||||||
public void showDetailsFor(ConcessioneDV cdv, GeoNaItemRef geonaItemRef) {
|
public void showDetailsFor(ConcessioneDV cdv, GeoNaItemRef geonaItemRef) {
|
||||||
|
this.displayedRecord = cdv;
|
||||||
datailsContainerPanel.clear();
|
datailsContainerPanel.clear();
|
||||||
if(detailsHTMLPanel.getParent()!=null)
|
if(detailsHTMLPanel.getParent()!=null)
|
||||||
detailsHTMLPanel.getParent().getElement().setScrollTop(0);
|
detailsHTMLPanel.getParent().getElement().setScrollTop(0);
|
||||||
|
|
||||||
datailsContainerPanel.add(new ConcessioneView(geonaItemRef, cdv));
|
datailsContainerPanel.add(new ConcessioneView(geonaItemRef, cdv));
|
||||||
showPanelDetails(true);
|
showPanelDetails();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showPanelDetails(boolean visible) {
|
private void showPanelDetails() {
|
||||||
detailsHTMLPanel.setVisible(visible);
|
detailsHTMLPanel.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void hidePanelDetails() {
|
||||||
|
this.displayedRecord = null;
|
||||||
|
datailsContainerPanel.clear();
|
||||||
|
detailsHTMLPanel.setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public RecordDV getDisplayedRecord() {
|
||||||
|
return displayedRecord;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,12 @@
|
||||||
package org.gcube.portlets.user.geoportaldataviewer.client.ui;
|
package org.gcube.portlets.user.geoportaldataviewer.client.ui;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.client.gis.OpenLayerOSM;
|
import org.gcube.portlets.user.geoportaldataviewer.client.gis.OpenLayerOSM;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.shared.GeoNaItemRef;
|
import org.gcube.portlets.user.geoportaldataviewer.shared.GeoNaItemRef;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.shared.products.ConcessioneDV;
|
import org.gcube.portlets.user.geoportaldataviewer.shared.products.ConcessioneDV;
|
||||||
|
import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.RecordDV;
|
||||||
|
|
||||||
import com.github.gwtbootstrap.client.ui.Button;
|
import com.github.gwtbootstrap.client.ui.Button;
|
||||||
import com.github.gwtbootstrap.client.ui.NavLink;
|
import com.github.gwtbootstrap.client.ui.NavLink;
|
||||||
import com.github.gwtbootstrap.client.ui.Tab;
|
|
||||||
import com.github.gwtbootstrap.client.ui.constants.IconType;
|
import com.github.gwtbootstrap.client.ui.constants.IconType;
|
||||||
import com.google.gwt.core.client.GWT;
|
import com.google.gwt.core.client.GWT;
|
||||||
import com.google.gwt.event.dom.client.ClickEvent;
|
import com.google.gwt.event.dom.client.ClickEvent;
|
||||||
|
@ -49,21 +44,14 @@ public class GeonaDataViewMainPanel extends Composite {
|
||||||
@UiField
|
@UiField
|
||||||
Button removeQuery;
|
Button removeQuery;
|
||||||
|
|
||||||
// @UiField
|
|
||||||
// TabPanel mainTabPanel;
|
|
||||||
|
|
||||||
@UiField
|
@UiField
|
||||||
DetailsPanel detailsPanel;
|
DetailsPanel detailsPanel;
|
||||||
|
|
||||||
private List<Tab> listTabs = new ArrayList<Tab>();
|
|
||||||
|
|
||||||
private MapPanel mapPanel;
|
private MapPanel mapPanel;
|
||||||
|
|
||||||
private OpenLayerOSM map;
|
private OpenLayerOSM map;
|
||||||
|
|
||||||
private HandlerManager eventBus;
|
private HandlerManager eventBus;
|
||||||
|
|
||||||
private Map<Long, Tab> mapProducts = new HashMap<Long, Tab>();
|
|
||||||
|
|
||||||
public GeonaDataViewMainPanel(HandlerManager eventBus, int mapHeight) {
|
public GeonaDataViewMainPanel(HandlerManager eventBus, int mapHeight) {
|
||||||
initWidget(uiBinder.createAndBindUi(this));
|
initWidget(uiBinder.createAndBindUi(this));
|
||||||
|
@ -104,8 +92,6 @@ public class GeonaDataViewMainPanel extends Composite {
|
||||||
map.addPointVectorSource();
|
map.addPointVectorSource();
|
||||||
}
|
}
|
||||||
removeQuery.setVisible(true);
|
removeQuery.setVisible(true);
|
||||||
//dataBoxSelection.setActive(false);
|
|
||||||
//dataBoxSelection.getElement().removeClassName("active");
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -119,8 +105,6 @@ public class GeonaDataViewMainPanel extends Composite {
|
||||||
map.addExtentInteraction();
|
map.addExtentInteraction();
|
||||||
}
|
}
|
||||||
removeQuery.setVisible(true);
|
removeQuery.setVisible(true);
|
||||||
//dataPointSelection.setActive(false);
|
|
||||||
//dataPointSelection.getElement().removeClassName("active");
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -134,96 +118,19 @@ public class GeonaDataViewMainPanel extends Composite {
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// public void renderProductIntoTab(Tab tab, ConcessioneDV cdv, GeoNaItemRef geonaItemRef) {
|
|
||||||
// tab.clear();
|
|
||||||
// tab.setHeading(cdv.getNome());
|
|
||||||
// tab.add(new ConcessioneView(geonaItemRef, cdv));
|
|
||||||
// mapProducts.put(cdv.getId(), tab);
|
|
||||||
// selectTabForProductId(cdv.getId());
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public boolean selectTabForProductId(long productId) {
|
|
||||||
//
|
|
||||||
// Tab product = mapProducts.get(productId);
|
|
||||||
// if(product!=null) {
|
|
||||||
// selectTab(product);
|
|
||||||
// //found
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
// //not found
|
|
||||||
// return false;
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * Adds the as tab.
|
|
||||||
// *
|
|
||||||
// * @param tabTitle the tab title
|
|
||||||
// * @param tabDescr the tab descr
|
|
||||||
// * @param spinner the spinner
|
|
||||||
// * @param w the w
|
|
||||||
// * @return the tab
|
|
||||||
// */
|
|
||||||
// public Tab addAsTab(String tabTitle, boolean spinner, Widget w){
|
|
||||||
//
|
|
||||||
//// field_create_analytics_request.setActive(false);
|
|
||||||
//
|
|
||||||
// Tab tab = new Tab();
|
|
||||||
// mainTabPanel.add(tab);
|
|
||||||
//
|
|
||||||
// if(spinner) {
|
|
||||||
// LoaderIcon loader = new LoaderIcon("Loading...");
|
|
||||||
// tab.add(loader);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// tab.addClickHandler(new ClickHandler() {
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public void onClick(ClickEvent event) {
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
//
|
|
||||||
// //tab.setActive(true);
|
|
||||||
// tab.setHeading(tabTitle);
|
|
||||||
// listTabs.add(tab);
|
|
||||||
//
|
|
||||||
// if(w!=null)
|
|
||||||
// tab.add(w);
|
|
||||||
//
|
|
||||||
// Scheduler.get().scheduleDeferred(new ScheduledCommand() {
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public void execute() {
|
|
||||||
// selectTab(tab);
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
//
|
|
||||||
// return tab;
|
|
||||||
//
|
|
||||||
//// tab.setActive(true);
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
// private void selectTab(Tab theTab) {
|
|
||||||
// int i = 1;
|
|
||||||
// for (Tab tab : listTabs) {
|
|
||||||
// GWT.log("Selecting "+tab);
|
|
||||||
// tab.setActive(false);
|
|
||||||
// if(tab.equals(theTab)) {
|
|
||||||
// GWT.log("Tab selected "+tab);
|
|
||||||
// mainTabPanel.selectTab(i);
|
|
||||||
// }
|
|
||||||
// i++;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
|
|
||||||
public void showAsDetails(ConcessioneDV concessioneDV, GeoNaItemRef geonaItemRef) {
|
public void showAsDetails(ConcessioneDV concessioneDV, GeoNaItemRef geonaItemRef) {
|
||||||
detailsPanel.showDetailsFor(concessioneDV, geonaItemRef);
|
detailsPanel.showDetailsFor(concessioneDV, geonaItemRef);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void hidePanelDetails() {
|
||||||
|
detailsPanel.hidePanelDetails();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public RecordDV getDisplyedRecord() {
|
||||||
|
return detailsPanel.getDisplayedRecord();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,13 +16,18 @@
|
||||||
right: 20px;
|
right: 20px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.margin-bottom-10 {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
</ui:style>
|
</ui:style>
|
||||||
<g:HTMLPanel ui:field="pageViewDetails">
|
<g:HTMLPanel ui:field="pageViewDetails">
|
||||||
<!-- <g:HTMLPanel ui:field="sharePanel" -->
|
<!-- <g:HTMLPanel ui:field="sharePanel" -->
|
||||||
<!-- addStyleNames="{style.align-to-right}"> -->
|
<!-- addStyleNames="{style.align-to-right}"> -->
|
||||||
<!-- </g:HTMLPanel> -->
|
<!-- </g:HTMLPanel> -->
|
||||||
<b:PageHeader ui:field="titolo"></b:PageHeader>
|
<b:PageHeader ui:field="titolo"></b:PageHeader>
|
||||||
<g:HorizontalPanel>
|
<g:HorizontalPanel
|
||||||
|
addStyleNames="{style.margin-bottom-10}">
|
||||||
<b:Button ui:field="shareButton">Share</b:Button>
|
<b:Button ui:field="shareButton">Share</b:Button>
|
||||||
<b:Button ui:field="openButton">Open</b:Button>
|
<b:Button ui:field="openButton">Open</b:Button>
|
||||||
</g:HorizontalPanel>
|
</g:HorizontalPanel>
|
||||||
|
|
|
@ -171,7 +171,7 @@ body {
|
||||||
/*margin-top: 30px;*/
|
/*margin-top: 30px;*/
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
transition: width 0.2s;
|
transition: width 0.5s;
|
||||||
z-index: 1000;
|
z-index: 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue