diff --git a/packages/geoview-core/public/configs/raw-app-bar.json b/packages/geoview-core/public/configs/raw-app-bar.json new file mode 100644 index 00000000000..24aa62bd708 --- /dev/null +++ b/packages/geoview-core/public/configs/raw-app-bar.json @@ -0,0 +1,178 @@ +{ + "map": { + "interaction": "dynamic", + "viewSettings": { + "zoom": 3, + "center": [ + -100, + 50 + ], + "projection": 3978 + }, + "basemapOptions": { + "basemapId": "osm", + "shaded": false, + "labeled": false + }, + "listOfGeoviewLayerConfig": [ + { + "geoviewLayerId": "esriFeatureLYR4", + "geoviewLayerName": { + "en": "Water quality at monitoring sites", + "fr": "Qualité eau" + }, + "metadataAccessPath": { + "en": "https: //maps-cartes.ec.gc.ca/arcgis/rest/services/DMS/DEU_CSO_Volume/MapServer", + "fr": "https: //maps-cartes.ec.gc.ca/arcgis/rest/services/DMS/DEU_CSO_Volume/MapServer" + }, + "geoviewLayerType": "esriFeature", + "initialSettings": { + "visible": "always" + }, + "listOfLayerEntryConfig": [ + { + "layerId": "8" + } + ] + }, + { + "geoviewLayerId": "uniqueValueId", + "geoviewLayerName": { + "en": "uniqueValue", + "fr": "uniqueValue" + }, + "metadataAccessPath": { + "en": "https: //maps-cartes.ec.gc.ca/arcgis/rest/services/CESI/MapServer/", + "fr": "https://maps-cartes.ec.gc.ca/arcgis/rest/services/CESI/MapServer/" + }, + "geoviewLayerType": "esriFeature", + "listOfLayerEntryConfig": [ + { + "layerId": "1" + } + ] + }, + { + "geoviewLayerId": "esriFeatureLYR5", + "geoviewLayerName": { + "en": "Top Projects", + "fr": "Projets super" + }, + "metadataAccessPath": { + "en": "https: //maps-cartes.services.geo.ca/server_serveur/rest/services/NRCan/900A_and_top_100_en/MapServer/", + "fr": "https: //maps-cartes.services.geo.ca/server_serveur/rest/services/NRCan/900A_and_top_100_en/MapServer/" + }, + "geoviewLayerType": "esriFeature", + "listOfLayerEntryConfig": [ + { + "layerId": "7" + } + ] + }, + { + "geoviewLayerId": "geojsonLYR1", + "geoviewLayerName": { + "en": "GeoJSON Sample", + "fr": "GeoJSON Échantillon" + }, + "metadataAccessPath": { + "en": "./datasets/geojson/metadata.json", + "fr": "./datasets/geojson/metadata.json" + }, + "geoviewLayerType": "GeoJSON", + "listOfLayerEntryConfig": [ + { + "layerId": "polygons.json", + "layerName": { + "en": "Polygons", + "fr": "Polygones" + } + }, + { + "layerId": "lines.json", + "layerName": { + "en": "Lines", + "fr": "Lignes" + } + }, + { + "entryType": "group", + "layerId": "point-feature-group", + "layerName": { + "en": "point-feature-group", + "fr": "point-feature-group" + }, + "listOfLayerEntryConfig": [ + { + "layerId": "icon_points.json", + "layerName": { + "en": "Icons", + "fr": "Icones" + }, + "initialSettings": { + "visible": "yes" + } + }, + { + "layerId": "points.json", + "layerName": { + "en": "Points", + "fr": "Points" + } + }, + { + "layerId": "points_1.json", + "layerName": { + "en": "Points 1", + "fr": "Points 1" + } + }, + { + "layerId": "points_2.json", + "layerName": { + "en": "Points 2", + "fr": "Points 2" + } + }, + { + "layerId": "points_3.json", + "layerName": { + "en": "Points 3", + "fr": "Points 3" + } + } + ] + } + ] + } + ] + }, + "theme": "geo.ca", + "appBar": { + "tabs": { + "core": [ + "geolocator", + "export", + "guide", + "details", + "legend" + ] + } + }, + "navBar": [ + "zoom", + "fullscreen", + "home", + "location", + "export" + ], + "components": [ + "north-arrow" + ], + "corePackages": [], + "externalPackages": [], + "suportedLanguages": [ + "en", + "fr" + ] +} \ No newline at end of file diff --git a/packages/geoview-core/public/index.html b/packages/geoview-core/public/index.html index e014068bf14..0347aca9621 100644 --- a/packages/geoview-core/public/index.html +++ b/packages/geoview-core/public/index.html @@ -1,70 +1,76 @@ - - - - <%= htmlWebpackPlugin.options.title %> - - - - - -
- -

Plateforme Géospatiale Canadienne (PGC) - Projet GeoView -

-

Canadian Geospatial Platform (CGP) - GeoView Project -

-
-
-
-
-

Sandbox

- Sandbox -

Basic Maps

- Use Cases - Basemaps - Projections - Languages -

Basic Raw Components

- Basic Details - Basic Data Table - Basic Add Layers -

Basic Loading

- Default Configuration - API loads - Type Of Layers - pygeoapi process - Layers - Temporal -

Internal Package

- Loading Packages - Package - Basemap Panel - Package - Swiper - Package - Time Slider - Package - GeoChart - Package - GeoChart (footer) -

API and Events

- API Functions Test - Events - Add Panels - Geometry - Footer bar (vanilla JS) -

UI Components

- UI Components - Theme Switching -

Interactions

- Interactions (all-in) - Select - Draw - Modify - Translate - Snap - Extent -

Other

- Responsive Page - Performance Test - CGDI Demo -
- - + + + + + <%= htmlWebpackPlugin.options.title %> + + + + + + + +
+ +

Plateforme Géospatiale Canadienne (PGC) - Projet GeoView -

+

Canadian Geospatial Platform (CGP) - GeoView Project -

+
+
+
+
+

Sandbox

+ Sandbox +

Basic Maps

+ Use Cases + Basemaps + Projections + Languages +

Basic Raw Components

+ Basic Details + Basic Data Table + Basic Add Layers + Basic App Bar Tabs +

Basic Loading

+ Default Configuration + API + loads + Type Of Layers + pygeoapi process + Layers - Temporal +

Internal Package

+ Loading Packages + Package - Basemap Panel + Package - Swiper + Package - Time Slider + Package - GeoChart + Package - GeoChart (footer) +

API and Events

+ API Functions Test + Events + Add Panels + Geometry + Footer bar (vanilla JS) +

UI Components

+ UI Components + Theme Switching +

Interactions

+ Interactions (all-in) + Select + Draw + Modify + Translate + Snap + Extent +

Other

+ Responsive Page + Performance Test + CGDI Demo +
+ + + \ No newline at end of file diff --git a/packages/geoview-core/public/templates/raw-app-bar.html b/packages/geoview-core/public/templates/raw-app-bar.html new file mode 100644 index 00000000000..47584b1d402 --- /dev/null +++ b/packages/geoview-core/public/templates/raw-app-bar.html @@ -0,0 +1,78 @@ + + + + + + + + <%= htmlWebpackPlugin.options.title %> + + + + + + + + + + + + + +
+ + + + + + + + + + +
+

Panel - Feature Info

+
+ Main
+ 1. Basic map English Geo.ca theme
+ 1. Basic map French Dark theme
+
+ + + + + + +
This page is used to test the creation and integration of the Feature Info component in a responsive + design.
+
+ + +

+  
+

1. Basic Map English Geo.ca theme

+ Top +
+
+
+
Click on a layer on the map
+
+ +

+
+
+  
+  
+
+
+
\ No newline at end of file
diff --git a/packages/geoview-core/public/templates/raw-feature-info.html b/packages/geoview-core/public/templates/raw-feature-info.html
index a172f56e3d3..461b73a0f14 100644
--- a/packages/geoview-core/public/templates/raw-feature-info.html
+++ b/packages/geoview-core/public/templates/raw-feature-info.html
@@ -163,7 +163,7 @@ 

1. Basic Map English Geo.ca theme

'theme': 'geo.ca', 'appBar': { 'tabs': { - 'core': ['geolocator', 'export', 'guide', 'details', 'legend'] + 'core': ['geolocator', 'export'] } }, 'navBar': ['zoom', 'fullscreen', 'home', 'location', 'export'], diff --git a/packages/geoview-core/schema.json b/packages/geoview-core/schema.json index 8d39f24f89b..b5b220a1393 100644 --- a/packages/geoview-core/schema.json +++ b/packages/geoview-core/schema.json @@ -36,7 +36,9 @@ "description": "A path to an html template (English/French) that will override default identify output." } }, - "required": ["template"] + "required": [ + "template" + ] }, "TypeFeatureInfoLayerConfig": { "additionalProperties": false, @@ -67,7 +69,9 @@ "description": "A comma separated list of attribute names (English/French) that should be use for alias. If empty, no alias will be set if not found." } }, - "required": ["queryable"] + "required": [ + "queryable" + ] }, "TypeFeatureInfoNotQueryable": { "additionalProperties": false, @@ -79,7 +83,9 @@ "description": "Do not allow querying." } }, - "required": ["queryable"] + "required": [ + "queryable" + ] }, "TypeStrokeSymbolConfig": { "minProperties": 1, @@ -115,20 +121,27 @@ "type": "object", "properties": { "type": { - "enum": ["lineString"] + "enum": [ + "lineString" + ] }, "stroke": { "$ref": "#/definitions/TypeStrokeSymbolConfig" } }, - "required": ["type", "stroke"] + "required": [ + "type", + "stroke" + ] }, "TypePolygonVectorConfig": { "additionalProperties": false, "type": "object", "properties": { "type": { - "enum": ["filledPolygon"] + "enum": [ + "filledPolygon" + ] }, "color": { "type": "string" @@ -145,18 +158,32 @@ "description": "Patern line width.default = 1." }, "fillStyle": { - "enum": ["solid", "backwardDiagonal", "cross", "diagonalCross", "forwardDiagonal", "horizontal", "null", "vertical"], + "enum": [ + "solid", + "backwardDiagonal", + "cross", + "diagonalCross", + "forwardDiagonal", + "horizontal", + "null", + "vertical" + ], "description": "Kind of filling for vector features. Default = solid. " } }, - "required": ["type", "stroke"] + "required": [ + "type", + "stroke" + ] }, "TypeSimpleSymbolVectorConfig": { "additionalProperties": false, "type": "object", "properties": { "type": { - "enum": ["simpleSymbol"] + "enum": [ + "simpleSymbol" + ] }, "rotation": { "type": "number", @@ -180,17 +207,30 @@ "maxItems": 2 }, "symbol": { - "enum": ["circle", "+", "diamond", "square", "triangle", "X", "star"] + "enum": [ + "circle", + "+", + "diamond", + "square", + "triangle", + "X", + "star" + ] } }, - "required": ["type", "symbol"] + "required": [ + "type", + "symbol" + ] }, "TypeIconSymbolVectorConfig": { "additionalProperties": false, "type": "object", "properties": { "type": { - "enum": ["iconSymbol"] + "enum": [ + "iconSymbol" + ] }, "mimeType": { "type": "string" @@ -229,7 +269,11 @@ "description": "The crossOrigin attribute for loaded images. Note that you must provide a crossOrigin value if you want to access pixel data with the Canvas renderer." } }, - "required": ["type", "mimeType", "src"] + "required": [ + "type", + "mimeType", + "src" + ] }, "TypeSimpleStyleConfig": { "additionalProperties": false, @@ -239,7 +283,9 @@ "type": "string" }, "styleType": { - "enum": ["simple"] + "enum": [ + "simple" + ] }, "label": { "type": "string" @@ -248,7 +294,11 @@ "$ref": "#/definitions/TypeKindOfVectorSettings" } }, - "required": ["styleType", "label", "settings"] + "required": [ + "styleType", + "label", + "settings" + ] }, "TypeUniqueValueStyleConfig": { "additionalProperties": false, @@ -258,14 +308,20 @@ "type": "string" }, "styleType": { - "enum": ["uniqueValue"] + "enum": [ + "uniqueValue" + ] }, "defaultLabel": { "type": "string", "description": "Label used if field/value association is not found." }, "defaultVisible": { - "enum": ["yes", "no", "always"], + "enum": [ + "yes", + "no", + "always" + ], "description": "Flag used to show/hide features associated to the default label (default: yes)." }, "defaultSettings": { @@ -283,7 +339,11 @@ "$ref": "#/definitions/TypeUniqueValueStyleInfo" } }, - "required": ["styleType", "fields", "uniqueValueStyleInfo"] + "required": [ + "styleType", + "fields", + "uniqueValueStyleInfo" + ] }, "TypeUniqueValueStyleInfo": { "type": "array", @@ -295,13 +355,24 @@ "type": "string" }, "visible": { - "enum": ["yes", "no", "always"], + "enum": [ + "yes", + "no", + "always" + ], "description": "Flag used to show/hide features associated to the label (default: yes)." }, "values": { "type": "array", "items": { - "oneOf": [{ "type": "string" }, { "type": "number" }] + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] }, "minItems": 1 }, @@ -311,7 +382,11 @@ } }, "minItems": 1, - "required": ["label", "values", "options"] + "required": [ + "label", + "values", + "options" + ] }, "TypeClassBreakStyleConfig": { "additionalProperties": false, @@ -321,14 +396,20 @@ "type": "string" }, "styleType": { - "enum": ["classBreaks"] + "enum": [ + "classBreaks" + ] }, "defaultLabel": { "type": "string", "description": "Label used if field/value association is not found." }, "defaultVisible": { - "enum": ["yes", "no", "always"], + "enum": [ + "yes", + "no", + "always" + ], "description": "Flag used to show/hide features associated to the default label (default: yes)." }, "defaultSettings": { @@ -342,7 +423,11 @@ "$ref": "#/definitions/TypeClassBreakStyleInfo" } }, - "required": ["styleType", "field", "classBreakStyleInfo"] + "required": [ + "styleType", + "field", + "classBreakStyleInfo" + ] }, "TypeClassBreakStyleInfo": { "additionalProperties": false, @@ -355,14 +440,32 @@ "type": "string" }, "visible": { - "enum": ["yes", "no", "always"], + "enum": [ + "yes", + "no", + "always" + ], "description": "Flag used to show/hide features associated to the label (default: yes)." }, "minValue": { - "oneOf": [{ "type": "string" }, { "type": "number" }] + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] }, "maxValue": { - "oneOf": [{ "type": "string" }, { "type": "number" }] + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] }, "settings": { "$ref": "#/definitions/TypeKindOfVectorSettings" @@ -370,7 +473,12 @@ } }, "minItems": 1, - "required": ["label", "minValue", "maxValue", "settings"] + "required": [ + "label", + "minValue", + "maxValue", + "settings" + ] }, "TypeKindOfVectorSettings": { "oneOf": [ @@ -429,7 +537,11 @@ "description": "Initial opacity setting." }, "visible": { - "enum": ["yes", "no", "always"], + "enum": [ + "yes", + "no", + "always" + ], "default": "yes", "description": "Initial visibility setting." }, @@ -470,7 +582,15 @@ } }, "TypeVectorSourceFormats": { - "enum": ["GeoJSON", "EsriJSON", "KML", "WFS", "featureAPI", "GeoPackage", "CSV"], + "enum": [ + "GeoJSON", + "EsriJSON", + "KML", + "WFS", + "featureAPI", + "GeoPackage", + "CSV" + ], "description": "The feature format used by the XHR feature loader when access path is set." }, "TypeVectorSourceInitialConfig": { @@ -484,8 +604,12 @@ "postSettings": { "type": "object", "properties": { - "header": { "type": "object" }, - "data": { "type": "object" } + "header": { + "type": "object" + }, + "data": { + "type": "object" + } } }, "format": { @@ -499,7 +623,10 @@ "$ref": "#/definitions/TypeFeatureInfoLayerConfig" }, "strategy": { - "enum": ["all", "bbox"], + "enum": [ + "all", + "bbox" + ], "default": "all", "description": "The loading strategy to use. By default an all strategy is used, a one-off strategy which loads all features at once." }, @@ -550,7 +677,11 @@ } }, "TypeOfServer": { - "enum": ["mapserver", "geoserver", "qgis"], + "enum": [ + "mapserver", + "geoserver", + "qgis" + ], "description": "The type of the remote WMS server. The default value is mapserver." }, "TypeSourceImageStaticInitialConfig": { @@ -613,7 +744,12 @@ } }, "TypeEsriFormatParameter": { - "enum": ["png", "jpg", "gif", "svg"], + "enum": [ + "png", + "jpg", + "gif", + "svg" + ], "default": "png", "description": "The format of the exported image. The default format is png." }, @@ -679,21 +815,31 @@ "items": { "type": "number" }, - "default": [256, 256], + "default": [ + 256, + 256 + ], "description": "The tile grid origin, i.e. where the x and y axes meet ([z, 0, 0]). Tile coordinates increase left to right and downwards. If not specified, extent must be provided." } }, - "required": ["origin", "resolutions"] + "required": [ + "origin", + "resolutions" + ] }, "TypeVectorHeatmapLayerEntryConfig": { "additionalProperties": false, "type": "object", "properties": { "schemaTag": { - "enum": ["not used yet"] + "enum": [ + "not used yet" + ] }, "entryType": { - "enum": ["vector-heatmap"] + "enum": [ + "vector-heatmap" + ] }, "layerPathEnding": { "type": "string", @@ -721,7 +867,13 @@ }, "uniqueItems": true, "minItems": 2, - "default": ["#00f", "#0ff", "#0f0", "#ff0", "#f00"], + "default": [ + "#00f", + "#0ff", + "#0f0", + "#ff0", + "#f00" + ], "description": "Color gradient of the heatmap, specified as an array of CSS color strings." }, "radius": { @@ -743,17 +895,30 @@ } } }, - "required": ["schemaTag", "entryType", "layerId"] + "required": [ + "schemaTag", + "entryType", + "layerId" + ] }, "TypeVectorLayerEntryConfig": { "additionalProperties": false, "type": "object", "properties": { "schemaTag": { - "enum": ["CSV", "GeoJSON", "esriFeature", "ogcWfs", "ogcFeature", "GeoPackage"] + "enum": [ + "CSV", + "GeoJSON", + "esriFeature", + "ogcWfs", + "ogcFeature", + "GeoPackage" + ] }, "entryType": { - "enum": ["vector"] + "enum": [ + "vector" + ] }, "layerPathEnding": { "type": "string", @@ -788,7 +953,11 @@ } } }, - "required": ["schemaTag", "entryType", "layerId"] + "required": [ + "schemaTag", + "entryType", + "layerId" + ] }, "TypeVectorTileLayerEntryConfig": { "additionalProperties": false, @@ -796,10 +965,14 @@ "description": "Layer sources providing vector data divided into a tile grid.", "properties": { "schemaTag": { - "enum": ["not used yet"] + "enum": [ + "not used yet" + ] }, "entryType": { - "enum": ["vector-tile"] + "enum": [ + "vector-tile" + ] }, "layerPathEnding": { "type": "string", @@ -835,7 +1008,11 @@ } } }, - "required": ["schemaTag", "entryType", "layerId"] + "required": [ + "schemaTag", + "entryType", + "layerId" + ] }, "TypeVectorTileSourceInitialConfig": { "additionalProperties": false, @@ -847,7 +1024,14 @@ "description": "The path (English/French) to reach the data to display. If not specified, metadatAccessPath will be assigne dto it." }, "format": { - "enum": ["GeoJSON", "EsriJSON", "KML", "WFS", "MVT", "featureAPI"], + "enum": [ + "GeoJSON", + "EsriJSON", + "KML", + "WFS", + "MVT", + "featureAPI" + ], "description": "The feature format used by the XHR feature loader when access path is set." }, "dataProjection": { @@ -867,10 +1051,14 @@ "type": "object", "properties": { "schemaTag": { - "enum": ["ogcWms"] + "enum": [ + "ogcWms" + ] }, "entryType": { - "enum": ["raster-image"] + "enum": [ + "raster-image" + ] }, "layerId": { "type": "string", @@ -892,8 +1080,12 @@ "$ref": "#/definitions/TypeLayerInitialSettings", "description": "Initial settings to apply to the layer entry at creation time. Initial settings are inherited from the parent in the configuration tree." }, - "source": { "$ref": "#/definitions/TypeSourceImageWmsInitialConfig" }, - "style": { "$ref": "#/definitions/TypeStyleConfig" }, + "source": { + "$ref": "#/definitions/TypeSourceImageWmsInitialConfig" + }, + "style": { + "$ref": "#/definitions/TypeStyleConfig" + }, "not": { "listOfLayerEntryConfig": { "$ref": "#/definitions/TypeListOfLayerEntryConfig", @@ -901,17 +1093,25 @@ } } }, - "required": ["schemaTag", "entryType", "layerId"] + "required": [ + "schemaTag", + "entryType", + "layerId" + ] }, "TypeEsriDynamicLayerEntryConfig": { "additionalProperties": false, "type": "object", "properties": { "schemaTag": { - "enum": ["esriDynamic"] + "enum": [ + "esriDynamic" + ] }, "entryType": { - "enum": ["raster-image"] + "enum": [ + "raster-image" + ] }, "layerId": { "type": "string", @@ -946,17 +1146,25 @@ } } }, - "required": ["schemaTag", "entryType", "layerId"] + "required": [ + "schemaTag", + "entryType", + "layerId" + ] }, "TypeEsriImageLayerEntryConfig": { "additionalProperties": false, "type": "object", "properties": { "schemaTag": { - "enum": ["esriImage"] + "enum": [ + "esriImage" + ] }, "entryType": { - "enum": ["raster-image"] + "enum": [ + "raster-image" + ] }, "layerId": { "type": "string", @@ -991,17 +1199,25 @@ } } }, - "required": ["schemaTag", "entryType", "layerId"] + "required": [ + "schemaTag", + "entryType", + "layerId" + ] }, "TypeImageStaticLayerEntryConfig": { "additionalProperties": false, "type": "object", "properties": { "schemaTag": { - "enum": ["imageStatic"] + "enum": [ + "imageStatic" + ] }, "entryType": { - "enum": ["raster-image"] + "enum": [ + "raster-image" + ] }, "layerId": { "type": "string", @@ -1029,17 +1245,27 @@ } } }, - "required": ["schemaTag", "entryType", "layerId"] + "required": [ + "schemaTag", + "entryType", + "layerId" + ] }, "TypeTileLayerEntryConfig": { "additionalProperties": false, "type": "object", "properties": { "schemaTag": { - "enum": ["ogcWms", "xyzTiles", "vectorTiles"] + "enum": [ + "ogcWms", + "xyzTiles", + "vectorTiles" + ] }, "entryType": { - "enum": ["raster-tile"] + "enum": [ + "raster-tile" + ] }, "layerPathEnding": { "type": "string", @@ -1067,7 +1293,11 @@ } } }, - "required": ["schemaTag", "entryType", "layerId"] + "required": [ + "schemaTag", + "entryType", + "layerId" + ] }, "TypeGeocoreLayerEntryConfig": { "additionalProperties": false, @@ -1075,10 +1305,14 @@ "description": "Layer where configration is extracted by a configuration snippet stored on a server. The server configuration will handle bilangual informations.", "properties": { "schemaTag": { - "enum": ["geoCore"] + "enum": [ + "geoCore" + ] }, "entryType": { - "enum": ["geoCore"] + "enum": [ + "geoCore" + ] }, "layerId": { "type": "string", @@ -1100,7 +1334,11 @@ "description": "The list of layer entry configurations to use from the GeoView layer group." } }, - "required": ["schemaTag", "entryType", "layerId"] + "required": [ + "schemaTag", + "entryType", + "layerId" + ] }, "TypeSourceGeocoreConfig": { "additionalProperties": false, @@ -1117,7 +1355,14 @@ } }, "TypeLayerEntryType": { - "enum": ["vector", "vector-tile", "vector-heatmap", "raster-tile", "raster-image", "geoCore"], + "enum": [ + "vector", + "vector-tile", + "vector-heatmap", + "raster-tile", + "raster-image", + "geoCore" + ], "description": "Layer entry data type." }, "TypeLayerGroupEntryConfig": { @@ -1126,7 +1371,9 @@ "description": "Entry used to define a layer Group.", "properties": { "entryType": { - "enum": ["group"] + "enum": [ + "group" + ] }, "layerId": { "type": "string", @@ -1151,7 +1398,11 @@ "description": "The list of layer entry configurations to use from the GeoView layer group." } }, - "required": ["entryType", "layerId", "listOfLayerEntryConfig"] + "required": [ + "entryType", + "layerId", + "listOfLayerEntryConfig" + ] }, "TypeLayerEntryConfig": { "oneOf": [ @@ -1401,7 +1652,11 @@ "description": "Additional options used for OpenLayers map options" } }, - "required": ["basemapOptions", "interaction", "viewSettings"] + "required": [ + "basemapOptions", + "interaction", + "viewSettings" + ] }, "TypeBasemapOptions": { "additionalProperties": false, @@ -1421,15 +1676,28 @@ "description": "Enable or disable basemap labels" } }, - "required": ["basemapId", "shaded", "labeled"] + "required": [ + "basemapId", + "shaded", + "labeled" + ] }, "TypeBasemapId": { - "enum": ["transport", "osm", "simple", "nogeom", "shaded"], + "enum": [ + "transport", + "osm", + "simple", + "nogeom", + "shaded" + ], "default": "transport", "description": "Id of the basemap to use." }, "TypeInteraction": { - "enum": ["static", "dynamic"], + "enum": [ + "static", + "dynamic" + ], "default": "dynamic", "description": "If map is dynamic (pan/zoom) or static to act as a thumbnail (no nav bar)." }, @@ -1478,7 +1746,10 @@ "description": "The layer entries to use from the GeoView layer." } }, - "required": ["geoviewLayerType", "listOfLayerEntryConfig"] + "required": [ + "geoviewLayerType", + "listOfLayerEntryConfig" + ] }, "TypeGeoviewLayerType": { "type": "string", @@ -1523,7 +1794,10 @@ "description": "Initial latitude value for map center." } ], - "default": [-106, 60] + "default": [ + -106, + 60 + ] }, "enableRotation": { "type": "boolean", @@ -1569,10 +1843,16 @@ "description": "Initial map zoom level. Zoom level are define by the basemap zoom levels. Levels between whole numbers are supported to fine tune initial view." } }, - "required": ["zoom", "center"] + "required": [ + "zoom", + "center" + ] }, "TypeValidMapProjectionCodes": { - "enum": [3978, 3857], + "enum": [ + 3978, + 3857 + ], "default": 3978, "description": "Spatial Reference EPSG code supported (https://epsg.io/). We support Web Mercator and Lambert Conical Conform Canada." }, @@ -1580,9 +1860,19 @@ "type": "array", "uniqueItems": true, "items": { - "enum": ["zoom", "fullscreen", "home", "location", "export"] + "enum": [ + "zoom", + "fullscreen", + "home", + "location", + "export" + ] }, - "default": ["zoom", "fullscreen", "home"], + "default": [ + "zoom", + "fullscreen", + "home" + ], "description": "Controls availalbe on the navigation bar.", "minItems": 0 }, @@ -1608,7 +1898,12 @@ ] }, "minItems": 1, - "default": ["legend", "layers", "details", "data-table"], + "default": [ + "legend", + "layers", + "details", + "data-table" + ], "uniqueItems": true, "description": "Default core tabs of footer bar to use. NOTE: config from packages for time-slider and geochart are in the same loaction as core config (<>-<>.json)." }, @@ -1642,7 +1937,9 @@ "description": "State of footer bar when map is loaded (expanded or collapsed)" } }, - "required": ["tabs"] + "required": [ + "tabs" + ] }, "TypeAppBarProps": { "type": "object", @@ -1656,10 +1953,20 @@ "type": "array", "items": { "type": "string", - "enum": ["geolocator", "export", "basemap-panel", "geochart"] + "enum": [ + "geolocator", + "export", + "basemap-panel", + "geochart", + "details", + "legend", + "guide" + ] }, "minItems": 0, - "default": ["geolocator"], + "default": [ + "geolocator" + ], "uniqueItems": true, "description": "Default core tabs of app-bar to use. NOTE: config from packages like geochart are in the same loaction as core config (<>-<>.json)." } @@ -1667,7 +1974,9 @@ "additionalProperties": false } }, - "required": ["tabs"] + "required": [ + "tabs" + ] }, "TypeOverviewMapProps": { "type": "object", @@ -1686,9 +1995,15 @@ "type": "array", "uniqueItems": true, "items": { - "enum": ["overview-map", "north-arrow"] + "enum": [ + "overview-map", + "north-arrow" + ] }, - "default": ["overview-map", "north-arrow"], + "default": [ + "overview-map", + "north-arrow" + ], "description": "Core components to initialize on viewer load. The schema for those are inside this file.", "minItems": 0 }, @@ -1696,7 +2011,9 @@ "type": "array", "uniqueItems": true, "items": { - "enum": ["swiper"] + "enum": [ + "swiper" + ] }, "default": [], "description": "Core map packages to initialize on viewer load. The schema for those are on their own package. NOTE: config from packages are in the same loaction as core config (<>-<>.json).", @@ -1717,7 +2034,9 @@ "description": "The url to the external package configuration setting. The core package will read the configuration and pass it inside the package." } }, - "required": ["name"] + "required": [ + "name" + ] }, "default": [], "description": "List of external packages to initialize on viewer load.", @@ -1742,14 +2061,22 @@ "description": "Service end point to access geo location of searched value." } }, - "required": ["keys"] + "required": [ + "keys" + ] }, "TypeDisplayLanguage": { - "enum": ["en", "fr"], + "enum": [ + "en", + "fr" + ], "description": "Display languages supported." }, "TypeLocalizedLanguages": { - "enum": ["en", "fr"], + "enum": [ + "en", + "fr" + ], "description": "ISO 639-1 code indicating the languages supported by the configuration file." }, "TypeListOfLocalizedLanguages": { @@ -1758,12 +2085,17 @@ "items": { "$ref": "#/definitions/TypeLocalizedLanguages" }, - "default": ["en", "fr"], + "default": [ + "en", + "fr" + ], "description": "ISO 639-1 code indicating the languages supported by the configuration file. It will use value(s) provided here to access bilangual configuration nodes. For value(s) provided here, each bilingual configuration node MUST provide a value.", "minItems": 1 }, "TypeValidVersions": { - "enum": ["1.0"], + "enum": [ + "1.0" + ], "description": "The schema version that can be used to validate the configuration file. The schema should enumerate the list of versions accepted by this version of the viewer." }, "TypeMapFeaturesInstance": { @@ -1771,12 +2103,18 @@ "additionalProperties": false, "type": "object", "properties": { - "mapId": { "type": "string" }, + "mapId": { + "type": "string" + }, "map": { "$ref": "#/definitions/TypeMapConfig" }, "theme": { - "enum": ["dark", "light", "geo.ca"], + "enum": [ + "dark", + "light", + "geo.ca" + ], "default": "dark", "description": "Theme style the viewer." }, @@ -1811,7 +2149,10 @@ "$ref": "#/definitions/TypeValidVersions" } }, - "required": ["map", "suportedLanguages"] + "required": [ + "map", + "suportedLanguages" + ] } } -} +} \ No newline at end of file diff --git a/packages/geoview-core/src/core/components/common/layout.tsx b/packages/geoview-core/src/core/components/common/layout.tsx index 96089ebaf44..676b97c3b84 100644 --- a/packages/geoview-core/src/core/components/common/layout.tsx +++ b/packages/geoview-core/src/core/components/common/layout.tsx @@ -101,7 +101,7 @@ export function Layout({ children, layerList, selectedLayerPath, onLayerListClic sx={{ display: 'flex', alignItems: 'center', - [theme.breakpoints.up('md')]: { justifyContent: 'right' }, + [theme.breakpoints.up('md')]: { justifyContent: fullWidth ? 'space-between' : 'right' }, [theme.breakpoints.down('md')]: { justifyContent: 'space-between' }, }} > diff --git a/packages/geoview-core/src/ui/panel/panel.tsx b/packages/geoview-core/src/ui/panel/panel.tsx index 7c8f9fa6513..932518a6917 100644 --- a/packages/geoview-core/src/ui/panel/panel.tsx +++ b/packages/geoview-core/src/ui/panel/panel.tsx @@ -71,6 +71,7 @@ export function Panel(props: TypePanelAppProps): JSX.Element { const panelContainerStyles = { ...(panelStyles?.panelContainer && { ...panelStyles.panelContainer }), width: panelStatus ? panelWidth : 0, + maxWidth: 400, transition: `width ${theme.transitions.duration.standard}ms ease`, position: 'absolute', left: '64px',