@opengeoweb/core 2.1.0 → 2.1.1
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/core.esm.js +712 -317
- package/core.umd.js +655 -257
- package/lib/components/ComponentsLookUp/componentsLookUp.d.ts +47 -0
- package/lib/components/ComponentsLookUp/componentsLookUp.stories.d.ts +7 -0
- package/lib/components/ComponentsLookUp/componentsLookup.spec.d.ts +1 -0
- package/lib/components/ComponentsLookUp/index.d.ts +1 -0
- package/lib/components/{SyncGroups → ConfigurableConnectedMap}/ConfigurableConnectedMap.d.ts +18 -2
- package/lib/components/ConfigurableConnectedMap/ConfigurableConnectedMap.spec.d.ts +1 -0
- package/lib/components/ConfigurableConnectedMap/ConfigurableConnectedMap.stories.d.ts +6 -0
- package/lib/components/ConfigurableConnectedMap/index.d.ts +1 -0
- package/lib/components/ConfigurableMapWithSlider/ConfigurableMapWithSliderConnect.d.ts +3 -0
- package/lib/components/LayerManager/DescriptionRow/DescriptionRow.d.ts +1 -0
- package/lib/components/LayerManager/LayerManager.d.ts +2 -0
- package/lib/components/LayerManager/LayerManager.stories.d.ts +7 -9
- package/lib/components/LayerManager/LayerManagerConnect.d.ts +1 -0
- package/lib/components/LayerManager/LayerManagerConnect.stories.d.ts +5 -0
- package/lib/components/LayerManager/LayerManagerStories.stories.d.ts +6 -0
- package/lib/components/LayerManager/LayerSelect/LayerSelectConnect.d.ts +2 -0
- package/lib/components/MapView/MapView.Error.stories.d.ts +4 -0
- package/lib/components/MultiMapDimensionSelect/DimensionSelectDialogConnect.stories.d.ts +25 -0
- package/lib/components/MultiMapDimensionSelect/MultiDimensionSelect.stories.d.ts +1 -0
- package/lib/components/TimeSlider/TimeSliderButtons/PlayButton/PlayButtonConnect.d.ts +1 -0
- package/lib/components/TimeSlider/TimeSliderButtons/SpeedButton/SpeedButton.d.ts +0 -2
- package/lib/components/TimeSlider/TimeSliderUtils.d.ts +7 -0
- package/lib/index.d.ts +2 -1
- package/lib/store/mapStore/map/actions.d.ts +2 -2
- package/lib/store/mapStore/map/reducer.d.ts +7 -0
- package/lib/utils/__mocks__/WMS111GetCapabilitiesGeoServicesRADAR.d.ts +2 -0
- package/lib/utils/getCapabilities.d.ts +6 -0
- package/package.json +7 -7
package/core.esm.js
CHANGED
|
@@ -7,7 +7,7 @@ import { takeLatest, put, select, call } from 'redux-saga/effects';
|
|
|
7
7
|
import { WMGetServiceFromStore, getMapImageStore, WMBBOX, debug, DebugType, WMJSMap, WMLayer, legendImageStore, WMImageEventType, getLegendGraphicURLForLayer } from '@opengeoweb/webmap';
|
|
8
8
|
import { makeStyles, Tooltip, Select, Grid, InputLabel, IconButton, Paper, Box, Typography, CircularProgress, List, ListSubheader, ListItem, ListItemText, Dialog, DialogTitle, DialogContent, DialogContentText, TextField, DialogActions, Button, createStyles, MenuItem, Checkbox, SvgIcon, ListItemIcon, Menu, FormControl, withStyles, Slider, Switch, FormControlLabel, Popover, useMediaQuery, useTheme } from '@material-ui/core';
|
|
9
9
|
import { connect, useDispatch, useSelector, Provider } from 'react-redux';
|
|
10
|
-
import { sliderStyles, CustomSlider, ToolContainerDraggable } from '@opengeoweb/shared';
|
|
10
|
+
import { sliderStyles, CustomSlider, ToolContainerDraggable, useIsMounted } from '@opengeoweb/shared';
|
|
11
11
|
import _ from 'lodash';
|
|
12
12
|
import { Cached, Add, MoreVert, FileCopy, Delete, DragIndicator, Link, LinkOff, DeleteForever } from '@material-ui/icons';
|
|
13
13
|
import { Sortable, ReactSortable } from 'react-sortablejs';
|
|
@@ -146,8 +146,8 @@ var mapUpdateAllMapDimensions = function mapUpdateAllMapDimensions(payload) {
|
|
|
146
146
|
/**
|
|
147
147
|
* Starts the animation for a map.
|
|
148
148
|
*
|
|
149
|
-
* Example: mapStartAnimation({mapId:'mapId1', start: 'someISOTime', end: 'someISOTime', interval:
|
|
150
|
-
* @param {object} payload Object with mapId: string, start: Moment, end: Moment and interval: number (in
|
|
149
|
+
* Example: mapStartAnimation({mapId:'mapId1', start: 'someISOTime', end: 'someISOTime', interval: 15})
|
|
150
|
+
* @param {object} payload Object with mapId: string, start: Moment, end: Moment and interval: number (in minutes), timeList?: TimeListType[]
|
|
151
151
|
*/
|
|
152
152
|
|
|
153
153
|
var mapStartAnimation = function mapStartAnimation(payload) {
|
|
@@ -1506,6 +1506,17 @@ var types$2 = /*#__PURE__*/Object.freeze({
|
|
|
1506
1506
|
});
|
|
1507
1507
|
|
|
1508
1508
|
var defaultAnimationDelayAtStart = 250;
|
|
1509
|
+
var defaultDelay = 1000; // [ms]
|
|
1510
|
+
|
|
1511
|
+
var speedFactors = [0.1, 0.2, 0.5, 1, 2, 4, 8, 16]; // Declares available animation speed multipliers for default delay
|
|
1512
|
+
|
|
1513
|
+
/**
|
|
1514
|
+
* Returns speed delay for given speedFactor. For options, see defined above in "speedFactors"
|
|
1515
|
+
*/
|
|
1516
|
+
|
|
1517
|
+
var getSpeedDelay = function getSpeedDelay(speedFactor) {
|
|
1518
|
+
return defaultDelay / speedFactor;
|
|
1519
|
+
};
|
|
1509
1520
|
/**
|
|
1510
1521
|
* Returns time bounds from the given dimension. If no time dimension given, current time is returned as default
|
|
1511
1522
|
*/
|
|
@@ -4252,10 +4263,18 @@ var getLayerActionsTargets = function getLayerActionsTargets(state, payload, act
|
|
|
4252
4263
|
|
|
4253
4264
|
var getAddLayerActionsTargets = function getAddLayerActionsTargets(state, payload, actionType) {
|
|
4254
4265
|
var foundTargets = findTargets(state, payload, actionType, payload.mapId);
|
|
4255
|
-
return foundTargets.map(function (
|
|
4256
|
-
|
|
4266
|
+
return foundTargets.map(function (_ref) {
|
|
4267
|
+
var payload = _ref.payload,
|
|
4268
|
+
targetId = _ref.targetId;
|
|
4269
|
+
var layer = payload.layer;
|
|
4270
|
+
|
|
4271
|
+
layer.id;
|
|
4272
|
+
var layerWithoutId = __rest(layer, ["id"]);
|
|
4273
|
+
|
|
4274
|
+
return Object.assign(Object.assign({}, payload), {
|
|
4275
|
+
layer: layerWithoutId,
|
|
4257
4276
|
layerId: generateLayerId(),
|
|
4258
|
-
mapId:
|
|
4277
|
+
mapId: targetId,
|
|
4259
4278
|
origin: ORIGIN_GENERIC_SYNCHRONIZATIONGROUP_UTILS_ADDACTION
|
|
4260
4279
|
});
|
|
4261
4280
|
});
|
|
@@ -4984,7 +5003,7 @@ var synchronizationGroupConfig = {
|
|
|
4984
5003
|
sagas: [rootSaga$3, rootSaga$2]
|
|
4985
5004
|
};
|
|
4986
5005
|
|
|
4987
|
-
var useStyles$
|
|
5006
|
+
var useStyles$A = makeStyles(function (theme) {
|
|
4988
5007
|
return {
|
|
4989
5008
|
select: {
|
|
4990
5009
|
'& ul': {
|
|
@@ -5039,7 +5058,7 @@ var TooltipSelect = function TooltipSelect(_a) {
|
|
|
5039
5058
|
tooltipOpen = _React$useState4[0],
|
|
5040
5059
|
setTooltipOpen = _React$useState4[1];
|
|
5041
5060
|
|
|
5042
|
-
var classes = useStyles$
|
|
5061
|
+
var classes = useStyles$A();
|
|
5043
5062
|
var onWheel = React.useCallback(function (event) {
|
|
5044
5063
|
if (selectOpen) return;
|
|
5045
5064
|
var direction = event.deltaY < 0 ? 1 : -1;
|
|
@@ -5498,12 +5517,32 @@ var uiModuleConfig = {
|
|
|
5498
5517
|
sagas: [rootSaga$1]
|
|
5499
5518
|
};
|
|
5500
5519
|
|
|
5520
|
+
/**
|
|
5521
|
+
* Checks if the layer id is already taken in one of the maps.
|
|
5522
|
+
* @param state The WebMapState
|
|
5523
|
+
* @param layerIdToCheck The layerId to check
|
|
5524
|
+
* @returns true if the layerId is already taken somewhere else.
|
|
5525
|
+
*/
|
|
5526
|
+
|
|
5527
|
+
var checkIfMapLayerIdIsAlreadyTaken = function checkIfMapLayerIdIsAlreadyTaken(state, layerId) {
|
|
5528
|
+
return state.allIds.some(function (mapId) {
|
|
5529
|
+
var map = state.byId[mapId];
|
|
5530
|
+
|
|
5531
|
+
var doesLayeridExist = function doesLayeridExist(layers) {
|
|
5532
|
+
return layers && layers.some(function (id) {
|
|
5533
|
+
return id === layerId;
|
|
5534
|
+
});
|
|
5535
|
+
};
|
|
5536
|
+
|
|
5537
|
+
return doesLayeridExist(map.mapLayers) || doesLayeridExist(map.overLayers) || doesLayeridExist(map.baseLayers) || doesLayeridExist(map.featureLayers);
|
|
5538
|
+
});
|
|
5539
|
+
};
|
|
5501
5540
|
/**
|
|
5502
5541
|
* Addes id's to the layer object. All layers need to have an id for referring.
|
|
5503
5542
|
* @param layers
|
|
5504
5543
|
*/
|
|
5505
5544
|
|
|
5506
|
-
var createLayersWithIds = function createLayersWithIds(layers) {
|
|
5545
|
+
var createLayersWithIds = function createLayersWithIds(state, layers) {
|
|
5507
5546
|
if (!layers) return layers;
|
|
5508
5547
|
return produce$1(layers, function (draft) {
|
|
5509
5548
|
for (var j = 0; j < draft.length; j += 1) {
|
|
@@ -5511,6 +5550,9 @@ var createLayersWithIds = function createLayersWithIds(layers) {
|
|
|
5511
5550
|
|
|
5512
5551
|
if (!layer.id) {
|
|
5513
5552
|
layer.id = generateLayerId();
|
|
5553
|
+
} else if (checkIfMapLayerIdIsAlreadyTaken(state, layer.id)) {
|
|
5554
|
+
console.warn("Warning: Layer id ".concat(layer.id, " was already taken: Generating new one."));
|
|
5555
|
+
layer.id = generateLayerId();
|
|
5514
5556
|
}
|
|
5515
5557
|
}
|
|
5516
5558
|
});
|
|
@@ -5562,21 +5604,17 @@ var reducer$1 = function reducer() {
|
|
|
5562
5604
|
return state;
|
|
5563
5605
|
}
|
|
5564
5606
|
|
|
5565
|
-
|
|
5566
|
-
|
|
5567
|
-
if (layerIndex >= 0) {
|
|
5568
|
-
// Do nothing if layerId is already used
|
|
5607
|
+
if (checkIfMapLayerIdIsAlreadyTaken(state, layerId)) {
|
|
5608
|
+
console.warn("Warning: Layer id ".concat(layerId, " was already taken"));
|
|
5569
5609
|
return state;
|
|
5570
5610
|
}
|
|
5571
5611
|
|
|
5572
5612
|
return produce$1(state, function (draft) {
|
|
5573
|
-
if (
|
|
5574
|
-
|
|
5575
|
-
draft.byId[_mapId2].activeLayerId = layerId;
|
|
5576
|
-
}
|
|
5577
|
-
|
|
5578
|
-
draft.byId[_mapId2].mapLayers.unshift(layerId);
|
|
5613
|
+
if (!state.byId[_mapId2].mapLayers.length) {
|
|
5614
|
+
draft.byId[_mapId2].activeLayerId = layerId;
|
|
5579
5615
|
}
|
|
5616
|
+
|
|
5617
|
+
draft.byId[_mapId2].mapLayers.unshift(layerId);
|
|
5580
5618
|
});
|
|
5581
5619
|
}
|
|
5582
5620
|
|
|
@@ -5635,6 +5673,19 @@ var reducer$1 = function reducer() {
|
|
|
5635
5673
|
|
|
5636
5674
|
return produce$1(state, function (draft) {
|
|
5637
5675
|
draft.byId[_mapId6].isAnimating = true;
|
|
5676
|
+
|
|
5677
|
+
if (action.payload.start) {
|
|
5678
|
+
draft.byId[_mapId6].animationStartTime = action.payload.start.toISOString();
|
|
5679
|
+
}
|
|
5680
|
+
|
|
5681
|
+
if (action.payload.end) {
|
|
5682
|
+
draft.byId[_mapId6].animationEndTime = action.payload.end.toISOString();
|
|
5683
|
+
}
|
|
5684
|
+
|
|
5685
|
+
if (action.payload.interval && action.payload.interval !== draft.byId[_mapId6].timeStep) {
|
|
5686
|
+
draft.byId[_mapId6].timeStep = action.payload.interval;
|
|
5687
|
+
draft.byId[_mapId6].isTimestepAuto = false;
|
|
5688
|
+
}
|
|
5638
5689
|
});
|
|
5639
5690
|
}
|
|
5640
5691
|
|
|
@@ -5662,33 +5713,20 @@ var reducer$1 = function reducer() {
|
|
|
5662
5713
|
return state;
|
|
5663
5714
|
}
|
|
5664
5715
|
|
|
5665
|
-
if (
|
|
5666
|
-
|
|
5667
|
-
|
|
5668
|
-
|
|
5669
|
-
// Do nothing if layerId is already used
|
|
5670
|
-
return state;
|
|
5671
|
-
}
|
|
5716
|
+
if (checkIfMapLayerIdIsAlreadyTaken(state, _layerId)) {
|
|
5717
|
+
console.warn("Warning: Layer id ".concat(_layerId, " was already taken"));
|
|
5718
|
+
return state;
|
|
5719
|
+
}
|
|
5672
5720
|
|
|
5721
|
+
if (layer.layerType === LayerType.baseLayer) {
|
|
5673
5722
|
return produce$1(state, function (draft) {
|
|
5674
|
-
|
|
5675
|
-
draft.byId[_mapId8].baseLayers.unshift(_layerId);
|
|
5676
|
-
}
|
|
5723
|
+
draft.byId[_mapId8].baseLayers.unshift(_layerId);
|
|
5677
5724
|
});
|
|
5678
5725
|
}
|
|
5679
5726
|
|
|
5680
5727
|
if (layer.layerType === LayerType.overLayer) {
|
|
5681
|
-
var _layerIndex2 = state.byId[_mapId8].overLayers.indexOf(_layerId);
|
|
5682
|
-
|
|
5683
|
-
if (_layerIndex2 >= 0) {
|
|
5684
|
-
// Do nothing if layerId is already used
|
|
5685
|
-
return state;
|
|
5686
|
-
}
|
|
5687
|
-
|
|
5688
5728
|
return produce$1(state, function (draft) {
|
|
5689
|
-
|
|
5690
|
-
draft.byId[_mapId8].overLayers.unshift(_layerId);
|
|
5691
|
-
}
|
|
5729
|
+
draft.byId[_mapId8].overLayers.unshift(_layerId);
|
|
5692
5730
|
});
|
|
5693
5731
|
}
|
|
5694
5732
|
|
|
@@ -5761,7 +5799,7 @@ var reducer$1 = function reducer() {
|
|
|
5761
5799
|
case WEBMAP_SET_LAYERS:
|
|
5762
5800
|
{
|
|
5763
5801
|
var _mapId13 = action.payload.mapId;
|
|
5764
|
-
var layersWithIds = createLayersWithIds(action.payload.layers);
|
|
5802
|
+
var layersWithIds = createLayersWithIds(state, action.payload.layers);
|
|
5765
5803
|
var layerIds = layersWithIds.map(function (_ref) {
|
|
5766
5804
|
var id = _ref.id;
|
|
5767
5805
|
return id;
|
|
@@ -5808,8 +5846,8 @@ var reducer$1 = function reducer() {
|
|
|
5808
5846
|
baseLayers.push(layer);
|
|
5809
5847
|
}
|
|
5810
5848
|
});
|
|
5811
|
-
var baseLayersWithIds = createLayersWithIds(baseLayers);
|
|
5812
|
-
var overLayersWithIds = createLayersWithIds(overLayers);
|
|
5849
|
+
var baseLayersWithIds = createLayersWithIds(state, baseLayers);
|
|
5850
|
+
var overLayersWithIds = createLayersWithIds(state, overLayers);
|
|
5813
5851
|
var baseLayerIds = baseLayersWithIds.map(function (_ref2) {
|
|
5814
5852
|
var id = _ref2.id;
|
|
5815
5853
|
return id;
|
|
@@ -6167,12 +6205,14 @@ var _marked = /*#__PURE__*/regeneratorRuntime.mark(startAnimationSaga),
|
|
|
6167
6205
|
_marked5 = /*#__PURE__*/regeneratorRuntime.mark(setLayerDimensionsSaga),
|
|
6168
6206
|
_marked6 = /*#__PURE__*/regeneratorRuntime.mark(toggleAutoUpdateSaga),
|
|
6169
6207
|
_marked7 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga);
|
|
6208
|
+
|
|
6170
6209
|
var generateTimeList = function generateTimeList(start, end, interval) {
|
|
6171
6210
|
var timeList = [];
|
|
6172
6211
|
var unixStart = moment(start).utc().unix();
|
|
6173
6212
|
var unixEnd = moment(end).utc().unix();
|
|
6213
|
+
var intervalSeconds = interval * 60;
|
|
6174
6214
|
|
|
6175
|
-
for (var j = unixStart; j <= unixEnd; j +=
|
|
6215
|
+
for (var j = unixStart; j <= unixEnd; j += intervalSeconds) {
|
|
6176
6216
|
timeList.push({
|
|
6177
6217
|
name: 'time',
|
|
6178
6218
|
value: moment.unix(j).toISOString()
|
|
@@ -6199,8 +6239,8 @@ function startAnimationSaga(_ref) {
|
|
|
6199
6239
|
case 0:
|
|
6200
6240
|
payload = _ref.payload;
|
|
6201
6241
|
mapId = payload.mapId, start = payload.start, end = payload.end, interval = payload.interval, timeList = payload.timeList;
|
|
6202
|
-
roundedStart = roundWithTimeStep(start && start.unix(), interval
|
|
6203
|
-
roundedEnd = roundWithTimeStep(end && end.unix(), interval
|
|
6242
|
+
roundedStart = roundWithTimeStep(start && start.unix(), interval, 'ceil');
|
|
6243
|
+
roundedEnd = roundWithTimeStep(end && end.unix(), interval, 'floor');
|
|
6204
6244
|
_context.next = 6;
|
|
6205
6245
|
return timeList || generateTimeList(moment.utc(roundedStart * 1000), moment.utc(roundedEnd * 1000), interval);
|
|
6206
6246
|
|
|
@@ -6320,7 +6360,7 @@ function updateAnimation(mapId, maxValue) {
|
|
|
6320
6360
|
mapId: mapId,
|
|
6321
6361
|
start: start,
|
|
6322
6362
|
end: end,
|
|
6323
|
-
interval: timeStep
|
|
6363
|
+
interval: timeStep
|
|
6324
6364
|
}));
|
|
6325
6365
|
|
|
6326
6366
|
case 23:
|
|
@@ -6331,7 +6371,7 @@ function updateAnimation(mapId, maxValue) {
|
|
|
6331
6371
|
}, _marked4);
|
|
6332
6372
|
}
|
|
6333
6373
|
function setLayerDimensionsSaga(_ref4) {
|
|
6334
|
-
var payload, dimensions, layerId, layer, newTimeDimension, mapId, activeLayerId, shouldAutoUpdate, prevTimeDimension;
|
|
6374
|
+
var payload, dimensions, layerId, layer, newTimeDimension, mapId, activeLayerId, shouldAutoUpdate, prevTimeDimension, isAnimating$1, webmapInstance;
|
|
6335
6375
|
return regeneratorRuntime.wrap(function setLayerDimensionsSaga$(_context5) {
|
|
6336
6376
|
while (1) {
|
|
6337
6377
|
switch (_context5.prev = _context5.next) {
|
|
@@ -6372,14 +6412,20 @@ function setLayerDimensionsSaga(_ref4) {
|
|
|
6372
6412
|
|
|
6373
6413
|
case 18:
|
|
6374
6414
|
prevTimeDimension = _context5.sent;
|
|
6415
|
+
_context5.next = 21;
|
|
6416
|
+
return select(isAnimating, mapId);
|
|
6417
|
+
|
|
6418
|
+
case 21:
|
|
6419
|
+
isAnimating$1 = _context5.sent;
|
|
6420
|
+
webmapInstance = getWMJSMapById(mapId);
|
|
6375
6421
|
|
|
6376
6422
|
if (!(layerId === activeLayerId && // only update the active layer
|
|
6377
6423
|
shouldAutoUpdate && newTimeDimension && newTimeDimension.maxValue && prevTimeDimension && prevTimeDimension.currentValue && prevTimeDimension.currentValue !== newTimeDimension.maxValue)) {
|
|
6378
|
-
_context5.next =
|
|
6424
|
+
_context5.next = 30;
|
|
6379
6425
|
break;
|
|
6380
6426
|
}
|
|
6381
6427
|
|
|
6382
|
-
_context5.next =
|
|
6428
|
+
_context5.next = 26;
|
|
6383
6429
|
return put(layerChangeDimension({
|
|
6384
6430
|
layerId: layerId,
|
|
6385
6431
|
origin: 'setLayerDimensionSaga',
|
|
@@ -6389,26 +6435,39 @@ function setLayerDimensionsSaga(_ref4) {
|
|
|
6389
6435
|
}
|
|
6390
6436
|
}));
|
|
6391
6437
|
|
|
6392
|
-
case
|
|
6393
|
-
_context5.next =
|
|
6438
|
+
case 26:
|
|
6439
|
+
_context5.next = 28;
|
|
6394
6440
|
return call(updateAnimation, mapId, newTimeDimension.maxValue);
|
|
6395
6441
|
|
|
6396
|
-
case
|
|
6397
|
-
_context5.next =
|
|
6442
|
+
case 28:
|
|
6443
|
+
_context5.next = 33;
|
|
6398
6444
|
break;
|
|
6399
6445
|
|
|
6400
|
-
case
|
|
6401
|
-
|
|
6446
|
+
case 30:
|
|
6447
|
+
if (!(isAnimating$1 && !webmapInstance.isAnimating && newTimeDimension && newTimeDimension.maxValue)) {
|
|
6448
|
+
_context5.next = 33;
|
|
6449
|
+
break;
|
|
6450
|
+
}
|
|
6451
|
+
|
|
6452
|
+
_context5.next = 33;
|
|
6453
|
+
return call(updateAnimation, mapId, newTimeDimension.maxValue);
|
|
6454
|
+
|
|
6455
|
+
case 33:
|
|
6456
|
+
_context5.next = 38;
|
|
6457
|
+
break;
|
|
6458
|
+
|
|
6459
|
+
case 35:
|
|
6460
|
+
_context5.prev = 35;
|
|
6402
6461
|
_context5.t0 = _context5["catch"](1);
|
|
6403
6462
|
// eslint-disable-next-line no-console
|
|
6404
6463
|
console.warn(_context5.t0);
|
|
6405
6464
|
|
|
6406
|
-
case
|
|
6465
|
+
case 38:
|
|
6407
6466
|
case "end":
|
|
6408
6467
|
return _context5.stop();
|
|
6409
6468
|
}
|
|
6410
6469
|
}
|
|
6411
|
-
}, _marked5, null, [[1,
|
|
6470
|
+
}, _marked5, null, [[1, 35]]);
|
|
6412
6471
|
}
|
|
6413
6472
|
function toggleAutoUpdateSaga(_ref5) {
|
|
6414
6473
|
var payload, shouldAutoUpdate, mapId, layerId, timeDimension;
|
|
@@ -6606,6 +6665,23 @@ var getLayersFromService = function getLayersFromService(serviceUrl) {
|
|
|
6606
6665
|
}, forceReload);
|
|
6607
6666
|
});
|
|
6608
6667
|
};
|
|
6668
|
+
/**
|
|
6669
|
+
* Returns a promise with a webmapjs node structure layers from the WMS GetCapabilities document.
|
|
6670
|
+
* @param serviceUrl The URL of the WMS service
|
|
6671
|
+
* @param {boolean} forceReload **optional** forceReload: boolean, true will force the layers to be reloaded from the service, defaults to false
|
|
6672
|
+
*/
|
|
6673
|
+
|
|
6674
|
+
var getLayerNodesFromService = function getLayerNodesFromService(serviceUrl) {
|
|
6675
|
+
var forceReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
6676
|
+
return new Promise(function (resolve, reject) {
|
|
6677
|
+
var serviceObject = WMGetServiceFromStore(serviceUrl);
|
|
6678
|
+
serviceObject.getNodes(function (nodes) {
|
|
6679
|
+
resolve(nodes.children);
|
|
6680
|
+
}, function (error) {
|
|
6681
|
+
reject(new Error(error));
|
|
6682
|
+
}, forceReload);
|
|
6683
|
+
});
|
|
6684
|
+
};
|
|
6609
6685
|
|
|
6610
6686
|
/* *
|
|
6611
6687
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -7510,7 +7586,7 @@ var defaultConfigurations = /*#__PURE__*/Object.freeze({
|
|
|
7510
7586
|
preloadedDefaultMapServices: preloadedDefaultMapServices
|
|
7511
7587
|
});
|
|
7512
7588
|
|
|
7513
|
-
var useStyles$
|
|
7589
|
+
var useStyles$z = makeStyles({
|
|
7514
7590
|
buttonDiv: {
|
|
7515
7591
|
position: 'relative'
|
|
7516
7592
|
},
|
|
@@ -7546,7 +7622,7 @@ var AddLayersPopup = function AddLayersPopup(_ref) {
|
|
|
7546
7622
|
handleClose = _ref.handleClose,
|
|
7547
7623
|
_ref$layerType = _ref.layerType,
|
|
7548
7624
|
layerType = _ref$layerType === void 0 ? LayerType.mapLayer : _ref$layerType;
|
|
7549
|
-
var classes = useStyles$
|
|
7625
|
+
var classes = useStyles$z();
|
|
7550
7626
|
|
|
7551
7627
|
var _React$useState = React.useState(''),
|
|
7552
7628
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -7698,7 +7774,7 @@ var AddLayersPopup = function AddLayersPopup(_ref) {
|
|
|
7698
7774
|
}, "Close")));
|
|
7699
7775
|
};
|
|
7700
7776
|
|
|
7701
|
-
var useStyles$
|
|
7777
|
+
var useStyles$y = makeStyles(function (theme) {
|
|
7702
7778
|
return {
|
|
7703
7779
|
buttonDiv: {
|
|
7704
7780
|
position: 'relative'
|
|
@@ -7733,7 +7809,7 @@ var AddLayersButton = function AddLayersButton(_ref) {
|
|
|
7733
7809
|
_ref$shouldFocus = _ref.shouldFocus,
|
|
7734
7810
|
shouldFocus = _ref$shouldFocus === void 0 ? false : _ref$shouldFocus;
|
|
7735
7811
|
var ref = React.useRef(null);
|
|
7736
|
-
var classes = useStyles$
|
|
7812
|
+
var classes = useStyles$y();
|
|
7737
7813
|
|
|
7738
7814
|
var _React$useState = React.useState(false),
|
|
7739
7815
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -7842,6 +7918,65 @@ var widthToWidthClass = function widthToWidthClass(w) {
|
|
|
7842
7918
|
return LayerManagerWidth.lg;
|
|
7843
7919
|
};
|
|
7844
7920
|
|
|
7921
|
+
/* *
|
|
7922
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7923
|
+
* you may not use this file except in compliance with the License.
|
|
7924
|
+
* You may obtain a copy of the License at
|
|
7925
|
+
*
|
|
7926
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
7927
|
+
*
|
|
7928
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
7929
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
7930
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
7931
|
+
* See the License for the specific language governing permissions and
|
|
7932
|
+
* limitations under the License.
|
|
7933
|
+
*
|
|
7934
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
7935
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
7936
|
+
* */
|
|
7937
|
+
var useStyles$x = makeStyles(function (theme) {
|
|
7938
|
+
return {
|
|
7939
|
+
button: {
|
|
7940
|
+
width: '24px',
|
|
7941
|
+
height: '24px',
|
|
7942
|
+
margin: '6px 0px 0px 10px',
|
|
7943
|
+
color: theme.palette.geowebColors.typographyAndIcons.buttonIconTertiaryFlat,
|
|
7944
|
+
borderRadius: '15%'
|
|
7945
|
+
}
|
|
7946
|
+
};
|
|
7947
|
+
});
|
|
7948
|
+
|
|
7949
|
+
var LayerSelectButtonConnect = function LayerSelectButtonConnect(_ref) {
|
|
7950
|
+
var mapId = _ref.mapId,
|
|
7951
|
+
_ref$source = _ref.source,
|
|
7952
|
+
source = _ref$source === void 0 ? 'app' : _ref$source;
|
|
7953
|
+
var dispatch = useDispatch();
|
|
7954
|
+
var classes = useStyles$x();
|
|
7955
|
+
var currentActiveMapId = useSelector(function (store) {
|
|
7956
|
+
return getDialogMapId(store, 'layerSelect');
|
|
7957
|
+
});
|
|
7958
|
+
var isOpenInStore = useSelector(function (store) {
|
|
7959
|
+
return getisDialogOpen(store, 'layerSelect');
|
|
7960
|
+
});
|
|
7961
|
+
var openLayerSelectDialog = React.useCallback(function () {
|
|
7962
|
+
dispatch(setActiveMapIdForDialog({
|
|
7963
|
+
type: 'layerSelect',
|
|
7964
|
+
activeMapId: mapId,
|
|
7965
|
+
setOpen: currentActiveMapId !== mapId ? true : !isOpenInStore,
|
|
7966
|
+
source: source
|
|
7967
|
+
}));
|
|
7968
|
+
}, [currentActiveMapId, dispatch, isOpenInStore, mapId, source]);
|
|
7969
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
7970
|
+
title: "Layer Select"
|
|
7971
|
+
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
7972
|
+
onClick: openLayerSelectDialog,
|
|
7973
|
+
className: classes.button,
|
|
7974
|
+
id: "layerSelectButton",
|
|
7975
|
+
"data-testid": "layerSelectButton",
|
|
7976
|
+
disableRipple: true
|
|
7977
|
+
}, /*#__PURE__*/React.createElement(Add, null)));
|
|
7978
|
+
};
|
|
7979
|
+
|
|
7845
7980
|
/* *
|
|
7846
7981
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7847
7982
|
* you may not use this file except in compliance with the License.
|
|
@@ -7879,7 +8014,9 @@ var DescriptionRow = function DescriptionRow(_ref) {
|
|
|
7879
8014
|
preloadedServices = _ref$preloadedService === void 0 ? preloadedDefaultMapServices : _ref$preloadedService,
|
|
7880
8015
|
_ref$tooltip = _ref.tooltip,
|
|
7881
8016
|
tooltip = _ref$tooltip === void 0 ? '' : _ref$tooltip,
|
|
7882
|
-
layerManagerWidth = _ref.layerManagerWidth
|
|
8017
|
+
layerManagerWidth = _ref.layerManagerWidth,
|
|
8018
|
+
_ref$layerSelect = _ref.layerSelect,
|
|
8019
|
+
layerSelect = _ref$layerSelect === void 0 ? false : _ref$layerSelect;
|
|
7883
8020
|
var classes = useStyles$w();
|
|
7884
8021
|
var columnSizes = layerManagerWidth === LayerManagerWidth.sm ? LayerManagerColumnsSmall() : LayerManagerColumnsLarge();
|
|
7885
8022
|
return /*#__PURE__*/React.createElement(Grid, {
|
|
@@ -7901,6 +8038,8 @@ var DescriptionRow = function DescriptionRow(_ref) {
|
|
|
7901
8038
|
});
|
|
7902
8039
|
},
|
|
7903
8040
|
shouldFocus: true
|
|
8041
|
+
}), layerSelect && /*#__PURE__*/React.createElement(LayerSelectButtonConnect, {
|
|
8042
|
+
mapId: mapId
|
|
7904
8043
|
})), /*#__PURE__*/React.createElement(Grid, {
|
|
7905
8044
|
className: columnSizes.column2
|
|
7906
8045
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -8536,7 +8675,7 @@ var OpacitySelect = function OpacitySelect(_ref) {
|
|
|
8536
8675
|
}, /*#__PURE__*/React.createElement("div", {
|
|
8537
8676
|
className: sliderClasses.sliderHeader
|
|
8538
8677
|
}, "Opacity"), /*#__PURE__*/React.createElement(CustomSlider, {
|
|
8539
|
-
|
|
8678
|
+
"data-testid": "opacitySlider",
|
|
8540
8679
|
orientation: "vertical",
|
|
8541
8680
|
value: currentOpacity,
|
|
8542
8681
|
step: 0.01,
|
|
@@ -9919,7 +10058,11 @@ var LayerManager = function LayerManager(_ref) {
|
|
|
9919
10058
|
_ref$order = _ref.order,
|
|
9920
10059
|
order = _ref$order === void 0 ? 0 : _ref$order,
|
|
9921
10060
|
_ref$source = _ref.source,
|
|
9922
|
-
source = _ref$source === void 0 ? 'app' : _ref$source
|
|
10061
|
+
source = _ref$source === void 0 ? 'app' : _ref$source,
|
|
10062
|
+
_ref$layerSelect = _ref.layerSelect,
|
|
10063
|
+
layerSelect = _ref$layerSelect === void 0 ? false : _ref$layerSelect,
|
|
10064
|
+
_ref$showAddLayersToo = _ref.showAddLayersTooltip,
|
|
10065
|
+
showAddLayersTooltip = _ref$showAddLayersToo === void 0 ? true : _ref$showAddLayersToo;
|
|
9923
10066
|
var classes = useStyles$j();
|
|
9924
10067
|
|
|
9925
10068
|
var _React$useState = React.useState(LayerManagerWidth.lg),
|
|
@@ -9961,9 +10104,10 @@ var LayerManager = function LayerManager(_ref) {
|
|
|
9961
10104
|
className: classes.layerRowContainer
|
|
9962
10105
|
}, /*#__PURE__*/React.createElement(DescriptionRow, {
|
|
9963
10106
|
mapId: mapId,
|
|
9964
|
-
tooltip:
|
|
10107
|
+
tooltip: showAddLayersTooltip ? 'Add Layers' : '',
|
|
9965
10108
|
layerManagerWidth: layerManagerWidth,
|
|
9966
|
-
preloadedServices: preloadedMapServices
|
|
10109
|
+
preloadedServices: preloadedMapServices,
|
|
10110
|
+
layerSelect: layerSelect
|
|
9967
10111
|
}), /*#__PURE__*/React.createElement(LayerContainerRow, {
|
|
9968
10112
|
mapId: mapId,
|
|
9969
10113
|
layerManagerWidth: layerManagerWidth
|
|
@@ -9976,6 +10120,60 @@ var LayerManager = function LayerManager(_ref) {
|
|
|
9976
10120
|
}))));
|
|
9977
10121
|
};
|
|
9978
10122
|
|
|
10123
|
+
/* *
|
|
10124
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10125
|
+
* you may not use this file except in compliance with the License.
|
|
10126
|
+
* You may obtain a copy of the License at
|
|
10127
|
+
*
|
|
10128
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10129
|
+
*
|
|
10130
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10131
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
10132
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10133
|
+
* See the License for the specific language governing permissions and
|
|
10134
|
+
* limitations under the License.
|
|
10135
|
+
*
|
|
10136
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
10137
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
10138
|
+
* */
|
|
10139
|
+
|
|
10140
|
+
var LayerSelect = function LayerSelect(_ref) {
|
|
10141
|
+
var mapId = _ref.mapId,
|
|
10142
|
+
bounds = _ref.bounds,
|
|
10143
|
+
_ref$onClose = _ref.onClose,
|
|
10144
|
+
onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose,
|
|
10145
|
+
showTitle = _ref.showTitle,
|
|
10146
|
+
isOpen = _ref.isOpen,
|
|
10147
|
+
_ref$onMouseDown = _ref.onMouseDown,
|
|
10148
|
+
onMouseDown = _ref$onMouseDown === void 0 ? function () {} : _ref$onMouseDown,
|
|
10149
|
+
_ref$order = _ref.order,
|
|
10150
|
+
order = _ref$order === void 0 ? 0 : _ref$order,
|
|
10151
|
+
_ref$source = _ref.source,
|
|
10152
|
+
source = _ref$source === void 0 ? 'module' : _ref$source;
|
|
10153
|
+
return /*#__PURE__*/React.createElement(ToolContainerDraggable, {
|
|
10154
|
+
title: showTitle ? "Layer Select ".concat(mapId) : 'Layer Select',
|
|
10155
|
+
startSize: {
|
|
10156
|
+
width: 500,
|
|
10157
|
+
height: 500
|
|
10158
|
+
},
|
|
10159
|
+
minWidth: 300,
|
|
10160
|
+
minHeight: 126,
|
|
10161
|
+
startPosition: {
|
|
10162
|
+
top: 100,
|
|
10163
|
+
left: 100
|
|
10164
|
+
},
|
|
10165
|
+
isOpen: isOpen,
|
|
10166
|
+
onChangeSize: function onChangeSize() {},
|
|
10167
|
+
onClose: onClose,
|
|
10168
|
+
headerSize: "small",
|
|
10169
|
+
bounds: bounds,
|
|
10170
|
+
"data-testid": "layerSelectWindow",
|
|
10171
|
+
onMouseDown: onMouseDown,
|
|
10172
|
+
order: order,
|
|
10173
|
+
source: source
|
|
10174
|
+
}, /*#__PURE__*/React.createElement("div", null));
|
|
10175
|
+
};
|
|
10176
|
+
|
|
9979
10177
|
/* *
|
|
9980
10178
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
9981
10179
|
* you may not use this file except in compliance with the License.
|
|
@@ -9993,34 +10191,33 @@ var LayerManager = function LayerManager(_ref) {
|
|
|
9993
10191
|
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
9994
10192
|
* */
|
|
9995
10193
|
/**
|
|
9996
|
-
*
|
|
9997
|
-
*
|
|
9998
|
-
*
|
|
10194
|
+
* LayerSelectConnect is a component that is opened from LayerManager
|
|
10195
|
+
* It's used to add Services and Layers to the application
|
|
10196
|
+
* It doesn't expect any props, its subcomponents only read and write to redux store
|
|
9999
10197
|
*
|
|
10000
|
-
*
|
|
10001
|
-
* @param {Service[]} preloadedMapServices preloadedMapServices: array of Service objects - contains an array of Service objects that are preloaded into in the WMS Loader for maplayers
|
|
10002
|
-
* @param {Service[]} preloadedBaseServices preloadedBaseServices: array of Service objects - contains an array of Service objects that are preloaded into in the WMS Loader fpr baselayers
|
|
10003
|
-
* @param {Layer[]} preloadedAvailableBaseLayers preloadedAvailableBaseLayers: array of Layer objects - contains an array of Layer objects (consisting solely of type baseLayer) that are available to be shown as basemaps
|
|
10004
|
-
* ``` <LayerManagerConnect />```
|
|
10198
|
+
* ``` <LayerSelectConnect />```
|
|
10005
10199
|
*/
|
|
10006
10200
|
|
|
10007
|
-
var
|
|
10008
|
-
var
|
|
10009
|
-
preloadedMapServices = _ref.preloadedMapServices,
|
|
10010
|
-
preloadedBaseServices = _ref.preloadedBaseServices,
|
|
10011
|
-
bounds = _ref.bounds,
|
|
10201
|
+
var LayerSelectConnect = function LayerSelectConnect(_ref) {
|
|
10202
|
+
var bounds = _ref.bounds,
|
|
10012
10203
|
_ref$showTitle = _ref.showTitle,
|
|
10013
|
-
showTitle = _ref$showTitle === void 0 ? false : _ref$showTitle
|
|
10204
|
+
showTitle = _ref$showTitle === void 0 ? false : _ref$showTitle,
|
|
10205
|
+
_ref$preloadedService = _ref.preloadedServices,
|
|
10206
|
+
preloadedServices = _ref$preloadedService === void 0 ? preloadedDefaultMapServices : _ref$preloadedService;
|
|
10014
10207
|
var dispatch = useDispatch();
|
|
10015
|
-
|
|
10016
|
-
|
|
10017
|
-
|
|
10208
|
+
|
|
10209
|
+
var _useIsMounted = useIsMounted(),
|
|
10210
|
+
isMounted = _useIsMounted.isMounted;
|
|
10211
|
+
|
|
10018
10212
|
var mapId = useSelector(function (store) {
|
|
10019
|
-
return getDialogMapId(store, '
|
|
10213
|
+
return getDialogMapId(store, 'layerSelect');
|
|
10214
|
+
});
|
|
10215
|
+
var isOpenInStore = useSelector(function (store) {
|
|
10216
|
+
return getisDialogOpen(store, 'layerSelect');
|
|
10020
10217
|
});
|
|
10021
10218
|
var onClose = React.useCallback(function () {
|
|
10022
10219
|
return dispatch(setToggleOpenDialog({
|
|
10023
|
-
type: '
|
|
10220
|
+
type: 'layerSelect',
|
|
10024
10221
|
setOpen: false
|
|
10025
10222
|
}));
|
|
10026
10223
|
}, [dispatch]);
|
|
@@ -10028,13 +10225,13 @@ var LayerManagerConnect = function LayerManagerConnect(_ref) {
|
|
|
10028
10225
|
return getIsMapPresent(store, mapId);
|
|
10029
10226
|
});
|
|
10030
10227
|
var uiOrder = useSelector(function (store) {
|
|
10031
|
-
return getDialogOrder(store, '
|
|
10228
|
+
return getDialogOrder(store, 'layerSelect');
|
|
10032
10229
|
});
|
|
10033
10230
|
var uiSource = useSelector(function (store) {
|
|
10034
|
-
return getDialogSource(store, '
|
|
10231
|
+
return getDialogSource(store, 'layerSelect');
|
|
10035
10232
|
});
|
|
10036
10233
|
var uiIsOrderedOnTop = useSelector(function (store) {
|
|
10037
|
-
return getDialogIsOrderedOnTop(store, '
|
|
10234
|
+
return getDialogIsOrderedOnTop(store, 'layerSelect');
|
|
10038
10235
|
}); // Check to ensure the currently active map is still present on screen - if not, close the dialog
|
|
10039
10236
|
|
|
10040
10237
|
React.useEffect(function () {
|
|
@@ -10044,19 +10241,19 @@ var LayerManagerConnect = function LayerManagerConnect(_ref) {
|
|
|
10044
10241
|
}, [mapId, isMapPresent, onClose]);
|
|
10045
10242
|
var registerDialog$1 = React.useCallback(function () {
|
|
10046
10243
|
return dispatch(registerDialog({
|
|
10047
|
-
type: '
|
|
10244
|
+
type: 'layerSelect',
|
|
10048
10245
|
setOpen: false
|
|
10049
10246
|
}));
|
|
10050
10247
|
}, [dispatch]);
|
|
10051
10248
|
var unregisterDialog$1 = React.useCallback(function () {
|
|
10052
10249
|
return dispatch(unregisterDialog({
|
|
10053
|
-
type: '
|
|
10250
|
+
type: 'layerSelect'
|
|
10054
10251
|
}));
|
|
10055
10252
|
}, [dispatch]);
|
|
10056
10253
|
var onOrderDialog = React.useCallback(function () {
|
|
10057
10254
|
if (!uiIsOrderedOnTop) {
|
|
10058
10255
|
dispatch(orderDialog({
|
|
10059
|
-
type: '
|
|
10256
|
+
type: 'layerSelect'
|
|
10060
10257
|
}));
|
|
10061
10258
|
}
|
|
10062
10259
|
}, [dispatch, uiIsOrderedOnTop]); // Register this dialog in the store
|
|
@@ -10067,11 +10264,28 @@ var LayerManagerConnect = function LayerManagerConnect(_ref) {
|
|
|
10067
10264
|
unregisterDialog$1();
|
|
10068
10265
|
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10069
10266
|
}, []);
|
|
10070
|
-
|
|
10267
|
+
var serviceSetLayers$1 = React.useCallback(function (payload) {
|
|
10268
|
+
return dispatch(serviceSetLayers(payload));
|
|
10269
|
+
}, [dispatch]);
|
|
10270
|
+
React.useEffect(function () {
|
|
10271
|
+
if (isOpenInStore && preloadedServices && preloadedServices.length > 0) {
|
|
10272
|
+
preloadedServices.forEach(function (service) {
|
|
10273
|
+
getLayerNodesFromService(service.url).then(function (layers) {
|
|
10274
|
+
if (isMounted.current) {
|
|
10275
|
+
serviceSetLayers$1({
|
|
10276
|
+
service: service.url,
|
|
10277
|
+
layers: layers
|
|
10278
|
+
});
|
|
10279
|
+
}
|
|
10280
|
+
})["catch"](function () {
|
|
10281
|
+
return null;
|
|
10282
|
+
});
|
|
10283
|
+
});
|
|
10284
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10285
|
+
|
|
10286
|
+
}, [isOpenInStore, preloadedServices, serviceSetLayers$1]);
|
|
10287
|
+
return /*#__PURE__*/React.createElement(LayerSelect, {
|
|
10071
10288
|
mapId: mapId,
|
|
10072
|
-
preloadedAvailableBaseLayers: preloadedAvailableBaseLayers,
|
|
10073
|
-
preloadedMapServices: preloadedMapServices,
|
|
10074
|
-
preloadedBaseServices: preloadedBaseServices,
|
|
10075
10289
|
bounds: bounds,
|
|
10076
10290
|
isOpen: isOpenInStore,
|
|
10077
10291
|
onClose: onClose,
|
|
@@ -10098,48 +10312,157 @@ var LayerManagerConnect = function LayerManagerConnect(_ref) {
|
|
|
10098
10312
|
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
10099
10313
|
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
10100
10314
|
* */
|
|
10101
|
-
|
|
10102
|
-
|
|
10103
|
-
|
|
10104
|
-
|
|
10105
|
-
|
|
10106
|
-
|
|
10107
|
-
|
|
10108
|
-
|
|
10109
|
-
|
|
10110
|
-
|
|
10111
|
-
|
|
10112
|
-
|
|
10113
|
-
|
|
10114
|
-
|
|
10115
|
-
|
|
10116
|
-
|
|
10117
|
-
|
|
10118
|
-
|
|
10119
|
-
|
|
10120
|
-
|
|
10121
|
-
|
|
10122
|
-
|
|
10123
|
-
|
|
10124
|
-
|
|
10125
|
-
|
|
10126
|
-
|
|
10127
|
-
|
|
10128
|
-
|
|
10129
|
-
|
|
10130
|
-
|
|
10131
|
-
|
|
10132
|
-
|
|
10133
|
-
|
|
10134
|
-
|
|
10135
|
-
|
|
10136
|
-
|
|
10137
|
-
|
|
10138
|
-
|
|
10139
|
-
|
|
10140
|
-
|
|
10141
|
-
var
|
|
10142
|
-
|
|
10315
|
+
/**
|
|
10316
|
+
* Layer Managerconnected to the store displaying the layers forthe active map Id
|
|
10317
|
+
* Please note that in order to use this and open/close the dialog, every map on the screen that should be able to show
|
|
10318
|
+
* a dialog should have the <LayerManagerMapButtonConnect/> which is used to focus the correct map and open the dialog
|
|
10319
|
+
*
|
|
10320
|
+
* Expects the following props:
|
|
10321
|
+
* @param {Service[]} preloadedMapServices preloadedMapServices: array of Service objects - contains an array of Service objects that are preloaded into in the WMS Loader for maplayers
|
|
10322
|
+
* @param {Service[]} preloadedBaseServices preloadedBaseServices: array of Service objects - contains an array of Service objects that are preloaded into in the WMS Loader fpr baselayers
|
|
10323
|
+
* @param {Layer[]} preloadedAvailableBaseLayers preloadedAvailableBaseLayers: array of Layer objects - contains an array of Layer objects (consisting solely of type baseLayer) that are available to be shown as basemaps
|
|
10324
|
+
* ``` <LayerManagerConnect />```
|
|
10325
|
+
*/
|
|
10326
|
+
|
|
10327
|
+
var LayerManagerConnect = function LayerManagerConnect(_ref) {
|
|
10328
|
+
var preloadedAvailableBaseLayers = _ref.preloadedAvailableBaseLayers,
|
|
10329
|
+
preloadedMapServices = _ref.preloadedMapServices,
|
|
10330
|
+
preloadedBaseServices = _ref.preloadedBaseServices,
|
|
10331
|
+
bounds = _ref.bounds,
|
|
10332
|
+
_ref$showTitle = _ref.showTitle,
|
|
10333
|
+
showTitle = _ref$showTitle === void 0 ? false : _ref$showTitle,
|
|
10334
|
+
_ref$layerSelect = _ref.layerSelect,
|
|
10335
|
+
layerSelect = _ref$layerSelect === void 0 ? false : _ref$layerSelect;
|
|
10336
|
+
var dispatch = useDispatch();
|
|
10337
|
+
var isOpenInStore = useSelector(function (store) {
|
|
10338
|
+
return getisDialogOpen(store, 'layerManager');
|
|
10339
|
+
});
|
|
10340
|
+
var mapId = useSelector(function (store) {
|
|
10341
|
+
return getDialogMapId(store, 'layerManager');
|
|
10342
|
+
});
|
|
10343
|
+
var onClose = React.useCallback(function () {
|
|
10344
|
+
return dispatch(setToggleOpenDialog({
|
|
10345
|
+
type: 'layerManager',
|
|
10346
|
+
setOpen: false
|
|
10347
|
+
}));
|
|
10348
|
+
}, [dispatch]);
|
|
10349
|
+
var isMapPresent = useSelector(function (store) {
|
|
10350
|
+
return getIsMapPresent(store, mapId);
|
|
10351
|
+
});
|
|
10352
|
+
var uiOrder = useSelector(function (store) {
|
|
10353
|
+
return getDialogOrder(store, 'layerManager');
|
|
10354
|
+
});
|
|
10355
|
+
var uiSource = useSelector(function (store) {
|
|
10356
|
+
return getDialogSource(store, 'layerManager');
|
|
10357
|
+
});
|
|
10358
|
+
var uiIsOrderedOnTop = useSelector(function (store) {
|
|
10359
|
+
return getDialogIsOrderedOnTop(store, 'layerManager');
|
|
10360
|
+
}); // Check to ensure the currently active map is still present on screen - if not, close the dialog
|
|
10361
|
+
|
|
10362
|
+
React.useEffect(function () {
|
|
10363
|
+
if (mapId !== '' && !isMapPresent) {
|
|
10364
|
+
onClose();
|
|
10365
|
+
}
|
|
10366
|
+
}, [mapId, isMapPresent, onClose]);
|
|
10367
|
+
var registerDialog$1 = React.useCallback(function () {
|
|
10368
|
+
return dispatch(registerDialog({
|
|
10369
|
+
type: 'layerManager',
|
|
10370
|
+
setOpen: false
|
|
10371
|
+
}));
|
|
10372
|
+
}, [dispatch]);
|
|
10373
|
+
var unregisterDialog$1 = React.useCallback(function () {
|
|
10374
|
+
return dispatch(unregisterDialog({
|
|
10375
|
+
type: 'layerManager'
|
|
10376
|
+
}));
|
|
10377
|
+
}, [dispatch]);
|
|
10378
|
+
var onOrderDialog = React.useCallback(function () {
|
|
10379
|
+
if (!uiIsOrderedOnTop) {
|
|
10380
|
+
dispatch(orderDialog({
|
|
10381
|
+
type: 'layerManager'
|
|
10382
|
+
}));
|
|
10383
|
+
}
|
|
10384
|
+
}, [dispatch, uiIsOrderedOnTop]); // Register this dialog in the store
|
|
10385
|
+
|
|
10386
|
+
React.useEffect(function () {
|
|
10387
|
+
registerDialog$1();
|
|
10388
|
+
return function () {
|
|
10389
|
+
unregisterDialog$1();
|
|
10390
|
+
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10391
|
+
}, []);
|
|
10392
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LayerManager, {
|
|
10393
|
+
mapId: mapId,
|
|
10394
|
+
preloadedAvailableBaseLayers: preloadedAvailableBaseLayers,
|
|
10395
|
+
preloadedMapServices: preloadedMapServices,
|
|
10396
|
+
preloadedBaseServices: preloadedBaseServices,
|
|
10397
|
+
bounds: bounds,
|
|
10398
|
+
isOpen: isOpenInStore,
|
|
10399
|
+
onClose: onClose,
|
|
10400
|
+
showTitle: showTitle,
|
|
10401
|
+
onMouseDown: onOrderDialog,
|
|
10402
|
+
order: uiOrder,
|
|
10403
|
+
source: uiSource,
|
|
10404
|
+
layerSelect: layerSelect
|
|
10405
|
+
}), layerSelect && /*#__PURE__*/React.createElement(LayerSelectConnect, null));
|
|
10406
|
+
};
|
|
10407
|
+
|
|
10408
|
+
/* *
|
|
10409
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10410
|
+
* you may not use this file except in compliance with the License.
|
|
10411
|
+
* You may obtain a copy of the License at
|
|
10412
|
+
*
|
|
10413
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10414
|
+
*
|
|
10415
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10416
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
10417
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10418
|
+
* See the License for the specific language governing permissions and
|
|
10419
|
+
* limitations under the License.
|
|
10420
|
+
*
|
|
10421
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
10422
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
10423
|
+
* */
|
|
10424
|
+
var useButtonStyles = makeStyles(function (theme) {
|
|
10425
|
+
return createStyles({
|
|
10426
|
+
button: {
|
|
10427
|
+
height: '24px',
|
|
10428
|
+
width: function width(_ref) {
|
|
10429
|
+
var _width = _ref.width;
|
|
10430
|
+
return _width ? "".concat(_width, "px") : '24px';
|
|
10431
|
+
},
|
|
10432
|
+
border: 0,
|
|
10433
|
+
backgroundColor: theme.palette.geowebColors.buttons.surfaceIconDefault.fill,
|
|
10434
|
+
borderRadius: '4.5px',
|
|
10435
|
+
textTransform: 'none',
|
|
10436
|
+
'& svg path, svg text': {
|
|
10437
|
+
fill: theme.palette.geowebColors.typographyAndIcons.buttonIconTertiaryFlat
|
|
10438
|
+
},
|
|
10439
|
+
'&:hover': {
|
|
10440
|
+
backgroundColor: theme.palette.geowebColors.buttons.flatMouseover.fill
|
|
10441
|
+
},
|
|
10442
|
+
'&:disabled': {
|
|
10443
|
+
backgroundColor: theme.palette.geowebColors.buttons.disabled.fill,
|
|
10444
|
+
'& svg path, svg text': {
|
|
10445
|
+
fill: theme.palette.geowebColors.typographyAndIcons.iconLinkDisabled
|
|
10446
|
+
}
|
|
10447
|
+
},
|
|
10448
|
+
'&.Mui-selected': {
|
|
10449
|
+
backgroundColor: theme.palette.geowebColors.buttons.primaryActive.fill,
|
|
10450
|
+
'&:hover': {
|
|
10451
|
+
backgroundColor: theme.palette.geowebColors.buttons.primaryMouseover.fill
|
|
10452
|
+
},
|
|
10453
|
+
'& svg': {
|
|
10454
|
+
backgroundColor: 'transparent'
|
|
10455
|
+
},
|
|
10456
|
+
'& svg path, svg text': {
|
|
10457
|
+
fill: theme.palette.geowebColors.typographyAndIcons.buttonIcon
|
|
10458
|
+
}
|
|
10459
|
+
}
|
|
10460
|
+
}
|
|
10461
|
+
});
|
|
10462
|
+
});
|
|
10463
|
+
|
|
10464
|
+
var ToggleIconButton = function ToggleIconButton(_a) {
|
|
10465
|
+
var active = _a.active,
|
|
10143
10466
|
width = _a.width,
|
|
10144
10467
|
children = _a.children,
|
|
10145
10468
|
props = __rest(_a, ["active", "width", "children"]);
|
|
@@ -11183,9 +11506,6 @@ var useStyles$g = makeStyles(function (theme) {
|
|
|
11183
11506
|
}
|
|
11184
11507
|
};
|
|
11185
11508
|
});
|
|
11186
|
-
var defaultDelay = 1000; // [ms]
|
|
11187
|
-
|
|
11188
|
-
var speedFactors = [0.1, 0.2, 0.5, 1, 2, 4, 8, 16]; // Declares available animation speed multipliers for default delay
|
|
11189
11509
|
|
|
11190
11510
|
var SpeedButton = function SpeedButton(_ref) {
|
|
11191
11511
|
var animationDelay = _ref.animationDelay,
|
|
@@ -11200,7 +11520,7 @@ var SpeedButton = function SpeedButton(_ref) {
|
|
|
11200
11520
|
|
|
11201
11521
|
var marks = speedFactors.map(function (speedFactor, i) {
|
|
11202
11522
|
return {
|
|
11203
|
-
delay:
|
|
11523
|
+
delay: getSpeedDelay(speedFactor),
|
|
11204
11524
|
markPos: i,
|
|
11205
11525
|
text: "".concat(speedFactor, "x")
|
|
11206
11526
|
};
|
|
@@ -11252,7 +11572,7 @@ var SpeedButton = function SpeedButton(_ref) {
|
|
|
11252
11572
|
}, /*#__PURE__*/React.createElement("div", {
|
|
11253
11573
|
className: sliderClasses.sliderHeader
|
|
11254
11574
|
}, "Speed"), /*#__PURE__*/React.createElement(CustomSlider, {
|
|
11255
|
-
|
|
11575
|
+
"data-testid": "speedSlider",
|
|
11256
11576
|
orientation: "vertical",
|
|
11257
11577
|
value: currentValue,
|
|
11258
11578
|
step: null,
|
|
@@ -11410,21 +11730,6 @@ var useStyles$f = makeStyles(function (theme) {
|
|
|
11410
11730
|
disabled: {}
|
|
11411
11731
|
};
|
|
11412
11732
|
});
|
|
11413
|
-
|
|
11414
|
-
var ThumbComponent = function ThumbComponent(props) {
|
|
11415
|
-
var ref = React.useRef(null);
|
|
11416
|
-
React.useEffect(function () {
|
|
11417
|
-
if (ref.current) {
|
|
11418
|
-
ref.current.focus();
|
|
11419
|
-
}
|
|
11420
|
-
}, []);
|
|
11421
|
-
return /*#__PURE__*/React.createElement("span", Object.assign({}, props, {
|
|
11422
|
-
ref: ref,
|
|
11423
|
-
"data-testid": "timeStepButtonSliderThumb",
|
|
11424
|
-
id: "thumbTimeStep"
|
|
11425
|
-
}));
|
|
11426
|
-
};
|
|
11427
|
-
|
|
11428
11733
|
var TimeStepSwitch = withStyles(function (theme) {
|
|
11429
11734
|
return {
|
|
11430
11735
|
root: {
|
|
@@ -11529,7 +11834,7 @@ var TimeStepButton = function TimeStepButton(_ref) {
|
|
|
11529
11834
|
}, /*#__PURE__*/React.createElement("div", {
|
|
11530
11835
|
className: sliderClasses.sliderHeader
|
|
11531
11836
|
}, "Time step"), /*#__PURE__*/React.createElement(CustomSlider, {
|
|
11532
|
-
|
|
11837
|
+
"data-testid": "timeStepButtonSlider",
|
|
11533
11838
|
orientation: "vertical",
|
|
11534
11839
|
value: currentMark && currentMark.value ? currentMark.value : 0,
|
|
11535
11840
|
step: null,
|
|
@@ -11537,9 +11842,9 @@ var TimeStepButton = function TimeStepButton(_ref) {
|
|
|
11537
11842
|
max: timeStepMarks[timeStepMarks.length - 1].value,
|
|
11538
11843
|
marks: timeStepMarks,
|
|
11539
11844
|
disabled: disabledSlider,
|
|
11540
|
-
ThumbComponent: ThumbComponent,
|
|
11541
11845
|
onChange: onChangeSlider,
|
|
11542
|
-
onKeyDown: onKeyDown
|
|
11846
|
+
onKeyDown: onKeyDown,
|
|
11847
|
+
shouldAutoFocus: true
|
|
11543
11848
|
}), /*#__PURE__*/React.createElement(Tooltip, {
|
|
11544
11849
|
title: timestepAutoSwitch.title
|
|
11545
11850
|
}, /*#__PURE__*/React.createElement("span", {
|
|
@@ -14042,6 +14347,7 @@ var OptionsMenuButtonConnect = function OptionsMenuButtonConnect(_ref) {
|
|
|
14042
14347
|
* Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
14043
14348
|
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
14044
14349
|
* */
|
|
14350
|
+
var animationIntervalDefault = 5;
|
|
14045
14351
|
var connectRedux$3 = connect(function (store, props) {
|
|
14046
14352
|
return {
|
|
14047
14353
|
isAnimating: isAnimating(store, props.mapId),
|
|
@@ -14062,8 +14368,7 @@ var PlayButtonConnect = connectRedux$3(function (_ref) {
|
|
|
14062
14368
|
timeStep = _ref.timeStep,
|
|
14063
14369
|
mapStartAnimation = _ref.mapStartAnimation,
|
|
14064
14370
|
mapStopAnimation = _ref.mapStopAnimation;
|
|
14065
|
-
var
|
|
14066
|
-
var animationInterval = timeStep ? timeStep * 60 : animationIntervalDefault;
|
|
14371
|
+
var animationInterval = timeStep || animationIntervalDefault;
|
|
14067
14372
|
|
|
14068
14373
|
var onTogglePlay = function onTogglePlay() {
|
|
14069
14374
|
if (isAnimating) {
|
|
@@ -14571,125 +14876,6 @@ var ConnectedTimeSlider = function ConnectedTimeSlider(_ref) {
|
|
|
14571
14876
|
|
|
14572
14877
|
var TimeSliderConnect = connectRedux(ConnectedTimeSlider);
|
|
14573
14878
|
|
|
14574
|
-
/* *
|
|
14575
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
14576
|
-
* you may not use this file except in compliance with the License.
|
|
14577
|
-
* You may obtain a copy of the License at
|
|
14578
|
-
*
|
|
14579
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
14580
|
-
*
|
|
14581
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
14582
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14583
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14584
|
-
* See the License for the specific language governing permissions and
|
|
14585
|
-
* limitations under the License.
|
|
14586
|
-
*
|
|
14587
|
-
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
14588
|
-
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
14589
|
-
* */
|
|
14590
|
-
var generateUniqueLayerIds = function generateUniqueLayerIds(layers, activeLayerId) {
|
|
14591
|
-
// if there is an activeLayerId given, generate a unique id for it
|
|
14592
|
-
var activeLayerNewId = activeLayerId ? generateLayerId() : activeLayerId; // first match is set as activeLayer because there can only be one
|
|
14593
|
-
|
|
14594
|
-
var activeLayerIndex = layers.findIndex(function (layer) {
|
|
14595
|
-
return layer.id === activeLayerId;
|
|
14596
|
-
});
|
|
14597
|
-
var layersNewIds = layers.map(function (layer, index) {
|
|
14598
|
-
if (layer.id && index === activeLayerIndex) {
|
|
14599
|
-
return Object.assign(Object.assign({}, layer), {
|
|
14600
|
-
id: activeLayerNewId
|
|
14601
|
-
});
|
|
14602
|
-
}
|
|
14603
|
-
|
|
14604
|
-
return Object.assign(Object.assign({}, layer), {
|
|
14605
|
-
id: generateLayerId()
|
|
14606
|
-
});
|
|
14607
|
-
});
|
|
14608
|
-
return {
|
|
14609
|
-
layersNewIds: layersNewIds,
|
|
14610
|
-
activeLayerNewId: activeLayerNewId
|
|
14611
|
-
};
|
|
14612
|
-
};
|
|
14613
|
-
|
|
14614
|
-
/* *
|
|
14615
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
14616
|
-
* you may not use this file except in compliance with the License.
|
|
14617
|
-
* You may obtain a copy of the License at
|
|
14618
|
-
*
|
|
14619
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
14620
|
-
*
|
|
14621
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
14622
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14623
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14624
|
-
* See the License for the specific language governing permissions and
|
|
14625
|
-
* limitations under the License.
|
|
14626
|
-
*
|
|
14627
|
-
* Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
14628
|
-
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
14629
|
-
* */
|
|
14630
|
-
var initialBbox = {
|
|
14631
|
-
srs: 'EPSG:3857',
|
|
14632
|
-
bbox: {
|
|
14633
|
-
left: -450651.2255879827,
|
|
14634
|
-
bottom: 6490531.093143953,
|
|
14635
|
-
right: 1428345.8183648037,
|
|
14636
|
-
top: 7438773.776232235
|
|
14637
|
-
}
|
|
14638
|
-
};
|
|
14639
|
-
var useDefaultMapSettings = function useDefaultMapSettings() {
|
|
14640
|
-
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
14641
|
-
var dispatch = useDispatch();
|
|
14642
|
-
var _props$mapId = props.mapId,
|
|
14643
|
-
mapId = _props$mapId === void 0 ? 'test-map-1' : _props$mapId;
|
|
14644
|
-
var _props$layers = props.layers,
|
|
14645
|
-
layers = _props$layers === void 0 ? [] : _props$layers,
|
|
14646
|
-
_props$activeLayerId = props.activeLayerId,
|
|
14647
|
-
activeLayerId = _props$activeLayerId === void 0 ? undefined : _props$activeLayerId,
|
|
14648
|
-
_props$baseLayers = props.baseLayers,
|
|
14649
|
-
baseLayers = _props$baseLayers === void 0 ? [Object.assign(Object.assign({}, baseLayerGrey$1), {
|
|
14650
|
-
id: "layer-grey-".concat(mapId)
|
|
14651
|
-
}), overLayer$1] : _props$baseLayers,
|
|
14652
|
-
_props$bbox = props.bbox,
|
|
14653
|
-
bbox = _props$bbox === void 0 ? initialBbox.bbox : _props$bbox,
|
|
14654
|
-
_props$srs = props.srs,
|
|
14655
|
-
srs = _props$srs === void 0 ? initialBbox.srs : _props$srs,
|
|
14656
|
-
_props$shouldAutoUpda = props.shouldAutoUpdate,
|
|
14657
|
-
shouldAutoUpdate = _props$shouldAutoUpda === void 0 ? false : _props$shouldAutoUpda; // make sure all layers have a unique id before going forward
|
|
14658
|
-
|
|
14659
|
-
var _generateUniqueLayerI = generateUniqueLayerIds(layers, activeLayerId),
|
|
14660
|
-
layersNewIds = _generateUniqueLayerI.layersNewIds,
|
|
14661
|
-
activeLayerNewId = _generateUniqueLayerI.activeLayerNewId;
|
|
14662
|
-
|
|
14663
|
-
React.useEffect(function () {
|
|
14664
|
-
// set layers
|
|
14665
|
-
dispatch(setLayers({
|
|
14666
|
-
mapId: mapId,
|
|
14667
|
-
layers: layersNewIds
|
|
14668
|
-
})); // set active layer if given otherwise to first layer
|
|
14669
|
-
|
|
14670
|
-
dispatch(setActiveLayerId({
|
|
14671
|
-
mapId: mapId,
|
|
14672
|
-
layerId: activeLayerNewId || layersNewIds.length && layersNewIds[0].id
|
|
14673
|
-
})); // baseLayers
|
|
14674
|
-
|
|
14675
|
-
dispatch(setBaseLayers({
|
|
14676
|
-
mapId: mapId,
|
|
14677
|
-
layers: baseLayers
|
|
14678
|
-
})); // bbox
|
|
14679
|
-
|
|
14680
|
-
dispatch(setBbox$1({
|
|
14681
|
-
bbox: bbox,
|
|
14682
|
-
srs: srs,
|
|
14683
|
-
mapId: mapId
|
|
14684
|
-
})); // auto update
|
|
14685
|
-
|
|
14686
|
-
dispatch(toggleAutoUpdate({
|
|
14687
|
-
mapId: mapId,
|
|
14688
|
-
shouldAutoUpdate: shouldAutoUpdate
|
|
14689
|
-
})); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
14690
|
-
}, []);
|
|
14691
|
-
};
|
|
14692
|
-
|
|
14693
14879
|
/* *
|
|
14694
14880
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
14695
14881
|
* you may not use this file except in compliance with the License.
|
|
@@ -17646,21 +17832,31 @@ var ReactMapView = /*#__PURE__*/function (_React$Component) {
|
|
|
17646
17832
|
|
|
17647
17833
|
if (children !== this.currentMapProps.children) {
|
|
17648
17834
|
var _ret = function () {
|
|
17649
|
-
var wmjsLayers = _this2.adaguc.webMapJS.getLayers();
|
|
17650
|
-
|
|
17651
17835
|
var myChildren = [];
|
|
17836
|
+
var takenIds = new Set();
|
|
17652
17837
|
React.Children.forEach(children, function (child) {
|
|
17653
|
-
|
|
17654
|
-
|
|
17655
|
-
|
|
17656
|
-
|
|
17657
|
-
|
|
17658
|
-
|
|
17838
|
+
if (child) {
|
|
17839
|
+
var childProps = child.props;
|
|
17840
|
+
|
|
17841
|
+
if (childProps && childProps.id) {
|
|
17842
|
+
if (!takenIds.has(childProps.id)) {
|
|
17843
|
+
myChildren.push(child);
|
|
17844
|
+
takenIds.add(childProps.id);
|
|
17845
|
+
} else {
|
|
17846
|
+
childProps.onLayerError(childProps, new Error("Duplicate layer id \"".concat(childProps.id, "\" encountered within this WebMap")), _this2.adaguc.webMapJS);
|
|
17847
|
+
console.warn('ReactWMJSLayer has a duplicate id', child);
|
|
17848
|
+
}
|
|
17849
|
+
} else {
|
|
17850
|
+
debug(DebugType.Warning, 'ReactElement child ignored: has no props or id', child);
|
|
17851
|
+
}
|
|
17659
17852
|
}
|
|
17660
17853
|
});
|
|
17661
17854
|
myChildren.reverse();
|
|
17855
|
+
|
|
17856
|
+
var wmjsLayers = _this2.adaguc.webMapJS.getLayers();
|
|
17662
17857
|
/* ReactWMJSLayer Layer Childs: Detect all ReactLayers connected to WMJSLayers, remove WMJSLayer if there is no ReactLayer */
|
|
17663
17858
|
|
|
17859
|
+
|
|
17664
17860
|
var _loop = function _loop(l) {
|
|
17665
17861
|
if (myChildren.filter(function (c) {
|
|
17666
17862
|
return c && c.props && c.props.id === wmjsLayers[l].ReactWMJSLayerId;
|
|
@@ -18920,14 +19116,51 @@ var LegendMapButtonConnect = function LegendMapButtonConnect(_ref) {
|
|
|
18920
19116
|
* See the License for the specific language governing permissions and
|
|
18921
19117
|
* limitations under the License.
|
|
18922
19118
|
*
|
|
18923
|
-
* Copyright
|
|
18924
|
-
* Copyright
|
|
19119
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
19120
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
19121
|
+
* */
|
|
19122
|
+
var generateUniqueLayerIds = function generateUniqueLayerIds(layers, activeLayerId) {
|
|
19123
|
+
// if there is an activeLayerId given, generate a unique id for it
|
|
19124
|
+
var activeLayerNewId = activeLayerId ? generateLayerId() : activeLayerId; // first match is set as activeLayer because there can only be one
|
|
19125
|
+
|
|
19126
|
+
var activeLayerIndex = layers.findIndex(function (layer) {
|
|
19127
|
+
return layer.id === activeLayerId;
|
|
19128
|
+
});
|
|
19129
|
+
var layersNewIds = layers.map(function (layer, index) {
|
|
19130
|
+
if (layer.id && index === activeLayerIndex) {
|
|
19131
|
+
return Object.assign(Object.assign({}, layer), {
|
|
19132
|
+
id: activeLayerNewId
|
|
19133
|
+
});
|
|
19134
|
+
}
|
|
19135
|
+
|
|
19136
|
+
return Object.assign(Object.assign({}, layer), {
|
|
19137
|
+
id: generateLayerId()
|
|
19138
|
+
});
|
|
19139
|
+
});
|
|
19140
|
+
return {
|
|
19141
|
+
layersNewIds: layersNewIds,
|
|
19142
|
+
activeLayerNewId: activeLayerNewId
|
|
19143
|
+
};
|
|
19144
|
+
};
|
|
19145
|
+
|
|
19146
|
+
/* *
|
|
19147
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
19148
|
+
* you may not use this file except in compliance with the License.
|
|
19149
|
+
* You may obtain a copy of the License at
|
|
19150
|
+
*
|
|
19151
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
19152
|
+
*
|
|
19153
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
19154
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
19155
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
19156
|
+
* See the License for the specific language governing permissions and
|
|
19157
|
+
* limitations under the License.
|
|
19158
|
+
*
|
|
19159
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
19160
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
18925
19161
|
* */
|
|
18926
19162
|
var useStyles$4 = makeStyles(function (theme) {
|
|
18927
19163
|
return {
|
|
18928
|
-
draggableThing: {
|
|
18929
|
-
boxShadow: '4px 4px 15px 1px rgba(0,0,0,0.75)'
|
|
18930
|
-
},
|
|
18931
19164
|
mapTitle: {
|
|
18932
19165
|
position: 'absolute',
|
|
18933
19166
|
padding: '5px',
|
|
@@ -18943,6 +19176,15 @@ var useStyles$4 = makeStyles(function (theme) {
|
|
|
18943
19176
|
}
|
|
18944
19177
|
};
|
|
18945
19178
|
});
|
|
19179
|
+
var defaultBbox = {
|
|
19180
|
+
srs: 'EPSG:3857',
|
|
19181
|
+
bbox: {
|
|
19182
|
+
left: -450651.2255879827,
|
|
19183
|
+
bottom: 6490531.093143953,
|
|
19184
|
+
right: 1428345.8183648037,
|
|
19185
|
+
top: 7438773.776232235
|
|
19186
|
+
}
|
|
19187
|
+
};
|
|
18946
19188
|
var ConfigurableConnectedMap = function ConfigurableConnectedMap(_ref) {
|
|
18947
19189
|
var id = _ref.id,
|
|
18948
19190
|
title = _ref.title,
|
|
@@ -18961,43 +19203,94 @@ var ConfigurableConnectedMap = function ConfigurableConnectedMap(_ref) {
|
|
|
18961
19203
|
displayDimensionSelectButtonInMap = _ref$displayDimension === void 0 ? true : _ref$displayDimension,
|
|
18962
19204
|
_ref$shouldAutoUpdate = _ref.shouldAutoUpdate,
|
|
18963
19205
|
shouldAutoUpdate = _ref$shouldAutoUpdate === void 0 ? false : _ref$shouldAutoUpdate,
|
|
19206
|
+
_ref$shouldAnimate = _ref.shouldAnimate,
|
|
19207
|
+
shouldAnimate = _ref$shouldAnimate === void 0 ? false : _ref$shouldAnimate,
|
|
19208
|
+
_ref$animationPayload = _ref.animationPayload,
|
|
19209
|
+
animationPayload = _ref$animationPayload === void 0 ? undefined : _ref$animationPayload,
|
|
18964
19210
|
_ref$shouldShowZoomCo = _ref.shouldShowZoomControls,
|
|
18965
19211
|
shouldShowZoomControls = _ref$shouldShowZoomCo === void 0 ? false : _ref$shouldShowZoomCo;
|
|
18966
|
-
var myMapId = React__default.useRef(id || generateMapId()).current;
|
|
18967
|
-
var baseLayerWithUniqueId = Object.assign(Object.assign({}, baseLayer), {
|
|
18968
|
-
id: "baseLayer-".concat(myMapId)
|
|
18969
|
-
});
|
|
18970
|
-
useDefaultMapSettings({
|
|
18971
|
-
mapId: myMapId,
|
|
18972
|
-
bbox: bbox || initialBbox.bbox,
|
|
18973
|
-
srs: srs || initialBbox.srs,
|
|
18974
|
-
layers: layers,
|
|
18975
|
-
activeLayerId: activeLayerId,
|
|
18976
|
-
baseLayers: [baseLayerWithUniqueId, Object.assign(Object.assign({}, overLayer$1), {
|
|
18977
|
-
id: generateLayerId()
|
|
18978
|
-
})],
|
|
18979
|
-
shouldAutoUpdate: shouldAutoUpdate
|
|
18980
|
-
});
|
|
18981
19212
|
var classes = useStyles$4();
|
|
19213
|
+
var dispatch = useDispatch();
|
|
19214
|
+
var mapId = React__default.useRef(id || generateMapId()).current;
|
|
19215
|
+
var baseLayerWithUniqueId = Object.assign(Object.assign({}, baseLayer), {
|
|
19216
|
+
id: "baseLayer-".concat(mapId)
|
|
19217
|
+
}); // make sure all layers have a unique id before going forward
|
|
19218
|
+
|
|
19219
|
+
var _generateUniqueLayerI = generateUniqueLayerIds(layers, activeLayerId),
|
|
19220
|
+
layersNewIds = _generateUniqueLayerI.layersNewIds,
|
|
19221
|
+
activeLayerNewId = _generateUniqueLayerI.activeLayerNewId;
|
|
19222
|
+
|
|
19223
|
+
React__default.useEffect(function () {
|
|
19224
|
+
// set layers
|
|
19225
|
+
dispatch(setLayers({
|
|
19226
|
+
mapId: mapId,
|
|
19227
|
+
layers: layersNewIds
|
|
19228
|
+
})); // set active layer if given otherwise to first layer
|
|
19229
|
+
|
|
19230
|
+
dispatch(setActiveLayerId({
|
|
19231
|
+
mapId: mapId,
|
|
19232
|
+
layerId: activeLayerNewId || layersNewIds.length && layersNewIds[0].id
|
|
19233
|
+
})); // baseLayers
|
|
19234
|
+
|
|
19235
|
+
dispatch(setBaseLayers({
|
|
19236
|
+
mapId: mapId,
|
|
19237
|
+
layers: [baseLayerWithUniqueId, Object.assign(Object.assign({}, overLayer$1), {
|
|
19238
|
+
id: generateLayerId()
|
|
19239
|
+
})]
|
|
19240
|
+
})); // bbox
|
|
19241
|
+
|
|
19242
|
+
dispatch(setBbox$1({
|
|
19243
|
+
bbox: bbox || defaultBbox.bbox,
|
|
19244
|
+
srs: srs || defaultBbox.srs,
|
|
19245
|
+
mapId: mapId
|
|
19246
|
+
})); // auto update
|
|
19247
|
+
|
|
19248
|
+
dispatch(toggleAutoUpdate({
|
|
19249
|
+
mapId: mapId,
|
|
19250
|
+
shouldAutoUpdate: shouldAutoUpdate
|
|
19251
|
+
})); // turn animation on
|
|
19252
|
+
|
|
19253
|
+
if (shouldAnimate === true) {
|
|
19254
|
+
var duration = animationPayload && animationPayload.duration ? animationPayload.duration : 5 * 60; // set to default of 5 hours
|
|
19255
|
+
|
|
19256
|
+
dispatch(mapStartAnimation({
|
|
19257
|
+
mapId: mapId,
|
|
19258
|
+
start: moment.utc().subtract(duration, 'minutes'),
|
|
19259
|
+
end: moment.utc(),
|
|
19260
|
+
interval: animationPayload && animationPayload.interval ? animationPayload.interval : animationIntervalDefault
|
|
19261
|
+
}));
|
|
19262
|
+
|
|
19263
|
+
if (animationPayload && animationPayload.speed) {
|
|
19264
|
+
dispatch(setAnimationDelay({
|
|
19265
|
+
mapId: mapId,
|
|
19266
|
+
animationDelay: getSpeedDelay(animationPayload.speed)
|
|
19267
|
+
}));
|
|
19268
|
+
}
|
|
19269
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
19270
|
+
|
|
19271
|
+
}, []);
|
|
18982
19272
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
18983
|
-
className: className || classes.mapContainer
|
|
19273
|
+
className: className || classes.mapContainer,
|
|
19274
|
+
"data-testid": "configurableConnectedMap"
|
|
18984
19275
|
}, /*#__PURE__*/React__default.createElement(Typography, {
|
|
19276
|
+
"data-testid": "mapTitle",
|
|
18985
19277
|
className: classes.mapTitle
|
|
18986
|
-
}, title ||
|
|
19278
|
+
}, title || mapId), /*#__PURE__*/React__default.createElement(MapControls, {
|
|
19279
|
+
"data-testid": "mapControls",
|
|
18987
19280
|
style: {
|
|
18988
19281
|
top: shouldShowZoomControls ? 120 : 24
|
|
18989
19282
|
}
|
|
18990
19283
|
}, displayLayerManagerButtonInMap && /*#__PURE__*/React__default.createElement(LayerManagerMapButtonConnect, {
|
|
18991
|
-
mapId:
|
|
19284
|
+
mapId: mapId
|
|
18992
19285
|
}), /*#__PURE__*/React__default.createElement(LegendMapButtonConnect, {
|
|
18993
|
-
mapId:
|
|
19286
|
+
mapId: mapId
|
|
18994
19287
|
}), displayDimensionSelectButtonInMap && /*#__PURE__*/React__default.createElement(MultiDimensionSelectMapButtonsConnect, {
|
|
18995
|
-
mapId:
|
|
19288
|
+
mapId: mapId
|
|
18996
19289
|
})), /*#__PURE__*/React__default.createElement(MapViewConnect, {
|
|
18997
19290
|
controls: {},
|
|
18998
19291
|
displayTimeInMap: displayTimeInMap,
|
|
18999
19292
|
showScaleBar: false,
|
|
19000
|
-
mapId:
|
|
19293
|
+
mapId: mapId
|
|
19001
19294
|
}));
|
|
19002
19295
|
};
|
|
19003
19296
|
|
|
@@ -19356,10 +19649,14 @@ var ConfigurableMapWithSliderConnect = function ConfigurableMapWithSliderConnect
|
|
|
19356
19649
|
activeLayerId = _ref$activeLayerId === void 0 ? undefined : _ref$activeLayerId,
|
|
19357
19650
|
_ref$shouldAutoUpdate = _ref.shouldAutoUpdate,
|
|
19358
19651
|
shouldAutoUpdate = _ref$shouldAutoUpdate === void 0 ? false : _ref$shouldAutoUpdate,
|
|
19652
|
+
_ref$shouldAnimate = _ref.shouldAnimate,
|
|
19653
|
+
shouldAnimate = _ref$shouldAnimate === void 0 ? false : _ref$shouldAnimate,
|
|
19359
19654
|
bbox = _ref.bbox,
|
|
19360
19655
|
srs = _ref.srs,
|
|
19361
19656
|
_ref$shouldShowZoomCo = _ref.shouldShowZoomControls,
|
|
19362
|
-
shouldShowZoomControls = _ref$shouldShowZoomCo === void 0 ? true : _ref$shouldShowZoomCo
|
|
19657
|
+
shouldShowZoomControls = _ref$shouldShowZoomCo === void 0 ? true : _ref$shouldShowZoomCo,
|
|
19658
|
+
_ref$animationPayload = _ref.animationPayload,
|
|
19659
|
+
animationPayload = _ref$animationPayload === void 0 ? undefined : _ref$animationPayload;
|
|
19363
19660
|
var classes = useStyles$2();
|
|
19364
19661
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
19365
19662
|
className: classes.mapSliderConnect,
|
|
@@ -19382,10 +19679,108 @@ var ConfigurableMapWithSliderConnect = function ConfigurableMapWithSliderConnect
|
|
|
19382
19679
|
bbox: bbox,
|
|
19383
19680
|
srs: srs,
|
|
19384
19681
|
shouldAutoUpdate: shouldAutoUpdate,
|
|
19682
|
+
shouldAnimate: shouldAnimate,
|
|
19683
|
+
animationPayload: animationPayload,
|
|
19385
19684
|
shouldShowZoomControls: shouldShowZoomControls
|
|
19386
19685
|
}));
|
|
19387
19686
|
};
|
|
19388
19687
|
|
|
19688
|
+
/* *
|
|
19689
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
19690
|
+
* you may not use this file except in compliance with the License.
|
|
19691
|
+
* You may obtain a copy of the License at
|
|
19692
|
+
*
|
|
19693
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
19694
|
+
*
|
|
19695
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
19696
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
19697
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
19698
|
+
* See the License for the specific language governing permissions and
|
|
19699
|
+
* limitations under the License.
|
|
19700
|
+
*
|
|
19701
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
19702
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
19703
|
+
* */
|
|
19704
|
+
var componentsLookUp = function componentsLookUp(_ref) {
|
|
19705
|
+
var componentType = _ref.componentType,
|
|
19706
|
+
initialProps = _ref.initialProps,
|
|
19707
|
+
id = _ref.id;
|
|
19708
|
+
|
|
19709
|
+
switch (componentType) {
|
|
19710
|
+
case 'ConfigurableMap':
|
|
19711
|
+
case 'ConfigurableMapWithSlider':
|
|
19712
|
+
{
|
|
19713
|
+
var mapPreset = initialProps.mapPreset,
|
|
19714
|
+
shouldShowZoomControls = initialProps.shouldShowZoomControls;
|
|
19715
|
+
return /*#__PURE__*/React__default.createElement(ConfigurableMapWithSliderConnect, Object.assign({}, mapPreset, {
|
|
19716
|
+
id: id,
|
|
19717
|
+
bbox: mapPreset && mapPreset.proj && mapPreset.proj.bbox,
|
|
19718
|
+
srs: mapPreset && mapPreset.proj && mapPreset.proj.srs,
|
|
19719
|
+
shouldAutoUpdate: mapPreset && mapPreset.shouldAutoUpdate || false,
|
|
19720
|
+
shouldShowZoomControls: shouldShowZoomControls !== undefined ? shouldShowZoomControls : true,
|
|
19721
|
+
shouldAnimate: mapPreset && mapPreset.shouldAnimate || false,
|
|
19722
|
+
animationPayload: mapPreset && mapPreset.animationPayload ? mapPreset.animationPayload : undefined,
|
|
19723
|
+
"data-testid": "coreConfigurableMapWithSlider"
|
|
19724
|
+
}));
|
|
19725
|
+
}
|
|
19726
|
+
|
|
19727
|
+
case 'HarmonieTempAndPrecipPreset':
|
|
19728
|
+
{
|
|
19729
|
+
var layers = initialProps.layers;
|
|
19730
|
+
return /*#__PURE__*/React__default.createElement(HarmonieTempAndPrecipPreset, {
|
|
19731
|
+
layers: layers || null,
|
|
19732
|
+
"data-testid": "coreHarmonieTempAndPrecipPreset"
|
|
19733
|
+
});
|
|
19734
|
+
}
|
|
19735
|
+
|
|
19736
|
+
case 'HarmRefTimePreset':
|
|
19737
|
+
{
|
|
19738
|
+
var _layers = initialProps.layers,
|
|
19739
|
+
layerSyncGroupId = initialProps.layerSyncGroupId;
|
|
19740
|
+
return /*#__PURE__*/React__default.createElement(HarmRefTimePreset, {
|
|
19741
|
+
layers: _layers || [],
|
|
19742
|
+
layerSyncGroupId: layerSyncGroupId,
|
|
19743
|
+
"data-testid": "coreHarmonieRefTimePreset"
|
|
19744
|
+
});
|
|
19745
|
+
}
|
|
19746
|
+
|
|
19747
|
+
case 'ConfigurableMultiMapWithSlider':
|
|
19748
|
+
{
|
|
19749
|
+
var _mapPreset = initialProps.mapPreset,
|
|
19750
|
+
_shouldShowZoomControls = initialProps.shouldShowZoomControls;
|
|
19751
|
+
if (!_mapPreset || _mapPreset.length === 0) return null;
|
|
19752
|
+
return /*#__PURE__*/React__default.createElement(MultiMapViewConnect, {
|
|
19753
|
+
rows: 2,
|
|
19754
|
+
cols: 2,
|
|
19755
|
+
showZoomControls: _shouldShowZoomControls !== undefined ? _shouldShowZoomControls : true,
|
|
19756
|
+
maps: _mapPreset.map(function (p, i) {
|
|
19757
|
+
return {
|
|
19758
|
+
id: "".concat(id, "_").concat(i),
|
|
19759
|
+
layers: p.layers || [],
|
|
19760
|
+
activeLayerId: p.activeLayerId || undefined,
|
|
19761
|
+
baseLayer: p.baseLayer || undefined,
|
|
19762
|
+
bbox: _mapPreset[0] && _mapPreset[0].proj && _mapPreset[0].proj.bbox || null,
|
|
19763
|
+
srs: _mapPreset[0] && _mapPreset[0].proj && _mapPreset[0].proj.srs || null
|
|
19764
|
+
};
|
|
19765
|
+
}),
|
|
19766
|
+
"data-testid": "coreConfigurableMultiMapWithSlider"
|
|
19767
|
+
});
|
|
19768
|
+
}
|
|
19769
|
+
|
|
19770
|
+
case 'TimeSlider':
|
|
19771
|
+
{
|
|
19772
|
+
var sliderPreset = initialProps.sliderPreset;
|
|
19773
|
+
return /*#__PURE__*/React__default.createElement(TimeSliderConnect, Object.assign({}, sliderPreset, {
|
|
19774
|
+
sourceId: id,
|
|
19775
|
+
"data-testid": "coreTimeSliderConnect"
|
|
19776
|
+
}));
|
|
19777
|
+
}
|
|
19778
|
+
|
|
19779
|
+
default:
|
|
19780
|
+
return null;
|
|
19781
|
+
}
|
|
19782
|
+
};
|
|
19783
|
+
|
|
19389
19784
|
/* *
|
|
19390
19785
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
19391
19786
|
* you may not use this file except in compliance with the License.
|
|
@@ -20019,4 +20414,4 @@ var CoreThemeStoreProvider = function CoreThemeStoreProvider(_ref2) {
|
|
|
20019
20414
|
}, children)));
|
|
20020
20415
|
};
|
|
20021
20416
|
|
|
20022
|
-
export { ConfigurableConnectedMap, ConfigurableMapWithSliderConnect, CoreThemeProvider, CoreThemeStoreProvider, HarmRefTimePreset, HarmonieTempAndPrecipPreset, LayerManagerConnect, LayerManagerMapButtonConnect, Legend, LegendConnect, LegendMapButtonConnect, MapControls, MapView, MapViewConnect, MapViewLayer, MultiDimensionSelectMapButtonsConnect, MultiMapMultiDimensionSelectConnect as MultiMapDimensionSelectConnect, MultiMapViewConnect, ReactMapView, ReactMapViewLayer, SyncGroupViewerConnect, index as SyncGroups, TimeSliderConnect, TooltipSelect, ZoomControlConnect, ZoomControls, coreModuleConfig, defaultConfigurations, filterNonTimeDimensions, generateLayerId, generateMapId, generateScreenId, generateTimesliderId, getFirstTimeStepForLayerId, getLastTimeStepForLayerId, getNextTimeStepForLayerId, getPreviousTimeStepForLayerId, getWMJSDimensionForLayerAndDimension, getWMJSMapById, getWMJSTimeDimensionForLayerId, getWMLayerById, reducer$5 as layerReducer, makeMapPreset, actions$3 as mapActions, constants$1 as mapConstants, selectors as mapSelectors, types$2 as mapTypes, utils as mapUtils, publicLayers, publicServices, registerWMJSMap, registerWMLayer, store, actions as syncGroupActions, synchronizationGroupConfig as synchronizationGroupModuleConfig, testLayers, actions$2 as uiActions, types$1 as uiTypes, useStyles$3 as useStyles };
|
|
20417
|
+
export { ConfigurableConnectedMap, ConfigurableMapWithSliderConnect, CoreThemeProvider, CoreThemeStoreProvider, HarmRefTimePreset, HarmonieTempAndPrecipPreset, LayerManagerConnect, LayerManagerMapButtonConnect, Legend, LegendConnect, LegendMapButtonConnect, MapControls, MapView, MapViewConnect, MapViewLayer, MultiDimensionSelectMapButtonsConnect, MultiMapMultiDimensionSelectConnect as MultiMapDimensionSelectConnect, MultiMapViewConnect, ReactMapView, ReactMapViewLayer, SyncGroupViewerConnect, index as SyncGroups, TimeSliderConnect, TooltipSelect, ZoomControlConnect, ZoomControls, componentsLookUp, coreModuleConfig, defaultConfigurations, filterNonTimeDimensions, generateLayerId, generateMapId, generateScreenId, generateTimesliderId, getFirstTimeStepForLayerId, getLastTimeStepForLayerId, getNextTimeStepForLayerId, getPreviousTimeStepForLayerId, getWMJSDimensionForLayerAndDimension, getWMJSMapById, getWMJSTimeDimensionForLayerId, getWMLayerById, reducer$5 as layerReducer, makeMapPreset, actions$3 as mapActions, constants$1 as mapConstants, selectors as mapSelectors, types$2 as mapTypes, utils as mapUtils, publicLayers, publicServices, registerWMJSMap, registerWMLayer, store, actions as syncGroupActions, synchronizationGroupConfig as synchronizationGroupModuleConfig, testLayers, actions$2 as uiActions, types$1 as uiTypes, useStyles$3 as useStyles };
|