@opengeoweb/core 12.1.2 → 12.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.esm.js +403 -343
- package/package.json +15 -16
- package/src/lib/components/LayerInfoConnect/LayerInfoDialogConnect.d.ts +6 -1
- package/src/lib/components/LayerManager/AddLayersPopup/AddLayersPopup.stories.d.ts +7 -0
- package/src/lib/components/LayerManager/BaseLayerRow/BaseLayerRow.d.ts +1 -1
- package/src/lib/components/LayerManager/DescriptionRow/DescriptionRow.d.ts +1 -1
- package/src/lib/components/LayerManager/LayerContainerRow/LayerContainerRow.d.ts +1 -1
- package/src/lib/components/{Search/SearchDialog.d.ts → LocationSearch/LocationSearch.d.ts} +2 -2
- package/src/lib/components/LocationSearch/LocationSearch.stories.d.ts +7 -0
- package/src/lib/components/LocationSearch/LocationSearchConnect.d.ts +5 -0
- package/src/lib/components/LocationSearch/LocationSearchConnect.stories.d.ts +16 -0
- package/src/lib/components/{Search → LocationSearch}/index.d.ts +2 -2
- package/src/lib/components/MapViewConnect/MapViewConnect.d.ts +2 -0
- package/src/lib/components/MapViewConnect/OlMapViewConnect.d.ts +17 -6
- package/src/lib/components/SyncGroups/SimpleTimeSliderConnect.d.ts +2 -2
- package/src/lib/components/TimeSliderConnect/TimeSliderButtonsConnect/AutoUpdateButtonConnect.d.ts +4 -4
- package/src/lib/components/TimeSliderConnect/TimeSliderButtonsConnect/PlayButtonConnect.d.ts +2 -2
- package/src/lib/components/TimeSliderConnect/TimeSliderCurrentTimeBoxConnect.d.ts +2 -2
- package/src/lib/components/WMSLoader/WMSLayerTree/WMSLayerTreeConnect.d.ts +2 -2
- package/src/lib/components/WMSLoader/WMSLoader.stories.d.ts +5 -0
- package/src/lib/index.d.ts +1 -1
- package/src/lib/store/store.d.ts +9 -9
- package/src/lib/utils/jsonPresetFilter.d.ts +3 -1
- package/src/lib/utils/location-api/api.d.ts +1 -1
- package/src/lib/utils/location-api/hooks.d.ts +1 -1
- package/src/lib/components/Search/SearchDialog.stories.d.ts +0 -7
- package/src/lib/components/Search/SearchDialogConnect.d.ts +0 -5
- package/src/lib/components/Search/SearchDialogConnect.stories.d.ts +0 -11
- /package/src/lib/components/{Search/MyMapLocation.spec.d.ts → LocationSearch/LocationSearchConnect.spec.d.ts} +0 -0
- /package/src/lib/components/{Search → LocationSearch}/MyMapLocation.d.ts +0 -0
- /package/src/lib/components/{Search/SearchDialogConnect.spec.d.ts → LocationSearch/MyMapLocation.spec.d.ts} +0 -0
- /package/src/lib/components/{Search → LocationSearch}/SearchControlButtonConnect.d.ts +0 -0
- /package/src/lib/components/{Search → LocationSearch}/types.d.ts +0 -0
- /package/src/lib/components/{Search → LocationSearch}/utils.d.ts +0 -0
package/index.esm.js
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import React__default, { useState, useCallback, useEffect, useContext, useMemo } from 'react';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { CollapseSmall, CollapseMedium, CollapseLarge, CollapseWindow, ExpandWindow, LayersAdd, CloudLoading, ColumnCollapsed, ColumnCollapse, Copy, None, FastForward, AutoUpdateActive, Both, Visibility, VisibilityOff,
|
|
4
|
+
import { Grid, Box, MenuItem, Typography, useTheme, Popper, Fade, Tooltip, styled, LinearProgress, FormControl, InputLabel, Paper, List, ListItemButton, ListItemText, CircularProgress, ListSubheader, DialogContentText, TextField, InputAdornment, Button, Autocomplete, ListItemIcon, Checkbox, Switch, Select } from '@mui/material';
|
|
5
|
+
import { safelyInitI18nForTestsAndStories, sharedTranslations, SHARED_NAMESPACE, CustomIconButton, CustomTooltip, TooltipSelect, AlertIcon, sliderHeaderStyle, CustomSlider, ToggleMenu, tooltipContainerStyles, renderCounter, AlertBanner, CustomAccordion, CustomDialog, PROJECTION, calculateStartSize, useWheelStopPropagation, ToolContainerDraggable, sessionStorageProvider, useDebounce, dateUtils, usePrevious, ErrorBoundary } from '@opengeoweb/shared';
|
|
6
|
+
import { CollapseSmall, CollapseMedium, CollapseLarge, CollapseWindow, ExpandWindow, LayersAdd, CloudLoading, ColumnCollapsed, ColumnCollapse, Copy, None, FastForward, AutoUpdateActive, Both, Delete, Visibility, VisibilityOff, DragHandle as DragHandle$1, Cached, Add, MapAdd, WorldMapProjection, Layers, Search, Exclamation, MyLocation, Close, ExitDomain, Info, ThemeWrapper, lightTheme, FlagBritain, FlagNetherlands, FlagFinland, FlagNorway } from '@opengeoweb/theme';
|
|
7
7
|
import i18n from 'i18next';
|
|
8
|
-
import {
|
|
8
|
+
import { useTranslation, I18nextProvider } from 'react-i18next';
|
|
9
9
|
import { TIMESLIDER_NAMESPACE, timesliderTranslations, defaultTimeSpan, TIME_SLIDER_LEGEND_HEIGHT, SpeedButton, TimeStepButton, AnimationLengthButton, AnimationLength, TimeSpanButton, secondsPerPxFromCanvasWidth, getNewCenterOfFixedPointZoom, OptionsMenuButton, PlayButton, defaultTimeStep, BackwardForwardStepButton, AutoUpdateButton, NowButton, handleSetNowEvent, TimeSliderButtons, TimeSliderCurrentTimeBox, TimeSliderLegend, onsetNewDateDebounced, defaultSecondsPerPx, moveSelectedTimePx, TimeSlider, getFilteredTime, ControlButtons, OptionsMenu, TimeSliderClock } from '@opengeoweb/timeslider';
|
|
10
|
-
import { WEBMAP_REACT_NAMESPACE,
|
|
10
|
+
import { webmapReactTranslations, WEBMAP_REACT_NAMESPACE, webmapTranslations, WEBMAP_NAMESPACE, LayerInfoButton, LayerInfoDialog, MapControlButton, MapDimensionSelect, dimensionConfig, DimensionSelectDialog, DimensionSelectButton, MapContext, emptyGeoJSON, registerDrawFunction, MapFeatureClass, setMapCenter, ZoomControls, LegendDialog, LegendButton, MapView, MapViewLayer, MapControls, OpenLayersFeatureLayer, OpenLayersMapDraw, getIsInsideAcceptanceTime, OpenLayersLayer, useSetIntervalWhenVisible, openLayersGetMapImageStore, TimeContext, OpenLayersMapView, WMSLayer, genericOpenLayersFeatureStyle, OpenLayersGetFeatureInfo, OpenLayersZoomControl, getLayerUpdateInfo, isOpenLayersEnabled, publicLayers } from '@opengeoweb/webmap-react';
|
|
11
11
|
import { useDispatch, useSelector, connect, useStore, Provider } from 'react-redux';
|
|
12
12
|
import { ReactSortable } from 'react-sortablejs';
|
|
13
13
|
import Sortable from 'sortablejs';
|
|
14
14
|
import { layerTypes, layerUtils, mapSelectors, layerActions, layerSelectors, serviceSelectors, serviceActions, mapActions, mapEnums, uiSelectors, uiTypes, useSetupDialog, filterLayers, getUserAddedServices, uiActions, genericSelectors, genericActions, drawingToolSelectors, syncConstants, loadingIndicatorActions, syncGroupsSelectors, getViewObjectForSyncGroup, getViewObjectForMapId, defaultLayers, getSingularDrawtoolDrawLayerId, syncGroupsSelector, syncGroupsActions, routerUtils } from '@opengeoweb/store';
|
|
15
|
-
import { webmapUtils, queryWMSServiceInfo, queryWMSLayers, queryWMSLayersTree, invalidateWMSGetCapabilities, LayerType, getWMSServiceId, generateLayerId, getWMJSMapById, getWMSGetFeatureInfoRequestURL, getMapDimURL,
|
|
15
|
+
import { webmapUtils, queryWMSServiceInfo, queryWMSLayers, queryWMSLayersTree, invalidateWMSGetCapabilities, LayerType, getWMSServiceId, generateLayerId, getWMJSMapById, getWMSGetFeatureInfoRequestURL, getMapDimURL, wmServiceListener, EVENT_GETCAPABILITIES_START, EVENT_GETCAPABILITIES_READY, handleDateUtilsISOString, WMJSDimension, getWMLayerById, WMLayer } from '@opengeoweb/webmap';
|
|
16
16
|
import _, { isArray, isEqual, debounce, range } from 'lodash';
|
|
17
17
|
import { Box as Box$1, styled as styled$1 } from '@mui/system';
|
|
18
18
|
import { LayerSelectButtonConnect, LayerSelectConnect } from '@opengeoweb/layer-select';
|
|
19
19
|
import { useQuery, QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
20
|
-
import { getConfig } from '@opengeoweb/authentication';
|
|
21
20
|
import { handleResponse } from '@opengeoweb/api';
|
|
22
21
|
import axios from 'axios';
|
|
23
22
|
import { ImageWMS } from 'ol/source';
|
|
@@ -372,14 +371,14 @@ function _asyncToGenerator(n) {
|
|
|
372
371
|
function _createForOfIteratorHelperLoose(r, e) {
|
|
373
372
|
var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
374
373
|
if (t) return (t = t.call(r)).next.bind(t);
|
|
375
|
-
if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e
|
|
374
|
+
if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) {
|
|
376
375
|
t && (r = t);
|
|
377
376
|
var o = 0;
|
|
378
377
|
return function () {
|
|
379
378
|
return o >= r.length ? {
|
|
380
|
-
done:
|
|
379
|
+
done: true
|
|
381
380
|
} : {
|
|
382
|
-
done:
|
|
381
|
+
done: false,
|
|
383
382
|
value: r[o++]
|
|
384
383
|
};
|
|
385
384
|
};
|
|
@@ -390,7 +389,7 @@ function _objectWithoutPropertiesLoose(r, e) {
|
|
|
390
389
|
if (null == r) return {};
|
|
391
390
|
var t = {};
|
|
392
391
|
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
393
|
-
if (e.indexOf(n)
|
|
392
|
+
if (-1 !== e.indexOf(n)) continue;
|
|
394
393
|
t[n] = r[n];
|
|
395
394
|
}
|
|
396
395
|
return t;
|
|
@@ -413,9 +412,9 @@ function _regeneratorRuntime() {
|
|
|
413
412
|
function define(t, e, r) {
|
|
414
413
|
return Object.defineProperty(t, e, {
|
|
415
414
|
value: r,
|
|
416
|
-
enumerable:
|
|
417
|
-
configurable:
|
|
418
|
-
writable:
|
|
415
|
+
enumerable: true,
|
|
416
|
+
configurable: true,
|
|
417
|
+
writable: true
|
|
419
418
|
}), t[e];
|
|
420
419
|
}
|
|
421
420
|
try {
|
|
@@ -508,7 +507,7 @@ function _regeneratorRuntime() {
|
|
|
508
507
|
if ("throw" === i) throw a;
|
|
509
508
|
return {
|
|
510
509
|
value: t,
|
|
511
|
-
done:
|
|
510
|
+
done: true
|
|
512
511
|
};
|
|
513
512
|
}
|
|
514
513
|
for (n.method = i, n.arg = a;;) {
|
|
@@ -559,7 +558,7 @@ function _regeneratorRuntime() {
|
|
|
559
558
|
function Context(t) {
|
|
560
559
|
this.tryEntries = [{
|
|
561
560
|
tryLoc: "root"
|
|
562
|
-
}], t.forEach(pushTryEntry, this), this.reset(
|
|
561
|
+
}], t.forEach(pushTryEntry, this), this.reset(true);
|
|
563
562
|
}
|
|
564
563
|
function values(e) {
|
|
565
564
|
if (e || "" === e) {
|
|
@@ -569,8 +568,8 @@ function _regeneratorRuntime() {
|
|
|
569
568
|
if (!isNaN(e.length)) {
|
|
570
569
|
var o = -1,
|
|
571
570
|
i = function next() {
|
|
572
|
-
for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done =
|
|
573
|
-
return next.value = t, next.done =
|
|
571
|
+
for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = false, next;
|
|
572
|
+
return next.value = t, next.done = true, next;
|
|
574
573
|
};
|
|
575
574
|
return i.next = i;
|
|
576
575
|
}
|
|
@@ -579,10 +578,10 @@ function _regeneratorRuntime() {
|
|
|
579
578
|
}
|
|
580
579
|
return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
|
|
581
580
|
value: GeneratorFunctionPrototype,
|
|
582
|
-
configurable:
|
|
581
|
+
configurable: true
|
|
583
582
|
}), o(GeneratorFunctionPrototype, "constructor", {
|
|
584
583
|
value: GeneratorFunction,
|
|
585
|
-
configurable:
|
|
584
|
+
configurable: true
|
|
586
585
|
}), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
|
|
587
586
|
var e = "function" == typeof t && t.constructor;
|
|
588
587
|
return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
|
|
@@ -611,17 +610,17 @@ function _regeneratorRuntime() {
|
|
|
611
610
|
return r.reverse(), function next() {
|
|
612
611
|
for (; r.length;) {
|
|
613
612
|
var t = r.pop();
|
|
614
|
-
if (t in e) return next.value = t, next.done =
|
|
613
|
+
if (t in e) return next.value = t, next.done = false, next;
|
|
615
614
|
}
|
|
616
|
-
return next.done =
|
|
615
|
+
return next.done = true, next;
|
|
617
616
|
};
|
|
618
617
|
}, e.values = values, Context.prototype = {
|
|
619
618
|
constructor: Context,
|
|
620
619
|
reset: function (e) {
|
|
621
|
-
if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done =
|
|
620
|
+
if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = false, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
|
|
622
621
|
},
|
|
623
622
|
stop: function () {
|
|
624
|
-
this.done =
|
|
623
|
+
this.done = true;
|
|
625
624
|
var t = this.tryEntries[0].completion;
|
|
626
625
|
if ("throw" === t.type) throw t.arg;
|
|
627
626
|
return this.rval;
|
|
@@ -640,10 +639,10 @@ function _regeneratorRuntime() {
|
|
|
640
639
|
var c = n.call(i, "catchLoc"),
|
|
641
640
|
u = n.call(i, "finallyLoc");
|
|
642
641
|
if (c && u) {
|
|
643
|
-
if (this.prev < i.catchLoc) return handle(i.catchLoc,
|
|
642
|
+
if (this.prev < i.catchLoc) return handle(i.catchLoc, true);
|
|
644
643
|
if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
|
|
645
644
|
} else if (c) {
|
|
646
|
-
if (this.prev < i.catchLoc) return handle(i.catchLoc,
|
|
645
|
+
if (this.prev < i.catchLoc) return handle(i.catchLoc, true);
|
|
647
646
|
} else {
|
|
648
647
|
if (!u) throw Error("try statement without catch or finally");
|
|
649
648
|
if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
|
|
@@ -723,21 +722,22 @@ function _unsupportedIterableToArray(r, a) {
|
|
|
723
722
|
* */
|
|
724
723
|
var CORE_NAMESPACE = 'core';
|
|
725
724
|
var initCoreReactI18n = function initCoreReactI18n() {
|
|
726
|
-
|
|
727
|
-
void i18n.use(initReactI18next).init({
|
|
728
|
-
lng: 'en',
|
|
729
|
-
fallbackLng: 'en',
|
|
725
|
+
safelyInitI18nForTestsAndStories(i18n, CORE_NAMESPACE, [{
|
|
730
726
|
ns: CORE_NAMESPACE,
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
727
|
+
translations: coreTranslations
|
|
728
|
+
}, {
|
|
729
|
+
ns: WEBMAP_REACT_NAMESPACE,
|
|
730
|
+
translations: webmapReactTranslations
|
|
731
|
+
}, {
|
|
732
|
+
ns: WEBMAP_NAMESPACE,
|
|
733
|
+
translations: webmapTranslations
|
|
734
|
+
}, {
|
|
735
|
+
ns: SHARED_NAMESPACE,
|
|
736
|
+
translations: sharedTranslations
|
|
737
|
+
}, {
|
|
738
|
+
ns: TIMESLIDER_NAMESPACE,
|
|
739
|
+
translations: timesliderTranslations
|
|
740
|
+
}]);
|
|
741
741
|
};
|
|
742
742
|
var ns = [CORE_NAMESPACE, TIMESLIDER_NAMESPACE];
|
|
743
743
|
var useCoreTranslation = function useCoreTranslation() {
|
|
@@ -852,9 +852,7 @@ var columnClasses = {
|
|
|
852
852
|
acceptanceTime: 'column-acceptanceTime',
|
|
853
853
|
loadDuration: 'column-loadDuration',
|
|
854
854
|
columnHeader: 'columnHeader',
|
|
855
|
-
baseLayer: 'baseLayer'
|
|
856
|
-
columnTarget: 'columnTarget'
|
|
857
|
-
};
|
|
855
|
+
baseLayer: 'baseLayer'};
|
|
858
856
|
var DRAG_VISIBILITY_LEADING_BUTTONS = 3;
|
|
859
857
|
var DELETE_MORE_BUTTONS = 3;
|
|
860
858
|
var MISSING = 4;
|
|
@@ -1097,7 +1095,7 @@ var RowItemCollapse$1 = function RowItemCollapse(_ref) {
|
|
|
1097
1095
|
title: collapsedColumns != null && collapsedColumns[className] ? t('column-expand', {
|
|
1098
1096
|
title: title
|
|
1099
1097
|
}) : t('column-collapse'),
|
|
1100
|
-
children: jsx(
|
|
1098
|
+
children: jsx(Grid, {
|
|
1101
1099
|
className: columnClasses.columnHeader + " " + className,
|
|
1102
1100
|
style: Object.assign({}, (collapsedColumns == null ? void 0 : collapsedColumns[className]) && {
|
|
1103
1101
|
width: '24px',
|
|
@@ -1143,13 +1141,13 @@ var DescriptionRow = function DescriptionRow(_ref2) {
|
|
|
1143
1141
|
gridProps = _objectWithoutPropertiesLoose(_ref2, _excluded$6);
|
|
1144
1142
|
var _useCoreTranslation2 = useCoreTranslation(),
|
|
1145
1143
|
t = _useCoreTranslation2.t;
|
|
1146
|
-
return jsxs(
|
|
1144
|
+
return jsxs(Grid, Object.assign({
|
|
1147
1145
|
container: true,
|
|
1148
1146
|
"data-testid": "descriptionRow",
|
|
1149
1147
|
className: "descriptionRow",
|
|
1150
1148
|
alignItems: "center"
|
|
1151
1149
|
}, gridProps, {
|
|
1152
|
-
children: [jsx(
|
|
1150
|
+
children: [jsx(Grid, {
|
|
1153
1151
|
className: columnClasses.column1,
|
|
1154
1152
|
sx: Object.assign({}, leftButtonsStyle, {
|
|
1155
1153
|
justifyContent: 'center',
|
|
@@ -1159,7 +1157,7 @@ var DescriptionRow = function DescriptionRow(_ref2) {
|
|
|
1159
1157
|
tooltipTitle: settings == null || (_settings$addLayer = settings.addLayer) == null ? void 0 : _settings$addLayer.tooltipTitle,
|
|
1160
1158
|
icon: settings == null || (_settings$addLayer2 = settings.addLayer) == null ? void 0 : _settings$addLayer2.icon
|
|
1161
1159
|
})
|
|
1162
|
-
}), jsx(
|
|
1160
|
+
}), jsx(Grid, {
|
|
1163
1161
|
className: "medium-layermanager columnLayerName",
|
|
1164
1162
|
children: jsx(Box, {
|
|
1165
1163
|
sx: styles$3.text,
|
|
@@ -1190,7 +1188,7 @@ var DescriptionRow = function DescriptionRow(_ref2) {
|
|
|
1190
1188
|
title: (_settings$acceptanceT = settings == null || (_settings$acceptanceT2 = settings.acceptanceTime) == null ? void 0 : _settings$acceptanceT2.title) != null ? _settings$acceptanceT : t('layermanager-acceptance-time'),
|
|
1191
1189
|
onToggleCollapsed: onToggleCollapsed,
|
|
1192
1190
|
collapsedColumns: collapsedColumns
|
|
1193
|
-
}), jsx(
|
|
1191
|
+
}), jsx(Grid, {
|
|
1194
1192
|
className: columnClasses.loadDuration,
|
|
1195
1193
|
children: jsx(Box, {
|
|
1196
1194
|
sx: [styles$3.text, {
|
|
@@ -1199,7 +1197,7 @@ var DescriptionRow = function DescriptionRow(_ref2) {
|
|
|
1199
1197
|
}],
|
|
1200
1198
|
children: jsx(CloudLoading, {})
|
|
1201
1199
|
})
|
|
1202
|
-
}), jsx(
|
|
1200
|
+
}), jsx(Grid, {
|
|
1203
1201
|
className: columnClasses.column6
|
|
1204
1202
|
})]
|
|
1205
1203
|
}));
|
|
@@ -2246,7 +2244,7 @@ var RowItemCollapse = function RowItemCollapse(_ref7) {
|
|
|
2246
2244
|
element.style.backgroundColor = 'inherit';
|
|
2247
2245
|
});
|
|
2248
2246
|
});
|
|
2249
|
-
return jsx(
|
|
2247
|
+
return jsx(Grid, {
|
|
2250
2248
|
className: className,
|
|
2251
2249
|
style: Object.assign({
|
|
2252
2250
|
height: '32px'
|
|
@@ -2335,7 +2333,7 @@ var LayerRowUnstyled = function LayerRowUnstyled(_ref8) {
|
|
|
2335
2333
|
// className needed for styled() utility
|
|
2336
2334
|
jsx("div", {
|
|
2337
2335
|
className: className,
|
|
2338
|
-
children: jsxs(
|
|
2336
|
+
children: jsxs(Grid, {
|
|
2339
2337
|
container: true,
|
|
2340
2338
|
"data-testid": "layerRow-" + layerId,
|
|
2341
2339
|
className: "layerRow",
|
|
@@ -2377,7 +2375,7 @@ var LayerRowUnstyled = function LayerRowUnstyled(_ref8) {
|
|
|
2377
2375
|
DeleteLayer: layerDeleteLayout || jsx(DeleteLayer, {
|
|
2378
2376
|
onClick: deleteLayer
|
|
2379
2377
|
})
|
|
2380
|
-
}), jsx(
|
|
2378
|
+
}), jsx(Grid, {
|
|
2381
2379
|
className: columnClasses.column1,
|
|
2382
2380
|
alignItems: "center",
|
|
2383
2381
|
children: jsx(LeftButtons, {
|
|
@@ -2404,7 +2402,7 @@ var LayerRowUnstyled = function LayerRowUnstyled(_ref8) {
|
|
|
2404
2402
|
});
|
|
2405
2403
|
}
|
|
2406
2404
|
})
|
|
2407
|
-
}), isLayerMissing ? jsx(
|
|
2405
|
+
}), isLayerMissing ? jsx(Grid, {
|
|
2408
2406
|
className: columnClasses.column7,
|
|
2409
2407
|
children: jsx(AlertBanner, {
|
|
2410
2408
|
title: t('layermanager-layer-error'),
|
|
@@ -2450,7 +2448,7 @@ var LayerRowUnstyled = function LayerRowUnstyled(_ref8) {
|
|
|
2450
2448
|
acceptanceTime: layer.acceptanceTimeInMinutes,
|
|
2451
2449
|
onChangeAcceptanceTime: changeAcceptanceTime
|
|
2452
2450
|
})
|
|
2453
|
-
}), jsx(
|
|
2451
|
+
}), jsx(Grid, {
|
|
2454
2452
|
display: "flex",
|
|
2455
2453
|
justifyContent: "flex-end",
|
|
2456
2454
|
className: columnClasses.loadDuration,
|
|
@@ -2459,7 +2457,7 @@ var LayerRowUnstyled = function LayerRowUnstyled(_ref8) {
|
|
|
2459
2457
|
mapId: mapId
|
|
2460
2458
|
})
|
|
2461
2459
|
})]
|
|
2462
|
-
}), jsxs(
|
|
2460
|
+
}), jsxs(Grid, {
|
|
2463
2461
|
className: columnClasses.column6,
|
|
2464
2462
|
alignItems: "center",
|
|
2465
2463
|
children: [layerShowLayerInfoLayout || jsx(ShowLayerInfo, {
|
|
@@ -2528,46 +2526,46 @@ var Accordion = function Accordion(_ref10) {
|
|
|
2528
2526
|
children: layerName
|
|
2529
2527
|
})]
|
|
2530
2528
|
}),
|
|
2531
|
-
children: jsxs(
|
|
2529
|
+
children: jsxs(Grid, {
|
|
2532
2530
|
container: true,
|
|
2533
2531
|
sx: {
|
|
2534
2532
|
padding: '16px 32px'
|
|
2535
2533
|
},
|
|
2536
2534
|
spacing: 3,
|
|
2537
|
-
children: [jsxs(
|
|
2535
|
+
children: [jsxs(Grid, {
|
|
2538
2536
|
container: true,
|
|
2539
|
-
children: [jsx(
|
|
2537
|
+
children: [jsx(Grid, {
|
|
2540
2538
|
children: t('layermanager-style-title')
|
|
2541
2539
|
}), Styles]
|
|
2542
|
-
}), jsxs(
|
|
2540
|
+
}), jsxs(Grid, {
|
|
2543
2541
|
container: true,
|
|
2544
2542
|
sx: {
|
|
2545
2543
|
'.MuiButtonBase-root': {
|
|
2546
2544
|
justifyContent: 'flex-start'
|
|
2547
2545
|
}
|
|
2548
2546
|
},
|
|
2549
|
-
children: [jsx(
|
|
2547
|
+
children: [jsx(Grid, {
|
|
2550
2548
|
children: t('layermanager-opacity-title')
|
|
2551
2549
|
}), Opacity]
|
|
2552
|
-
}), jsxs(
|
|
2550
|
+
}), jsxs(Grid, {
|
|
2553
2551
|
container: true,
|
|
2554
|
-
children: [jsx(
|
|
2552
|
+
children: [jsx(Grid, {
|
|
2555
2553
|
children: t('layermanager-acceptance-time')
|
|
2556
2554
|
}), Acceptance]
|
|
2557
|
-
}), jsxs(
|
|
2555
|
+
}), jsxs(Grid, {
|
|
2558
2556
|
container: true,
|
|
2559
2557
|
flexDirection: "column",
|
|
2560
|
-
children: [jsx(
|
|
2558
|
+
children: [jsx(Grid, {
|
|
2561
2559
|
children: jsx(CloudLoading, {})
|
|
2562
2560
|
}), LoadDuration]
|
|
2563
|
-
}), jsxs(
|
|
2561
|
+
}), jsxs(Grid, {
|
|
2564
2562
|
container: true,
|
|
2565
2563
|
justifyContent: "center",
|
|
2566
2564
|
spacing: 2,
|
|
2567
|
-
children: [jsx(
|
|
2565
|
+
children: [jsx(Grid, {
|
|
2568
2566
|
sx: {},
|
|
2569
2567
|
children: ShowLayerInfo
|
|
2570
|
-
}), jsx(
|
|
2568
|
+
}), jsx(Grid, {
|
|
2571
2569
|
sx: {},
|
|
2572
2570
|
children: DeleteLayer
|
|
2573
2571
|
})]
|
|
@@ -3208,7 +3206,10 @@ var MissingDataConnect = function MissingDataConnect(_ref) {
|
|
|
3208
3206
|
var serviceLayer = useSelector(function (store) {
|
|
3209
3207
|
return serviceSelectors.getLayerFromService(store, layerService, layerName);
|
|
3210
3208
|
});
|
|
3211
|
-
var
|
|
3209
|
+
var layerStatus = useSelector(function (store) {
|
|
3210
|
+
return layerSelectors.getLayerStatus(store, layerId);
|
|
3211
|
+
});
|
|
3212
|
+
var layerIsMissingOnServer = !serviceLayer || layerStatus === layerTypes.LayerStatus.error;
|
|
3212
3213
|
return jsx(MissingData, {
|
|
3213
3214
|
layerIsInsideAcceptanceTime: layerIsMissingOnServer ? 'outside' : layerIsInsideAcceptanceTime
|
|
3214
3215
|
});
|
|
@@ -3285,7 +3286,8 @@ var LayerInfoButtonConnect = function LayerInfoButtonConnect(_ref) {
|
|
|
3285
3286
|
});
|
|
3286
3287
|
};
|
|
3287
3288
|
|
|
3288
|
-
var LayerInfoDialogConnect = function LayerInfoDialogConnect() {
|
|
3289
|
+
var LayerInfoDialogConnect = function LayerInfoDialogConnect(_ref) {
|
|
3290
|
+
var source = _ref.source;
|
|
3289
3291
|
var layerInfo = useSelector(function (store) {
|
|
3290
3292
|
return layerSelectors.getActiveLayerInfo(store);
|
|
3291
3293
|
});
|
|
@@ -3299,7 +3301,6 @@ var LayerInfoDialogConnect = function LayerInfoDialogConnect() {
|
|
|
3299
3301
|
dialogOrder = _useSetupDialog.dialogOrder,
|
|
3300
3302
|
onCloseDialog = _useSetupDialog.onCloseDialog,
|
|
3301
3303
|
setDialogOrder = _useSetupDialog.setDialogOrder,
|
|
3302
|
-
uiSource = _useSetupDialog.uiSource,
|
|
3303
3304
|
isDialogOpen = _useSetupDialog.isDialogOpen;
|
|
3304
3305
|
if (!layer) {
|
|
3305
3306
|
return null;
|
|
@@ -3309,7 +3310,7 @@ var LayerInfoDialogConnect = function LayerInfoDialogConnect() {
|
|
|
3309
3310
|
onClose: onCloseDialog,
|
|
3310
3311
|
onMouseDown: setDialogOrder,
|
|
3311
3312
|
order: dialogOrder,
|
|
3312
|
-
source:
|
|
3313
|
+
source: source,
|
|
3313
3314
|
layer: layer,
|
|
3314
3315
|
serviceName: currentService == null ? void 0 : currentService.name
|
|
3315
3316
|
});
|
|
@@ -3341,6 +3342,9 @@ var LayerRowConnect = /*#__PURE__*/React.memo(function (_ref) {
|
|
|
3341
3342
|
var serviceLayer = useSelector(function (store) {
|
|
3342
3343
|
return serviceSelectors.getLayerFromService(store, layerServiceUrl, layerName);
|
|
3343
3344
|
});
|
|
3345
|
+
var layerStatus = useSelector(function (store) {
|
|
3346
|
+
return layerSelectors.getLayerStatus(store, layerId);
|
|
3347
|
+
});
|
|
3344
3348
|
var currentlySelectedLayer = useSelector(function (store) {
|
|
3345
3349
|
return layerSelectors.getLayerByIdWithoutTimeDimension(store, layerId);
|
|
3346
3350
|
});
|
|
@@ -3356,7 +3360,7 @@ var LayerRowConnect = /*#__PURE__*/React.memo(function (_ref) {
|
|
|
3356
3360
|
isEnabled: isEnabled,
|
|
3357
3361
|
mapId: mapId,
|
|
3358
3362
|
layerId: layerId,
|
|
3359
|
-
isLayerMissing: !serviceLayer,
|
|
3363
|
+
isLayerMissing: !serviceLayer || layerStatus === layerTypes.LayerStatus.error,
|
|
3360
3364
|
layerName: fullLayerName || layerName,
|
|
3361
3365
|
layerEnableLayout: jsx(EnableLayerConnect, {
|
|
3362
3366
|
layerId: layerId,
|
|
@@ -3579,7 +3583,7 @@ var LayerContainerRow = /*#__PURE__*/React.memo(function (_ref) {
|
|
|
3579
3583
|
});
|
|
3580
3584
|
}
|
|
3581
3585
|
}, [layerLength, rowsToDisplay]);
|
|
3582
|
-
return jsx(
|
|
3586
|
+
return jsx(Grid, Object.assign({
|
|
3583
3587
|
container: true,
|
|
3584
3588
|
"data-testid": "layerContainerRow",
|
|
3585
3589
|
className: "layerContainerRow",
|
|
@@ -3779,7 +3783,7 @@ var WMSServerList = function WMSServerList(_ref) {
|
|
|
3779
3783
|
return a.name.localeCompare(b.name);
|
|
3780
3784
|
});
|
|
3781
3785
|
return jsxs(Fragment, {
|
|
3782
|
-
children: [jsx(
|
|
3786
|
+
children: [jsx(Grid, {
|
|
3783
3787
|
container: true,
|
|
3784
3788
|
direction: "row",
|
|
3785
3789
|
style: {
|
|
@@ -3819,12 +3823,12 @@ var WMSLayerTreeHeader = function WMSLayerTreeHeader(_ref) {
|
|
|
3819
3823
|
onClickReload = _ref.onClickReload;
|
|
3820
3824
|
var _useCoreTranslation = useCoreTranslation(),
|
|
3821
3825
|
t = _useCoreTranslation.t;
|
|
3822
|
-
return jsxs(
|
|
3826
|
+
return jsxs(Grid, {
|
|
3823
3827
|
container: true,
|
|
3824
3828
|
direction: "row",
|
|
3825
3829
|
spacing: 1,
|
|
3826
3830
|
justifyContent: "space-between",
|
|
3827
|
-
children: [jsx(
|
|
3831
|
+
children: [jsx(Grid, {
|
|
3828
3832
|
children: jsx(InputLabel, {
|
|
3829
3833
|
shrink: true,
|
|
3830
3834
|
htmlFor: "select-multiple-native",
|
|
@@ -3832,11 +3836,14 @@ var WMSLayerTreeHeader = function WMSLayerTreeHeader(_ref) {
|
|
|
3832
3836
|
serviceName: serviceName
|
|
3833
3837
|
})
|
|
3834
3838
|
})
|
|
3835
|
-
}), onClickReload && jsx(
|
|
3839
|
+
}), onClickReload && jsx(Grid, {
|
|
3836
3840
|
children: jsx(CustomIconButton, {
|
|
3837
3841
|
tooltipTitle: t('add-layer-popup-reload-layers'),
|
|
3838
3842
|
"data-testid": "reloadLayers",
|
|
3839
3843
|
onClick: onClickReload,
|
|
3844
|
+
style: {
|
|
3845
|
+
top: -6
|
|
3846
|
+
},
|
|
3840
3847
|
children: jsx(Cached, {})
|
|
3841
3848
|
})
|
|
3842
3849
|
})]
|
|
@@ -4115,7 +4122,8 @@ var filterMapPresets = function filterMapPresets(initialAppPreset) {
|
|
|
4115
4122
|
var layers = preset.layers,
|
|
4116
4123
|
services = preset.services,
|
|
4117
4124
|
baseServices = preset.baseServices,
|
|
4118
|
-
timeSeriesServices = preset.timeSeriesServices
|
|
4125
|
+
timeSeriesServices = preset.timeSeriesServices,
|
|
4126
|
+
soundingsCollections = preset.soundingsCollections;
|
|
4119
4127
|
var _ref = layers ? filterLayers.filterLayers(layers, filterLayers.parseLayer) : filterLayers.createEmtpyFilteredList(undefined),
|
|
4120
4128
|
baseLayers = _ref.baseLayers,
|
|
4121
4129
|
mapLayers = _ref.mapLayers;
|
|
@@ -4126,6 +4134,7 @@ var filterMapPresets = function filterMapPresets(initialAppPreset) {
|
|
|
4126
4134
|
services: filterredServices,
|
|
4127
4135
|
baseServices: filteredBaseServices,
|
|
4128
4136
|
timeSeriesServices: filteredTimeSeriesServices,
|
|
4137
|
+
soundingsCollections: soundingsCollections,
|
|
4129
4138
|
baseLayers: baseLayers,
|
|
4130
4139
|
mapLayers: mapLayers
|
|
4131
4140
|
};
|
|
@@ -4375,115 +4384,106 @@ var AddLayersPopup = function AddLayersPopup(_ref) {
|
|
|
4375
4384
|
}
|
|
4376
4385
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
4377
4386
|
}, [preloadedServices]);
|
|
4378
|
-
return
|
|
4387
|
+
return jsx(CustomDialog, {
|
|
4379
4388
|
fullWidth: true,
|
|
4380
4389
|
maxWidth: "md",
|
|
4381
4390
|
open: open,
|
|
4382
|
-
onClose:
|
|
4391
|
+
onClose: function onClose() {
|
|
4392
|
+
return handleClose && handleClose();
|
|
4393
|
+
},
|
|
4383
4394
|
"aria-labelledby": "form-dialog-title",
|
|
4384
4395
|
"data-testid": "addLayersPopup",
|
|
4385
|
-
|
|
4386
|
-
|
|
4387
|
-
|
|
4388
|
-
|
|
4396
|
+
title: t('add-layer-popup-title'),
|
|
4397
|
+
actions: jsx(Button, {
|
|
4398
|
+
onClick: handleClose,
|
|
4399
|
+
variant: "tertiary",
|
|
4400
|
+
sx: {
|
|
4401
|
+
width: {
|
|
4402
|
+
xs: '100%',
|
|
4403
|
+
sm: 'auto'
|
|
4404
|
+
}
|
|
4405
|
+
},
|
|
4406
|
+
children: t('actions-close')
|
|
4407
|
+
}),
|
|
4408
|
+
children: jsxs(Fragment, {
|
|
4389
4409
|
children: [jsx(DialogContentText, {
|
|
4390
4410
|
children: t('wms-loader-description')
|
|
4391
|
-
}), jsx(
|
|
4392
|
-
|
|
4393
|
-
|
|
4394
|
-
|
|
4395
|
-
|
|
4396
|
-
|
|
4397
|
-
|
|
4398
|
-
|
|
4399
|
-
|
|
4400
|
-
|
|
4401
|
-
|
|
4402
|
-
|
|
4403
|
-
|
|
4404
|
-
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4417
|
-
|
|
4418
|
-
|
|
4419
|
-
|
|
4420
|
-
|
|
4421
|
-
|
|
4422
|
-
|
|
4423
|
-
|
|
4424
|
-
|
|
4425
|
-
|
|
4426
|
-
|
|
4427
|
-
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4433
|
-
|
|
4434
|
-
|
|
4435
|
-
children: jsx(Add, {})
|
|
4436
|
-
})
|
|
4411
|
+
}), jsx(Grid, {
|
|
4412
|
+
container: true,
|
|
4413
|
+
direction: "row",
|
|
4414
|
+
alignItems: "center",
|
|
4415
|
+
mb: 1,
|
|
4416
|
+
children: jsx(Grid, {
|
|
4417
|
+
size: 12,
|
|
4418
|
+
children: jsx(TextField, {
|
|
4419
|
+
margin: "dense",
|
|
4420
|
+
id: "serviceurl",
|
|
4421
|
+
label: t('add-layer-popup-service-url'),
|
|
4422
|
+
value: serviceURL,
|
|
4423
|
+
type: "url",
|
|
4424
|
+
onChange: function onChange(event) {
|
|
4425
|
+
var url = event.target.value.trim();
|
|
4426
|
+
setServiceURL(url);
|
|
4427
|
+
// No error message until new check
|
|
4428
|
+
setUrlError('');
|
|
4429
|
+
},
|
|
4430
|
+
onKeyPress: function onKeyPress(event) {
|
|
4431
|
+
if (event.key === 'Enter') {
|
|
4432
|
+
handleAddServiceURL();
|
|
4433
|
+
}
|
|
4434
|
+
},
|
|
4435
|
+
fullWidth: true,
|
|
4436
|
+
disabled: loading,
|
|
4437
|
+
error: urlError !== '',
|
|
4438
|
+
helperText: urlError,
|
|
4439
|
+
variant: "filled",
|
|
4440
|
+
slotProps: {
|
|
4441
|
+
input: {
|
|
4442
|
+
endAdornment: jsx(InputAdornment, {
|
|
4443
|
+
position: "end",
|
|
4444
|
+
children: loading ? jsx(CircularProgress, {
|
|
4445
|
+
size: 24,
|
|
4446
|
+
sx: {
|
|
4447
|
+
zIndex: 1
|
|
4448
|
+
}
|
|
4449
|
+
}) : jsx(CustomIconButton, {
|
|
4450
|
+
"data-testid": "add-service",
|
|
4451
|
+
onClick: handleAddServiceURL,
|
|
4452
|
+
disabled: loading,
|
|
4453
|
+
size: "large",
|
|
4454
|
+
children: jsx(Add, {})
|
|
4437
4455
|
})
|
|
4438
|
-
}
|
|
4456
|
+
})
|
|
4439
4457
|
}
|
|
4440
|
-
}
|
|
4458
|
+
}
|
|
4441
4459
|
})
|
|
4442
4460
|
})
|
|
4443
|
-
}),
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
|
|
4449
|
-
|
|
4450
|
-
children:
|
|
4451
|
-
|
|
4452
|
-
|
|
4453
|
-
|
|
4454
|
-
|
|
4455
|
-
|
|
4456
|
-
|
|
4457
|
-
|
|
4458
|
-
|
|
4459
|
-
|
|
4460
|
-
|
|
4461
|
-
|
|
4462
|
-
|
|
4463
|
-
})
|
|
4464
|
-
})]
|
|
4465
|
-
})
|
|
4461
|
+
}), jsxs(Grid, {
|
|
4462
|
+
container: true,
|
|
4463
|
+
direction: "row",
|
|
4464
|
+
alignItems: "center",
|
|
4465
|
+
spacing: 3,
|
|
4466
|
+
children: [jsx(Grid, {
|
|
4467
|
+
size: 4,
|
|
4468
|
+
children: jsx(WMSServerList, {
|
|
4469
|
+
availableServices: services,
|
|
4470
|
+
service: activeService,
|
|
4471
|
+
handleChangeService: handleChangeService
|
|
4472
|
+
})
|
|
4473
|
+
}), jsx(Grid, {
|
|
4474
|
+
size: 8,
|
|
4475
|
+
children: onRenderTree ? onRenderTree(activeService) : jsx(WMSLayerTreeConnect, {
|
|
4476
|
+
mapId: "",
|
|
4477
|
+
service: activeService,
|
|
4478
|
+
layerType: layerType
|
|
4479
|
+
})
|
|
4480
|
+
})]
|
|
4466
4481
|
})]
|
|
4467
|
-
})
|
|
4468
|
-
children: jsx(Button, {
|
|
4469
|
-
onClick: handleClose,
|
|
4470
|
-
color: "primary",
|
|
4471
|
-
children: t('actions-close')
|
|
4472
|
-
})
|
|
4473
|
-
})]
|
|
4482
|
+
})
|
|
4474
4483
|
});
|
|
4475
4484
|
};
|
|
4476
4485
|
|
|
4477
4486
|
var styles$2 = {
|
|
4478
|
-
buttonDiv: {
|
|
4479
|
-
position: 'relative'
|
|
4480
|
-
},
|
|
4481
|
-
loadingButton: {
|
|
4482
|
-
position: 'absolute',
|
|
4483
|
-
top: 7,
|
|
4484
|
-
left: 7,
|
|
4485
|
-
zIndex: 1
|
|
4486
|
-
},
|
|
4487
4487
|
button: {
|
|
4488
4488
|
margin: 'auto 0px auto 32px'
|
|
4489
4489
|
}
|
|
@@ -4553,7 +4553,7 @@ var BaseLayerRow = function BaseLayerRow(_ref2) {
|
|
|
4553
4553
|
settings = _ref2.settings,
|
|
4554
4554
|
gridProps = _objectWithoutPropertiesLoose(_ref2, _excluded$3);
|
|
4555
4555
|
var theme = useTheme();
|
|
4556
|
-
return jsxs(
|
|
4556
|
+
return jsxs(Grid, Object.assign({
|
|
4557
4557
|
container: true,
|
|
4558
4558
|
"data-testid": "baseLayerRow",
|
|
4559
4559
|
className: "addLayer-column",
|
|
@@ -4562,7 +4562,7 @@ var BaseLayerRow = function BaseLayerRow(_ref2) {
|
|
|
4562
4562
|
height: '36px'
|
|
4563
4563
|
}, theme.palette.geowebColors.layerManager.baseLayerRow.root)
|
|
4564
4564
|
}, gridProps, {
|
|
4565
|
-
children: [jsxs(
|
|
4565
|
+
children: [jsxs(Grid, {
|
|
4566
4566
|
sx: [{
|
|
4567
4567
|
marginTop: '-2px'
|
|
4568
4568
|
}, leftButtonsStyle],
|
|
@@ -4577,7 +4577,7 @@ var BaseLayerRow = function BaseLayerRow(_ref2) {
|
|
|
4577
4577
|
});
|
|
4578
4578
|
}
|
|
4579
4579
|
}), settings == null || (_settings$baseLayerRo2 = settings.baseLayerRow) == null ? void 0 : _settings$baseLayerRo2.title]
|
|
4580
|
-
}), jsx(
|
|
4580
|
+
}), jsx(Grid, {
|
|
4581
4581
|
className: columnClasses.baseLayer,
|
|
4582
4582
|
children: jsx(BaseLayersConnect, {
|
|
4583
4583
|
mapId: mapId,
|
|
@@ -4671,7 +4671,7 @@ var availableProjections = [Object.assign({}, PROJECTION.EPSG_3857, {
|
|
|
4671
4671
|
}
|
|
4672
4672
|
}), Object.assign({}, PROJECTION.EPSG_3067, {
|
|
4673
4673
|
bbox: {
|
|
4674
|
-
left: -1197402
|
|
4674
|
+
left: -1197402,
|
|
4675
4675
|
bottom: 6439686.0,
|
|
4676
4676
|
right: 2090705,
|
|
4677
4677
|
top: 7975202
|
|
@@ -4695,14 +4695,14 @@ var ProjectionSelect = function ProjectionSelect(_ref) {
|
|
|
4695
4695
|
return projection.value === currentProjection;
|
|
4696
4696
|
});
|
|
4697
4697
|
var title = t('projection-title');
|
|
4698
|
-
return jsxs(
|
|
4698
|
+
return jsxs(Grid, {
|
|
4699
4699
|
container: true,
|
|
4700
4700
|
className: "setProjection-column",
|
|
4701
4701
|
sx: {
|
|
4702
4702
|
width: '100%',
|
|
4703
4703
|
height: '36px'
|
|
4704
4704
|
},
|
|
4705
|
-
children: [jsx(
|
|
4705
|
+
children: [jsx(Grid, {
|
|
4706
4706
|
sx: [{
|
|
4707
4707
|
marginTop: '-2px'
|
|
4708
4708
|
}, leftButtonsStyle],
|
|
@@ -4714,7 +4714,7 @@ var ProjectionSelect = function ProjectionSelect(_ref) {
|
|
|
4714
4714
|
disabled: true,
|
|
4715
4715
|
children: jsx(WorldMapProjection, {})
|
|
4716
4716
|
})
|
|
4717
|
-
}), jsx(
|
|
4717
|
+
}), jsx(Grid, {
|
|
4718
4718
|
className: columnClasses.baseLayer,
|
|
4719
4719
|
children: jsx(FormControl, {
|
|
4720
4720
|
style: {
|
|
@@ -4783,14 +4783,7 @@ var styles$1 = {
|
|
|
4783
4783
|
height: 'calc(100% - 59px)',
|
|
4784
4784
|
display: 'inline-block',
|
|
4785
4785
|
padding: '0 6px'
|
|
4786
|
-
}
|
|
4787
|
-
layerManagerContainer: {
|
|
4788
|
-
position: 'absolute',
|
|
4789
|
-
height: '100%',
|
|
4790
|
-
width: '100%',
|
|
4791
|
-
boxSizing: 'border-box'
|
|
4792
|
-
}
|
|
4793
|
-
};
|
|
4786
|
+
}};
|
|
4794
4787
|
var getLayerManagerSizeValue = function getLayerManagerSizeValue(size) {
|
|
4795
4788
|
if (!size.width || typeof size.width !== 'number') {
|
|
4796
4789
|
return 'sizeLarge';
|
|
@@ -4922,7 +4915,7 @@ var LayerManager = function LayerManager(_ref) {
|
|
|
4922
4915
|
title: error,
|
|
4923
4916
|
shouldClose: true
|
|
4924
4917
|
})
|
|
4925
|
-
}), jsxs(
|
|
4918
|
+
}), jsxs(Grid, {
|
|
4926
4919
|
container: true,
|
|
4927
4920
|
"data-testid": "layerManagerRowContainer",
|
|
4928
4921
|
sx: styles$1.layerRowContainer,
|
|
@@ -5134,12 +5127,14 @@ var LayerManagerConnect = function LayerManagerConnect(_ref) {
|
|
|
5134
5127
|
},
|
|
5135
5128
|
addLayerComponent: jsx(LayerSelectButtonConnect, {
|
|
5136
5129
|
mapId: mapId,
|
|
5137
|
-
source:
|
|
5130
|
+
source: uiSource,
|
|
5138
5131
|
isMultiMap: isMultiMap
|
|
5139
5132
|
})
|
|
5140
|
-
}), !isDocked && jsx(LayerInfoDialogConnect, {
|
|
5133
|
+
}), !isDocked && jsx(LayerInfoDialogConnect, {
|
|
5134
|
+
source: uiSource
|
|
5135
|
+
}), !isDocked && jsx(LayerSelectConnect, {})]
|
|
5141
5136
|
});
|
|
5142
|
-
}, [bounds, dialogOrder, dockedLayerManagerSize, initialMapId, isDialogOpen, isDocked, isMultiMap, mapId, onCloseDialog, onToggleDock, preloadedAvailableBaseLayers, preloadedBaseServices, setDialogOrder, showMapIdInTitle, nonEmptyTitle, uiError, uiIsLoading, uiSource
|
|
5137
|
+
}, [bounds, dialogOrder, dockedLayerManagerSize, initialMapId, isDialogOpen, isDocked, isMultiMap, mapId, onCloseDialog, onToggleDock, preloadedAvailableBaseLayers, preloadedBaseServices, setDialogOrder, showMapIdInTitle, nonEmptyTitle, uiError, uiIsLoading, uiSource]);
|
|
5143
5138
|
};
|
|
5144
5139
|
|
|
5145
5140
|
var LayerManagerMapButtonConnect = function LayerManagerMapButtonConnect(_ref) {
|
|
@@ -5749,7 +5744,7 @@ var MyMapLocation = function MyMapLocation(_ref) {
|
|
|
5749
5744
|
* Copyright 2025 - Finnish Meteorological Institute (FMI)
|
|
5750
5745
|
* Copyright 2025 - The Norwegian Meteorological Institute (MET Norway)
|
|
5751
5746
|
* */
|
|
5752
|
-
var config = getConfig();
|
|
5747
|
+
var config = sessionStorageProvider.getConfig();
|
|
5753
5748
|
var locationBaseUrl = config.GW_LOCATION_BASE_URL || '';
|
|
5754
5749
|
var getLocationList = function getLocationList(search) {
|
|
5755
5750
|
return fetch(locationBaseUrl + "/locations?search=" + search).then(handleResponse);
|
|
@@ -5805,7 +5800,7 @@ var useLocationDetail = function useLocationDetail(id, source) {
|
|
|
5805
5800
|
});
|
|
5806
5801
|
};
|
|
5807
5802
|
|
|
5808
|
-
var
|
|
5803
|
+
var LocationSearch = function LocationSearch(_ref) {
|
|
5809
5804
|
var isOpen = _ref.isOpen,
|
|
5810
5805
|
_ref$mapId = _ref.mapId,
|
|
5811
5806
|
mapId = _ref$mapId === void 0 ? '' : _ref$mapId,
|
|
@@ -5998,25 +5993,29 @@ var geometryStyling = {
|
|
|
5998
5993
|
'stroke-opacity': 1,
|
|
5999
5994
|
'stroke-width': 4
|
|
6000
5995
|
};
|
|
6001
|
-
var makeGeoJSONFeatureFromLocation = function makeGeoJSONFeatureFromLocation(location, drawFunctionId, hoverDrawFunctionId, mapFeatureClass) {
|
|
5996
|
+
var makeGeoJSONFeatureFromLocation = function makeGeoJSONFeatureFromLocation(location, drawFunctionId, hoverDrawFunctionId, mapFeatureClass, t) {
|
|
6002
5997
|
var _location$geometry;
|
|
6003
5998
|
var collection = {
|
|
6004
5999
|
type: 'FeatureCollection',
|
|
6005
6000
|
features: []
|
|
6006
6001
|
};
|
|
6002
|
+
var name = mapFeatureClass === MapFeatureClass.MyLocation ? t('my-location') : location.name;
|
|
6007
6003
|
var geometry = Object.assign({}, location.geometry, {
|
|
6008
6004
|
properties: Object.assign({}, geometryStyling, {
|
|
6009
|
-
name:
|
|
6010
|
-
hoverDrawFunctionId: hoverDrawFunctionId
|
|
6005
|
+
name: name,
|
|
6006
|
+
hoverDrawFunctionId: hoverDrawFunctionId,
|
|
6007
|
+
mapFeatureClass: mapFeatureClass,
|
|
6008
|
+
showNameOnHover: true
|
|
6011
6009
|
})
|
|
6012
6010
|
});
|
|
6013
6011
|
var marker = {
|
|
6014
6012
|
type: 'Feature',
|
|
6015
6013
|
properties: {
|
|
6016
|
-
name:
|
|
6014
|
+
name: name,
|
|
6017
6015
|
drawFunctionId: drawFunctionId,
|
|
6018
6016
|
hoverDrawFunctionId: hoverDrawFunctionId,
|
|
6019
|
-
mapFeatureClass: mapFeatureClass
|
|
6017
|
+
mapFeatureClass: mapFeatureClass,
|
|
6018
|
+
showNameOnHover: true
|
|
6020
6019
|
},
|
|
6021
6020
|
geometry: {
|
|
6022
6021
|
type: 'Point',
|
|
@@ -6025,7 +6024,6 @@ var makeGeoJSONFeatureFromLocation = function makeGeoJSONFeatureFromLocation(loc
|
|
|
6025
6024
|
};
|
|
6026
6025
|
switch ((_location$geometry = location.geometry) == null ? void 0 : _location$geometry.geometry.type) {
|
|
6027
6026
|
case 'Point':
|
|
6028
|
-
case 'MultiLineString':
|
|
6029
6027
|
case undefined:
|
|
6030
6028
|
collection.features.push(marker);
|
|
6031
6029
|
break;
|
|
@@ -6082,6 +6080,8 @@ var hoverDrawFunction = function hoverDrawFunction(args) {
|
|
|
6082
6080
|
};
|
|
6083
6081
|
var useDrawOnMap = function useDrawOnMap(mapId, drawFunction) {
|
|
6084
6082
|
var dispatch = useDispatch();
|
|
6083
|
+
var _useCoreTranslation = useCoreTranslation(),
|
|
6084
|
+
t = _useCoreTranslation.t;
|
|
6085
6085
|
var _useContext = useContext(MapContext),
|
|
6086
6086
|
map = _useContext.map;
|
|
6087
6087
|
var layerIdRef = React__default.useRef();
|
|
@@ -6105,7 +6105,7 @@ var useDrawOnMap = function useDrawOnMap(mapId, drawFunction) {
|
|
|
6105
6105
|
geojson: emptyGeoJSON,
|
|
6106
6106
|
layerType: LayerType.featureLayer
|
|
6107
6107
|
},
|
|
6108
|
-
origin: '
|
|
6108
|
+
origin: 'LocationSearchConnect'
|
|
6109
6109
|
}));
|
|
6110
6110
|
}
|
|
6111
6111
|
}, [dispatch, layerId, mapId, shouldAddLayer]);
|
|
@@ -6113,12 +6113,12 @@ var useDrawOnMap = function useDrawOnMap(mapId, drawFunction) {
|
|
|
6113
6113
|
var hoverDrawFunctionId = React__default.useRef(registerDrawFunction(hoverDrawFunction)).current;
|
|
6114
6114
|
var updateGeoJSON = React__default.useCallback(function (location) {
|
|
6115
6115
|
var mapFeatureClass = (location == null ? void 0 : location.source) === 'MyMapLocation' ? MapFeatureClass.MyLocation : MapFeatureClass.GenericMarker;
|
|
6116
|
-
var geojson = location ? makeGeoJSONFeatureFromLocation(location, drawFunctionId, hoverDrawFunctionId, mapFeatureClass) : emptyGeoJSON;
|
|
6116
|
+
var geojson = location ? makeGeoJSONFeatureFromLocation(location, drawFunctionId, hoverDrawFunctionId, mapFeatureClass, t) : emptyGeoJSON;
|
|
6117
6117
|
dispatch(layerActions.updateFeature({
|
|
6118
6118
|
layerId: layerId,
|
|
6119
6119
|
geojson: geojson
|
|
6120
6120
|
}));
|
|
6121
|
-
}, [dispatch, drawFunctionId, hoverDrawFunctionId, layerId]);
|
|
6121
|
+
}, [dispatch, drawFunctionId, hoverDrawFunctionId, layerId, t]);
|
|
6122
6122
|
var zoomToFeature = React__default.useCallback(function (location) {
|
|
6123
6123
|
var webMap = getWMJSMapById(mapId);
|
|
6124
6124
|
if (webMap) {
|
|
@@ -6136,7 +6136,7 @@ var useDrawOnMap = function useDrawOnMap(mapId, drawFunction) {
|
|
|
6136
6136
|
return [onUpdateLocation];
|
|
6137
6137
|
};
|
|
6138
6138
|
|
|
6139
|
-
var
|
|
6139
|
+
var LocationSearchConnect = function LocationSearchConnect(_ref) {
|
|
6140
6140
|
var _ref$mapId = _ref.mapId,
|
|
6141
6141
|
mapId = _ref$mapId === void 0 ? '' : _ref$mapId;
|
|
6142
6142
|
var dialogType = uiTypes.DialogTypes.Search + "-" + mapId;
|
|
@@ -6159,7 +6159,7 @@ var SearchDialogConnect = function SearchDialogConnect(_ref) {
|
|
|
6159
6159
|
return false;
|
|
6160
6160
|
});
|
|
6161
6161
|
var isMyLocationSelected = !!myLocationLayer;
|
|
6162
|
-
return jsx(
|
|
6162
|
+
return jsx(LocationSearch, {
|
|
6163
6163
|
isOpen: isDialogOpen,
|
|
6164
6164
|
mapId: mapId,
|
|
6165
6165
|
onSelectLocation: updateMapPin,
|
|
@@ -6529,7 +6529,7 @@ var GetFeatureInfoDialog = function GetFeatureInfoDialog(_ref) {
|
|
|
6529
6529
|
if (!result) {
|
|
6530
6530
|
return null;
|
|
6531
6531
|
}
|
|
6532
|
-
return jsxs(
|
|
6532
|
+
return jsxs(Grid, {
|
|
6533
6533
|
sx: {
|
|
6534
6534
|
margin: '4px 6px 4px 6px',
|
|
6535
6535
|
padding: '6px',
|
|
@@ -7089,7 +7089,7 @@ var MapViewConnect = function MapViewConnect(_ref) {
|
|
|
7089
7089
|
showMapId: true,
|
|
7090
7090
|
mapId: mapId,
|
|
7091
7091
|
multiLegend: controls == null ? void 0 : controls.multiLegend
|
|
7092
|
-
}), (controls == null ? void 0 : controls.search) && jsx(
|
|
7092
|
+
}), (controls == null ? void 0 : controls.search) && jsx(LocationSearchConnect, {
|
|
7093
7093
|
mapId: mapId
|
|
7094
7094
|
}), (controls == null ? void 0 : controls.getFeatureInfo) && jsx(GetFeatureInfoConnect, {
|
|
7095
7095
|
showMapId: true,
|
|
@@ -7102,58 +7102,59 @@ var MapViewConnect = function MapViewConnect(_ref) {
|
|
|
7102
7102
|
});
|
|
7103
7103
|
};
|
|
7104
7104
|
|
|
7105
|
-
|
|
7106
|
-
|
|
7107
|
-
|
|
7108
|
-
|
|
7109
|
-
|
|
7110
|
-
|
|
7111
|
-
|
|
7112
|
-
|
|
7113
|
-
|
|
7114
|
-
|
|
7115
|
-
|
|
7116
|
-
|
|
7117
|
-
*
|
|
7118
|
-
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
7119
|
-
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
7120
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
7121
|
-
* */
|
|
7122
|
-
var useGetOpenLayersView = function useGetOpenLayersView(mapId, store) {
|
|
7123
|
-
var _useState = useState(),
|
|
7124
|
-
view = _useState[0],
|
|
7125
|
-
setView = _useState[1];
|
|
7126
|
-
var _useState2 = useState(),
|
|
7127
|
-
name = _useState2[0],
|
|
7128
|
-
setName = _useState2[1];
|
|
7129
|
-
var syncGroupState = syncGroupsSelectors.getSynchronizationGroupState(store.getState());
|
|
7130
|
-
var syncGroupView = useMemo(function () {
|
|
7131
|
-
var thisAreaSyncGroupId = syncGroupState.groups.allIds.find(function (id) {
|
|
7132
|
-
var group = syncGroupState.groups.byId[id];
|
|
7133
|
-
return group.type === syncConstants.SYNCGROUPS_TYPE_SETBBOX && group.targets.allIds.indexOf(mapId) !== -1;
|
|
7134
|
-
});
|
|
7135
|
-
return thisAreaSyncGroupId ? getViewObjectForSyncGroup(thisAreaSyncGroupId) : null;
|
|
7136
|
-
}, [mapId, syncGroupState.groups]);
|
|
7137
|
-
useEffect(function () {
|
|
7138
|
-
var mapBbox = mapSelectors.getBbox(store.getState(), mapId);
|
|
7139
|
-
var storedView = syncGroupView || getViewObjectForMapId(mapId);
|
|
7140
|
-
if (storedView.view.getCenter() === undefined && mapBbox.left !== undefined) {
|
|
7141
|
-
storedView.view.fit([mapBbox.left, mapBbox.bottom, mapBbox.right, mapBbox.top]);
|
|
7105
|
+
var OpenLayersFeatureLayerConnect = function OpenLayersFeatureLayerConnect(_ref) {
|
|
7106
|
+
var layer = _ref.layer,
|
|
7107
|
+
layerId = _ref.layerId,
|
|
7108
|
+
zIndex = _ref.zIndex,
|
|
7109
|
+
style = _ref.style,
|
|
7110
|
+
hoverSelect = _ref.hoverSelect;
|
|
7111
|
+
var store = useStore();
|
|
7112
|
+
var dispatch = useDispatch();
|
|
7113
|
+
var updateFeature = React__default.useCallback(function (geojson, reason) {
|
|
7114
|
+
if (!layerId) {
|
|
7115
|
+
window.console.error('updateFeature without layerId');
|
|
7116
|
+
return;
|
|
7142
7117
|
}
|
|
7143
|
-
|
|
7144
|
-
var
|
|
7145
|
-
|
|
7146
|
-
|
|
7147
|
-
|
|
7148
|
-
|
|
7149
|
-
|
|
7150
|
-
|
|
7151
|
-
|
|
7152
|
-
|
|
7153
|
-
|
|
7154
|
-
|
|
7155
|
-
|
|
7156
|
-
|
|
7118
|
+
var activeDrawToolId = drawingToolSelectors.getActiveDrawToolId(store.getState());
|
|
7119
|
+
var activeDrawMode = drawingToolSelectors.getActiveDrawMode(store.getState(), activeDrawToolId);
|
|
7120
|
+
dispatch(layerActions.updateFeature({
|
|
7121
|
+
geojson: geojson,
|
|
7122
|
+
reason: reason,
|
|
7123
|
+
layerId: layerId,
|
|
7124
|
+
shouldAllowMultipleShapes: drawingToolSelectors.getShouldAllowMultipleShapes(store.getState(), activeDrawToolId),
|
|
7125
|
+
geoJSONIntersectionLayerId: drawingToolSelectors.getGeoJSONIntersectionLayerId(store.getState(), activeDrawToolId),
|
|
7126
|
+
geoJSONIntersectionBoundsLayerId: drawingToolSelectors.getGeoJSONIntersectionBoundsLayerId(store.getState(), activeDrawToolId),
|
|
7127
|
+
selectionType: activeDrawMode == null ? void 0 : activeDrawMode.selectionType
|
|
7128
|
+
}));
|
|
7129
|
+
}, [dispatch, store, layerId]);
|
|
7130
|
+
var exitFeatureDrawMode = React__default.useCallback(function (reason) {
|
|
7131
|
+
if (!layerId) {
|
|
7132
|
+
window.console.error('exitFeatureDrawMode without layerId');
|
|
7133
|
+
return;
|
|
7134
|
+
}
|
|
7135
|
+
var activeDrawToolId = drawingToolSelectors.getActiveDrawToolId(store.getState());
|
|
7136
|
+
dispatch(layerActions.exitFeatureDrawMode({
|
|
7137
|
+
reason: reason,
|
|
7138
|
+
layerId: layerId,
|
|
7139
|
+
shouldAllowMultipleShapes: drawingToolSelectors.getShouldAllowMultipleShapes(store.getState(), activeDrawToolId)
|
|
7140
|
+
}));
|
|
7141
|
+
}, [dispatch, store, layerId]);
|
|
7142
|
+
return jsxs(Fragment, {
|
|
7143
|
+
children: [jsx(OpenLayersFeatureLayer, {
|
|
7144
|
+
featureCollection: !layer.isInEditMode ? layer.geojson : undefined,
|
|
7145
|
+
zIndex: zIndex,
|
|
7146
|
+
style: style,
|
|
7147
|
+
hoverSelect: hoverSelect
|
|
7148
|
+
}), jsx(OpenLayersMapDraw, {
|
|
7149
|
+
drawMode: layer.drawMode,
|
|
7150
|
+
viewOnlyStyle: style,
|
|
7151
|
+
exitDrawModeCallback: exitFeatureDrawMode,
|
|
7152
|
+
geojson: layer.geojson,
|
|
7153
|
+
isInEditMode: layer.isInEditMode || false,
|
|
7154
|
+
selectedFeatureIndex: layer.selectedFeatureIndex || 0,
|
|
7155
|
+
updateGeojson: updateFeature
|
|
7156
|
+
})]
|
|
7157
|
+
});
|
|
7157
7158
|
};
|
|
7158
7159
|
|
|
7159
7160
|
/* *
|
|
@@ -7204,10 +7205,10 @@ var makePrefetchTimeSpan = function makePrefetchTimeSpan(timeSliderStartCenterEn
|
|
|
7204
7205
|
var makeLayerInfoPayload = function makeLayerInfoPayload(payload, mapDimensions, mapId) {
|
|
7205
7206
|
// During intialization, try to base the layer dimension on the current map dimension value.
|
|
7206
7207
|
var updatedPayLoad = {
|
|
7207
|
-
origin: '
|
|
7208
|
+
origin: 'onInitializeLayer in OlMapViewLayerConnect',
|
|
7208
7209
|
layerDimensions: {
|
|
7209
7210
|
layerId: payload.layerId,
|
|
7210
|
-
origin: '
|
|
7211
|
+
origin: 'onInitializeLayer in OlMapViewLayerConnect',
|
|
7211
7212
|
dimensions: (payload.dimensions || []).map(function (layerDim) {
|
|
7212
7213
|
var _find;
|
|
7213
7214
|
var currentMapDim = ((_find = (mapDimensions || []).find(function (mapDim) {
|
|
@@ -7221,7 +7222,7 @@ var makeLayerInfoPayload = function makeLayerInfoPayload(payload, mapDimensions,
|
|
|
7221
7222
|
},
|
|
7222
7223
|
mapDimensions: {
|
|
7223
7224
|
mapId: mapId,
|
|
7224
|
-
origin: '
|
|
7225
|
+
origin: 'onInitializeLayer in OlMapViewLayerConnect',
|
|
7225
7226
|
dimensions: (payload.dimensions || []).map(function (layerDim) {
|
|
7226
7227
|
var _find2;
|
|
7227
7228
|
var currentMapDim = ((_find2 = (mapDimensions || []).find(function (mapDim) {
|
|
@@ -7254,61 +7255,6 @@ var getCenterOfLinkedFeature = function getCenterOfLinkedFeature(feature, srs) {
|
|
|
7254
7255
|
return null;
|
|
7255
7256
|
};
|
|
7256
7257
|
|
|
7257
|
-
var OpenLayersFeatureLayerConnect = function OpenLayersFeatureLayerConnect(_ref) {
|
|
7258
|
-
var layer = _ref.layer,
|
|
7259
|
-
layerId = _ref.layerId,
|
|
7260
|
-
zIndex = _ref.zIndex,
|
|
7261
|
-
style = _ref.style,
|
|
7262
|
-
hoverSelect = _ref.hoverSelect;
|
|
7263
|
-
var store = useStore();
|
|
7264
|
-
var dispatch = useDispatch();
|
|
7265
|
-
var updateFeature = React__default.useCallback(function (geojson, reason) {
|
|
7266
|
-
if (!layerId) {
|
|
7267
|
-
window.console.error('updateFeature without layerId');
|
|
7268
|
-
return;
|
|
7269
|
-
}
|
|
7270
|
-
var activeDrawToolId = drawingToolSelectors.getActiveDrawToolId(store.getState());
|
|
7271
|
-
var activeDrawMode = drawingToolSelectors.getActiveDrawMode(store.getState(), activeDrawToolId);
|
|
7272
|
-
dispatch(layerActions.updateFeature({
|
|
7273
|
-
geojson: geojson,
|
|
7274
|
-
reason: reason,
|
|
7275
|
-
layerId: layerId,
|
|
7276
|
-
shouldAllowMultipleShapes: drawingToolSelectors.getShouldAllowMultipleShapes(store.getState(), activeDrawToolId),
|
|
7277
|
-
geoJSONIntersectionLayerId: drawingToolSelectors.getGeoJSONIntersectionLayerId(store.getState(), activeDrawToolId),
|
|
7278
|
-
geoJSONIntersectionBoundsLayerId: drawingToolSelectors.getGeoJSONIntersectionBoundsLayerId(store.getState(), activeDrawToolId),
|
|
7279
|
-
selectionType: activeDrawMode == null ? void 0 : activeDrawMode.selectionType
|
|
7280
|
-
}));
|
|
7281
|
-
}, [dispatch, store, layerId]);
|
|
7282
|
-
var exitFeatureDrawMode = React__default.useCallback(function (reason) {
|
|
7283
|
-
if (!layerId) {
|
|
7284
|
-
window.console.error('exitFeatureDrawMode without layerId');
|
|
7285
|
-
return;
|
|
7286
|
-
}
|
|
7287
|
-
var activeDrawToolId = drawingToolSelectors.getActiveDrawToolId(store.getState());
|
|
7288
|
-
dispatch(layerActions.exitFeatureDrawMode({
|
|
7289
|
-
reason: reason,
|
|
7290
|
-
layerId: layerId,
|
|
7291
|
-
shouldAllowMultipleShapes: drawingToolSelectors.getShouldAllowMultipleShapes(store.getState(), activeDrawToolId)
|
|
7292
|
-
}));
|
|
7293
|
-
}, [dispatch, store, layerId]);
|
|
7294
|
-
return jsxs(Fragment, {
|
|
7295
|
-
children: [jsx(OpenLayersFeatureLayer, {
|
|
7296
|
-
featureCollection: !layer.isInEditMode ? layer.geojson : undefined,
|
|
7297
|
-
zIndex: zIndex,
|
|
7298
|
-
style: style,
|
|
7299
|
-
hoverSelect: hoverSelect
|
|
7300
|
-
}), jsx(OpenLayersMapDraw, {
|
|
7301
|
-
drawMode: layer.drawMode,
|
|
7302
|
-
viewOnlyStyle: style,
|
|
7303
|
-
exitDrawModeCallback: exitFeatureDrawMode,
|
|
7304
|
-
geojson: layer.geojson,
|
|
7305
|
-
isInEditMode: layer.isInEditMode || false,
|
|
7306
|
-
selectedFeatureIndex: layer.selectedFeatureIndex || 0,
|
|
7307
|
-
updateGeojson: updateFeature
|
|
7308
|
-
})]
|
|
7309
|
-
});
|
|
7310
|
-
};
|
|
7311
|
-
|
|
7312
7258
|
var OlMapViewLayerConnect = function OlMapViewLayerConnect(layerProps) {
|
|
7313
7259
|
var layerId = layerProps.layerId,
|
|
7314
7260
|
mapId = layerProps.mapId,
|
|
@@ -7339,6 +7285,60 @@ var OlMapViewLayerConnect = function OlMapViewLayerConnect(layerProps) {
|
|
|
7339
7285
|
}), "layer-" + (layer == null ? void 0 : layer.id));
|
|
7340
7286
|
};
|
|
7341
7287
|
|
|
7288
|
+
/* *
|
|
7289
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7290
|
+
* you may not use this file except in compliance with the License.
|
|
7291
|
+
* You may obtain a copy of the License at
|
|
7292
|
+
*
|
|
7293
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
7294
|
+
*
|
|
7295
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
7296
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
7297
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
7298
|
+
* See the License for the specific language governing permissions and
|
|
7299
|
+
* limitations under the License.
|
|
7300
|
+
*
|
|
7301
|
+
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
7302
|
+
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
7303
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
7304
|
+
* */
|
|
7305
|
+
var useGetOpenLayersView = function useGetOpenLayersView(mapId, store) {
|
|
7306
|
+
var _useState = useState(),
|
|
7307
|
+
view = _useState[0],
|
|
7308
|
+
setView = _useState[1];
|
|
7309
|
+
var _useState2 = useState(),
|
|
7310
|
+
name = _useState2[0],
|
|
7311
|
+
setName = _useState2[1];
|
|
7312
|
+
var syncGroupState = syncGroupsSelectors.getSynchronizationGroupState(store.getState());
|
|
7313
|
+
var syncGroupView = useMemo(function () {
|
|
7314
|
+
var thisAreaSyncGroupId = syncGroupState.groups.allIds.find(function (id) {
|
|
7315
|
+
var group = syncGroupState.groups.byId[id];
|
|
7316
|
+
return group.type === syncConstants.SYNCGROUPS_TYPE_SETBBOX && group.targets.allIds.indexOf(mapId) !== -1;
|
|
7317
|
+
});
|
|
7318
|
+
return thisAreaSyncGroupId ? getViewObjectForSyncGroup(thisAreaSyncGroupId) : null;
|
|
7319
|
+
}, [mapId, syncGroupState.groups]);
|
|
7320
|
+
useEffect(function () {
|
|
7321
|
+
var mapBbox = mapSelectors.getBbox(store.getState(), mapId);
|
|
7322
|
+
var storedView = syncGroupView || getViewObjectForMapId(mapId);
|
|
7323
|
+
if (storedView.view.getCenter() === undefined && mapBbox.left !== undefined) {
|
|
7324
|
+
storedView.view.fit([mapBbox.left, mapBbox.bottom, mapBbox.right, mapBbox.top]);
|
|
7325
|
+
}
|
|
7326
|
+
setName(storedView.name);
|
|
7327
|
+
var setViewFromStoredView = function setViewFromStoredView() {
|
|
7328
|
+
setView(storedView.view);
|
|
7329
|
+
};
|
|
7330
|
+
setViewFromStoredView();
|
|
7331
|
+
var eventKey = storedView.on('change', setViewFromStoredView);
|
|
7332
|
+
return function () {
|
|
7333
|
+
unByKey(eventKey);
|
|
7334
|
+
};
|
|
7335
|
+
}, [syncGroupView, mapId, store]);
|
|
7336
|
+
return {
|
|
7337
|
+
view: view,
|
|
7338
|
+
name: name
|
|
7339
|
+
};
|
|
7340
|
+
};
|
|
7341
|
+
|
|
7342
7342
|
/**
|
|
7343
7343
|
* Connected component used to display the map and selected layers.
|
|
7344
7344
|
* Includes options to disable the map controls and legend.
|
|
@@ -7346,21 +7346,19 @@ var OlMapViewLayerConnect = function OlMapViewLayerConnect(layerProps) {
|
|
|
7346
7346
|
* Expects the following props:
|
|
7347
7347
|
* @param {string} mapId mapId: string - Id of the map
|
|
7348
7348
|
* @param {object} [controls.zoomControls] **optional** controls: object - toggle the map controls, zoomControls defaults to true
|
|
7349
|
-
* @param {boolean} [displayTimeInMap] **optional** displayTimeInMap: boolean, toggles the mapTime, defaults to true
|
|
7350
|
-
* @param {boolean} [showScaleBar] **optional** showScaleBar: boolean, toggles the scaleBar, defaults to true
|
|
7351
|
-
* @example
|
|
7352
|
-
* ```<MapViewConnect mapId={mapId} controls={{ zoomControls: false }} displayTimeInMap={false} showScaleBar={false}/>```
|
|
7353
7349
|
*/
|
|
7354
7350
|
var OlMapViewConnect = function OlMapViewConnect(_ref) {
|
|
7351
|
+
var _featureProperties$va;
|
|
7355
7352
|
var mapId = _ref.mapId,
|
|
7353
|
+
children = _ref.children,
|
|
7356
7354
|
_ref$controls = _ref.controls,
|
|
7357
7355
|
controls = _ref$controls === void 0 ? {
|
|
7358
7356
|
mapControlsPositionTop: 0,
|
|
7359
7357
|
zoomControls: true
|
|
7360
7358
|
} : _ref$controls,
|
|
7361
7359
|
initialBbox = _ref.initialBbox,
|
|
7362
|
-
|
|
7363
|
-
|
|
7360
|
+
holdShiftToScroll = _ref.holdShiftToScroll,
|
|
7361
|
+
source = _ref.source;
|
|
7364
7362
|
var store = useStore();
|
|
7365
7363
|
var mapRef = React.useRef(null);
|
|
7366
7364
|
var _useGetOpenLayersView = useGetOpenLayersView(mapId, store),
|
|
@@ -7387,14 +7385,32 @@ var OlMapViewConnect = function OlMapViewConnect(_ref) {
|
|
|
7387
7385
|
var _store$syncGroups;
|
|
7388
7386
|
return genericSelectors.selectLinkedFeatures((_store$syncGroups = store.syncGroups) == null ? void 0 : _store$syncGroups.linkedState, mapId);
|
|
7389
7387
|
});
|
|
7388
|
+
var linkedFormFeaturesFromState = useSelector(function (store) {
|
|
7389
|
+
var _store$syncGroups2;
|
|
7390
|
+
return genericSelectors.selectLinkedFormFeatures((_store$syncGroups2 = store.syncGroups) == null ? void 0 : _store$syncGroups2.linkedState, mapId);
|
|
7391
|
+
});
|
|
7390
7392
|
var linkedFeatures = React.useMemo(function () {
|
|
7391
7393
|
return {
|
|
7392
7394
|
type: 'FeatureCollection',
|
|
7393
7395
|
features: linkedFeaturesFromState.flatMap(function (feature) {
|
|
7394
|
-
return feature.geoJSON.features
|
|
7396
|
+
return feature.geoJSON.features.map(function (geoFeature) {
|
|
7397
|
+
return Object.assign({}, geoFeature, {
|
|
7398
|
+
properties: Object.assign({}, geoFeature.properties, {
|
|
7399
|
+
originalId: feature.originalId
|
|
7400
|
+
})
|
|
7401
|
+
});
|
|
7402
|
+
});
|
|
7395
7403
|
})
|
|
7396
7404
|
};
|
|
7397
7405
|
}, [linkedFeaturesFromState]);
|
|
7406
|
+
var linkedFormFeatures = React.useMemo(function () {
|
|
7407
|
+
return {
|
|
7408
|
+
type: 'FeatureCollection',
|
|
7409
|
+
features: linkedFormFeaturesFromState.flatMap(function (feature) {
|
|
7410
|
+
return feature.geoJSON.features;
|
|
7411
|
+
})
|
|
7412
|
+
};
|
|
7413
|
+
}, [linkedFormFeaturesFromState]);
|
|
7398
7414
|
var srs = useSelector(function (store) {
|
|
7399
7415
|
return mapSelectors.getSrs(store, mapId);
|
|
7400
7416
|
});
|
|
@@ -7415,10 +7431,10 @@ var OlMapViewConnect = function OlMapViewConnect(_ref) {
|
|
|
7415
7431
|
var updateLayerInformation = React.useCallback(function (payload) {
|
|
7416
7432
|
var _payload$layerDimensi, _payload$layerDimensi2;
|
|
7417
7433
|
var updatedPayLoad = Object.assign({}, payload, {
|
|
7418
|
-
origin: '
|
|
7434
|
+
origin: 'updateLayerInformation in OlMapViewConnect',
|
|
7419
7435
|
layerDimensions: {
|
|
7420
7436
|
layerId: ((_payload$layerDimensi = payload.layerDimensions) == null ? void 0 : _payload$layerDimensi.layerId) || '',
|
|
7421
|
-
origin: '
|
|
7437
|
+
origin: 'updateLayerInformation in OlMapViewConnect',
|
|
7422
7438
|
dimensions: (((_payload$layerDimensi2 = payload.layerDimensions) == null ? void 0 : _payload$layerDimensi2.dimensions) || []).map(function (layerDim) {
|
|
7423
7439
|
return Object.assign({}, layerDim);
|
|
7424
7440
|
})
|
|
@@ -7527,13 +7543,44 @@ var OlMapViewConnect = function OlMapViewConnect(_ref) {
|
|
|
7527
7543
|
top: extent[3]
|
|
7528
7544
|
},
|
|
7529
7545
|
sourceId: mapId,
|
|
7530
|
-
srs: srs
|
|
7546
|
+
srs: srs,
|
|
7547
|
+
mapId: mapId,
|
|
7548
|
+
origin: mapEnums.MapActionOrigin.map
|
|
7531
7549
|
}));
|
|
7532
7550
|
});
|
|
7533
7551
|
return function () {
|
|
7534
7552
|
unByKey(eventKey);
|
|
7535
7553
|
};
|
|
7536
7554
|
}, [view, mapId, srs, dispatch]);
|
|
7555
|
+
var featureProperties = hoverLinkedFeature == null || hoverLinkedFeature.getProperties == null ? void 0 : hoverLinkedFeature.getProperties();
|
|
7556
|
+
var hoverId = (featureProperties == null || (_featureProperties$va = featureProperties.values_) == null ? void 0 : _featureProperties$va.originalId) || (featureProperties == null ? void 0 : featureProperties.originalId);
|
|
7557
|
+
var previousHoverId = usePrevious(hoverId);
|
|
7558
|
+
React.useEffect(function () {
|
|
7559
|
+
var _featureProperties$st;
|
|
7560
|
+
if (!linkedPanelId || hoverId === previousHoverId) {
|
|
7561
|
+
return;
|
|
7562
|
+
}
|
|
7563
|
+
if (!hoverLinkedFeature) {
|
|
7564
|
+
dispatch(genericActions.addSharedData({
|
|
7565
|
+
panelId: linkedPanelId,
|
|
7566
|
+
data: {
|
|
7567
|
+
hoverId: undefined
|
|
7568
|
+
}
|
|
7569
|
+
}));
|
|
7570
|
+
return;
|
|
7571
|
+
}
|
|
7572
|
+
var currentOpacity = (_featureProperties$st = featureProperties == null ? void 0 : featureProperties['stroke-width']) != null ? _featureProperties$st : 1;
|
|
7573
|
+
var increasedOpacity = Math.min(currentOpacity + 0.2, 1);
|
|
7574
|
+
hoverLinkedFeature.setProperties(Object.assign({}, featureProperties, {
|
|
7575
|
+
'stroke-opacity': increasedOpacity
|
|
7576
|
+
}));
|
|
7577
|
+
dispatch(genericActions.addSharedData({
|
|
7578
|
+
panelId: linkedPanelId,
|
|
7579
|
+
data: {
|
|
7580
|
+
hoverId: hoverId
|
|
7581
|
+
}
|
|
7582
|
+
}));
|
|
7583
|
+
}, [hoverId, previousHoverId, hoverLinkedFeature, featureProperties, linkedPanelId, dispatch]);
|
|
7537
7584
|
var prefetchTimespan = makePrefetchTimeSpan(timeSliderStartCenterEndTime, animationStartTime, animationEndTime, isAnimating);
|
|
7538
7585
|
var layerIds = mapLayerIds.join();
|
|
7539
7586
|
var refetchLayers = React.useCallback(function () {
|
|
@@ -7544,35 +7591,38 @@ var OlMapViewConnect = function OlMapViewConnect(_ref) {
|
|
|
7544
7591
|
while (1) switch (_context.prev = _context.next) {
|
|
7545
7592
|
case 0:
|
|
7546
7593
|
if (!layerId) {
|
|
7547
|
-
_context.next =
|
|
7594
|
+
_context.next = 17;
|
|
7548
7595
|
break;
|
|
7549
7596
|
}
|
|
7550
|
-
_context.prev = 1;
|
|
7551
7597
|
wmLayer = getWMLayerById(layerId);
|
|
7552
7598
|
if (!wmLayer) {
|
|
7553
7599
|
console.warn('No wmLayer exists for layer id', layerId);
|
|
7554
7600
|
}
|
|
7601
|
+
_context.prev = 3;
|
|
7555
7602
|
_context.next = 6;
|
|
7556
7603
|
return wmLayer.parseLayer(true);
|
|
7557
7604
|
case 6:
|
|
7558
|
-
|
|
7559
|
-
updateLayerInformation && updateLayerInformation(layerInfo);
|
|
7560
|
-
_context.next = 13;
|
|
7605
|
+
_context.next = 11;
|
|
7561
7606
|
break;
|
|
7562
|
-
case
|
|
7563
|
-
_context.prev =
|
|
7564
|
-
_context.t0 = _context["catch"](
|
|
7607
|
+
case 8:
|
|
7608
|
+
_context.prev = 8;
|
|
7609
|
+
_context.t0 = _context["catch"](3);
|
|
7565
7610
|
window.console.error(_context.t0);
|
|
7566
|
-
case
|
|
7567
|
-
_context.
|
|
7568
|
-
|
|
7611
|
+
case 11:
|
|
7612
|
+
_context.prev = 11;
|
|
7613
|
+
layerInfo = getLayerUpdateInfo(wmLayer, mapId);
|
|
7614
|
+
updateLayerInformation && updateLayerInformation(layerInfo);
|
|
7615
|
+
return _context.finish(11);
|
|
7569
7616
|
case 15:
|
|
7617
|
+
_context.next = 18;
|
|
7618
|
+
break;
|
|
7619
|
+
case 17:
|
|
7570
7620
|
console.warn('Not updating layer, something is wrong.', layerId);
|
|
7571
|
-
case
|
|
7621
|
+
case 18:
|
|
7572
7622
|
case "end":
|
|
7573
7623
|
return _context.stop();
|
|
7574
7624
|
}
|
|
7575
|
-
}, _callee, null, [[
|
|
7625
|
+
}, _callee, null, [[3, 8, 11, 15]]);
|
|
7576
7626
|
}));
|
|
7577
7627
|
return function (_x) {
|
|
7578
7628
|
return _ref2.apply(this, arguments);
|
|
@@ -7631,6 +7681,12 @@ var OlMapViewConnect = function OlMapViewConnect(_ref) {
|
|
|
7631
7681
|
}
|
|
7632
7682
|
return style;
|
|
7633
7683
|
}, [isSearchDialogOpen]);
|
|
7684
|
+
var combinedLinkedFeatures = React.useMemo(function () {
|
|
7685
|
+
return {
|
|
7686
|
+
type: 'FeatureCollection',
|
|
7687
|
+
features: [].concat(linkedFeatures.features, linkedFormFeatures.features)
|
|
7688
|
+
};
|
|
7689
|
+
}, [linkedFeatures, linkedFormFeatures]);
|
|
7634
7690
|
return jsx(TimeContext.Provider, {
|
|
7635
7691
|
value: prefetchTimespan,
|
|
7636
7692
|
children: jsxs(OpenLayersMapView, {
|
|
@@ -7638,6 +7694,7 @@ var OlMapViewConnect = function OlMapViewConnect(_ref) {
|
|
|
7638
7694
|
isFocused: isActiveWindowId,
|
|
7639
7695
|
isMouseWheelZoomEnabled: !isTimeScrollingEnabled,
|
|
7640
7696
|
holdShiftToScroll: holdShiftToScroll,
|
|
7697
|
+
mapId: mapId,
|
|
7641
7698
|
children: [jsxs("div", {
|
|
7642
7699
|
style: layerDivStyle,
|
|
7643
7700
|
children: [baseLayers.map(function (layer, zIndex) {
|
|
@@ -7673,7 +7730,7 @@ var OlMapViewConnect = function OlMapViewConnect(_ref) {
|
|
|
7673
7730
|
}, "featurelayer-" + (layer == null ? void 0 : layer.id));
|
|
7674
7731
|
}), jsx(OpenLayersFeatureLayer, {
|
|
7675
7732
|
style: genericOpenLayersFeatureStyle,
|
|
7676
|
-
featureCollection:
|
|
7733
|
+
featureCollection: combinedLinkedFeatures,
|
|
7677
7734
|
zIndex: 4000,
|
|
7678
7735
|
hoverSelect: hoverSelect
|
|
7679
7736
|
}), jsx(OpenLayersGetFeatureInfo, {
|
|
@@ -7692,10 +7749,12 @@ var OlMapViewConnect = function OlMapViewConnect(_ref) {
|
|
|
7692
7749
|
homeExtent: homeExtent
|
|
7693
7750
|
}), (controls == null ? void 0 : controls.layerManagerAndLegend) && jsxs(Fragment, {
|
|
7694
7751
|
children: [jsx(LayerManagerMapButtonConnect, {
|
|
7695
|
-
mapId: mapId
|
|
7752
|
+
mapId: mapId,
|
|
7753
|
+
source: source
|
|
7696
7754
|
}), jsx(LegendMapButtonConnect, {
|
|
7697
7755
|
mapId: mapId,
|
|
7698
|
-
multiLegend: controls == null ? void 0 : controls.multiLegend
|
|
7756
|
+
multiLegend: controls == null ? void 0 : controls.multiLegend,
|
|
7757
|
+
source: source
|
|
7699
7758
|
})]
|
|
7700
7759
|
}), (controls == null ? void 0 : controls.dimensionSelect) && jsx(MultiDimensionSelectMapButtonsConnect, {
|
|
7701
7760
|
mapId: mapId
|
|
@@ -7706,7 +7765,7 @@ var OlMapViewConnect = function OlMapViewConnect(_ref) {
|
|
|
7706
7765
|
showMapId: true,
|
|
7707
7766
|
mapId: mapId,
|
|
7708
7767
|
multiLegend: controls == null ? void 0 : controls.multiLegend
|
|
7709
|
-
}), (controls == null ? void 0 : controls.search) && jsx(
|
|
7768
|
+
}), (controls == null ? void 0 : controls.search) && jsx(LocationSearchConnect, {
|
|
7710
7769
|
mapId: mapId
|
|
7711
7770
|
}), (controls == null ? void 0 : controls.getFeatureInfo) && jsx(GetFeatureInfoConnect, {
|
|
7712
7771
|
showMapId: true,
|
|
@@ -9252,13 +9311,14 @@ var componentsLookUp = function componentsLookUp(_ref) {
|
|
|
9252
9311
|
switch (componentType) {
|
|
9253
9312
|
case 'Map':
|
|
9254
9313
|
{
|
|
9255
|
-
var _mapPreset$proj;
|
|
9314
|
+
var _mapPreset$proj, _mapPreset$proj2;
|
|
9256
9315
|
var mapPreset = initialProps.mapPreset,
|
|
9257
9316
|
mapControls = initialProps.mapControls,
|
|
9258
9317
|
shouldDisplayDrawControls = initialProps.shouldDisplayDrawControls,
|
|
9259
9318
|
displaySearchButtonInMap = initialProps.displaySearchButtonInMap;
|
|
9260
9319
|
return jsx(ConfigurableMapConnect, Object.assign({}, mapPreset, {
|
|
9261
9320
|
initialBbox: mapPreset == null || (_mapPreset$proj = mapPreset.proj) == null ? void 0 : _mapPreset$proj.bbox,
|
|
9321
|
+
srs: mapPreset == null || (_mapPreset$proj2 = mapPreset.proj) == null ? void 0 : _mapPreset$proj2.srs,
|
|
9262
9322
|
id: id,
|
|
9263
9323
|
"data-testid": "coreConfigurableMapConnect",
|
|
9264
9324
|
displayGetFeatureInfoButtonInMap: true,
|
|
@@ -10063,4 +10123,4 @@ var LanguageSelect = function LanguageSelect(_ref) {
|
|
|
10063
10123
|
});
|
|
10064
10124
|
};
|
|
10065
10125
|
|
|
10066
|
-
export { CORE_NAMESPACE, ConfigurableMapConnect, CoreI18nProvider, CoreStoreProvider, CoreThemeProvider, CoreThemeStoreProvider, DemoWrapper, DemoWrapperConnect, HarmonieTempAndPrecipPreset, LanguageSelect, LayerInfoButtonConnect, LayerInfoDialogConnect, LayerManager, BaseLayerRow as LayerManagerBaseLayerRow, LayerManagerConnect, DescriptionRow as LayerManagerDescriptionRow, HeaderOptions as LayerManagerHeaderOptions, LayerContainerRow as LayerManagerLayerContainerRow, LayerManagerMapButtonConnect, LegendConnect, LegendMapButtonConnect, MapViewConnect, MultiDimensionSelectMapButtonsConnect, MultiMapMultiDimensionSelectConnect as MultiMapDimensionSelectConnect, MultiMapViewConnect, MyMapLocation, OlMapViewConnect, RouterWrapperConnect, SearchControlButtonConnect,
|
|
10126
|
+
export { CORE_NAMESPACE, ConfigurableMapConnect, CoreI18nProvider, CoreStoreProvider, CoreThemeProvider, CoreThemeStoreProvider, DemoWrapper, DemoWrapperConnect, HarmonieTempAndPrecipPreset, LanguageSelect, LayerInfoButtonConnect, LayerInfoDialogConnect, LayerManager, BaseLayerRow as LayerManagerBaseLayerRow, LayerManagerConnect, DescriptionRow as LayerManagerDescriptionRow, HeaderOptions as LayerManagerHeaderOptions, LayerContainerRow as LayerManagerLayerContainerRow, LayerManagerMapButtonConnect, LegendConnect, LegendMapButtonConnect, LocationSearch, LocationSearchConnect, MapViewConnect, MultiDimensionSelectMapButtonsConnect, MultiMapMultiDimensionSelectConnect as MultiMapDimensionSelectConnect, MultiMapViewConnect, MyMapLocation, OlMapViewConnect, RouterWrapperConnect, SearchControlButtonConnect, SentryRecordButton, SyncGroupViewerConnect, TimeSliderConnect, ZoomControlConnect, componentsLookUp, coreTranslations, defaultBbox, defaultConfigurations, filterMapPresets, filterServices, filterTimeSeriesServices, getCenterOfLinkedFeature, getLanguageFromLocalStorage, languageLocalStorageKey, makeLayerInfoPayload, makePrefetchTimeSpan, saveLanguageToLocalStorage, testLayers, useFetchServices, useUpdateTimeSpan, useUpdateTimestep };
|