@opengeoweb/core 3.0.0 → 4.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/index.esm.js CHANGED
@@ -1,10 +1,10 @@
1
- import { createAction, createSlice, createSelector } from '@reduxjs/toolkit';
1
+ import { createAction, createSlice, createSelector, createEntityAdapter } from '@reduxjs/toolkit';
2
2
  import produce$1, { current, produce } from 'immer';
3
3
  import moment from 'moment';
4
4
  import * as React from 'react';
5
5
  import React__default, { Component, useRef, useState, useEffect } from 'react';
6
6
  import _, { isEqual, debounce, throttle, range } from 'lodash';
7
- import { takeLatest, put, select, call, all, takeEvery } from 'redux-saga/effects';
7
+ import { takeLatest, put, select, call, all, takeEvery, delay } from 'redux-saga/effects';
8
8
  import { connect, useDispatch, useSelector, Provider } from 'react-redux';
9
9
  import { Tooltip, Paper, Typography, Grid, InputLabel, IconButton, Box, CircularProgress, List, ListSubheader, ListItem, ListItemText, Dialog, DialogTitle, DialogContent, DialogContentText, TextField, DialogActions, Button, MenuItem, FormControl, LinearProgress, InputAdornment, ListItemSecondaryAction, ListItemIcon, Checkbox, Switch, Slider, FormControlLabel, Popover, useMediaQuery, useTheme, SliderThumb } from '@mui/material';
10
10
  import { ToolButton, ToolContainerDraggable, TooltipSelect, AlertIcon, tooltipContainerStyles, sliderHeaderStyle, CustomSlider, ToggleMenu, ManagerButton, EnableButton, AlertBanner, ManagerDeleteButton, CustomToggleButton, useIsMounted } from '@opengeoweb/shared';
@@ -1440,7 +1440,7 @@ var createLayer = function createLayer(_a) {
1440
1440
  status: status
1441
1441
  });
1442
1442
  };
1443
- var initialState$5 = {
1443
+ var initialState$6 = {
1444
1444
  byId: {},
1445
1445
  allIds: [],
1446
1446
  availableBaseLayers: {
@@ -1448,8 +1448,8 @@ var initialState$5 = {
1448
1448
  allIds: []
1449
1449
  }
1450
1450
  };
1451
- var slice$5 = createSlice({
1452
- initialState: initialState$5,
1451
+ var slice$6 = createSlice({
1452
+ initialState: initialState$6,
1453
1453
  name: 'layerReducer',
1454
1454
  reducers: {
1455
1455
  addLayer: function addLayer(draft, action) {
@@ -1683,9 +1683,9 @@ var slice$5 = createSlice({
1683
1683
  layerDimensions = _action$payload11.layerDimensions;
1684
1684
  var layerStyleAction = layerActions.layerChangeStyle(layerStyle);
1685
1685
  var state = current(draft);
1686
- var intermediateState = layerStyle === null ? state : reducer$5(state, layerStyleAction);
1686
+ var intermediateState = layerStyle === null ? state : reducer$6(state, layerStyleAction);
1687
1687
  var dimensionsAction = layerActions.layerSetDimensions(layerDimensions);
1688
- var newState = layerDimensions === null ? intermediateState : reducer$5(intermediateState, dimensionsAction);
1688
+ var newState = layerDimensions === null ? intermediateState : reducer$6(intermediateState, dimensionsAction);
1689
1689
  return newState;
1690
1690
  }
1691
1691
  },
@@ -1730,7 +1730,7 @@ var slice$5 = createSlice({
1730
1730
  };
1731
1731
  /* Handle the Layer action with the same logic, using the same reducer */
1732
1732
 
1733
- return reducer$5(prevState, action);
1733
+ return reducer$6(prevState, action);
1734
1734
  }, state);
1735
1735
  }).addCase(setMapPreset, function (draft, action) {
1736
1736
  var mapId = action.payload.mapId;
@@ -1750,8 +1750,8 @@ var slice$5 = createSlice({
1750
1750
  });
1751
1751
  }
1752
1752
  });
1753
- var reducer$5 = slice$5.reducer;
1754
- var layerActions = slice$5.actions;
1753
+ var reducer$6 = slice$6.reducer;
1754
+ var layerActions = slice$6.actions;
1755
1755
 
1756
1756
  /* *
1757
1757
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1769,12 +1769,12 @@ var layerActions = slice$5.actions;
1769
1769
  * Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
1770
1770
  * Copyright 2020 - Finnish Meteorological Institute (FMI)
1771
1771
  * */
1772
- var initialState$4 = {
1772
+ var initialState$5 = {
1773
1773
  byId: {},
1774
1774
  allIds: []
1775
1775
  };
1776
- var slice$4 = createSlice({
1777
- initialState: initialState$4,
1776
+ var slice$5 = createSlice({
1777
+ initialState: initialState$5,
1778
1778
  name: 'serviceReducer',
1779
1779
  reducers: {
1780
1780
  serviceSetLayers: function serviceSetLayers(draft, action) {
@@ -1801,13 +1801,13 @@ var slice$4 = createSlice({
1801
1801
  var serviceLayers = action.payload.serviceLayers;
1802
1802
  if (serviceLayers === null) return draft;
1803
1803
  var mapAction = serviceActions.serviceSetLayers(serviceLayers);
1804
- var newState = reducer$4(draft, mapAction);
1804
+ var newState = reducer$5(draft, mapAction);
1805
1805
  return newState;
1806
1806
  });
1807
1807
  }
1808
1808
  });
1809
- var reducer$4 = slice$4.reducer;
1810
- var serviceActions = slice$4.actions;
1809
+ var reducer$5 = slice$5.reducer;
1810
+ var serviceActions = slice$5.actions;
1811
1811
 
1812
1812
  /* *
1813
1813
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1992,13 +1992,13 @@ var createUIDialogElement = function createUIDialogElement(_ref) {
1992
1992
  source: source
1993
1993
  };
1994
1994
  };
1995
- var initialState$3 = {
1995
+ var initialState$4 = {
1996
1996
  order: [],
1997
1997
  dialogs: {},
1998
1998
  activeWindowId: undefined
1999
1999
  };
2000
- var slice$3 = createSlice({
2001
- initialState: initialState$3,
2000
+ var slice$4 = createSlice({
2001
+ initialState: initialState$4,
2002
2002
  name: 'uiReducer',
2003
2003
  reducers: {
2004
2004
  registerDialog: function registerDialog(draft, action) {
@@ -2075,8 +2075,8 @@ var slice$3 = createSlice({
2075
2075
  }
2076
2076
  }
2077
2077
  });
2078
- var reducer$3 = slice$3.reducer;
2079
- var uiActions = slice$3.actions;
2078
+ var reducer$4 = slice$4.reducer;
2079
+ var uiActions = slice$4.actions;
2080
2080
 
2081
2081
  var addBaseLayer = layerActions.addBaseLayer,
2082
2082
  addLayer$1 = layerActions.addLayer,
@@ -2127,12 +2127,12 @@ var createLayersWithIds = function createLayersWithIds(state, layers) {
2127
2127
  });
2128
2128
  };
2129
2129
 
2130
- var initialState$2 = {
2130
+ var initialState$3 = {
2131
2131
  byId: {},
2132
2132
  allIds: []
2133
2133
  };
2134
- var slice$2 = createSlice({
2135
- initialState: initialState$2,
2134
+ var slice$3 = createSlice({
2135
+ initialState: initialState$3,
2136
2136
  name: 'mapReducer',
2137
2137
  reducers: {
2138
2138
  registerMap: function registerMap(draft, action) {
@@ -2698,13 +2698,13 @@ var slice$2 = createSlice({
2698
2698
  };
2699
2699
  /* Handle the Layer action with the same logic, using the same reducer */
2700
2700
 
2701
- return reducer$2(prevState, action);
2701
+ return reducer$3(prevState, action);
2702
2702
  }, draft);
2703
2703
  }).addCase(onUpdateLayerInformation, function (draft, action) {
2704
2704
  var mapDimensions = action.payload.mapDimensions;
2705
2705
  if (mapDimensions === null) return draft;
2706
2706
  var mapAction = mapActions$1.mapUpdateAllMapDimensions(mapDimensions);
2707
- return reducer$2(draft, mapAction);
2707
+ return reducer$3(draft, mapAction);
2708
2708
  }).addCase(mapChangeDimension, function (draft, action) {
2709
2709
  var _action$payload36 = action.payload,
2710
2710
  mapId = _action$payload36.mapId,
@@ -2743,11 +2743,11 @@ var slice$2 = createSlice({
2743
2743
  });
2744
2744
  }
2745
2745
  });
2746
- var mapActions$1 = Object.assign(Object.assign({}, slice$2.actions), {
2746
+ var mapActions$1 = Object.assign(Object.assign({}, slice$3.actions), {
2747
2747
  setMapPreset: setMapPreset,
2748
2748
  mapChangeDimension: mapChangeDimension
2749
2749
  });
2750
- var reducer$2 = slice$2.reducer;
2750
+ var reducer$3 = slice$3.reducer;
2751
2751
 
2752
2752
  /* *
2753
2753
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -3244,7 +3244,7 @@ var removeInPlace = function removeInPlace(inDraftArray, condition) {
3244
3244
  * Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
3245
3245
  * Copyright 2020 - Finnish Meteorological Institute (FMI)
3246
3246
  * */
3247
- var initialState$1 = {
3247
+ var initialState$2 = {
3248
3248
  sources: {
3249
3249
  byId: {},
3250
3250
  allIds: []
@@ -3268,8 +3268,8 @@ var initialState$1 = {
3268
3268
  }
3269
3269
  }
3270
3270
  };
3271
- var slice$1 = createSlice({
3272
- initialState: initialState$1,
3271
+ var slice$2 = createSlice({
3272
+ initialState: initialState$2,
3273
3273
  name: 'synchronizationGroupsReducer',
3274
3274
  reducers: {
3275
3275
  syncGroupAddSource: function syncGroupAddSource(draft, action) {
@@ -3413,7 +3413,7 @@ var slice$1 = createSlice({
3413
3413
  });
3414
3414
  },
3415
3415
  syncGroupClear: function syncGroupClear() {
3416
- return initialState$1;
3416
+ return initialState$2;
3417
3417
  },
3418
3418
  syncGroupSetViewState: function syncGroupSetViewState(draft, action) {
3419
3419
  var viewState = action.payload.viewState;
@@ -3485,7 +3485,7 @@ var setBboxOrTimeSync = function setBboxOrTimeSync(state, action) {
3485
3485
  });
3486
3486
  };
3487
3487
 
3488
- var _slice$actions = slice$1.actions,
3488
+ var _slice$actions = slice$2.actions,
3489
3489
  syncGroupAddGroup = _slice$actions.syncGroupAddGroup,
3490
3490
  syncGroupAddSource = _slice$actions.syncGroupAddSource,
3491
3491
  syncGroupAddTarget = _slice$actions.syncGroupAddTarget;
@@ -3495,8 +3495,8 @@ var _slice$actions = slice$1.actions,
3495
3495
  syncGroupRemoveSource = _slice$actions.syncGroupRemoveSource,
3496
3496
  syncGroupRemoveTarget = _slice$actions.syncGroupRemoveTarget,
3497
3497
  syncGroupSetViewState = _slice$actions.syncGroupSetViewState;
3498
- var actions = slice$1.actions,
3499
- reducer$1 = slice$1.reducer;
3498
+ var actions = slice$2.actions,
3499
+ reducer$2 = slice$2.reducer;
3500
3500
 
3501
3501
  /* *
3502
3502
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -3553,7 +3553,7 @@ var index = /*#__PURE__*/Object.freeze({
3553
3553
  actions: actions,
3554
3554
  constants: constants,
3555
3555
  types: types$1,
3556
- initialState: initialState$1
3556
+ initialState: initialState$2
3557
3557
  });
3558
3558
 
3559
3559
  /* *
@@ -4359,7 +4359,7 @@ var selectors = /*#__PURE__*/Object.freeze({
4359
4359
  getMapPresetError: getMapPresetError
4360
4360
  });
4361
4361
 
4362
- var initialState = {
4362
+ var initialState$1 = {
4363
4363
  filters: {
4364
4364
  searchFilter: '',
4365
4365
  activeServices: {
@@ -4372,8 +4372,8 @@ var initialState = {
4372
4372
  }
4373
4373
  }
4374
4374
  };
4375
- var slice = createSlice({
4376
- initialState: initialState,
4375
+ var slice$1 = createSlice({
4376
+ initialState: initialState$1,
4377
4377
  name: 'layerSelect',
4378
4378
  reducers: {
4379
4379
  setSearchFilter: function setSearchFilter(draft, action) {
@@ -4532,8 +4532,8 @@ var slice = createSlice({
4532
4532
  }
4533
4533
  }
4534
4534
  });
4535
- var reducer = slice.reducer;
4536
- var layerSelectActions = slice.actions;
4535
+ var reducer$1 = slice$1.reducer;
4536
+ var layerSelectActions = slice$1.actions;
4537
4537
 
4538
4538
  /* *
4539
4539
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -4665,6 +4665,80 @@ var getKeywordObjectById = function getKeywordObjectById(store, keywordId) {
4665
4665
  return (_d = (_c = (_b = (_a = store === null || store === void 0 ? void 0 : store.layerSelect) === null || _a === void 0 ? void 0 : _a.filters) === null || _b === void 0 ? void 0 : _b.keywords) === null || _c === void 0 ? void 0 : _c.byId[keywordId]) !== null && _d !== void 0 ? _d : {};
4666
4666
  };
4667
4667
 
4668
+ /* *
4669
+ * Licensed under the Apache License, Version 2.0 (the "License");
4670
+ * you may not use this file except in compliance with the License.
4671
+ * You may obtain a copy of the License at
4672
+ *
4673
+ * http://www.apache.org/licenses/LICENSE-2.0
4674
+ *
4675
+ * Unless required by applicable law or agreed to in writing, software
4676
+ * distributed under the License is distributed on an "AS IS" BASIS,
4677
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4678
+ * See the License for the specific language governing permissions and
4679
+ * limitations under the License.
4680
+ *
4681
+ * Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
4682
+ * Copyright 2022 - Finnish Meteorological Institute (FMI)
4683
+ * */
4684
+ var snackbarAdapter = createEntityAdapter();
4685
+ var initialState = snackbarAdapter.getInitialState();
4686
+ var slice = createSlice({
4687
+ initialState: initialState,
4688
+ name: 'snackbar',
4689
+ reducers: {
4690
+ // To open the snackbar call this action
4691
+ // eslint-disable-next-line no-unused-vars
4692
+ openSnackbar: function openSnackbar(draft, action) {},
4693
+ // triggerOpenSnackbarBySaga is triggered by the saga to open the snackbar after the current snackbars have all been closed
4694
+ // DO NOT CALL THIS ACTION DIRECTLY!
4695
+ triggerOpenSnackbarBySaga: function triggerOpenSnackbarBySaga(draft, action) {
4696
+ var snackbarContent = action.payload.snackbarContent; // Ensure we have an id before proceeding
4697
+
4698
+ if (snackbarContent.id === undefined) {
4699
+ return;
4700
+ }
4701
+
4702
+ snackbarAdapter.setOne(draft, snackbarContent);
4703
+ },
4704
+ closeSnackbar: function closeSnackbar(draft) {
4705
+ snackbarAdapter.removeAll(draft);
4706
+ }
4707
+ }
4708
+ });
4709
+ var reducer = slice.reducer;
4710
+ var snackbarActions = slice.actions;
4711
+
4712
+ /* *
4713
+ * Licensed under the Apache License, Version 2.0 (the "License");
4714
+ * you may not use this file except in compliance with the License.
4715
+ * You may obtain a copy of the License at
4716
+ *
4717
+ * http://www.apache.org/licenses/LICENSE-2.0
4718
+ *
4719
+ * Unless required by applicable law or agreed to in writing, software
4720
+ * distributed under the License is distributed on an "AS IS" BASIS,
4721
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4722
+ * See the License for the specific language governing permissions and
4723
+ * limitations under the License.
4724
+ *
4725
+ * Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
4726
+ * Copyright 2022 - Finnish Meteorological Institute (FMI)
4727
+ * */
4728
+
4729
+ var _snackbarAdapter$getS = snackbarAdapter.getSelectors(function (state) {
4730
+ var _a;
4731
+
4732
+ return (_a = state === null || state === void 0 ? void 0 : state.snackbar) !== null && _a !== void 0 ? _a : {
4733
+ entities: {},
4734
+ ids: []
4735
+ };
4736
+ }),
4737
+ getCurrentSnackbarMessages = _snackbarAdapter$getS.selectAll;
4738
+ createSelector(getCurrentSnackbarMessages, function (currentMessages) {
4739
+ return currentMessages.length > 0 ? currentMessages[0] : undefined;
4740
+ });
4741
+
4668
4742
  var types = /*#__PURE__*/Object.freeze({
4669
4743
  __proto__: null
4670
4744
  });
@@ -4996,15 +5070,15 @@ var getMapBaseLayerActionsTargets = function getMapBaseLayerActionsTargets(state
4996
5070
  });
4997
5071
  };
4998
5072
 
4999
- var _marked$4 = /*#__PURE__*/regeneratorRuntime.mark(setTimeSaga),
5000
- _marked2$4 = /*#__PURE__*/regeneratorRuntime.mark(setBBoxSaga),
5073
+ var _marked$5 = /*#__PURE__*/regeneratorRuntime.mark(setTimeSaga),
5074
+ _marked2$5 = /*#__PURE__*/regeneratorRuntime.mark(setBBoxSaga),
5001
5075
  _marked3$4 = /*#__PURE__*/regeneratorRuntime.mark(layerActionsSaga),
5002
5076
  _marked4$2 = /*#__PURE__*/regeneratorRuntime.mark(addLayerActionsSaga),
5003
5077
  _marked5$2 = /*#__PURE__*/regeneratorRuntime.mark(deleteLayerActionsSaga),
5004
5078
  _marked6$1 = /*#__PURE__*/regeneratorRuntime.mark(moveLayerActionsSaga),
5005
5079
  _marked7$1 = /*#__PURE__*/regeneratorRuntime.mark(setActiveLayerIdActionsSaga),
5006
5080
  _marked8$1 = /*#__PURE__*/regeneratorRuntime.mark(mapBaseLayerActionsSaga),
5007
- _marked9$1 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga$4);
5081
+ _marked9$1 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga$5);
5008
5082
  var setBaseLayers = layerActions.setBaseLayers,
5009
5083
  addLayer = layerActions.addLayer,
5010
5084
  layerChangeDimension = layerActions.layerChangeDimension,
@@ -5052,7 +5126,7 @@ function setTimeSaga(_ref) {
5052
5126
  return _context.stop();
5053
5127
  }
5054
5128
  }
5055
- }, _marked$4);
5129
+ }, _marked$5);
5056
5130
  }
5057
5131
  function setBBoxSaga(_ref2) {
5058
5132
  var payload, targets, groups;
@@ -5079,7 +5153,7 @@ function setBBoxSaga(_ref2) {
5079
5153
  return _context2.stop();
5080
5154
  }
5081
5155
  }
5082
- }, _marked2$4);
5156
+ }, _marked2$5);
5083
5157
  }
5084
5158
  function layerActionsSaga(_ref3) {
5085
5159
  var payload, type, targets;
@@ -5294,7 +5368,7 @@ function mapBaseLayerActionsSaga(_ref8) {
5294
5368
  }
5295
5369
  }, _marked8$1);
5296
5370
  }
5297
- function rootSaga$4() {
5371
+ function rootSaga$5() {
5298
5372
  return regeneratorRuntime.wrap(function rootSaga$(_context9) {
5299
5373
  while (1) {
5300
5374
  switch (_context9.prev = _context9.next) {
@@ -5453,11 +5527,11 @@ var sources = function sources(store) {
5453
5527
 
5454
5528
  var createSyncGroupViewStateSelector = createSelector(groups, sources, createSyncGroupViewState);
5455
5529
 
5456
- var _marked$3 = /*#__PURE__*/regeneratorRuntime.mark(updateSourceValueWhenLinkingComponentToGroupSaga),
5457
- _marked2$3 = /*#__PURE__*/regeneratorRuntime.mark(addGroupTargetSaga),
5530
+ var _marked$4 = /*#__PURE__*/regeneratorRuntime.mark(updateSourceValueWhenLinkingComponentToGroupSaga),
5531
+ _marked2$4 = /*#__PURE__*/regeneratorRuntime.mark(addGroupTargetSaga),
5458
5532
  _marked3$3 = /*#__PURE__*/regeneratorRuntime.mark(linkGroupTargetSaga),
5459
5533
  _marked4$1 = /*#__PURE__*/regeneratorRuntime.mark(updateViewStateSaga),
5460
- _marked5$1 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga$3);
5534
+ _marked5$1 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga$4);
5461
5535
  function updateSourceValueWhenLinkingComponentToGroupSaga(groupId, targetToUpdate) {
5462
5536
  var group;
5463
5537
  return regeneratorRuntime.wrap(function updateSourceValueWhenLinkingComponentToGroupSaga$(_context) {
@@ -5524,7 +5598,7 @@ function updateSourceValueWhenLinkingComponentToGroupSaga(groupId, targetToUpdat
5524
5598
  return _context.stop();
5525
5599
  }
5526
5600
  }
5527
- }, _marked$3);
5601
+ }, _marked$4);
5528
5602
  }
5529
5603
  function addGroupTargetSaga(_ref) {
5530
5604
  var payload, groupId, linked, targetToUpdate;
@@ -5548,7 +5622,7 @@ function addGroupTargetSaga(_ref) {
5548
5622
  return _context2.stop();
5549
5623
  }
5550
5624
  }
5551
- }, _marked2$3);
5625
+ }, _marked2$4);
5552
5626
  }
5553
5627
  function linkGroupTargetSaga(_ref2) {
5554
5628
  var payload, groupId, linked, targetToUpdate;
@@ -5598,7 +5672,7 @@ function updateViewStateSaga() {
5598
5672
  }, _marked4$1);
5599
5673
  }
5600
5674
 
5601
- function rootSaga$3() {
5675
+ function rootSaga$4() {
5602
5676
  return regeneratorRuntime.wrap(function rootSaga$(_context5) {
5603
5677
  while (1) {
5604
5678
  switch (_context5.prev = _context5.next) {
@@ -5665,14 +5739,14 @@ function rootSaga$3() {
5665
5739
  var synchronizationGroupConfig = {
5666
5740
  id: 'syncronizationGroupStore-module',
5667
5741
  reducerMap: {
5668
- syncronizationGroupStore: reducer$1
5742
+ syncronizationGroupStore: reducer$2
5669
5743
  },
5670
- sagas: [rootSaga$4, rootSaga$3]
5744
+ sagas: [rootSaga$5, rootSaga$4]
5671
5745
  };
5672
5746
 
5673
- var _marked$2 = /*#__PURE__*/regeneratorRuntime.mark(registerMapUISaga),
5674
- _marked2$2 = /*#__PURE__*/regeneratorRuntime.mark(unregisterUIMapSaga),
5675
- _marked3$2 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga$2);
5747
+ var _marked$3 = /*#__PURE__*/regeneratorRuntime.mark(registerMapUISaga),
5748
+ _marked2$3 = /*#__PURE__*/regeneratorRuntime.mark(unregisterUIMapSaga),
5749
+ _marked3$2 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga$3);
5676
5750
  function registerMapUISaga() {
5677
5751
  var fields, source;
5678
5752
  return regeneratorRuntime.wrap(function registerMapUISaga$(_context) {
@@ -5708,7 +5782,7 @@ function registerMapUISaga() {
5708
5782
  return _context.stop();
5709
5783
  }
5710
5784
  }
5711
- }, _marked$2);
5785
+ }, _marked$3);
5712
5786
  }
5713
5787
  function unregisterUIMapSaga() {
5714
5788
  var fields, activeUI;
@@ -5760,9 +5834,9 @@ function unregisterUIMapSaga() {
5760
5834
  return _context2.stop();
5761
5835
  }
5762
5836
  }
5763
- }, _marked2$2);
5837
+ }, _marked2$3);
5764
5838
  }
5765
- function rootSaga$2() {
5839
+ function rootSaga$3() {
5766
5840
  return regeneratorRuntime.wrap(function rootSaga$(_context3) {
5767
5841
  while (1) {
5768
5842
  switch (_context3.prev = _context3.next) {
@@ -5801,9 +5875,9 @@ function rootSaga$2() {
5801
5875
  var uiModuleConfig = {
5802
5876
  id: 'ui-module',
5803
5877
  reducerMap: {
5804
- ui: reducer$3
5878
+ ui: reducer$4
5805
5879
  },
5806
- sagas: [rootSaga$2]
5880
+ sagas: [rootSaga$3]
5807
5881
  };
5808
5882
 
5809
5883
  /* *
@@ -5971,100 +6045,51 @@ var PlayButtonConnect = connectRedux$6(function (_ref) {
5971
6045
  * Copyright 2022 - Finnish Meteorological Institute (FMI)
5972
6046
  * */
5973
6047
 
5974
- var parseBoolean = function parseBoolean(value) {
5975
- return ['true', 'false', true, false].includes(value) && JSON.parse(value);
5976
- };
5977
-
5978
- var isBaseLayer = function isBaseLayer(layer) {
5979
- return ['baseLayer'].includes(layer.layerType);
5980
- };
5981
-
5982
- var isMapLayer = function isMapLayer(layer) {
5983
- return ['mapLayer'].includes(layer.layerType);
5984
- };
5985
-
5986
- var isOverLayer = function isOverLayer(layer) {
5987
- return ['overLayer'].includes(layer.layerType);
5988
- };
5989
-
5990
6048
  var isValidService = function isValidService(service) {
5991
6049
  return Object.prototype.hasOwnProperty.call(service, 'url');
5992
6050
  };
5993
6051
 
5994
- var parseLayerType = function parseLayerType(layer, defaultValue) {
5995
- if (isBaseLayer(layer)) {
5996
- return LayerType.baseLayer;
5997
- }
5998
-
5999
- if (isMapLayer(layer)) {
6000
- return LayerType.mapLayer;
6001
- }
6002
-
6003
- if (isOverLayer(layer)) {
6004
- return LayerType.overLayer;
6005
- }
6006
-
6007
- return defaultValue;
6052
+ var parseBoolean = function parseBoolean(value) {
6053
+ return typeof value === 'boolean' ? value : value === 'true';
6008
6054
  };
6009
-
6010
6055
  var parseLayer = function parseLayer(layer) {
6011
- var lr = JSON.parse(JSON.stringify(layer)); // Cloning used here to achieve object immutability
6012
-
6013
- if (!lr.id) {
6014
- lr.id = generateLayerId();
6015
- }
6016
-
6017
- if (lr.layerType) {
6018
- lr.layerType = parseLayerType(lr, null);
6019
- }
6020
-
6021
- if (lr.enabled) {
6022
- lr.enabled = parseBoolean(lr.enabled);
6023
- }
6024
-
6025
- return lr;
6056
+ return Object.assign(Object.assign(Object.assign({}, layer), !layer.id && {
6057
+ id: generateLayerId()
6058
+ }), layer.enabled && {
6059
+ enabled: parseBoolean(layer.enabled)
6060
+ });
6026
6061
  };
6027
6062
 
6028
- var filterBaseLayers = function filterBaseLayers(presetArray) {
6029
- var hasLayers = presetArray && Array.isArray(presetArray) && presetArray.length > 0;
6030
- var filteredBaseLayers = hasLayers ? presetArray.filter(function (preset) {
6031
- return isBaseLayer(preset);
6032
- }).map(function (filteredPresetLayer) {
6033
- return parseLayer(filteredPresetLayer);
6034
- }) : null;
6035
- var hasBaseLayers = filteredBaseLayers && filteredBaseLayers.length > 0;
6036
- var baseLayers = hasBaseLayers ? filteredBaseLayers : undefined;
6037
- return baseLayers;
6038
- };
6039
- var filterMapLayers = function filterMapLayers(presetArray) {
6040
- var hasLayers = presetArray && Array.isArray(presetArray) && presetArray.length > 0;
6041
- var filteredMapLayers = hasLayers ? presetArray.filter(function (preset) {
6042
- return isMapLayer(preset);
6043
- }).map(function (filteredPresetLayer) {
6044
- return parseLayer(filteredPresetLayer);
6045
- }) : null;
6046
- var hasMapLayers = filteredMapLayers && filteredMapLayers.length > 0;
6047
- var mapLayers = hasMapLayers ? filteredMapLayers : undefined;
6048
- return mapLayers;
6063
+ var createEmtpyFilteredList = function createEmtpyFilteredList(existingList) {
6064
+ return {
6065
+ mapLayers: existingList,
6066
+ baseLayers: existingList,
6067
+ overLayers: existingList
6068
+ };
6049
6069
  };
6070
+
6050
6071
  var filterLayers = function filterLayers() {
6051
6072
  var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
6073
+ var layerParser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (layer) {
6074
+ return layer;
6075
+ };
6052
6076
  return layers.reduce(function (layers, layer) {
6053
6077
  var mapLayers = layers.mapLayers,
6054
6078
  baseLayers = layers.baseLayers,
6055
6079
  overLayers = layers.overLayers;
6080
+ var parsedLayer = layerParser(layer);
6056
6081
 
6057
6082
  if (layer.layerType === LayerType.baseLayer) {
6058
6083
  return {
6059
6084
  mapLayers: mapLayers,
6060
- baseLayers: baseLayers.concat(layer),
6085
+ baseLayers: baseLayers.concat(parsedLayer),
6061
6086
  overLayers: overLayers
6062
6087
  };
6063
6088
  }
6064
6089
 
6065
6090
  if (layer.layerType === LayerType.mapLayer) {
6066
6091
  return {
6067
- mapLayers: mapLayers.concat(layer),
6092
+ mapLayers: mapLayers.concat(parsedLayer),
6068
6093
  baseLayers: baseLayers,
6069
6094
  overLayers: overLayers
6070
6095
  };
@@ -6074,16 +6099,12 @@ var filterLayers = function filterLayers() {
6074
6099
  return {
6075
6100
  mapLayers: mapLayers,
6076
6101
  baseLayers: baseLayers,
6077
- overLayers: overLayers.concat(layer)
6102
+ overLayers: overLayers.concat(parsedLayer)
6078
6103
  };
6079
6104
  }
6080
6105
 
6081
6106
  return layers;
6082
- }, {
6083
- mapLayers: [],
6084
- baseLayers: [],
6085
- overLayers: []
6086
- });
6107
+ }, createEmtpyFilteredList([]));
6087
6108
  };
6088
6109
  var filterServices = function filterServices(presetArray) {
6089
6110
  var hasServices = presetArray && Array.isArray(presetArray) && presetArray.length > 0;
@@ -6094,21 +6115,28 @@ var filterServices = function filterServices(presetArray) {
6094
6115
  var services = hasValidServices ? validServices : undefined;
6095
6116
  return services;
6096
6117
  };
6097
- var filterMapPresets = function filterMapPresets(presets) {
6098
- var preset = presets && presets.preset;
6099
- var filterredServices = preset && preset.services ? filterServices(preset.services) : undefined;
6100
- var baseServices = preset && preset.baseServices ? filterServices(preset.baseServices) : undefined;
6101
- var filteredBaseLayers = preset && preset.layers ? filterBaseLayers(preset.layers) : undefined;
6102
- var filteredMapLayers = preset && preset.layers ? filterMapLayers(preset.layers) : undefined;
6118
+ var filterMapPresets = function filterMapPresets(initialAppPreset) {
6119
+ var preset = initialAppPreset && initialAppPreset.preset || {};
6120
+ var layers = preset.layers,
6121
+ services = preset.services,
6122
+ baseServices = preset.baseServices;
6123
+
6124
+ var _ref = layers ? filterLayers(layers, parseLayer) : createEmtpyFilteredList(undefined),
6125
+ baseLayers = _ref.baseLayers,
6126
+ mapLayers = _ref.mapLayers;
6127
+
6128
+ var filterredServices = services ? filterServices(services) : undefined;
6129
+ var filteredBaseServices = baseServices ? filterServices(baseServices) : undefined;
6103
6130
  var filteredPreset = {
6104
6131
  services: filterredServices,
6105
- baseServices: baseServices,
6106
- baseLayers: filteredBaseLayers,
6107
- mapLayers: filteredMapLayers
6132
+ baseServices: filteredBaseServices,
6133
+ baseLayers: baseLayers,
6134
+ mapLayers: mapLayers
6108
6135
  };
6109
6136
  return filteredPreset;
6110
- };
6111
- var getInitialPresets = function getInitialPresets(mapPreset, defaultInitialPresets) {
6137
+ }; // loads the initialPresets.json
6138
+
6139
+ var getInitialAppPresets = function getInitialAppPresets(mapPreset, defaultInitialPresets) {
6112
6140
  var filteredPresets = mapPreset ? filterMapPresets(mapPreset) : null;
6113
6141
  var initialPresets = filteredPresets || filterMapPresets(defaultInitialPresets);
6114
6142
  return initialPresets;
@@ -7037,7 +7065,7 @@ CanvasComponent.defaultProps = {
7037
7065
  var defaultCanvasWidth = 150;
7038
7066
  var defaultCanvasHeight = 30; // TODO: remove fontFamily styles after theming is fully implemented
7039
7067
 
7040
- var useStyles$s = makeStyles(function (theme) {
7068
+ var useStyles$r = makeStyles(function (theme) {
7041
7069
  return {
7042
7070
  legendCanvas: {
7043
7071
  margin: '10px 0px 10px 0px'
@@ -7105,7 +7133,7 @@ var renderLegendGraphic = function renderLegendGraphic(wmImage, ctx, width, heig
7105
7133
 
7106
7134
  var Legend = function Legend(_ref) {
7107
7135
  var layer = _ref.layer;
7108
- var classes = useStyles$s();
7136
+ var classes = useStyles$r();
7109
7137
  /* Variable to remember the previous image */
7110
7138
 
7111
7139
  var previousLegendImage = useRef(null);
@@ -7260,7 +7288,7 @@ var Legend = function Legend(_ref) {
7260
7288
  * Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
7261
7289
  * Copyright 2021 - Finnish Meteorological Institute (FMI)
7262
7290
  * */
7263
- var useStyles$r = makeStyles(function () {
7291
+ var useStyles$q = makeStyles(function () {
7264
7292
  return {
7265
7293
  legendList: {
7266
7294
  display: 'flex',
@@ -7288,7 +7316,7 @@ var LegendDialog = function LegendDialog(_ref) {
7288
7316
  order = _ref$order === void 0 ? 0 : _ref$order,
7289
7317
  _ref$source = _ref.source,
7290
7318
  source = _ref$source === void 0 ? 'app' : _ref$source;
7291
- var classes = useStyles$r();
7319
+ var classes = useStyles$q();
7292
7320
  return /*#__PURE__*/React.createElement(ToolContainerDraggable, {
7293
7321
  startPosition: {
7294
7322
  right: 20,
@@ -7436,8 +7464,8 @@ var LegendConnect = function LegendConnect(_a) {
7436
7464
  }, props));
7437
7465
  };
7438
7466
 
7439
- var _marked$1 = /*#__PURE__*/regeneratorRuntime.mark(startAnimationSaga),
7440
- _marked2$1 = /*#__PURE__*/regeneratorRuntime.mark(stopAnimationSaga),
7467
+ var _marked$2 = /*#__PURE__*/regeneratorRuntime.mark(startAnimationSaga),
7468
+ _marked2$2 = /*#__PURE__*/regeneratorRuntime.mark(stopAnimationSaga),
7441
7469
  _marked3$1 = /*#__PURE__*/regeneratorRuntime.mark(deleteLayerSaga),
7442
7470
  _marked4 = /*#__PURE__*/regeneratorRuntime.mark(updateAnimation),
7443
7471
  _marked5 = /*#__PURE__*/regeneratorRuntime.mark(setLayerDimensionsSaga),
@@ -7445,7 +7473,7 @@ var _marked$1 = /*#__PURE__*/regeneratorRuntime.mark(startAnimationSaga),
7445
7473
  _marked7 = /*#__PURE__*/regeneratorRuntime.mark(handleBaseLayersSaga),
7446
7474
  _marked8 = /*#__PURE__*/regeneratorRuntime.mark(setMapPresetSaga),
7447
7475
  _marked9 = /*#__PURE__*/regeneratorRuntime.mark(checkMapPresetForChangesSaga),
7448
- _marked10 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga$1);
7476
+ _marked10 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga$2);
7449
7477
 
7450
7478
  var generateTimeList = function generateTimeList(start, end, interval) {
7451
7479
  var timeList = [];
@@ -7495,7 +7523,7 @@ function startAnimationSaga(_ref) {
7495
7523
  return _context.stop();
7496
7524
  }
7497
7525
  }
7498
- }, _marked$1);
7526
+ }, _marked$2);
7499
7527
  }
7500
7528
  function stopAnimationSaga(_ref2) {
7501
7529
  var payload, mapId;
@@ -7513,7 +7541,7 @@ function stopAnimationSaga(_ref2) {
7513
7541
  return _context2.stop();
7514
7542
  }
7515
7543
  }
7516
- }, _marked2$1);
7544
+ }, _marked2$2);
7517
7545
  }
7518
7546
  function deleteLayerSaga(_ref3) {
7519
7547
  var payload, mapId, layers;
@@ -8121,7 +8149,7 @@ function checkMapPresetForChangesSaga(action) {
8121
8149
  }
8122
8150
  }, _marked9);
8123
8151
  }
8124
- function rootSaga$1() {
8152
+ function rootSaga$2() {
8125
8153
  return regeneratorRuntime.wrap(function rootSaga$(_context10) {
8126
8154
  while (1) {
8127
8155
  switch (_context10.prev = _context10.next) {
@@ -8182,11 +8210,11 @@ function rootSaga$1() {
8182
8210
  var moduleConfig = {
8183
8211
  id: 'webmap-module',
8184
8212
  reducerMap: {
8185
- webmap: reducer$2,
8186
- services: reducer$4,
8187
- layers: reducer$5
8213
+ webmap: reducer$3,
8214
+ services: reducer$5,
8215
+ layers: reducer$6
8188
8216
  },
8189
- sagas: [rootSaga$1]
8217
+ sagas: [rootSaga$2]
8190
8218
  };
8191
8219
 
8192
8220
  /* *
@@ -8206,13 +8234,13 @@ var moduleConfig = {
8206
8234
  * Copyright 2022 - Finnish Meteorological Institute (FMI)
8207
8235
  * */
8208
8236
  var mergePresetsAndUserAddedServices = function mergePresetsAndUserAddedServices(presets, userAddedServices) {
8209
- return Object.values(Object.assign(Object.assign({}, presets.reduce(function (byId, preset) {
8210
- return Object.assign(Object.assign({}, byId), _defineProperty({}, preset.id, preset));
8237
+ return Object.values(Object.assign(Object.assign({}, presets.reduce(function (byUrl, preset) {
8238
+ return Object.assign(Object.assign({}, byUrl), _defineProperty({}, preset.url, preset));
8211
8239
  }, {})), userAddedServices));
8212
8240
  };
8213
- var isService = function isService(param) {
8241
+ var isNoIdService = function isNoIdService(param) {
8214
8242
  var serviceParam = param;
8215
- return !!((serviceParam === null || serviceParam === void 0 ? void 0 : serviceParam.id) && (serviceParam === null || serviceParam === void 0 ? void 0 : serviceParam.name) && (serviceParam === null || serviceParam === void 0 ? void 0 : serviceParam.url), serviceParam === null || serviceParam === void 0 ? void 0 : serviceParam.isUserAddedService);
8243
+ return !!((serviceParam === null || serviceParam === void 0 ? void 0 : serviceParam.name) && (serviceParam === null || serviceParam === void 0 ? void 0 : serviceParam.url));
8216
8244
  };
8217
8245
 
8218
8246
  var getUserAddedServices = function getUserAddedServices() {
@@ -8221,19 +8249,14 @@ var getUserAddedServices = function getUserAddedServices() {
8221
8249
  var parsedData = JSON.parse(storedString);
8222
8250
 
8223
8251
  if (parsedData && _typeof(parsedData) === 'object') {
8224
- Object.values(parsedData).forEach(function (value) {
8225
- // eslint-disable-next-line no-prototype-builtins
8226
- if (value.hasOwnProperty('url') && value.hasOwnProperty('id')) {
8227
- var service = value;
8228
- service.isUserAddedService = true;
8229
- }
8230
- });
8231
8252
  return Object.entries(parsedData).reduce(function (userServices, _ref) {
8232
8253
  var _ref2 = _slicedToArray(_ref, 2),
8233
8254
  serviceUrl = _ref2[0],
8234
8255
  service = _ref2[1];
8235
8256
 
8236
- return Object.assign(Object.assign({}, userServices), isService(service) ? _defineProperty({}, serviceUrl, service) : {});
8257
+ return Object.assign(Object.assign({}, userServices), isNoIdService(service) ? _defineProperty({}, serviceUrl, Object.assign(Object.assign({}, service), {
8258
+ isUserAddedService: true
8259
+ })) : {});
8237
8260
  }, {});
8238
8261
  }
8239
8262
  } catch (e) {
@@ -8250,9 +8273,9 @@ var setUserAddedServices = function setUserAddedServices(services) {
8250
8273
  }
8251
8274
  };
8252
8275
 
8253
- var _marked = /*#__PURE__*/regeneratorRuntime.mark(newServiceAddedSaga),
8254
- _marked2 = /*#__PURE__*/regeneratorRuntime.mark(layerSelectServiceRemovedSaga),
8255
- _marked3 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga);
8276
+ var _marked$1 = /*#__PURE__*/regeneratorRuntime.mark(newServiceAddedSaga),
8277
+ _marked2$1 = /*#__PURE__*/regeneratorRuntime.mark(layerSelectServiceRemovedSaga),
8278
+ _marked3 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga$1);
8256
8279
  function newServiceAddedSaga(capturedAction) {
8257
8280
  var addedService, id, serviceUrl, name, isUserAddedService, keywords;
8258
8281
  return regeneratorRuntime.wrap(function newServiceAddedSaga$(_context) {
@@ -8278,7 +8301,7 @@ function newServiceAddedSaga(capturedAction) {
8278
8301
  return _context.stop();
8279
8302
  }
8280
8303
  }
8281
- }, _marked);
8304
+ }, _marked$1);
8282
8305
  }
8283
8306
  function layerSelectServiceRemovedSaga(capturedAction) {
8284
8307
  var removedService, serviceId;
@@ -8298,7 +8321,7 @@ function layerSelectServiceRemovedSaga(capturedAction) {
8298
8321
  return _context2.stop();
8299
8322
  }
8300
8323
  }
8301
- }, _marked2);
8324
+ }, _marked2$1);
8302
8325
  }
8303
8326
  function addServiceToLocalStorageSaga(_ref) {
8304
8327
  var payload = _ref.payload;
@@ -8308,7 +8331,6 @@ function addServiceToLocalStorageSaga(_ref) {
8308
8331
  if (!isUserAddedService) return;
8309
8332
  var localStorageServices = getUserAddedServices();
8310
8333
  setUserAddedServices(Object.assign(Object.assign({}, localStorageServices), _defineProperty({}, serviceUrl, {
8311
- id: serviceUrl,
8312
8334
  name: name,
8313
8335
  url: serviceUrl
8314
8336
  })));
@@ -8322,7 +8344,7 @@ function removeServiceFromLocalStorageSaga(_ref2) {
8322
8344
  delete updatedServices[serviceUrl];
8323
8345
  setUserAddedServices(updatedServices);
8324
8346
  }
8325
- function rootSaga() {
8347
+ function rootSaga$1() {
8326
8348
  return regeneratorRuntime.wrap(function rootSaga$(_context3) {
8327
8349
  while (1) {
8328
8350
  switch (_context3.prev = _context3.next) {
@@ -8369,7 +8391,108 @@ function rootSaga() {
8369
8391
  var layerSelectConfig = {
8370
8392
  id: 'layerSelect-module',
8371
8393
  reducerMap: {
8372
- layerSelect: reducer
8394
+ layerSelect: reducer$1
8395
+ },
8396
+ sagas: [rootSaga$1]
8397
+ };
8398
+
8399
+ var _marked = /*#__PURE__*/regeneratorRuntime.mark(openSnackbarSaga),
8400
+ _marked2 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga);
8401
+ var hideTime = 4000;
8402
+ function openSnackbarSaga(capturedAction) {
8403
+ var snackbarMessage, currentSnackbarMessages, id, currentSnackbarMessagesOpen;
8404
+ return regeneratorRuntime.wrap(function openSnackbarSaga$(_context) {
8405
+ while (1) {
8406
+ switch (_context.prev = _context.next) {
8407
+ case 0:
8408
+ snackbarMessage = capturedAction.payload.snackbarContent.message;
8409
+ _context.next = 3;
8410
+ return select(getCurrentSnackbarMessages);
8411
+
8412
+ case 3:
8413
+ currentSnackbarMessages = _context.sent;
8414
+
8415
+ if (!currentSnackbarMessages.length) {
8416
+ _context.next = 7;
8417
+ break;
8418
+ }
8419
+
8420
+ _context.next = 7;
8421
+ return put(snackbarActions.closeSnackbar());
8422
+
8423
+ case 7:
8424
+ // Generate a unique id
8425
+ id = "snackbar".concat(Date.now().toString());
8426
+ _context.next = 10;
8427
+ return put(snackbarActions.triggerOpenSnackbarBySaga({
8428
+ snackbarContent: {
8429
+ message: snackbarMessage,
8430
+ id: id
8431
+ }
8432
+ }));
8433
+
8434
+ case 10:
8435
+ _context.next = 12;
8436
+ return delay(hideTime);
8437
+
8438
+ case 12:
8439
+ _context.next = 14;
8440
+ return select(getCurrentSnackbarMessages);
8441
+
8442
+ case 14:
8443
+ currentSnackbarMessagesOpen = _context.sent;
8444
+
8445
+ if (!currentSnackbarMessagesOpen.length) {
8446
+ _context.next = 18;
8447
+ break;
8448
+ }
8449
+
8450
+ _context.next = 18;
8451
+ return put(snackbarActions.closeSnackbar());
8452
+
8453
+ case 18:
8454
+ case "end":
8455
+ return _context.stop();
8456
+ }
8457
+ }
8458
+ }, _marked);
8459
+ }
8460
+ function rootSaga() {
8461
+ return regeneratorRuntime.wrap(function rootSaga$(_context2) {
8462
+ while (1) {
8463
+ switch (_context2.prev = _context2.next) {
8464
+ case 0:
8465
+ _context2.next = 2;
8466
+ return takeLatest(snackbarActions.openSnackbar.type, openSnackbarSaga);
8467
+
8468
+ case 2:
8469
+ case "end":
8470
+ return _context2.stop();
8471
+ }
8472
+ }
8473
+ }, _marked2);
8474
+ }
8475
+
8476
+ /* *
8477
+ * Licensed under the Apache License, Version 2.0 (the "License");
8478
+ * you may not use this file except in compliance with the License.
8479
+ * You may obtain a copy of the License at
8480
+ *
8481
+ * http://www.apache.org/licenses/LICENSE-2.0
8482
+ *
8483
+ * Unless required by applicable law or agreed to in writing, software
8484
+ * distributed under the License is distributed on an "AS IS" BASIS,
8485
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
8486
+ * See the License for the specific language governing permissions and
8487
+ * limitations under the License.
8488
+ *
8489
+ * Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
8490
+ * Copyright 2022 - Finnish Meteorological Institute (FMI)
8491
+ * */
8492
+ var snackbarModuleConfig = {
8493
+ id: 'snackbar-module',
8494
+ reducerMap: {
8495
+ snackbar: reducer
8373
8496
  },
8374
8497
  sagas: [rootSaga]
8375
8498
  };
@@ -8390,7 +8513,7 @@ var layerSelectConfig = {
8390
8513
  * Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
8391
8514
  * Copyright 2021 - Finnish Meteorological Institute (FMI)
8392
8515
  * */
8393
- var coreModuleConfig = [moduleConfig, synchronizationGroupConfig, uiModuleConfig, layerSelectConfig];
8516
+ var coreModuleConfig = [moduleConfig, synchronizationGroupConfig, uiModuleConfig, layerSelectConfig, snackbarModuleConfig];
8394
8517
 
8395
8518
  /* *
8396
8519
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -8918,7 +9041,7 @@ var defaultConfigurations = /*#__PURE__*/Object.freeze({
8918
9041
  preloadedDefaultMapServices: preloadedDefaultMapServices
8919
9042
  });
8920
9043
 
8921
- var useStyles$q = makeStyles({
9044
+ var useStyles$p = makeStyles({
8922
9045
  buttonDiv: {
8923
9046
  position: 'relative'
8924
9047
  },
@@ -8951,7 +9074,7 @@ var AddLayersPopup = function AddLayersPopup(_ref) {
8951
9074
  handleClose = _ref.handleClose,
8952
9075
  _ref$layerType = _ref.layerType,
8953
9076
  layerType = _ref$layerType === void 0 ? LayerType.mapLayer : _ref$layerType;
8954
- var classes = useStyles$q();
9077
+ var classes = useStyles$p();
8955
9078
 
8956
9079
  var _React$useState = React.useState(''),
8957
9080
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -9335,7 +9458,7 @@ var LayerSelectButtonConnect = function LayerSelectButtonConnect(_ref) {
9335
9458
  * Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
9336
9459
  * Copyright 2021 - Finnish Meteorological Institute (FMI)
9337
9460
  * */
9338
- var useStyles$p = makeStyles({
9461
+ var useStyles$o = makeStyles({
9339
9462
  row: {
9340
9463
  height: '32px'
9341
9464
  },
@@ -9359,7 +9482,7 @@ var DescriptionRow = function DescriptionRow(_ref) {
9359
9482
  layerManagerWidth = _ref.layerManagerWidth,
9360
9483
  _ref$layerSelect = _ref.layerSelect,
9361
9484
  layerSelect = _ref$layerSelect === void 0 ? false : _ref$layerSelect;
9362
- var classes = useStyles$p();
9485
+ var classes = useStyles$o();
9363
9486
  var columnSizes = layerManagerWidth === LayerManagerWidth.sm ? LayerManagerColumnsSmall() : LayerManagerColumnsLarge();
9364
9487
  return /*#__PURE__*/React.createElement(Grid, {
9365
9488
  container: true,
@@ -9551,7 +9674,7 @@ var DimensionSelect = function DimensionSelect(_ref) {
9551
9674
  }))));
9552
9675
  };
9553
9676
 
9554
- var useStyles$o = makeStyles(function (theme) {
9677
+ var useStyles$n = makeStyles(function (theme) {
9555
9678
  return createStyles({
9556
9679
  dropdownEmpty: {
9557
9680
  paddingLeft: 8,
@@ -9604,7 +9727,7 @@ var RenderLayers = function RenderLayers(_ref) {
9604
9727
 
9605
9728
  var _a;
9606
9729
 
9607
- var classes = useStyles$o();
9730
+ var classes = useStyles$n();
9608
9731
 
9609
9732
  if (!layers || !layers.length) {
9610
9733
  return /*#__PURE__*/React.createElement("div", {
@@ -9670,7 +9793,7 @@ var RenderLayers = function RenderLayers(_ref) {
9670
9793
  }));
9671
9794
  };
9672
9795
 
9673
- var useStyles$n = makeStyles(function (theme) {
9796
+ var useStyles$m = makeStyles(function (theme) {
9674
9797
  return {
9675
9798
  opacityDiv: {
9676
9799
  height: 'calc(100% - 5px)',
@@ -9730,7 +9853,7 @@ var OpacitySelect = function OpacitySelect(_ref) {
9730
9853
  onLayerChangeOpacity = _ref.onLayerChangeOpacity,
9731
9854
  _ref$isEnabled = _ref.isEnabled,
9732
9855
  isEnabled = _ref$isEnabled === void 0 ? true : _ref$isEnabled;
9733
- var classes = useStyles$n();
9856
+ var classes = useStyles$m();
9734
9857
 
9735
9858
  var _React$useState = React.useState(false),
9736
9859
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -9946,44 +10069,37 @@ var RenderStyles = function RenderStyles(_ref) {
9946
10069
  * Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
9947
10070
  * Copyright 2021 - Finnish Meteorological Institute (FMI)
9948
10071
  * */
9949
- var useStyles$m = makeStyles(function (theme) {
9950
- return createStyles({
9951
- svgIcon: {
9952
- fill: function fill(_ref) {
9953
- var isActive = _ref.isActive,
9954
- isEnabled = _ref.isEnabled;
9955
-
9956
- if (isActive) {
9957
- return theme.palette.common.white;
9958
- }
9959
10072
 
9960
- if (isEnabled) {
9961
- return theme.palette.geowebColors.buttons.flat["default"].color;
9962
- }
10073
+ var makeIconStyle = function makeIconStyle(isActive, isEnabled) {
10074
+ return {
10075
+ color: function color() {
10076
+ if (isActive) {
10077
+ return 'common.white';
10078
+ }
9963
10079
 
9964
- return theme.palette.geowebColors.buttons.flat.disabled.color;
10080
+ if (isEnabled) {
10081
+ return 'geowebColors.buttons.flat.default.color';
9965
10082
  }
10083
+
10084
+ return 'geowebColors.buttons.flat.disabled.color';
9966
10085
  }
9967
- });
9968
- });
10086
+ };
10087
+ };
9969
10088
 
9970
- var ActivateLayer = function ActivateLayer(_ref2) {
9971
- var _ref2$tooltipTitle = _ref2.tooltipTitle,
9972
- tooltipTitle = _ref2$tooltipTitle === void 0 ? 'Leading layer' : _ref2$tooltipTitle,
9973
- onClickActivate = _ref2.onClickActivate,
9974
- _ref2$isActive = _ref2.isActive,
9975
- isActive = _ref2$isActive === void 0 ? false : _ref2$isActive,
9976
- _ref2$isEnabled = _ref2.isEnabled,
9977
- isEnabled = _ref2$isEnabled === void 0 ? true : _ref2$isEnabled;
9978
- var classes = useStyles$m({
9979
- isActive: isActive,
9980
- isEnabled: isEnabled
9981
- });
10089
+ var ActivateLayer = function ActivateLayer(_ref) {
10090
+ var _ref$tooltipTitle = _ref.tooltipTitle,
10091
+ tooltipTitle = _ref$tooltipTitle === void 0 ? 'Leading layer' : _ref$tooltipTitle,
10092
+ onClickActivate = _ref.onClickActivate,
10093
+ _ref$isActive = _ref.isActive,
10094
+ isActive = _ref$isActive === void 0 ? false : _ref$isActive,
10095
+ _ref$isEnabled = _ref.isEnabled,
10096
+ isEnabled = _ref$isEnabled === void 0 ? true : _ref$isEnabled;
10097
+ var iconStyle = makeIconStyle(isActive, isEnabled);
9982
10098
  return /*#__PURE__*/React.createElement(ManagerButton, {
9983
10099
  tooltipTitle: tooltipTitle,
9984
10100
  onClick: onClickActivate,
9985
10101
  icon: /*#__PURE__*/React.createElement(Flag, {
9986
- className: classes.svgIcon
10102
+ sx: iconStyle
9987
10103
  }),
9988
10104
  testId: "activateLayerButton",
9989
10105
  isActive: isActive
@@ -13399,15 +13515,10 @@ var MapControlButton = function MapControlButton(_a) {
13399
13515
  return /*#__PURE__*/React.createElement(Tooltip, {
13400
13516
  placement: placement,
13401
13517
  title: title
13402
- }, /*#__PURE__*/React.createElement(Box, {
13403
- component: "span",
13404
- sx: {
13405
- marginBottom: '8px'
13406
- }
13407
13518
  }, /*#__PURE__*/React.createElement(ToolButton, Object.assign({
13408
13519
  onClick: onClick,
13409
13520
  active: isActive
13410
- }, props), children)));
13521
+ }, props), children));
13411
13522
  };
13412
13523
 
13413
13524
  /* *
@@ -14226,6 +14337,8 @@ var MultiMapMultiDimensionSelectConnect = function MultiMapMultiDimensionSelectC
14226
14337
  * Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
14227
14338
  * Copyright 2020 - Finnish Meteorological Institute (FMI)
14228
14339
  * */
14340
+ var titleOn = 'Auto update on';
14341
+ var titleOff = 'Auto update off';
14229
14342
 
14230
14343
  var AutoUpdateButton = function AutoUpdateButton(_ref) {
14231
14344
  var _ref$toggleAutoUpdate = _ref.toggleAutoUpdate,
@@ -14237,10 +14350,9 @@ var AutoUpdateButton = function AutoUpdateButton(_ref) {
14237
14350
  _ref$disabled = _ref.disabled,
14238
14351
  disabled = _ref$disabled === void 0 ? false : _ref$disabled;
14239
14352
  return /*#__PURE__*/React.createElement(Tooltip, {
14240
- title: isAutoUpdating ? 'Auto update on' : 'Auto update off'
14241
- }, /*#__PURE__*/React.createElement("span", {
14353
+ title: isAutoUpdating ? titleOn : titleOff,
14242
14354
  "data-testid": "autoUpdateButtonTooltip"
14243
- }, /*#__PURE__*/React.createElement(ToolButton, {
14355
+ }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(ToolButton, {
14244
14356
  active: isAutoUpdating,
14245
14357
  disabled: disabled,
14246
14358
  onClick: function onClick() {
@@ -14272,6 +14384,7 @@ var useStyles$c = makeStyles(function (theme) {
14272
14384
  }
14273
14385
  };
14274
14386
  });
14387
+ var speedTooltipTitle = 'Speed';
14275
14388
 
14276
14389
  var SpeedButton = function SpeedButton(_ref) {
14277
14390
  var animationDelay = _ref.animationDelay,
@@ -14332,14 +14445,14 @@ var SpeedButton = function SpeedButton(_ref) {
14332
14445
  return /*#__PURE__*/React.createElement("div", {
14333
14446
  className: classes.speedButtonDiv
14334
14447
  }, /*#__PURE__*/React.createElement(Tooltip, {
14335
- title: "Speed"
14336
- }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(ToolButton, {
14448
+ title: speedTooltipTitle
14449
+ }, /*#__PURE__*/React.createElement(ToolButton, {
14337
14450
  onClick: onClickButton,
14338
14451
  active: true,
14339
14452
  "data-testid": "speedButton"
14340
14453
  }, /*#__PURE__*/React.createElement(TextIcon, {
14341
14454
  text: text
14342
- })))), open ? /*#__PURE__*/React.createElement("div", {
14455
+ }))), open ? /*#__PURE__*/React.createElement("div", {
14343
14456
  className: classes.sliderBackground
14344
14457
  }, /*#__PURE__*/React.createElement(Box, {
14345
14458
  sx: sliderHeaderStyle
@@ -14503,6 +14616,7 @@ var useStyles$b = makeStyles(function (theme) {
14503
14616
  disabled: {}
14504
14617
  };
14505
14618
  });
14619
+ var timeStepTitle = 'Time step';
14506
14620
 
14507
14621
  var TimeStepButton = function TimeStepButton(_ref) {
14508
14622
  var timeStep = _ref.timeStep,
@@ -14574,8 +14688,8 @@ var TimeStepButton = function TimeStepButton(_ref) {
14574
14688
  return /*#__PURE__*/React.createElement("div", {
14575
14689
  className: classes.timeStepDiv
14576
14690
  }, /*#__PURE__*/React.createElement(Tooltip, {
14577
- title: "Time step"
14578
- }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(ToolButton, {
14691
+ title: timeStepTitle
14692
+ }, /*#__PURE__*/React.createElement(ToolButton, {
14579
14693
  active: true,
14580
14694
  onClick: onClickButton,
14581
14695
  "data-testid": "timeStepButton",
@@ -14583,7 +14697,7 @@ var TimeStepButton = function TimeStepButton(_ref) {
14583
14697
  }, /*#__PURE__*/React.createElement(FastForward, null), /*#__PURE__*/React.createElement(TextIcon, {
14584
14698
  text: currentMark && currentMark.text || '',
14585
14699
  "data-testid": "timeStepButtonText"
14586
- })))), open ? /*#__PURE__*/React.createElement("div", {
14700
+ }))), open ? /*#__PURE__*/React.createElement("div", {
14587
14701
  className: classes.sliderBackground
14588
14702
  }, /*#__PURE__*/React.createElement(Box, {
14589
14703
  sx: sliderHeaderStyle
@@ -14658,13 +14772,13 @@ var OptionsMenuButton = function OptionsMenuButton(_ref) {
14658
14772
  var id = open ? 'simple-popover' : undefined;
14659
14773
  return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Tooltip, {
14660
14774
  title: "Options"
14661
- }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(ToolButton, {
14775
+ }, /*#__PURE__*/React.createElement(ToolButton, {
14662
14776
  onClick: onClickButton,
14663
14777
  "data-testid": "optionsMenuButton",
14664
14778
  active: open
14665
14779
  }, /*#__PURE__*/React.createElement(Options, {
14666
14780
  "data-testid": "optionsIcon"
14667
- })))), /*#__PURE__*/React.createElement(OptionsPopOver, {
14781
+ }))), /*#__PURE__*/React.createElement(OptionsPopOver, {
14668
14782
  id: id,
14669
14783
  open: open,
14670
14784
  "data-testid": "optionsMenuPopOver",
@@ -22517,4 +22631,4 @@ var MapWarningProperties = function MapWarningProperties(_ref) {
22517
22631
  * */
22518
22632
  var mapActions = Object.assign(Object.assign(Object.assign({}, layerActions), mapActions$1), serviceActions);
22519
22633
 
22520
- export { ConfigurableMapConnect, CoreThemeProvider, CoreThemeStoreProvider, HarmonieTempAndPrecipPreset, LayerManagerConnect, LayerManagerMapButtonConnect, Legend, LegendConnect, LegendMapButtonConnect, MapControls, MapView, MapViewConnect, MapViewLayer, MapWarningProperties, MultiDimensionSelectMapButtonsConnect, MultiMapMultiDimensionSelectConnect as MultiMapDimensionSelectConnect, MultiMapViewConnect, ReactMapView, ReactMapViewLayer, SyncGroupViewerConnect, index as SyncGroups, TimeSliderConnect, ZoomControlConnect, ZoomControls, componentsLookUp, coreModuleConfig, dateFormat, defaultBbox, defaultConfigurations, filterBaseLayers, filterLayers, filterMapLayers, filterMapPresets, filterNonTimeDimensions, filterServices, generateLayerId, generateMapId, generateTimesliderId, getFirstTimeStepForLayerId, getInitialPresets, getLastTimeStepForLayerId, getNextTimeStepForLayerId, getPreviousTimeStepForLayerId, getWMJSDimensionForLayerAndDimension, getWMJSMapById, getWMJSTimeDimensionForLayerId, getWMLayerById, layerActions, reducer$5 as layerReducer, mapActions, moduleConfig as mapModuleConfig, selectors as mapSelectors, types$2 as mapTypes, utils as mapUtils, publicLayers, publicServices, registerWMJSMap, registerWMLayer, store, genericActions as syncGroupActions, synchronizationGroupConfig as synchronizationGroupModuleConfig, synchronizationGroupConfig as synchronizationGroupsConfig, testLayers, uiActions, uiModuleConfig, selectors$1 as uiSelectors, types as uiTypes, useStyles$2 as useStyles };
22634
+ export { ConfigurableMapConnect, CoreThemeProvider, CoreThemeStoreProvider, HarmonieTempAndPrecipPreset, LayerManagerConnect, LayerManagerMapButtonConnect, Legend, LegendConnect, LegendMapButtonConnect, MapControls, MapView, MapViewConnect, MapViewLayer, MapWarningProperties, MultiDimensionSelectMapButtonsConnect, MultiMapMultiDimensionSelectConnect as MultiMapDimensionSelectConnect, MultiMapViewConnect, ReactMapView, ReactMapViewLayer, SyncGroupViewerConnect, index as SyncGroups, TimeSliderConnect, ZoomControlConnect, ZoomControls, componentsLookUp, coreModuleConfig, dateFormat, defaultBbox, defaultConfigurations, filterLayers, filterMapPresets, filterNonTimeDimensions, filterServices, generateLayerId, generateMapId, generateTimesliderId, getFirstTimeStepForLayerId, getInitialAppPresets, getLastTimeStepForLayerId, getNextTimeStepForLayerId, getPreviousTimeStepForLayerId, getWMJSDimensionForLayerAndDimension, getWMJSMapById, getWMJSTimeDimensionForLayerId, getWMLayerById, layerActions, reducer$6 as layerReducer, mapActions, moduleConfig as mapModuleConfig, selectors as mapSelectors, types$2 as mapTypes, utils as mapUtils, parseBoolean, parseLayer, publicLayers, publicServices, registerWMJSMap, registerWMLayer, store, genericActions as syncGroupActions, synchronizationGroupConfig as synchronizationGroupModuleConfig, synchronizationGroupConfig as synchronizationGroupsConfig, testLayers, uiActions, uiModuleConfig, selectors$1 as uiSelectors, types as uiTypes, useStyles$2 as useStyles };