@opengeoweb/core 6.0.2 → 6.0.4

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 CHANGED
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import React__default, { forwardRef, useContext, useCallback, useEffect, createElement, PureComponent, useState, Component, cloneElement, useRef, isValidElement, createRef, useLayoutEffect } from 'react';
3
3
  import { Grid, Box as Box$2, MenuItem, Typography, useTheme as useTheme$2, Button, Popper, ListItemText, ListItemIcon, FormControl, InputLabel, Paper, List, ListItemButton, CircularProgress, ListSubheader, Dialog, DialogTitle, DialogContent, DialogContentText, TextField, InputAdornment, DialogActions, LinearProgress, Backdrop, ListItem, ListItemSecondaryAction, Checkbox, Switch, styled as styled$1, Slider, Menu, Tooltip, IconButton, ButtonGroup, Divider, Snackbar } from '@mui/material';
4
- import { CustomIconButton, TooltipSelect, AlertIcon, useControlledTooltip, CustomTooltip, tooltipContainerStyles, sliderHeaderStyle, CustomSlider, ToggleMenu, AlertBanner, CustomAccordion, ToolContainerDraggable, calculateDialogSizeAndPosition, CustomToggleButton, SearchHighlight, useMakeSureContainerStaysInsideWindow, withEggs } from '@opengeoweb/shared';
5
- import { CollapseSmall, CollapseMedium, CollapseLarge, CollapseWindow, ExpandWindow, Add, Copy, None, FastForward, AutoUpdateActive, Both, Visibility, VisibilityOff, Delete, DragHandle as DragHandle$1, Cached, Filter, Search, Clear, Info, DimensionsOther, DimensionsElevation, DimensionsRefTime, DimensionsTime, Edit, Close, Home, Minus, Layers, Equalizer, Link, LinkOff, AutoUpdateInActive, Speed, Clock, Now, Animation, Options, Pause, Play, StepForward, StepBackward, dragHandlePath, ChevronDown, ChevronUp, Location, DrawPolygon, DrawRegion, List as List$1, ChevronRight, ChevronLeft, Resize, ExitDomain, ThemeWrapper, lightTheme } from '@opengeoweb/theme';
4
+ import { CustomIconButton, TooltipSelect, AlertIcon, useControlledTooltip, CustomTooltip, tooltipContainerStyles, sliderHeaderStyle, CustomSlider, ToggleMenu, AlertBanner, CustomAccordion, ToolContainerDraggable, calculateDialogSizeAndPosition, CustomToggleButton, SearchHighlight, dateUtils, useMakeSureContainerStaysInsideWindow, withEggs } from '@opengeoweb/shared';
5
+ import { CollapseSmall, CollapseMedium, CollapseLarge, CollapseWindow, ExpandWindow, LayersAdd, Copy, None, FastForward, AutoUpdateActive, Both, Visibility, VisibilityOff, Delete, DragHandle as DragHandle$1, Cached, Add, MapAdd, Filter, Search, Clear, Info, DimensionsOther, DimensionsElevation, DimensionsRefTime, DimensionsTime, Edit, Close, Home, Minus, Layers, Equalizer, Link, LinkOff, AutoUpdateInActive, Speed, Clock, Now, Animation, Options, Pause, Play, StepForward, StepBackward, dragHandlePath, ChevronDown, ChevronUp, Location, DrawPolygon, DrawRegion, List as List$1, ChevronRight, ChevronLeft, Resize, ExitDomain, ThemeWrapper, lightTheme } from '@opengeoweb/theme';
6
6
  import { useDispatch, useSelector, connect, Provider } from 'react-redux';
7
7
  import { uiTypes, uiSelectors, uiActions, layerTypes, layerUtils, layerActions, layerSelectors, serviceSelectors, serviceActions, mapSelectors, mapActions, mapEnums, mapConstants, filterLayers, getUserAddedServices, layerSelectSelectors, layerSelectActions, storeUtils, snackbarActions, layerSelectTypes, mapUtils, genericActions, drawSelectors, drawActions, syncConstants, defaultLayers, syncGroupsSelectors, syncGroupsSelector, snackbarModuleConfig, snackbarSelectors, coreModuleConfig, routerUtils, routerModuleConfig, appModuleConfig, appActions } from '@opengeoweb/store';
8
8
  import { ReactSortable } from 'react-sortablejs';
@@ -882,7 +882,7 @@ var LayerSelectButtonConnect = function LayerSelectButtonConnect(_ref) {
882
882
  _ref$tooltipTitle = _ref.tooltipTitle,
883
883
  tooltipTitle = _ref$tooltipTitle === void 0 ? 'Open the layer selector' : _ref$tooltipTitle,
884
884
  _ref$icon = _ref.icon,
885
- icon = _ref$icon === void 0 ? /*#__PURE__*/React.createElement(Add, {
885
+ icon = _ref$icon === void 0 ? /*#__PURE__*/React.createElement(LayersAdd, {
886
886
  "data-testid": "layerSelectButtonConnectIcon"
887
887
  }) : _ref$icon,
888
888
  _ref$isMultiMap = _ref.isMultiMap,
@@ -4861,109 +4861,130 @@ var getTextAndColor = function getTextAndColor(layerIsInsideAcceptanceTime) {
4861
4861
  * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
4862
4862
  * Copyright 2023 - Finnish Meteorological Institute (FMI)
4863
4863
  * */
4864
- var LayerRow = function LayerRow(_ref) {
4865
- var layerId = _ref.layerId,
4864
+ var LeftButtons = function LeftButtons(_ref) {
4865
+ var size = _ref.size,
4866
+ dragHandle = _ref.dragHandle,
4866
4867
  layer = _ref.layer,
4867
- layerName = _ref.layerName,
4868
- services = _ref.services,
4869
- mapId = _ref.mapId,
4870
- _ref$onLayerRowClick = _ref.onLayerRowClick,
4871
- onLayerRowClick = _ref$onLayerRowClick === void 0 ? function () {} : _ref$onLayerRowClick,
4872
- _ref$isEnabled = _ref.isEnabled,
4873
- isEnabled = _ref$isEnabled === void 0 ? true : _ref$isEnabled,
4874
- _ref$isLayerMissing = _ref.isLayerMissing,
4875
- isLayerMissing = _ref$isLayerMissing === void 0 ? false : _ref$isLayerMissing,
4876
- onLayerEnable = _ref.onLayerEnable,
4877
- onLayerChangeName = _ref.onLayerChangeName,
4878
- onLayerChangeStyle = _ref.onLayerChangeStyle,
4879
- _onLayerChangeOpacity = _ref.onLayerChangeOpacity,
4880
- _onLayerChangeDimension = _ref.onLayerChangeDimension,
4881
- onLayerDelete = _ref.onLayerDelete,
4882
- onLayerDuplicate = _ref.onLayerDuplicate,
4883
- _onChangeAcceptanceTime = _ref.onChangeAcceptanceTime,
4868
+ layerMissingDataLayout = _ref.layerMissingDataLayout,
4884
4869
  layerEnableLayout = _ref.layerEnableLayout,
4885
- layerServicesLayout = _ref.layerServicesLayout,
4886
- layerStylesLayout = _ref.layerStylesLayout,
4887
- layerOpacityLayout = _ref.layerOpacityLayout,
4888
- layerDimensionLayout = _ref.layerDimensionLayout,
4889
- layerDeleteLayout = _ref.layerDeleteLayout,
4890
- layerMenuLayout = _ref.layerMenuLayout,
4891
- layerActiveLayout = _ref.layerActiveLayout,
4870
+ isEnabled = _ref.isEnabled,
4892
4871
  disableActivateLayer = _ref.disableActivateLayer,
4893
- dragHandle = _ref.dragHandle,
4894
- layerAcceptanceTimeLayout = _ref.layerAcceptanceTimeLayout,
4895
- layerMissingDataLayout = _ref.layerMissingDataLayout;
4872
+ layerActiveLayout = _ref.layerActiveLayout,
4873
+ onChangeEnable = _ref.onChangeEnable,
4874
+ onChangeActive = _ref.onChangeActive;
4875
+ return /*#__PURE__*/React__default.createElement(Box$2, {
4876
+ sx: leftButtonsStyle
4877
+ }, dragHandle, layerMissingDataLayout || /*#__PURE__*/React__default.createElement(MissingData, {
4878
+ layerIsInsideAcceptanceTime: "equal"
4879
+ }), layerEnableLayout || /*#__PURE__*/React__default.createElement(CustomIconButton, {
4880
+ shouldShowAsDisabled: !layer.enabled,
4881
+ tooltipTitle: layer.name,
4882
+ onClick: onChangeEnable,
4883
+ "data-testid": "enableButton".concat(size)
4884
+ }, isEnabled ? /*#__PURE__*/React__default.createElement(Visibility, null) : /*#__PURE__*/React__default.createElement(VisibilityOff, null)), !disableActivateLayer && (layerActiveLayout || /*#__PURE__*/React__default.createElement(ActivateLayer, {
4885
+ onChange: onChangeActive,
4886
+ current: AutoOptions.BOTH,
4887
+ isEnabled: true
4888
+ })));
4889
+ };
4890
+ var Styles = function Styles(_ref2) {
4891
+ var style = _ref2.style,
4892
+ onChangeStyle = _ref2.onChangeStyle;
4893
+ return /*#__PURE__*/React__default.createElement(RenderStyles, {
4894
+ layerStyles: [],
4895
+ currentLayerStyle: style,
4896
+ onChangeLayerStyle: onChangeStyle
4897
+ });
4898
+ };
4899
+ var Opacity = function Opacity(_ref3) {
4900
+ var opacity = _ref3.opacity,
4901
+ onChangeOpacity = _ref3.onChangeOpacity;
4902
+ return /*#__PURE__*/React__default.createElement(OpacitySelect, {
4903
+ currentOpacity: opacity,
4904
+ onLayerChangeOpacity: onChangeOpacity
4905
+ });
4906
+ };
4907
+ var DeleteLayer = function DeleteLayer(_ref4) {
4908
+ var onClick = _ref4.onClick;
4909
+ return /*#__PURE__*/React__default.createElement(CustomIconButton, {
4910
+ tooltipTitle: "Delete",
4911
+ onClick: onClick,
4912
+ "data-testid": "deleteButton"
4913
+ }, /*#__PURE__*/React__default.createElement(Delete, null));
4914
+ };
4915
+ var Acceptance = function Acceptance(_ref5) {
4916
+ var acceptanceTime = _ref5.acceptanceTime,
4917
+ onChangeAcceptanceTime = _ref5.onChangeAcceptanceTime;
4918
+ return /*#__PURE__*/React__default.createElement(AcceptanceTime, {
4919
+ acceptanceTimeInMinutes: acceptanceTime,
4920
+ onChangeAcceptanceTime: onChangeAcceptanceTime
4921
+ });
4922
+ };
4923
+ var LayerRow = function LayerRow(_ref6) {
4924
+ var layerId = _ref6.layerId,
4925
+ layer = _ref6.layer,
4926
+ layerName = _ref6.layerName,
4927
+ services = _ref6.services,
4928
+ mapId = _ref6.mapId,
4929
+ _ref6$onLayerRowClick = _ref6.onLayerRowClick,
4930
+ onLayerRowClick = _ref6$onLayerRowClick === void 0 ? function () {} : _ref6$onLayerRowClick,
4931
+ _ref6$isEnabled = _ref6.isEnabled,
4932
+ isEnabled = _ref6$isEnabled === void 0 ? true : _ref6$isEnabled,
4933
+ _ref6$isLayerMissing = _ref6.isLayerMissing,
4934
+ isLayerMissing = _ref6$isLayerMissing === void 0 ? false : _ref6$isLayerMissing,
4935
+ onLayerEnable = _ref6.onLayerEnable,
4936
+ onLayerChangeName = _ref6.onLayerChangeName,
4937
+ onLayerChangeStyle = _ref6.onLayerChangeStyle,
4938
+ onLayerChangeOpacity = _ref6.onLayerChangeOpacity,
4939
+ _onLayerChangeDimension = _ref6.onLayerChangeDimension,
4940
+ onLayerDelete = _ref6.onLayerDelete,
4941
+ onLayerDuplicate = _ref6.onLayerDuplicate,
4942
+ onChangeAcceptanceTime = _ref6.onChangeAcceptanceTime,
4943
+ layerEnableLayout = _ref6.layerEnableLayout,
4944
+ layerServicesLayout = _ref6.layerServicesLayout,
4945
+ layerStylesLayout = _ref6.layerStylesLayout,
4946
+ layerOpacityLayout = _ref6.layerOpacityLayout,
4947
+ layerDimensionLayout = _ref6.layerDimensionLayout,
4948
+ layerDeleteLayout = _ref6.layerDeleteLayout,
4949
+ layerMenuLayout = _ref6.layerMenuLayout,
4950
+ layerActiveLayout = _ref6.layerActiveLayout,
4951
+ disableActivateLayer = _ref6.disableActivateLayer,
4952
+ dragHandle = _ref6.dragHandle,
4953
+ layerAcceptanceTimeLayout = _ref6.layerAcceptanceTimeLayout,
4954
+ layerMissingDataLayout = _ref6.layerMissingDataLayout;
4896
4955
  var onClickRow = function onClickRow() {
4897
4956
  return onLayerRowClick(layerId);
4898
4957
  };
4899
- var LeftButtons = function LeftButtons(_ref2) {
4900
- var size = _ref2.size;
4901
- return /*#__PURE__*/React__default.createElement(Box$2, {
4902
- sx: leftButtonsStyle
4903
- }, dragHandle, layerMissingDataLayout || /*#__PURE__*/React__default.createElement(MissingData, {
4904
- layerIsInsideAcceptanceTime: "equal"
4905
- }), layerEnableLayout || /*#__PURE__*/React__default.createElement(CustomIconButton, {
4906
- shouldShowAsDisabled: !layer.enabled,
4907
- tooltipTitle: layer.name,
4908
- onClick: function onClick(event) {
4909
- event.stopPropagation();
4910
- onLayerEnable({
4911
- layerId: layerId,
4912
- enabled: !isEnabled
4913
- });
4914
- },
4915
- "data-testid": "enableButton".concat(size)
4916
- }, isEnabled ? /*#__PURE__*/React__default.createElement(Visibility, null) : /*#__PURE__*/React__default.createElement(VisibilityOff, null)), !disableActivateLayer && (layerActiveLayout || /*#__PURE__*/React__default.createElement(ActivateLayer, {
4917
- onChange: onClickRow,
4918
- current: AutoOptions.BOTH,
4919
- isEnabled: true
4920
- })));
4958
+ var changeEnable = function changeEnable(event) {
4959
+ event.stopPropagation();
4960
+ onLayerEnable({
4961
+ layerId: layerId,
4962
+ enabled: !isEnabled
4963
+ });
4921
4964
  };
4922
- var Styles = function Styles() {
4923
- return layerStylesLayout || /*#__PURE__*/React__default.createElement(RenderStyles, {
4924
- layerStyles: [],
4925
- currentLayerStyle: layer.style,
4926
- onChangeLayerStyle: function onChangeLayerStyle(style) {
4927
- onLayerChangeStyle({
4928
- layerId: layerId,
4929
- style: style
4930
- });
4931
- }
4965
+ var changeStyle = function changeStyle(style) {
4966
+ onLayerChangeStyle({
4967
+ layerId: layerId,
4968
+ style: style
4932
4969
  });
4933
4970
  };
4934
- var Opacity = function Opacity() {
4935
- return layerOpacityLayout || /*#__PURE__*/React__default.createElement(OpacitySelect, {
4936
- currentOpacity: layer.opacity,
4937
- onLayerChangeOpacity: function onLayerChangeOpacity(_opacity) {
4938
- _onLayerChangeOpacity({
4939
- layerId: layer.id,
4940
- opacity: _opacity
4941
- });
4942
- }
4971
+ var changeOpacity = function changeOpacity(opacity) {
4972
+ onLayerChangeOpacity({
4973
+ layerId: layer.id,
4974
+ opacity: opacity
4943
4975
  });
4944
4976
  };
4945
- var Acceptance = function Acceptance() {
4946
- return layerAcceptanceTimeLayout || /*#__PURE__*/React__default.createElement(AcceptanceTime, {
4947
- acceptanceTimeInMinutes: layer.acceptanceTimeInMinutes,
4948
- onChangeAcceptanceTime: function onChangeAcceptanceTime(acceptanceTime) {
4949
- _onChangeAcceptanceTime === null || _onChangeAcceptanceTime === void 0 ? void 0 : _onChangeAcceptanceTime({
4950
- layerId: layerId,
4951
- acceptanceTime: acceptanceTime
4952
- });
4953
- }
4977
+ var changeAcceptanceTime = function changeAcceptanceTime(acceptanceTime) {
4978
+ onChangeAcceptanceTime === null || onChangeAcceptanceTime === void 0 ? void 0 : onChangeAcceptanceTime({
4979
+ layerId: layerId,
4980
+ acceptanceTime: acceptanceTime
4954
4981
  });
4955
4982
  };
4956
- var DeleteLayer = function DeleteLayer() {
4957
- return layerDeleteLayout || /*#__PURE__*/React__default.createElement(CustomIconButton, {
4958
- tooltipTitle: "Delete",
4959
- onClick: function onClick() {
4960
- onLayerDelete({
4961
- mapId: mapId,
4962
- layerId: layerId
4963
- });
4964
- },
4965
- "data-testid": "deleteButton"
4966
- }, /*#__PURE__*/React__default.createElement(Delete, null));
4983
+ var deleteLayer = function deleteLayer() {
4984
+ return onLayerDelete({
4985
+ mapId: mapId,
4986
+ layerId: layerId
4987
+ });
4967
4988
  };
4968
4989
  return /*#__PURE__*/React__default.createElement(Grid, {
4969
4990
  item: true,
@@ -4986,17 +5007,49 @@ var LayerRow = function LayerRow(_ref) {
4986
5007
  },
4987
5008
  alignItems: "center"
4988
5009
  }, /*#__PURE__*/React__default.createElement(Accordion, {
4989
- LeftButtons: LeftButtons,
5010
+ LeftButtons: /*#__PURE__*/React__default.createElement(LeftButtons, {
5011
+ size: "-medium",
5012
+ dragHandle: dragHandle,
5013
+ layer: layer,
5014
+ layerMissingDataLayout: layerMissingDataLayout,
5015
+ layerEnableLayout: layerEnableLayout,
5016
+ isEnabled: isEnabled,
5017
+ disableActivateLayer: disableActivateLayer,
5018
+ layerActiveLayout: layerActiveLayout,
5019
+ onChangeEnable: changeEnable,
5020
+ onChangeActive: onClickRow
5021
+ }),
4990
5022
  layerName: layerName,
4991
- Styles: Styles,
4992
- Opacity: Opacity,
4993
- Acceptance: Acceptance,
4994
- DeleteLayer: DeleteLayer
5023
+ Styles: layerStylesLayout || /*#__PURE__*/React__default.createElement(Styles, {
5024
+ style: layer.style,
5025
+ onChangeStyle: changeStyle
5026
+ }),
5027
+ Opacity: layerOpacityLayout || /*#__PURE__*/React__default.createElement(Opacity, {
5028
+ opacity: layer.opacity,
5029
+ onChangeOpacity: changeOpacity
5030
+ }),
5031
+ Acceptance: layerAcceptanceTimeLayout || /*#__PURE__*/React__default.createElement(Acceptance, {
5032
+ acceptanceTime: layer.acceptanceTimeInMinutes,
5033
+ onChangeAcceptanceTime: changeAcceptanceTime
5034
+ }),
5035
+ DeleteLayer: layerDeleteLayout || /*#__PURE__*/React__default.createElement(DeleteLayer, {
5036
+ onClick: deleteLayer
5037
+ })
4995
5038
  }), /*#__PURE__*/React__default.createElement(Grid, {
4996
5039
  item: true,
4997
5040
  className: columnClasses.column1,
4998
5041
  alignItems: "center"
4999
- }, /*#__PURE__*/React__default.createElement(LeftButtons, null)), /*#__PURE__*/React__default.createElement(Grid, {
5042
+ }, /*#__PURE__*/React__default.createElement(LeftButtons, {
5043
+ dragHandle: dragHandle,
5044
+ layer: layer,
5045
+ layerMissingDataLayout: layerMissingDataLayout,
5046
+ layerEnableLayout: layerEnableLayout,
5047
+ isEnabled: isEnabled,
5048
+ disableActivateLayer: disableActivateLayer,
5049
+ layerActiveLayout: layerActiveLayout,
5050
+ onChangeEnable: changeEnable,
5051
+ onChangeActive: onClickRow
5052
+ })), /*#__PURE__*/React__default.createElement(Grid, {
5000
5053
  item: true,
5001
5054
  className: columnClasses.column2
5002
5055
  }, layerServicesLayout || /*#__PURE__*/React__default.createElement(RenderLayers, {
@@ -5017,10 +5070,16 @@ var LayerRow = function LayerRow(_ref) {
5017
5070
  })) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Grid, {
5018
5071
  item: true,
5019
5072
  className: columnClasses.column3
5020
- }, /*#__PURE__*/React__default.createElement(Styles, null)), /*#__PURE__*/React__default.createElement(Grid, {
5073
+ }, layerStylesLayout || /*#__PURE__*/React__default.createElement(Styles, {
5074
+ style: layer.style,
5075
+ onChangeStyle: changeStyle
5076
+ })), /*#__PURE__*/React__default.createElement(Grid, {
5021
5077
  item: true,
5022
5078
  className: columnClasses.column4
5023
- }, /*#__PURE__*/React__default.createElement(Opacity, null)), /*#__PURE__*/React__default.createElement(Grid, {
5079
+ }, layerOpacityLayout || /*#__PURE__*/React__default.createElement(Opacity, {
5080
+ opacity: layer.opacity,
5081
+ onChangeOpacity: changeOpacity
5082
+ })), /*#__PURE__*/React__default.createElement(Grid, {
5024
5083
  item: true,
5025
5084
  className: columnClasses.column5
5026
5085
  }, layerDimensionLayout || /*#__PURE__*/React__default.createElement(DimensionSelect, {
@@ -5040,23 +5099,28 @@ var LayerRow = function LayerRow(_ref) {
5040
5099
  })), /*#__PURE__*/React__default.createElement(Grid, {
5041
5100
  item: true,
5042
5101
  className: columnClasses.acceptanceTime
5043
- }, /*#__PURE__*/React__default.createElement(Acceptance, null))), /*#__PURE__*/React__default.createElement(Grid, {
5102
+ }, layerAcceptanceTimeLayout || /*#__PURE__*/React__default.createElement(Acceptance, {
5103
+ acceptanceTime: layer.acceptanceTimeInMinutes,
5104
+ onChangeAcceptanceTime: changeAcceptanceTime
5105
+ }))), /*#__PURE__*/React__default.createElement(Grid, {
5044
5106
  item: true,
5045
5107
  className: columnClasses.column6,
5046
5108
  alignItems: "center"
5047
- }, /*#__PURE__*/React__default.createElement(DeleteLayer, null), layerMenuLayout || /*#__PURE__*/React__default.createElement(LayerManagerMenuButton, {
5109
+ }, layerDeleteLayout || /*#__PURE__*/React__default.createElement(DeleteLayer, {
5110
+ onClick: deleteLayer
5111
+ }), layerMenuLayout || /*#__PURE__*/React__default.createElement(LayerManagerMenuButton, {
5048
5112
  mapId: mapId,
5049
5113
  layerId: layerId,
5050
5114
  onLayerDuplicate: onLayerDuplicate
5051
5115
  })));
5052
5116
  };
5053
- var Accordion = function Accordion(_ref3) {
5054
- var Styles = _ref3.Styles,
5055
- Acceptance = _ref3.Acceptance,
5056
- DeleteLayer = _ref3.DeleteLayer,
5057
- Opacity = _ref3.Opacity,
5058
- layerName = _ref3.layerName,
5059
- LeftButtons = _ref3.LeftButtons;
5117
+ var Accordion = function Accordion(_ref7) {
5118
+ var Styles = _ref7.Styles,
5119
+ Acceptance = _ref7.Acceptance,
5120
+ DeleteLayer = _ref7.DeleteLayer,
5121
+ Opacity = _ref7.Opacity,
5122
+ layerName = _ref7.layerName,
5123
+ LeftButtons = _ref7.LeftButtons;
5060
5124
  return /*#__PURE__*/React__default.createElement(CustomAccordion, {
5061
5125
  className: "medium-layermanager",
5062
5126
  defaultExpanded: false,
@@ -5071,9 +5135,7 @@ var Accordion = function Accordion(_ref3) {
5071
5135
  padding: 0
5072
5136
  }
5073
5137
  },
5074
- title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(LeftButtons, {
5075
- size: "-medium"
5076
- }), /*#__PURE__*/React__default.createElement(Typography, {
5138
+ title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, LeftButtons, /*#__PURE__*/React__default.createElement(Typography, {
5077
5139
  sx: {
5078
5140
  fontWeight: '500',
5079
5141
  fontSize: '12px',
@@ -5092,7 +5154,7 @@ var Accordion = function Accordion(_ref3) {
5092
5154
  item: true
5093
5155
  }, /*#__PURE__*/React__default.createElement(Grid, {
5094
5156
  item: true
5095
- }, "Style"), /*#__PURE__*/React__default.createElement(Styles, null)), /*#__PURE__*/React__default.createElement(Grid, {
5157
+ }, "Style"), Styles), /*#__PURE__*/React__default.createElement(Grid, {
5096
5158
  container: true,
5097
5159
  item: true,
5098
5160
  sx: {
@@ -5105,19 +5167,19 @@ var Accordion = function Accordion(_ref3) {
5105
5167
  }
5106
5168
  }, /*#__PURE__*/React__default.createElement(Grid, {
5107
5169
  item: true
5108
- }, "Opacity"), /*#__PURE__*/React__default.createElement(Opacity, null)), /*#__PURE__*/React__default.createElement(Grid, {
5170
+ }, "Opacity"), Opacity), /*#__PURE__*/React__default.createElement(Grid, {
5109
5171
  container: true,
5110
5172
  item: true
5111
5173
  }, /*#__PURE__*/React__default.createElement(Grid, {
5112
5174
  item: true
5113
- }, "Acc Time"), /*#__PURE__*/React__default.createElement(Acceptance, null)), /*#__PURE__*/React__default.createElement(Grid, {
5175
+ }, "Acc Time"), Acceptance), /*#__PURE__*/React__default.createElement(Grid, {
5114
5176
  container: true,
5115
5177
  item: true,
5116
5178
  justifyContent: "center"
5117
5179
  }, /*#__PURE__*/React__default.createElement(Grid, {
5118
5180
  item: true,
5119
5181
  sx: {}
5120
- }, /*#__PURE__*/React__default.createElement(DeleteLayer, null)))));
5182
+ }, DeleteLayer))));
5121
5183
  };
5122
5184
 
5123
5185
  /* *
@@ -11739,7 +11801,7 @@ var AddLayersButton = function AddLayersButton(_ref) {
11739
11801
  "data-testid": "addLayersButton",
11740
11802
  ref: ref,
11741
11803
  tooltipTitle: tooltip
11742
- }, /*#__PURE__*/React.createElement(Add, null)), /*#__PURE__*/React.createElement(AddLayersPopup, {
11804
+ }, /*#__PURE__*/React.createElement(MapAdd, null)), /*#__PURE__*/React.createElement(AddLayersPopup, {
11743
11805
  open: open,
11744
11806
  handleClose: handleClose,
11745
11807
  onRenderTree: onRenderTree,
@@ -11764,15 +11826,25 @@ var AddLayersButton = function AddLayersButton(_ref) {
11764
11826
  * Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
11765
11827
  * Copyright 2022 - Finnish Meteorological Institute (FMI)
11766
11828
  * */
11767
- var BaseLayerRow = function BaseLayerRow(_ref) {
11768
- var mapId = _ref.mapId,
11769
- _ref$preloadedAvailab = _ref.preloadedAvailableBaseLayers,
11770
- preloadedAvailableBaseLayers = _ref$preloadedAvailab === void 0 ? availableDefaultBaseLayers : _ref$preloadedAvailab,
11771
- _ref$preloadedService = _ref.preloadedServices,
11772
- preloadedServices = _ref$preloadedService === void 0 ? preloadedDefaultBaseServices : _ref$preloadedService,
11773
- _ref$tooltip = _ref.tooltip,
11774
- tooltip = _ref$tooltip === void 0 ? '' : _ref$tooltip,
11775
- settings = _ref.settings;
11829
+ var _onRenderTree = function onRenderTree(_ref) {
11830
+ var service = _ref.service,
11831
+ mapId = _ref.mapId,
11832
+ layerType = _ref.layerType;
11833
+ return /*#__PURE__*/React.createElement(WMSLayerTreeConnect, {
11834
+ mapId: mapId,
11835
+ service: service,
11836
+ layerType: layerType
11837
+ });
11838
+ };
11839
+ var BaseLayerRow = function BaseLayerRow(_ref2) {
11840
+ var mapId = _ref2.mapId,
11841
+ _ref2$preloadedAvaila = _ref2.preloadedAvailableBaseLayers,
11842
+ preloadedAvailableBaseLayers = _ref2$preloadedAvaila === void 0 ? availableDefaultBaseLayers : _ref2$preloadedAvaila,
11843
+ _ref2$preloadedServic = _ref2.preloadedServices,
11844
+ preloadedServices = _ref2$preloadedServic === void 0 ? preloadedDefaultBaseServices : _ref2$preloadedServic,
11845
+ _ref2$tooltip = _ref2.tooltip,
11846
+ tooltip = _ref2$tooltip === void 0 ? '' : _ref2$tooltip,
11847
+ settings = _ref2.settings;
11776
11848
  var _a, _b, _c, _d, _e;
11777
11849
  var theme = useTheme$2();
11778
11850
  return /*#__PURE__*/React.createElement(Grid, {
@@ -11794,7 +11866,7 @@ var BaseLayerRow = function BaseLayerRow(_ref) {
11794
11866
  preloadedServices: preloadedServices,
11795
11867
  tooltip: tooltip,
11796
11868
  onRenderTree: function onRenderTree(service) {
11797
- return /*#__PURE__*/React.createElement(WMSLayerTreeConnect, {
11869
+ return _onRenderTree({
11798
11870
  mapId: mapId,
11799
11871
  service: service,
11800
11872
  layerType: layerTypes.LayerType.baseLayer
@@ -12361,6 +12433,14 @@ var KeywordFilterButtonConnect = function KeywordFilterButtonConnect(_ref) {
12361
12433
  var isURL = function isURL(string) {
12362
12434
  return /^https?:\/\//.test(string);
12363
12435
  };
12436
+ var ClearButton = function ClearButton(_ref) {
12437
+ var onClick = _ref.onClick;
12438
+ return /*#__PURE__*/React__default.createElement(CustomIconButton, {
12439
+ tooltipTitle: "Clear",
12440
+ sx: buttonStyle,
12441
+ onClick: onClick
12442
+ }, /*#__PURE__*/React__default.createElement(Clear, null));
12443
+ };
12364
12444
  var buttonStyle = {
12365
12445
  '&.MuiButtonBase-root.MuiIconButton-root': {
12366
12446
  width: 48,
@@ -12368,25 +12448,20 @@ var buttonStyle = {
12368
12448
  marginRight: '-12px'
12369
12449
  }
12370
12450
  };
12371
- var SearchFieldButtonContainer = function SearchFieldButtonContainer(_ref) {
12372
- var localSearchString = _ref.localSearchString,
12373
- onClickClear = _ref.onClickClear,
12374
- setPopupIsOpen = _ref.setPopupIsOpen;
12375
- var ClearButton = function ClearButton() {
12376
- return /*#__PURE__*/React__default.createElement(CustomIconButton, {
12377
- tooltipTitle: "Clear",
12378
- sx: buttonStyle,
12379
- onClick: function onClick() {
12380
- onClickClear();
12381
- }
12382
- }, /*#__PURE__*/React__default.createElement(Clear, null));
12383
- };
12451
+ var SearchFieldButtonContainer = function SearchFieldButtonContainer(_ref2) {
12452
+ var localSearchString = _ref2.localSearchString,
12453
+ onClickClear = _ref2.onClickClear,
12454
+ setPopupIsOpen = _ref2.setPopupIsOpen;
12384
12455
  if (isURL(localSearchString)) {
12385
12456
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
12386
12457
  style: {
12387
12458
  marginRight: '15px'
12388
12459
  }
12389
- }, /*#__PURE__*/React__default.createElement(ClearButton, null)), /*#__PURE__*/React__default.createElement(Button, {
12460
+ }, /*#__PURE__*/React__default.createElement(ClearButton, {
12461
+ onClick: function onClick() {
12462
+ return onClickClear();
12463
+ }
12464
+ })), /*#__PURE__*/React__default.createElement(Button, {
12390
12465
  variant: "tertiary",
12391
12466
  onClick: function onClick() {
12392
12467
  return setPopupIsOpen(true);
@@ -12394,7 +12469,11 @@ var SearchFieldButtonContainer = function SearchFieldButtonContainer(_ref) {
12394
12469
  }, "Save"));
12395
12470
  }
12396
12471
  if (localSearchString) {
12397
- return /*#__PURE__*/React__default.createElement(ClearButton, null);
12472
+ return /*#__PURE__*/React__default.createElement(ClearButton, {
12473
+ onClick: function onClick() {
12474
+ return onClickClear();
12475
+ }
12476
+ });
12398
12477
  }
12399
12478
  return /*#__PURE__*/React__default.createElement(CustomIconButton, {
12400
12479
  tooltipTitle: "Search",
@@ -16386,12 +16465,20 @@ var handleMomentISOString = function handleMomentISOString(dateIn) {
16386
16465
  * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
16387
16466
  * Copyright 2023 - Finnish Meteorological Institute (FMI)
16388
16467
  * */
16389
- var DimensionSelectSliderConnect = function DimensionSelectSliderConnect(_ref) {
16390
- var layerId = _ref.layerId,
16391
- dimConfig = _ref.dimConfig,
16392
- dimensionName = _ref.dimensionName,
16393
- handleDimensionValueChanged = _ref.handleDimensionValueChanged,
16394
- handleSyncChanged = _ref.handleSyncChanged;
16468
+ var Icon$1 = function Icon(_ref) {
16469
+ var isLayerDimensionSynced = _ref.isLayerDimensionSynced;
16470
+ return isLayerDimensionSynced ? /*#__PURE__*/React.createElement(Link, {
16471
+ "data-testid": "syncIcon"
16472
+ }) : /*#__PURE__*/React.createElement(LinkOff, {
16473
+ "data-testid": "syncDisIcon"
16474
+ });
16475
+ };
16476
+ var DimensionSelectSliderConnect = function DimensionSelectSliderConnect(_ref2) {
16477
+ var layerId = _ref2.layerId,
16478
+ dimConfig = _ref2.dimConfig,
16479
+ dimensionName = _ref2.dimensionName,
16480
+ handleDimensionValueChanged = _ref2.handleDimensionValueChanged,
16481
+ handleSyncChanged = _ref2.handleSyncChanged;
16395
16482
  var layerDimension = useSelector(function (store) {
16396
16483
  return layerSelectors.getLayerDimension(store, layerId, dimensionName);
16397
16484
  });
@@ -16407,13 +16494,6 @@ var DimensionSelectSliderConnect = function DimensionSelectSliderConnect(_ref) {
16407
16494
  var marks = marksByDimension(wmsDimension);
16408
16495
  var isLayerDimensionSynced = layerDimension.synced !== undefined && layerDimension.synced === true;
16409
16496
  var tooltipTitle = isLayerDimensionSynced ? 'Click to disconnect layer' : 'Click to connect layer';
16410
- var Icon = function Icon() {
16411
- return isLayerDimensionSynced ? /*#__PURE__*/React.createElement(Link, {
16412
- "data-testid": "syncIcon"
16413
- }) : /*#__PURE__*/React.createElement(LinkOff, {
16414
- "data-testid": "syncDisIcon"
16415
- });
16416
- };
16417
16497
  return /*#__PURE__*/React.createElement(Grid, {
16418
16498
  key: layerId,
16419
16499
  item: true,
@@ -16427,7 +16507,9 @@ var DimensionSelectSliderConnect = function DimensionSelectSliderConnect(_ref) {
16427
16507
  sx: {
16428
16508
  margin: '5px'
16429
16509
  }
16430
- }, /*#__PURE__*/React.createElement(Icon, null)), /*#__PURE__*/React.createElement(DimensionSelectSlider, {
16510
+ }, /*#__PURE__*/React.createElement(Icon$1, {
16511
+ isLayerDimensionSynced: isLayerDimensionSynced
16512
+ })), /*#__PURE__*/React.createElement(DimensionSelectSlider, {
16431
16513
  marks: marks,
16432
16514
  layerTitle: layerTitle,
16433
16515
  reverse: dimConfig ? dimConfig.reversed : false,
@@ -16959,16 +17041,17 @@ var useCanvasTarget = function useCanvasTarget(eventType) {
16959
17041
  }, [eventType, pointerEventListener]); // Only add/remove event listener when listener really changes, that is, NOT necessarily between every re-render.
16960
17042
  return [isTargetNode, nodeRef];
16961
17043
  };
16962
- var needleGeom = {
17044
+ var timeBoxGeom = {
16963
17045
  smallWidth: 126,
16964
17046
  largeWidth: 167,
16965
17047
  height: 24,
16966
17048
  cornerRadius: 5,
16967
- lineWidth: 1
17049
+ lineWidth: 1,
17050
+ iconWidth: 25
16968
17051
  };
16969
17052
  var AUTO_MOVE_AREA_PADDING = 1;
16970
17053
  var getAutoMoveAreaWidth = function getAutoMoveAreaWidth(scale) {
16971
- return (scale === mapEnums.Scale.Year ? needleGeom.largeWidth : needleGeom.smallWidth) / 2 + AUTO_MOVE_AREA_PADDING;
17054
+ return (scale === mapEnums.Scale.Year ? timeBoxGeom.largeWidth + timeBoxGeom.iconWidth : timeBoxGeom.smallWidth + timeBoxGeom.iconWidth) / 2 + AUTO_MOVE_AREA_PADDING;
16972
17055
  };
16973
17056
  /** Reusable business logic for how to handle events that set time to now (closest).
16974
17057
  * Used in NowButton and TimeSliderLegend.
@@ -17102,7 +17185,7 @@ var timeSliderUtils = /*#__PURE__*/Object.freeze({
17102
17185
  getNewCenterOfFixedPointZoom: getNewCenterOfFixedPointZoom,
17103
17186
  moveRelativeToTimePoint: moveRelativeToTimePoint,
17104
17187
  useCanvasTarget: useCanvasTarget,
17105
- needleGeom: needleGeom,
17188
+ timeBoxGeom: timeBoxGeom,
17106
17189
  AUTO_MOVE_AREA_PADDING: AUTO_MOVE_AREA_PADDING,
17107
17190
  getAutoMoveAreaWidth: getAutoMoveAreaWidth,
17108
17191
  handleSetNowEvent: handleSetNowEvent,
@@ -19329,8 +19412,8 @@ var drawRoundedRectangle = function drawRoundedRectangle(ctx, x, y, width, heigh
19329
19412
  ctx.beginPath();
19330
19413
  ctx.strokeStyle = playerTimeMarkers.fill;
19331
19414
  ctx.fillStyle = playerTimeMarkers.fill;
19332
- ctx.lineWidth = needleGeom.lineWidth;
19333
- var halfLineWidth = needleGeom.lineWidth / 2;
19415
+ ctx.lineWidth = timeBoxGeom.lineWidth;
19416
+ var halfLineWidth = timeBoxGeom.lineWidth / 2;
19334
19417
  // Top left corner
19335
19418
  ctx.moveTo(halfLineWidth, height / 2);
19336
19419
  ctx.arcTo(halfLineWidth, halfLineWidth, width / 2, halfLineWidth, cornerRadius);
@@ -19376,18 +19459,18 @@ var drawTextAnnotation = function drawTextAnnotation(ctx, x, y, text, theme) {
19376
19459
  ctx.restore();
19377
19460
  };
19378
19461
  var drawNewCurrentTimeBox = function drawNewCurrentTimeBox(ctx, selectedTime, selectedPx, span, theme, isAutoUpdating) {
19379
- var iconWidth = 25;
19380
- var smallWidth = needleGeom.smallWidth,
19381
- largeWidth = needleGeom.largeWidth,
19382
- height = needleGeom.height;
19383
- var boxWidth = span > secondsInYear ? largeWidth : smallWidth;
19462
+ var smallWidth = timeBoxGeom.smallWidth,
19463
+ largeWidth = timeBoxGeom.largeWidth,
19464
+ height = timeBoxGeom.height,
19465
+ iconWidth = timeBoxGeom.iconWidth;
19466
+ var boxWidth = span >= secondsInYear ? largeWidth : smallWidth;
19384
19467
  var needleX = selectedPx - boxWidth / 2;
19385
- var needleY = needleGeom.lineWidth;
19386
- drawRoundedRectangle(ctx, needleX - iconWidth, needleY, boxWidth + iconWidth, height, needleGeom.cornerRadius, theme);
19387
- var timeFormat = span > secondsInYear ? 'Y ddd DD MMM HH:mm' : 'ddd DD MMM HH:mm';
19468
+ var needleY = timeBoxGeom.lineWidth;
19469
+ drawRoundedRectangle(ctx, needleX - iconWidth / 2, needleY, boxWidth + iconWidth, height, timeBoxGeom.cornerRadius, theme);
19470
+ var timeFormat = span >= secondsInYear ? 'Y ddd DD MMM HH:mm' : 'ddd DD MMM HH:mm';
19388
19471
  var timeText = moment.utc(selectedTime * 1000).format(timeFormat).toString();
19389
- drawTextAnnotation(ctx, needleX + boxWidth / 2 - iconWidth, needleY + height / 2, timeText, theme);
19390
- drawAutoUpdateIcon(ctx, needleX + boxWidth - iconWidth, needleY, theme, isAutoUpdating);
19472
+ drawTextAnnotation(ctx, needleX + boxWidth / 2 - iconWidth / 2, needleY + height / 2, timeText, theme);
19473
+ drawAutoUpdateIcon(ctx, needleX + boxWidth - iconWidth / 2, needleY, theme, isAutoUpdating);
19391
19474
  };
19392
19475
  var renderTimeSliderCurrentTimeBox = function renderTimeSliderCurrentTimeBox(ctx, theme, width, height, centerTime, selected, secondsPerPx, span, isAutoUpdating) {
19393
19476
  // map unix timestamps to pixel values
@@ -19414,7 +19497,8 @@ var TimeSliderCurrentTimeBox = function TimeSliderCurrentTimeBox(_ref) {
19414
19497
  unfilteredSelectedTime = _ref.unfilteredSelectedTime,
19415
19498
  isAutoUpdating = _ref.isAutoUpdating,
19416
19499
  onSetNewDate = _ref.onSetNewDate,
19417
- setUnfilteredSelectedTime = _ref.setUnfilteredSelectedTime;
19500
+ setUnfilteredSelectedTime = _ref.setUnfilteredSelectedTime,
19501
+ onSetCenterTime = _ref.onSetCenterTime;
19418
19502
  var TIME_BOX_WIDTH = 140;
19419
19503
  var theme = useTheme$2();
19420
19504
  var _useCanvasTarget = useCanvasTarget('mousedown'),
@@ -19432,6 +19516,20 @@ var TimeSliderCurrentTimeBox = function TimeSliderCurrentTimeBox(_ref) {
19432
19516
  _React$useState6 = _slicedToArray(_React$useState5, 2),
19433
19517
  canvasWidth = _React$useState6[0],
19434
19518
  setCanvasWidth = _React$useState6[1];
19519
+ // Move TimeBox back to view if it goes out of bounds
19520
+ useEffect(function () {
19521
+ if (!(onSetCenterTime && canvasWidth && !mouseDownInTimeBox)) {
19522
+ return;
19523
+ }
19524
+ var receivedTimePx = timestampToPixel(selectedTime || moment.utc().unix(), centerTime, canvasWidth, secondsPerPx);
19525
+ var moveWidth = getAutoMoveAreaWidth(getFundamentalScale$1(secondsPerPx));
19526
+ if (receivedTimePx < moveWidth) {
19527
+ onSetCenterTime(pixelToTimestamp(canvasWidth / 2 - (moveWidth - receivedTimePx), centerTime, canvasWidth, secondsPerPx));
19528
+ } else if (receivedTimePx > canvasWidth - moveWidth) {
19529
+ onSetCenterTime(pixelToTimestamp(canvasWidth / 2 + (receivedTimePx - (canvasWidth - moveWidth)), centerTime, canvasWidth, secondsPerPx));
19530
+ }
19531
+ // eslint-disable-next-line react-hooks/exhaustive-deps
19532
+ }, [selectedTime]);
19435
19533
  var isTimeBoxArea = function isTimeBoxArea(x, selectedTimePx) {
19436
19534
  return x > selectedTimePx - TIME_BOX_WIDTH / 2 && x < selectedTimePx + TIME_BOX_WIDTH / 2;
19437
19535
  };
@@ -20270,7 +20368,8 @@ var connectRedux = connect(function (store, props) {
20270
20368
  }, {
20271
20369
  setTimeSliderUnfilteredSelectedTime: mapActions.setTimeSliderUnfilteredSelectedTime,
20272
20370
  stopMapAnimation: mapActions.mapStopAnimation,
20273
- setTime: genericActions.setTime
20371
+ setTime: genericActions.setTime,
20372
+ setCenterTime: mapActions.setTimeSliderCenterTime
20274
20373
  });
20275
20374
  var TimeSliderCurrentTimeBoxConnectComponent = function TimeSliderCurrentTimeBoxConnectComponent(_ref) {
20276
20375
  var mapId = _ref.mapId,
@@ -20286,7 +20385,8 @@ var TimeSliderCurrentTimeBoxConnectComponent = function TimeSliderCurrentTimeBox
20286
20385
  stopMapAnimation = _ref.stopMapAnimation,
20287
20386
  unfilteredSelectedTime = _ref.unfilteredSelectedTime,
20288
20387
  setTimeSliderUnfilteredSelectedTime = _ref.setTimeSliderUnfilteredSelectedTime,
20289
- setTime = _ref.setTime;
20388
+ setTime = _ref.setTime,
20389
+ setCenterTime = _ref.setCenterTime;
20290
20390
  var _getTimeBounds = getTimeBounds(dimensions),
20291
20391
  selectedTime = _getTimeBounds.selectedTime;
20292
20392
  var _getDataLimitsFromLay = getDataLimitsFromLayers(layers),
@@ -20322,6 +20422,12 @@ var TimeSliderCurrentTimeBoxConnectComponent = function TimeSliderCurrentTimeBox
20322
20422
  origin: 'TimeSliderConnect, 139',
20323
20423
  value: handleMomentISOString(newDate)
20324
20424
  });
20425
+ },
20426
+ onSetCenterTime: function onSetCenterTime(newTime) {
20427
+ setCenterTime({
20428
+ mapId: mapId,
20429
+ timeSliderCenterTime: newTime
20430
+ });
20325
20431
  }
20326
20432
  });
20327
20433
  };
@@ -25413,6 +25519,7 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
25413
25519
  _this.addPointToMultiPointFeature = _this.addPointToMultiPointFeature.bind(_assertThisInitialized$1(_this));
25414
25520
  _this.addVerticesToPolygonFeature = _this.addVerticesToPolygonFeature.bind(_assertThisInitialized$1(_this));
25415
25521
  _this.checkIfFeatureIsBox = _this.checkIfFeatureIsBox.bind(_assertThisInitialized$1(_this));
25522
+ _this.handleGeoJSONUpdate = _this.handleGeoJSONUpdate.bind(_assertThisInitialized$1(_this));
25416
25523
  _this.handleDrawMode(props.drawMode);
25417
25524
  _this.textPositions = [];
25418
25525
  _this.mouseOverPolygonCoordinates = [];
@@ -25450,15 +25557,33 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
25450
25557
  key: "componentDidMount",
25451
25558
  value: function componentDidMount() {
25452
25559
  document.addEventListener('keydown', this.handleKeyDown);
25560
+ var _this$props = this.props,
25561
+ mapId = _this$props.mapId,
25562
+ isInDeleteMode = _this$props.isInDeleteMode;
25563
+ var webmapjs = webmapUtils.getWMJSMapById(mapId);
25564
+ if (this.disabled === undefined) {
25565
+ this.disabled = isInDeleteMode;
25566
+ }
25567
+ if (webmapjs !== undefined && this.listenersInitialized !== true) {
25568
+ this.listenersInitialized = true;
25569
+ webmapjs.addListener('beforecanvasdisplay', this.beforeDraw, true);
25570
+ webmapjs.addListener('beforemousemove', this.mouseMove, true);
25571
+ webmapjs.addListener('beforemousedown', this.mouseDown, true);
25572
+ webmapjs.addListener('beforemouseup', this.mouseUp, true);
25573
+ this.disabled = false;
25574
+ }
25575
+ if (webmapjs !== undefined) {
25576
+ webmapjs.draw();
25577
+ }
25453
25578
  }
25454
25579
  }, {
25455
25580
  key: "componentDidUpdate",
25456
25581
  value: function componentDidUpdate(prevProps) {
25457
- var _this$props = this.props,
25458
- geojson = _this$props.geojson,
25459
- isInEditMode = _this$props.isInEditMode,
25460
- isInDeleteMode = _this$props.isInDeleteMode,
25461
- drawMode = _this$props.drawMode;
25582
+ var _this$props2 = this.props,
25583
+ geojson = _this$props2.geojson,
25584
+ isInEditMode = _this$props2.isInEditMode,
25585
+ isInDeleteMode = _this$props2.isInDeleteMode,
25586
+ drawMode = _this$props2.drawMode;
25462
25587
  var prevGeojson = prevProps && prevProps.geojson;
25463
25588
  var prevIsInEditMode = prevProps && prevProps.isInEditMode;
25464
25589
  var prevIsInDeleteMode = prevProps && prevProps.isInDeleteMode;
@@ -25535,7 +25660,8 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
25535
25660
  }, {
25536
25661
  key: "getPixelCoordFromGeoCoord",
25537
25662
  value: function getPixelCoordFromGeoCoord(featureCoords) {
25538
- var webmapjs = this.props.webmapjs;
25663
+ var mapId = this.props.mapId;
25664
+ var webmapjs = webmapUtils.getWMJSMapById(mapId);
25539
25665
  var _webmapjs$getSize = webmapjs.getSize(),
25540
25666
  width = _webmapjs$getSize.width,
25541
25667
  height = _webmapjs$getSize.height;
@@ -25651,10 +25777,10 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
25651
25777
  key: "mouseMove",
25652
25778
  value: function mouseMove(event) {
25653
25779
  var _this2 = this;
25654
- var _this$props2 = this.props,
25655
- isInEditMode = _this$props2.isInEditMode,
25656
- featureNrToEdit = _this$props2.featureNrToEdit,
25657
- onHoverFeature = _this$props2.onHoverFeature;
25780
+ var _this$props3 = this.props,
25781
+ isInEditMode = _this$props3.isInEditMode,
25782
+ featureNrToEdit = _this$props3.featureNrToEdit,
25783
+ onHoverFeature = _this$props3.onHoverFeature;
25658
25784
  if (event && event.rightButton === true) {
25659
25785
  return undefined;
25660
25786
  }
@@ -25685,7 +25811,8 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
25685
25811
  } else {
25686
25812
  _this2.featureEvent = undefined;
25687
25813
  }
25688
- var webmapjs = _this2.props.webmapjs;
25814
+ var mapId = _this2.props.mapId;
25815
+ var webmapjs = webmapUtils.getWMJSMapById(mapId);
25689
25816
  webmapjs && webmapjs.draw('MapDraw::onHoverFeature');
25690
25817
  };
25691
25818
  window.clearTimeout(this.mouseStoppedTimer);
@@ -25698,7 +25825,8 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
25698
25825
  if (!feature) {
25699
25826
  return undefined;
25700
25827
  }
25701
- var webmapjs = this.props.webmapjs;
25828
+ var mapId = this.props.mapId;
25829
+ var webmapjs = webmapUtils.getWMJSMapById(mapId);
25702
25830
  this.mouseGeoCoord = webmapjs.getLatLongFromPixelCoord({
25703
25831
  x: mouseX,
25704
25832
  y: mouseY
@@ -25795,9 +25923,10 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
25795
25923
  value: function insertVertexInEdge(event) {
25796
25924
  var mouseX = event.mouseX,
25797
25925
  mouseY = event.mouseY;
25798
- var _this$props3 = this.props,
25799
- webmapjs = _this$props3.webmapjs,
25800
- featureNrToEdit = _this$props3.featureNrToEdit;
25926
+ var _this$props4 = this.props,
25927
+ mapId = _this$props4.mapId,
25928
+ featureNrToEdit = _this$props4.featureNrToEdit;
25929
+ var webmapjs = webmapUtils.getWMJSMapById(mapId);
25801
25930
  if (this.myDrawMode === DRAWMODE.POLYGON) {
25802
25931
  if (this.selectedEdge !== EDGE.NONE && this.myEditMode !== EDITMODE.DELETE_FEATURES) {
25803
25932
  this.mouseGeoCoord = webmapjs.getLatLongFromPixelCoord({
@@ -25846,9 +25975,10 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
25846
25975
  value: function createNewFeature(event) {
25847
25976
  var mouseX = event.mouseX,
25848
25977
  mouseY = event.mouseY;
25849
- var _this$props4 = this.props,
25850
- webmapjs = _this$props4.webmapjs,
25851
- featureNrToEdit = _this$props4.featureNrToEdit;
25978
+ var _this$props5 = this.props,
25979
+ mapId = _this$props5.mapId,
25980
+ featureNrToEdit = _this$props5.featureNrToEdit;
25981
+ var webmapjs = webmapUtils.getWMJSMapById(mapId);
25852
25982
  if (this.myEditMode === EDITMODE.EMPTY) {
25853
25983
  this.myEditMode = EDITMODE.ADD_FEATURE;
25854
25984
  var feature = this.geojson.features[featureNrToEdit];
@@ -25960,9 +26090,10 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
25960
26090
  value: function addPointToMultiPointFeature(event) {
25961
26091
  var mouseX = event.mouseX,
25962
26092
  mouseY = event.mouseY;
25963
- var _this$props5 = this.props,
25964
- webmapjs = _this$props5.webmapjs,
25965
- featureNrToEdit = _this$props5.featureNrToEdit;
26093
+ var _this$props6 = this.props,
26094
+ mapId = _this$props6.mapId,
26095
+ featureNrToEdit = _this$props6.featureNrToEdit;
26096
+ var webmapjs = webmapUtils.getWMJSMapById(mapId);
25966
26097
  if (this.myDrawMode === DRAWMODE.MULTIPOINT) {
25967
26098
  if (this.myEditMode === EDITMODE.ADD_FEATURE && this.snappedPolygonIndex !== SNAPPEDFEATURE.NONE) {
25968
26099
  this.mouseGeoCoord = webmapjs.getLatLongFromPixelCoord({
@@ -25985,9 +26116,10 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
25985
26116
  value: function addVerticesToPolygonFeature(event) {
25986
26117
  var mouseX = event.mouseX,
25987
26118
  mouseY = event.mouseY;
25988
- var _this$props6 = this.props,
25989
- webmapjs = _this$props6.webmapjs,
25990
- featureNrToEdit = _this$props6.featureNrToEdit;
26119
+ var _this$props7 = this.props,
26120
+ mapId = _this$props7.mapId,
26121
+ featureNrToEdit = _this$props7.featureNrToEdit;
26122
+ var webmapjs = webmapUtils.getWMJSMapById(mapId);
25991
26123
  if (this.myDrawMode === DRAWMODE.POLYGON) {
25992
26124
  if (this.myEditMode === EDITMODE.ADD_FEATURE && this.snappedPolygonIndex !== SNAPPEDFEATURE.NONE) {
25993
26125
  this.mouseGeoCoord = webmapjs.getLatLongFromPixelCoord({
@@ -26010,9 +26142,10 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
26010
26142
  value: function addPointToLineStringFeature(event) {
26011
26143
  var mouseX = event.mouseX,
26012
26144
  mouseY = event.mouseY;
26013
- var _this$props7 = this.props,
26014
- webmapjs = _this$props7.webmapjs,
26015
- featureNrToEdit = _this$props7.featureNrToEdit;
26145
+ var _this$props8 = this.props,
26146
+ mapId = _this$props8.mapId,
26147
+ featureNrToEdit = _this$props8.featureNrToEdit;
26148
+ var webmapjs = webmapUtils.getWMJSMapById(mapId);
26016
26149
  if (this.myDrawMode === DRAWMODE.LINESTRING) {
26017
26150
  if (this.myEditMode === EDITMODE.ADD_FEATURE) {
26018
26151
  this.mouseGeoCoord = webmapjs.getLatLongFromPixelCoord({
@@ -26084,9 +26217,9 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
26084
26217
  }, {
26085
26218
  key: "deletePolygon",
26086
26219
  value: function deletePolygon(index) {
26087
- var _this$props8 = this.props,
26088
- featureNrToEdit = _this$props8.featureNrToEdit,
26089
- deletePolygonCallback = _this$props8.deletePolygonCallback;
26220
+ var _this$props9 = this.props,
26221
+ featureNrToEdit = _this$props9.featureNrToEdit,
26222
+ deletePolygonCallback = _this$props9.deletePolygonCallback;
26090
26223
  var feature = this.geojson.features[featureNrToEdit];
26091
26224
  feature.geometry.coordinates.splice(index, 1);
26092
26225
  if (deletePolygonCallback) {
@@ -26099,9 +26232,10 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
26099
26232
  key: "deleteFeature",
26100
26233
  value: function deleteFeature() {
26101
26234
  /* Deletes any features under the mousecursor */
26102
- var _this$props9 = this.props,
26103
- webmapjs = _this$props9.webmapjs,
26104
- featureNrToEdit = _this$props9.featureNrToEdit;
26235
+ var _this$props10 = this.props,
26236
+ mapId = _this$props10.mapId,
26237
+ featureNrToEdit = _this$props10.featureNrToEdit;
26238
+ var webmapjs = webmapUtils.getWMJSMapById(mapId);
26105
26239
  if (this.mouseIsOverVertexNr === VERTEX.NONE) {
26106
26240
  return;
26107
26241
  }
@@ -26137,9 +26271,9 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
26137
26271
  key: "mouseUp",
26138
26272
  value: function mouseUp(event) {
26139
26273
  var _this4 = this;
26140
- var _this$props10 = this.props,
26141
- isInEditMode = _this$props10.isInEditMode,
26142
- onClickFeature = _this$props10.onClickFeature;
26274
+ var _this$props11 = this.props,
26275
+ isInEditMode = _this$props11.isInEditMode,
26276
+ onClickFeature = _this$props11.onClickFeature;
26143
26277
  if (event && event.rightButton === true) {
26144
26278
  return;
26145
26279
  }
@@ -26190,13 +26324,14 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
26190
26324
  }, {
26191
26325
  key: "cancelEdit",
26192
26326
  value: function cancelEdit(cancelLastPoint) {
26193
- var _this$props11 = this.props,
26194
- isInEditMode = _this$props11.isInEditMode,
26195
- featureNrToEdit = _this$props11.featureNrToEdit;
26327
+ var _this$props12 = this.props,
26328
+ isInEditMode = _this$props12.isInEditMode,
26329
+ featureNrToEdit = _this$props12.featureNrToEdit;
26196
26330
  if (isInEditMode === false) {
26197
26331
  return;
26198
26332
  }
26199
- var webmapjs = this.props.webmapjs;
26333
+ var mapId = this.props.mapId;
26334
+ var webmapjs = webmapUtils.getWMJSMapById(mapId);
26200
26335
  /* When in addpolygon mode, finish the polygon */
26201
26336
  if (this.myEditMode === EDITMODE.ADD_FEATURE) {
26202
26337
  this.myEditMode = EDITMODE.EMPTY;
@@ -26383,7 +26518,8 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
26383
26518
  value: function componentCleanup() {
26384
26519
  // this will hold the cleanup code
26385
26520
  document.removeEventListener('keydown', this.handleKeyDown);
26386
- var webmapjs = this.props.webmapjs;
26521
+ var mapId = this.props.mapId;
26522
+ var webmapjs = webmapUtils.getWMJSMapById(mapId);
26387
26523
  if (webmapjs !== undefined && this.listenersInitialized === true) {
26388
26524
  this.listenersInitialized = undefined;
26389
26525
  webmapjs.removeListener('beforecanvasdisplay', this.beforeDraw);
@@ -26483,9 +26619,9 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
26483
26619
  just before viewer will flip the back canvas buffer to the front.
26484
26620
  You are free to draw anything you like on the canvas.
26485
26621
  */
26486
- var _this$props12 = this.props,
26487
- featureNrToEdit = _this$props12.featureNrToEdit,
26488
- isInEditMode = _this$props12.isInEditMode;
26622
+ var _this$props13 = this.props,
26623
+ featureNrToEdit = _this$props13.featureNrToEdit,
26624
+ isInEditMode = _this$props13.isInEditMode;
26489
26625
  if (!this.geojson || !this.geojson.features || !this.geojson.features.length) {
26490
26626
  return;
26491
26627
  }
@@ -26888,9 +27024,9 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
26888
27024
  }, {
26889
27025
  key: "drawLine",
26890
27026
  value: function drawLine(ctx, XYCoords, featureIndex, lineStringIndex) {
26891
- var _this$props13 = this.props,
26892
- isInEditMode = _this$props13.isInEditMode,
26893
- featureNrToEdit = _this$props13.featureNrToEdit;
27027
+ var _this$props14 = this.props,
27028
+ isInEditMode = _this$props14.isInEditMode,
27029
+ featureNrToEdit = _this$props14.featureNrToEdit;
26894
27030
  var feature = this.geojson.features[featureIndex];
26895
27031
  if (!feature || !feature.geometry) {
26896
27032
  return;
@@ -26963,9 +27099,9 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
26963
27099
  }, {
26964
27100
  key: "drawPolygon",
26965
27101
  value: function drawPolygon(ctx, XYCoords, featureIndex, polygonIndex) {
26966
- var _this$props14 = this.props,
26967
- isInEditMode = _this$props14.isInEditMode,
26968
- featureNrToEdit = _this$props14.featureNrToEdit;
27102
+ var _this$props15 = this.props,
27103
+ isInEditMode = _this$props15.isInEditMode,
27104
+ featureNrToEdit = _this$props15.featureNrToEdit;
26969
27105
  var feature = this.geojson.features[featureIndex];
26970
27106
  if (!feature || !feature.geometry) {
26971
27107
  return;
@@ -27039,7 +27175,8 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
27039
27175
  }, {
27040
27176
  key: "convertGeoCoordsToScreenCoords",
27041
27177
  value: function convertGeoCoordsToScreenCoords(featureCoords) {
27042
- var webmapjs = this.props.webmapjs;
27178
+ var mapId = this.props.mapId;
27179
+ var webmapjs = webmapUtils.getWMJSMapById(mapId);
27043
27180
  var XYCoords = [];
27044
27181
  for (var j = 0; j < featureCoords.length; j += 1) {
27045
27182
  if (featureCoords[j].length < 2) {
@@ -27134,23 +27271,6 @@ var MapDraw = /*#__PURE__*/function (_React$PureComponent) {
27134
27271
  }, {
27135
27272
  key: "render",
27136
27273
  value: function render() {
27137
- var _this$props15 = this.props,
27138
- webmapjs = _this$props15.webmapjs,
27139
- isInDeleteMode = _this$props15.isInDeleteMode;
27140
- if (this.disabled === undefined) {
27141
- this.disabled = isInDeleteMode;
27142
- }
27143
- if (webmapjs !== undefined && this.listenersInitialized !== true) {
27144
- this.listenersInitialized = true;
27145
- webmapjs.addListener('beforecanvasdisplay', this.beforeDraw, true);
27146
- webmapjs.addListener('beforemousemove', this.mouseMove, true);
27147
- webmapjs.addListener('beforemousedown', this.mouseDown, true);
27148
- webmapjs.addListener('beforemouseup', this.mouseUp, true);
27149
- this.disabled = false;
27150
- }
27151
- if (webmapjs !== undefined) {
27152
- webmapjs.draw();
27153
- }
27154
27274
  return /*#__PURE__*/React.createElement("div", null);
27155
27275
  }
27156
27276
  }]);
@@ -27181,7 +27301,7 @@ MapDraw.defaultProps = {
27181
27301
  * */
27182
27302
  var MapDrawContainer = function MapDrawContainer(_ref) {
27183
27303
  var featureLayers = _ref.featureLayers,
27184
- webMapJS = _ref.webMapJS;
27304
+ mapId = _ref.mapId;
27185
27305
  return /*#__PURE__*/React.createElement(React.Fragment, null, featureLayers.map(function (layer) {
27186
27306
  return /*#__PURE__*/React.createElement("div", {
27187
27307
  "data-testid": "featureLayer-".concat(layer.id),
@@ -27194,7 +27314,7 @@ var MapDrawContainer = function MapDrawContainer(_ref) {
27194
27314
  isInEditMode: layer.isInEditMode,
27195
27315
  isInDeleteMode: layer.isInDeleteMode,
27196
27316
  drawMode: layer.drawMode,
27197
- webmapjs: webMapJS,
27317
+ mapId: mapId,
27198
27318
  onHoverFeature: function onHoverFeature(hoverInfo) {
27199
27319
  if (layer.onHoverFeature) {
27200
27320
  layer.onHoverFeature(hoverInfo);
@@ -27684,6 +27804,9 @@ var DrawingTool = function DrawingTool(_ref) {
27684
27804
  };
27685
27805
 
27686
27806
  var opacityOptions = [100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 0];
27807
+ var getAreaName = function getAreaName(areaName) {
27808
+ return areaName || "".concat(dateUtils.dateToString(new Date(), 'dd/MM/yyyy HH:mm', true), " UTC");
27809
+ };
27687
27810
  var SAVE_AREA_BUTTON = 'Save area';
27688
27811
  var INPUT_AREA = 'Area name';
27689
27812
  var INPUT_OPACITY = 'Opacity';
@@ -27869,15 +27992,15 @@ var DrawingToolForm = function DrawingToolForm(_ref) {
27869
27992
  var Wrapper = function Wrapper(props) {
27870
27993
  var _props$id = props.id,
27871
27994
  id = _props$id === void 0 ? '' : _props$id,
27872
- areaName = props.areaName,
27995
+ _props$areaName = props.areaName,
27996
+ areaName = _props$areaName === void 0 ? '' : _props$areaName,
27873
27997
  area = props.area;
27874
27998
  return /*#__PURE__*/React.createElement(ReactHookFormProvider, {
27875
27999
  options: Object.assign(Object.assign({}, defaultFormOptions), {
27876
28000
  defaultValues: {
27877
28001
  id: id,
27878
28002
  area: area,
27879
- // TODO https://gitlab.com/opengeoweb/opengeoweb/-/issues/3954: use date as default name
27880
- areaName: areaName || 'Area 51'
28003
+ areaName: getAreaName(areaName)
27881
28004
  }
27882
28005
  })
27883
28006
  }, /*#__PURE__*/React.createElement(DrawingToolForm, Object.assign({}, props)));
@@ -28644,7 +28767,6 @@ var ReactMapView = /*#__PURE__*/function (_React$Component) {
28644
28767
  mapId = _this$props5.mapId;
28645
28768
  var adagucInitialised = this.state.adagucInitialised;
28646
28769
  var featureLayers = getFeatureLayers(children);
28647
- var wmjsMap = webmapUtils.getWMJSMapById(mapId);
28648
28770
  return /*#__PURE__*/React.createElement("div", {
28649
28771
  className: "MapView",
28650
28772
  style: {
@@ -28688,7 +28810,7 @@ var ReactMapView = /*#__PURE__*/function (_React$Component) {
28688
28810
  }
28689
28811
  }, /*#__PURE__*/React.createElement("div", null, children), adagucInitialised && featureLayers && featureLayers.length ? /*#__PURE__*/React.createElement(MapDrawContainer, {
28690
28812
  featureLayers: featureLayers,
28691
- webMapJS: wmjsMap
28813
+ mapId: mapId
28692
28814
  }) : null), passiveMap &&
28693
28815
  /*#__PURE__*/
28694
28816
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/control-has-associated-label, jsx-a11y/interactive-supports-focus
@@ -30794,6 +30916,7 @@ var TimeSliderClock = function TimeSliderClock(_ref2) {
30794
30916
  options: options,
30795
30917
  controls: controls
30796
30918
  }), /*#__PURE__*/React__default.createElement(Draggable, {
30919
+ cancel: ".MuiButtonBase-root",
30797
30920
  nodeRef: clockElement,
30798
30921
  bounds: "parent",
30799
30922
  position: position,
@@ -33973,12 +34096,13 @@ var componentsLookUp = function componentsLookUp(_ref) {
33973
34096
  case 'Map':
33974
34097
  {
33975
34098
  var mapPreset = initialProps.mapPreset,
33976
- mapControls = initialProps.mapControls;
34099
+ mapControls = initialProps.mapControls,
34100
+ shouldDisplayDrawControls = initialProps.shouldDisplayDrawControls;
33977
34101
  return /*#__PURE__*/React__default.createElement(ConfigurableMapConnect, Object.assign({}, mapPreset, {
33978
34102
  id: id,
33979
34103
  "data-testid": "coreConfigurableMapConnect",
33980
34104
  displayGetFeatureInfoButtonInMap: true,
33981
- shouldDisplayDrawControls: true,
34105
+ shouldDisplayDrawControls: shouldDisplayDrawControls,
33982
34106
  mapControls: mapControls
33983
34107
  }));
33984
34108
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/core",
3
- "version": "6.0.2",
3
+ "version": "6.0.4",
4
4
  "description": "GeoWeb Core library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -14,12 +14,12 @@
14
14
  "peerDependencies": {
15
15
  "@mui/material": "5.12.0",
16
16
  "@mui/system": "5.14.5",
17
- "@opengeoweb/api": "6.0.2",
18
- "@opengeoweb/form-fields": "6.0.2",
19
- "@opengeoweb/shared": "6.0.2",
20
- "@opengeoweb/store": "6.0.2",
21
- "@opengeoweb/theme": "6.0.2",
22
- "@opengeoweb/webmap": "6.0.2",
17
+ "@opengeoweb/api": "6.0.4",
18
+ "@opengeoweb/form-fields": "6.0.4",
19
+ "@opengeoweb/shared": "6.0.4",
20
+ "@opengeoweb/store": "6.0.4",
21
+ "@opengeoweb/theme": "6.0.4",
22
+ "@opengeoweb/webmap": "6.0.4",
23
23
  "@redux-eggs/redux-toolkit": "2.2.0",
24
24
  "@redux-eggs/saga-extension": "2.2.0",
25
25
  "@reduxjs/toolkit": "1.9.5",
@@ -11,6 +11,7 @@ export interface InitialMapProps {
11
11
  mapPreset: mapTypes.MapPreset;
12
12
  syncGroupsIds: string[];
13
13
  mapControls?: React.ReactNode;
14
+ shouldDisplayDrawControls?: boolean;
14
15
  }
15
16
  interface InitialSliderProps {
16
17
  sliderPreset: {
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { layerSelectTypes, layerTypes } from '@opengeoweb/store';
3
3
  interface AddLayerButtonProps {
4
- onRenderTree?: (service: layerSelectTypes.LayerSelectService) => React.ReactChild;
4
+ onRenderTree?: (service: layerSelectTypes.LayerSelectService) => React.ReactNode;
5
5
  preloadedServices?: layerSelectTypes.LayerSelectService[];
6
6
  tooltip?: string;
7
7
  layerType?: layerTypes.LayerType;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { layerSelectTypes, layerTypes } from '@opengeoweb/store';
3
3
  interface AddLayerPopupProps {
4
- onRenderTree?: (service: layerSelectTypes.LayerSelectService) => React.ReactChild;
4
+ onRenderTree?: (service: layerSelectTypes.LayerSelectService) => React.ReactNode;
5
5
  preloadedServices?: layerSelectTypes.LayerSelectService[];
6
6
  open?: boolean;
7
7
  handleClose?: () => void;
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  export declare const opacityOptions: number[];
3
+ export declare const getAreaName: (areaName: string) => string;
3
4
  export declare const SAVE_AREA_BUTTON = "Save area";
4
5
  export declare const INPUT_AREA = "Area name";
5
6
  export declare const INPUT_OPACITY = "Opacity";
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import { GeoJsonProperties, GeometryObject, Position } from 'geojson';
3
- import { WMJSMap } from '@opengeoweb/webmap';
4
3
  import { GeoJsonFeatureType, GeoJsonFeature, GeoFeatureStyle, Coordinate } from './geojsonShapes';
5
4
  type DrawStyle = {
6
5
  x: number;
@@ -23,7 +22,7 @@ export interface FeatureEvent {
23
22
  feature: GeoJsonFeature;
24
23
  }
25
24
  export interface MapDrawProps {
26
- webmapjs: WMJSMap;
25
+ mapId: string;
27
26
  geojson: GeoJSON.FeatureCollection;
28
27
  drawMode: string;
29
28
  deletePolygonCallback?: string;
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import { GeometryObject } from 'geojson';
3
- import { WMJSMap } from '@opengeoweb/webmap';
4
3
  import { DrawModeExitCallback, FeatureEvent } from './MapDraw';
5
4
  export type FeatureLayer = {
6
5
  id: string;
@@ -18,7 +17,7 @@ export type FeatureLayer = {
18
17
  };
19
18
  interface MapDrawContainerProps {
20
19
  featureLayers: FeatureLayer[];
21
- webMapJS: WMJSMap;
20
+ mapId: string;
22
21
  }
23
22
  declare const MapDrawContainer: React.FC<MapDrawContainerProps>;
24
23
  export default MapDrawContainer;
@@ -11,6 +11,7 @@ export interface TimeSliderCurrentTimeBoxProps {
11
11
  isAutoUpdating?: boolean;
12
12
  setUnfilteredSelectedTime: (unfilteredSelectedTime: number) => void;
13
13
  onSetNewDate?: (newDate: string) => void;
14
+ onSetCenterTime?: (newTime: number) => void;
14
15
  }
15
16
  declare const TimeSliderCurrentTimeBox: React.FC<TimeSliderCurrentTimeBoxProps>;
16
17
  export default TimeSliderCurrentTimeBox;
@@ -15,6 +15,7 @@ interface TimeSliderCurrentTimeBoxConnectComponentProps {
15
15
  setTimeSliderUnfilteredSelectedTime?: typeof mapActions.setTimeSliderUnfilteredSelectedTime;
16
16
  stopMapAnimation?: typeof mapActions.mapStopAnimation;
17
17
  setTime?: typeof genericActions.setTime;
18
+ setCenterTime?: typeof mapActions.setTimeSliderCenterTime;
18
19
  }
19
20
  declare const TimeSliderCurrentTimeBoxConnect: import("react-redux").ConnectedComponent<React.FC<TimeSliderCurrentTimeBoxConnectComponentProps>, {
20
21
  mapId: string;
@@ -31,6 +32,7 @@ declare const TimeSliderCurrentTimeBoxConnect: import("react-redux").ConnectedCo
31
32
  setTimeSliderUnfilteredSelectedTime?: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetTimeSliderUnfilteredSelectedTimePayload, "mapReducer/setTimeSliderUnfilteredSelectedTime"> | undefined;
32
33
  stopMapAnimation?: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetMapAnimationStopPayload, "mapReducer/mapStopAnimation"> | undefined;
33
34
  setTime?: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("dist/libs/store/src/store/generic/types").SetTimePayload, string> | undefined;
35
+ setCenterTime?: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetTimeSliderCenterTimePayload, "mapReducer/setTimeSliderCenterTime"> | undefined;
34
36
  context?: React.Context<import("react-redux").ReactReduxContextValue<any, import("redux").AnyAction>> | undefined;
35
37
  store?: import("redux").Store<any, import("redux").AnyAction> | undefined;
36
38
  }>;
@@ -69,12 +69,13 @@ export declare const moveRelativeToTimePoint: (timePoint: number, timePointPx: n
69
69
  * ...
70
70
  */
71
71
  export declare const useCanvasTarget: (eventType: string) => [boolean, React.RefObject<CanvasComponent>];
72
- export declare const needleGeom: {
72
+ export declare const timeBoxGeom: {
73
73
  smallWidth: number;
74
74
  largeWidth: number;
75
75
  height: number;
76
76
  cornerRadius: number;
77
77
  lineWidth: number;
78
+ iconWidth: number;
78
79
  };
79
80
  export declare const AUTO_MOVE_AREA_PADDING = 1;
80
81
  export declare const getAutoMoveAreaWidth: (scale: mapEnums.Scale) => number;
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { layerSelectTypes } from '@opengeoweb/store';
3
3
  interface WMSLoaderProps {
4
4
  onClickService?: (serviceURL: string, layerName: string) => void;
5
- onRenderTree?: (service: layerSelectTypes.LayerSelectService) => React.ReactChild;
5
+ onRenderTree?: (service: layerSelectTypes.LayerSelectService) => React.ReactNode;
6
6
  highlightedLayers?: [];
7
7
  preloadedServices?: layerSelectTypes.LayerSelectService[];
8
8
  tooltip?: string;