diff --git a/.classpath b/.classpath index 1e9c243..2e88564 100644 --- a/.classpath +++ b/.classpath @@ -1,16 +1,11 @@ - + - - - - - @@ -35,5 +30,5 @@ - + diff --git a/.settings/com.gwtplugins.gdt.eclipse.core.prefs b/.settings/com.gwtplugins.gdt.eclipse.core.prefs index 2377aa7..6671eb3 100644 --- a/.settings/com.gwtplugins.gdt.eclipse.core.prefs +++ b/.settings/com.gwtplugins.gdt.eclipse.core.prefs @@ -1,4 +1,4 @@ eclipse.preferences.version=1 -lastWarOutDir=/home/francescomangiacrapa/git/geoportal-data-viewer-app/target/geoportal-data-viewer-app-3.5.0-SNAPSHOT +lastWarOutDir=/home/francescomangiacrapa/git/geoportal-data-viewer-app/target/geoportal-data-viewer-app-3.6.0-SNAPSHOT warSrcDir=src/main/webapp warSrcDirIsOutput=false diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index e356dfa..f493311 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -1,5 +1,5 @@ - + @@ -86,8 +86,16 @@ - - + + + + + + + + + + @@ -175,7 +183,11 @@ - + + + + + @@ -263,7 +275,11 @@ - + + + + + @@ -351,7 +367,11 @@ - + + + + + @@ -439,7 +459,7 @@ - + @@ -505,93 +525,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - uses - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -618,7 +551,11 @@ - + + + + + @@ -706,7 +643,11 @@ - + + + + + @@ -794,7 +735,11 @@ - + + + + + diff --git a/CHANGELOG.md b/CHANGELOG.md index a79cc7c..efcf3a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v3.6.0-SNAPSHOT] + +- GUI optimization [#25461] +- Using the latest libraries version: gwt-ol.v8.4.1 (with openlayers.v6.6.1) and gwt.v2.10 + ## [v3.5.0] - Supported the cross-filtering [#25074] diff --git a/pom.xml b/pom.xml index b9b09bc..0fea206 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ org.gcube.portlets.user geoportal-data-viewer-app war - 3.5.0 + 3.6.0-SNAPSHOT GeoPortal Data Viewer App The GeoPortal Data Viewer App is an application to access, discovery and navigate the Geoportal projects/documents by a Web-Map Interface @@ -23,6 +23,7 @@ 2.10.0 PRETTY 2.6.2 + 8.4.1 ${project.build.directory}/${project.build.finalName} 1.8 @@ -102,7 +103,7 @@ com.github.tdesjardins gwt-ol3 - 8.1.0-gwt2_9 + ${gwt.ol.version} com.github.gwtbootstrap diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewer.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewer.java index 7b7a230..be10d8a 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewer.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewer.java @@ -111,6 +111,8 @@ import ol.Feature; public class GeoportalDataViewer implements EntryPoint { public static final String DIV_TIMELINE_DATA = "timeline-data"; + + public static final String DIV_LAYER_VIEW = "layer-viewer"; public static final String APP_NOTIFIER = "app-notifier"; @@ -414,7 +416,8 @@ public class GeoportalDataViewer implements EntryPoint { int height = rootHeight; mainPanel.setPanelsHeight(height); GWT.log("Set height: " + height); - + + mainPanel.setPanelsWidth(Window.getClientWidth()); } /** diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewerConstants.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewerConstants.java index 0a0ddc4..dd114eb 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewerConstants.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewerConstants.java @@ -14,6 +14,8 @@ import com.google.gwt.i18n.client.DateTimeFormat; * Nov 24, 2020 */ public class GeoportalDataViewerConstants { + + public static final int TABLET_WIDTH = 1601; public static final String MAP_DIV = "map"; @@ -25,7 +27,7 @@ public class GeoportalDataViewerConstants { public static final String GET_MAX_ZOOM_LEVEL = OpenLayersMapParameters.OL_MAP_PARAM.maxzoomlevel.name(); public static final String GET_ZOOM = OpenLayersMapParameters.OL_MAP_PARAM.zoom.name(); public static final String GET_CENTER_MAP_TO_LONG_LAT = OpenLayersMapParameters.OL_MAP_PARAM.centermap.name(); - + public static final Double INITIAL_LAYER_OPACITY = 0.8; public static final int SEARCH_LIMIT_RESULTS_TO_MAXIMUM = 50; @@ -37,6 +39,32 @@ public class GeoportalDataViewerConstants { public static final String PROJECT_ID_KEY_FEATURE = "projectid"; + public static enum GisToolbarFacilities { + COLLECTION("Collection", "Open the collections"), + MAP("Map", "Select the base Map"), + OVERLAY("Overlay", "Add overlay layers"), + SEARCH("Search", "Search in the collections"), + FILTER("Filter", "Apply spatial filtering"), + LAYERS("Layers", "Layers added to Map"), + PRESET_LOCATION("Preset Location", "Center the Map to Location"); + + String name; + String tooltip; + + GisToolbarFacilities(String name, String tooltip) { + this.name = name; + this.tooltip = tooltip; + } + + public String getName() { + return name; + } + + public String getTooltip() { + return tooltip; + } + } + /** * The Enum LayerType. * diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/LayerManager.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/LayerManager.java index b1fb916..e1b02ac 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/LayerManager.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/LayerManager.java @@ -515,7 +515,7 @@ public class LayerManager { GWT.log("Parsed WMS Request returned: " + geoInfoWMS); LayerItem layerItem = toLayerItem(featureType, layerTitle, geoInfoWMS.getLayerName(), - geoInfoWMS.getWmsRequest(), geoInfoWMS.getBaseWmsServiceHost(), true, isBase, + geoInfoWMS.getWmsRequest(), geoInfoWMS.getServiceEndPoint(), true, isBase, displayInLayerSwitcher, (ArrayList) geoInfoWMS.getStyles().getGeoStyles(), geoInfoWMS.getWmsRequest(), false, geoInfoWMS.getMapWMSNoStandard(), geoInfoWMS.isNcWMS(), UUID, geoInfoWMS.getZAxis(), minResolution, maxResolution); @@ -1142,6 +1142,7 @@ public class LayerManager { FlexTable intFlex = new FlexTable(); intFlex.setCellPadding(1); intFlex.setCellSpacing(1); + intFlex.getElement().addClassName("thePopDataTable"); if (projectDV.getTheDocument() != null) { LinkedHashMap map = projectDV.getTheDocument().getDocumentAsMap(); // my-html-table diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/ExtentWrapped.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/ExtentWrapped.java index fbf694e..e20b6df 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/ExtentWrapped.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/ExtentWrapped.java @@ -32,15 +32,15 @@ public class ExtentWrapped extends ol.Extent { super(minX, minY, maxX, maxY); } - /** - * @param coordinate coordinate to check. - * @return true if the passed coordinate is contained or on the edge of the - * extent. - */ - @JsOverlay - public final Coordinate getCenter() { - return getCenter((ol.Extent) this); - } +// /** +// * @param coordinate coordinate to check. +// * @return true if the passed coordinate is contained or on the edge of the +// * extent. +// */ +// @JsOverlay +// public final Coordinate getCenter() { +// return getCenter((ol.Extent) this); +// } @JsMethod(name = "getCenter", namespace = PACKAGE_EXTENT) private static native Coordinate getCenter(Extent extent); diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/OpenLayerMap.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/OpenLayerMap.java index 985ae26..5d7890f 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/OpenLayerMap.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/OpenLayerMap.java @@ -439,7 +439,7 @@ public abstract class OpenLayerMap { imageWMSParams.setLayers(layerItem.getName()); ImageWmsOptions imageWMSOptions = OLFactory.createOptions(); - imageWMSOptions.setUrl(layerItem.getMapServerHost()); + imageWMSOptions.setUrl(layerItem.getMapServerEndpoint()); imageWMSOptions.setParams(imageWMSParams); // imageWMSOptions.setRatio(1.5f); @@ -544,7 +544,7 @@ public abstract class OpenLayerMap { imageWMSParams.setLayers(layerItem.getName()); ImageWmsOptions imageWMSOptions = OLFactory.createOptions(); - imageWMSOptions.setUrl(layerItem.getMapServerHost()); + imageWMSOptions.setUrl(layerItem.getMapServerEndpoint()); imageWMSOptions.setParams(imageWMSParams); // imageWMSOptions.setRatio(1.5f); @@ -595,7 +595,7 @@ public abstract class OpenLayerMap { imageWMSParams.setLayers(layerItem.getName()); ImageWmsOptions imageWMSOptions = OLFactory.createOptions(); - imageWMSOptions.setUrl(layerItem.getMapServerHost()); + imageWMSOptions.setUrl(layerItem.getMapServerEndpoint()); imageWMSOptions.setParams(imageWMSParams); // imageWMSOptions.setRatio(1.5f); diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/DetailsPanel.ui.xml b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/DetailsPanel.ui.xml index 1018324..a83dc4a 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/DetailsPanel.ui.xml +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/DetailsPanel.ui.xml @@ -11,9 +11,20 @@ top: 50px; right: 10px; } + + .to-align-left { + position: absolute; + top: 5px; + color: white !important; + text-decoration: none !important; + } + + .to-align-left :hover { + color: #F5F5F5; + } - + \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.java index 05efc6a..167087c 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.java @@ -14,7 +14,9 @@ import org.gcube.application.geoportalcommon.shared.geoportal.config.layers.Conf import org.gcube.application.geoportalcommon.shared.geoportal.config.layers.LayerIDV; import org.gcube.application.geoportalcommon.shared.geoportal.ucd.UseCaseDescriptorDV; import org.gcube.application.geoportalcommon.shared.geoportal.view.ProjectView; +import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewer; import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants; +import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants.GisToolbarFacilities; import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants.MAP_PROJECTION; import org.gcube.portlets.user.geoportaldataviewer.client.events.ChangeMapLayerEvent; import org.gcube.portlets.user.geoportaldataviewer.client.events.MapExtentToEvent; @@ -64,6 +66,7 @@ import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.LayoutPanel; import com.google.gwt.user.client.ui.RadioButton; +import com.google.gwt.user.client.ui.RootPanel; import com.google.gwt.user.client.ui.ScrollPanel; import com.google.gwt.user.client.ui.SimplePanel; import com.google.gwt.user.client.ui.Widget; @@ -77,6 +80,8 @@ import com.google.gwt.user.client.ui.Widget; */ public class GeonaDataViewMainPanel extends Composite { + + private static final String PLACEHOLDER_SELECT_SEARCH_IN = "Select Collection..."; private static GeonaDataViewMainPanelUiBinder uiBinder = GWT.create(GeonaDataViewMainPanelUiBinder.class); @@ -142,8 +147,10 @@ public class GeonaDataViewMainPanel extends Composite { @UiField ListBox navListSearch; - @UiField - ScrollPanel overlayLayersPanel; + //@UiField + //ScrollPanel overlayLayersPanel; + + RootPanel overlayLayersPanel = RootPanel.get(GeoportalDataViewer.DIV_LAYER_VIEW); @UiField ScrollPanel searchFacilityPanel; @@ -179,6 +186,7 @@ public class GeonaDataViewMainPanel extends Composite { mapPanel = new MapPanel(mapHeight + "px"); detailsPanel.setHeight(mapHeight + "px"); detailsPanel.setApplicationBus(applicationBus); + overlayLayersPanel.setVisible(false); mainContainerPanel.add(mapPanel); bindHandlers(); dataPointSelection.setIcon(IconType.SCREENSHOT); @@ -281,10 +289,17 @@ public class GeonaDataViewMainPanel extends Composite { } }); + + openCollectionDropDown.setTitle(GisToolbarFacilities.COLLECTION.getTooltip()); + linkCustomOverlayLayers.setTitle(GisToolbarFacilities.OVERLAY.getTooltip()); + linkCrossFilteringLayers.setTitle(GisToolbarFacilities.FILTER.getTooltip()); + searchFacilityButton.setTitle(GisToolbarFacilities.SEARCH.getTooltip()); + linkLayers.setTitle(GisToolbarFacilities.LAYERS.getTooltip()); + linkMap.setTitle(GisToolbarFacilities.MAP.getTooltip()); + linkPresetLocation.setTitle(GisToolbarFacilities.PRESET_LOCATION.getTooltip()); // layersDDB.setToggle(true); bindEvents(); - } /** @@ -361,6 +376,27 @@ public class GeonaDataViewMainPanel extends Composite { setOverlayPanelMaxHeight(); } + + public void setPanelsWidth(int clientWidth) { + if(clientWidth - + - + - + @@ -83,8 +80,7 @@ - - + ogcLinks = indexLayer.getOgcLinks(); String wmsLink = ogcLinks.get("wms"); - LOG.info("wms link is {}", wmsLink); + LOG.info("wms link is {}", StringUtil.ellipsize(wmsLink, 150)); int lastCharOfthePath = wmsLink.indexOf("?"); String wmsPath = wmsLink.substring(0, lastCharOfthePath); for (GeoServerPlatformInfoDV geoserver : indexLayer.getPlatformInfos()) { @@ -715,7 +716,7 @@ public class GeoportalDataViewerServiceImpl extends RemoteServiceServlet impleme LOG.debug("purged wmsPath from the 'workspace' is {}", wmsPath); wmsLink = wmsPath + wmsLink.substring(lastCharOfthePath, wmsLink.length()); ogcLinks.put("wms", wmsLink); - LOG.info("wms link without {} is {}", geoserver.getWorkspace(), wmsLink); + LOG.info("wms link without {} is {}", geoserver.getWorkspace(), StringUtil.ellipsize(wmsLink, 150)); } } return index; @@ -863,7 +864,7 @@ public class GeoportalDataViewerServiceImpl extends RemoteServiceServlet impleme */ @Override protected void onBeforeRequestDeserialized(String serializedRequest) { - LOG.info("onBeforeRequestDeserialized called"); + LOG.debug("onBeforeRequestDeserialized called"); String scope = ""; try { diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/gis/GisMakers.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/gis/GisMakers.java index 3a3c5d5..2603c09 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/gis/GisMakers.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/gis/GisMakers.java @@ -61,8 +61,8 @@ public class GisMakers { public static String buildWFSFeatureQuery(LayerItem layerItem, String mapSrsName, BoundsMap mapBBOX, int maxFeatures, String outputFormat) { - String link = layerItem.getMapServerHost(); - LOG.debug("Map server host URL: " + link); + String link = layerItem.getMapServerEndpoint(); + LOG.debug("Map server endpoint: " + link); LOG.debug("CQL filter is: " + layerItem.getCqlFilter()); LOG.debug("MAX FEATURES: " + maxFeatures); LOG.debug("BBOX: " + mapBBOX); diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/gis/WMSUrlValidator.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/gis/WMSUrlValidator.java index 27b7925..2ac6ab0 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/gis/WMSUrlValidator.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/gis/WMSUrlValidator.java @@ -24,7 +24,7 @@ public class WMSUrlValidator { private static final String OWS = "ows"; private HashMap parametersValue = new HashMap(); private String wmsRequestURI; - private String wmsServiceHost; + private String wmsServiceEndPoint; private String layerName; private String wmsNoStandardParameters = ""; @@ -48,34 +48,29 @@ public class WMSUrlValidator { throw new Exception("WMS request is null or empty"); this.wmsRequestURI = wmsRequest.trim(); - boolean isOwsService = GeoWmsServiceUtility.isOWSSerice(this.wmsRequestURI); - WebMapServerHost webMapServerHost; - - // IS WMS? - if (GeoWmsServiceUtility.isWMSService(wmsRequestURI)) { - LOG.trace("found " + GeoWmsServiceUtility.SERVICE_WMS + " in wms request: " + wmsRequestURI); - webMapServerHost = getWebMapServerHost(wmsRequestURI); - } else - throw new Exception("WMS service not found for layer: " + inputLayerName); // VALIDATION WMS - String baseWmsService = webMapServerHost.getHost(); - // IS OWS OR WMS? - this.wmsServiceHost = appendWmsServiceToBaseUrl(wmsRequest.substring(0, wmsRequest.indexOf("?")), isOwsService); - this.layerName = inputLayerName; - + int endpointLastCharIndex = wmsRequest.lastIndexOf("?"); + // No '?' char found + if (endpointLastCharIndex == -1) { + LOG.info("Char '?' not found, setting last index the end of the URI"); + endpointLastCharIndex = wmsRequest.length(); + } + String readWMSServiceEndpoint = wmsRequest.substring(0, endpointLastCharIndex); + this.wmsServiceEndPoint = readWMSServiceEndpoint; try { // VALIDATE WMS SERVICE FOR WEB MAP SERVER - if (!HttpRequestUtil.urlExists(this.wmsServiceHost, true)) { - LOG.info("baseWmsServiceUrl: " + wmsServiceHost - + " is not a geoserver, setting as input base wms server: " + baseWmsService); - this.wmsServiceHost = baseWmsService; + if (!HttpRequestUtil.urlExists(this.wmsServiceEndPoint, true)) { + LOG.warn("baseWmsServiceUrl: " + wmsServiceEndPoint + " is not valid URL!!"); + this.wmsServiceEndPoint = readWMSServiceEndpoint; + } } catch (Exception e) { - LOG.error("error on validating geoserver wms service: " + e); - LOG.info("setting baseWmsService as input base wms server: " + baseWmsService); - this.wmsServiceHost = baseWmsService; + LOG.error("Error on validating the endpoint: " + this.wmsServiceEndPoint, e); + boolean isOwsService = GeoWmsServiceUtility.isOWSSerice(this.wmsRequestURI); + LOG.info("Retrying by appending suffix WMS or WFS..."); + this.wmsServiceEndPoint = appendWmsServiceToBaseUrl(readWMSServiceEndpoint, isOwsService); } // VALIDATION FOR THREDDS - FIND LAYER NAME INTO WMS PATH @@ -86,7 +81,8 @@ public class WMSUrlValidator { throw new Exception("Layer name is null or empty"); } - + + LOG.info("WMSURLValidator found endpoint: " + wmsServiceEndPoint); parametersValue.put(WmsParameters.LAYERS.getParameter(), this.layerName); } @@ -230,13 +226,13 @@ public class WMSUrlValidator { } /** - * Gets the wms service host. + * Gets the wms service end point. * - * @return the wms service host + * @return the wms service end point */ - public String getWmsServiceHost() { + public String getWmsServiceEndPoint() { - return wmsServiceHost; + return wmsServiceEndPoint; } /** diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/gis/LayerItem.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/gis/LayerItem.java index 37c2e1d..befdc6c 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/gis/LayerItem.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/gis/LayerItem.java @@ -36,7 +36,7 @@ public class LayerItem implements Serializable, Cloneable { private String url; /** The base map server URL. */ - private String mapServerHost; + private String mapServerEndpoint; /** The style. */ private String style; @@ -774,21 +774,21 @@ public class LayerItem implements Serializable, Cloneable { } /** - * Gets the map server host. + * Gets the map server endpoint. * - * @return the map server host + * @return the map server endpoint */ - public String getMapServerHost() { - return mapServerHost; + public String getMapServerEndpoint() { + return mapServerEndpoint; } /** * Sets the map server host. * - * @param mapServerHost the new map server host + * @param mapServerEndpoint the new map server host */ - public void setMapServerHost(String mapServerHost) { - this.mapServerHost = mapServerHost; + public void setMapServerHost(String mapServerEndpoint) { + this.mapServerEndpoint = mapServerEndpoint; } /** @@ -881,6 +881,11 @@ public class LayerItem implements Serializable, Cloneable { return maxResolution; } + /** + * To string. + * + * @return the string + */ @Override public String toString() { StringBuilder builder = new StringBuilder(); @@ -890,8 +895,8 @@ public class LayerItem implements Serializable, Cloneable { builder.append(title); builder.append(", url="); builder.append(url); - builder.append(", mapServerHost="); - builder.append(mapServerHost); + builder.append(", mapServerEndpoint="); + builder.append(mapServerEndpoint); builder.append(", style="); builder.append(style); builder.append(", isTrasparent="); diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/gis/wms/GeoInformationForWMSRequest.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/gis/wms/GeoInformationForWMSRequest.java index a6c0b45..59e38bf 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/gis/wms/GeoInformationForWMSRequest.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/gis/wms/GeoInformationForWMSRequest.java @@ -8,15 +8,14 @@ import java.util.HashMap; * * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it) * - * Oct 27, 2020 + * Oct 27, 2020 */ public class GeoInformationForWMSRequest implements Serializable { /** The Constant serialVersionUID. */ private static final long serialVersionUID = -6846636281073641003L; - /** The base wms service host. */ - private String baseWmsServiceHost; + private String serviceEndPoint; /** The wms request. */ private String wmsRequest; @@ -53,20 +52,19 @@ public class GeoInformationForWMSRequest implements Serializable { /** * Instantiates a new geo information for wms request. * - * @param baseWmsServiceHost the base wms service host - * @param wmsRequest the wms request - * @param layerName the layer name - * @param versionWms the version wms - * @param crs the crs - * @param mapWmsNoStandard the map wms not standard - * @param styles the layer styles - * @param isNcWMS the is nc WMS - * @param zAxis the z axis + * @param serviceEndPoint the base wms service host + * @param wmsRequest the wms request + * @param layerName the layer name + * @param versionWms the version wms + * @param crs the crs + * @param mapWmsNoStandard the map wms not standard + * @param styles the layer styles + * @param isNcWMS the is nc WMS + * @param zAxis the z axis */ - public GeoInformationForWMSRequest(String baseWmsServiceHost, String wmsRequest, String layerName, - String versionWms, String crs, HashMap mapWmsNoStandard, Styles styles, boolean isNcWMS, - ZAxis zAxis) { - this.baseWmsServiceHost = baseWmsServiceHost; + public GeoInformationForWMSRequest(String serviceEndPoint, String wmsRequest, String layerName, String versionWms, + String crs, HashMap mapWmsNoStandard, Styles styles, boolean isNcWMS, ZAxis zAxis) { + this.serviceEndPoint = serviceEndPoint; this.wmsRequest = wmsRequest; this.layerName = layerName; this.versionWMS = versionWms; @@ -98,13 +96,21 @@ public class GeoInformationForWMSRequest implements Serializable { } /** - * Gets the base wms service host. + * Gets the service end point. * - * @return the baseWmsServiceHost + * @return the service end point */ - public String getBaseWmsServiceHost() { + public String getServiceEndPoint() { + return serviceEndPoint; + } - return baseWmsServiceHost; + /** + * Sets the service end point. + * + * @param serviceEndPoint the new service end point + */ + public void setServiceEndPoint(String serviceEndPoint) { + this.serviceEndPoint = serviceEndPoint; } /** @@ -180,11 +186,11 @@ public class GeoInformationForWMSRequest implements Serializable { /** * Sets the base wms service host. * - * @param baseWmsServiceHost the baseWmsServiceHost to set + * @param baseWmsServiceHost the new base wms service host */ public void setBaseWmsServiceHost(String baseWmsServiceHost) { - this.baseWmsServiceHost = baseWmsServiceHost; + this.serviceEndPoint = baseWmsServiceHost; } /** @@ -271,8 +277,8 @@ public class GeoInformationForWMSRequest implements Serializable { public String toString() { StringBuilder builder = new StringBuilder(); - builder.append("GeoInformationForWMSRequest [baseWmsServiceHost="); - builder.append(baseWmsServiceHost); + builder.append("GeoInformationForWMSRequest [serviceEndPoint="); + builder.append(serviceEndPoint); builder.append(", wmsRequest="); builder.append(wmsRequest); builder.append(", layerName="); diff --git a/src/main/webapp/GeoportalDataViewer.css b/src/main/webapp/GeoportalDataViewer.css index b6c6545..5ccfb17 100644 --- a/src/main/webapp/GeoportalDataViewer.css +++ b/src/main/webapp/GeoportalDataViewer.css @@ -200,7 +200,7 @@ body { /*margin-top: 30px;*/ overflow-y: auto; transition: width 0.5s; - z-index: 999; + z-index: 950; } .overlay { @@ -363,12 +363,16 @@ body { border-radius: 20px; } -.layers-panel { - margin-top: 10px; +.layer-panel { + margin-top: 43px; background-color: white; opacity: 90%; padding: 10px; width: 410px; + z-index: 500; + overflow-y: scroll; + position: absolute; + left: 52px; } .dand-layer { @@ -752,62 +756,6 @@ Table Of Contents (TOC) padding: 20px; } - -/****************************** -RESPONSIVE -*******************************/ - -@media all and (max-width: 2350px) { - #timeline-data { - width: 700px; - left: 550px; - } -} - -@media all and (max-width: 2048px) { - #timeline-data { - width: 600px; - left: 310px; - bottom: 50px - } - - .details-panel { - width: 600px; - } -} - -@media all and (max-width: 1024px) { - #timeline-data { - width: 260px; - left: 140px; - bottom: 50px - } - .details-panel { - width: 400px; - } - .search-facility { - width: 250px; - max-width: 300px; - } - .inner-toolbar { - width: 100px; - } -} - -@media all and (max-height: 900px) { - .ol-popup{ - min-width: 150px; - max-width: 150px; - max-height: 150px; - overflow-y: scroll; - } - .ol-popup img { - width: 100%; - max-width: 150px; - } -} - - /* OPEN COLLECTION UI */ .open-collection-style { padding-left: 10px; @@ -897,3 +845,89 @@ RESPONSIVE .opacity-09 { opacity: 0.9; } + + +/****************************** +RESPONSIVE +*******************************/ + +@media all and (max-width: 2350px) { + #timeline-data { + width: 700px; + left: 550px; + } +} + +@media all and (max-width: 2048px) { + #timeline-data { + width: 600px; + left: 310px; + bottom: 50px + } + + .details-panel { + width: 530px; + } +} + +@media all and (max-width: 1601px) { + .layers-panel { + width: 350px; + } + .dand-layer { + width: 336px; + } + .thePopDataTable { + + } + .search-facility { + max-width: 680px; + } + .search-field { + width: 97%; + } + .ol-popup { + min-width: 220px; + width: 220px; + } + .thePopDataTable tr:last-of-type { + display: none; + } + .layer-panel { + width: 355px; + } +} +@media all and (max-width: 1024px) { + #timeline-data { + width: 260px; + left: 140px; + bottom: 50px + } + .details-panel { + width: 400px; + } + .search-facility { + /*width: 250px; + max-width: 300px;*/ + } + .inner-toolbar { + /*width: 100px;*/ + } +} + +@media all and (max-height: 900px) { + .ol-popup{ + min-width: 150px; + max-width: 150px; + max-height: 150px; + overflow-y: scroll; + } + .ol-popup img { + width: 100%; + max-width: 150px; + } +} + +/****************************** +END RESPONSIVE +*******************************/ \ No newline at end of file diff --git a/src/main/webapp/GeoportalDataViewer.html b/src/main/webapp/GeoportalDataViewer.html index bcc598f..5520d6f 100644 --- a/src/main/webapp/GeoportalDataViewer.html +++ b/src/main/webapp/GeoportalDataViewer.html @@ -10,10 +10,10 @@
+
diff --git a/src/main/webapp/WEB-INF/jsp/GeoPortalDataViewerAppPortlet_view.jsp b/src/main/webapp/WEB-INF/jsp/GeoPortalDataViewerAppPortlet_view.jsp index e442d80..c6bf933 100644 --- a/src/main/webapp/WEB-INF/jsp/GeoPortalDataViewerAppPortlet_view.jsp +++ b/src/main/webapp/WEB-INF/jsp/GeoPortalDataViewerAppPortlet_view.jsp @@ -15,11 +15,11 @@ src='<%=request.getContextPath()%>/GeoportalDataViewer/js/bootstrap.min.js'>
+