managed the init

This commit is contained in:
Francesco Mangiacrapa 2020-11-18 17:28:44 +01:00
parent 9920698d75
commit 87514c4f43
10 changed files with 224 additions and 153 deletions

View File

@ -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&centermap=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&centermap=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));
}
}
}
});
} }
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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>

View File

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