@opengeoweb/core 12.12.0 → 13.0.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/README.md +2 -2
- package/index.esm.js +293 -167
- package/package.json +12 -12
- package/src/lib/components/ConfigurableMapConnect/ConfigurableMapConnect.d.ts +2 -0
- package/src/lib/components/EDR/EDRLayerMultiParam.stories.d.ts +15 -0
- package/src/lib/components/EDR/EDRLayerSymbols.stories.d.ts +15 -0
- package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/LayerRow.d.ts +1 -0
- package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/RenderLayers/RenderEDRLayers.d.ts +18 -0
- package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/RenderLayers/RenderEDRLayers.spec.d.ts +1 -0
- package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/RenderLayers/RenderLayers.d.ts +2 -0
- package/src/lib/components/MapViewConnect/MapViewConnect.Features.stories.d.ts +8 -0
- package/src/lib/components/MapViewConnect/OlMapViewConnect.d.ts +2 -0
- package/src/lib/components/MapViewConnect/olMapUtils.d.ts +1 -1
- package/src/lib/components/TimeSliderConnect/TimeSliderConnect.d.ts +1 -1
- package/src/lib/components/TimeSliderConnect/TimeSliderLegendConnect.d.ts +1 -1
- package/src/lib/components/TimeSliderConnect/timesliderUtils.d.ts +1 -1
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ This library was generated with [Nx](https://nx.dev).
|
|
|
9
9
|
## Installation
|
|
10
10
|
|
|
11
11
|
```
|
|
12
|
-
npm install @opengeoweb/core @opengeoweb/store @opengeoweb/
|
|
12
|
+
npm install @opengeoweb/core @opengeoweb/store @opengeoweb/time-slider
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
## Use
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
CoreThemeStoreProvider,
|
|
26
26
|
} from '@opengeoweb/core';
|
|
27
27
|
import { storeMiddlewares, storeReducerMap } from '@opengeoweb/store';
|
|
28
|
-
import { TimeSliderConnect } from '@opengeoweb/
|
|
28
|
+
import { TimeSliderConnect } from '@opengeoweb/time-slider';
|
|
29
29
|
import { configureStore } from '@reduxjs/toolkit';
|
|
30
30
|
|
|
31
31
|
const store = configureStore({
|
package/index.esm.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
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 { Grid, Box, MenuItem, Typography, useTheme, Popper, Fade, Tooltip, styled, LinearProgress, FormControl, InputLabel, Paper, List, ListItemButton, ListItemText, CircularProgress, ListSubheader, DialogContentText, TextField, InputAdornment, Button, Autocomplete, ListItemIcon,
|
|
4
|
+
import { Grid, Box, MenuItem, Typography, useTheme, Popper, Fade, Tooltip, styled, Checkbox, LinearProgress, FormControl, InputLabel, Paper, List, ListItemButton, ListItemText, CircularProgress, ListSubheader, DialogContentText, TextField, InputAdornment, Button, Autocomplete, ListItemIcon, Switch, Select } from '@mui/material';
|
|
5
5
|
import { safelyInitI18nForTestsAndStories, sharedTranslations, SHARED_NAMESPACE, CustomIconButton, CustomTooltip, TooltipSelect, AlertIcon, useScrollingInIsolation, sliderHeaderStyle, CustomSlider, ToggleMenu, tooltipContainerStyles, renderCounter, AlertBanner, CustomAccordion, CustomDialog, PROJECTION, calculateStartSize, useWheelStopPropagation, ToolContainerDraggable, dateUtils, useDebounce, sessionStorageProvider, usePrevious, ErrorBoundary } from '@opengeoweb/shared';
|
|
6
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, Overlayers, Layers, ExitDomain, Info, Search, Exclamation, MyLocation, Close, ThemeWrapper, lightTheme, FlagBritain, FlagNetherlands, FlagFinland, FlagNorway } from '@opengeoweb/theme';
|
|
7
7
|
import i18n from 'i18next';
|
|
8
8
|
import { useTranslation, I18nextProvider } from 'react-i18next';
|
|
9
|
-
import {
|
|
10
|
-
import { webmapReactTranslations, WEBMAP_REACT_NAMESPACE, webmapTranslations, WEBMAP_NAMESPACE, LayerInfoButton, LayerInfoDialog, MapControlButton, MapDimensionSelect, dimensionConfig, DimensionSelectDialog, DimensionSelectButton, LegendDialog, LegendButton, MapContext, emptyGeoJSON, MapFeatureClass, setMapCenter, OpenLayersFeatureLayer, OpenLayersMapDraw, getIsInsideAcceptanceTime, OpenLayersLayer, useSetIntervalWhenVisible, openLayersGetMapImageStore, TimeContext, OpenLayersMapView, WMSLayer, genericOpenLayersFeatureStyle, OpenLayersGetFeatureInfo, MapControls, OpenLayersZoomControl, getLayerUpdateInfo, publicLayers } from '@opengeoweb/webmap-react';
|
|
9
|
+
import { TIME_SLIDER_NAMESPACE, timesliderTranslations, defaultTimeSpan, 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/time-slider';
|
|
10
|
+
import { webmapReactTranslations, WEBMAP_REACT_NAMESPACE, webmapTranslations, WEBMAP_NAMESPACE, LayerInfoButton, LayerInfoDialog, MapControlButton, MapDimensionSelect, dimensionConfig, DimensionSelectDialog, DimensionSelectButton, LegendDialog, LegendButton, MapContext, emptyGeoJSON, MapFeatureClass, setMapCenter, OpenLayersFeatureLayer, OpenLayersMapDraw, makeTimeList, getIsInsideAcceptanceTime, OpenLayersLayer, useSetIntervalWhenVisible, openLayersGetMapImageStore, TimeContext, OpenLayersMapView, WMSLayer, genericOpenLayersFeatureStyle, OpenLayersGetFeatureInfo, MapControls, OpenLayersZoomControl, getLayerUpdateInfo, 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, genericActions, syncGroupsSelectors, drawingToolSelectors, syncConstants, getViewObjectForSyncGroup, getViewObjectForMapId, genericSelectors, loadingIndicatorActions, defaultLayers, getSingularDrawtoolDrawLayerId, syncGroupsSelector, syncGroupsActions, routerUtils, mapUtils } from '@opengeoweb/store';
|
|
15
|
-
import { webmapUtils, queryWMSServiceInfo, queryWMSLayers, queryWMSLayersTree, invalidateWMSGetCapabilities,
|
|
15
|
+
import { webmapUtils, LayerType, queryWMSServiceInfo, queryWMSLayers, queryWMSLayersTree, invalidateWMSGetCapabilities, getWMSServiceId, handleDateUtilsISOString, getMapDimURL, generateLayerId, WMJSDimension, getWMLayerById, WMLayer } from '@opengeoweb/webmap';
|
|
16
16
|
import _, { isArray, isEqual, range } from 'lodash';
|
|
17
17
|
import { Box as Box$1, styled as styled$1 } from '@mui/system';
|
|
18
18
|
import { LayerSelectButtonConnect, LayerSelectConnect, DataExplorerButtonConnect } from '@opengeoweb/layer-select';
|
|
@@ -58,6 +58,7 @@ var en = {
|
|
|
58
58
|
"layermanager-style-title": "Style",
|
|
59
59
|
"layermanager-layer-error": "This layer could not be loaded: does not exist on the server.",
|
|
60
60
|
"layermanager-layer": "Layer",
|
|
61
|
+
"layermanager-layer-multi": "Layers",
|
|
61
62
|
"layermanager-layer-toggle": "Toggle visibility",
|
|
62
63
|
"layermanager-layer-select": "Open the layer selector",
|
|
63
64
|
"layermanager-layer-drag": "Drag",
|
|
@@ -75,6 +76,7 @@ var en = {
|
|
|
75
76
|
"layermanager-header-button-large": "large",
|
|
76
77
|
"layermanager-header-button-dock": "Dock",
|
|
77
78
|
"layermanager-header-button-undock": "Undock",
|
|
79
|
+
"layermanager-EDR": "EDR: ",
|
|
78
80
|
"projection-title": "Projection",
|
|
79
81
|
"wms-loader-description": "Please enter a wms server, or select one from the list.",
|
|
80
82
|
"wms-loader-no-data": "No data",
|
|
@@ -697,11 +699,11 @@ var initCoreReactI18n = function initCoreReactI18n() {
|
|
|
697
699
|
ns: SHARED_NAMESPACE,
|
|
698
700
|
translations: sharedTranslations
|
|
699
701
|
}, {
|
|
700
|
-
ns:
|
|
702
|
+
ns: TIME_SLIDER_NAMESPACE,
|
|
701
703
|
translations: timesliderTranslations
|
|
702
704
|
}]);
|
|
703
705
|
};
|
|
704
|
-
var ns = [CORE_NAMESPACE,
|
|
706
|
+
var ns = [CORE_NAMESPACE, TIME_SLIDER_NAMESPACE];
|
|
705
707
|
var useCoreTranslation = function useCoreTranslation() {
|
|
706
708
|
return useTranslation(ns);
|
|
707
709
|
};
|
|
@@ -1387,6 +1389,27 @@ var DimensionSelect = function DimensionSelect(_ref) {
|
|
|
1387
1389
|
});
|
|
1388
1390
|
};
|
|
1389
1391
|
|
|
1392
|
+
var showNoLayers = function showNoLayers(t) {
|
|
1393
|
+
return jsx(Box, {
|
|
1394
|
+
sx: {
|
|
1395
|
+
paddingLeft: 1,
|
|
1396
|
+
height: '32px',
|
|
1397
|
+
display: 'inline-flex',
|
|
1398
|
+
alignItems: 'center'
|
|
1399
|
+
},
|
|
1400
|
+
children: jsx(Typography, {
|
|
1401
|
+
variant: "body1",
|
|
1402
|
+
sx: {
|
|
1403
|
+
fontSize: function fontSize(theme) {
|
|
1404
|
+
return theme.palette.geowebColors.layerManager.tableRowDefaultText.fontSize;
|
|
1405
|
+
},
|
|
1406
|
+
color: 'geowebColors.layerManager.tableRowDefaultText.rgba',
|
|
1407
|
+
fontWeight: 500
|
|
1408
|
+
},
|
|
1409
|
+
children: t('layermanager-baselayers-no-available')
|
|
1410
|
+
})
|
|
1411
|
+
});
|
|
1412
|
+
};
|
|
1390
1413
|
var getRenderLayersValues = function getRenderLayersValues(layerName, layers) {
|
|
1391
1414
|
var serviceLayer = layers.find(function (layer) {
|
|
1392
1415
|
return layer.name === layerName;
|
|
@@ -1425,25 +1448,7 @@ var RenderLayers = function RenderLayers(_ref) {
|
|
|
1425
1448
|
t = _useCoreTranslation.t;
|
|
1426
1449
|
var nonEmptyTooltipPrefix = tooltipPrefix != null ? tooltipPrefix : t('layermanager-layer') + ": ";
|
|
1427
1450
|
if (!layers || !layers.length) {
|
|
1428
|
-
return
|
|
1429
|
-
sx: {
|
|
1430
|
-
paddingLeft: 1,
|
|
1431
|
-
height: '32px',
|
|
1432
|
-
display: 'inline-flex',
|
|
1433
|
-
alignItems: 'center'
|
|
1434
|
-
},
|
|
1435
|
-
children: jsx(Typography, {
|
|
1436
|
-
variant: "body1",
|
|
1437
|
-
sx: {
|
|
1438
|
-
fontSize: function fontSize(theme) {
|
|
1439
|
-
return theme.palette.geowebColors.layerManager.tableRowDefaultText.fontSize;
|
|
1440
|
-
},
|
|
1441
|
-
color: 'geowebColors.layerManager.tableRowDefaultText.rgba',
|
|
1442
|
-
fontWeight: 500
|
|
1443
|
-
},
|
|
1444
|
-
children: t('layermanager-baselayers-no-available')
|
|
1445
|
-
})
|
|
1446
|
-
});
|
|
1451
|
+
return showNoLayers(t);
|
|
1447
1452
|
}
|
|
1448
1453
|
var selectLayer = function selectLayer(event) {
|
|
1449
1454
|
event.stopPropagation();
|
|
@@ -2212,6 +2217,8 @@ var LayerRowUnstyled = function LayerRowUnstyled(_ref8) {
|
|
|
2212
2217
|
layerName = _ref8.layerName,
|
|
2213
2218
|
services = _ref8.services,
|
|
2214
2219
|
mapId = _ref8.mapId,
|
|
2220
|
+
_ref8$isEDRLayer = _ref8.isEDRLayer,
|
|
2221
|
+
isEDRLayer = _ref8$isEDRLayer === void 0 ? false : _ref8$isEDRLayer,
|
|
2215
2222
|
_ref8$onLayerRowClick = _ref8.onLayerRowClick,
|
|
2216
2223
|
onLayerRowClick = _ref8$onLayerRowClick === void 0 ? function () {} : _ref8$onLayerRowClick,
|
|
2217
2224
|
_ref8$isEnabled = _ref8.isEnabled,
|
|
@@ -2303,6 +2310,7 @@ var LayerRowUnstyled = function LayerRowUnstyled(_ref8) {
|
|
|
2303
2310
|
onChangeActive: onClickRow
|
|
2304
2311
|
}),
|
|
2305
2312
|
layerName: layerName,
|
|
2313
|
+
isEDRLayer: isEDRLayer,
|
|
2306
2314
|
Styles: layerStylesLayout || jsx(Styles, {
|
|
2307
2315
|
style: layer.style,
|
|
2308
2316
|
onChangeStyle: changeStyle
|
|
@@ -2448,9 +2456,12 @@ var Accordion = function Accordion(_ref0) {
|
|
|
2448
2456
|
Opacity = _ref0.Opacity,
|
|
2449
2457
|
layerName = _ref0.layerName,
|
|
2450
2458
|
LeftButtons = _ref0.LeftButtons,
|
|
2451
|
-
LoadDuration = _ref0.LoadDuration
|
|
2459
|
+
LoadDuration = _ref0.LoadDuration,
|
|
2460
|
+
_ref0$isEDRLayer = _ref0.isEDRLayer,
|
|
2461
|
+
isEDRLayer = _ref0$isEDRLayer === void 0 ? false : _ref0$isEDRLayer;
|
|
2452
2462
|
var _useCoreTranslation3 = useCoreTranslation(),
|
|
2453
2463
|
t = _useCoreTranslation3.t;
|
|
2464
|
+
var displayLayerName = isEDRLayer ? t('layermanager-EDR') + layerName : layerName;
|
|
2454
2465
|
return jsx(CustomAccordion, {
|
|
2455
2466
|
className: "medium-layermanager",
|
|
2456
2467
|
defaultExpanded: false,
|
|
@@ -2473,7 +2484,7 @@ var Accordion = function Accordion(_ref0) {
|
|
|
2473
2484
|
display: 'flex',
|
|
2474
2485
|
alignItems: 'center'
|
|
2475
2486
|
},
|
|
2476
|
-
children:
|
|
2487
|
+
children: displayLayerName
|
|
2477
2488
|
})]
|
|
2478
2489
|
}),
|
|
2479
2490
|
children: jsxs(Grid, {
|
|
@@ -2785,6 +2796,127 @@ var RenderStylesConnect = function RenderStylesConnect(_ref) {
|
|
|
2785
2796
|
});
|
|
2786
2797
|
};
|
|
2787
2798
|
|
|
2799
|
+
var getRenderEDRLayersValues = function getRenderEDRLayersValues(selectedParams, layers) {
|
|
2800
|
+
var paramArray = selectedParams.reduce(function (obj, param) {
|
|
2801
|
+
var serviceLayer = layers.find(function (layer) {
|
|
2802
|
+
return layer.name === param;
|
|
2803
|
+
});
|
|
2804
|
+
if (!serviceLayer) {
|
|
2805
|
+
return {
|
|
2806
|
+
notFound: obj.notFound.concat([param]),
|
|
2807
|
+
found: [].concat(obj.found)
|
|
2808
|
+
};
|
|
2809
|
+
}
|
|
2810
|
+
return {
|
|
2811
|
+
found: obj.found.concat([param]),
|
|
2812
|
+
notFound: [].concat(obj.notFound)
|
|
2813
|
+
};
|
|
2814
|
+
}, {
|
|
2815
|
+
found: [],
|
|
2816
|
+
notFound: []
|
|
2817
|
+
});
|
|
2818
|
+
if (paramArray.notFound.length > 0) {
|
|
2819
|
+
return {
|
|
2820
|
+
currentValues: [].concat(paramArray.found, [paramArray.notFound.join(',')]),
|
|
2821
|
+
extendedLayers: [].concat(layers, [{
|
|
2822
|
+
name: paramArray.notFound.join(','),
|
|
2823
|
+
title: paramArray.notFound.join(','),
|
|
2824
|
+
leaf: true,
|
|
2825
|
+
path: []
|
|
2826
|
+
}])
|
|
2827
|
+
};
|
|
2828
|
+
}
|
|
2829
|
+
return {
|
|
2830
|
+
currentValues: selectedParams,
|
|
2831
|
+
extendedLayers: layers
|
|
2832
|
+
};
|
|
2833
|
+
};
|
|
2834
|
+
var RenderEDRLayers = function RenderEDRLayers(_ref) {
|
|
2835
|
+
var onChangeLayerOptions = _ref.onChangeLayerOptions,
|
|
2836
|
+
selectedParams = _ref.selectedParams,
|
|
2837
|
+
_ref$layers = _ref.layers,
|
|
2838
|
+
layers = _ref$layers === void 0 ? [] : _ref$layers,
|
|
2839
|
+
layerName = _ref.layerName,
|
|
2840
|
+
collectionId = _ref.collectionId,
|
|
2841
|
+
_ref$isEnabled = _ref.isEnabled,
|
|
2842
|
+
isEnabled = _ref$isEnabled === void 0 ? true : _ref$isEnabled,
|
|
2843
|
+
tooltipPrefix = _ref.tooltipPrefix,
|
|
2844
|
+
skipLocalStyling = _ref.skipLocalStyling;
|
|
2845
|
+
var _useCoreTranslation = useCoreTranslation(),
|
|
2846
|
+
t = _useCoreTranslation.t;
|
|
2847
|
+
var nonEmptyTooltipPrefix = tooltipPrefix != null ? tooltipPrefix : selectedParams.length === 1 ? t('layermanager-layer') + ": " : t('layermanager-layer-multi') + ": ";
|
|
2848
|
+
if (!layers || !layers.length) {
|
|
2849
|
+
return showNoLayers(t);
|
|
2850
|
+
}
|
|
2851
|
+
var selectLayer = function selectLayer(event) {
|
|
2852
|
+
event.stopPropagation();
|
|
2853
|
+
// Ensure after deselecting all, the empty value gets removed
|
|
2854
|
+
var parameterNames = event.target.value.filter(function (param) {
|
|
2855
|
+
return param !== '';
|
|
2856
|
+
});
|
|
2857
|
+
onChangeLayerOptions({
|
|
2858
|
+
collectionId: collectionId,
|
|
2859
|
+
parameterNames: parameterNames
|
|
2860
|
+
});
|
|
2861
|
+
};
|
|
2862
|
+
var _getRenderEDRLayersVa = getRenderEDRLayersValues(selectedParams, layers),
|
|
2863
|
+
currentValues = _getRenderEDRLayersVa.currentValues,
|
|
2864
|
+
extendedLayers = _getRenderEDRLayersVa.extendedLayers;
|
|
2865
|
+
var list = extendedLayers.map(function (layer) {
|
|
2866
|
+
return {
|
|
2867
|
+
value: layer.name
|
|
2868
|
+
};
|
|
2869
|
+
});
|
|
2870
|
+
var edrText = t('layermanager-EDR');
|
|
2871
|
+
var tooltipNames = currentValues.map(function (value) {
|
|
2872
|
+
var layer = extendedLayers.find(function (layer) {
|
|
2873
|
+
return value === layer.name;
|
|
2874
|
+
});
|
|
2875
|
+
return (layer == null ? void 0 : layer.title) || (layer == null ? void 0 : layer.name);
|
|
2876
|
+
});
|
|
2877
|
+
var tooltip = nonEmptyTooltipPrefix + " " + tooltipNames.sort(function (paramA, paramB) {
|
|
2878
|
+
return (paramA != null ? paramA : '').localeCompare(paramB != null ? paramB : '');
|
|
2879
|
+
}).join(', ');
|
|
2880
|
+
return jsxs(TooltipSelect, {
|
|
2881
|
+
disableUnderline: true,
|
|
2882
|
+
tooltip: tooltip,
|
|
2883
|
+
inputProps: {
|
|
2884
|
+
SelectDisplayProps: {
|
|
2885
|
+
'data-testid': 'selectEDRLayer'
|
|
2886
|
+
}
|
|
2887
|
+
},
|
|
2888
|
+
isEnabled: isEnabled,
|
|
2889
|
+
value: currentValues,
|
|
2890
|
+
list: list,
|
|
2891
|
+
onChange: selectLayer,
|
|
2892
|
+
skipLocalStyling: skipLocalStyling,
|
|
2893
|
+
multiple: true,
|
|
2894
|
+
renderValue: function renderValue() {
|
|
2895
|
+
return edrText + layerName;
|
|
2896
|
+
},
|
|
2897
|
+
children: [jsx(MenuItem, {
|
|
2898
|
+
disabled: true,
|
|
2899
|
+
children: t('layermanager-layer')
|
|
2900
|
+
}), extendedLayers.map(function (layerFromServiceLayers, currentIndex) {
|
|
2901
|
+
return jsxs(MenuItem, {
|
|
2902
|
+
value: layerFromServiceLayers.name,
|
|
2903
|
+
disabled: !layerFromServiceLayers.leaf,
|
|
2904
|
+
sx: {
|
|
2905
|
+
'&.MuiMenuItem-root.Mui-selected': {
|
|
2906
|
+
background: 'none',
|
|
2907
|
+
color: 'geowebColors.typographyAndIcons.text'
|
|
2908
|
+
}
|
|
2909
|
+
},
|
|
2910
|
+
children: [jsx(Checkbox, {
|
|
2911
|
+
checked: currentValues.includes(layerFromServiceLayers.name)
|
|
2912
|
+
}), layerFromServiceLayers.title, currentIndex === layers.length && jsx(AlertIcon, {
|
|
2913
|
+
severity: "error"
|
|
2914
|
+
})]
|
|
2915
|
+
}, layerFromServiceLayers.name);
|
|
2916
|
+
})]
|
|
2917
|
+
});
|
|
2918
|
+
};
|
|
2919
|
+
|
|
2788
2920
|
var RenderLayersConnect = function RenderLayersConnect(_ref) {
|
|
2789
2921
|
var layerId = _ref.layerId,
|
|
2790
2922
|
mapId = _ref.mapId,
|
|
@@ -2794,6 +2926,12 @@ var RenderLayersConnect = function RenderLayersConnect(_ref) {
|
|
|
2794
2926
|
var layerName = useSelector(function (store) {
|
|
2795
2927
|
return layerSelectors.getLayerName(store, layerId);
|
|
2796
2928
|
});
|
|
2929
|
+
var layerDisplayName = useSelector(function (store) {
|
|
2930
|
+
return layerSelectors.getLayerDisplayName(store, layerId);
|
|
2931
|
+
});
|
|
2932
|
+
var layerType = useSelector(function (store) {
|
|
2933
|
+
return layerSelectors.getLayerType(store, layerId);
|
|
2934
|
+
});
|
|
2797
2935
|
var layerService = useSelector(function (store) {
|
|
2798
2936
|
return layerSelectors.getLayerService(store, layerId);
|
|
2799
2937
|
});
|
|
@@ -2803,6 +2941,9 @@ var RenderLayersConnect = function RenderLayersConnect(_ref) {
|
|
|
2803
2941
|
var service = useSelector(function (store) {
|
|
2804
2942
|
return serviceSelectors.getServiceByUrl(store, layerService);
|
|
2805
2943
|
});
|
|
2944
|
+
var layerOptions = useSelector(function (store) {
|
|
2945
|
+
return layerSelectors.getLayerOptions(store, layerId);
|
|
2946
|
+
});
|
|
2806
2947
|
var serviceSetLayers = React.useCallback(function (payload) {
|
|
2807
2948
|
dispatch(serviceActions.serviceSetLayers(payload));
|
|
2808
2949
|
}, [dispatch]);
|
|
@@ -2861,6 +3002,36 @@ var RenderLayersConnect = function RenderLayersConnect(_ref) {
|
|
|
2861
3002
|
origin: layerTypes.LayerActionOrigin.layerManager
|
|
2862
3003
|
}));
|
|
2863
3004
|
}, [dispatch, mapId]);
|
|
3005
|
+
var layerChangeOptions = React.useCallback(function (_ref4) {
|
|
3006
|
+
var layerId = _ref4.layerId,
|
|
3007
|
+
options = _ref4.options;
|
|
3008
|
+
return dispatch(layerActions.layerChangeOptions({
|
|
3009
|
+
layerId: layerId,
|
|
3010
|
+
options: options,
|
|
3011
|
+
mapId: mapId,
|
|
3012
|
+
origin: layerTypes.LayerActionOrigin.layerManager
|
|
3013
|
+
}));
|
|
3014
|
+
}, [dispatch, mapId]);
|
|
3015
|
+
if (layerType === LayerType.edrFeatureLayer) {
|
|
3016
|
+
var _layerOptions$paramet;
|
|
3017
|
+
var selectedParams = (_layerOptions$paramet = layerOptions == null ? void 0 : layerOptions.parameterNames) != null ? _layerOptions$paramet : [];
|
|
3018
|
+
var collectionId = (layerOptions == null ? void 0 : layerOptions.collectionId) || '';
|
|
3019
|
+
return jsx(RenderEDRLayers, {
|
|
3020
|
+
layers: layers,
|
|
3021
|
+
layerName: layerDisplayName,
|
|
3022
|
+
collectionId: collectionId,
|
|
3023
|
+
selectedParams: selectedParams,
|
|
3024
|
+
onChangeLayerOptions: function onChangeLayerOptions(options) {
|
|
3025
|
+
layerChangeOptions({
|
|
3026
|
+
layerId: layerId,
|
|
3027
|
+
options: options
|
|
3028
|
+
});
|
|
3029
|
+
},
|
|
3030
|
+
isEnabled: isLayerEnabled,
|
|
3031
|
+
tooltipPrefix: tooltipPrefix,
|
|
3032
|
+
skipLocalStyling: skipLocalStyling
|
|
3033
|
+
});
|
|
3034
|
+
}
|
|
2864
3035
|
return jsx(RenderLayers, {
|
|
2865
3036
|
layers: layers,
|
|
2866
3037
|
layerName: layerName,
|
|
@@ -3151,21 +3322,11 @@ var MissingDataConnect = function MissingDataConnect(_ref) {
|
|
|
3151
3322
|
var layerIsInsideAcceptanceTime = useSelector(function (store) {
|
|
3152
3323
|
return layerSelectors.getLayerIsInsideAcceptanceTime(store, layerId, mapId);
|
|
3153
3324
|
});
|
|
3154
|
-
var
|
|
3155
|
-
return layerSelectors.
|
|
3156
|
-
});
|
|
3157
|
-
var layerService = useSelector(function (store) {
|
|
3158
|
-
return layerSelectors.getLayerService(store, layerId);
|
|
3325
|
+
var isLayerMissing = useSelector(function (store) {
|
|
3326
|
+
return layerSelectors.getIsLayerMissing(store, layerId);
|
|
3159
3327
|
});
|
|
3160
|
-
var serviceLayer = useSelector(function (store) {
|
|
3161
|
-
return serviceSelectors.getLayerFromService(store, layerService, layerName);
|
|
3162
|
-
});
|
|
3163
|
-
var layerStatus = useSelector(function (store) {
|
|
3164
|
-
return layerSelectors.getLayerStatus(store, layerId);
|
|
3165
|
-
});
|
|
3166
|
-
var layerIsMissingOnServer = !serviceLayer || layerStatus === layerTypes.LayerStatus.error;
|
|
3167
3328
|
return jsx(MissingData, {
|
|
3168
|
-
layerIsInsideAcceptanceTime:
|
|
3329
|
+
layerIsInsideAcceptanceTime: isLayerMissing ? 'outside' : layerIsInsideAcceptanceTime
|
|
3169
3330
|
});
|
|
3170
3331
|
};
|
|
3171
3332
|
|
|
@@ -3290,37 +3451,32 @@ var LayerRowConnect = /*#__PURE__*/React.memo(function (_ref) {
|
|
|
3290
3451
|
var layerName = useSelector(function (store) {
|
|
3291
3452
|
return layerSelectors.getLayerName(store, layerId);
|
|
3292
3453
|
});
|
|
3293
|
-
var
|
|
3294
|
-
return layerSelectors.
|
|
3295
|
-
});
|
|
3296
|
-
var serviceLayer = useSelector(function (store) {
|
|
3297
|
-
return serviceSelectors.getLayerFromService(store, layerServiceUrl, layerName);
|
|
3454
|
+
var layerDisplayName = useSelector(function (store) {
|
|
3455
|
+
return layerSelectors.getLayerDisplayName(store, layerId);
|
|
3298
3456
|
});
|
|
3299
|
-
var
|
|
3300
|
-
return layerSelectors.
|
|
3457
|
+
var layerType = useSelector(function (store) {
|
|
3458
|
+
return layerSelectors.getLayerType(store, layerId);
|
|
3301
3459
|
});
|
|
3302
|
-
var
|
|
3303
|
-
|
|
3460
|
+
var isEDRLayer = layerType === LayerType.edrFeatureLayer;
|
|
3461
|
+
var layerServiceUrl = useSelector(function (store) {
|
|
3462
|
+
return layerSelectors.getLayerService(store, layerId);
|
|
3304
3463
|
});
|
|
3305
|
-
var
|
|
3306
|
-
return
|
|
3464
|
+
var isLayerMissing = useSelector(function (store) {
|
|
3465
|
+
return layerSelectors.getIsLayerMissing(store, layerId);
|
|
3307
3466
|
});
|
|
3308
|
-
var currentService = useSelector(function (store) {
|
|
3309
|
-
return serviceSelectors.getServiceByUrl(store, layerServiceUrl);
|
|
3310
|
-
});
|
|
3311
|
-
var fullLayerName = serviceLayer == null ? void 0 : serviceLayer.title;
|
|
3312
3467
|
renderCounter.count(LayerRowConnect.name);
|
|
3313
3468
|
return jsx(LayerRow, {
|
|
3314
3469
|
isEnabled: isEnabled,
|
|
3315
3470
|
mapId: mapId,
|
|
3316
3471
|
layerId: layerId,
|
|
3317
|
-
isLayerMissing:
|
|
3318
|
-
layerName:
|
|
3472
|
+
isLayerMissing: isLayerMissing,
|
|
3473
|
+
layerName: layerDisplayName,
|
|
3474
|
+
isEDRLayer: isEDRLayer,
|
|
3319
3475
|
layerEnableLayout: jsx(EnableLayerConnect, {
|
|
3320
3476
|
layerId: layerId,
|
|
3321
3477
|
mapId: mapId,
|
|
3322
3478
|
isEnabled: isEnabled,
|
|
3323
|
-
layerName:
|
|
3479
|
+
layerName: layerDisplayName,
|
|
3324
3480
|
icon: isEnabled ? settings == null || (_settings$enableLayer = settings.enableLayer) == null ? void 0 : _settings$enableLayer.enabledIcon : settings == null || (_settings$enableLayer2 = settings.enableLayer) == null ? void 0 : _settings$enableLayer2.disabledIcon,
|
|
3325
3481
|
tooltipTitle: isEnabled ? settings == null || (_settings$enableLayer3 = settings.enableLayer) == null ? void 0 : _settings$enableLayer3.enabledTooltipTitle : settings == null || (_settings$enableLayer4 = settings.enableLayer) == null ? void 0 : _settings$enableLayer4.disabledTooltipTitle
|
|
3326
3482
|
}),
|
|
@@ -3364,10 +3520,10 @@ var LayerRowConnect = /*#__PURE__*/React.memo(function (_ref) {
|
|
|
3364
3520
|
layerId: layerId
|
|
3365
3521
|
}, settings == null ? void 0 : settings.deleteLayer)),
|
|
3366
3522
|
layerShowLayerInfoLayout: jsx(LayerInfoButtonConnect, {
|
|
3367
|
-
isLayerMissing:
|
|
3523
|
+
isLayerMissing: isLayerMissing,
|
|
3368
3524
|
mapId: mapId,
|
|
3369
|
-
serviceUrl:
|
|
3370
|
-
layerName:
|
|
3525
|
+
serviceUrl: layerServiceUrl,
|
|
3526
|
+
layerName: layerName
|
|
3371
3527
|
}),
|
|
3372
3528
|
layerMenuLayout: jsx(LayerManagerMenuButtonConnect, Object.assign({
|
|
3373
3529
|
mapId: mapId,
|
|
@@ -4802,7 +4958,8 @@ var OverlayersSelectConnect = function OverlayersSelectConnect(_ref) {
|
|
|
4802
4958
|
var changeOverlayer = React__default.useCallback(function (mapId, selectedOverlayer) {
|
|
4803
4959
|
dispatch(mapActions.changeOverlayer({
|
|
4804
4960
|
mapId: mapId || '',
|
|
4805
|
-
selectedOverlayer: selectedOverlayer.id
|
|
4961
|
+
selectedOverlayer: selectedOverlayer.id,
|
|
4962
|
+
origin: 'map'
|
|
4806
4963
|
}));
|
|
4807
4964
|
}, [dispatch]);
|
|
4808
4965
|
return jsx(OverlayersSelect, {
|
|
@@ -5219,6 +5376,9 @@ var DimensionSelectSliderConnect = function DimensionSelectSliderConnect(_ref) {
|
|
|
5219
5376
|
var layerDimension = useSelector(function (store) {
|
|
5220
5377
|
return layerSelectors.getLayerDimension(store, layerId, dimensionName);
|
|
5221
5378
|
});
|
|
5379
|
+
var layerName = useSelector(function (store) {
|
|
5380
|
+
return layerSelectors.getLayerName(store, layerId);
|
|
5381
|
+
});
|
|
5222
5382
|
var _useLayerDimensions = useLayerDimensions(layerId, mapId),
|
|
5223
5383
|
isLayerEnabled = _useLayerDimensions.isLayerEnabled;
|
|
5224
5384
|
if (!layerDimension || !isLayerEnabled) {
|
|
@@ -5229,7 +5389,8 @@ var DimensionSelectSliderConnect = function DimensionSelectSliderConnect(_ref) {
|
|
|
5229
5389
|
dimensionName: dimensionName,
|
|
5230
5390
|
handleDimensionValueChanged: handleDimensionValueChanged,
|
|
5231
5391
|
handleSyncChanged: handleSyncChanged,
|
|
5232
|
-
layerDimension: layerDimension
|
|
5392
|
+
layerDimension: layerDimension,
|
|
5393
|
+
layerName: layerName
|
|
5233
5394
|
});
|
|
5234
5395
|
};
|
|
5235
5396
|
|
|
@@ -5552,6 +5713,11 @@ var AnimationLengthButtonConnect = function AnimationLengthButtonConnect(_ref) {
|
|
|
5552
5713
|
var animationEndTime = dateUtils.dateToIsoString(dateUtils.add(dateUtils.utc(selectedAnimationStartTime), {
|
|
5553
5714
|
minutes: length
|
|
5554
5715
|
}));
|
|
5716
|
+
dispatch(mapActions.setAnimationStartTime({
|
|
5717
|
+
mapId: mapId,
|
|
5718
|
+
animationStartTime: selectedAnimationStartTime || dateUtils.dateToIsoString(dateUtils.utc()),
|
|
5719
|
+
origin: mapEnums.MapActionOrigin.map
|
|
5720
|
+
}));
|
|
5555
5721
|
dispatch(mapActions.setAnimationEndTime({
|
|
5556
5722
|
mapId: mapId,
|
|
5557
5723
|
animationEndTime: animationEndTime || dateUtils.dateToIsoString(dateUtils.utc()),
|
|
@@ -5619,10 +5785,6 @@ var TimeSpanButtonConnect = function TimeSpanButtonConnect(_ref) {
|
|
|
5619
5785
|
var newSecondsPerPx = secondsPerPxFromCanvasWidth(timeSliderWidth, spanInSeconds);
|
|
5620
5786
|
var newCenterTime = getNewCenterOfFixedPointZoom(selectedTime, secondsPerPx, newSecondsPerPx, centerTime);
|
|
5621
5787
|
if (spanInSeconds !== undefined && newCenterTime !== undefined && newSecondsPerPx !== undefined) {
|
|
5622
|
-
dispatch(mapActions.setTimeSliderSecondsPerPx({
|
|
5623
|
-
mapId: mapId,
|
|
5624
|
-
timeSliderSecondsPerPx: newSecondsPerPx
|
|
5625
|
-
}));
|
|
5626
5788
|
dispatch(mapActions.setTimeSliderSpan({
|
|
5627
5789
|
mapId: mapId,
|
|
5628
5790
|
timeSliderSpan: spanInSeconds,
|
|
@@ -5792,7 +5954,9 @@ var NowButtonConnect = function NowButtonConnect(_ref) {
|
|
|
5792
5954
|
dispatch(genericActions.setTime({
|
|
5793
5955
|
sourceId: sourceId,
|
|
5794
5956
|
origin: 'NowButtonConnect, 140',
|
|
5795
|
-
value:
|
|
5957
|
+
value: {
|
|
5958
|
+
currentTime: handleDateUtilsISOString(newDate)
|
|
5959
|
+
}
|
|
5796
5960
|
}));
|
|
5797
5961
|
};
|
|
5798
5962
|
var onSetCenterTime = function onSetCenterTime(newTime) {
|
|
@@ -5997,16 +6161,6 @@ var TimeSliderLegendConnect = function TimeSliderLegendConnect(_ref) {
|
|
|
5997
6161
|
timeSliderCenterTime: newTime
|
|
5998
6162
|
}));
|
|
5999
6163
|
},
|
|
6000
|
-
onZoom: function onZoom(newSecondsPerPx, newCenterTime) {
|
|
6001
|
-
dispatch(mapActions.setTimeSliderSecondsPerPx({
|
|
6002
|
-
mapId: mapId,
|
|
6003
|
-
timeSliderSecondsPerPx: newSecondsPerPx
|
|
6004
|
-
}));
|
|
6005
|
-
dispatch(mapActions.setTimeSliderCenterTime({
|
|
6006
|
-
mapId: mapId,
|
|
6007
|
-
timeSliderCenterTime: newCenterTime
|
|
6008
|
-
}));
|
|
6009
|
-
},
|
|
6010
6164
|
onSetAnimationStartTime: function onSetAnimationStartTime(animationStartTime) {
|
|
6011
6165
|
dispatch(mapActions.setAnimationStartTime({
|
|
6012
6166
|
mapId: mapId,
|
|
@@ -6027,14 +6181,6 @@ var TimeSliderLegendConnect = function TimeSliderLegendConnect(_ref) {
|
|
|
6027
6181
|
mapId: mapId,
|
|
6028
6182
|
timeSliderWidth: newWidth
|
|
6029
6183
|
}));
|
|
6030
|
-
var spanInSeconds = secondsPerPx * storeWidth;
|
|
6031
|
-
var newSecondsPerPx = secondsPerPxFromCanvasWidth(newWidth, spanInSeconds);
|
|
6032
|
-
if (newSecondsPerPx !== undefined) {
|
|
6033
|
-
dispatch(mapActions.setTimeSliderSecondsPerPx({
|
|
6034
|
-
mapId: mapId,
|
|
6035
|
-
timeSliderSecondsPerPx: newSecondsPerPx
|
|
6036
|
-
}));
|
|
6037
|
-
}
|
|
6038
6184
|
}
|
|
6039
6185
|
},
|
|
6040
6186
|
adjustSelectedTimeOnWheel: adjustSelectedTimeOnWheel
|
|
@@ -6091,14 +6237,12 @@ var useUpdateTimeSpan = function useUpdateTimeSpan(mapId, myOnSetTimeSliderSpan)
|
|
|
6091
6237
|
var isAnimating = useSelector(function (store) {
|
|
6092
6238
|
return mapSelectors.isAnimating(store, mapId);
|
|
6093
6239
|
});
|
|
6094
|
-
var updateTimeSliderSpan = function
|
|
6095
|
-
|
|
6096
|
-
|
|
6097
|
-
|
|
6098
|
-
myOnSetTimeSliderSpan(spanInSeconds, newCenterTime, newSecondsPerPx);
|
|
6099
|
-
}
|
|
6240
|
+
var updateTimeSliderSpan = React.useCallback(function (spanInSeconds, newCenterTime) {
|
|
6241
|
+
// Do not dispatch actions if values are the same
|
|
6242
|
+
if (spanInSeconds !== undefined && newCenterTime !== undefined && (currentTimeSpan !== spanInSeconds || centerTime !== newCenterTime)) {
|
|
6243
|
+
myOnSetTimeSliderSpan(spanInSeconds, newCenterTime);
|
|
6100
6244
|
}
|
|
6101
|
-
};
|
|
6245
|
+
}, [centerTime, currentTimeSpan, myOnSetTimeSliderSpan]);
|
|
6102
6246
|
React.useEffect(function () {
|
|
6103
6247
|
if (isTimeSpanAuto && autoTimeStepLayerId && activeLayerTimeDimension && !isAnimating) {
|
|
6104
6248
|
var _getTimeBounds = getTimeBounds([activeLayerTimeDimension]),
|
|
@@ -6107,14 +6251,12 @@ var useUpdateTimeSpan = function useUpdateTimeSpan(mapId, myOnSetTimeSliderSpan)
|
|
|
6107
6251
|
var minimumStartTime = selectedTime - 24 * 3600;
|
|
6108
6252
|
var slicedStartTime = startTime < minimumStartTime ? minimumStartTime : startTime;
|
|
6109
6253
|
var spanInSeconds = endTime - slicedStartTime;
|
|
6110
|
-
var newSecondsPerPx = secondsPerPxFromCanvasWidth(timeSliderWidth, spanInSeconds);
|
|
6111
6254
|
var newCenterTime = (slicedStartTime + endTime) / 2;
|
|
6112
|
-
updateTimeSliderSpan(spanInSeconds, newCenterTime
|
|
6255
|
+
updateTimeSliderSpan(spanInSeconds, newCenterTime);
|
|
6113
6256
|
} else {
|
|
6114
6257
|
var _spanInSeconds = currentTimeSpan || defaultTimeSpan;
|
|
6115
|
-
var
|
|
6116
|
-
|
|
6117
|
-
updateTimeSliderSpan(_spanInSeconds, _newCenterTime, _newSecondsPerPx);
|
|
6258
|
+
var _newCenterTime = getNewCenterOfFixedPointZoom(selectedTime, secondsPerPx, secondsPerPxFromCanvasWidth(timeSliderWidth, _spanInSeconds), centerTime);
|
|
6259
|
+
updateTimeSliderSpan(_spanInSeconds, _newCenterTime);
|
|
6118
6260
|
}
|
|
6119
6261
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
6120
6262
|
}, [autoTimeStepLayerId, isTimeSpanAuto, mapId, activeLayerTimeDimension == null ? void 0 : activeLayerTimeDimension.name]);
|
|
@@ -6162,19 +6304,11 @@ var TimeSliderConnect = function TimeSliderConnect(_ref) {
|
|
|
6162
6304
|
origin: mapEnums.MapActionOrigin.map
|
|
6163
6305
|
}));
|
|
6164
6306
|
}, [dispatch, mapId]);
|
|
6165
|
-
var onSetTimeSliderSpan = React.useCallback(function (newSpan
|
|
6166
|
-
dispatch(mapActions.setTimeSliderSecondsPerPx({
|
|
6167
|
-
mapId: mapId,
|
|
6168
|
-
timeSliderSecondsPerPx: newSecondsPerPx
|
|
6169
|
-
}));
|
|
6307
|
+
var onSetTimeSliderSpan = React.useCallback(function (newSpan) {
|
|
6170
6308
|
dispatch(mapActions.setTimeSliderSpan({
|
|
6171
6309
|
mapId: mapId,
|
|
6172
6310
|
timeSliderSpan: newSpan
|
|
6173
6311
|
}));
|
|
6174
|
-
dispatch(mapActions.setTimeSliderCenterTime({
|
|
6175
|
-
mapId: mapId,
|
|
6176
|
-
timeSliderCenterTime: newCenterTime
|
|
6177
|
-
}));
|
|
6178
6312
|
}, [dispatch, mapId]);
|
|
6179
6313
|
var timeStep = useSelector(function (store) {
|
|
6180
6314
|
return mapSelectors.getMapTimeStep(store, mapId);
|
|
@@ -6216,7 +6350,9 @@ var TimeSliderConnect = function TimeSliderConnect(_ref) {
|
|
|
6216
6350
|
dispatch(genericActions.setTime({
|
|
6217
6351
|
sourceId: sourceId,
|
|
6218
6352
|
origin: 'TimeSliderConnect',
|
|
6219
|
-
value:
|
|
6353
|
+
value: {
|
|
6354
|
+
currentTime: handleDateUtilsISOString(newDate)
|
|
6355
|
+
}
|
|
6220
6356
|
}));
|
|
6221
6357
|
}, [dispatch, isAnimating, mapId, sourceId]);
|
|
6222
6358
|
// Update local state when time is updated outside of this component, e.g. during animation or syncgroups
|
|
@@ -7418,65 +7554,53 @@ var OpenLayersFeatureLayerConnect = function OpenLayersFeatureLayerConnect(_ref)
|
|
|
7418
7554
|
* Copyright 2025 - Finnish Meteorological Institute (FMI)
|
|
7419
7555
|
* Copyright 2025 - The Norwegian Meteorological Institute (MET Norway)
|
|
7420
7556
|
* */
|
|
7421
|
-
var makePrefetchTimeSpan = function makePrefetchTimeSpan(timeSliderStartCenterEndTime,
|
|
7422
|
-
var timeSliderTimeStepInS = timeSliderStartCenterEndTime.step * 60;
|
|
7423
|
-
var
|
|
7424
|
-
var
|
|
7425
|
-
|
|
7426
|
-
var prefetchEnd = isAnimating ? animationTimeEndInS : timeSliderStartCenterEndTime.end;
|
|
7427
|
-
if (!prefetchStart || !prefetchEnd) {
|
|
7557
|
+
var makePrefetchTimeSpan = function makePrefetchTimeSpan(timeSliderStartCenterEndTime, isAnimating, prefetchList) {
|
|
7558
|
+
var timeSliderTimeStepInS = timeSliderStartCenterEndTime.step * 60 * 1000;
|
|
7559
|
+
var prefetchStart = timeSliderStartCenterEndTime.start * 1000;
|
|
7560
|
+
var prefetchEnd = timeSliderStartCenterEndTime.end * 1000;
|
|
7561
|
+
if (isAnimating || !prefetchStart || !prefetchEnd) {
|
|
7428
7562
|
return {
|
|
7429
|
-
|
|
7430
|
-
|
|
7431
|
-
end: 0,
|
|
7432
|
-
step: 0
|
|
7433
|
-
},
|
|
7434
|
-
isAnimating: isAnimating
|
|
7563
|
+
isAnimating: isAnimating,
|
|
7564
|
+
prefetchList: prefetchList
|
|
7435
7565
|
};
|
|
7436
7566
|
}
|
|
7437
7567
|
var roundStart = Math.round(prefetchStart / timeSliderTimeStepInS) * timeSliderTimeStepInS;
|
|
7438
|
-
var roundEnd = Math.round(prefetchEnd / timeSliderTimeStepInS) * timeSliderTimeStepInS;
|
|
7568
|
+
var roundEnd = Math.round(prefetchEnd / timeSliderTimeStepInS) * timeSliderTimeStepInS + timeSliderTimeStepInS;
|
|
7569
|
+
var timeSpanList = makeTimeList({
|
|
7570
|
+
start: roundStart,
|
|
7571
|
+
end: roundEnd,
|
|
7572
|
+
step: timeSliderTimeStepInS
|
|
7573
|
+
});
|
|
7439
7574
|
// eslint-disable-next-line no-constant-condition
|
|
7440
7575
|
return {
|
|
7441
|
-
|
|
7442
|
-
|
|
7443
|
-
end: roundEnd * 1000,
|
|
7444
|
-
step: timeSliderTimeStepInS * 1000
|
|
7445
|
-
},
|
|
7446
|
-
isAnimating: isAnimating
|
|
7576
|
+
isAnimating: isAnimating,
|
|
7577
|
+
prefetchList: timeSpanList
|
|
7447
7578
|
};
|
|
7448
7579
|
};
|
|
7449
7580
|
var makeLayerInfoPayload = function makeLayerInfoPayload(payload, mapDimensions, mapId) {
|
|
7450
7581
|
// During intialization, try to base the layer dimension on the current map dimension value.
|
|
7582
|
+
var origin = 'onInitializeLayer in OlMapViewLayerConnect';
|
|
7583
|
+
var dimensions = (payload.dimensions || []).map(function (layerDim) {
|
|
7584
|
+
var _find;
|
|
7585
|
+
var currentMapDim = ((_find = (mapDimensions || []).find(function (mapDim) {
|
|
7586
|
+
return mapDim.name === layerDim.name;
|
|
7587
|
+
})) == null ? void 0 : _find.currentValue) || layerDim.currentValue;
|
|
7588
|
+
var wmDim = new WMJSDimension(layerDim);
|
|
7589
|
+
return Object.assign({}, layerDim, {
|
|
7590
|
+
currentValue: wmDim.getClosestValue(currentMapDim, true)
|
|
7591
|
+
});
|
|
7592
|
+
});
|
|
7451
7593
|
var updatedPayLoad = {
|
|
7452
|
-
origin:
|
|
7594
|
+
origin: origin,
|
|
7453
7595
|
layerDimensions: {
|
|
7454
7596
|
layerId: payload.layerId,
|
|
7455
|
-
origin:
|
|
7456
|
-
dimensions:
|
|
7457
|
-
var _find;
|
|
7458
|
-
var currentMapDim = ((_find = (mapDimensions || []).find(function (mapDim) {
|
|
7459
|
-
return mapDim.name === layerDim.name;
|
|
7460
|
-
})) == null ? void 0 : _find.currentValue) || layerDim.currentValue;
|
|
7461
|
-
var wmDim = new WMJSDimension(layerDim);
|
|
7462
|
-
return Object.assign({}, layerDim, {
|
|
7463
|
-
currentValue: wmDim.getClosestValue(currentMapDim)
|
|
7464
|
-
});
|
|
7465
|
-
})
|
|
7597
|
+
origin: origin,
|
|
7598
|
+
dimensions: dimensions
|
|
7466
7599
|
},
|
|
7467
7600
|
mapDimensions: {
|
|
7468
7601
|
mapId: mapId,
|
|
7469
|
-
origin:
|
|
7470
|
-
dimensions:
|
|
7471
|
-
var _find2;
|
|
7472
|
-
var currentMapDim = ((_find2 = (mapDimensions || []).find(function (mapDim) {
|
|
7473
|
-
return mapDim.name === layerDim.name;
|
|
7474
|
-
})) == null ? void 0 : _find2.currentValue) || layerDim.currentValue;
|
|
7475
|
-
var wmDim = new WMJSDimension(layerDim);
|
|
7476
|
-
return Object.assign({}, layerDim, {
|
|
7477
|
-
currentValue: wmDim.getClosestValue(currentMapDim)
|
|
7478
|
-
});
|
|
7479
|
-
})
|
|
7602
|
+
origin: origin,
|
|
7603
|
+
dimensions: dimensions
|
|
7480
7604
|
}
|
|
7481
7605
|
};
|
|
7482
7606
|
return updatedPayLoad;
|
|
@@ -7659,7 +7783,7 @@ var useGetOpenLayersView = function useGetOpenLayersView(mapId, store) {
|
|
|
7659
7783
|
* @param {object} [controls.zoomControls] **optional** controls: object - toggle the map controls, zoomControls defaults to true
|
|
7660
7784
|
*/
|
|
7661
7785
|
var OlMapViewConnect = function OlMapViewConnect(_ref) {
|
|
7662
|
-
var _featureProperties$va;
|
|
7786
|
+
var _useSelector2, _featureProperties$va;
|
|
7663
7787
|
var mapId = _ref.mapId,
|
|
7664
7788
|
children = _ref.children,
|
|
7665
7789
|
_ref$controls = _ref.controls,
|
|
@@ -7670,7 +7794,9 @@ var OlMapViewConnect = function OlMapViewConnect(_ref) {
|
|
|
7670
7794
|
initialBbox = _ref.initialBbox,
|
|
7671
7795
|
holdShiftToScroll = _ref.holdShiftToScroll,
|
|
7672
7796
|
source = _ref.source,
|
|
7673
|
-
tileServerSettings = _ref.tileServerSettings
|
|
7797
|
+
tileServerSettings = _ref.tileServerSettings,
|
|
7798
|
+
_ref$featureStyle = _ref.featureStyle,
|
|
7799
|
+
featureStyle = _ref$featureStyle === void 0 ? genericOpenLayersFeatureStyle : _ref$featureStyle;
|
|
7674
7800
|
var store = useStore();
|
|
7675
7801
|
var _useGetOpenLayersView = useGetOpenLayersView(mapId, store),
|
|
7676
7802
|
view = _useGetOpenLayersView.view;
|
|
@@ -7754,16 +7880,10 @@ var OlMapViewConnect = function OlMapViewConnect(_ref) {
|
|
|
7754
7880
|
var timeSliderStartCenterEndTime = useSelector(function (store) {
|
|
7755
7881
|
return mapSelectors.getMapTimeSliderStartCenterEndAndStep(store, mapId);
|
|
7756
7882
|
});
|
|
7757
|
-
var animationStartTime = useSelector(function (store) {
|
|
7758
|
-
return mapSelectors.getAnimationStartTime(store, mapId);
|
|
7759
|
-
});
|
|
7760
|
-
var animationEndTime = useSelector(function (store) {
|
|
7761
|
-
return mapSelectors.getAnimationEndTime(store, mapId);
|
|
7762
|
-
});
|
|
7763
7883
|
var isTimeScrollingEnabled = useSelector(syncGroupsSelectors.isTimeScrollingEnabled);
|
|
7764
|
-
var isAnimating = useSelector(function (store) {
|
|
7765
|
-
return mapSelectors.
|
|
7766
|
-
});
|
|
7884
|
+
var isAnimating = (_useSelector2 = useSelector(function (store) {
|
|
7885
|
+
return mapSelectors.linkedMapAnimationInfo(store, mapId);
|
|
7886
|
+
})) == null ? void 0 : _useSelector2.isAnimating;
|
|
7767
7887
|
var dispatch = useDispatch();
|
|
7768
7888
|
var updateLayerInformation = React.useCallback(function (payload) {
|
|
7769
7889
|
var _payload$layerDimensi, _payload$layerDimensi2;
|
|
@@ -7836,6 +7956,9 @@ var OlMapViewConnect = function OlMapViewConnect(_ref) {
|
|
|
7836
7956
|
var isActiveWindowId = useSelector(function (store) {
|
|
7837
7957
|
return uiSelectors.getIsActiveWindowId(store, mapId);
|
|
7838
7958
|
});
|
|
7959
|
+
var animationList = useSelector(function (store) {
|
|
7960
|
+
return mapSelectors.getAnimationListAsEpochTimes(store, mapId);
|
|
7961
|
+
});
|
|
7839
7962
|
React.useEffect(function () {
|
|
7840
7963
|
registerMap({
|
|
7841
7964
|
mapId: mapId
|
|
@@ -7922,7 +8045,7 @@ var OlMapViewConnect = function OlMapViewConnect(_ref) {
|
|
|
7922
8045
|
}
|
|
7923
8046
|
}));
|
|
7924
8047
|
}, [hoverId, previousHoverId, hoverLinkedFeature, featureProperties, linkedPanelId, dispatch]);
|
|
7925
|
-
var prefetchTimespan = makePrefetchTimeSpan(timeSliderStartCenterEndTime,
|
|
8048
|
+
var prefetchTimespan = makePrefetchTimeSpan(timeSliderStartCenterEndTime, isAnimating, animationList);
|
|
7926
8049
|
var layerIds = mapLayerIds.join();
|
|
7927
8050
|
var refetchLayers = React.useCallback(function () {
|
|
7928
8051
|
mapLayerIds == null || mapLayerIds.forEach(/*#__PURE__*/function () {
|
|
@@ -8072,13 +8195,13 @@ var OlMapViewConnect = function OlMapViewConnect(_ref) {
|
|
|
8072
8195
|
layerId: layer == null ? void 0 : layer.id,
|
|
8073
8196
|
layer: layer,
|
|
8074
8197
|
zIndex: featureLayers.length - zIndex + 3000,
|
|
8075
|
-
style:
|
|
8198
|
+
style: featureStyle,
|
|
8076
8199
|
hoverSelect: {
|
|
8077
8200
|
active: true
|
|
8078
8201
|
}
|
|
8079
8202
|
}, "featurelayer-" + (layer == null ? void 0 : layer.id));
|
|
8080
8203
|
}), jsx(OpenLayersFeatureLayer, {
|
|
8081
|
-
style:
|
|
8204
|
+
style: featureStyle,
|
|
8082
8205
|
featureCollection: combinedLinkedFeatures,
|
|
8083
8206
|
zIndex: 4000,
|
|
8084
8207
|
hoverSelect: hoverSelect
|
|
@@ -8131,7 +8254,7 @@ var OlMapViewConnect = function OlMapViewConnect(_ref) {
|
|
|
8131
8254
|
});
|
|
8132
8255
|
};
|
|
8133
8256
|
|
|
8134
|
-
var _excluded = ["id", "dockedLayerManagerSize", "title", "layers", "dimensions", "shouldAutoUpdate", "shouldAnimate", "shouldAutoFetch", "initialBbox", "srs", "shouldShowZoomControls", "displayMapPin", "showTimeSlider", "disableTimeSlider", "displayTimeInMap", "displayLayerManagerAndLegendButtonInMap", "displayDimensionSelectButtonInMap", "multiLegend", "shouldShowLayerManager", "shouldShowDockedLayerManager", "showClock", "displayGetFeatureInfoButtonInMap", "shouldDisplayDrawControls", "displaySearchButtonInMap", "displayDataExplorerButtonOnMap", "mapControls", "children", "shouldDisablePrefetching", "tileServerSettings"];
|
|
8257
|
+
var _excluded = ["id", "dockedLayerManagerSize", "title", "layers", "dimensions", "shouldAutoUpdate", "shouldAnimate", "shouldAutoFetch", "initialBbox", "srs", "shouldShowZoomControls", "displayMapPin", "showTimeSlider", "disableTimeSlider", "displayTimeInMap", "displayLayerManagerAndLegendButtonInMap", "displayDimensionSelectButtonInMap", "multiLegend", "shouldShowLayerManager", "shouldShowDockedLayerManager", "showClock", "displayGetFeatureInfoButtonInMap", "shouldDisplayDrawControls", "displaySearchButtonInMap", "displayDataExplorerButtonOnMap", "mapControls", "children", "shouldDisablePrefetching", "tileServerSettings", "featureStyle"];
|
|
8135
8258
|
var titleStyle = function titleStyle(theme) {
|
|
8136
8259
|
return {
|
|
8137
8260
|
position: 'absolute',
|
|
@@ -8202,6 +8325,8 @@ var ConfigurableMapConnect = function ConfigurableMapConnect(_ref) {
|
|
|
8202
8325
|
children = _ref.children,
|
|
8203
8326
|
shouldDisablePrefetching = _ref.shouldDisablePrefetching,
|
|
8204
8327
|
tileServerSettings = _ref.tileServerSettings,
|
|
8328
|
+
_ref$featureStyle = _ref.featureStyle,
|
|
8329
|
+
featureStyle = _ref$featureStyle === void 0 ? genericOpenLayersFeatureStyle : _ref$featureStyle,
|
|
8205
8330
|
props = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
8206
8331
|
var dispatch = useDispatch();
|
|
8207
8332
|
var mapId = React__default.useRef(id || webmapUtils.generateMapId()).current;
|
|
@@ -8334,12 +8459,13 @@ var ConfigurableMapConnect = function ConfigurableMapConnect(_ref) {
|
|
|
8334
8459
|
initialBbox: initialBbox,
|
|
8335
8460
|
shouldDisablePrefetching: shouldDisablePrefetching,
|
|
8336
8461
|
tileServerSettings: tileServerSettings,
|
|
8462
|
+
featureStyle: featureStyle,
|
|
8337
8463
|
children: children
|
|
8338
8464
|
}), showClock && jsx(TimeSliderClockConnect, {
|
|
8339
8465
|
mapId: mapId
|
|
8340
8466
|
})]
|
|
8341
8467
|
});
|
|
8342
|
-
}, [mapId, title, id, initialBbox, mapControlConfig, tileServerSettings, disableTimeSlider, displayTimeInMap, shouldAutoFetch, shouldDisablePrefetching, children, showClock]);
|
|
8468
|
+
}, [mapId, title, id, initialBbox, mapControlConfig, tileServerSettings, disableTimeSlider, displayTimeInMap, shouldAutoFetch, shouldDisablePrefetching, children, showClock, featureStyle]);
|
|
8343
8469
|
};
|
|
8344
8470
|
|
|
8345
8471
|
var mapBoxStyle = function mapBoxStyle(theme) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeoweb/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "13.0.0",
|
|
4
4
|
"description": "GeoWeb Core library for the opengeoweb project",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -8,22 +8,22 @@
|
|
|
8
8
|
"url": "git@gitlab.com:opengeoweb/opengeoweb.git"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@opengeoweb/shared": "
|
|
11
|
+
"@opengeoweb/shared": "13.0.0",
|
|
12
12
|
"react-redux": "^9.2.0",
|
|
13
|
-
"@opengeoweb/store": "
|
|
14
|
-
"@opengeoweb/
|
|
13
|
+
"@opengeoweb/store": "13.0.0",
|
|
14
|
+
"@opengeoweb/time-slider": "13.0.0",
|
|
15
15
|
"@reduxjs/toolkit": "^2.6.1",
|
|
16
|
-
"@opengeoweb/webmap-react": "
|
|
17
|
-
"@opengeoweb/webmap": "
|
|
18
|
-
"@opengeoweb/theme": "
|
|
16
|
+
"@opengeoweb/webmap-react": "13.0.0",
|
|
17
|
+
"@opengeoweb/webmap": "13.0.0",
|
|
18
|
+
"@opengeoweb/theme": "13.0.0",
|
|
19
19
|
"axios": "^1.7.7",
|
|
20
|
-
"@opengeoweb/layer-select": "
|
|
20
|
+
"@opengeoweb/layer-select": "13.0.0",
|
|
21
21
|
"lodash": "^4.17.21",
|
|
22
22
|
"ol": "^10.4.0",
|
|
23
23
|
"react-sortablejs": "^6.1.4",
|
|
24
24
|
"sortablejs": "^1.15.1",
|
|
25
|
-
"@mui/system": "^7.
|
|
26
|
-
"@opengeoweb/snackbar": "
|
|
25
|
+
"@mui/system": "^7.3.2",
|
|
26
|
+
"@opengeoweb/snackbar": "13.0.0",
|
|
27
27
|
"react-router-dom": "^6.21.0",
|
|
28
28
|
"react-draggable": "^4.4.6",
|
|
29
29
|
"i18next": "^25.0.1",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"dompurify": "^3.0.6",
|
|
32
32
|
"@mui/material": "^7.0.1",
|
|
33
33
|
"@sentry/react": "^8.34.0",
|
|
34
|
-
"@tanstack/react-query": "^5.
|
|
35
|
-
"@opengeoweb/api": "
|
|
34
|
+
"@tanstack/react-query": "^5.85.5",
|
|
35
|
+
"@opengeoweb/api": "13.0.0",
|
|
36
36
|
"@types/geojson": "^7946.0.14"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { mapTypes, layerTypes } from '@opengeoweb/store';
|
|
3
3
|
import { TileServerSettings } from '@opengeoweb/webmap';
|
|
4
|
+
import { StyleLike } from 'ol/style/Style';
|
|
4
5
|
export declare const defaultBbox: {
|
|
5
6
|
srs: "EPSG:3857";
|
|
6
7
|
bbox: {
|
|
@@ -44,5 +45,6 @@ export interface ConfigurableMapConnectProps {
|
|
|
44
45
|
children?: React.ReactNode;
|
|
45
46
|
mapControls?: React.ReactNode;
|
|
46
47
|
shouldDisablePrefetching?: boolean;
|
|
48
|
+
featureStyle?: StyleLike;
|
|
47
49
|
}
|
|
48
50
|
export declare const ConfigurableMapConnect: React.FC<ConfigurableMapConnectProps>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TimeAwareEDRLocationLayer } from '@opengeoweb/webmap-react';
|
|
3
|
+
import type { Meta } from '@storybook/react-webpack5';
|
|
4
|
+
declare const meta: Meta<typeof TimeAwareEDRLocationLayer>;
|
|
5
|
+
export default meta;
|
|
6
|
+
export declare const EDRLayerMultiParam: {
|
|
7
|
+
(): React.ReactElement;
|
|
8
|
+
parameters: {
|
|
9
|
+
msw: {
|
|
10
|
+
handlers: {
|
|
11
|
+
locations: import("msw").HttpHandler[];
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TimeAwareEDRLocationLayer } from '@opengeoweb/webmap-react';
|
|
3
|
+
import type { Meta } from '@storybook/react-webpack5';
|
|
4
|
+
declare const meta: Meta<typeof TimeAwareEDRLocationLayer>;
|
|
5
|
+
export default meta;
|
|
6
|
+
export declare const EDRLayerSymbols: {
|
|
7
|
+
(): React.ReactElement;
|
|
8
|
+
parameters: {
|
|
9
|
+
msw: {
|
|
10
|
+
handlers: {
|
|
11
|
+
locations: import("msw").HttpHandler[];
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/RenderLayers/RenderEDRLayers.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { EDRFeatureLayerOptions, LayerProps } from '@opengeoweb/webmap';
|
|
3
|
+
export interface RenderEDRLayersProps {
|
|
4
|
+
onChangeLayerOptions: (options: EDRFeatureLayerOptions) => void;
|
|
5
|
+
selectedParams: string[];
|
|
6
|
+
layers: LayerProps[];
|
|
7
|
+
layerName: string;
|
|
8
|
+
collectionId: string;
|
|
9
|
+
isEnabled?: boolean;
|
|
10
|
+
tooltipPrefix?: string;
|
|
11
|
+
skipLocalStyling?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare const getRenderEDRLayersValues: (selectedParams: string[], layers: LayerProps[]) => {
|
|
14
|
+
currentValues: string[];
|
|
15
|
+
extendedLayers: LayerProps[];
|
|
16
|
+
};
|
|
17
|
+
declare const RenderEDRLayers: React.FC<RenderEDRLayersProps>;
|
|
18
|
+
export default RenderEDRLayers;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/RenderLayers/RenderLayers.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { LayerProps } from '@opengeoweb/webmap';
|
|
3
|
+
import { i18n, TFunction } from 'i18next';
|
|
4
|
+
export declare const showNoLayers: (t: TFunction<"core", i18n>) => React.ReactElement;
|
|
3
5
|
export interface RenderLayersProps {
|
|
4
6
|
onChangeLayerName: (name: string) => void;
|
|
5
7
|
layerName: string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
declare const _default: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: React.FC<import("./OlMapViewConnect").OlMapViewConnectProps>;
|
|
5
|
+
tags: string[];
|
|
6
|
+
};
|
|
7
|
+
export default _default;
|
|
8
|
+
export declare const ToggleStyleAction: () => React.ReactElement;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Bbox, TileServerSettings } from '@opengeoweb/webmap';
|
|
3
3
|
import { Source } from '@opengeoweb/shared';
|
|
4
|
+
import { StyleLike } from 'ol/style/Style';
|
|
4
5
|
export interface MapControlsProps {
|
|
5
6
|
mapControlsPositionTop?: number;
|
|
6
7
|
search?: boolean;
|
|
@@ -24,6 +25,7 @@ export interface OlMapViewConnectProps {
|
|
|
24
25
|
shouldDisablePrefetching?: boolean;
|
|
25
26
|
tileServerSettings?: TileServerSettings;
|
|
26
27
|
source?: Source;
|
|
28
|
+
featureStyle?: StyleLike;
|
|
27
29
|
}
|
|
28
30
|
/**
|
|
29
31
|
* Connected component used to display the map and selected layers.
|
|
@@ -2,7 +2,7 @@ import { TimeSliderStartCenterEndTime } from '@opengeoweb/store';
|
|
|
2
2
|
import { Dimension } from '@opengeoweb/webmap';
|
|
3
3
|
import { MapLocation, OnInitializeLayerProps, TimeContextType, UpdateLayerInfoPayload } from '@opengeoweb/webmap-react';
|
|
4
4
|
import { Feature, View } from 'ol';
|
|
5
|
-
export declare const makePrefetchTimeSpan: (timeSliderStartCenterEndTime: TimeSliderStartCenterEndTime,
|
|
5
|
+
export declare const makePrefetchTimeSpan: (timeSliderStartCenterEndTime: TimeSliderStartCenterEndTime, isAnimating: boolean, prefetchList: number[]) => TimeContextType;
|
|
6
6
|
export declare const makeLayerInfoPayload: (payload: OnInitializeLayerProps, mapDimensions: Dimension[], mapId: string) => UpdateLayerInfoPayload;
|
|
7
7
|
export declare const getCenterOfLinkedFeature: (feature: Feature | undefined, srs: string) => MapLocation | null;
|
|
8
8
|
interface UseFitAndHighlightWarningFeatureOptions {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
export declare const useUpdateTimestep: (mapId: string) => void;
|
|
3
|
-
export declare const useUpdateTimeSpan: (mapId: string, myOnSetTimeSliderSpan: (newSpan: number, newCenterTime: number
|
|
3
|
+
export declare const useUpdateTimeSpan: (mapId: string, myOnSetTimeSliderSpan: (newSpan: number, newCenterTime: number) => void) => void;
|
|
4
4
|
interface TimeSliderConnectProps {
|
|
5
5
|
sourceId: string;
|
|
6
6
|
mapId: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
interface TimeSliderLegendConnectProps {
|
|
3
3
|
mapId: string;
|
|
4
|
-
onSetTimeSliderSpan?: (newSpan: number, newCenterTime: number
|
|
4
|
+
onSetTimeSliderSpan?: (newSpan: number, newCenterTime: number) => void;
|
|
5
5
|
unfilteredSelectedTime: number;
|
|
6
6
|
setUnfilteredSelectedTime: (unfilteredSelectedTime: number) => void;
|
|
7
7
|
mapWindowRef?: React.MutableRefObject<HTMLElement | null>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { mapTypes } from '@opengeoweb/store';
|
|
2
|
-
import { TimeBounds } from '@opengeoweb/
|
|
2
|
+
import { TimeBounds } from '@opengeoweb/time-slider';
|
|
3
3
|
/**
|
|
4
4
|
* Returns time bounds from the given dimension. If no time dimension given, current time is returned as default
|
|
5
5
|
*/
|