@opengeoweb/core 2.2.0 → 2.2.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/index.esm.js +2154 -1200
- package/index.umd.js +2209 -1217
- package/lib/components/ComponentsLookUp/componentsLookUp.d.ts +3 -3
- package/lib/components/CustomToggleButton/CustomToggleButton.d.ts +9 -0
- package/lib/components/{ToggleIconButton/ToggleIconButton.spec.d.ts → CustomToggleButton/CustomToggleButton.spec.d.ts} +0 -0
- package/lib/components/CustomToggleButton/CustomToggleButton.stories.d.ts +13 -0
- package/lib/components/LayerManager/LayerSelect/KeywordFilterResults/KeywordFilterResults.d.ts +1 -3
- package/lib/components/LayerManager/LayerSelect/KeywordFilterResults/KeywordFilterResultsListItem.d.ts +4 -5
- package/lib/components/LayerManager/LayerSelect/KeywordFilterResults/KeywordFilterResultsListItemConnect.d.ts +6 -0
- package/lib/components/LayerManager/LayerSelect/KeywordFilterResults/KeywordFilterResultsListItemConnect.spec.d.ts +1 -0
- package/lib/components/LayerManager/LayerSelect/KeywordFilterResults/KeywordFilterSelectAllSwitchConnect.d.ts +3 -0
- package/lib/components/LayerManager/LayerSelect/KeywordFilterResults/KeywordFilterSelectAllSwitchConnect.spec.d.ts +1 -0
- package/lib/components/LayerManager/LayerSelect/LayerList/LayerList.d.ts +2 -2
- package/lib/components/LayerManager/LayerSelect/LayerList/LayerListUtils.d.ts +1 -2
- package/lib/components/LayerManager/LayerSelect/ServiceOptionsDialog/ServiceOptionsDialog.d.ts +4 -1
- package/lib/components/LayerManager/LayerSelect/ServiceOptionsDialog/ServiceOptionsDialogConnect.d.ts +3 -0
- package/lib/components/LayerManager/LayerSelect/ServiceOptionsDialog/ServiceOptionsDialogConnect.spec.d.ts +1 -0
- package/lib/components/LayerManager/LayerSelect/ServicePopup/ServicePopup.d.ts +3 -0
- package/lib/components/LayerManager/LayerSelect/ServicePopup/ServicePopupConnect.d.ts +10 -0
- package/lib/components/MapControls/MapControlButton.d.ts +2 -2
- package/lib/components/MultiMapView/HarmoniePresets/HarmRefTimePreset.d.ts +2 -2
- package/lib/components/MultiMapView/HarmoniePresets/HarmonieTempAndPrecipPreset.d.ts +4 -4
- package/lib/components/MultiMapView/MultiMapViewConnect.d.ts +2 -1
- package/lib/components/MultiMapView/storyUtils/mapPresets.d.ts +81 -0
- package/lib/components/ToolButton/ToolButton.d.ts +12 -0
- package/lib/components/ToolButton/ToolButton.spec.d.ts +1 -0
- package/lib/components/{ToggleIconButton/ToggleIconButton.stories.d.ts → ToolButton/ToolButton.stories.d.ts} +2 -2
- package/lib/components/ToolButton/index.d.ts +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/store/generic/synchronizationGroups/types.d.ts +1 -0
- package/lib/store/layerSelect/actions.d.ts +4 -2
- package/lib/store/layerSelect/constants.d.ts +3 -1
- package/lib/store/layerSelect/sagas.d.ts +1 -0
- package/lib/store/layerSelect/selectors.d.ts +59 -9
- package/lib/store/layerSelect/types.d.ts +33 -12
- package/lib/store/mapStore/layers/selectors.d.ts +24 -12
- package/lib/store/mapStore/map/selectors.d.ts +38 -26
- package/lib/store/mapStore/service/actions.d.ts +8 -1
- package/lib/store/mapStore/service/constants.d.ts +1 -0
- package/lib/store/mapStore/service/selectors.d.ts +34 -6
- package/lib/store/mapStore/service/types.d.ts +9 -2
- package/lib/store/ui/selectors.d.ts +2 -2
- package/lib/store/utils.d.ts +6 -0
- package/lib/utils/defaultConfigurations.d.ts +3 -21
- package/lib/utils/getCapabilities.d.ts +1 -0
- package/lib/utils/jsonPresetFilter.d.ts +10 -0
- package/lib/utils/jsonPresetFilter.spec.d.ts +1 -0
- package/lib/utils/types.d.ts +52 -0
- package/package.json +5 -5
- package/lib/components/ToggleIconButton/ToggleIconButton.d.ts +0 -12
- package/lib/components/ToggleIconButton/index.d.ts +0 -1
package/index.esm.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { createSelector } from 'reselect';
|
|
2
|
-
import _, { isEqual, debounce } from 'lodash';
|
|
3
2
|
import moment from 'moment';
|
|
3
|
+
import _, { isEqual, debounce } from 'lodash';
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import React__default, { useState, Component, useRef, useEffect } from 'react';
|
|
6
6
|
import produce, { produce as produce$1 } from 'immer';
|
|
7
7
|
import { takeLatest, put, select, call, takeEvery } from 'redux-saga/effects';
|
|
8
8
|
import { WMGetServiceFromStore, getMapImageStore, WMBBOX, debug, DebugType, WMJSMap, WMLayer, legendImageStore, WMImageEventType, getLegendGraphicURLForLayer } from '@opengeoweb/webmap';
|
|
9
|
-
import { Tooltip, Select, Grid, InputLabel, IconButton, Paper, Box, Typography, CircularProgress, List, ListSubheader, ListItem, ListItemText, Dialog, DialogTitle, DialogContent, DialogContentText, TextField, DialogActions, Button, MenuItem, Checkbox, SvgIcon, ListItemIcon, Menu, FormControl, ToggleButton, InputAdornment,
|
|
9
|
+
import { Tooltip, Select, Grid, InputLabel, IconButton, Paper, Box, Typography, CircularProgress, List, ListSubheader, ListItem, ListItemText, Dialog, DialogTitle, DialogContent, DialogContentText, TextField, DialogActions, Button, MenuItem, Checkbox, SvgIcon, ListItemIcon, Menu, FormControl, ToggleButton, InputAdornment, ListItemSecondaryAction, Switch, Slider, FormControlLabel, Popover, useMediaQuery, useTheme, SliderThumb } from '@mui/material';
|
|
10
10
|
import makeStyles from '@mui/styles/makeStyles';
|
|
11
11
|
import { connect, useDispatch, useSelector, Provider } from 'react-redux';
|
|
12
12
|
import { sliderStyles, CustomSlider, ToolContainerDraggable, useIsMounted } from '@opengeoweb/shared';
|
|
@@ -657,6 +657,7 @@ var onUpdateLayerInformation = function onUpdateLayerInformation(payload) {
|
|
|
657
657
|
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
658
658
|
* */
|
|
659
659
|
var MAP_SERVICES_SET_LAYERS = 'MAP_SERVICES_SET_LAYERS';
|
|
660
|
+
var MAP_SERVICES_REMOVE_SERVICE = 'MAP_SERVICES_REMOVE_SERVICE';
|
|
660
661
|
|
|
661
662
|
/* *
|
|
662
663
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -687,6 +688,19 @@ var serviceSetLayers = function serviceSetLayers(payload) {
|
|
|
687
688
|
payload: payload
|
|
688
689
|
};
|
|
689
690
|
};
|
|
691
|
+
/**
|
|
692
|
+
* Action mapStoreRemoveService is used in ServiceOptionsDialogConnect after clicking the remove button. Action layerSelectServiceRemoved is used automatically after calling the mapStoreRemoveService action
|
|
693
|
+
*
|
|
694
|
+
* Example: mapStoreRemoveService({serviceUrl: someService})
|
|
695
|
+
* @param {object} payload consisting of serviceUrl: string
|
|
696
|
+
*/
|
|
697
|
+
|
|
698
|
+
var mapStoreRemoveService = function mapStoreRemoveService(payload) {
|
|
699
|
+
return {
|
|
700
|
+
type: MAP_SERVICES_REMOVE_SERVICE,
|
|
701
|
+
payload: payload
|
|
702
|
+
};
|
|
703
|
+
};
|
|
690
704
|
|
|
691
705
|
/* *
|
|
692
706
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -745,7 +759,8 @@ var actions$3 = /*#__PURE__*/Object.freeze({
|
|
|
745
759
|
addAvailableBaseLayer: addAvailableBaseLayer,
|
|
746
760
|
addAvailableBaseLayers: addAvailableBaseLayers,
|
|
747
761
|
onUpdateLayerInformation: onUpdateLayerInformation,
|
|
748
|
-
serviceSetLayers: serviceSetLayers
|
|
762
|
+
serviceSetLayers: serviceSetLayers,
|
|
763
|
+
mapStoreRemoveService: mapStoreRemoveService
|
|
749
764
|
});
|
|
750
765
|
|
|
751
766
|
/* *
|
|
@@ -778,6 +793,29 @@ var Scale;
|
|
|
778
793
|
Scale[Scale["DataScale"] = 8] = "DataScale";
|
|
779
794
|
})(Scale || (Scale = {}));
|
|
780
795
|
|
|
796
|
+
/* *
|
|
797
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
798
|
+
* you may not use this file except in compliance with the License.
|
|
799
|
+
* You may obtain a copy of the License at
|
|
800
|
+
*
|
|
801
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
802
|
+
*
|
|
803
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
804
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
805
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
806
|
+
* See the License for the specific language governing permissions and
|
|
807
|
+
* limitations under the License.
|
|
808
|
+
*
|
|
809
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
810
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
811
|
+
* */
|
|
812
|
+
var selectorMemoizationOptions = {
|
|
813
|
+
memoizeOptions: {
|
|
814
|
+
maxSize: 1000,
|
|
815
|
+
resultEqualityCheck: isEqual
|
|
816
|
+
}
|
|
817
|
+
};
|
|
818
|
+
|
|
781
819
|
/* *
|
|
782
820
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
783
821
|
* you may not use this file except in compliance with the License.
|
|
@@ -1023,7 +1061,7 @@ var getLayerById = function getLayerById(store, layerId) {
|
|
|
1023
1061
|
|
|
1024
1062
|
var getLayersById = createSelector(layerStore, function (store) {
|
|
1025
1063
|
return store ? store.byId : null;
|
|
1026
|
-
});
|
|
1064
|
+
}, selectorMemoizationOptions);
|
|
1027
1065
|
/**
|
|
1028
1066
|
* Retrieves all layerIds
|
|
1029
1067
|
*
|
|
@@ -1034,7 +1072,7 @@ var getLayersById = createSelector(layerStore, function (store) {
|
|
|
1034
1072
|
|
|
1035
1073
|
var getLayersIds = createSelector(layerStore, function (store) {
|
|
1036
1074
|
return store ? store.allIds : [];
|
|
1037
|
-
});
|
|
1075
|
+
}, selectorMemoizationOptions);
|
|
1038
1076
|
/**
|
|
1039
1077
|
* Retrieves all layers (including base layers and overlayers)
|
|
1040
1078
|
*
|
|
@@ -1047,7 +1085,7 @@ var getAllLayers = createSelector(getLayersIds, getLayersById, function (ids, la
|
|
|
1047
1085
|
return ids.map(function (layerId) {
|
|
1048
1086
|
return layers[layerId];
|
|
1049
1087
|
});
|
|
1050
|
-
});
|
|
1088
|
+
}, selectorMemoizationOptions);
|
|
1051
1089
|
/**
|
|
1052
1090
|
* Retrieves all layers that aren't base layers and aren't overlayers
|
|
1053
1091
|
*
|
|
@@ -1060,7 +1098,7 @@ var getLayers = createSelector(getAllLayers, function (layers) {
|
|
|
1060
1098
|
return layers.filter(function (layer) {
|
|
1061
1099
|
return layer.layerType !== LayerType.baseLayer && layer.layerType !== LayerType.overLayer;
|
|
1062
1100
|
});
|
|
1063
|
-
});
|
|
1101
|
+
}, selectorMemoizationOptions);
|
|
1064
1102
|
/**
|
|
1065
1103
|
* Retrieves all baselayers
|
|
1066
1104
|
*
|
|
@@ -1073,7 +1111,7 @@ var getBaseLayers = createSelector(getAllLayers, function (layers) {
|
|
|
1073
1111
|
return layers.filter(function (layer) {
|
|
1074
1112
|
return layer.layerType === LayerType.baseLayer;
|
|
1075
1113
|
});
|
|
1076
|
-
});
|
|
1114
|
+
}, selectorMemoizationOptions);
|
|
1077
1115
|
/**
|
|
1078
1116
|
* Retrieves all overLayers
|
|
1079
1117
|
*
|
|
@@ -1086,7 +1124,7 @@ var getOverLayers = createSelector(getAllLayers, function (layers) {
|
|
|
1086
1124
|
return layers.filter(function (layer) {
|
|
1087
1125
|
return layer.layerType === LayerType.overLayer;
|
|
1088
1126
|
});
|
|
1089
|
-
});
|
|
1127
|
+
}, selectorMemoizationOptions);
|
|
1090
1128
|
/**
|
|
1091
1129
|
* Gets dimensions of the passed layer
|
|
1092
1130
|
*
|
|
@@ -1098,7 +1136,7 @@ var getOverLayers = createSelector(getAllLayers, function (layers) {
|
|
|
1098
1136
|
|
|
1099
1137
|
var getLayerDimensions = createSelector(getLayerById, function (layer) {
|
|
1100
1138
|
return layer && layer.dimensions ? layer.dimensions : [];
|
|
1101
|
-
});
|
|
1139
|
+
}, selectorMemoizationOptions);
|
|
1102
1140
|
/**
|
|
1103
1141
|
* Gets dimensions of the passed layer, excluding the time dimension
|
|
1104
1142
|
*
|
|
@@ -1110,21 +1148,21 @@ var getLayerDimensions = createSelector(getLayerById, function (layer) {
|
|
|
1110
1148
|
|
|
1111
1149
|
var getLayerNonTimeDimensions = createSelector(getLayerDimensions, function (dimensions) {
|
|
1112
1150
|
return filterNonTimeDimensions(dimensions);
|
|
1113
|
-
});
|
|
1151
|
+
}, selectorMemoizationOptions);
|
|
1114
1152
|
/**
|
|
1115
1153
|
* Gets time dimension of the passed layer
|
|
1116
1154
|
*
|
|
1117
1155
|
* Example: timeDimension = getLayerTimeDimension(store, 'layerId_1')
|
|
1118
1156
|
* @param {object} store store: object - object from which the layers state will be extracted
|
|
1119
1157
|
* @param {string} layerId layerId: string - Id of the layer
|
|
1120
|
-
* @returns {
|
|
1158
|
+
* @returns {object} returnType: object - object of layer time dimension
|
|
1121
1159
|
*/
|
|
1122
1160
|
|
|
1123
1161
|
var getLayerTimeDimension = createSelector(getLayerDimensions, function (dimensions) {
|
|
1124
1162
|
return dimensions && dimensions.length ? dimensions.find(function (dimension) {
|
|
1125
1163
|
return dimension.name === 'time';
|
|
1126
|
-
}) :
|
|
1127
|
-
});
|
|
1164
|
+
}) : {};
|
|
1165
|
+
}, selectorMemoizationOptions);
|
|
1128
1166
|
/**
|
|
1129
1167
|
* Gets specified dimension of the passed layer
|
|
1130
1168
|
*
|
|
@@ -1141,7 +1179,7 @@ var getLayerDimension = createSelector(getLayerDimensions, function (_store, _la
|
|
|
1141
1179
|
return dimensions && dimensions.length ? dimensions.find(function (dimension) {
|
|
1142
1180
|
return dimension.name === dimensionName;
|
|
1143
1181
|
}) : {};
|
|
1144
|
-
});
|
|
1182
|
+
}, selectorMemoizationOptions);
|
|
1145
1183
|
/**
|
|
1146
1184
|
* Gets opacity of the passed layer
|
|
1147
1185
|
*
|
|
@@ -1223,9 +1261,11 @@ var getLayerStatus = createSelector(getLayerById, function (layer) {
|
|
|
1223
1261
|
* @returns {array} returnType: array - array containing all available base layers
|
|
1224
1262
|
*/
|
|
1225
1263
|
|
|
1226
|
-
var getAvailableBaseLayersForMap = function
|
|
1227
|
-
|
|
1228
|
-
|
|
1264
|
+
var getAvailableBaseLayersForMap = createSelector(layerStore, function (_store, _mapId) {
|
|
1265
|
+
return _mapId;
|
|
1266
|
+
}, function (layerStore, mapId) {
|
|
1267
|
+
if (layerStore && layerStore.availableBaseLayers) {
|
|
1268
|
+
var availableBaseLayers = layerStore.availableBaseLayers;
|
|
1229
1269
|
return availableBaseLayers.allIds.reduce(function (list, layerId) {
|
|
1230
1270
|
if (availableBaseLayers.byId[layerId].mapId === mapId) {
|
|
1231
1271
|
return list.concat(availableBaseLayers.byId[layerId]);
|
|
@@ -1236,7 +1276,7 @@ var getAvailableBaseLayersForMap = function getAvailableBaseLayersForMap(store,
|
|
|
1236
1276
|
}
|
|
1237
1277
|
|
|
1238
1278
|
return [];
|
|
1239
|
-
};
|
|
1279
|
+
}, selectorMemoizationOptions);
|
|
1240
1280
|
|
|
1241
1281
|
function _typeof(obj) {
|
|
1242
1282
|
"@babel/helpers - typeof";
|
|
@@ -2087,14 +2127,6 @@ var utils = /*#__PURE__*/Object.freeze({
|
|
|
2087
2127
|
* Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
2088
2128
|
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
2089
2129
|
* */
|
|
2090
|
-
/* TODO:, move this to a right place https://gitlab.com/opengeoweb/opengeoweb/-/issues/1802 */
|
|
2091
|
-
|
|
2092
|
-
var selectorMemoizationOptions = {
|
|
2093
|
-
memoizeOptions: {
|
|
2094
|
-
maxSize: 1000,
|
|
2095
|
-
resultEqualityCheck: isEqual
|
|
2096
|
-
}
|
|
2097
|
-
};
|
|
2098
2130
|
/**
|
|
2099
2131
|
* Gets the map state by mapId
|
|
2100
2132
|
*
|
|
@@ -2134,19 +2166,17 @@ var getAllMapIds = function getAllMapIds(store) {
|
|
|
2134
2166
|
* @returns {object} object containing map state (isAnimating, bbox, baseLayers, layers etc.)
|
|
2135
2167
|
*/
|
|
2136
2168
|
|
|
2137
|
-
var getFirstMap = function
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
return null;
|
|
2143
|
-
};
|
|
2169
|
+
var getFirstMap = createSelector(getAllMapIds, function (store) {
|
|
2170
|
+
return store && store.webmap && store.webmap.byId ? store.webmap.byId : {};
|
|
2171
|
+
}, function (allMapIds, mapsById) {
|
|
2172
|
+
return allMapIds[0] && mapsById[allMapIds[0]] ? mapsById[allMapIds[0]] : null;
|
|
2173
|
+
}, selectorMemoizationOptions);
|
|
2144
2174
|
/**
|
|
2145
2175
|
* Gets the id of first map in store
|
|
2146
2176
|
*
|
|
2147
2177
|
* Example: getFirstMapId(store)
|
|
2148
|
-
* @param {object} store store object from which the map state wll be extracted
|
|
2149
|
-
* @returns {
|
|
2178
|
+
* @param {object} store store: object from which the map state wll be extracted
|
|
2179
|
+
* @returns {string} returnType:string - map id
|
|
2150
2180
|
*/
|
|
2151
2181
|
|
|
2152
2182
|
var getFirstMapId = createSelector(getFirstMap, function (map) {
|
|
@@ -2157,7 +2187,7 @@ var getFirstMapId = createSelector(getFirstMap, function (map) {
|
|
|
2157
2187
|
*
|
|
2158
2188
|
* @param {object} store store: object - store object
|
|
2159
2189
|
* @param {string} mapId mapId: string - Id of the map
|
|
2160
|
-
* @returns {
|
|
2190
|
+
* @returns {boolean} returnType:boolean - true if map is present
|
|
2161
2191
|
*/
|
|
2162
2192
|
|
|
2163
2193
|
var getIsMapPresent = createSelector(function (store, mapId) {
|
|
@@ -2180,7 +2210,7 @@ var getIsMapPresent = createSelector(function (store, mapId) {
|
|
|
2180
2210
|
|
|
2181
2211
|
var getLayerIds = createSelector(getMapById, function (store) {
|
|
2182
2212
|
return store ? store.mapLayers : [];
|
|
2183
|
-
});
|
|
2213
|
+
}, selectorMemoizationOptions);
|
|
2184
2214
|
/**
|
|
2185
2215
|
* Gets all layer states for a map
|
|
2186
2216
|
*
|
|
@@ -2206,7 +2236,7 @@ var getMapLayers = createSelector(getLayerIds, getLayersById, function (layerIds
|
|
|
2206
2236
|
|
|
2207
2237
|
var getMapBaseLayersIds = createSelector(getMapById, function (store) {
|
|
2208
2238
|
return store ? store.baseLayers : [];
|
|
2209
|
-
});
|
|
2239
|
+
}, selectorMemoizationOptions);
|
|
2210
2240
|
/**
|
|
2211
2241
|
* Gets all baselayers for a map
|
|
2212
2242
|
*
|
|
@@ -2232,7 +2262,7 @@ var getMapBaseLayers = createSelector(getMapBaseLayersIds, getLayersById, functi
|
|
|
2232
2262
|
|
|
2233
2263
|
var getMapOverLayersIds = createSelector(getMapById, function (store) {
|
|
2234
2264
|
return store ? store.overLayers : [];
|
|
2235
|
-
});
|
|
2265
|
+
}, selectorMemoizationOptions);
|
|
2236
2266
|
/**
|
|
2237
2267
|
* Gets all overLayers for a map
|
|
2238
2268
|
*
|
|
@@ -2258,7 +2288,7 @@ var getMapOverLayers = createSelector(getMapOverLayersIds, getLayersById, functi
|
|
|
2258
2288
|
|
|
2259
2289
|
var getMapDimensions = createSelector(getMapById, function (store) {
|
|
2260
2290
|
return store ? store.dimensions : [];
|
|
2261
|
-
});
|
|
2291
|
+
}, selectorMemoizationOptions);
|
|
2262
2292
|
/**
|
|
2263
2293
|
* Gets the map dimension requested
|
|
2264
2294
|
*
|
|
@@ -2279,7 +2309,7 @@ var getMapDimension = createSelector(getMapById, function (_store, _mapId, dimen
|
|
|
2279
2309
|
}
|
|
2280
2310
|
|
|
2281
2311
|
return undefined;
|
|
2282
|
-
});
|
|
2312
|
+
}, selectorMemoizationOptions);
|
|
2283
2313
|
/**
|
|
2284
2314
|
* Gets map srs
|
|
2285
2315
|
*
|
|
@@ -2303,7 +2333,7 @@ var getSrs = createSelector(getMapById, function (store) {
|
|
|
2303
2333
|
|
|
2304
2334
|
var getBbox = createSelector(getMapById, function (store) {
|
|
2305
2335
|
return store ? store.bbox : {};
|
|
2306
|
-
});
|
|
2336
|
+
}, selectorMemoizationOptions);
|
|
2307
2337
|
/**
|
|
2308
2338
|
* Gets if map is animating
|
|
2309
2339
|
*
|
|
@@ -2393,7 +2423,7 @@ var getMapTimeSliderScale = createSelector(getMapById, function (store) {
|
|
|
2393
2423
|
* Example: timeStep = getTimeStep(store, 'mapid_1')
|
|
2394
2424
|
* @param {object} store store: object - store object
|
|
2395
2425
|
* @param {string} mapId mapId: string - Id of the map
|
|
2396
|
-
* @returns {
|
|
2426
|
+
* @returns {number} returnType: number - time step as a number
|
|
2397
2427
|
*/
|
|
2398
2428
|
|
|
2399
2429
|
var getMapTimeStep = createSelector(getMapById, function (store) {
|
|
@@ -2405,7 +2435,7 @@ var getMapTimeStep = createSelector(getMapById, function (store) {
|
|
|
2405
2435
|
* Example: speed = getSpeed(store, 'mapid_1')
|
|
2406
2436
|
* @param {object} store store: object - store object
|
|
2407
2437
|
* @param {string} mapId mapId: string - Id of the map
|
|
2408
|
-
* @returns {
|
|
2438
|
+
* @returns {number} returnType: number - speed as a number
|
|
2409
2439
|
*/
|
|
2410
2440
|
|
|
2411
2441
|
var getMapAnimationDelay = createSelector(getMapById, function (store) {
|
|
@@ -2417,7 +2447,7 @@ var getMapAnimationDelay = createSelector(getMapById, function (store) {
|
|
|
2417
2447
|
* Example: centerTime = getCenterTime(store, 'mapid_1')
|
|
2418
2448
|
* @param {object} store store: object - store object
|
|
2419
2449
|
* @param {string} mapId mapId: string - Id of the map
|
|
2420
|
-
* @returns {
|
|
2450
|
+
* @returns {number} returnType: number - center time as a unix timestamp
|
|
2421
2451
|
*/
|
|
2422
2452
|
|
|
2423
2453
|
var getMapTimeSliderCenterTime = createSelector(getMapById, function (store) {
|
|
@@ -2429,7 +2459,7 @@ var getMapTimeSliderCenterTime = createSelector(getMapById, function (store) {
|
|
|
2429
2459
|
* Example: secondsPerPx = getSecondsPerPx(store, 'mapid_1')
|
|
2430
2460
|
* @param {object} store store: object - store object
|
|
2431
2461
|
* @param {string} mapId mapId: string - Id of the map
|
|
2432
|
-
* @returns {
|
|
2462
|
+
* @returns {number} returnType: number - the number of seconds per pixel
|
|
2433
2463
|
*/
|
|
2434
2464
|
|
|
2435
2465
|
var getMapTimeSliderSecondsPerPx = createSelector(getMapById, function (store) {
|
|
@@ -2441,7 +2471,7 @@ var getMapTimeSliderSecondsPerPx = createSelector(getMapById, function (store) {
|
|
|
2441
2471
|
* Example: dataScaleToSecondsPerPx = getMapTimeSliderDataScaleToSecondsPerPx(store, 'mapid_1')
|
|
2442
2472
|
* @param {object} store store: object - store object
|
|
2443
2473
|
* @param {string} mapId mapId: string - Id of the map
|
|
2444
|
-
* @returns {
|
|
2474
|
+
* @returns {number} returnType: number - the number of scaleto seconds pixel
|
|
2445
2475
|
*/
|
|
2446
2476
|
|
|
2447
2477
|
var getMapTimeSliderDataScaleToSecondsPerPx = createSelector(getMapById, function (store) {
|
|
@@ -2492,14 +2522,14 @@ var getIsLayerActiveLayer = createSelector(getActiveLayerId, function (_store, _
|
|
|
2492
2522
|
* Example const mapId = getMapIdFromLayerId(store 'layerId-A');
|
|
2493
2523
|
* @param {object} store store: object - store object
|
|
2494
2524
|
* @param {string} layerId layerId: string - Id of the layer
|
|
2495
|
-
* @returns {string} returnType: the mapId, or null if not found
|
|
2525
|
+
* @returns {string} returnType: string - the mapId, or null if not found
|
|
2496
2526
|
*/
|
|
2497
2527
|
|
|
2498
2528
|
var getMapIdFromLayerId = createSelector(function (store) {
|
|
2499
2529
|
return store && store.webmap ? store.webmap : null;
|
|
2500
2530
|
}, function (_store, layerId) {
|
|
2501
2531
|
return layerId;
|
|
2502
|
-
}, findMapIdFromLayerId);
|
|
2532
|
+
}, findMapIdFromLayerId, selectorMemoizationOptions);
|
|
2503
2533
|
/**
|
|
2504
2534
|
* Returns the layerId for given layerName
|
|
2505
2535
|
*
|
|
@@ -2507,7 +2537,7 @@ var getMapIdFromLayerId = createSelector(function (store) {
|
|
|
2507
2537
|
* @param {object} store store: object - store object
|
|
2508
2538
|
* @param {string} mapId mapId: string - Id of the map
|
|
2509
2539
|
* @param {string} layerId layerId: string - Id of the layer
|
|
2510
|
-
* @returns {string} returnType: the layerId, or null if not found
|
|
2540
|
+
* @returns {string} returnType: string - the layerId, or null if not found
|
|
2511
2541
|
*/
|
|
2512
2542
|
|
|
2513
2543
|
var getLayerIdByLayerName = createSelector(getMapLayers, function (_store, _mapId, layerName) {
|
|
@@ -2522,7 +2552,7 @@ var getLayerIdByLayerName = createSelector(getMapLayers, function (_store, _mapI
|
|
|
2522
2552
|
}
|
|
2523
2553
|
|
|
2524
2554
|
return null;
|
|
2525
|
-
});
|
|
2555
|
+
}, selectorMemoizationOptions);
|
|
2526
2556
|
/**
|
|
2527
2557
|
* Returns the layerIndex in the map for given layerId
|
|
2528
2558
|
*
|
|
@@ -2539,7 +2569,7 @@ var getLayerIndexByLayerId = createSelector(getMapLayers, function (_store, _map
|
|
|
2539
2569
|
return layers.findIndex(function (layer) {
|
|
2540
2570
|
return layer.id === layerId;
|
|
2541
2571
|
});
|
|
2542
|
-
});
|
|
2572
|
+
}, selectorMemoizationOptions);
|
|
2543
2573
|
/**
|
|
2544
2574
|
* Returns the Layer in the map for given layerIndex
|
|
2545
2575
|
*
|
|
@@ -2558,7 +2588,7 @@ var getLayerByLayerIndex = createSelector(getMapLayers, function (_store, _mapId
|
|
|
2558
2588
|
}
|
|
2559
2589
|
|
|
2560
2590
|
return null;
|
|
2561
|
-
});
|
|
2591
|
+
}, selectorMemoizationOptions);
|
|
2562
2592
|
/**
|
|
2563
2593
|
* Returns name of all unique dimensions present in all maps
|
|
2564
2594
|
*
|
|
@@ -2581,7 +2611,7 @@ var getAllUniqueDimensions = createSelector(getAllMapIds, function (store) {
|
|
|
2581
2611
|
}, list);
|
|
2582
2612
|
return uniqueMapDims;
|
|
2583
2613
|
}, []);
|
|
2584
|
-
});
|
|
2614
|
+
}, selectorMemoizationOptions);
|
|
2585
2615
|
/**
|
|
2586
2616
|
* Returns the mapPinLocation for the current map
|
|
2587
2617
|
*
|
|
@@ -2593,7 +2623,7 @@ var getAllUniqueDimensions = createSelector(getAllMapIds, function (store) {
|
|
|
2593
2623
|
|
|
2594
2624
|
var getPinLocation = createSelector(getMapById, function (store) {
|
|
2595
2625
|
return store ? store.mapPinLocation : undefined;
|
|
2596
|
-
});
|
|
2626
|
+
}, selectorMemoizationOptions);
|
|
2597
2627
|
|
|
2598
2628
|
/* *
|
|
2599
2629
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -2626,7 +2656,7 @@ var servicesStore = function servicesStore(store) {
|
|
|
2626
2656
|
|
|
2627
2657
|
var getServiceIds = createSelector(servicesStore, function (serviceState) {
|
|
2628
2658
|
return serviceState ? serviceState.allIds : [];
|
|
2629
|
-
});
|
|
2659
|
+
}, selectorMemoizationOptions);
|
|
2630
2660
|
/**
|
|
2631
2661
|
* Gets map services
|
|
2632
2662
|
*
|
|
@@ -2637,7 +2667,7 @@ var getServiceIds = createSelector(servicesStore, function (serviceState) {
|
|
|
2637
2667
|
|
|
2638
2668
|
var getServices = createSelector(servicesStore, function (store) {
|
|
2639
2669
|
return store ? store.byId : {};
|
|
2640
|
-
});
|
|
2670
|
+
}, selectorMemoizationOptions);
|
|
2641
2671
|
/**
|
|
2642
2672
|
* Gets the service object by its url
|
|
2643
2673
|
*
|
|
@@ -2654,19 +2684,19 @@ var getServiceByName = createSelector([servicesStore, function (state, serviceNa
|
|
|
2654
2684
|
}
|
|
2655
2685
|
|
|
2656
2686
|
return null;
|
|
2657
|
-
});
|
|
2687
|
+
}, selectorMemoizationOptions);
|
|
2658
2688
|
/**
|
|
2659
2689
|
* Gets the layer from the store using the serviceUrl and layerName
|
|
2660
2690
|
*
|
|
2661
2691
|
* Example: layers = getLayersFromService(store, 'https://geoservices.knmi.nl/...')
|
|
2662
2692
|
* @param {object} store store: object - object from which the layers state will be extracted
|
|
2663
2693
|
* @param {string} serviceUrl serviceUrl: string - Url of the service where the layer belongs to
|
|
2664
|
-
* @returns {
|
|
2694
|
+
* @returns {array} returnType: ServiceLayer[] - All layers within the service object.
|
|
2665
2695
|
*/
|
|
2666
2696
|
|
|
2667
2697
|
var getLayersFromService$1 = createSelector(getServiceByName, function (service) {
|
|
2668
2698
|
return service && service.layers || null;
|
|
2669
|
-
});
|
|
2699
|
+
}, selectorMemoizationOptions);
|
|
2670
2700
|
/**
|
|
2671
2701
|
* Gets the layer from the store using the serviceUrl and layerName
|
|
2672
2702
|
*
|
|
@@ -2694,7 +2724,7 @@ var getLayerFromService = createSelector(function (store, serviceUrl) {
|
|
|
2694
2724
|
}
|
|
2695
2725
|
|
|
2696
2726
|
return layers[index];
|
|
2697
|
-
});
|
|
2727
|
+
}, selectorMemoizationOptions);
|
|
2698
2728
|
/**
|
|
2699
2729
|
* Gets the layers stylelist from the servicestore using the serviceUrl and layerName
|
|
2700
2730
|
*
|
|
@@ -2707,7 +2737,26 @@ var getLayerFromService = createSelector(function (store, serviceUrl) {
|
|
|
2707
2737
|
|
|
2708
2738
|
var getLayerStyles = createSelector(getLayerFromService, function (layer) {
|
|
2709
2739
|
return layer && layer.styles ? layer.styles : [];
|
|
2710
|
-
});
|
|
2740
|
+
}, selectorMemoizationOptions);
|
|
2741
|
+
/**
|
|
2742
|
+
* Gets services and maps them into an array
|
|
2743
|
+
*
|
|
2744
|
+
* Example: services = getServices(store)
|
|
2745
|
+
* @param {object} store store: object - Store object
|
|
2746
|
+
* @returns {array} returnType: [] - array containing services
|
|
2747
|
+
*/
|
|
2748
|
+
|
|
2749
|
+
var getServicesInArray = createSelector(servicesStore, function (store) {
|
|
2750
|
+
var services = store ? store.byId : {};
|
|
2751
|
+
var arrayOfServiceObjects = Object.keys(services).map(function (key) {
|
|
2752
|
+
return {
|
|
2753
|
+
id: services[key].id,
|
|
2754
|
+
name: services[key].name,
|
|
2755
|
+
service: services[key].service
|
|
2756
|
+
};
|
|
2757
|
+
});
|
|
2758
|
+
return arrayOfServiceObjects;
|
|
2759
|
+
}, selectorMemoizationOptions);
|
|
2711
2760
|
|
|
2712
2761
|
/* *
|
|
2713
2762
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -2787,7 +2836,8 @@ var selectors = /*#__PURE__*/Object.freeze({
|
|
|
2787
2836
|
getServiceByName: getServiceByName,
|
|
2788
2837
|
getLayersFromService: getLayersFromService$1,
|
|
2789
2838
|
getLayerFromService: getLayerFromService,
|
|
2790
|
-
getLayerStyles: getLayerStyles
|
|
2839
|
+
getLayerStyles: getLayerStyles,
|
|
2840
|
+
getServicesInArray: getServicesInArray
|
|
2791
2841
|
});
|
|
2792
2842
|
|
|
2793
2843
|
/* *
|
|
@@ -2847,7 +2897,8 @@ var constants$1 = /*#__PURE__*/Object.freeze({
|
|
|
2847
2897
|
WEBMAP_ADD_AVAILABLE_BASELAYER: WEBMAP_ADD_AVAILABLE_BASELAYER,
|
|
2848
2898
|
WEBMAP_ADD_AVAILABLE_BASELAYERS: WEBMAP_ADD_AVAILABLE_BASELAYERS,
|
|
2849
2899
|
WEBMAP_UPDATE_LAYER_INFO: WEBMAP_UPDATE_LAYER_INFO,
|
|
2850
|
-
MAP_SERVICES_SET_LAYERS: MAP_SERVICES_SET_LAYERS
|
|
2900
|
+
MAP_SERVICES_SET_LAYERS: MAP_SERVICES_SET_LAYERS,
|
|
2901
|
+
MAP_SERVICES_REMOVE_SERVICE: MAP_SERVICES_REMOVE_SERVICE
|
|
2851
2902
|
});
|
|
2852
2903
|
|
|
2853
2904
|
/* *
|
|
@@ -3305,6 +3356,16 @@ function __rest(s, e) {
|
|
|
3305
3356
|
t[p[i]] = s[p[i]];
|
|
3306
3357
|
}
|
|
3307
3358
|
return t;
|
|
3359
|
+
}
|
|
3360
|
+
|
|
3361
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
3362
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3363
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
3364
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
3365
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
3366
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
3367
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
3368
|
+
});
|
|
3308
3369
|
}
|
|
3309
3370
|
|
|
3310
3371
|
/* *
|
|
@@ -3971,6 +4032,11 @@ var reducer$4 = function reducer() {
|
|
|
3971
4032
|
return;
|
|
3972
4033
|
}
|
|
3973
4034
|
|
|
4035
|
+
if (!targetId) {
|
|
4036
|
+
console.warn("SYNCGROUPS_ADD_TARGET: targetId is not defined.");
|
|
4037
|
+
return;
|
|
4038
|
+
}
|
|
4039
|
+
|
|
3974
4040
|
if (draft.groups.byId[groupId].targets.allIds.includes(targetId)) {
|
|
3975
4041
|
return;
|
|
3976
4042
|
}
|
|
@@ -4598,7 +4664,7 @@ var setServiceMetadata = function setServiceMetadata(wmLayer, mapId, webMapJSIns
|
|
|
4598
4664
|
|
|
4599
4665
|
var _marked$4 = /*#__PURE__*/regeneratorRuntime.mark(setTimeSaga),
|
|
4600
4666
|
_marked2$4 = /*#__PURE__*/regeneratorRuntime.mark(setBBoxSaga),
|
|
4601
|
-
_marked3$
|
|
4667
|
+
_marked3$4 = /*#__PURE__*/regeneratorRuntime.mark(layerActionsSaga),
|
|
4602
4668
|
_marked4$2 = /*#__PURE__*/regeneratorRuntime.mark(addLayerActionsSaga),
|
|
4603
4669
|
_marked5$1 = /*#__PURE__*/regeneratorRuntime.mark(deleteLayerActionsSaga),
|
|
4604
4670
|
_marked6$1 = /*#__PURE__*/regeneratorRuntime.mark(moveLayerActionsSaga),
|
|
@@ -4708,7 +4774,7 @@ function layerActionsSaga(_ref3) {
|
|
|
4708
4774
|
return _context3.stop();
|
|
4709
4775
|
}
|
|
4710
4776
|
}
|
|
4711
|
-
}, _marked3$
|
|
4777
|
+
}, _marked3$4);
|
|
4712
4778
|
}
|
|
4713
4779
|
function addLayerActionsSaga(_ref4) {
|
|
4714
4780
|
var payload, type, targets;
|
|
@@ -4948,7 +5014,7 @@ function rootSaga$4() {
|
|
|
4948
5014
|
|
|
4949
5015
|
var _marked$3 = /*#__PURE__*/regeneratorRuntime.mark(updateSourceValueWhenLinkingComponentToGroupSaga),
|
|
4950
5016
|
_marked2$3 = /*#__PURE__*/regeneratorRuntime.mark(addGroupTargetSaga),
|
|
4951
|
-
_marked3$
|
|
5017
|
+
_marked3$3 = /*#__PURE__*/regeneratorRuntime.mark(linkGroupTargetSaga),
|
|
4952
5018
|
_marked4$1 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga$3);
|
|
4953
5019
|
function updateSourceValueWhenLinkingComponentToGroupSaga(groupId, targetToUpdate) {
|
|
4954
5020
|
var group;
|
|
@@ -5064,7 +5130,7 @@ function linkGroupTargetSaga(_ref2) {
|
|
|
5064
5130
|
return _context3.stop();
|
|
5065
5131
|
}
|
|
5066
5132
|
}
|
|
5067
|
-
}, _marked3$
|
|
5133
|
+
}, _marked3$3);
|
|
5068
5134
|
}
|
|
5069
5135
|
|
|
5070
5136
|
function rootSaga$3() {
|
|
@@ -5125,11 +5191,11 @@ var useStyles$I = makeStyles(function (theme) {
|
|
|
5125
5191
|
},
|
|
5126
5192
|
'&.Mui-selected': {
|
|
5127
5193
|
color: theme.palette.common.white,
|
|
5128
|
-
backgroundColor: theme.palette.geowebColors.buttons.
|
|
5194
|
+
backgroundColor: theme.palette.geowebColors.buttons.primary.active.fill,
|
|
5129
5195
|
boxShadow: "none",
|
|
5130
5196
|
'&:hover': {
|
|
5131
5197
|
color: theme.palette.common.white,
|
|
5132
|
-
backgroundColor: theme.palette.geowebColors.buttons.
|
|
5198
|
+
backgroundColor: theme.palette.geowebColors.buttons.primary.mouseOver.fill
|
|
5133
5199
|
}
|
|
5134
5200
|
},
|
|
5135
5201
|
'&:after': {
|
|
@@ -5249,9 +5315,11 @@ var TooltipSelect = function TooltipSelect(_a) {
|
|
|
5249
5315
|
* Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
5250
5316
|
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
5251
5317
|
* */
|
|
5318
|
+
var SyncGroupTypeList = [SYNCGROUPS_TYPE_SETBBOX, SYNCGROUPS_TYPE_SETTIME];
|
|
5252
5319
|
|
|
5253
5320
|
var types = /*#__PURE__*/Object.freeze({
|
|
5254
|
-
__proto__: null
|
|
5321
|
+
__proto__: null,
|
|
5322
|
+
SyncGroupTypeList: SyncGroupTypeList
|
|
5255
5323
|
});
|
|
5256
5324
|
|
|
5257
5325
|
/* *
|
|
@@ -5436,7 +5504,7 @@ var getDialogDetailsByType = function getDialogDetailsByType(store, dialogType)
|
|
|
5436
5504
|
*
|
|
5437
5505
|
* @param {object} store store object from which the ui state wll be extracted
|
|
5438
5506
|
* @param {string} dialogType type of the dialog 'legend' | 'layerManager' | 'dimensionSelect-elevation'
|
|
5439
|
-
* @returns {
|
|
5507
|
+
* @returns {boolean} returnType: boolean
|
|
5440
5508
|
*/
|
|
5441
5509
|
|
|
5442
5510
|
var getisDialogOpen = createSelector(getDialogDetailsByType, function (details) {
|
|
@@ -5451,7 +5519,7 @@ var getisDialogOpen = createSelector(getDialogDetailsByType, function (details)
|
|
|
5451
5519
|
*
|
|
5452
5520
|
* @param {object} store store object from which the ui state wll be extracted
|
|
5453
5521
|
* @param {string} dialogType type of the dialog 'legend' | 'layerManager' | 'dimensionSelect-elevation'
|
|
5454
|
-
* @returns {
|
|
5522
|
+
* @returns {string} returnType: string - the active map id
|
|
5455
5523
|
*/
|
|
5456
5524
|
|
|
5457
5525
|
var getDialogMapId = createSelector(getDialogDetailsByType, function (details) {
|
|
@@ -5515,7 +5583,7 @@ var getDialogSource = createSelector(getDialogDetailsByType, function (details)
|
|
|
5515
5583
|
|
|
5516
5584
|
var _marked$2 = /*#__PURE__*/regeneratorRuntime.mark(registerMapUISaga),
|
|
5517
5585
|
_marked2$2 = /*#__PURE__*/regeneratorRuntime.mark(unregisterUIMapSaga),
|
|
5518
|
-
_marked3$
|
|
5586
|
+
_marked3$2 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga$2);
|
|
5519
5587
|
function registerMapUISaga() {
|
|
5520
5588
|
var fields, source;
|
|
5521
5589
|
return regeneratorRuntime.wrap(function registerMapUISaga$(_context) {
|
|
@@ -5622,7 +5690,7 @@ function rootSaga$2() {
|
|
|
5622
5690
|
return _context3.stop();
|
|
5623
5691
|
}
|
|
5624
5692
|
}
|
|
5625
|
-
}, _marked3$
|
|
5693
|
+
}, _marked3$2);
|
|
5626
5694
|
}
|
|
5627
5695
|
|
|
5628
5696
|
/* *
|
|
@@ -6357,6 +6425,16 @@ var reducer$1 = function reducer() {
|
|
|
6357
6425
|
return reducer(state, mapAction);
|
|
6358
6426
|
}
|
|
6359
6427
|
|
|
6428
|
+
case MAP_SERVICES_REMOVE_SERVICE:
|
|
6429
|
+
return produce(state, function (draft) {
|
|
6430
|
+
if (draft.byId[action.payload.serviceUrl]) {
|
|
6431
|
+
draft.allIds = draft.allIds.filter(function (id) {
|
|
6432
|
+
return id !== action.payload.serviceUrl;
|
|
6433
|
+
});
|
|
6434
|
+
delete draft.byId[action.payload.serviceUrl];
|
|
6435
|
+
}
|
|
6436
|
+
});
|
|
6437
|
+
|
|
6360
6438
|
default:
|
|
6361
6439
|
return state;
|
|
6362
6440
|
}
|
|
@@ -6364,7 +6442,7 @@ var reducer$1 = function reducer() {
|
|
|
6364
6442
|
|
|
6365
6443
|
var _marked$1 = /*#__PURE__*/regeneratorRuntime.mark(startAnimationSaga),
|
|
6366
6444
|
_marked2$1 = /*#__PURE__*/regeneratorRuntime.mark(stopAnimationSaga),
|
|
6367
|
-
_marked3 = /*#__PURE__*/regeneratorRuntime.mark(deleteLayerSaga),
|
|
6445
|
+
_marked3$1 = /*#__PURE__*/regeneratorRuntime.mark(deleteLayerSaga),
|
|
6368
6446
|
_marked4 = /*#__PURE__*/regeneratorRuntime.mark(updateAnimation),
|
|
6369
6447
|
_marked5 = /*#__PURE__*/regeneratorRuntime.mark(setLayerDimensionsSaga),
|
|
6370
6448
|
_marked6 = /*#__PURE__*/regeneratorRuntime.mark(toggleAutoUpdateSaga),
|
|
@@ -6467,7 +6545,7 @@ function deleteLayerSaga(_ref3) {
|
|
|
6467
6545
|
return _context3.stop();
|
|
6468
6546
|
}
|
|
6469
6547
|
}
|
|
6470
|
-
}, _marked3);
|
|
6548
|
+
}, _marked3$1);
|
|
6471
6549
|
}
|
|
6472
6550
|
function updateAnimation(mapId, maxValue) {
|
|
6473
6551
|
var animationStart, animationStartUnix, animationEnd, animationEndUnix, t, deltaT, start, end, isAnimating$1, timeStep;
|
|
@@ -6777,7 +6855,10 @@ var initialState = {
|
|
|
6777
6855
|
byId: {},
|
|
6778
6856
|
allIds: []
|
|
6779
6857
|
},
|
|
6780
|
-
keywords:
|
|
6858
|
+
keywords: {
|
|
6859
|
+
byId: {},
|
|
6860
|
+
allIds: []
|
|
6861
|
+
}
|
|
6781
6862
|
}
|
|
6782
6863
|
};
|
|
6783
6864
|
var reducer = function reducer() {
|
|
@@ -6806,28 +6887,21 @@ var reducer = function reducer() {
|
|
|
6806
6887
|
_step;
|
|
6807
6888
|
|
|
6808
6889
|
try {
|
|
6809
|
-
|
|
6890
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
6810
6891
|
var keyword = _step.value;
|
|
6811
|
-
var foundKeyword = draft.filters.keywords.find(function (object) {
|
|
6812
|
-
return object.id === keyword;
|
|
6813
|
-
});
|
|
6814
6892
|
|
|
6815
|
-
if (
|
|
6816
|
-
|
|
6817
|
-
foundKeyword.amountVisible += 1;
|
|
6818
|
-
} else {
|
|
6819
|
-
var newKeywordObject = {
|
|
6893
|
+
if (!draft.filters.keywords.byId[keyword]) {
|
|
6894
|
+
draft.filters.keywords.byId[keyword] = {
|
|
6820
6895
|
id: keyword,
|
|
6821
6896
|
amount: 1,
|
|
6822
6897
|
amountVisible: 1,
|
|
6823
6898
|
checked: true
|
|
6824
6899
|
};
|
|
6825
|
-
draft.filters.keywords.push(
|
|
6900
|
+
draft.filters.keywords.allIds.push(keyword);
|
|
6901
|
+
} else {
|
|
6902
|
+
draft.filters.keywords.byId[keyword].amount += 1;
|
|
6903
|
+
draft.filters.keywords.byId[keyword].amountVisible += 1;
|
|
6826
6904
|
}
|
|
6827
|
-
};
|
|
6828
|
-
|
|
6829
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
6830
|
-
_loop();
|
|
6831
6905
|
}
|
|
6832
6906
|
} catch (err) {
|
|
6833
6907
|
_iterator.e(err);
|
|
@@ -6843,37 +6917,72 @@ var reducer = function reducer() {
|
|
|
6843
6917
|
});
|
|
6844
6918
|
}
|
|
6845
6919
|
|
|
6846
|
-
case '
|
|
6920
|
+
case 'LAYER_SELECT_SERVICE_REMOVED':
|
|
6847
6921
|
{
|
|
6848
|
-
var _action$payload2 = action.payload,
|
|
6849
|
-
_serviceUrl = _action$payload2.serviceUrl,
|
|
6850
|
-
_keywords = _action$payload2.keywords;
|
|
6851
6922
|
return produce(state, function (draft) {
|
|
6852
|
-
|
|
6923
|
+
var serviceUrl = action.payload.serviceUrl; // 1. Find a service that is to be removed
|
|
6853
6924
|
|
|
6854
|
-
var
|
|
6925
|
+
var foundService = draft.filters.activeServices.byId[serviceUrl]; // 2. Go through all keywords for removed service, and decrement the amount of all found keywords
|
|
6926
|
+
|
|
6927
|
+
var _iterator2 = _createForOfIteratorHelper(foundService.keywordsPerService),
|
|
6855
6928
|
_step2;
|
|
6856
6929
|
|
|
6857
6930
|
try {
|
|
6858
|
-
var
|
|
6931
|
+
var _loop = function _loop() {
|
|
6859
6932
|
var keyword = _step2.value;
|
|
6860
|
-
var foundObject = draft.filters.keywords.
|
|
6861
|
-
return object.id === keyword;
|
|
6862
|
-
});
|
|
6933
|
+
var foundObject = draft.filters.keywords.byId[keyword];
|
|
6863
6934
|
|
|
6864
|
-
if (foundObject) {
|
|
6865
|
-
foundObject.
|
|
6935
|
+
if (foundObject && foundObject.amount) {
|
|
6936
|
+
foundObject.amount -= 1;
|
|
6937
|
+
foundObject.amountVisible -= 1;
|
|
6938
|
+
}
|
|
6939
|
+
|
|
6940
|
+
if (foundObject && foundObject.amount === 0) {
|
|
6941
|
+
delete draft.filters.keywords.byId[keyword];
|
|
6942
|
+
draft.filters.keywords.allIds = draft.filters.keywords.allIds.filter(function (id) {
|
|
6943
|
+
return id !== keyword;
|
|
6944
|
+
});
|
|
6866
6945
|
}
|
|
6867
6946
|
};
|
|
6868
6947
|
|
|
6869
6948
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
6870
|
-
|
|
6871
|
-
}
|
|
6949
|
+
_loop();
|
|
6950
|
+
} // Finally remove object from activeServices, so if the service is added again later on, new object and keywords will be re-added
|
|
6951
|
+
|
|
6872
6952
|
} catch (err) {
|
|
6873
6953
|
_iterator2.e(err);
|
|
6874
6954
|
} finally {
|
|
6875
6955
|
_iterator2.f();
|
|
6876
6956
|
}
|
|
6957
|
+
|
|
6958
|
+
delete draft.filters.activeServices.byId[serviceUrl];
|
|
6959
|
+
draft.filters.activeServices.allIds = draft.filters.activeServices.allIds.filter(function (id) {
|
|
6960
|
+
return id !== serviceUrl;
|
|
6961
|
+
});
|
|
6962
|
+
});
|
|
6963
|
+
}
|
|
6964
|
+
|
|
6965
|
+
case 'LAYER_SELECT_ENABLE_ACTIVE_SERVICE':
|
|
6966
|
+
{
|
|
6967
|
+
var _action$payload2 = action.payload,
|
|
6968
|
+
_serviceUrl = _action$payload2.serviceUrl,
|
|
6969
|
+
_keywords = _action$payload2.keywords;
|
|
6970
|
+
return produce(state, function (draft) {
|
|
6971
|
+
draft.filters.activeServices.byId[_serviceUrl].enabled = true;
|
|
6972
|
+
|
|
6973
|
+
var _iterator3 = _createForOfIteratorHelper(_keywords),
|
|
6974
|
+
_step3;
|
|
6975
|
+
|
|
6976
|
+
try {
|
|
6977
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
6978
|
+
var keyword = _step3.value;
|
|
6979
|
+
draft.filters.keywords.byId[keyword].amountVisible += 1;
|
|
6980
|
+
}
|
|
6981
|
+
} catch (err) {
|
|
6982
|
+
_iterator3.e(err);
|
|
6983
|
+
} finally {
|
|
6984
|
+
_iterator3.f();
|
|
6985
|
+
}
|
|
6877
6986
|
});
|
|
6878
6987
|
}
|
|
6879
6988
|
|
|
@@ -6885,37 +6994,51 @@ var reducer = function reducer() {
|
|
|
6885
6994
|
return produce(state, function (draft) {
|
|
6886
6995
|
draft.filters.activeServices.byId[_serviceUrl2].enabled = false;
|
|
6887
6996
|
|
|
6888
|
-
var
|
|
6889
|
-
|
|
6997
|
+
var _iterator4 = _createForOfIteratorHelper(_keywords2),
|
|
6998
|
+
_step4;
|
|
6890
6999
|
|
|
6891
7000
|
try {
|
|
6892
|
-
|
|
6893
|
-
var keyword =
|
|
6894
|
-
|
|
6895
|
-
|
|
6896
|
-
|
|
7001
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
7002
|
+
var keyword = _step4.value;
|
|
7003
|
+
draft.filters.keywords.byId[keyword].amountVisible -= 1;
|
|
7004
|
+
}
|
|
7005
|
+
} catch (err) {
|
|
7006
|
+
_iterator4.e(err);
|
|
7007
|
+
} finally {
|
|
7008
|
+
_iterator4.f();
|
|
7009
|
+
}
|
|
7010
|
+
});
|
|
7011
|
+
}
|
|
6897
7012
|
|
|
6898
|
-
|
|
6899
|
-
|
|
6900
|
-
|
|
6901
|
-
|
|
7013
|
+
case 'LAYER_SELECT_TOGGLE_KEYWORDS':
|
|
7014
|
+
{
|
|
7015
|
+
return produce(state, function (draft) {
|
|
7016
|
+
var keywords = action.payload.keywords;
|
|
6902
7017
|
|
|
6903
|
-
|
|
6904
|
-
|
|
7018
|
+
var _iterator5 = _createForOfIteratorHelper(keywords),
|
|
7019
|
+
_step5;
|
|
7020
|
+
|
|
7021
|
+
try {
|
|
7022
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
7023
|
+
var keyword = _step5.value;
|
|
7024
|
+
draft.filters.keywords.byId[keyword].checked = !draft.filters.keywords.byId[keyword].checked;
|
|
6905
7025
|
}
|
|
6906
7026
|
} catch (err) {
|
|
6907
|
-
|
|
7027
|
+
_iterator5.e(err);
|
|
6908
7028
|
} finally {
|
|
6909
|
-
|
|
7029
|
+
_iterator5.f();
|
|
6910
7030
|
}
|
|
6911
7031
|
});
|
|
6912
7032
|
}
|
|
6913
7033
|
|
|
6914
|
-
case '
|
|
7034
|
+
case 'LAYER_SELECT_ENABLE_ONLY_ONE_KEYWORD':
|
|
6915
7035
|
{
|
|
6916
7036
|
return produce(state, function (draft) {
|
|
6917
|
-
var
|
|
6918
|
-
draft.filters.keywords
|
|
7037
|
+
var keyword = action.payload.keyword;
|
|
7038
|
+
draft.filters.keywords.allIds.forEach(function (id) {
|
|
7039
|
+
draft.filters.keywords.byId[id].checked = false;
|
|
7040
|
+
});
|
|
7041
|
+
draft.filters.keywords.byId[keyword].checked = true;
|
|
6919
7042
|
});
|
|
6920
7043
|
}
|
|
6921
7044
|
|
|
@@ -6944,7 +7067,9 @@ var LAYER_SELECT_SET_SEARCH_FILTER = 'LAYER_SELECT_SET_SEARCH_FILTER';
|
|
|
6944
7067
|
var LAYER_SELECT_DISABLE_ACTIVE_SERVICE = 'LAYER_SELECT_DISABLE_ACTIVE_SERVICE';
|
|
6945
7068
|
var LAYER_SELECT_ENABLE_ACTIVE_SERVICE = 'LAYER_SELECT_ENABLE_ACTIVE_SERVICE';
|
|
6946
7069
|
var LAYER_SELECT_ADD_KEYWORDS_AND_ACTIVE_SERVICES = 'LAYER_SELECT_ADD_KEYWORDS_AND_ACTIVE_SERVICES';
|
|
6947
|
-
var
|
|
7070
|
+
var LAYER_SELECT_SERVICE_REMOVED = 'LAYER_SELECT_SERVICE_REMOVED';
|
|
7071
|
+
var LAYER_SELECT_TOGGLE_KEYWORDS = 'LAYER_SELECT_TOGGLE_KEYWORDS';
|
|
7072
|
+
var LAYER_SELECT_ENABLE_ONLY_ONE_KEYWORD = 'LAYER_SELECT_ENABLE_ONLY_ONE_KEYWORD';
|
|
6948
7073
|
|
|
6949
7074
|
/* *
|
|
6950
7075
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -7014,15 +7139,49 @@ var addKeywordsAndActiveServices = function addKeywordsAndActiveServices(payload
|
|
|
7014
7139
|
payload: payload
|
|
7015
7140
|
};
|
|
7016
7141
|
};
|
|
7017
|
-
|
|
7142
|
+
/*
|
|
7143
|
+
* Removes the given service from Layer Select store
|
|
7144
|
+
*
|
|
7145
|
+
* Example: layerSelectServiceRemoved({ serviceUrl: 'https://service.wms' })
|
|
7146
|
+
* @param {string} payload {serviceUrl: string}
|
|
7147
|
+
*/
|
|
7148
|
+
|
|
7149
|
+
var layerSelectServiceRemoved = function layerSelectServiceRemoved(payload) {
|
|
7150
|
+
return {
|
|
7151
|
+
type: LAYER_SELECT_SERVICE_REMOVED,
|
|
7152
|
+
payload: payload
|
|
7153
|
+
};
|
|
7154
|
+
};
|
|
7155
|
+
/*
|
|
7156
|
+
* Toggles keywords listed
|
|
7157
|
+
*
|
|
7158
|
+
* Example: toggleKeywords({ keywords: ['keyword1', 'keyword2'] })
|
|
7159
|
+
* @param {string[]} payload { keywords: string[] }
|
|
7160
|
+
*/
|
|
7161
|
+
|
|
7162
|
+
var toggleKeywords = function toggleKeywords(payload) {
|
|
7163
|
+
return {
|
|
7164
|
+
type: LAYER_SELECT_TOGGLE_KEYWORDS,
|
|
7165
|
+
payload: payload
|
|
7166
|
+
};
|
|
7167
|
+
};
|
|
7168
|
+
/*
|
|
7169
|
+
* Enables only one keyword and disables all other
|
|
7170
|
+
*
|
|
7171
|
+
* Example: toggleKeywords({ keyword: 'keyword1' })
|
|
7172
|
+
* @param {string} payload { keyword: string }
|
|
7173
|
+
*/
|
|
7174
|
+
|
|
7175
|
+
var enableOnlyOneKeyword = function enableOnlyOneKeyword(payload) {
|
|
7018
7176
|
return {
|
|
7019
|
-
type:
|
|
7177
|
+
type: LAYER_SELECT_ENABLE_ONLY_ONE_KEYWORD,
|
|
7020
7178
|
payload: payload
|
|
7021
7179
|
};
|
|
7022
7180
|
};
|
|
7023
7181
|
|
|
7024
7182
|
var _marked = /*#__PURE__*/regeneratorRuntime.mark(newServiceAddedSaga),
|
|
7025
|
-
_marked2 = /*#__PURE__*/regeneratorRuntime.mark(
|
|
7183
|
+
_marked2 = /*#__PURE__*/regeneratorRuntime.mark(layerSelectServiceRemovedSaga),
|
|
7184
|
+
_marked3 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga);
|
|
7026
7185
|
function newServiceAddedSaga(capturedAction) {
|
|
7027
7186
|
var addedService, service, keywords;
|
|
7028
7187
|
return regeneratorRuntime.wrap(function newServiceAddedSaga$(_context) {
|
|
@@ -7047,21 +7206,45 @@ function newServiceAddedSaga(capturedAction) {
|
|
|
7047
7206
|
}
|
|
7048
7207
|
}, _marked);
|
|
7049
7208
|
}
|
|
7050
|
-
function
|
|
7051
|
-
|
|
7209
|
+
function layerSelectServiceRemovedSaga(capturedAction) {
|
|
7210
|
+
var removedService, serviceUrl;
|
|
7211
|
+
return regeneratorRuntime.wrap(function layerSelectServiceRemovedSaga$(_context2) {
|
|
7052
7212
|
while (1) {
|
|
7053
7213
|
switch (_context2.prev = _context2.next) {
|
|
7054
7214
|
case 0:
|
|
7055
|
-
|
|
7056
|
-
|
|
7215
|
+
removedService = capturedAction.payload;
|
|
7216
|
+
serviceUrl = removedService.serviceUrl;
|
|
7217
|
+
_context2.next = 4;
|
|
7218
|
+
return put(layerSelectServiceRemoved({
|
|
7219
|
+
serviceUrl: serviceUrl
|
|
7220
|
+
}));
|
|
7057
7221
|
|
|
7058
|
-
case
|
|
7222
|
+
case 4:
|
|
7059
7223
|
case "end":
|
|
7060
7224
|
return _context2.stop();
|
|
7061
7225
|
}
|
|
7062
7226
|
}
|
|
7063
7227
|
}, _marked2);
|
|
7064
7228
|
}
|
|
7229
|
+
function rootSaga() {
|
|
7230
|
+
return regeneratorRuntime.wrap(function rootSaga$(_context3) {
|
|
7231
|
+
while (1) {
|
|
7232
|
+
switch (_context3.prev = _context3.next) {
|
|
7233
|
+
case 0:
|
|
7234
|
+
_context3.next = 2;
|
|
7235
|
+
return takeEvery(MAP_SERVICES_SET_LAYERS, newServiceAddedSaga);
|
|
7236
|
+
|
|
7237
|
+
case 2:
|
|
7238
|
+
_context3.next = 4;
|
|
7239
|
+
return takeEvery(MAP_SERVICES_REMOVE_SERVICE, layerSelectServiceRemovedSaga);
|
|
7240
|
+
|
|
7241
|
+
case 4:
|
|
7242
|
+
case "end":
|
|
7243
|
+
return _context3.stop();
|
|
7244
|
+
}
|
|
7245
|
+
}
|
|
7246
|
+
}, _marked3);
|
|
7247
|
+
}
|
|
7065
7248
|
|
|
7066
7249
|
/* *
|
|
7067
7250
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -7134,7 +7317,8 @@ var recurseNodes = function recurseNodes(nodesToRecur) {
|
|
|
7134
7317
|
path: nodesToRecur.path || [],
|
|
7135
7318
|
children: [],
|
|
7136
7319
|
keywords: nodesToRecur.keywords || [],
|
|
7137
|
-
"abstract": nodesToRecur["abstract"] || ''
|
|
7320
|
+
"abstract": nodesToRecur["abstract"] || '',
|
|
7321
|
+
styles: nodesToRecur.styles || []
|
|
7138
7322
|
};
|
|
7139
7323
|
|
|
7140
7324
|
if (nodesToRecur.children) {
|
|
@@ -7532,133 +7716,256 @@ var WMSServerList = function WMSServerList(_ref) {
|
|
|
7532
7716
|
* See the License for the specific language governing permissions and
|
|
7533
7717
|
* limitations under the License.
|
|
7534
7718
|
*
|
|
7535
|
-
* Copyright
|
|
7536
|
-
* Copyright
|
|
7719
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
7720
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
7537
7721
|
* */
|
|
7538
|
-
|
|
7539
|
-
|
|
7540
|
-
|
|
7541
|
-
id: 'dwd'
|
|
7542
|
-
};
|
|
7543
|
-
var nationaalgeoregister = {
|
|
7544
|
-
name: 'nationaalgeoregister.nl',
|
|
7545
|
-
url: 'https://geodata.nationaalgeoregister.nl/cbsgebiedsindelingen/wms?request=GetCapabilities&service=wms',
|
|
7546
|
-
id: 'nationaalgeoregister'
|
|
7547
|
-
};
|
|
7548
|
-
var KNMImsgcpp = {
|
|
7549
|
-
name: 'KNMImsgcpp',
|
|
7550
|
-
url: 'https://adaguc-server-msg-cpp-portal.pmc.knmi.cloud/wms?DATASET=msgrt&',
|
|
7551
|
-
id: 'msgcpp-ogc-realtime'
|
|
7552
|
-
};
|
|
7553
|
-
var HeiGit = {
|
|
7554
|
-
name: 'HeiGit',
|
|
7555
|
-
url: 'https://maps.heigit.org/osm-wms/service',
|
|
7556
|
-
id: 'HeiGit-osm-wms'
|
|
7557
|
-
};
|
|
7558
|
-
var ArcGisCanvas = {
|
|
7559
|
-
name: 'ArcGisCanvas',
|
|
7560
|
-
url: 'https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/',
|
|
7561
|
-
id: 'ArcGisCanvas'
|
|
7562
|
-
};
|
|
7563
|
-
var KNMIgeoservicesBaselayers = {
|
|
7564
|
-
name: 'KNMIgeoservicesBaselayers',
|
|
7565
|
-
url: 'https://geoservices.knmi.nl/wms?DATASET=baselayers&',
|
|
7566
|
-
id: 'KNMIgeoservicesBaselayers'
|
|
7567
|
-
};
|
|
7568
|
-
var KNMIgeoservicesRadar = {
|
|
7569
|
-
name: 'KNMIgeoservicesRadar',
|
|
7570
|
-
url: 'https://geoservices.knmi.nl/wms?dataset=RADAR&',
|
|
7571
|
-
id: 'KNMIgeoservicesRadar'
|
|
7572
|
-
};
|
|
7573
|
-
var KNMIgeoservicesObs = {
|
|
7574
|
-
name: 'KNMIgeoservicesObs',
|
|
7575
|
-
url: 'https://geoservices.knmi.nl/adagucserver?dataset=OBS&service=WMS&',
|
|
7576
|
-
id: 'KNMIgeoservicesObs'
|
|
7577
|
-
};
|
|
7578
|
-
var KNMIgeoservicesKlimaatAtlas = {
|
|
7579
|
-
name: 'KNMIgeoservicesKlimaatAtlas',
|
|
7580
|
-
url: 'https://geoservices.knmi.nl/wms?DATASET=gsie-dataset&SERVICE=WMS&',
|
|
7581
|
-
id: 'KNMIgeoservicesKlimaatAtlas'
|
|
7582
|
-
};
|
|
7583
|
-
var KNMIgeoservicesHarmonie = {
|
|
7584
|
-
name: 'KNMIgeoservicesHarmonie',
|
|
7585
|
-
url: 'https://geoservices.knmi.nl/wms?DATASET=HARM_N25&',
|
|
7586
|
-
id: 'KNMIgeoservicesKliKNMIgeoservicesHarmoniemaatAtlas'
|
|
7587
|
-
};
|
|
7588
|
-
var KNMIgeoservicesHarmonieMLService = {
|
|
7589
|
-
name: 'KNMI Harmonie ML',
|
|
7590
|
-
url: 'https://geoservices.knmi.nl/wms?DATASET=HARM_N25_ML&SERVICE=WMS&',
|
|
7591
|
-
id: 'harmonieML'
|
|
7592
|
-
};
|
|
7593
|
-
var MetNorwayService = {
|
|
7594
|
-
name: 'MetNorwayService',
|
|
7595
|
-
url: 'https://wms-e1.geoweb.met.no/wms?',
|
|
7596
|
-
id: 'MetNorwayService'
|
|
7722
|
+
|
|
7723
|
+
var parseBoolean = function parseBoolean(value) {
|
|
7724
|
+
return ['true', 'false', true, false].includes(value) && JSON.parse(value);
|
|
7597
7725
|
};
|
|
7598
|
-
|
|
7599
|
-
|
|
7600
|
-
|
|
7601
|
-
id: 'FMIopenwms'
|
|
7726
|
+
|
|
7727
|
+
var isBaseLayer = function isBaseLayer(layer) {
|
|
7728
|
+
return ['baseLayer'].includes(layer.layerType);
|
|
7602
7729
|
};
|
|
7603
|
-
|
|
7604
|
-
|
|
7605
|
-
|
|
7606
|
-
id: 'DWDObservations'
|
|
7730
|
+
|
|
7731
|
+
var isMapLayer = function isMapLayer(layer) {
|
|
7732
|
+
return ['mapLayer'].includes(layer.layerType);
|
|
7607
7733
|
};
|
|
7608
|
-
|
|
7609
|
-
|
|
7610
|
-
|
|
7611
|
-
id: 'DWDWarnings'
|
|
7734
|
+
|
|
7735
|
+
var isOverLayer = function isOverLayer(layer) {
|
|
7736
|
+
return ['overLayer'].includes(layer.layerType);
|
|
7612
7737
|
};
|
|
7613
|
-
|
|
7614
|
-
|
|
7615
|
-
|
|
7616
|
-
id: 'DWDWXProdukt'
|
|
7738
|
+
|
|
7739
|
+
var isValidService = function isValidService(service) {
|
|
7740
|
+
return Object.prototype.hasOwnProperty.call(service, 'url');
|
|
7617
7741
|
};
|
|
7618
|
-
|
|
7619
|
-
|
|
7620
|
-
|
|
7621
|
-
|
|
7742
|
+
|
|
7743
|
+
var isValidBbox = function isValidBbox(bbox) {
|
|
7744
|
+
var isFiniteNumber = Number.isFinite(bbox.bottom) && Number.isFinite(bbox.left) && Number.isFinite(bbox.right) && Number.isFinite(bbox.top);
|
|
7745
|
+
return isFiniteNumber;
|
|
7622
7746
|
};
|
|
7623
|
-
|
|
7624
|
-
|
|
7625
|
-
|
|
7626
|
-
|
|
7747
|
+
|
|
7748
|
+
var isValidSrs = function isValidSrs(srs) {
|
|
7749
|
+
var isValid = srs.includes('EPSG');
|
|
7750
|
+
return isValid;
|
|
7627
7751
|
};
|
|
7628
|
-
|
|
7629
|
-
|
|
7630
|
-
|
|
7631
|
-
|
|
7752
|
+
|
|
7753
|
+
var parseLayerType = function parseLayerType(layer, defaultValue) {
|
|
7754
|
+
if (isBaseLayer(layer)) {
|
|
7755
|
+
return LayerType.baseLayer;
|
|
7756
|
+
}
|
|
7757
|
+
|
|
7758
|
+
if (isMapLayer(layer)) {
|
|
7759
|
+
return LayerType.mapLayer;
|
|
7760
|
+
}
|
|
7761
|
+
|
|
7762
|
+
if (isOverLayer(layer)) {
|
|
7763
|
+
return LayerType.overLayer;
|
|
7764
|
+
}
|
|
7765
|
+
|
|
7766
|
+
return defaultValue;
|
|
7632
7767
|
};
|
|
7633
|
-
|
|
7634
|
-
|
|
7635
|
-
|
|
7636
|
-
|
|
7768
|
+
|
|
7769
|
+
var parseLayer = function parseLayer(layer) {
|
|
7770
|
+
var lr = JSON.parse(JSON.stringify(layer)); // Cloning used here to achieve object immutability
|
|
7771
|
+
|
|
7772
|
+
if (!lr.id) {
|
|
7773
|
+
lr.id = generateLayerId();
|
|
7774
|
+
}
|
|
7775
|
+
|
|
7776
|
+
if (lr.layerType) {
|
|
7777
|
+
lr.layerType = parseLayerType(lr, null);
|
|
7778
|
+
}
|
|
7779
|
+
|
|
7780
|
+
if (lr.enabled) {
|
|
7781
|
+
lr.enabled = parseBoolean(lr.enabled);
|
|
7782
|
+
}
|
|
7783
|
+
|
|
7784
|
+
return lr;
|
|
7637
7785
|
};
|
|
7638
7786
|
|
|
7639
|
-
var
|
|
7640
|
-
|
|
7641
|
-
|
|
7642
|
-
|
|
7643
|
-
|
|
7644
|
-
|
|
7645
|
-
|
|
7646
|
-
|
|
7647
|
-
|
|
7648
|
-
|
|
7649
|
-
|
|
7650
|
-
|
|
7651
|
-
|
|
7652
|
-
|
|
7653
|
-
|
|
7654
|
-
|
|
7655
|
-
|
|
7656
|
-
|
|
7657
|
-
|
|
7658
|
-
|
|
7659
|
-
|
|
7660
|
-
|
|
7661
|
-
|
|
7787
|
+
var filterBaseLayers = function filterBaseLayers(presetArray) {
|
|
7788
|
+
var hasLayers = presetArray && Array.isArray(presetArray) && presetArray.length > 0;
|
|
7789
|
+
var filteredBaseLayers = hasLayers ? presetArray.filter(function (preset) {
|
|
7790
|
+
return isBaseLayer(preset);
|
|
7791
|
+
}).map(function (filteredPresetLayer) {
|
|
7792
|
+
return parseLayer(filteredPresetLayer);
|
|
7793
|
+
}) : null;
|
|
7794
|
+
var hasBaseLayers = filteredBaseLayers && filteredBaseLayers.length > 0;
|
|
7795
|
+
var baseLayers = hasBaseLayers ? filteredBaseLayers : undefined;
|
|
7796
|
+
return baseLayers;
|
|
7797
|
+
};
|
|
7798
|
+
var filterMapLayers = function filterMapLayers(presetArray) {
|
|
7799
|
+
var hasLayers = presetArray && Array.isArray(presetArray) && presetArray.length > 0;
|
|
7800
|
+
var filteredMapLayers = hasLayers ? presetArray.filter(function (preset) {
|
|
7801
|
+
return isMapLayer(preset);
|
|
7802
|
+
}).map(function (filteredPresetLayer) {
|
|
7803
|
+
return parseLayer(filteredPresetLayer);
|
|
7804
|
+
}) : null;
|
|
7805
|
+
var hasMapLayers = filteredMapLayers && filteredMapLayers.length > 0;
|
|
7806
|
+
var mapLayers = hasMapLayers ? filteredMapLayers : undefined;
|
|
7807
|
+
return mapLayers;
|
|
7808
|
+
};
|
|
7809
|
+
var filterServices = function filterServices(presetArray) {
|
|
7810
|
+
var hasServices = presetArray && Array.isArray(presetArray) && presetArray.length > 0;
|
|
7811
|
+
var validServices = hasServices ? presetArray.filter(function (preset) {
|
|
7812
|
+
return isValidService(preset);
|
|
7813
|
+
}) : null;
|
|
7814
|
+
var hasValidServices = validServices && validServices.length > 0;
|
|
7815
|
+
var services = hasValidServices ? validServices : undefined;
|
|
7816
|
+
return services;
|
|
7817
|
+
};
|
|
7818
|
+
var filterBbox = function filterBbox(presetBbox) {
|
|
7819
|
+
var hasAllValues = presetBbox && presetBbox.bottom && presetBbox.left && presetBbox.right && presetBbox.top;
|
|
7820
|
+
var bbox = hasAllValues && isValidBbox(presetBbox) ? presetBbox : undefined;
|
|
7821
|
+
return bbox;
|
|
7822
|
+
};
|
|
7823
|
+
var filterSrs = function filterSrs(presetSrs) {
|
|
7824
|
+
var isValid = presetSrs && isValidSrs(presetSrs);
|
|
7825
|
+
var srs = isValid ? presetSrs : undefined;
|
|
7826
|
+
return srs;
|
|
7827
|
+
};
|
|
7828
|
+
var filterDimensions = function filterDimensions(mapLayers) {
|
|
7829
|
+
var layerDimensions = mapLayers.reduce(function (mapLayerList, layer) {
|
|
7830
|
+
if (layer.dimensions && layer.dimensions.length > 0 && layer.id) {
|
|
7831
|
+
var dimensions = layer.dimensions.map(function (dimension) {
|
|
7832
|
+
return {
|
|
7833
|
+
dimension: dimension,
|
|
7834
|
+
layerId: layer.id
|
|
7835
|
+
};
|
|
7836
|
+
});
|
|
7837
|
+
return mapLayerList.concat(dimensions);
|
|
7838
|
+
}
|
|
7839
|
+
|
|
7840
|
+
return mapLayerList;
|
|
7841
|
+
}, []);
|
|
7842
|
+
return layerDimensions.length > 0 ? layerDimensions : undefined;
|
|
7843
|
+
};
|
|
7844
|
+
var filterMapPresets = function filterMapPresets(presets) {
|
|
7845
|
+
var preset = presets && presets.preset;
|
|
7846
|
+
var filteredBbox = preset && preset.bbox ? filterBbox(preset.bbox) : undefined;
|
|
7847
|
+
var filteredSrs = preset && preset.srs ? filterSrs(preset.srs) : undefined;
|
|
7848
|
+
var filterredServices = preset && preset.services ? filterServices(preset.services) : undefined;
|
|
7849
|
+
var baseServices = preset && preset.baseServices ? filterServices(preset.baseServices) : undefined;
|
|
7850
|
+
var filteredBaseLayers = preset && preset.layers ? filterBaseLayers(preset.layers) : undefined;
|
|
7851
|
+
var filteredMapLayers = preset && preset.layers ? filterMapLayers(preset.layers) : undefined;
|
|
7852
|
+
var presetType = preset && preset.presetType ? preset.presetType : undefined;
|
|
7853
|
+
var presetId = preset && preset.presetId ? preset.presetId : undefined;
|
|
7854
|
+
var presetName = preset && preset.presetName ? preset.presetName : undefined;
|
|
7855
|
+
var activeLayerId = preset && preset.activeLayerId ? preset.activeLayerId : undefined;
|
|
7856
|
+
var layerDimensions = filteredMapLayers ? filterDimensions(filteredMapLayers) : undefined;
|
|
7857
|
+
var filteredPreset = {
|
|
7858
|
+
presetType: presetType,
|
|
7859
|
+
presetId: presetId,
|
|
7860
|
+
presetName: presetName,
|
|
7861
|
+
bbox: filteredBbox,
|
|
7862
|
+
services: filterredServices,
|
|
7863
|
+
baseServices: baseServices,
|
|
7864
|
+
srs: filteredSrs,
|
|
7865
|
+
baseLayers: filteredBaseLayers,
|
|
7866
|
+
mapLayers: filteredMapLayers,
|
|
7867
|
+
activeLayerId: activeLayerId,
|
|
7868
|
+
layerDimensions: layerDimensions
|
|
7869
|
+
};
|
|
7870
|
+
return filteredPreset;
|
|
7871
|
+
};
|
|
7872
|
+
var getInitialPresets = function getInitialPresets(mapPresets, defaultInitialPresets) {
|
|
7873
|
+
var filteredPresets = mapPresets ? filterMapPresets(mapPresets) : null;
|
|
7874
|
+
var initialPresets = filteredPresets || filterMapPresets(defaultInitialPresets);
|
|
7875
|
+
return initialPresets;
|
|
7876
|
+
};
|
|
7877
|
+
|
|
7878
|
+
var preset = {
|
|
7879
|
+
presetType: "mapPreset",
|
|
7880
|
+
presetId: "mapPreset-1",
|
|
7881
|
+
presetName: "Layer manager preset",
|
|
7882
|
+
services: [
|
|
7883
|
+
{
|
|
7884
|
+
name: "KNMIgeoservicesRadar",
|
|
7885
|
+
url: "https://geoservices.knmi.nl/wms?dataset=RADAR&",
|
|
7886
|
+
id: "KNMIgeoservicesRadar"
|
|
7887
|
+
},
|
|
7888
|
+
{
|
|
7889
|
+
name: "MetNorwayService",
|
|
7890
|
+
url: "https://wms-e1.geoweb.met.no/wms?",
|
|
7891
|
+
id: "MetNorwayService"
|
|
7892
|
+
},
|
|
7893
|
+
{
|
|
7894
|
+
name: "FMIopenwms",
|
|
7895
|
+
url: "https://openwms.fmi.fi/geoserver/wms?",
|
|
7896
|
+
id: "FMIopenwms"
|
|
7897
|
+
},
|
|
7898
|
+
{
|
|
7899
|
+
name: "ECMWF",
|
|
7900
|
+
url: "https://apps.ecmwf.int/wms/?token=public",
|
|
7901
|
+
id: "ecmwf"
|
|
7902
|
+
},
|
|
7903
|
+
{
|
|
7904
|
+
name: "KNMIgeoservicesHarmonie",
|
|
7905
|
+
url: "https://geoservices.knmi.nl/wms?DATASET=HARM_N25&",
|
|
7906
|
+
id: "KNMIgeoservicesKliKNMIgeoservicesHarmoniemaatAtlas"
|
|
7907
|
+
},
|
|
7908
|
+
{
|
|
7909
|
+
name: "KNMI Harmonie ML",
|
|
7910
|
+
url: "https://geoservices.knmi.nl/wms?DATASET=HARM_N25_ML&SERVICE=WMS&",
|
|
7911
|
+
id: "harmonieML"
|
|
7912
|
+
},
|
|
7913
|
+
{
|
|
7914
|
+
name: "KNMIgeoservicesObs",
|
|
7915
|
+
url: "https://geoservices.knmi.nl/adagucserver?dataset=OBS&service=WMS&",
|
|
7916
|
+
id: "KNMIgeoservicesObs"
|
|
7917
|
+
},
|
|
7918
|
+
{
|
|
7919
|
+
name: "DWD",
|
|
7920
|
+
url: "https://maps.dwd.de/geoserver/ows?",
|
|
7921
|
+
id: "dwd"
|
|
7922
|
+
}
|
|
7923
|
+
],
|
|
7924
|
+
baseServices: [
|
|
7925
|
+
{
|
|
7926
|
+
name: "KNMIgeoservicesBaselayers",
|
|
7927
|
+
url: "https://geoservices.knmi.nl/wms?DATASET=baselayers&",
|
|
7928
|
+
id: "KNMIgeoservicesBaselayers"
|
|
7929
|
+
},
|
|
7930
|
+
{
|
|
7931
|
+
name: "DWD",
|
|
7932
|
+
url: "https://maps.dwd.de/geoserver/ows?",
|
|
7933
|
+
id: "dwd"
|
|
7934
|
+
}
|
|
7935
|
+
],
|
|
7936
|
+
layers: [
|
|
7937
|
+
{
|
|
7938
|
+
id: "layerid_2",
|
|
7939
|
+
name: "WorldMap_Light_Grey_Canvas",
|
|
7940
|
+
type: "twms",
|
|
7941
|
+
layerType: "baseLayer"
|
|
7942
|
+
},
|
|
7943
|
+
{
|
|
7944
|
+
service: "https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/",
|
|
7945
|
+
id: "layerid_3",
|
|
7946
|
+
name: "arcGisCanvas",
|
|
7947
|
+
type: "twms",
|
|
7948
|
+
enabled: "true",
|
|
7949
|
+
layerType: "baseLayer"
|
|
7950
|
+
},
|
|
7951
|
+
{
|
|
7952
|
+
id: "base-layer-2",
|
|
7953
|
+
name: "OpenStreetMap_NL",
|
|
7954
|
+
type: "twms",
|
|
7955
|
+
layerType: "baseLayer",
|
|
7956
|
+
enabled: "true"
|
|
7957
|
+
},
|
|
7958
|
+
{
|
|
7959
|
+
service: "https://maps.heigit.org/osm-wms/service",
|
|
7960
|
+
id: "layerid_5",
|
|
7961
|
+
name: "osm_auto:all",
|
|
7962
|
+
layerType: "baseLayer"
|
|
7963
|
+
}
|
|
7964
|
+
]
|
|
7965
|
+
};
|
|
7966
|
+
var initialPreset = {
|
|
7967
|
+
preset: preset
|
|
7968
|
+
};
|
|
7662
7969
|
|
|
7663
7970
|
/* *
|
|
7664
7971
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -7676,437 +7983,45 @@ var publicServices = /*#__PURE__*/Object.freeze({
|
|
|
7676
7983
|
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
7677
7984
|
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
7678
7985
|
* */
|
|
7679
|
-
var baseLayer$1 = {
|
|
7680
|
-
name: 'arcGisSat',
|
|
7681
|
-
title: 'arcGisSat',
|
|
7682
|
-
type: 'twms',
|
|
7683
|
-
layerType: LayerType.baseLayer,
|
|
7684
|
-
enabled: true,
|
|
7685
|
-
id: generateLayerId()
|
|
7686
|
-
}; // Base Layers List
|
|
7687
7986
|
|
|
7688
|
-
var
|
|
7689
|
-
|
|
7690
|
-
|
|
7691
|
-
|
|
7692
|
-
layerType: LayerType.baseLayer
|
|
7693
|
-
};
|
|
7694
|
-
var baseLayerOpenStreetMapNL$1 = {
|
|
7695
|
-
id: 'base-layer-2',
|
|
7696
|
-
name: 'OpenStreetMap_NL',
|
|
7697
|
-
type: 'twms',
|
|
7698
|
-
layerType: LayerType.baseLayer,
|
|
7699
|
-
enabled: true
|
|
7700
|
-
};
|
|
7701
|
-
var baseLayerArcGisCanvas$1 = {
|
|
7702
|
-
service: ArcGisCanvas.url,
|
|
7703
|
-
id: generateLayerId(),
|
|
7704
|
-
name: 'arcGisCanvas',
|
|
7705
|
-
type: 'twms',
|
|
7706
|
-
enabled: true,
|
|
7707
|
-
layerType: LayerType.baseLayer
|
|
7708
|
-
};
|
|
7709
|
-
var baseLayerWorldMap$1 = {
|
|
7710
|
-
id: generateLayerId(),
|
|
7711
|
-
name: 'WorldMap',
|
|
7712
|
-
type: 'twms',
|
|
7713
|
-
layerType: LayerType.baseLayer,
|
|
7714
|
-
enabled: true
|
|
7715
|
-
};
|
|
7716
|
-
var baseLayerHeiGit = {
|
|
7717
|
-
service: HeiGit.url,
|
|
7718
|
-
id: generateLayerId(),
|
|
7719
|
-
name: 'osm_auto:all',
|
|
7720
|
-
layerType: LayerType.baseLayer
|
|
7721
|
-
}; // Over Layers List
|
|
7987
|
+
var _filterMapPresets = filterMapPresets(initialPreset),
|
|
7988
|
+
services = _filterMapPresets.services,
|
|
7989
|
+
baseServices = _filterMapPresets.baseServices,
|
|
7990
|
+
baseLayers = _filterMapPresets.baseLayers;
|
|
7722
7991
|
|
|
7723
|
-
var
|
|
7724
|
-
|
|
7725
|
-
|
|
7726
|
-
format: 'image/png',
|
|
7727
|
-
enabled: true,
|
|
7728
|
-
id: generateLayerId(),
|
|
7729
|
-
layerType: LayerType.overLayer
|
|
7730
|
-
}; // KNMI msgcpp List
|
|
7992
|
+
var availableDefaultBaseLayers = baseLayers;
|
|
7993
|
+
var preloadedDefaultBaseServices = baseServices;
|
|
7994
|
+
var preloadedDefaultMapServices = services;
|
|
7731
7995
|
|
|
7732
|
-
var
|
|
7733
|
-
|
|
7734
|
-
|
|
7735
|
-
|
|
7736
|
-
|
|
7737
|
-
|
|
7738
|
-
style: 'precip-transparent/nearest',
|
|
7739
|
-
id: generateLayerId(),
|
|
7740
|
-
layerType: LayerType.mapLayer
|
|
7741
|
-
}; // Nederlandse Nationaal Georegister Layers list
|
|
7996
|
+
var defaultConfigurations = /*#__PURE__*/Object.freeze({
|
|
7997
|
+
__proto__: null,
|
|
7998
|
+
availableDefaultBaseLayers: availableDefaultBaseLayers,
|
|
7999
|
+
preloadedDefaultBaseServices: preloadedDefaultBaseServices,
|
|
8000
|
+
preloadedDefaultMapServices: preloadedDefaultMapServices
|
|
8001
|
+
});
|
|
7742
8002
|
|
|
7743
|
-
var
|
|
7744
|
-
|
|
7745
|
-
|
|
7746
|
-
|
|
7747
|
-
|
|
7748
|
-
|
|
7749
|
-
|
|
7750
|
-
|
|
7751
|
-
|
|
7752
|
-
|
|
7753
|
-
|
|
7754
|
-
|
|
7755
|
-
|
|
7756
|
-
|
|
8003
|
+
var useStyles$H = makeStyles({
|
|
8004
|
+
buttonDiv: {
|
|
8005
|
+
position: 'relative'
|
|
8006
|
+
},
|
|
8007
|
+
loadingButton: {
|
|
8008
|
+
position: 'absolute',
|
|
8009
|
+
top: 7,
|
|
8010
|
+
left: 7,
|
|
8011
|
+
zIndex: 1
|
|
8012
|
+
},
|
|
8013
|
+
button: {
|
|
8014
|
+
width: '24px',
|
|
8015
|
+
height: '24px',
|
|
8016
|
+
margin: '6px 0px 0px 10px'
|
|
8017
|
+
}
|
|
8018
|
+
});
|
|
7757
8019
|
|
|
7758
|
-
var
|
|
7759
|
-
|
|
7760
|
-
|
|
7761
|
-
|
|
7762
|
-
|
|
7763
|
-
style: 'radar/nearest',
|
|
7764
|
-
id: generateLayerId(),
|
|
7765
|
-
layerType: LayerType.mapLayer
|
|
7766
|
-
};
|
|
7767
|
-
var radarLayerWithError = {
|
|
7768
|
-
service: KNMIgeoservicesRadar.url,
|
|
7769
|
-
name: 'radarLayer',
|
|
7770
|
-
format: 'image/png',
|
|
7771
|
-
enabled: true,
|
|
7772
|
-
style: 'knmiradar/nearest',
|
|
7773
|
-
id: generateLayerId(),
|
|
7774
|
-
layerType: LayerType.mapLayer
|
|
7775
|
-
};
|
|
7776
|
-
var obsAirTemperature = {
|
|
7777
|
-
service: KNMIgeoservicesObs.url,
|
|
7778
|
-
name: '10M/ta',
|
|
7779
|
-
id: generateLayerId(),
|
|
7780
|
-
layerType: LayerType.mapLayer
|
|
7781
|
-
};
|
|
7782
|
-
var obsWind = {
|
|
7783
|
-
service: KNMIgeoservicesObs.url,
|
|
7784
|
-
name: '10M/wind',
|
|
7785
|
-
id: generateLayerId(),
|
|
7786
|
-
layerType: LayerType.mapLayer
|
|
7787
|
-
};
|
|
7788
|
-
var obsAirPressureAtSeaLevel = {
|
|
7789
|
-
service: KNMIgeoservicesObs.url,
|
|
7790
|
-
name: '10M/pp',
|
|
7791
|
-
id: generateLayerId(),
|
|
7792
|
-
layerType: LayerType.mapLayer
|
|
7793
|
-
};
|
|
7794
|
-
var obsRelativeHumidity = {
|
|
7795
|
-
service: KNMIgeoservicesObs.url,
|
|
7796
|
-
name: '10M/rh',
|
|
7797
|
-
id: generateLayerId(),
|
|
7798
|
-
layerType: LayerType.mapLayer
|
|
7799
|
-
};
|
|
7800
|
-
var obsGlobalSolarRadiation = {
|
|
7801
|
-
service: KNMIgeoservicesObs.url,
|
|
7802
|
-
name: '10M/qg',
|
|
7803
|
-
id: generateLayerId(),
|
|
7804
|
-
layerType: LayerType.mapLayer
|
|
7805
|
-
};
|
|
7806
|
-
var obsPrecipitationIntensityPWS = {
|
|
7807
|
-
service: KNMIgeoservicesObs.url,
|
|
7808
|
-
name: '10M/pg',
|
|
7809
|
-
id: generateLayerId(),
|
|
7810
|
-
layerType: LayerType.mapLayer
|
|
7811
|
-
};
|
|
7812
|
-
var harmonieRelativeHumidityPl = {
|
|
7813
|
-
service: KNMIgeoservicesHarmonie.url,
|
|
7814
|
-
name: 'relative_humidity__at_pl',
|
|
7815
|
-
id: generateLayerId(),
|
|
7816
|
-
layerType: LayerType.mapLayer,
|
|
7817
|
-
enabled: true
|
|
7818
|
-
};
|
|
7819
|
-
var harmonieWindPl = {
|
|
7820
|
-
service: KNMIgeoservicesHarmonie.url,
|
|
7821
|
-
name: 'wind__at_pl',
|
|
7822
|
-
id: generateLayerId(),
|
|
7823
|
-
layerType: LayerType.mapLayer,
|
|
7824
|
-
enabled: true
|
|
7825
|
-
};
|
|
7826
|
-
var harmonieAirTemperature = {
|
|
7827
|
-
service: KNMIgeoservicesHarmonie.url,
|
|
7828
|
-
name: 'air_temperature__at_2m',
|
|
7829
|
-
id: generateLayerId(),
|
|
7830
|
-
layerType: LayerType.mapLayer,
|
|
7831
|
-
enabled: true
|
|
7832
|
-
};
|
|
7833
|
-
var harmoniePrecipitation = {
|
|
7834
|
-
service: KNMIgeoservicesHarmonie.url,
|
|
7835
|
-
name: 'precipitation_flux',
|
|
7836
|
-
id: generateLayerId(),
|
|
7837
|
-
layerType: LayerType.mapLayer,
|
|
7838
|
-
enabled: true
|
|
7839
|
-
};
|
|
7840
|
-
var harmoniePressure = {
|
|
7841
|
-
service: KNMIgeoservicesHarmonie.url,
|
|
7842
|
-
name: 'air_pressure_at_sea_level',
|
|
7843
|
-
id: generateLayerId(),
|
|
7844
|
-
layerType: LayerType.mapLayer,
|
|
7845
|
-
enabled: true
|
|
7846
|
-
};
|
|
7847
|
-
var harmonieWindFlags = {
|
|
7848
|
-
service: KNMIgeoservicesHarmonie.url,
|
|
7849
|
-
name: 'wind__at_10m',
|
|
7850
|
-
enabled: true,
|
|
7851
|
-
id: generateLayerId(),
|
|
7852
|
-
layerType: LayerType.mapLayer
|
|
7853
|
-
};
|
|
7854
|
-
var klimaatAtlasTG3 = {
|
|
7855
|
-
service: KNMIgeoservicesKlimaatAtlas.url,
|
|
7856
|
-
name: 'TG3',
|
|
7857
|
-
enabled: true,
|
|
7858
|
-
id: generateLayerId(),
|
|
7859
|
-
layerType: LayerType.mapLayer
|
|
7860
|
-
}; // DWD Layers List
|
|
7861
|
-
|
|
7862
|
-
var dwdWarningLayer = {
|
|
7863
|
-
service: DWDWarnings.url,
|
|
7864
|
-
name: 'Warnungen_Gemeinden_vereinigt',
|
|
7865
|
-
format: 'image/png',
|
|
7866
|
-
// style: 'warnungen_gemeinden_vereinigt_event_seamless_param',
|
|
7867
|
-
enabled: true,
|
|
7868
|
-
id: generateLayerId(),
|
|
7869
|
-
layerType: LayerType.mapLayer
|
|
7870
|
-
};
|
|
7871
|
-
var dwdRadarLayer = {
|
|
7872
|
-
service: DWDWXProdukt.url,
|
|
7873
|
-
name: 'WX-Produkt',
|
|
7874
|
-
format: 'image/png',
|
|
7875
|
-
enabled: true,
|
|
7876
|
-
id: generateLayerId(),
|
|
7877
|
-
layerType: LayerType.mapLayer
|
|
7878
|
-
}; // this needs authentication to work
|
|
7879
|
-
|
|
7880
|
-
var dwdObservationsWetterLayer = {
|
|
7881
|
-
service: DWDObservations.url,
|
|
7882
|
-
name: 'Wetter_Beobachtungen',
|
|
7883
|
-
style: 'Wetter_Symbole',
|
|
7884
|
-
format: 'image/png',
|
|
7885
|
-
enabled: true,
|
|
7886
|
-
id: generateLayerId(),
|
|
7887
|
-
layerType: LayerType.mapLayer // headers: [{ name: 'Authorization', value: 'Basic ...' }]
|
|
7888
|
-
|
|
7889
|
-
};
|
|
7890
|
-
var dwdObservationsWetterLayerWithHeader = {
|
|
7891
|
-
service: DWDObservations.url,
|
|
7892
|
-
name: 'Wetter_Beobachtungen',
|
|
7893
|
-
style: 'Wetter_Symbole',
|
|
7894
|
-
format: 'image/png',
|
|
7895
|
-
enabled: true,
|
|
7896
|
-
id: generateLayerId(),
|
|
7897
|
-
layerType: LayerType.mapLayer,
|
|
7898
|
-
headers: [{
|
|
7899
|
-
name: 'authorization',
|
|
7900
|
-
value: 'Basic aW50cmFuZXQtdXNlcjpDQnMjMTEh'
|
|
7901
|
-
}]
|
|
7902
|
-
}; // this needs authentication to work
|
|
7903
|
-
|
|
7904
|
-
var dwdObservationsWindLayer = {
|
|
7905
|
-
service: DWDObservations.url,
|
|
7906
|
-
name: 'Wetter_Beobachtungen',
|
|
7907
|
-
style: 'Wetter_Wind',
|
|
7908
|
-
format: 'image/png',
|
|
7909
|
-
enabled: true,
|
|
7910
|
-
id: generateLayerId(),
|
|
7911
|
-
layerType: LayerType.mapLayer
|
|
7912
|
-
}; // FMI open wms Layers List
|
|
7913
|
-
|
|
7914
|
-
var FMITemp = {
|
|
7915
|
-
service: FMIopenwms.url,
|
|
7916
|
-
name: 'temperature-forecast',
|
|
7917
|
-
format: 'image/png',
|
|
7918
|
-
enabled: true,
|
|
7919
|
-
id: generateLayerId(),
|
|
7920
|
-
layerType: LayerType.mapLayer
|
|
7921
|
-
}; // Met Norway Layers List
|
|
7922
|
-
|
|
7923
|
-
var MetNoTemp = {
|
|
7924
|
-
service: MetNorwayService.url,
|
|
7925
|
-
name: 'thredds_meps_latest_wind',
|
|
7926
|
-
format: 'image/png',
|
|
7927
|
-
enabled: true,
|
|
7928
|
-
id: generateLayerId(),
|
|
7929
|
-
layerType: LayerType.mapLayer
|
|
7930
|
-
};
|
|
7931
|
-
var metNorwayWind1 = {
|
|
7932
|
-
service: MetNorwayService.url,
|
|
7933
|
-
name: 'thredds_meps_latest_wind',
|
|
7934
|
-
format: 'image/png',
|
|
7935
|
-
enabled: true,
|
|
7936
|
-
id: generateLayerId(),
|
|
7937
|
-
layerType: LayerType.mapLayer
|
|
7938
|
-
};
|
|
7939
|
-
var metNorwayWind2 = {
|
|
7940
|
-
service: MetNorwayService.url,
|
|
7941
|
-
name: 'thredds_aromearctic_extracted_t',
|
|
7942
|
-
format: 'image/png',
|
|
7943
|
-
enabled: true,
|
|
7944
|
-
id: generateLayerId(),
|
|
7945
|
-
layerType: LayerType.mapLayer
|
|
7946
|
-
};
|
|
7947
|
-
var metNorwayWind3 = {
|
|
7948
|
-
service: MetNorwayService.url,
|
|
7949
|
-
name: 'thredds_nk800_temperature',
|
|
7950
|
-
format: 'image/png',
|
|
7951
|
-
enabled: true,
|
|
7952
|
-
id: generateLayerId(),
|
|
7953
|
-
layerType: LayerType.mapLayer
|
|
7954
|
-
};
|
|
7955
|
-
var metNorwayLatestT = {
|
|
7956
|
-
service: MetNorwayService.url,
|
|
7957
|
-
name: 'thredds_meps_latest_t',
|
|
7958
|
-
format: 'image/png',
|
|
7959
|
-
enabled: true,
|
|
7960
|
-
id: generateLayerId(),
|
|
7961
|
-
layerType: LayerType.mapLayer
|
|
7962
|
-
};
|
|
7963
|
-
var metNorwaySalinaty = {
|
|
7964
|
-
service: MetNorwayService.url,
|
|
7965
|
-
name: 'thredds_barents_2_5km_1h_salinity',
|
|
7966
|
-
format: 'image/png',
|
|
7967
|
-
enabled: true,
|
|
7968
|
-
id: generateLayerId(),
|
|
7969
|
-
layerType: LayerType.mapLayer
|
|
7970
|
-
};
|
|
7971
|
-
var msgFesEUMETSAT = {
|
|
7972
|
-
service: EUMETSAT.url,
|
|
7973
|
-
name: 'msg_fes:rgb_eview',
|
|
7974
|
-
enabled: true,
|
|
7975
|
-
id: generateLayerId(),
|
|
7976
|
-
layerType: LayerType.mapLayer
|
|
7977
|
-
};
|
|
7978
|
-
var msgNaturalenhncdEUMETSAT = {
|
|
7979
|
-
service: eumetviewEUMETSAT.url,
|
|
7980
|
-
name: 'meteosat:msg_naturalenhncd',
|
|
7981
|
-
enabled: true,
|
|
7982
|
-
id: generateLayerId(),
|
|
7983
|
-
layerType: LayerType.mapLayer
|
|
7984
|
-
};
|
|
7985
|
-
var msgAshEUMETSAT = {
|
|
7986
|
-
service: eumetviewEUMETSAT.url,
|
|
7987
|
-
name: 'meteosat:msg_ash',
|
|
7988
|
-
enabled: true,
|
|
7989
|
-
id: generateLayerId(),
|
|
7990
|
-
layerType: LayerType.mapLayer
|
|
7991
|
-
};
|
|
7992
|
-
var msgCthEUMETSAT = {
|
|
7993
|
-
service: eumetviewEUMETSAT.url,
|
|
7994
|
-
name: 'meteosat:msg_cth',
|
|
7995
|
-
enabled: true,
|
|
7996
|
-
id: generateLayerId(),
|
|
7997
|
-
layerType: LayerType.mapLayer
|
|
7998
|
-
};
|
|
7999
|
-
var msgFogEUMETSAT = {
|
|
8000
|
-
service: eumetviewEUMETSAT.url,
|
|
8001
|
-
name: 'meteosat:msg_fog',
|
|
8002
|
-
enabled: true,
|
|
8003
|
-
id: generateLayerId(),
|
|
8004
|
-
layerType: LayerType.mapLayer
|
|
8005
|
-
};
|
|
8006
|
-
var msgNaturalEUMETSAT = {
|
|
8007
|
-
service: eumetviewEUMETSAT.url,
|
|
8008
|
-
name: 'meteosat:msg_natural',
|
|
8009
|
-
enabled: true,
|
|
8010
|
-
id: generateLayerId(),
|
|
8011
|
-
layerType: LayerType.mapLayer
|
|
8012
|
-
};
|
|
8013
|
-
|
|
8014
|
-
var publicLayers = /*#__PURE__*/Object.freeze({
|
|
8015
|
-
__proto__: null,
|
|
8016
|
-
baseLayer: baseLayer$1,
|
|
8017
|
-
baseLayerGrey: baseLayerGrey$1,
|
|
8018
|
-
baseLayerOpenStreetMapNL: baseLayerOpenStreetMapNL$1,
|
|
8019
|
-
baseLayerArcGisCanvas: baseLayerArcGisCanvas$1,
|
|
8020
|
-
baseLayerWorldMap: baseLayerWorldMap$1,
|
|
8021
|
-
baseLayerHeiGit: baseLayerHeiGit,
|
|
8022
|
-
overLayer: overLayer$1,
|
|
8023
|
-
msgCppLayer: msgCppLayer,
|
|
8024
|
-
veiligheidsRegiosGebiedsIndelingenLabels: veiligheidsRegiosGebiedsIndelingenLabels,
|
|
8025
|
-
veiligheidsRegiosGebiedsIndelingen: veiligheidsRegiosGebiedsIndelingen,
|
|
8026
|
-
radarLayer: radarLayer$1,
|
|
8027
|
-
radarLayerWithError: radarLayerWithError,
|
|
8028
|
-
obsAirTemperature: obsAirTemperature,
|
|
8029
|
-
obsWind: obsWind,
|
|
8030
|
-
obsAirPressureAtSeaLevel: obsAirPressureAtSeaLevel,
|
|
8031
|
-
obsRelativeHumidity: obsRelativeHumidity,
|
|
8032
|
-
obsGlobalSolarRadiation: obsGlobalSolarRadiation,
|
|
8033
|
-
obsPrecipitationIntensityPWS: obsPrecipitationIntensityPWS,
|
|
8034
|
-
harmonieRelativeHumidityPl: harmonieRelativeHumidityPl,
|
|
8035
|
-
harmonieWindPl: harmonieWindPl,
|
|
8036
|
-
harmonieAirTemperature: harmonieAirTemperature,
|
|
8037
|
-
harmoniePrecipitation: harmoniePrecipitation,
|
|
8038
|
-
harmoniePressure: harmoniePressure,
|
|
8039
|
-
harmonieWindFlags: harmonieWindFlags,
|
|
8040
|
-
klimaatAtlasTG3: klimaatAtlasTG3,
|
|
8041
|
-
dwdWarningLayer: dwdWarningLayer,
|
|
8042
|
-
dwdRadarLayer: dwdRadarLayer,
|
|
8043
|
-
dwdObservationsWetterLayer: dwdObservationsWetterLayer,
|
|
8044
|
-
dwdObservationsWetterLayerWithHeader: dwdObservationsWetterLayerWithHeader,
|
|
8045
|
-
dwdObservationsWindLayer: dwdObservationsWindLayer,
|
|
8046
|
-
FMITemp: FMITemp,
|
|
8047
|
-
MetNoTemp: MetNoTemp,
|
|
8048
|
-
metNorwayWind1: metNorwayWind1,
|
|
8049
|
-
metNorwayWind2: metNorwayWind2,
|
|
8050
|
-
metNorwayWind3: metNorwayWind3,
|
|
8051
|
-
metNorwayLatestT: metNorwayLatestT,
|
|
8052
|
-
metNorwaySalinaty: metNorwaySalinaty,
|
|
8053
|
-
msgFesEUMETSAT: msgFesEUMETSAT,
|
|
8054
|
-
msgNaturalenhncdEUMETSAT: msgNaturalenhncdEUMETSAT,
|
|
8055
|
-
msgAshEUMETSAT: msgAshEUMETSAT,
|
|
8056
|
-
msgCthEUMETSAT: msgCthEUMETSAT,
|
|
8057
|
-
msgFogEUMETSAT: msgFogEUMETSAT,
|
|
8058
|
-
msgNaturalEUMETSAT: msgNaturalEUMETSAT
|
|
8059
|
-
});
|
|
8060
|
-
|
|
8061
|
-
/* *
|
|
8062
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8063
|
-
* you may not use this file except in compliance with the License.
|
|
8064
|
-
* You may obtain a copy of the License at
|
|
8065
|
-
*
|
|
8066
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8067
|
-
*
|
|
8068
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
8069
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
8070
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
8071
|
-
* See the License for the specific language governing permissions and
|
|
8072
|
-
* limitations under the License.
|
|
8073
|
-
*
|
|
8074
|
-
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
8075
|
-
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
8076
|
-
* */
|
|
8077
|
-
var availableDefaultBaseLayers = [baseLayerGrey$1, baseLayerArcGisCanvas$1, baseLayerOpenStreetMapNL$1, baseLayerHeiGit];
|
|
8078
|
-
var preloadedDefaultBaseServices = [KNMIgeoservicesBaselayers, DWD];
|
|
8079
|
-
var preloadedDefaultMapServices = [KNMIgeoservicesRadar, MetNorwayService, FMIopenwms, ECMWFPublicService, KNMIgeoservicesHarmonie, KNMIgeoservicesHarmonieMLService, KNMIgeoservicesObs, DWD];
|
|
8080
|
-
|
|
8081
|
-
var defaultConfigurations = /*#__PURE__*/Object.freeze({
|
|
8082
|
-
__proto__: null,
|
|
8083
|
-
availableDefaultBaseLayers: availableDefaultBaseLayers,
|
|
8084
|
-
preloadedDefaultBaseServices: preloadedDefaultBaseServices,
|
|
8085
|
-
preloadedDefaultMapServices: preloadedDefaultMapServices
|
|
8086
|
-
});
|
|
8087
|
-
|
|
8088
|
-
var useStyles$H = makeStyles({
|
|
8089
|
-
buttonDiv: {
|
|
8090
|
-
position: 'relative'
|
|
8091
|
-
},
|
|
8092
|
-
loadingButton: {
|
|
8093
|
-
position: 'absolute',
|
|
8094
|
-
top: 7,
|
|
8095
|
-
left: 7,
|
|
8096
|
-
zIndex: 1
|
|
8097
|
-
},
|
|
8098
|
-
button: {
|
|
8099
|
-
width: '24px',
|
|
8100
|
-
height: '24px',
|
|
8101
|
-
margin: '6px 0px 0px 10px'
|
|
8102
|
-
}
|
|
8103
|
-
});
|
|
8104
|
-
|
|
8105
|
-
var validateServiceUrl = function validateServiceUrl(url) {
|
|
8106
|
-
if (url === '' || url === null || typeof url === 'undefined') return false;
|
|
8107
|
-
var matcher = /^(?:\w+:)?\/\/([^\s.]+\.\S{2}|[0-9a-zA-Z]+[:?\d]*)\S*$/;
|
|
8108
|
-
if (!matcher.test(url)) return false;
|
|
8109
|
-
return true;
|
|
8020
|
+
var validateServiceUrl = function validateServiceUrl(url) {
|
|
8021
|
+
if (url === '' || url === null || typeof url === 'undefined') return false;
|
|
8022
|
+
var matcher = /^(?:\w+:)?\/\/([^\s.]+\.\S{2}|[0-9a-zA-Z]+[:?\d]*)\S*$/;
|
|
8023
|
+
if (!matcher.test(url)) return false;
|
|
8024
|
+
return true;
|
|
8110
8025
|
};
|
|
8111
8026
|
|
|
8112
8027
|
var AddLayersPopup = function AddLayersPopup(_ref) {
|
|
@@ -8804,12 +8719,12 @@ var useStyles$D = makeStyles(function (theme) {
|
|
|
8804
8719
|
},
|
|
8805
8720
|
backgroundColor: function backgroundColor(_ref2) {
|
|
8806
8721
|
var isActive = _ref2.isActive;
|
|
8807
|
-
return isActive ? theme.palette.geowebColors.buttons.
|
|
8722
|
+
return isActive ? theme.palette.geowebColors.buttons.primary.active.fill : 'inherit';
|
|
8808
8723
|
},
|
|
8809
8724
|
'&:focus': {
|
|
8810
8725
|
backgroundColor: function backgroundColor(_ref3) {
|
|
8811
8726
|
var isActive = _ref3.isActive;
|
|
8812
|
-
return isActive ? theme.palette.geowebColors.buttons.
|
|
8727
|
+
return isActive ? theme.palette.geowebColors.buttons.primary.mouseOver.fill : theme.palette.geowebColors.layerManager.tableRowMouseover.rgba;
|
|
8813
8728
|
},
|
|
8814
8729
|
outline: theme.palette.geowebColors.buttons.focusDefault.outline,
|
|
8815
8730
|
borderRadius: 0
|
|
@@ -8817,7 +8732,7 @@ var useStyles$D = makeStyles(function (theme) {
|
|
|
8817
8732
|
'&:hover': {
|
|
8818
8733
|
backgroundColor: function backgroundColor(_ref4) {
|
|
8819
8734
|
var isActive = _ref4.isActive;
|
|
8820
|
-
return isActive ? theme.palette.geowebColors.buttons.
|
|
8735
|
+
return isActive ? theme.palette.geowebColors.buttons.primary.mouseOver.fill : theme.palette.geowebColors.layerManager.tableRowMouseover.rgba;
|
|
8821
8736
|
}
|
|
8822
8737
|
}
|
|
8823
8738
|
},
|
|
@@ -10623,63 +10538,61 @@ var LayerManager = function LayerManager(_ref) {
|
|
|
10623
10538
|
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
10624
10539
|
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
10625
10540
|
* */
|
|
10626
|
-
var useButtonStyles = makeStyles(function (theme) {
|
|
10627
|
-
return createStyles({
|
|
10628
|
-
button: {
|
|
10629
|
-
height: '24px',
|
|
10630
|
-
width: function width(_ref) {
|
|
10631
|
-
var _width = _ref.width;
|
|
10632
|
-
return _width ? "".concat(_width, "px") : '24px';
|
|
10633
|
-
},
|
|
10634
|
-
border: 0,
|
|
10635
|
-
backgroundColor: theme.palette.geowebColors.buttons.surfaceIconDefault.fill,
|
|
10636
|
-
borderRadius: '4.5px',
|
|
10637
|
-
textTransform: 'none',
|
|
10638
|
-
'& svg path, svg text': {
|
|
10639
|
-
fill: theme.palette.geowebColors.typographyAndIcons.buttonIconTertiaryFlat
|
|
10640
|
-
},
|
|
10641
|
-
'&:hover': {
|
|
10642
|
-
backgroundColor: theme.palette.geowebColors.buttons.flatMouseover.fill
|
|
10643
|
-
},
|
|
10644
|
-
'&:disabled': {
|
|
10645
|
-
backgroundColor: theme.palette.geowebColors.buttons.disabled.fill,
|
|
10646
|
-
'& svg path, svg text': {
|
|
10647
|
-
fill: theme.palette.geowebColors.typographyAndIcons.iconLinkDisabled
|
|
10648
|
-
},
|
|
10649
|
-
border: "1px solid ".concat(theme.palette.geowebColors.buttons.disabled.fill)
|
|
10650
|
-
},
|
|
10651
|
-
'&.Mui-selected': {
|
|
10652
|
-
backgroundColor: theme.palette.geowebColors.buttons.primaryActive.fill,
|
|
10653
|
-
'&:hover': {
|
|
10654
|
-
backgroundColor: theme.palette.geowebColors.buttons.primaryMouseover.fill
|
|
10655
|
-
},
|
|
10656
|
-
'& svg': {
|
|
10657
|
-
backgroundColor: 'transparent'
|
|
10658
|
-
},
|
|
10659
|
-
'& svg path, svg text': {
|
|
10660
|
-
fill: theme.palette.geowebColors.typographyAndIcons.buttonIcon
|
|
10661
|
-
}
|
|
10662
|
-
}
|
|
10663
|
-
}
|
|
10664
|
-
});
|
|
10665
|
-
});
|
|
10666
10541
|
|
|
10667
|
-
var
|
|
10542
|
+
var CustomToggleButton = function CustomToggleButton(_a) {
|
|
10543
|
+
var _a$variant = _a.variant,
|
|
10544
|
+
variant = _a$variant === void 0 ? 'primary' : _a$variant,
|
|
10545
|
+
_a$value = _a.value,
|
|
10546
|
+
value = _a$value === void 0 ? 0 : _a$value,
|
|
10547
|
+
props = __rest(_a, ["variant", "value"]);
|
|
10548
|
+
|
|
10549
|
+
return /*#__PURE__*/React.createElement(ToggleButton, Object.assign({
|
|
10550
|
+
className: variant,
|
|
10551
|
+
value: value
|
|
10552
|
+
}, props));
|
|
10553
|
+
};
|
|
10554
|
+
|
|
10555
|
+
/* *
|
|
10556
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10557
|
+
* you may not use this file except in compliance with the License.
|
|
10558
|
+
* You may obtain a copy of the License at
|
|
10559
|
+
*
|
|
10560
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10561
|
+
*
|
|
10562
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10563
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
10564
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10565
|
+
* See the License for the specific language governing permissions and
|
|
10566
|
+
* limitations under the License.
|
|
10567
|
+
*
|
|
10568
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
10569
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
10570
|
+
* */
|
|
10571
|
+
|
|
10572
|
+
var ToolButton = function ToolButton(_a) {
|
|
10668
10573
|
var active = _a.active,
|
|
10669
|
-
width = _a.width,
|
|
10574
|
+
_a$width = _a.width,
|
|
10575
|
+
width = _a$width === void 0 ? '24px' : _a$width,
|
|
10576
|
+
_a$height = _a.height,
|
|
10577
|
+
height = _a$height === void 0 ? '24px' : _a$height,
|
|
10670
10578
|
children = _a.children,
|
|
10671
10579
|
_a$value = _a.value,
|
|
10672
10580
|
value = _a$value === void 0 ? 0 : _a$value,
|
|
10673
|
-
|
|
10581
|
+
_a$sx = _a.sx,
|
|
10582
|
+
sx = _a$sx === void 0 ? {} : _a$sx,
|
|
10583
|
+
props = __rest(_a, ["active", "width", "height", "children", "value", "sx"]);
|
|
10674
10584
|
|
|
10675
|
-
|
|
10676
|
-
|
|
10677
|
-
});
|
|
10678
|
-
return /*#__PURE__*/React.createElement(ToggleButton, Object.assign({
|
|
10679
|
-
className: classes.button,
|
|
10585
|
+
return /*#__PURE__*/React.createElement(CustomToggleButton, Object.assign({
|
|
10586
|
+
variant: "tool",
|
|
10680
10587
|
disableRipple: true,
|
|
10681
10588
|
selected: active,
|
|
10682
|
-
value: value
|
|
10589
|
+
value: value,
|
|
10590
|
+
sx: Object.assign({
|
|
10591
|
+
width: "".concat(width, "!important"),
|
|
10592
|
+
height: "".concat(height, "!important"),
|
|
10593
|
+
textTransform: 'none!important',
|
|
10594
|
+
padding: '11px!important'
|
|
10595
|
+
}, sx)
|
|
10683
10596
|
}, props), children);
|
|
10684
10597
|
};
|
|
10685
10598
|
|
|
@@ -10719,18 +10632,18 @@ var KeywordFilterButtonConnect = function KeywordFilterButtonConnect(_ref) {
|
|
|
10719
10632
|
source: source
|
|
10720
10633
|
}));
|
|
10721
10634
|
}, [currentActiveMapId, dispatch, isOpenInStore, mapId, source]);
|
|
10722
|
-
return /*#__PURE__*/React.createElement(
|
|
10635
|
+
return /*#__PURE__*/React.createElement(ToolButton, {
|
|
10723
10636
|
onClick: openFilterResultsDialog,
|
|
10724
10637
|
active: isOpenInStore,
|
|
10725
10638
|
id: "keywordFilterButton",
|
|
10726
10639
|
"data-testid": "keywordFilterButton",
|
|
10727
|
-
disableRipple: true
|
|
10640
|
+
disableRipple: true,
|
|
10641
|
+
variant: "tool"
|
|
10728
10642
|
}, /*#__PURE__*/React.createElement(SvgIcon, {
|
|
10729
10643
|
viewBox: "0 0 24 24",
|
|
10730
10644
|
xmlns: "http://www.w3.org/2000/svg"
|
|
10731
10645
|
}, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
|
|
10732
10646
|
d: "M14.155 12.567c1.362 0 2.523.848 2.992 2.043h1.895a1.173 1.173 0 0 1 0 2.346h-1.895A3.213 3.213 0 0 1 14.155 19a3.213 3.213 0 0 1-2.992-2.044h-5.99a1.172 1.172 0 1 1 0-2.346h5.99a3.214 3.214 0 0 1 2.992-2.043zm0 1.755a1.461 1.461 0 1 0 0 2.922 1.461 1.461 0 0 0 0-2.922zM10.06 5c1.362 0 2.524.848 2.992 2.044h5.99a1.173 1.173 0 1 1 0 2.344h-5.99a3.214 3.214 0 0 1-2.992 2.044 3.216 3.216 0 0 1-2.992-2.044H5.173a1.172 1.172 0 1 1 0-2.344h1.895A3.216 3.216 0 0 1 10.06 5zm0 1.754a1.461 1.461 0 1 0 0 2.922 1.461 1.461 0 0 0 0-2.922z",
|
|
10733
|
-
fill: "#FFF",
|
|
10734
10647
|
fillRule: "evenodd"
|
|
10735
10648
|
}))));
|
|
10736
10649
|
};
|
|
@@ -10772,14 +10685,14 @@ var getSearchFilter = createSelector(layerSelectStore, function (store) {
|
|
|
10772
10685
|
*
|
|
10773
10686
|
* Example getActiveServices(store);
|
|
10774
10687
|
* @param {object} store store: object - store object
|
|
10775
|
-
* @returns {
|
|
10688
|
+
* @returns {object} returnType: object of active services
|
|
10776
10689
|
*/
|
|
10777
10690
|
|
|
10778
10691
|
var getActiveServices = createSelector(layerSelectStore, function (store) {
|
|
10779
10692
|
var _a;
|
|
10780
10693
|
|
|
10781
10694
|
return store ? (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.activeServices.byId : {};
|
|
10782
|
-
});
|
|
10695
|
+
}, selectorMemoizationOptions);
|
|
10783
10696
|
/**
|
|
10784
10697
|
* Returns all ids of enabled services
|
|
10785
10698
|
*
|
|
@@ -10801,36 +10714,75 @@ var getEnabledServiceIds = createSelector(layerSelectStore, function (store) {
|
|
|
10801
10714
|
|
|
10802
10715
|
return (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.activeServices.byId[service].id;
|
|
10803
10716
|
});
|
|
10804
|
-
});
|
|
10717
|
+
}, selectorMemoizationOptions);
|
|
10805
10718
|
/**
|
|
10806
|
-
* Returns all keywords
|
|
10719
|
+
* Returns all ids of checked keywords
|
|
10807
10720
|
*
|
|
10808
|
-
* Example
|
|
10721
|
+
* Example getCheckedKeywordIds(store);
|
|
10809
10722
|
* @param {object} store store: object - store object
|
|
10810
|
-
* @returns {array} returnType: array of keyword
|
|
10723
|
+
* @returns {array} returnType: array of keyword ids that are checked
|
|
10811
10724
|
*/
|
|
10812
10725
|
|
|
10813
|
-
var
|
|
10814
|
-
|
|
10815
|
-
});
|
|
10726
|
+
var getCheckedKeywordIds = createSelector(layerSelectStore, function (store) {
|
|
10727
|
+
var _a, _b;
|
|
10816
10728
|
|
|
10817
|
-
|
|
10818
|
-
|
|
10819
|
-
|
|
10820
|
-
|
|
10729
|
+
var checkedKeywords = (_b = (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.keywords.allIds.filter(function (keyword) {
|
|
10730
|
+
var _a;
|
|
10731
|
+
|
|
10732
|
+
return (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.keywords.byId[keyword].checked;
|
|
10733
|
+
})) !== null && _b !== void 0 ? _b : [];
|
|
10734
|
+
return checkedKeywords.map(function (keyword) {
|
|
10735
|
+
var _a;
|
|
10736
|
+
|
|
10737
|
+
return (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.keywords.byId[keyword].id;
|
|
10738
|
+
});
|
|
10739
|
+
}, selectorMemoizationOptions);
|
|
10740
|
+
/**
|
|
10741
|
+
* Returns ids of all keywords
|
|
10821
10742
|
*
|
|
10822
|
-
*
|
|
10743
|
+
* Example getAllKeywordIds(store);
|
|
10744
|
+
* @param {object} store store: object - store object
|
|
10745
|
+
* @returns {array} returnType: array of all keyword ids
|
|
10746
|
+
*/
|
|
10747
|
+
|
|
10748
|
+
var getAllKeywordIds = createSelector(layerSelectStore, function (store) {
|
|
10749
|
+
var _a, _b;
|
|
10750
|
+
|
|
10751
|
+
return (_b = (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.keywords.allIds) !== null && _b !== void 0 ? _b : [];
|
|
10752
|
+
}, selectorMemoizationOptions);
|
|
10753
|
+
/**
|
|
10754
|
+
* Returns if all keywords are checked
|
|
10823
10755
|
*
|
|
10824
|
-
*
|
|
10825
|
-
*
|
|
10826
|
-
*
|
|
10827
|
-
|
|
10828
|
-
|
|
10756
|
+
* Example isAllKeywordsChecked(store);
|
|
10757
|
+
* @param {object} store store: object - store object
|
|
10758
|
+
* @returns {array} returnType: boolean if all keywords are checked
|
|
10759
|
+
*/
|
|
10760
|
+
|
|
10761
|
+
var isAllKeywordsChecked = createSelector(layerSelectStore, function (store) {
|
|
10762
|
+
var _a, _b;
|
|
10763
|
+
|
|
10764
|
+
return (_b = (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.keywords) === null || _b === void 0 ? void 0 : _b.allIds.every(function (keyword) {
|
|
10765
|
+
var _a, _b;
|
|
10766
|
+
|
|
10767
|
+
return (_b = (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.keywords) === null || _b === void 0 ? void 0 : _b.byId[keyword].checked;
|
|
10768
|
+
});
|
|
10769
|
+
});
|
|
10770
|
+
/**
|
|
10771
|
+
* Gets a KeywordObject by its id
|
|
10829
10772
|
*
|
|
10830
|
-
*
|
|
10831
|
-
*
|
|
10832
|
-
*
|
|
10833
|
-
|
|
10773
|
+
* Example: keywordObject = getKeywordObjectById(store, 'keywordId')
|
|
10774
|
+
* @param {object} store object from which the keyword state will be extracted
|
|
10775
|
+
* @param {string} keywordId Id of the keyword
|
|
10776
|
+
* @returns {object} object containing keyword information (id, amount, amountVisible, checked)
|
|
10777
|
+
*/
|
|
10778
|
+
|
|
10779
|
+
var getKeywordObjectById = function getKeywordObjectById(store, keywordId) {
|
|
10780
|
+
var _a, _b, _c, _d;
|
|
10781
|
+
|
|
10782
|
+
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 : {};
|
|
10783
|
+
};
|
|
10784
|
+
|
|
10785
|
+
var style$1 = {
|
|
10834
10786
|
dialogTitle: {
|
|
10835
10787
|
display: 'flex',
|
|
10836
10788
|
justifyContent: 'space-between',
|
|
@@ -10886,63 +10838,340 @@ var ServicePopup = function ServicePopup(_ref) {
|
|
|
10886
10838
|
hideBackdrop = _ref$hideBackdrop === void 0 ? false : _ref$hideBackdrop,
|
|
10887
10839
|
isOpen = _ref.isOpen,
|
|
10888
10840
|
closePopup = _ref.closePopup,
|
|
10889
|
-
|
|
10890
|
-
|
|
10841
|
+
url = _ref.url,
|
|
10842
|
+
services = _ref.services,
|
|
10843
|
+
serviceSetLayers = _ref.serviceSetLayers;
|
|
10844
|
+
|
|
10845
|
+
var _a, _b;
|
|
10846
|
+
|
|
10847
|
+
var _React$useState = React.useState(servicePopupVariant !== 'edit' || services === undefined ? '' : (_a = services[url]) === null || _a === void 0 ? void 0 : _a.name),
|
|
10848
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
10849
|
+
serviceName = _React$useState2[0],
|
|
10850
|
+
setServiceName = _React$useState2[1];
|
|
10851
|
+
|
|
10852
|
+
var _React$useState3 = React.useState(servicePopupVariant === 'add' || url === undefined ? '' : url),
|
|
10853
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
10854
|
+
serviceUrl = _React$useState4[0],
|
|
10855
|
+
setServiceUrl = _React$useState4[1];
|
|
10856
|
+
|
|
10857
|
+
var _React$useState5 = React.useState(servicePopupVariant !== 'edit' || services === undefined ? '' : (_b = services[url]) === null || _b === void 0 ? void 0 : _b["abstract"]),
|
|
10858
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
10859
|
+
_abstract = _React$useState6[0],
|
|
10860
|
+
setAbstract = _React$useState6[1];
|
|
10861
|
+
|
|
10862
|
+
var _React$useState7 = React.useState(false),
|
|
10863
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
10864
|
+
disableButton = _React$useState8[0],
|
|
10865
|
+
setDisableButton = _React$useState8[1];
|
|
10866
|
+
|
|
10867
|
+
var _React$useState9 = React.useState(false),
|
|
10868
|
+
_React$useState10 = _slicedToArray(_React$useState9, 2),
|
|
10869
|
+
isLoading = _React$useState10[0],
|
|
10870
|
+
setIsLoading = _React$useState10[1];
|
|
10871
|
+
|
|
10872
|
+
var _React$useState11 = React.useState(false),
|
|
10873
|
+
_React$useState12 = _slicedToArray(_React$useState11, 2),
|
|
10874
|
+
serviceNameHasError = _React$useState12[0],
|
|
10875
|
+
setServiceNameHasError = _React$useState12[1];
|
|
10876
|
+
|
|
10877
|
+
var _React$useState13 = React.useState(''),
|
|
10878
|
+
_React$useState14 = _slicedToArray(_React$useState13, 2),
|
|
10879
|
+
serviceNameHelperText = _React$useState14[0],
|
|
10880
|
+
setServiceNameHelperText = _React$useState14[1];
|
|
10881
|
+
|
|
10882
|
+
var _React$useState15 = React.useState(false),
|
|
10883
|
+
_React$useState16 = _slicedToArray(_React$useState15, 2),
|
|
10884
|
+
serviceUrlHasError = _React$useState16[0],
|
|
10885
|
+
setServiceUrlHasError = _React$useState16[1];
|
|
10886
|
+
|
|
10887
|
+
var _React$useState17 = React.useState(''),
|
|
10888
|
+
_React$useState18 = _slicedToArray(_React$useState17, 2),
|
|
10889
|
+
serviceUrlHelperText = _React$useState18[0],
|
|
10890
|
+
setServiceUrlHelperText = _React$useState18[1];
|
|
10891
|
+
|
|
10892
|
+
var validateServiceUrl = function validateServiceUrl(url) {
|
|
10893
|
+
if (url === '' || url === null || typeof url === 'undefined') return false;
|
|
10894
|
+
var matcher = /^(?:\w+:)?\/\/([^\s.]+\.\S{2}|[0-9a-zA-Z]+[:?\d]*)\S*$/;
|
|
10895
|
+
if (!matcher.test(url)) return false;
|
|
10896
|
+
return true;
|
|
10897
|
+
};
|
|
10898
|
+
|
|
10899
|
+
var addNewService = function addNewService() {
|
|
10900
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
10901
|
+
var layers, serviceLayers, _iterator, _step, object;
|
|
10902
|
+
|
|
10903
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
10904
|
+
while (1) {
|
|
10905
|
+
switch (_context.prev = _context.next) {
|
|
10906
|
+
case 0:
|
|
10907
|
+
setServiceUrlHasError(false);
|
|
10908
|
+
|
|
10909
|
+
if (!validateServiceUrl(serviceUrl)) {
|
|
10910
|
+
_context.next = 15;
|
|
10911
|
+
break;
|
|
10912
|
+
}
|
|
10913
|
+
|
|
10914
|
+
setIsLoading(true);
|
|
10915
|
+
_context.prev = 3;
|
|
10916
|
+
_context.next = 6;
|
|
10917
|
+
return getLayersFromService(serviceUrl);
|
|
10918
|
+
|
|
10919
|
+
case 6:
|
|
10920
|
+
layers = _context.sent;
|
|
10921
|
+
|
|
10922
|
+
if (layers.children) {
|
|
10923
|
+
serviceLayers = [];
|
|
10924
|
+
_iterator = _createForOfIteratorHelper(layers.children);
|
|
10925
|
+
|
|
10926
|
+
try {
|
|
10927
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
10928
|
+
object = _step.value;
|
|
10929
|
+
serviceLayers.push({
|
|
10930
|
+
name: object.name,
|
|
10931
|
+
text: object.title,
|
|
10932
|
+
leaf: object.leaf,
|
|
10933
|
+
path: object.path,
|
|
10934
|
+
keywords: object.keywords ? object.keywords : [],
|
|
10935
|
+
"abstract": object["abstract"] ? object["abstract"] : '',
|
|
10936
|
+
styles: object.styles ? object.styles : []
|
|
10937
|
+
});
|
|
10938
|
+
}
|
|
10939
|
+
} catch (err) {
|
|
10940
|
+
_iterator.e(err);
|
|
10941
|
+
} finally {
|
|
10942
|
+
_iterator.f();
|
|
10943
|
+
}
|
|
10944
|
+
|
|
10945
|
+
serviceSetLayers({
|
|
10946
|
+
id: serviceUrl,
|
|
10947
|
+
name: serviceName,
|
|
10948
|
+
service: serviceUrl,
|
|
10949
|
+
layers: serviceLayers
|
|
10950
|
+
});
|
|
10951
|
+
setIsLoading(false);
|
|
10952
|
+
closePopupAndResetState();
|
|
10953
|
+
}
|
|
10954
|
+
|
|
10955
|
+
_context.next = 15;
|
|
10956
|
+
break;
|
|
10957
|
+
|
|
10958
|
+
case 10:
|
|
10959
|
+
_context.prev = 10;
|
|
10960
|
+
_context.t0 = _context["catch"](3);
|
|
10961
|
+
setIsLoading(false);
|
|
10962
|
+
setServiceUrlHasError(true);
|
|
10963
|
+
setServiceUrlHelperText('Error: Download failed. Check the URL.');
|
|
10964
|
+
|
|
10965
|
+
case 15:
|
|
10966
|
+
case "end":
|
|
10967
|
+
return _context.stop();
|
|
10968
|
+
}
|
|
10969
|
+
}
|
|
10970
|
+
}, _callee, null, [[3, 10]]);
|
|
10971
|
+
}));
|
|
10972
|
+
};
|
|
10973
|
+
|
|
10974
|
+
var ServiceNameInRedux = function ServiceNameInRedux() {
|
|
10975
|
+
if (servicePopupVariant === 'add' || servicePopupVariant === 'save') {
|
|
10976
|
+
for (var service in services) {
|
|
10977
|
+
if (services && services[service].name.toLowerCase() === serviceName.toLowerCase()) return true;
|
|
10978
|
+
}
|
|
10979
|
+
|
|
10980
|
+
return false;
|
|
10981
|
+
}
|
|
10982
|
+
|
|
10983
|
+
return false;
|
|
10984
|
+
};
|
|
10985
|
+
|
|
10986
|
+
var UrlInRedux = function UrlInRedux() {
|
|
10987
|
+
if (servicePopupVariant === 'add' || servicePopupVariant === 'save') {
|
|
10988
|
+
if (services && services[serviceUrl]) {
|
|
10989
|
+
return true;
|
|
10990
|
+
}
|
|
10991
|
+
|
|
10992
|
+
return false;
|
|
10993
|
+
}
|
|
10994
|
+
|
|
10995
|
+
return false;
|
|
10996
|
+
}; // Check serviceName
|
|
10997
|
+
|
|
10998
|
+
|
|
10999
|
+
React.useEffect(function () {
|
|
11000
|
+
setServiceNameHelperText('');
|
|
11001
|
+
|
|
11002
|
+
if (ServiceNameInRedux()) {
|
|
11003
|
+
setServiceNameHasError(true);
|
|
11004
|
+
setServiceNameHelperText('Error: This name already exists. Choose another name.');
|
|
11005
|
+
} else {
|
|
11006
|
+
setServiceNameHasError(false);
|
|
11007
|
+
setServiceNameHelperText('');
|
|
11008
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
11009
|
+
|
|
11010
|
+
}, [serviceName]); // Check Url
|
|
11011
|
+
|
|
11012
|
+
React.useEffect(function () {
|
|
11013
|
+
setServiceUrlHelperText('');
|
|
11014
|
+
|
|
11015
|
+
if (serviceUrl.length > 0 && !validateServiceUrl(serviceUrl)) {
|
|
11016
|
+
setServiceUrlHasError(true);
|
|
11017
|
+
setServiceUrlHelperText('Error: Not a valid URL.');
|
|
11018
|
+
} else if (UrlInRedux()) {
|
|
11019
|
+
setServiceUrlHasError(true);
|
|
11020
|
+
setServiceUrlHelperText('Error: URL already exists.');
|
|
11021
|
+
} else {
|
|
11022
|
+
setServiceUrlHasError(false);
|
|
11023
|
+
setServiceNameHelperText('');
|
|
11024
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
11025
|
+
|
|
11026
|
+
}, [serviceUrl]); // Check if all fields are valid
|
|
11027
|
+
|
|
11028
|
+
React.useEffect(function () {
|
|
11029
|
+
if (!serviceNameHasError && !serviceUrlHasError && validateServiceUrl(serviceUrl) && serviceName.length > 0) {
|
|
11030
|
+
setDisableButton(false);
|
|
11031
|
+
} else setDisableButton(true);
|
|
11032
|
+
}, [serviceNameHasError, serviceUrlHasError, serviceName, serviceUrl]);
|
|
11033
|
+
|
|
11034
|
+
var closePopupAndResetState = function closePopupAndResetState() {
|
|
11035
|
+
setServiceName('');
|
|
11036
|
+
setServiceUrl('');
|
|
11037
|
+
setAbstract('');
|
|
11038
|
+
closePopup();
|
|
11039
|
+
};
|
|
11040
|
+
|
|
10891
11041
|
return /*#__PURE__*/React.createElement(Dialog, {
|
|
10892
11042
|
open: isOpen,
|
|
10893
11043
|
hideBackdrop: hideBackdrop,
|
|
10894
11044
|
fullWidth: true,
|
|
10895
11045
|
maxWidth: "xs",
|
|
10896
|
-
|
|
11046
|
+
"data-testid": "servicePopup",
|
|
11047
|
+
sx: style$1.container
|
|
10897
11048
|
}, /*#__PURE__*/React.createElement(DialogTitle, {
|
|
10898
|
-
sx: style.dialogTitle
|
|
11049
|
+
sx: style$1.dialogTitle
|
|
10899
11050
|
}, /*#__PURE__*/React.createElement(Typography, {
|
|
10900
11051
|
variant: "h5",
|
|
10901
11052
|
component: "span"
|
|
10902
11053
|
}, getTitleForVariant(servicePopupVariant)), /*#__PURE__*/React.createElement(IconButton, {
|
|
10903
11054
|
size: "small",
|
|
10904
|
-
onClick:
|
|
10905
|
-
"data-testid": "
|
|
10906
|
-
sx: style.closeBtn
|
|
11055
|
+
onClick: closePopupAndResetState,
|
|
11056
|
+
"data-testid": "closePopupButtonCross",
|
|
11057
|
+
sx: style$1.closeBtn
|
|
10907
11058
|
}, /*#__PURE__*/React.createElement(Close, null))), /*#__PURE__*/React.createElement(DialogContent, {
|
|
10908
|
-
sx: style.dialogContent
|
|
11059
|
+
sx: style$1.dialogContent
|
|
10909
11060
|
}, /*#__PURE__*/React.createElement(TextField, {
|
|
10910
|
-
sx: style.textField,
|
|
11061
|
+
sx: style$1.textField,
|
|
10911
11062
|
variant: "filled",
|
|
10912
|
-
label: "Service name"
|
|
11063
|
+
label: "Service name",
|
|
11064
|
+
onChange: function onChange(event) {
|
|
11065
|
+
return setServiceName(event.target.value);
|
|
11066
|
+
},
|
|
11067
|
+
value: serviceName,
|
|
11068
|
+
inputProps: {
|
|
11069
|
+
'data-testid': 'serviceNameTextField'
|
|
11070
|
+
},
|
|
11071
|
+
error: serviceNameHasError,
|
|
11072
|
+
helperText: serviceNameHelperText
|
|
10913
11073
|
})), /*#__PURE__*/React.createElement(DialogContent, {
|
|
10914
|
-
sx: style.dialogContent
|
|
11074
|
+
sx: style$1.dialogContent
|
|
10915
11075
|
}, /*#__PURE__*/React.createElement(TextField, {
|
|
10916
|
-
sx: style.textField,
|
|
11076
|
+
sx: style$1.textField,
|
|
10917
11077
|
variant: "filled",
|
|
10918
11078
|
label: "Service URL",
|
|
10919
|
-
|
|
10920
|
-
|
|
11079
|
+
onChange: function onChange(event) {
|
|
11080
|
+
return setServiceUrl(event.target.value);
|
|
11081
|
+
},
|
|
11082
|
+
value: serviceUrl,
|
|
11083
|
+
id: "service-url",
|
|
11084
|
+
inputProps: {
|
|
11085
|
+
'data-testid': 'serviceUrlTextField'
|
|
11086
|
+
},
|
|
11087
|
+
error: serviceUrlHasError,
|
|
11088
|
+
helperText: serviceUrlHelperText
|
|
10921
11089
|
})), /*#__PURE__*/React.createElement(DialogContent, {
|
|
10922
|
-
sx: style.dialogContent
|
|
11090
|
+
sx: style$1.dialogContent
|
|
10923
11091
|
}, /*#__PURE__*/React.createElement(TextField, {
|
|
10924
|
-
sx: style.textField,
|
|
11092
|
+
sx: style$1.textField,
|
|
10925
11093
|
variant: "filled",
|
|
10926
11094
|
multiline: true,
|
|
10927
11095
|
rows: 4,
|
|
10928
11096
|
label: "Abstracts",
|
|
10929
|
-
helperText: "Short description of what this service does"
|
|
11097
|
+
helperText: "Short description of what this service does",
|
|
11098
|
+
onChange: function onChange(event) {
|
|
11099
|
+
return setAbstract(event.target.value);
|
|
11100
|
+
},
|
|
11101
|
+
value: _abstract,
|
|
11102
|
+
"data-testid": "abstractTextField"
|
|
10930
11103
|
})), /*#__PURE__*/React.createElement(DialogActions, {
|
|
10931
|
-
sx: style.footerContent
|
|
11104
|
+
sx: style$1.footerContent
|
|
10932
11105
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
11106
|
+
onClick: closePopupAndResetState,
|
|
11107
|
+
"data-testid": "closePopupButtonCancel",
|
|
10933
11108
|
variant: "tertiary",
|
|
10934
|
-
onClick: closePopup,
|
|
10935
|
-
"data-testid": "ClosePopupButtonCancel",
|
|
10936
11109
|
sx: {
|
|
10937
11110
|
width: '117px'
|
|
10938
11111
|
}
|
|
10939
|
-
}, "cancel"), /*#__PURE__*/React.createElement(Button, {
|
|
11112
|
+
}, "cancel"), !isLoading ? /*#__PURE__*/React.createElement(Button, {
|
|
11113
|
+
variant: "primary",
|
|
11114
|
+
disabled: disableButton,
|
|
11115
|
+
onClick: addNewService,
|
|
11116
|
+
"data-testid": "saveServiceButton",
|
|
10940
11117
|
sx: {
|
|
10941
11118
|
width: '117px',
|
|
10942
11119
|
marginLeft: '16px!important'
|
|
10943
|
-
}
|
|
10944
|
-
|
|
10945
|
-
|
|
11120
|
+
}
|
|
11121
|
+
}, "save") : /*#__PURE__*/React.createElement(Box, {
|
|
11122
|
+
"data-testid": "loadingIndicator",
|
|
11123
|
+
sx: {
|
|
11124
|
+
width: '117px',
|
|
11125
|
+
height: '40px',
|
|
11126
|
+
display: 'flex',
|
|
11127
|
+
justifyContent: 'center',
|
|
11128
|
+
alignItems: 'center',
|
|
11129
|
+
marginLeft: '16px!important'
|
|
11130
|
+
}
|
|
11131
|
+
}, /*#__PURE__*/React.createElement(CircularProgress, {
|
|
11132
|
+
size: 35
|
|
11133
|
+
}))));
|
|
11134
|
+
};
|
|
11135
|
+
|
|
11136
|
+
/* *
|
|
11137
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11138
|
+
* you may not use this file except in compliance with the License.
|
|
11139
|
+
* You may obtain a copy of the License at
|
|
11140
|
+
*
|
|
11141
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11142
|
+
*
|
|
11143
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11144
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11145
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11146
|
+
* See the License for the specific language governing permissions and
|
|
11147
|
+
* limitations under the License.
|
|
11148
|
+
*
|
|
11149
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
11150
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
11151
|
+
* */
|
|
11152
|
+
|
|
11153
|
+
var ServicePopupConnect = function ServicePopupConnect(_ref) {
|
|
11154
|
+
var servicePopupVariant = _ref.servicePopupVariant,
|
|
11155
|
+
hideBackdrop = _ref.hideBackdrop,
|
|
11156
|
+
isOpen = _ref.isOpen,
|
|
11157
|
+
closePopup = _ref.closePopup,
|
|
11158
|
+
url = _ref.url;
|
|
11159
|
+
var dispatch = useDispatch();
|
|
11160
|
+
var services = useSelector(function (store) {
|
|
11161
|
+
return getServices(store);
|
|
11162
|
+
});
|
|
11163
|
+
var serviceSetLayers$1 = React__default.useCallback(function (payload) {
|
|
11164
|
+
dispatch(serviceSetLayers(payload));
|
|
11165
|
+
}, [dispatch]);
|
|
11166
|
+
return /*#__PURE__*/React__default.createElement(ServicePopup, {
|
|
11167
|
+
servicePopupVariant: servicePopupVariant,
|
|
11168
|
+
hideBackdrop: hideBackdrop,
|
|
11169
|
+
isOpen: isOpen,
|
|
11170
|
+
closePopup: closePopup,
|
|
11171
|
+
url: url,
|
|
11172
|
+
services: services,
|
|
11173
|
+
serviceSetLayers: serviceSetLayers$1
|
|
11174
|
+
});
|
|
10946
11175
|
};
|
|
10947
11176
|
|
|
10948
11177
|
var isURL = function isURL(string) {
|
|
@@ -10952,11 +11181,6 @@ var useStyles$q = makeStyles(function (theme) {
|
|
|
10952
11181
|
return {
|
|
10953
11182
|
iconButton: {
|
|
10954
11183
|
color: theme.palette.geowebColors.typographyAndIcons.buttonIconTertiaryFlat
|
|
10955
|
-
},
|
|
10956
|
-
saveButton: {
|
|
10957
|
-
color: theme.palette.geowebColors.typographyAndIcons.buttonIconTertiaryFlat,
|
|
10958
|
-
textTransform: 'none',
|
|
10959
|
-
border: "1px solid ".concat(theme.palette.geowebColors.typographyAndIcons.buttonIconTertiaryFlat)
|
|
10960
11184
|
}
|
|
10961
11185
|
};
|
|
10962
11186
|
});
|
|
@@ -10993,6 +11217,12 @@ var SearchFieldButtonContainer = function SearchFieldButtonContainer(_ref) {
|
|
|
10993
11217
|
setPopupOpen = _React$useState2[1];
|
|
10994
11218
|
|
|
10995
11219
|
var classes = useStyles$q();
|
|
11220
|
+
React__default.useEffect(function () {
|
|
11221
|
+
if (isPopupOpen === false) {
|
|
11222
|
+
onClickClear();
|
|
11223
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
11224
|
+
|
|
11225
|
+
}, [isPopupOpen]);
|
|
10996
11226
|
var ClearButton = /*#__PURE__*/React__default.createElement(Tooltip, {
|
|
10997
11227
|
title: "Clear",
|
|
10998
11228
|
placement: "top"
|
|
@@ -11009,12 +11239,11 @@ var SearchFieldButtonContainer = function SearchFieldButtonContainer(_ref) {
|
|
|
11009
11239
|
marginRight: '15px'
|
|
11010
11240
|
}
|
|
11011
11241
|
}, ClearButton), /*#__PURE__*/React__default.createElement(Button, {
|
|
11012
|
-
variant: "
|
|
11242
|
+
variant: "tertiary",
|
|
11013
11243
|
onClick: function onClick() {
|
|
11014
11244
|
return setPopupOpen(true);
|
|
11015
|
-
}
|
|
11016
|
-
|
|
11017
|
-
}, "Save"), /*#__PURE__*/React__default.createElement(ServicePopup, {
|
|
11245
|
+
}
|
|
11246
|
+
}, "Save"), /*#__PURE__*/React__default.createElement(ServicePopupConnect, {
|
|
11018
11247
|
servicePopupVariant: "save",
|
|
11019
11248
|
isOpen: isPopupOpen,
|
|
11020
11249
|
closePopup: function closePopup() {
|
|
@@ -11126,17 +11355,7 @@ var SearchFieldConnect = function SearchFieldConnect() {
|
|
|
11126
11355
|
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
11127
11356
|
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
11128
11357
|
* */
|
|
11129
|
-
var filterLayersFromService = function filterLayersFromService(serviceId, services,
|
|
11130
|
-
var activeKeywords = keywords.filter(function (keyword) {
|
|
11131
|
-
return keyword.checked;
|
|
11132
|
-
});
|
|
11133
|
-
var keywordList = activeKeywords.map(function (keyword) {
|
|
11134
|
-
return keyword.id;
|
|
11135
|
-
});
|
|
11136
|
-
var allKeywordsActive = keywords.every(function (keyword) {
|
|
11137
|
-
return keyword.checked;
|
|
11138
|
-
});
|
|
11139
|
-
|
|
11358
|
+
var filterLayersFromService = function filterLayersFromService(serviceId, services, keywordIds, allKeywordsActive, searchString) {
|
|
11140
11359
|
if (searchString === '' && allKeywordsActive) {
|
|
11141
11360
|
return services[serviceId].layers.filter(function (layer) {
|
|
11142
11361
|
return layer.leaf;
|
|
@@ -11148,11 +11367,9 @@ var filterLayersFromService = function filterLayersFromService(serviceId, servic
|
|
|
11148
11367
|
return searchStringArray.every(function (search) {
|
|
11149
11368
|
var layerPathAndKeywords = layer.path.concat(layer.keywords);
|
|
11150
11369
|
return (!!layerPathAndKeywords && !layerPathAndKeywords.every(function (keyword) {
|
|
11151
|
-
return !
|
|
11370
|
+
return !keywordIds.includes(keyword);
|
|
11152
11371
|
}) || allKeywordsActive) && (!!layer.name && layer.name.toLowerCase().includes(search.toLowerCase()) || !!layer.text && layer.text.toLowerCase().includes(search.toLowerCase()) || !!layer["abstract"] && layer["abstract"].toLowerCase().includes(search.toLowerCase()) || !!layerPathAndKeywords && !layerPathAndKeywords.every(function (keyword) {
|
|
11153
11372
|
return !keyword.toLowerCase().includes(search.toLowerCase());
|
|
11154
|
-
}) || !!layer.path && !layer.path.every(function (group) {
|
|
11155
|
-
return !group.toLowerCase().includes(search.toLowerCase());
|
|
11156
11373
|
}) || services[serviceId].name.toLowerCase().includes(search.toLowerCase()));
|
|
11157
11374
|
});
|
|
11158
11375
|
}).filter(function (layer) {
|
|
@@ -11208,7 +11425,8 @@ var LayerList = function LayerList(_ref) {
|
|
|
11208
11425
|
serviceIds = _ref.serviceIds,
|
|
11209
11426
|
layerSelectHeight = _ref.layerSelectHeight,
|
|
11210
11427
|
searchString = _ref.searchString,
|
|
11211
|
-
|
|
11428
|
+
keywordIds = _ref.keywordIds,
|
|
11429
|
+
allKeywordsActive = _ref.allKeywordsActive;
|
|
11212
11430
|
var classes = useStyles$p();
|
|
11213
11431
|
|
|
11214
11432
|
var _React$useState = React.useState(0),
|
|
@@ -11218,9 +11436,9 @@ var LayerList = function LayerList(_ref) {
|
|
|
11218
11436
|
|
|
11219
11437
|
React.useEffect(function () {
|
|
11220
11438
|
setNumberOfLayers(serviceIds.reduce(function (totalNumberOfLayers, serviceId) {
|
|
11221
|
-
return totalNumberOfLayers + filterLayersFromService(serviceId, services,
|
|
11439
|
+
return totalNumberOfLayers + filterLayersFromService(serviceId, services, keywordIds, allKeywordsActive, searchString).length;
|
|
11222
11440
|
}, 0));
|
|
11223
|
-
}, [serviceIds,
|
|
11441
|
+
}, [serviceIds, keywordIds, services, searchString, allKeywordsActive]);
|
|
11224
11442
|
return /*#__PURE__*/React.createElement("div", {
|
|
11225
11443
|
"data-testid": "layerList"
|
|
11226
11444
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -11231,7 +11449,7 @@ var LayerList = function LayerList(_ref) {
|
|
|
11231
11449
|
overflow: 'auto'
|
|
11232
11450
|
}
|
|
11233
11451
|
}, serviceIds.map(function (serviceId) {
|
|
11234
|
-
return filterLayersFromService(serviceId, services,
|
|
11452
|
+
return filterLayersFromService(serviceId, services, keywordIds, allKeywordsActive, searchString).map(function (layer) {
|
|
11235
11453
|
return /*#__PURE__*/React.createElement("div", {
|
|
11236
11454
|
key: "".concat(serviceId, "-").concat(layer.name),
|
|
11237
11455
|
className: classes.layerRow,
|
|
@@ -11275,8 +11493,11 @@ var LayerListConnect = function LayerListConnect(_ref) {
|
|
|
11275
11493
|
var enabledServiceIds = useSelector(function (store) {
|
|
11276
11494
|
return getEnabledServiceIds(store);
|
|
11277
11495
|
});
|
|
11278
|
-
var
|
|
11279
|
-
return
|
|
11496
|
+
var checkedKeywordIds = useSelector(function (store) {
|
|
11497
|
+
return getCheckedKeywordIds(store);
|
|
11498
|
+
});
|
|
11499
|
+
var allKeywordsActive = useSelector(function (store) {
|
|
11500
|
+
return isAllKeywordsChecked(store);
|
|
11280
11501
|
});
|
|
11281
11502
|
var searchString = useSelector(function (store) {
|
|
11282
11503
|
return getSearchFilter(store);
|
|
@@ -11285,7 +11506,8 @@ var LayerListConnect = function LayerListConnect(_ref) {
|
|
|
11285
11506
|
services: services,
|
|
11286
11507
|
serviceIds: enabledServiceIds,
|
|
11287
11508
|
layerSelectHeight: layerSelectHeight,
|
|
11288
|
-
|
|
11509
|
+
keywordIds: checkedKeywordIds,
|
|
11510
|
+
allKeywordsActive: allKeywordsActive,
|
|
11289
11511
|
searchString: searchString
|
|
11290
11512
|
});
|
|
11291
11513
|
};
|
|
@@ -11306,62 +11528,34 @@ var LayerListConnect = function LayerListConnect(_ref) {
|
|
|
11306
11528
|
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
11307
11529
|
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
11308
11530
|
* */
|
|
11309
|
-
var
|
|
11310
|
-
|
|
11311
|
-
|
|
11312
|
-
|
|
11313
|
-
|
|
11314
|
-
|
|
11315
|
-
|
|
11316
|
-
|
|
11317
|
-
|
|
11318
|
-
return isEnabled ? "solid 1px ".concat(theme.palette.geowebColors.buttons.primaryActive.fill) : "solid 1px ".concat(theme.palette.geowebColors.typographyAndIcons.buttonIconTertiaryFlat);
|
|
11319
|
-
},
|
|
11320
|
-
backgroundColor: function backgroundColor(_ref2) {
|
|
11321
|
-
var isEnabled = _ref2.isEnabled;
|
|
11322
|
-
return isEnabled ? theme.palette.geowebColors.buttons.primaryActive.fill : theme.palette.geowebColors.buttons.surfaceIconDefault.fill;
|
|
11323
|
-
},
|
|
11324
|
-
color: function color(_ref3) {
|
|
11325
|
-
var isEnabled = _ref3.isEnabled;
|
|
11326
|
-
return isEnabled ? theme.palette.geowebColors.typographyAndIcons.buttonIcon : theme.palette.geowebColors.typographyAndIcons.buttonIconTertiaryFlat;
|
|
11327
|
-
},
|
|
11328
|
-
"float": 'left',
|
|
11329
|
-
whiteSpace: 'nowrap',
|
|
11330
|
-
'&:hover': {
|
|
11331
|
-
backgroundColor: function backgroundColor(_ref4) {
|
|
11332
|
-
var isEnabled = _ref4.isEnabled;
|
|
11333
|
-
return isEnabled ? theme.palette.geowebColors.buttons.primaryMouseover.fill : theme.palette.geowebColors.buttons.flatMouseover.fill;
|
|
11334
|
-
},
|
|
11335
|
-
border: function border(_ref5) {
|
|
11336
|
-
var isEnabled = _ref5.isEnabled;
|
|
11337
|
-
return isEnabled ? "solid 1px ".concat(theme.palette.geowebColors.buttons.primaryMouseover.fill) : "solid 1px ".concat(theme.palette.geowebColors.typographyAndIcons.buttonIconTertiaryFlat);
|
|
11338
|
-
},
|
|
11339
|
-
cursor: 'pointer'
|
|
11340
|
-
}
|
|
11341
|
-
}
|
|
11342
|
-
});
|
|
11343
|
-
});
|
|
11531
|
+
var style = {
|
|
11532
|
+
borderRadius: '20px!important',
|
|
11533
|
+
marginRight: '8px',
|
|
11534
|
+
whiteSpace: 'nowrap',
|
|
11535
|
+
height: '32px!important',
|
|
11536
|
+
padding: '5px 12px!important',
|
|
11537
|
+
textTransform: 'none!important',
|
|
11538
|
+
fontWeight: 'normal'
|
|
11539
|
+
};
|
|
11344
11540
|
|
|
11345
|
-
var ServiceChip = function ServiceChip(
|
|
11346
|
-
var
|
|
11347
|
-
all =
|
|
11348
|
-
service =
|
|
11349
|
-
isEnabled =
|
|
11350
|
-
toggleChip =
|
|
11351
|
-
|
|
11352
|
-
|
|
11353
|
-
|
|
11354
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
11355
|
-
role: "button",
|
|
11541
|
+
var ServiceChip = function ServiceChip(_ref) {
|
|
11542
|
+
var _ref$all = _ref.all,
|
|
11543
|
+
all = _ref$all === void 0 ? false : _ref$all,
|
|
11544
|
+
service = _ref.service,
|
|
11545
|
+
isEnabled = _ref.isEnabled,
|
|
11546
|
+
toggleChip = _ref.toggleChip;
|
|
11547
|
+
return /*#__PURE__*/React.createElement(CustomToggleButton, {
|
|
11548
|
+
variant: "boxed",
|
|
11549
|
+
selected: isEnabled,
|
|
11356
11550
|
tabIndex: 0,
|
|
11357
|
-
className: classes.chip,
|
|
11358
11551
|
"data-testid": all ? 'serviceChipAll' : 'serviceChip',
|
|
11359
11552
|
onClick: function onClick() {
|
|
11360
11553
|
return toggleChip(all ? 'all' : service && service.service);
|
|
11361
11554
|
},
|
|
11362
11555
|
onKeyPress: function onKeyPress() {
|
|
11363
11556
|
return toggleChip(all ? 'all' : service && service.service);
|
|
11364
|
-
}
|
|
11557
|
+
},
|
|
11558
|
+
sx: style
|
|
11365
11559
|
}, service ? service.name : 'All');
|
|
11366
11560
|
};
|
|
11367
11561
|
|
|
@@ -11430,7 +11624,7 @@ var ServiceChipConnect = function ServiceChipConnect(_ref) {
|
|
|
11430
11624
|
});
|
|
11431
11625
|
};
|
|
11432
11626
|
|
|
11433
|
-
var useStyles$
|
|
11627
|
+
var useStyles$o = makeStyles(function (theme) {
|
|
11434
11628
|
return createStyles({
|
|
11435
11629
|
serviceChips: {
|
|
11436
11630
|
width: '100%',
|
|
@@ -11497,31 +11691,72 @@ var ServiceList = function ServiceList(_ref4) {
|
|
|
11497
11691
|
width = _React$useState4[0],
|
|
11498
11692
|
setWidth = _React$useState4[1];
|
|
11499
11693
|
|
|
11694
|
+
var _React$useState5 = React.useState(null),
|
|
11695
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
11696
|
+
intervalId = _React$useState6[0],
|
|
11697
|
+
setIntervalId = _React$useState6[1];
|
|
11698
|
+
|
|
11500
11699
|
var ref = React.useRef(null);
|
|
11700
|
+
var scrollSpeed = 5;
|
|
11501
11701
|
var maxWidthValue = ref && ref.current && ref.current.scrollWidth && ref.current.scrollWidth >= layerSelectWidth - margin && ref.current.scrollWidth || layerSelectWidth - 50;
|
|
11502
|
-
var classes = useStyles$
|
|
11702
|
+
var classes = useStyles$o({
|
|
11503
11703
|
margin: margin,
|
|
11504
11704
|
maxWidthValue: maxWidthValue
|
|
11505
11705
|
});
|
|
11506
|
-
|
|
11507
|
-
|
|
11508
|
-
|
|
11509
|
-
|
|
11510
|
-
setMargin(Math.min(width - layerSelectWidth
|
|
11511
|
-
}
|
|
11706
|
+
|
|
11707
|
+
var onMouseWheelScroll = function onMouseWheelScroll(e) {
|
|
11708
|
+
var delta = e.deltaY;
|
|
11709
|
+
var scrollSpeed = 0.1;
|
|
11710
|
+
if (delta > 0) setMargin(Math.min(Math.max(margin + scrollSpeed * delta, 0), width - layerSelectWidth));else setMargin(Math.min(Math.max(margin + scrollSpeed * delta, 0), width - layerSelectWidth));
|
|
11711
|
+
};
|
|
11712
|
+
|
|
11713
|
+
var onLeftChevronPressed = function onLeftChevronPressed() {
|
|
11714
|
+
setMargin(function (prevMargin) {
|
|
11715
|
+
return Math.max(prevMargin - scrollSpeed, 0);
|
|
11716
|
+
});
|
|
11717
|
+
setIntervalId(setInterval(function () {
|
|
11718
|
+
setMargin(function (prevMargin) {
|
|
11719
|
+
return Math.max(prevMargin - scrollSpeed, 0);
|
|
11720
|
+
});
|
|
11721
|
+
}, 20));
|
|
11722
|
+
};
|
|
11723
|
+
|
|
11724
|
+
var onRightChevronPressed = React.useCallback(function () {
|
|
11725
|
+
setMargin(function (prevMargin) {
|
|
11726
|
+
return Math.min(prevMargin + scrollSpeed, width - layerSelectWidth);
|
|
11727
|
+
});
|
|
11728
|
+
setIntervalId(setInterval(function () {
|
|
11729
|
+
setMargin(function (prevMargin) {
|
|
11730
|
+
return Math.min(prevMargin + scrollSpeed, width - layerSelectWidth);
|
|
11731
|
+
});
|
|
11732
|
+
}, 20));
|
|
11733
|
+
}, [width, layerSelectWidth]);
|
|
11734
|
+
|
|
11735
|
+
var onChevronMouseUp = function onChevronMouseUp() {
|
|
11736
|
+
clearInterval(intervalId);
|
|
11737
|
+
setIntervalId(null);
|
|
11738
|
+
};
|
|
11739
|
+
|
|
11512
11740
|
React.useEffect(function () {
|
|
11513
11741
|
setWidth(ref.current.scrollWidth + 50);
|
|
11514
11742
|
setMargin(Math.max(0, Math.min(width - layerSelectWidth, margin)));
|
|
11515
|
-
|
|
11743
|
+
|
|
11744
|
+
if ((margin === 0 || layerSelectWidth + margin === width) && intervalId != null) {
|
|
11745
|
+
clearInterval(intervalId);
|
|
11746
|
+
setIntervalId(null);
|
|
11747
|
+
}
|
|
11748
|
+
}, [services, layerSelectWidth, width, margin, intervalId]);
|
|
11516
11749
|
var isAllEnabled = Object.values(activeServices).every(function (activeService) {
|
|
11517
11750
|
return activeService.enabled;
|
|
11518
11751
|
});
|
|
11519
11752
|
return /*#__PURE__*/React.createElement("div", {
|
|
11520
11753
|
className: classes.serviceList,
|
|
11521
|
-
"data-testid": "serviceList"
|
|
11754
|
+
"data-testid": "serviceList",
|
|
11755
|
+
onWheel: onMouseWheelScroll
|
|
11522
11756
|
}, margin !== 0 && /*#__PURE__*/React.createElement(ChevronLeft, {
|
|
11523
11757
|
className: classes.scrollArrowLeft,
|
|
11524
|
-
|
|
11758
|
+
onMouseDown: onLeftChevronPressed,
|
|
11759
|
+
onMouseUp: onChevronMouseUp,
|
|
11525
11760
|
"data-testid": "leftScrollArrow"
|
|
11526
11761
|
}), /*#__PURE__*/React.createElement("div", {
|
|
11527
11762
|
className: classes.serviceChips,
|
|
@@ -11540,7 +11775,8 @@ var ServiceList = function ServiceList(_ref4) {
|
|
|
11540
11775
|
});
|
|
11541
11776
|
})), layerSelectWidth + margin < width && /*#__PURE__*/React.createElement(ChevronRight, {
|
|
11542
11777
|
className: classes.scrollArrowRight,
|
|
11543
|
-
|
|
11778
|
+
onMouseDown: onRightChevronPressed,
|
|
11779
|
+
onMouseUp: onChevronMouseUp,
|
|
11544
11780
|
"data-testid": "rightScrollArrow"
|
|
11545
11781
|
}));
|
|
11546
11782
|
};
|
|
@@ -11577,11 +11813,190 @@ var ServiceListConnect = function ServiceListConnect(_ref) {
|
|
|
11577
11813
|
});
|
|
11578
11814
|
};
|
|
11579
11815
|
|
|
11580
|
-
var useStyles$
|
|
11816
|
+
var useStyles$n = makeStyles(function (theme) {
|
|
11581
11817
|
return createStyles({
|
|
11582
11818
|
servicesContainer: {
|
|
11583
11819
|
width: '300px',
|
|
11584
|
-
|
|
11820
|
+
maxHeight: '380px',
|
|
11821
|
+
top: '140px',
|
|
11822
|
+
backgroundColor: theme.palette.geowebColors.background.surface,
|
|
11823
|
+
boxShadow: theme.shadows[6],
|
|
11824
|
+
overflow: 'auto'
|
|
11825
|
+
},
|
|
11826
|
+
header: {
|
|
11827
|
+
position: 'sticky',
|
|
11828
|
+
top: 0,
|
|
11829
|
+
fontSize: theme.typography.fontSize,
|
|
11830
|
+
padding: '12px',
|
|
11831
|
+
backgroundColor: theme.palette.geowebColors.background.surface,
|
|
11832
|
+
zIndex: 100
|
|
11833
|
+
},
|
|
11834
|
+
footer: {
|
|
11835
|
+
display: 'flex',
|
|
11836
|
+
justifyContent: 'center',
|
|
11837
|
+
alignItems: 'center',
|
|
11838
|
+
position: 'sticky',
|
|
11839
|
+
bottom: 0,
|
|
11840
|
+
backgroundColor: theme.palette.geowebColors.background.surface,
|
|
11841
|
+
zIndex: 100
|
|
11842
|
+
},
|
|
11843
|
+
iconFill: {
|
|
11844
|
+
color: theme.palette.geowebColors.typographyAndIcons.icon
|
|
11845
|
+
},
|
|
11846
|
+
button: {
|
|
11847
|
+
margin: '16px',
|
|
11848
|
+
width: '80%',
|
|
11849
|
+
fontSize: '12px',
|
|
11850
|
+
textTransform: 'none'
|
|
11851
|
+
},
|
|
11852
|
+
text: {
|
|
11853
|
+
paddingTop: '3px',
|
|
11854
|
+
fontSize: '12px',
|
|
11855
|
+
fontFamily: theme.typography.fontFamily,
|
|
11856
|
+
fontWeight: theme.typography.fontWeightRegular,
|
|
11857
|
+
textTransform: 'none',
|
|
11858
|
+
color: '#575f7a'
|
|
11859
|
+
},
|
|
11860
|
+
icon: {
|
|
11861
|
+
width: '24px',
|
|
11862
|
+
height: '24px'
|
|
11863
|
+
}
|
|
11864
|
+
});
|
|
11865
|
+
});
|
|
11866
|
+
|
|
11867
|
+
var ServiceOptionsDialog = function ServiceOptionsDialog(_ref) {
|
|
11868
|
+
var services = _ref.services,
|
|
11869
|
+
mapStoreRemoveService = _ref.mapStoreRemoveService,
|
|
11870
|
+
_ref$layers = _ref.layers,
|
|
11871
|
+
layers = _ref$layers === void 0 ? [] : _ref$layers;
|
|
11872
|
+
var classes = useStyles$n();
|
|
11873
|
+
|
|
11874
|
+
var _React$useState = React.useState(false),
|
|
11875
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
11876
|
+
addServiceisOpen = _React$useState2[0],
|
|
11877
|
+
setAddServiceIsOpen = _React$useState2[1];
|
|
11878
|
+
|
|
11879
|
+
var openAddService = function openAddService() {
|
|
11880
|
+
setAddServiceIsOpen(true);
|
|
11881
|
+
};
|
|
11882
|
+
|
|
11883
|
+
var closePopup = function closePopup() {
|
|
11884
|
+
setAddServiceIsOpen(false);
|
|
11885
|
+
};
|
|
11886
|
+
|
|
11887
|
+
var isDisabled = function isDisabled(service) {
|
|
11888
|
+
return layers.some(function (layer) {
|
|
11889
|
+
return layer.service && layer.service.includes(service);
|
|
11890
|
+
});
|
|
11891
|
+
};
|
|
11892
|
+
|
|
11893
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Box, {
|
|
11894
|
+
className: classes.servicesContainer,
|
|
11895
|
+
"data-testid": "ServiceDialog"
|
|
11896
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
11897
|
+
className: classes.header
|
|
11898
|
+
}, " Services"), /*#__PURE__*/React.createElement(List, {
|
|
11899
|
+
disablePadding: true
|
|
11900
|
+
}, services.map(function (service) {
|
|
11901
|
+
return /*#__PURE__*/React.createElement(ListItem, {
|
|
11902
|
+
key: service.name
|
|
11903
|
+
}, /*#__PURE__*/React.createElement(ListItemText, {
|
|
11904
|
+
style: {
|
|
11905
|
+
fontSize: '16px'
|
|
11906
|
+
}
|
|
11907
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
11908
|
+
noWrap: true,
|
|
11909
|
+
style: {
|
|
11910
|
+
textOverflow: 'ellipsis',
|
|
11911
|
+
paddingRight: '60px'
|
|
11912
|
+
}
|
|
11913
|
+
}, service.name)), /*#__PURE__*/React.createElement(ListItemSecondaryAction, {
|
|
11914
|
+
style: {
|
|
11915
|
+
marginRight: '-10px'
|
|
11916
|
+
}
|
|
11917
|
+
}, /*#__PURE__*/React.createElement(Tooltip, {
|
|
11918
|
+
title: "Edit Service"
|
|
11919
|
+
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
11920
|
+
"data-testid": "openEditServiceButton",
|
|
11921
|
+
size: "large"
|
|
11922
|
+
}, /*#__PURE__*/React.createElement(SvgIcon, null, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
|
|
11923
|
+
d: "m8.332 17.09-.005.001-2.652.604.956-2.542.001-.001.001-.001.857-.744 1.69 1.945-.848.738zm.71.815L20.932 7.577 17.823 4 5.933 14.329l-.01.008.005.005L4.173 19l4.857-1.09-.004-.02.019.02-.002-.005z",
|
|
11924
|
+
fill: classes.iconFill,
|
|
11925
|
+
fillRule: "evenodd"
|
|
11926
|
+
}))))), /*#__PURE__*/React.createElement(Tooltip, {
|
|
11927
|
+
title: "Delete Service"
|
|
11928
|
+
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(IconButton, {
|
|
11929
|
+
size: "large",
|
|
11930
|
+
disabled: isDisabled(service.service),
|
|
11931
|
+
onClick: function onClick() {
|
|
11932
|
+
return mapStoreRemoveService(service.service);
|
|
11933
|
+
},
|
|
11934
|
+
"data-testid": "removeServiceButton"
|
|
11935
|
+
}, /*#__PURE__*/React.createElement(SvgIcon, null, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
|
|
11936
|
+
d: "M17.504 8.228c.588 0 1.027.48.973 1.066l-.876 9.64A1.197 1.197 0 0 1 16.434 20H8.41c-.59 0-1.115-.48-1.167-1.066l-.877-9.64a.962.962 0 0 1 .973-1.066zm-2.115 1.228a.82.82 0 0 0-.819.82v7.674a.818.818 0 0 0 1.638 0v-7.675a.819.819 0 0 0-.819-.819zm-2.968 0a.819.819 0 0 0-.819.82v7.674a.818.818 0 1 0 1.638 0v-7.675a.82.82 0 0 0-.82-.819zm-2.968 0a.819.819 0 0 0-.818.82v7.674a.818.818 0 1 0 1.637 0v-7.675a.82.82 0 0 0-.82-.819zM13.432 4c.21 0 .404.168.436.376l.107.758 3.256-.01a1.606 1.606 0 0 1 1.61 1.6l.001.535-12.841.038L6 6.76a1.605 1.605 0 0 1 1.6-1.61l3.262-.008.103-.758a.454.454 0 0 1 .434-.38z",
|
|
11937
|
+
fill: classes.iconFill,
|
|
11938
|
+
fillRule: "evenodd"
|
|
11939
|
+
}))))))));
|
|
11940
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
11941
|
+
className: classes.footer
|
|
11942
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
11943
|
+
onClick: openAddService,
|
|
11944
|
+
"data-testid": "openAddServiceButton",
|
|
11945
|
+
className: classes.button,
|
|
11946
|
+
variant: "tertiary",
|
|
11947
|
+
startIcon: /*#__PURE__*/React.createElement(SvgIcon, {
|
|
11948
|
+
className: classes.icon
|
|
11949
|
+
}, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
|
|
11950
|
+
d: "M13.647 13.647h6.82a1.276 1.276 0 1 0 0-2.552h-6.82v-6.82a1.276 1.276 0 1 0-2.552 0v6.82h-6.82a1.276 1.276 0 1 0 0 2.552h6.82v6.82a1.274 1.274 0 0 0 1.276 1.275c.705 0 1.276-.571 1.276-1.276v-6.82z",
|
|
11951
|
+
fillRule: "evenodd"
|
|
11952
|
+
})))
|
|
11953
|
+
}, "Add a new service"))), addServiceisOpen && /*#__PURE__*/React.createElement(ServicePopupConnect, {
|
|
11954
|
+
servicePopupVariant: "add",
|
|
11955
|
+
isOpen: addServiceisOpen,
|
|
11956
|
+
closePopup: closePopup
|
|
11957
|
+
}));
|
|
11958
|
+
};
|
|
11959
|
+
|
|
11960
|
+
/* *
|
|
11961
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11962
|
+
* you may not use this file except in compliance with the License.
|
|
11963
|
+
* You may obtain a copy of the License at
|
|
11964
|
+
*
|
|
11965
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11966
|
+
*
|
|
11967
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11968
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11969
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11970
|
+
* See the License for the specific language governing permissions and
|
|
11971
|
+
* limitations under the License.
|
|
11972
|
+
*
|
|
11973
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
11974
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
11975
|
+
* */
|
|
11976
|
+
|
|
11977
|
+
var ServiceOptionsDialogConnect = function ServiceOptionsDialogConnect() {
|
|
11978
|
+
var dispatch = useDispatch();
|
|
11979
|
+
var allLayers = useSelector(function (store) {
|
|
11980
|
+
return getAllLayers(store);
|
|
11981
|
+
});
|
|
11982
|
+
var mapStoreRemoveService$1 = React.useCallback(function (serviceUrl) {
|
|
11983
|
+
dispatch(mapStoreRemoveService({
|
|
11984
|
+
serviceUrl: serviceUrl
|
|
11985
|
+
}));
|
|
11986
|
+
}, [dispatch]);
|
|
11987
|
+
var arrayOfServices = useSelector(function (store) {
|
|
11988
|
+
return getServicesInArray(store);
|
|
11989
|
+
});
|
|
11990
|
+
return /*#__PURE__*/React.createElement(ServiceOptionsDialog, {
|
|
11991
|
+
services: arrayOfServices,
|
|
11992
|
+
layers: allLayers,
|
|
11993
|
+
mapStoreRemoveService: mapStoreRemoveService$1
|
|
11994
|
+
});
|
|
11995
|
+
};
|
|
11996
|
+
|
|
11997
|
+
var useStyles$m = makeStyles(function (theme) {
|
|
11998
|
+
return createStyles({
|
|
11999
|
+
servicesContainer: {
|
|
11585
12000
|
position: 'fixed',
|
|
11586
12001
|
top: '140px',
|
|
11587
12002
|
right: '-72px',
|
|
@@ -11607,23 +12022,21 @@ var ServiceOptionsButton = function ServiceOptionsButton() {
|
|
|
11607
12022
|
setContainerOpen(!containerOpen);
|
|
11608
12023
|
};
|
|
11609
12024
|
|
|
11610
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(
|
|
12025
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ToolButton, {
|
|
11611
12026
|
onClick: toggleContainer,
|
|
11612
12027
|
active: containerOpen,
|
|
11613
|
-
"data-testid": "serviceOptionsButton"
|
|
12028
|
+
"data-testid": "serviceOptionsButton",
|
|
12029
|
+
variant: "tool"
|
|
11614
12030
|
}, /*#__PURE__*/React.createElement(SvgIcon, {
|
|
11615
12031
|
viewBox: "0 0 24 24",
|
|
11616
12032
|
xmlns: "http://www.w3.org/2000/svg"
|
|
11617
12033
|
}, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
|
|
11618
12034
|
d: "M12 16c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm0-2c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm0-6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z",
|
|
11619
|
-
fill: "#FFF",
|
|
11620
12035
|
fillRule: "evenodd"
|
|
11621
12036
|
})))), containerOpen ? /*#__PURE__*/React.createElement(Box, {
|
|
11622
12037
|
className: classes.servicesContainer,
|
|
11623
|
-
"data-testid": "
|
|
11624
|
-
}, /*#__PURE__*/React.createElement(
|
|
11625
|
-
className: classes.servicesText
|
|
11626
|
-
}, "Services")) : null);
|
|
12038
|
+
"data-testid": "ServiceOptionsDialogContainer"
|
|
12039
|
+
}, /*#__PURE__*/React.createElement(ServiceOptionsDialogConnect, null)) : null);
|
|
11627
12040
|
};
|
|
11628
12041
|
|
|
11629
12042
|
var useStyles$l = makeStyles({
|
|
@@ -11720,40 +12133,6 @@ var LayerSelect = function LayerSelect(_ref) {
|
|
|
11720
12133
|
})));
|
|
11721
12134
|
};
|
|
11722
12135
|
|
|
11723
|
-
/* *
|
|
11724
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11725
|
-
* you may not use this file except in compliance with the License.
|
|
11726
|
-
* You may obtain a copy of the License at
|
|
11727
|
-
*
|
|
11728
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11729
|
-
*
|
|
11730
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11731
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11732
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11733
|
-
* See the License for the specific language governing permissions and
|
|
11734
|
-
* limitations under the License.
|
|
11735
|
-
*
|
|
11736
|
-
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
11737
|
-
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
11738
|
-
* */
|
|
11739
|
-
var CustomSwitch = withStyles(function (theme) {
|
|
11740
|
-
return {
|
|
11741
|
-
switchBase: {
|
|
11742
|
-
'&$checked': {
|
|
11743
|
-
color: theme.palette.geowebColors.customSlider.thumb
|
|
11744
|
-
},
|
|
11745
|
-
'&$checked + $track': {
|
|
11746
|
-
backgroundColor: theme.palette.geowebColors.buttons.primary["default"].fill
|
|
11747
|
-
}
|
|
11748
|
-
},
|
|
11749
|
-
checked: {},
|
|
11750
|
-
track: {
|
|
11751
|
-
backgroundColor: theme.palette.geowebColors.customSlider.switchTrackDisabled,
|
|
11752
|
-
opacity: '1 !important'
|
|
11753
|
-
}
|
|
11754
|
-
};
|
|
11755
|
-
})(Switch);
|
|
11756
|
-
|
|
11757
12136
|
var useStyles$k = makeStyles(function (theme) {
|
|
11758
12137
|
return createStyles({
|
|
11759
12138
|
listItem: {
|
|
@@ -11788,11 +12167,9 @@ var useStyles$k = makeStyles(function (theme) {
|
|
|
11788
12167
|
});
|
|
11789
12168
|
|
|
11790
12169
|
var FilterListItem = function FilterListItem(_ref) {
|
|
11791
|
-
var
|
|
11792
|
-
|
|
11793
|
-
|
|
11794
|
-
toggleCheckbox = _ref.toggleCheckbox,
|
|
11795
|
-
selectOnlyOne = _ref.selectOnlyOne;
|
|
12170
|
+
var keyword = _ref.keyword,
|
|
12171
|
+
toggleKeywords = _ref.toggleKeywords,
|
|
12172
|
+
enableOnlyOneKeyword = _ref.enableOnlyOneKeyword;
|
|
11796
12173
|
var classes = useStyles$k();
|
|
11797
12174
|
|
|
11798
12175
|
var _React$useState = React.useState(false),
|
|
@@ -11800,47 +12177,193 @@ var FilterListItem = function FilterListItem(_ref) {
|
|
|
11800
12177
|
hovering = _React$useState2[0],
|
|
11801
12178
|
setHovering = _React$useState2[1];
|
|
11802
12179
|
|
|
11803
|
-
var handleMouseOver = React.useCallback(function () {
|
|
11804
|
-
setHovering(true);
|
|
11805
|
-
}, []);
|
|
11806
|
-
var handleMouseLeave = React.useCallback(function () {
|
|
11807
|
-
setHovering(false);
|
|
11808
|
-
}, []);
|
|
11809
|
-
|
|
11810
|
-
|
|
11811
|
-
|
|
11812
|
-
|
|
11813
|
-
|
|
11814
|
-
|
|
11815
|
-
|
|
11816
|
-
|
|
11817
|
-
|
|
11818
|
-
|
|
11819
|
-
|
|
11820
|
-
|
|
11821
|
-
|
|
11822
|
-
|
|
11823
|
-
|
|
11824
|
-
|
|
11825
|
-
|
|
11826
|
-
|
|
11827
|
-
|
|
11828
|
-
|
|
11829
|
-
|
|
11830
|
-
|
|
11831
|
-
|
|
11832
|
-
|
|
11833
|
-
|
|
11834
|
-
|
|
11835
|
-
|
|
11836
|
-
|
|
11837
|
-
|
|
11838
|
-
|
|
11839
|
-
|
|
11840
|
-
|
|
11841
|
-
|
|
12180
|
+
var handleMouseOver = React.useCallback(function () {
|
|
12181
|
+
setHovering(true);
|
|
12182
|
+
}, []);
|
|
12183
|
+
var handleMouseLeave = React.useCallback(function () {
|
|
12184
|
+
setHovering(false);
|
|
12185
|
+
}, []);
|
|
12186
|
+
|
|
12187
|
+
var selectOnlyOne = function selectOnlyOne(keyword) {
|
|
12188
|
+
enableOnlyOneKeyword(keyword);
|
|
12189
|
+
};
|
|
12190
|
+
|
|
12191
|
+
var toggleCheckbox = function toggleCheckbox(keyword) {
|
|
12192
|
+
toggleKeywords([keyword]);
|
|
12193
|
+
};
|
|
12194
|
+
|
|
12195
|
+
if (keyword.amountVisible !== 0) {
|
|
12196
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
12197
|
+
onMouseOver: handleMouseOver,
|
|
12198
|
+
onMouseLeave: handleMouseLeave,
|
|
12199
|
+
onFocus: handleMouseOver,
|
|
12200
|
+
onBlur: handleMouseLeave,
|
|
12201
|
+
"data-testid": "filterResultListItem"
|
|
12202
|
+
}, /*#__PURE__*/React.createElement(ListItem, {
|
|
12203
|
+
className: classes.listItem
|
|
12204
|
+
}, /*#__PURE__*/React.createElement(ListItemIcon, {
|
|
12205
|
+
className: classes.listItemIcon
|
|
12206
|
+
}, /*#__PURE__*/React.createElement(Checkbox, {
|
|
12207
|
+
color: "secondary",
|
|
12208
|
+
checked: keyword.checked,
|
|
12209
|
+
onChange: function onChange() {
|
|
12210
|
+
return toggleCheckbox(keyword.id);
|
|
12211
|
+
},
|
|
12212
|
+
className: classes.checkbox
|
|
12213
|
+
})), /*#__PURE__*/React.createElement(Typography, {
|
|
12214
|
+
variant: "body2",
|
|
12215
|
+
className: classes.listItemText
|
|
12216
|
+
}, keyword.id), hovering ? /*#__PURE__*/React.createElement(ListItemSecondaryAction, null, /*#__PURE__*/React.createElement(IconButton, {
|
|
12217
|
+
style: {
|
|
12218
|
+
backgroundColor: 'transparent'
|
|
12219
|
+
},
|
|
12220
|
+
edge: "end",
|
|
12221
|
+
size: "small",
|
|
12222
|
+
onClick: function onClick() {
|
|
12223
|
+
return selectOnlyOne(keyword.id);
|
|
12224
|
+
},
|
|
12225
|
+
"data-testid": "onlyButton"
|
|
12226
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
12227
|
+
className: classes.onlyByttonText
|
|
12228
|
+
}, "ONLY"))) : null));
|
|
12229
|
+
}
|
|
12230
|
+
|
|
12231
|
+
return null;
|
|
12232
|
+
};
|
|
12233
|
+
|
|
12234
|
+
/* *
|
|
12235
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12236
|
+
* you may not use this file except in compliance with the License.
|
|
12237
|
+
* You may obtain a copy of the License at
|
|
12238
|
+
*
|
|
12239
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12240
|
+
*
|
|
12241
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12242
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12243
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12244
|
+
* See the License for the specific language governing permissions and
|
|
12245
|
+
* limitations under the License.
|
|
12246
|
+
*
|
|
12247
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12248
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
12249
|
+
* */
|
|
12250
|
+
|
|
12251
|
+
var KeywordFilterResultsListItemConnect = function KeywordFilterResultsListItemConnect(_ref) {
|
|
12252
|
+
var keyword = _ref.keyword;
|
|
12253
|
+
var dispatch = useDispatch();
|
|
12254
|
+
var toggleKeywords$1 = React.useCallback(function (keywords) {
|
|
12255
|
+
dispatch(toggleKeywords({
|
|
12256
|
+
keywords: keywords
|
|
12257
|
+
}));
|
|
12258
|
+
}, [dispatch]);
|
|
12259
|
+
var enableOnlyOneKeyword$1 = React.useCallback(function (keyword) {
|
|
12260
|
+
dispatch(enableOnlyOneKeyword({
|
|
12261
|
+
keyword: keyword
|
|
12262
|
+
}));
|
|
12263
|
+
}, [dispatch]);
|
|
12264
|
+
var keywordObject = useSelector(function (store) {
|
|
12265
|
+
return getKeywordObjectById(store, keyword);
|
|
12266
|
+
});
|
|
12267
|
+
return /*#__PURE__*/React.createElement(FilterListItem, {
|
|
12268
|
+
keyword: keywordObject,
|
|
12269
|
+
toggleKeywords: toggleKeywords$1,
|
|
12270
|
+
enableOnlyOneKeyword: enableOnlyOneKeyword$1
|
|
12271
|
+
});
|
|
12272
|
+
};
|
|
12273
|
+
|
|
12274
|
+
/* *
|
|
12275
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12276
|
+
* you may not use this file except in compliance with the License.
|
|
12277
|
+
* You may obtain a copy of the License at
|
|
12278
|
+
*
|
|
12279
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12280
|
+
*
|
|
12281
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12282
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12283
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12284
|
+
* See the License for the specific language governing permissions and
|
|
12285
|
+
* limitations under the License.
|
|
12286
|
+
*
|
|
12287
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12288
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
12289
|
+
* */
|
|
12290
|
+
var CustomSwitch = withStyles(function (theme) {
|
|
12291
|
+
return {
|
|
12292
|
+
switchBase: {
|
|
12293
|
+
'&$checked': {
|
|
12294
|
+
color: theme.palette.geowebColors.customSlider.thumb
|
|
12295
|
+
},
|
|
12296
|
+
'&$checked + $track': {
|
|
12297
|
+
backgroundColor: theme.palette.geowebColors.buttons.primary["default"].fill
|
|
12298
|
+
}
|
|
12299
|
+
},
|
|
12300
|
+
checked: {},
|
|
12301
|
+
track: {
|
|
12302
|
+
backgroundColor: theme.palette.geowebColors.customSlider.switchTrackDisabled,
|
|
12303
|
+
opacity: '1 !important'
|
|
12304
|
+
}
|
|
12305
|
+
};
|
|
12306
|
+
})(Switch);
|
|
12307
|
+
|
|
12308
|
+
/* *
|
|
12309
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12310
|
+
* you may not use this file except in compliance with the License.
|
|
12311
|
+
* You may obtain a copy of the License at
|
|
12312
|
+
*
|
|
12313
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12314
|
+
*
|
|
12315
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12316
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12317
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12318
|
+
* See the License for the specific language governing permissions and
|
|
12319
|
+
* limitations under the License.
|
|
12320
|
+
*
|
|
12321
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12322
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
12323
|
+
* */
|
|
12324
|
+
|
|
12325
|
+
var KeywordFilterSelectAllSwitchConnect = function KeywordFilterSelectAllSwitchConnect() {
|
|
12326
|
+
var dispatch = useDispatch();
|
|
12327
|
+
var allKeywordsActive = useSelector(function (store) {
|
|
12328
|
+
return isAllKeywordsChecked(store);
|
|
12329
|
+
});
|
|
12330
|
+
var allKeywordIds = useSelector(function (store) {
|
|
12331
|
+
return getAllKeywordIds(store);
|
|
12332
|
+
});
|
|
12333
|
+
var checkedKeywordIds = useSelector(function (store) {
|
|
12334
|
+
return getCheckedKeywordIds(store);
|
|
12335
|
+
});
|
|
12336
|
+
var toggleKeywords$1 = React.useCallback(function () {
|
|
12337
|
+
var keywords = allKeywordsActive ? checkedKeywordIds : allKeywordIds.filter(function (id) {
|
|
12338
|
+
return !checkedKeywordIds.includes(id);
|
|
12339
|
+
});
|
|
12340
|
+
dispatch(toggleKeywords({
|
|
12341
|
+
keywords: keywords
|
|
12342
|
+
}));
|
|
12343
|
+
}, [allKeywordIds, allKeywordsActive, checkedKeywordIds, dispatch]);
|
|
12344
|
+
return /*#__PURE__*/React.createElement(CustomSwitch, {
|
|
12345
|
+
checked: allKeywordsActive,
|
|
12346
|
+
onChange: toggleKeywords$1,
|
|
12347
|
+
"data-testid": "customSwitch"
|
|
12348
|
+
});
|
|
11842
12349
|
};
|
|
11843
12350
|
|
|
12351
|
+
/* *
|
|
12352
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12353
|
+
* you may not use this file except in compliance with the License.
|
|
12354
|
+
* You may obtain a copy of the License at
|
|
12355
|
+
*
|
|
12356
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12357
|
+
*
|
|
12358
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12359
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12360
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12361
|
+
* See the License for the specific language governing permissions and
|
|
12362
|
+
* limitations under the License.
|
|
12363
|
+
*
|
|
12364
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12365
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
12366
|
+
* */
|
|
11844
12367
|
var useStyles$j = makeStyles(function (theme) {
|
|
11845
12368
|
return createStyles({
|
|
11846
12369
|
selectAll: {
|
|
@@ -11860,7 +12383,7 @@ var useStyles$j = makeStyles(function (theme) {
|
|
|
11860
12383
|
});
|
|
11861
12384
|
|
|
11862
12385
|
var KeywordFilterResults = function KeywordFilterResults(_ref) {
|
|
11863
|
-
var
|
|
12386
|
+
var allKeywordIds = _ref.allKeywordIds,
|
|
11864
12387
|
mapId = _ref.mapId,
|
|
11865
12388
|
bounds = _ref.bounds,
|
|
11866
12389
|
_ref$onClose = _ref.onClose,
|
|
@@ -11872,53 +12395,8 @@ var KeywordFilterResults = function KeywordFilterResults(_ref) {
|
|
|
11872
12395
|
_ref$order = _ref.order,
|
|
11873
12396
|
order = _ref$order === void 0 ? 0 : _ref$order,
|
|
11874
12397
|
_ref$source = _ref.source,
|
|
11875
|
-
source = _ref$source === void 0 ? 'module' : _ref$source
|
|
11876
|
-
updateKeywords = _ref.updateKeywords;
|
|
12398
|
+
source = _ref$source === void 0 ? 'module' : _ref$source;
|
|
11877
12399
|
var classes = useStyles$j();
|
|
11878
|
-
|
|
11879
|
-
var _React$useState = React.useState(true),
|
|
11880
|
-
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
11881
|
-
allSelected = _React$useState2[0],
|
|
11882
|
-
setAllSelected = _React$useState2[1];
|
|
11883
|
-
|
|
11884
|
-
var toggleSelectAll = function toggleSelectAll() {
|
|
11885
|
-
var editedKeywords = keywordObjects.map(function (object) {
|
|
11886
|
-
return Object.assign(Object.assign({}, object), {
|
|
11887
|
-
checked: !allSelected
|
|
11888
|
-
});
|
|
11889
|
-
});
|
|
11890
|
-
setAllSelected(!allSelected);
|
|
11891
|
-
updateKeywords(editedKeywords);
|
|
11892
|
-
};
|
|
11893
|
-
|
|
11894
|
-
var toggleCheckbox = function toggleCheckbox(listIndex) {
|
|
11895
|
-
var editedKeywords = keywordObjects.map(function (object, index) {
|
|
11896
|
-
return listIndex === index ? Object.assign(Object.assign({}, object), {
|
|
11897
|
-
checked: !object.checked
|
|
11898
|
-
}) : object;
|
|
11899
|
-
});
|
|
11900
|
-
updateKeywords(editedKeywords);
|
|
11901
|
-
};
|
|
11902
|
-
|
|
11903
|
-
var selectOnlyOne = function selectOnlyOne(listIndex) {
|
|
11904
|
-
var editedKeywords = keywordObjects.map(function (object, index) {
|
|
11905
|
-
return listIndex === index ? Object.assign(Object.assign({}, object), {
|
|
11906
|
-
checked: true
|
|
11907
|
-
}) : Object.assign(Object.assign({}, object), {
|
|
11908
|
-
checked: false
|
|
11909
|
-
});
|
|
11910
|
-
});
|
|
11911
|
-
updateKeywords(editedKeywords);
|
|
11912
|
-
}; // If even one checkbox is unchecked, switch toggleAll off
|
|
11913
|
-
// If all checkboxes becomes checked, switch toggleAll on
|
|
11914
|
-
|
|
11915
|
-
|
|
11916
|
-
React.useEffect(function () {
|
|
11917
|
-
var checked = keywordObjects.every(function (object) {
|
|
11918
|
-
return object.checked === true;
|
|
11919
|
-
});
|
|
11920
|
-
setAllSelected(checked);
|
|
11921
|
-
}, [keywordObjects]);
|
|
11922
12400
|
return /*#__PURE__*/React.createElement(ToolContainerDraggable, {
|
|
11923
12401
|
title: showTitle ? "Filter Results ".concat(mapId) : 'Filter Results',
|
|
11924
12402
|
"data-testid": "keywordFilterResults",
|
|
@@ -11956,27 +12434,15 @@ var KeywordFilterResults = function KeywordFilterResults(_ref) {
|
|
|
11956
12434
|
justifyContent: "flex-end",
|
|
11957
12435
|
alignContent: "center",
|
|
11958
12436
|
className: classes["switch"]
|
|
11959
|
-
}, /*#__PURE__*/React.createElement(
|
|
11960
|
-
checked: allSelected,
|
|
11961
|
-
onChange: toggleSelectAll,
|
|
11962
|
-
"data-testid": "customSwitch"
|
|
11963
|
-
}))), /*#__PURE__*/React.createElement(List, {
|
|
12437
|
+
}, /*#__PURE__*/React.createElement(KeywordFilterSelectAllSwitchConnect, null))), /*#__PURE__*/React.createElement(List, {
|
|
11964
12438
|
dense: true,
|
|
11965
12439
|
style: {
|
|
11966
12440
|
padding: '0px'
|
|
11967
12441
|
}
|
|
11968
|
-
},
|
|
11969
|
-
|
|
11970
|
-
|
|
11971
|
-
|
|
11972
|
-
if (amountVisible === 0) return null;
|
|
11973
|
-
return /*#__PURE__*/React.createElement(FilterListItem, {
|
|
11974
|
-
key: "".concat(id, "-").concat(index),
|
|
11975
|
-
index: index,
|
|
11976
|
-
text: id,
|
|
11977
|
-
checked: checked,
|
|
11978
|
-
toggleCheckbox: toggleCheckbox,
|
|
11979
|
-
selectOnlyOne: selectOnlyOne
|
|
12442
|
+
}, allKeywordIds.map(function (keywordId) {
|
|
12443
|
+
return /*#__PURE__*/React.createElement(KeywordFilterResultsListItemConnect, {
|
|
12444
|
+
key: keywordId,
|
|
12445
|
+
keyword: keywordId
|
|
11980
12446
|
});
|
|
11981
12447
|
})));
|
|
11982
12448
|
};
|
|
@@ -12026,12 +12492,7 @@ var KeywordFilterResultsConnect = function KeywordFilterResultsConnect(_ref) {
|
|
|
12026
12492
|
});
|
|
12027
12493
|
var uiIsOrderedOnTop = useSelector(function (store) {
|
|
12028
12494
|
return getDialogIsOrderedOnTop(store, 'keywordFilter');
|
|
12029
|
-
});
|
|
12030
|
-
var updateKeywords$1 = React.useCallback(function (keywords) {
|
|
12031
|
-
dispatch(updateKeywords({
|
|
12032
|
-
keywords: keywords
|
|
12033
|
-
}));
|
|
12034
|
-
}, [dispatch]); // Check to ensure the currently active map is still present on screen - if not, close the dialog
|
|
12495
|
+
}); // Check to ensure the currently active map is still present on screen - if not, close the dialog
|
|
12035
12496
|
|
|
12036
12497
|
React.useEffect(function () {
|
|
12037
12498
|
if (mapId !== '' && !isMapPresent) {
|
|
@@ -12063,11 +12524,11 @@ var KeywordFilterResultsConnect = function KeywordFilterResultsConnect(_ref) {
|
|
|
12063
12524
|
unregisterDialog$1();
|
|
12064
12525
|
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12065
12526
|
}, []);
|
|
12066
|
-
var
|
|
12067
|
-
return
|
|
12527
|
+
var allKeywordIds = useSelector(function (store) {
|
|
12528
|
+
return getAllKeywordIds(store);
|
|
12068
12529
|
});
|
|
12069
12530
|
return /*#__PURE__*/React.createElement(KeywordFilterResults, {
|
|
12070
|
-
|
|
12531
|
+
allKeywordIds: allKeywordIds,
|
|
12071
12532
|
mapId: mapId,
|
|
12072
12533
|
bounds: bounds,
|
|
12073
12534
|
isOpen: isOpenInStore,
|
|
@@ -12075,8 +12536,7 @@ var KeywordFilterResultsConnect = function KeywordFilterResultsConnect(_ref) {
|
|
|
12075
12536
|
showTitle: showTitle,
|
|
12076
12537
|
onMouseDown: onOrderDialog,
|
|
12077
12538
|
order: uiOrder,
|
|
12078
|
-
source: uiSource
|
|
12079
|
-
updateKeywords: updateKeywords$1
|
|
12539
|
+
source: uiSource
|
|
12080
12540
|
});
|
|
12081
12541
|
};
|
|
12082
12542
|
|
|
@@ -12329,7 +12789,6 @@ var LayerManagerConnect = function LayerManagerConnect(_ref) {
|
|
|
12329
12789
|
* Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12330
12790
|
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
12331
12791
|
* */
|
|
12332
|
-
var width = 24;
|
|
12333
12792
|
|
|
12334
12793
|
var MapControlButton = function MapControlButton(_a) {
|
|
12335
12794
|
var onClick = _a.onClick,
|
|
@@ -12341,14 +12800,10 @@ var MapControlButton = function MapControlButton(_a) {
|
|
|
12341
12800
|
isActive = _a$isActive === void 0 ? false : _a$isActive,
|
|
12342
12801
|
props = __rest(_a, ["onClick", "children", "title", "placement", "isActive"]);
|
|
12343
12802
|
|
|
12344
|
-
|
|
12345
|
-
width: width
|
|
12346
|
-
});
|
|
12347
|
-
return /*#__PURE__*/React.createElement(ToggleIconButton, Object.assign({
|
|
12803
|
+
return /*#__PURE__*/React.createElement(ToolButton, Object.assign({
|
|
12348
12804
|
onClick: onClick,
|
|
12349
12805
|
active: isActive
|
|
12350
12806
|
}, props), /*#__PURE__*/React.createElement(Tooltip, {
|
|
12351
|
-
className: classes.button,
|
|
12352
12807
|
placement: placement,
|
|
12353
12808
|
title: title
|
|
12354
12809
|
}, children));
|
|
@@ -13258,7 +13713,7 @@ var AutoUpdateButton = function AutoUpdateButton(_ref) {
|
|
|
13258
13713
|
title: autoUpdateButton.title
|
|
13259
13714
|
}, /*#__PURE__*/React.createElement("span", {
|
|
13260
13715
|
"data-testid": "autoUpdateButtonTooltip"
|
|
13261
|
-
}, /*#__PURE__*/React.createElement(
|
|
13716
|
+
}, /*#__PURE__*/React.createElement(ToolButton, {
|
|
13262
13717
|
active: isAutoUpdating,
|
|
13263
13718
|
disabled: disabled,
|
|
13264
13719
|
onClick: function onClick() {
|
|
@@ -13322,7 +13777,7 @@ var LoopButton = function LoopButton(_ref) {
|
|
|
13322
13777
|
var loopButtonPath = isLooping ? svgLoopOffPath : svgLoopPath;
|
|
13323
13778
|
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
13324
13779
|
title: loopButtonPath.title
|
|
13325
|
-
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(
|
|
13780
|
+
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(ToolButton, {
|
|
13326
13781
|
onClick: function onClick() {
|
|
13327
13782
|
return onToggleLoop();
|
|
13328
13783
|
},
|
|
@@ -13419,7 +13874,7 @@ var SpeedButton = function SpeedButton(_ref) {
|
|
|
13419
13874
|
className: classes.speedButtonDiv
|
|
13420
13875
|
}, /*#__PURE__*/React.createElement(Tooltip, {
|
|
13421
13876
|
title: "Speed"
|
|
13422
|
-
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(
|
|
13877
|
+
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(ToolButton, {
|
|
13423
13878
|
onClick: onClickButton,
|
|
13424
13879
|
active: true,
|
|
13425
13880
|
"data-testid": "speedButton"
|
|
@@ -13696,11 +14151,11 @@ var TimeStepButton = function TimeStepButton(_ref) {
|
|
|
13696
14151
|
className: classes.timeStepDiv
|
|
13697
14152
|
}, /*#__PURE__*/React.createElement(Tooltip, {
|
|
13698
14153
|
title: "Time step"
|
|
13699
|
-
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(
|
|
14154
|
+
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(ToolButton, {
|
|
13700
14155
|
active: true,
|
|
13701
14156
|
onClick: onClickButton,
|
|
13702
14157
|
"data-testid": "timeStepButton",
|
|
13703
|
-
width:
|
|
14158
|
+
width: "58px"
|
|
13704
14159
|
}, /*#__PURE__*/React.createElement(SvgIcon, null, /*#__PURE__*/React.createElement("path", {
|
|
13705
14160
|
id: "lvnl598lea",
|
|
13706
14161
|
d: "M12.1 5.86c.247 0 .5.089.745.267l6.008 4.316c.368.265.58.65.58 1.057 0 .408-.211.793-.581 1.058l-6.005 4.316c-.248.177-.5.267-.747.267-.466 0-.967-.36-.967-1.147v-3.016l-5.419 3.896c-.207.148-.417.234-.624.26l-.124.007c-.465 0-.966-.36-.966-1.147V7.006c0-.787.5-1.147.966-1.147.247 0 .5.09.746.268l5.421 3.894V7.006c0-.735.436-1.097.873-1.142z"
|
|
@@ -13787,7 +14242,7 @@ var OptionsMenuButton = function OptionsMenuButton(_ref) {
|
|
|
13787
14242
|
var id = open ? 'simple-popover' : undefined;
|
|
13788
14243
|
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Tooltip, {
|
|
13789
14244
|
title: "Options"
|
|
13790
|
-
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(
|
|
14245
|
+
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(ToolButton, {
|
|
13791
14246
|
onClick: onClickButton,
|
|
13792
14247
|
"data-testid": "optionsMenuButton",
|
|
13793
14248
|
active: open
|
|
@@ -13876,7 +14331,7 @@ var PlayButton = function PlayButton(_ref) {
|
|
|
13876
14331
|
var playButtonPath = isAnimating ? pausePath : playPath;
|
|
13877
14332
|
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
13878
14333
|
title: playButtonPath.title
|
|
13879
|
-
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(
|
|
14334
|
+
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(ToolButton, {
|
|
13880
14335
|
onClick: onTogglePlay,
|
|
13881
14336
|
disabled: isDisabled,
|
|
13882
14337
|
"data-testid": "playButton",
|
|
@@ -16663,17 +17118,232 @@ var TimeSliderScaleSliderComponent = function TimeSliderScaleSliderComponent(_re
|
|
|
16663
17118
|
selectedTime: selectedTime
|
|
16664
17119
|
});
|
|
16665
17120
|
};
|
|
16666
|
-
/**
|
|
16667
|
-
* TimeSliderScaleSlider component connected to the store displaying a scale slider of the time slider
|
|
16668
|
-
*
|
|
16669
|
-
* Expects the following props:
|
|
16670
|
-
* @param {string} mapId mapId: string - Id of the map
|
|
16671
|
-
* @example
|
|
16672
|
-
* ``` <TimeSliderScaleSliderConnect mapId={mapId} />```
|
|
16673
|
-
*/
|
|
16674
|
-
|
|
17121
|
+
/**
|
|
17122
|
+
* TimeSliderScaleSlider component connected to the store displaying a scale slider of the time slider
|
|
17123
|
+
*
|
|
17124
|
+
* Expects the following props:
|
|
17125
|
+
* @param {string} mapId mapId: string - Id of the map
|
|
17126
|
+
* @example
|
|
17127
|
+
* ``` <TimeSliderScaleSliderConnect mapId={mapId} />```
|
|
17128
|
+
*/
|
|
17129
|
+
|
|
17130
|
+
|
|
17131
|
+
var TimeSliderScaleSliderConnect = connectReduxTimeSliderScaleSlider(TimeSliderScaleSliderComponent);
|
|
17132
|
+
|
|
17133
|
+
/* *
|
|
17134
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
17135
|
+
* you may not use this file except in compliance with the License.
|
|
17136
|
+
* You may obtain a copy of the License at
|
|
17137
|
+
*
|
|
17138
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17139
|
+
*
|
|
17140
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
17141
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
17142
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17143
|
+
* See the License for the specific language governing permissions and
|
|
17144
|
+
* limitations under the License.
|
|
17145
|
+
*
|
|
17146
|
+
* Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
17147
|
+
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
17148
|
+
* */
|
|
17149
|
+
var connectRedux = connect(function (store, props) {
|
|
17150
|
+
return {
|
|
17151
|
+
isTimeSliderHoverOn: isTimeSliderHoverOn(store, props.mapId)
|
|
17152
|
+
};
|
|
17153
|
+
}, {
|
|
17154
|
+
toggleTimeSliderHover: toggleTimeSliderHover
|
|
17155
|
+
});
|
|
17156
|
+
|
|
17157
|
+
var ConnectedTimeSlider = function ConnectedTimeSlider(_ref) {
|
|
17158
|
+
var sourceId = _ref.sourceId,
|
|
17159
|
+
mapId = _ref.mapId,
|
|
17160
|
+
isTimeSliderHoverOn = _ref.isTimeSliderHoverOn,
|
|
17161
|
+
toggleTimeSliderHover = _ref.toggleTimeSliderHover;
|
|
17162
|
+
React.useEffect(function () {
|
|
17163
|
+
var handleKeyDown = function handleKeyDown(event) {
|
|
17164
|
+
if (event.ctrlKey && event.altKey && event.key === 'h') {
|
|
17165
|
+
toggleTimeSliderHover({
|
|
17166
|
+
mapId: mapId,
|
|
17167
|
+
isTimeSliderHoverOn: !isTimeSliderHoverOn
|
|
17168
|
+
});
|
|
17169
|
+
}
|
|
17170
|
+
};
|
|
17171
|
+
|
|
17172
|
+
document.addEventListener('keydown', handleKeyDown);
|
|
17173
|
+
return function () {
|
|
17174
|
+
document.removeEventListener('keydown', handleKeyDown);
|
|
17175
|
+
};
|
|
17176
|
+
}, [mapId, isTimeSliderHoverOn, toggleTimeSliderHover]);
|
|
17177
|
+
return /*#__PURE__*/React.createElement(TimeSlider, {
|
|
17178
|
+
buttons: /*#__PURE__*/React.createElement(TimeSliderButtonsConnect, {
|
|
17179
|
+
mapId: mapId
|
|
17180
|
+
}),
|
|
17181
|
+
rail: /*#__PURE__*/React.createElement(TimeSliderRailConnect, {
|
|
17182
|
+
mapId: mapId,
|
|
17183
|
+
sourceId: sourceId
|
|
17184
|
+
}),
|
|
17185
|
+
scaleSlider: /*#__PURE__*/React.createElement(TimeSliderScaleSliderConnect, {
|
|
17186
|
+
mapId: mapId
|
|
17187
|
+
}),
|
|
17188
|
+
legend: /*#__PURE__*/React.createElement(TimeSliderLegendConnect$1, {
|
|
17189
|
+
mapId: mapId,
|
|
17190
|
+
sourceId: sourceId
|
|
17191
|
+
})
|
|
17192
|
+
});
|
|
17193
|
+
};
|
|
17194
|
+
/**
|
|
17195
|
+
* TimeSlider component with components connected to the store displaying the time slider
|
|
17196
|
+
*
|
|
17197
|
+
* Expects the following props:
|
|
17198
|
+
* @param {string} mapId mapId: string - Id of the map
|
|
17199
|
+
* @param {string} sourceId sourceId: string - Source Id of the timeslider
|
|
17200
|
+
* @example
|
|
17201
|
+
* ``` <TimeSliderConnect sourceId="timeslider-1" mapId={mapId} />```
|
|
17202
|
+
*/
|
|
17203
|
+
|
|
17204
|
+
|
|
17205
|
+
var TimeSliderConnect = connectRedux(ConnectedTimeSlider);
|
|
17206
|
+
|
|
17207
|
+
/* *
|
|
17208
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
17209
|
+
* you may not use this file except in compliance with the License.
|
|
17210
|
+
* You may obtain a copy of the License at
|
|
17211
|
+
*
|
|
17212
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17213
|
+
*
|
|
17214
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
17215
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
17216
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17217
|
+
* See the License for the specific language governing permissions and
|
|
17218
|
+
* limitations under the License.
|
|
17219
|
+
*
|
|
17220
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
17221
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
17222
|
+
* */
|
|
17223
|
+
var DWD = {
|
|
17224
|
+
name: 'DWD',
|
|
17225
|
+
url: 'https://maps.dwd.de/geoserver/ows?',
|
|
17226
|
+
id: 'dwd'
|
|
17227
|
+
};
|
|
17228
|
+
var nationaalgeoregister = {
|
|
17229
|
+
name: 'nationaalgeoregister.nl',
|
|
17230
|
+
url: 'https://geodata.nationaalgeoregister.nl/cbsgebiedsindelingen/wms?request=GetCapabilities&service=wms',
|
|
17231
|
+
id: 'nationaalgeoregister'
|
|
17232
|
+
};
|
|
17233
|
+
var KNMImsgcpp = {
|
|
17234
|
+
name: 'KNMImsgcpp',
|
|
17235
|
+
url: 'https://adaguc-server-msg-cpp-portal.pmc.knmi.cloud/wms?DATASET=msgrt&',
|
|
17236
|
+
id: 'msgcpp-ogc-realtime'
|
|
17237
|
+
};
|
|
17238
|
+
var HeiGit = {
|
|
17239
|
+
name: 'HeiGit',
|
|
17240
|
+
url: 'https://maps.heigit.org/osm-wms/service',
|
|
17241
|
+
id: 'HeiGit-osm-wms'
|
|
17242
|
+
};
|
|
17243
|
+
var ArcGisCanvas = {
|
|
17244
|
+
name: 'ArcGisCanvas',
|
|
17245
|
+
url: 'https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/',
|
|
17246
|
+
id: 'ArcGisCanvas'
|
|
17247
|
+
};
|
|
17248
|
+
var KNMIgeoservicesBaselayers = {
|
|
17249
|
+
name: 'KNMIgeoservicesBaselayers',
|
|
17250
|
+
url: 'https://geoservices.knmi.nl/wms?DATASET=baselayers&',
|
|
17251
|
+
id: 'KNMIgeoservicesBaselayers'
|
|
17252
|
+
};
|
|
17253
|
+
var KNMIgeoservicesRadar = {
|
|
17254
|
+
name: 'KNMIgeoservicesRadar',
|
|
17255
|
+
url: 'https://geoservices.knmi.nl/wms?dataset=RADAR&',
|
|
17256
|
+
id: 'KNMIgeoservicesRadar'
|
|
17257
|
+
};
|
|
17258
|
+
var KNMIgeoservicesObs = {
|
|
17259
|
+
name: 'KNMIgeoservicesObs',
|
|
17260
|
+
url: 'https://geoservices.knmi.nl/adagucserver?dataset=OBS&service=WMS&',
|
|
17261
|
+
id: 'KNMIgeoservicesObs'
|
|
17262
|
+
};
|
|
17263
|
+
var KNMIgeoservicesKlimaatAtlas = {
|
|
17264
|
+
name: 'KNMIgeoservicesKlimaatAtlas',
|
|
17265
|
+
url: 'https://geoservices.knmi.nl/wms?DATASET=gsie-dataset&SERVICE=WMS&',
|
|
17266
|
+
id: 'KNMIgeoservicesKlimaatAtlas'
|
|
17267
|
+
};
|
|
17268
|
+
var KNMIgeoservicesHarmonie = {
|
|
17269
|
+
name: 'KNMIgeoservicesHarmonie',
|
|
17270
|
+
url: 'https://geoservices.knmi.nl/wms?DATASET=HARM_N25&',
|
|
17271
|
+
id: 'KNMIgeoservicesKliKNMIgeoservicesHarmoniemaatAtlas'
|
|
17272
|
+
};
|
|
17273
|
+
var KNMIgeoservicesHarmonieMLService = {
|
|
17274
|
+
name: 'KNMI Harmonie ML',
|
|
17275
|
+
url: 'https://geoservices.knmi.nl/wms?DATASET=HARM_N25_ML&SERVICE=WMS&',
|
|
17276
|
+
id: 'harmonieML'
|
|
17277
|
+
};
|
|
17278
|
+
var MetNorwayService = {
|
|
17279
|
+
name: 'MetNorwayService',
|
|
17280
|
+
url: 'https://wms-e1.geoweb.met.no/wms?',
|
|
17281
|
+
id: 'MetNorwayService'
|
|
17282
|
+
};
|
|
17283
|
+
var FMIopenwms = {
|
|
17284
|
+
name: 'FMIopenwms',
|
|
17285
|
+
url: 'https://openwms.fmi.fi/geoserver/wms?',
|
|
17286
|
+
id: 'FMIopenwms'
|
|
17287
|
+
};
|
|
17288
|
+
var DWDObservations = {
|
|
17289
|
+
name: 'DWDObservations',
|
|
17290
|
+
url: 'https://maps.dwd.de/geoserver/dwd/Wetter_Beobachtungen/ows?',
|
|
17291
|
+
id: 'DWDObservations'
|
|
17292
|
+
};
|
|
17293
|
+
var DWDWarnings = {
|
|
17294
|
+
name: 'DWDWarnings',
|
|
17295
|
+
url: 'https://maps.dwd.de/geoserver/dwd/Warnungen_Gemeinden_vereinigt/ows?',
|
|
17296
|
+
id: 'DWDWarnings'
|
|
17297
|
+
};
|
|
17298
|
+
var DWDWXProdukt = {
|
|
17299
|
+
name: 'DWDWXProdukt',
|
|
17300
|
+
url: 'https://maps.dwd.de/geoserver/dwd/WX-Produkt/ows?',
|
|
17301
|
+
id: 'DWDWXProdukt'
|
|
17302
|
+
};
|
|
17303
|
+
var EUMETSAT = {
|
|
17304
|
+
name: 'EUMETSAT',
|
|
17305
|
+
url: 'https://view.eumetsat.int/geoserver/wms?',
|
|
17306
|
+
id: 'EUMETSAT'
|
|
17307
|
+
};
|
|
17308
|
+
var eumetviewEUMETSAT = {
|
|
17309
|
+
name: 'eumetviewEUMETSAT',
|
|
17310
|
+
url: 'https://eumetview.eumetsat.int/geoserv/wms?',
|
|
17311
|
+
id: 'eumetviewEUMETSAT'
|
|
17312
|
+
};
|
|
17313
|
+
var ECMWFPublicService = {
|
|
17314
|
+
name: 'ECMWF',
|
|
17315
|
+
url: 'https://apps.ecmwf.int/wms/?token=public',
|
|
17316
|
+
id: 'ecmwf'
|
|
17317
|
+
};
|
|
17318
|
+
var MeteoCanada = {
|
|
17319
|
+
name: 'Meteo Canada',
|
|
17320
|
+
url: 'https://geo.weather.gc.ca/geomet/?lang=en&',
|
|
17321
|
+
id: 'MeteoCanada'
|
|
17322
|
+
};
|
|
16675
17323
|
|
|
16676
|
-
var
|
|
17324
|
+
var publicServices = /*#__PURE__*/Object.freeze({
|
|
17325
|
+
__proto__: null,
|
|
17326
|
+
DWD: DWD,
|
|
17327
|
+
nationaalgeoregister: nationaalgeoregister,
|
|
17328
|
+
KNMImsgcpp: KNMImsgcpp,
|
|
17329
|
+
HeiGit: HeiGit,
|
|
17330
|
+
ArcGisCanvas: ArcGisCanvas,
|
|
17331
|
+
KNMIgeoservicesBaselayers: KNMIgeoservicesBaselayers,
|
|
17332
|
+
KNMIgeoservicesRadar: KNMIgeoservicesRadar,
|
|
17333
|
+
KNMIgeoservicesObs: KNMIgeoservicesObs,
|
|
17334
|
+
KNMIgeoservicesKlimaatAtlas: KNMIgeoservicesKlimaatAtlas,
|
|
17335
|
+
KNMIgeoservicesHarmonie: KNMIgeoservicesHarmonie,
|
|
17336
|
+
KNMIgeoservicesHarmonieMLService: KNMIgeoservicesHarmonieMLService,
|
|
17337
|
+
MetNorwayService: MetNorwayService,
|
|
17338
|
+
FMIopenwms: FMIopenwms,
|
|
17339
|
+
DWDObservations: DWDObservations,
|
|
17340
|
+
DWDWarnings: DWDWarnings,
|
|
17341
|
+
DWDWXProdukt: DWDWXProdukt,
|
|
17342
|
+
EUMETSAT: EUMETSAT,
|
|
17343
|
+
eumetviewEUMETSAT: eumetviewEUMETSAT,
|
|
17344
|
+
ECMWFPublicService: ECMWFPublicService,
|
|
17345
|
+
MeteoCanada: MeteoCanada
|
|
17346
|
+
});
|
|
16677
17347
|
|
|
16678
17348
|
/* *
|
|
16679
17349
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -16688,66 +17358,390 @@ var TimeSliderScaleSliderConnect = connectReduxTimeSliderScaleSlider(TimeSliderS
|
|
|
16688
17358
|
* See the License for the specific language governing permissions and
|
|
16689
17359
|
* limitations under the License.
|
|
16690
17360
|
*
|
|
16691
|
-
* Copyright
|
|
16692
|
-
* Copyright
|
|
17361
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
17362
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
16693
17363
|
* */
|
|
16694
|
-
var
|
|
16695
|
-
|
|
16696
|
-
|
|
16697
|
-
|
|
16698
|
-
|
|
16699
|
-
|
|
16700
|
-
|
|
17364
|
+
var baseLayer$1 = {
|
|
17365
|
+
name: 'arcGisSat',
|
|
17366
|
+
title: 'arcGisSat',
|
|
17367
|
+
type: 'twms',
|
|
17368
|
+
layerType: LayerType.baseLayer,
|
|
17369
|
+
enabled: true,
|
|
17370
|
+
id: generateLayerId()
|
|
17371
|
+
}; // Base Layers List
|
|
17372
|
+
|
|
17373
|
+
var baseLayerGrey$1 = {
|
|
17374
|
+
id: generateLayerId(),
|
|
17375
|
+
name: 'WorldMap_Light_Grey_Canvas',
|
|
17376
|
+
type: 'twms',
|
|
17377
|
+
layerType: LayerType.baseLayer
|
|
17378
|
+
};
|
|
17379
|
+
var baseLayerOpenStreetMapNL$1 = {
|
|
17380
|
+
id: 'base-layer-2',
|
|
17381
|
+
name: 'OpenStreetMap_NL',
|
|
17382
|
+
type: 'twms',
|
|
17383
|
+
layerType: LayerType.baseLayer,
|
|
17384
|
+
enabled: true
|
|
17385
|
+
};
|
|
17386
|
+
var baseLayerArcGisCanvas$1 = {
|
|
17387
|
+
service: ArcGisCanvas.url,
|
|
17388
|
+
id: generateLayerId(),
|
|
17389
|
+
name: 'arcGisCanvas',
|
|
17390
|
+
type: 'twms',
|
|
17391
|
+
enabled: true,
|
|
17392
|
+
layerType: LayerType.baseLayer
|
|
17393
|
+
};
|
|
17394
|
+
var baseLayerWorldMap$1 = {
|
|
17395
|
+
id: generateLayerId(),
|
|
17396
|
+
name: 'WorldMap',
|
|
17397
|
+
type: 'twms',
|
|
17398
|
+
layerType: LayerType.baseLayer,
|
|
17399
|
+
enabled: true
|
|
17400
|
+
};
|
|
17401
|
+
var baseLayerHeiGit = {
|
|
17402
|
+
service: HeiGit.url,
|
|
17403
|
+
id: generateLayerId(),
|
|
17404
|
+
name: 'osm_auto:all',
|
|
17405
|
+
layerType: LayerType.baseLayer
|
|
17406
|
+
}; // Over Layers List
|
|
17407
|
+
|
|
17408
|
+
var overLayer$1 = {
|
|
17409
|
+
service: KNMIgeoservicesBaselayers.url,
|
|
17410
|
+
name: 'countryborders',
|
|
17411
|
+
format: 'image/png',
|
|
17412
|
+
enabled: true,
|
|
17413
|
+
id: generateLayerId(),
|
|
17414
|
+
layerType: LayerType.overLayer
|
|
17415
|
+
}; // KNMI msgcpp List
|
|
17416
|
+
|
|
17417
|
+
var msgCppLayer = {
|
|
17418
|
+
// doesn't work with https
|
|
17419
|
+
service: KNMImsgcpp.url,
|
|
17420
|
+
name: 'lwe_precipitation_rate',
|
|
17421
|
+
format: 'image/png',
|
|
17422
|
+
enabled: true,
|
|
17423
|
+
style: 'precip-transparent/nearest',
|
|
17424
|
+
id: generateLayerId(),
|
|
17425
|
+
layerType: LayerType.mapLayer
|
|
17426
|
+
}; // Nederlandse Nationaal Georegister Layers list
|
|
17427
|
+
|
|
17428
|
+
var veiligheidsRegiosGebiedsIndelingenLabels = {
|
|
17429
|
+
service: nationaalgeoregister.url,
|
|
17430
|
+
name: 'cbsgebiedsindelingen:cbs_veiligheidsregio_2020_labelpoint',
|
|
17431
|
+
style: 'CBS_Label',
|
|
17432
|
+
enabled: false,
|
|
17433
|
+
layerType: LayerType.mapLayer
|
|
17434
|
+
};
|
|
17435
|
+
var veiligheidsRegiosGebiedsIndelingen = {
|
|
17436
|
+
service: nationaalgeoregister.url,
|
|
17437
|
+
name: 'cbsgebiedsindelingen:cbs_veiligheidsregio_2020_gegeneraliseerd',
|
|
17438
|
+
style: 'CBS_Gebiedsindeling',
|
|
17439
|
+
enabled: false,
|
|
17440
|
+
layerType: LayerType.mapLayer
|
|
17441
|
+
}; // KNMI Geoservices Layers List
|
|
17442
|
+
|
|
17443
|
+
var radarLayer$1 = {
|
|
17444
|
+
service: KNMIgeoservicesRadar.url,
|
|
17445
|
+
name: 'RAD_NL25_PCP_CM',
|
|
17446
|
+
format: 'image/png',
|
|
17447
|
+
enabled: true,
|
|
17448
|
+
style: 'radar/nearest',
|
|
17449
|
+
id: generateLayerId(),
|
|
17450
|
+
layerType: LayerType.mapLayer
|
|
17451
|
+
};
|
|
17452
|
+
var radarLayerWithError = {
|
|
17453
|
+
service: KNMIgeoservicesRadar.url,
|
|
17454
|
+
name: 'radarLayer',
|
|
17455
|
+
format: 'image/png',
|
|
17456
|
+
enabled: true,
|
|
17457
|
+
style: 'knmiradar/nearest',
|
|
17458
|
+
id: generateLayerId(),
|
|
17459
|
+
layerType: LayerType.mapLayer
|
|
17460
|
+
};
|
|
17461
|
+
var obsAirTemperature = {
|
|
17462
|
+
service: KNMIgeoservicesObs.url,
|
|
17463
|
+
name: '10M/ta',
|
|
17464
|
+
id: generateLayerId(),
|
|
17465
|
+
layerType: LayerType.mapLayer
|
|
17466
|
+
};
|
|
17467
|
+
var obsWind = {
|
|
17468
|
+
service: KNMIgeoservicesObs.url,
|
|
17469
|
+
name: '10M/wind',
|
|
17470
|
+
id: generateLayerId(),
|
|
17471
|
+
layerType: LayerType.mapLayer
|
|
17472
|
+
};
|
|
17473
|
+
var obsAirPressureAtSeaLevel = {
|
|
17474
|
+
service: KNMIgeoservicesObs.url,
|
|
17475
|
+
name: '10M/pp',
|
|
17476
|
+
id: generateLayerId(),
|
|
17477
|
+
layerType: LayerType.mapLayer
|
|
17478
|
+
};
|
|
17479
|
+
var obsRelativeHumidity = {
|
|
17480
|
+
service: KNMIgeoservicesObs.url,
|
|
17481
|
+
name: '10M/rh',
|
|
17482
|
+
id: generateLayerId(),
|
|
17483
|
+
layerType: LayerType.mapLayer
|
|
17484
|
+
};
|
|
17485
|
+
var obsGlobalSolarRadiation = {
|
|
17486
|
+
service: KNMIgeoservicesObs.url,
|
|
17487
|
+
name: '10M/qg',
|
|
17488
|
+
id: generateLayerId(),
|
|
17489
|
+
layerType: LayerType.mapLayer
|
|
17490
|
+
};
|
|
17491
|
+
var obsPrecipitationIntensityPWS = {
|
|
17492
|
+
service: KNMIgeoservicesObs.url,
|
|
17493
|
+
name: '10M/pg',
|
|
17494
|
+
id: generateLayerId(),
|
|
17495
|
+
layerType: LayerType.mapLayer
|
|
17496
|
+
};
|
|
17497
|
+
var harmonieRelativeHumidityPl = {
|
|
17498
|
+
service: KNMIgeoservicesHarmonie.url,
|
|
17499
|
+
name: 'relative_humidity__at_pl',
|
|
17500
|
+
id: generateLayerId(),
|
|
17501
|
+
layerType: LayerType.mapLayer,
|
|
17502
|
+
enabled: true
|
|
17503
|
+
};
|
|
17504
|
+
var harmonieWindPl = {
|
|
17505
|
+
service: KNMIgeoservicesHarmonie.url,
|
|
17506
|
+
name: 'wind__at_pl',
|
|
17507
|
+
id: generateLayerId(),
|
|
17508
|
+
layerType: LayerType.mapLayer,
|
|
17509
|
+
enabled: true
|
|
17510
|
+
};
|
|
17511
|
+
var harmonieAirTemperature = {
|
|
17512
|
+
service: KNMIgeoservicesHarmonie.url,
|
|
17513
|
+
name: 'air_temperature__at_2m',
|
|
17514
|
+
id: generateLayerId(),
|
|
17515
|
+
layerType: LayerType.mapLayer,
|
|
17516
|
+
enabled: true
|
|
17517
|
+
};
|
|
17518
|
+
var harmoniePrecipitation = {
|
|
17519
|
+
service: KNMIgeoservicesHarmonie.url,
|
|
17520
|
+
name: 'precipitation_flux',
|
|
17521
|
+
id: generateLayerId(),
|
|
17522
|
+
layerType: LayerType.mapLayer,
|
|
17523
|
+
enabled: true
|
|
17524
|
+
};
|
|
17525
|
+
var harmoniePressure = {
|
|
17526
|
+
service: KNMIgeoservicesHarmonie.url,
|
|
17527
|
+
name: 'air_pressure_at_sea_level',
|
|
17528
|
+
id: generateLayerId(),
|
|
17529
|
+
layerType: LayerType.mapLayer,
|
|
17530
|
+
enabled: true
|
|
17531
|
+
};
|
|
17532
|
+
var harmonieWindFlags = {
|
|
17533
|
+
service: KNMIgeoservicesHarmonie.url,
|
|
17534
|
+
name: 'wind__at_10m',
|
|
17535
|
+
enabled: true,
|
|
17536
|
+
id: generateLayerId(),
|
|
17537
|
+
layerType: LayerType.mapLayer
|
|
17538
|
+
};
|
|
17539
|
+
var klimaatAtlasTG3 = {
|
|
17540
|
+
service: KNMIgeoservicesKlimaatAtlas.url,
|
|
17541
|
+
name: 'TG3',
|
|
17542
|
+
enabled: true,
|
|
17543
|
+
id: generateLayerId(),
|
|
17544
|
+
layerType: LayerType.mapLayer
|
|
17545
|
+
}; // DWD Layers List
|
|
17546
|
+
|
|
17547
|
+
var dwdWarningLayer = {
|
|
17548
|
+
service: DWDWarnings.url,
|
|
17549
|
+
name: 'Warnungen_Gemeinden_vereinigt',
|
|
17550
|
+
format: 'image/png',
|
|
17551
|
+
// style: 'warnungen_gemeinden_vereinigt_event_seamless_param',
|
|
17552
|
+
enabled: true,
|
|
17553
|
+
id: generateLayerId(),
|
|
17554
|
+
layerType: LayerType.mapLayer
|
|
17555
|
+
};
|
|
17556
|
+
var dwdRadarLayer = {
|
|
17557
|
+
service: DWDWXProdukt.url,
|
|
17558
|
+
name: 'WX-Produkt',
|
|
17559
|
+
format: 'image/png',
|
|
17560
|
+
enabled: true,
|
|
17561
|
+
id: generateLayerId(),
|
|
17562
|
+
layerType: LayerType.mapLayer
|
|
17563
|
+
}; // this needs authentication to work
|
|
16701
17564
|
|
|
16702
|
-
var
|
|
16703
|
-
|
|
16704
|
-
|
|
16705
|
-
|
|
16706
|
-
|
|
16707
|
-
|
|
16708
|
-
|
|
16709
|
-
|
|
16710
|
-
toggleTimeSliderHover({
|
|
16711
|
-
mapId: mapId,
|
|
16712
|
-
isTimeSliderHoverOn: !isTimeSliderHoverOn
|
|
16713
|
-
});
|
|
16714
|
-
}
|
|
16715
|
-
};
|
|
17565
|
+
var dwdObservationsWetterLayer = {
|
|
17566
|
+
service: DWDObservations.url,
|
|
17567
|
+
name: 'Wetter_Beobachtungen',
|
|
17568
|
+
style: 'Wetter_Symbole',
|
|
17569
|
+
format: 'image/png',
|
|
17570
|
+
enabled: true,
|
|
17571
|
+
id: generateLayerId(),
|
|
17572
|
+
layerType: LayerType.mapLayer // headers: [{ name: 'Authorization', value: 'Basic ...' }]
|
|
16716
17573
|
|
|
16717
|
-
document.addEventListener('keydown', handleKeyDown);
|
|
16718
|
-
return function () {
|
|
16719
|
-
document.removeEventListener('keydown', handleKeyDown);
|
|
16720
|
-
};
|
|
16721
|
-
}, [mapId, isTimeSliderHoverOn, toggleTimeSliderHover]);
|
|
16722
|
-
return /*#__PURE__*/React.createElement(TimeSlider, {
|
|
16723
|
-
buttons: /*#__PURE__*/React.createElement(TimeSliderButtonsConnect, {
|
|
16724
|
-
mapId: mapId
|
|
16725
|
-
}),
|
|
16726
|
-
rail: /*#__PURE__*/React.createElement(TimeSliderRailConnect, {
|
|
16727
|
-
mapId: mapId,
|
|
16728
|
-
sourceId: sourceId
|
|
16729
|
-
}),
|
|
16730
|
-
scaleSlider: /*#__PURE__*/React.createElement(TimeSliderScaleSliderConnect, {
|
|
16731
|
-
mapId: mapId
|
|
16732
|
-
}),
|
|
16733
|
-
legend: /*#__PURE__*/React.createElement(TimeSliderLegendConnect$1, {
|
|
16734
|
-
mapId: mapId,
|
|
16735
|
-
sourceId: sourceId
|
|
16736
|
-
})
|
|
16737
|
-
});
|
|
16738
17574
|
};
|
|
16739
|
-
|
|
16740
|
-
|
|
16741
|
-
|
|
16742
|
-
|
|
16743
|
-
|
|
16744
|
-
|
|
16745
|
-
|
|
16746
|
-
|
|
16747
|
-
|
|
17575
|
+
var dwdObservationsWetterLayerWithHeader = {
|
|
17576
|
+
service: DWDObservations.url,
|
|
17577
|
+
name: 'Wetter_Beobachtungen',
|
|
17578
|
+
style: 'Wetter_Symbole',
|
|
17579
|
+
format: 'image/png',
|
|
17580
|
+
enabled: true,
|
|
17581
|
+
id: generateLayerId(),
|
|
17582
|
+
layerType: LayerType.mapLayer,
|
|
17583
|
+
headers: [{
|
|
17584
|
+
name: 'authorization',
|
|
17585
|
+
value: 'Basic aW50cmFuZXQtdXNlcjpDQnMjMTEh'
|
|
17586
|
+
}]
|
|
17587
|
+
}; // this needs authentication to work
|
|
16748
17588
|
|
|
17589
|
+
var dwdObservationsWindLayer = {
|
|
17590
|
+
service: DWDObservations.url,
|
|
17591
|
+
name: 'Wetter_Beobachtungen',
|
|
17592
|
+
style: 'Wetter_Wind',
|
|
17593
|
+
format: 'image/png',
|
|
17594
|
+
enabled: true,
|
|
17595
|
+
id: generateLayerId(),
|
|
17596
|
+
layerType: LayerType.mapLayer
|
|
17597
|
+
}; // FMI open wms Layers List
|
|
16749
17598
|
|
|
16750
|
-
var
|
|
17599
|
+
var FMITemp = {
|
|
17600
|
+
service: FMIopenwms.url,
|
|
17601
|
+
name: 'temperature-forecast',
|
|
17602
|
+
format: 'image/png',
|
|
17603
|
+
enabled: true,
|
|
17604
|
+
id: generateLayerId(),
|
|
17605
|
+
layerType: LayerType.mapLayer
|
|
17606
|
+
}; // Met Norway Layers List
|
|
17607
|
+
|
|
17608
|
+
var MetNoTemp = {
|
|
17609
|
+
service: MetNorwayService.url,
|
|
17610
|
+
name: 'thredds_meps_latest_wind',
|
|
17611
|
+
format: 'image/png',
|
|
17612
|
+
enabled: true,
|
|
17613
|
+
id: generateLayerId(),
|
|
17614
|
+
layerType: LayerType.mapLayer
|
|
17615
|
+
};
|
|
17616
|
+
var metNorwayWind1 = {
|
|
17617
|
+
service: MetNorwayService.url,
|
|
17618
|
+
name: 'thredds_meps_latest_wind',
|
|
17619
|
+
format: 'image/png',
|
|
17620
|
+
enabled: true,
|
|
17621
|
+
id: generateLayerId(),
|
|
17622
|
+
layerType: LayerType.mapLayer
|
|
17623
|
+
};
|
|
17624
|
+
var metNorwayWind2 = {
|
|
17625
|
+
service: MetNorwayService.url,
|
|
17626
|
+
name: 'thredds_aromearctic_extracted_t',
|
|
17627
|
+
format: 'image/png',
|
|
17628
|
+
enabled: true,
|
|
17629
|
+
id: generateLayerId(),
|
|
17630
|
+
layerType: LayerType.mapLayer
|
|
17631
|
+
};
|
|
17632
|
+
var metNorwayWind3 = {
|
|
17633
|
+
service: MetNorwayService.url,
|
|
17634
|
+
name: 'thredds_nk800_temperature',
|
|
17635
|
+
format: 'image/png',
|
|
17636
|
+
enabled: true,
|
|
17637
|
+
id: generateLayerId(),
|
|
17638
|
+
layerType: LayerType.mapLayer
|
|
17639
|
+
};
|
|
17640
|
+
var metNorwayLatestT = {
|
|
17641
|
+
service: MetNorwayService.url,
|
|
17642
|
+
name: 'thredds_meps_latest_t',
|
|
17643
|
+
format: 'image/png',
|
|
17644
|
+
enabled: true,
|
|
17645
|
+
id: generateLayerId(),
|
|
17646
|
+
layerType: LayerType.mapLayer
|
|
17647
|
+
};
|
|
17648
|
+
var metNorwaySalinaty = {
|
|
17649
|
+
service: MetNorwayService.url,
|
|
17650
|
+
name: 'thredds_barents_2_5km_1h_salinity',
|
|
17651
|
+
format: 'image/png',
|
|
17652
|
+
enabled: true,
|
|
17653
|
+
id: generateLayerId(),
|
|
17654
|
+
layerType: LayerType.mapLayer
|
|
17655
|
+
};
|
|
17656
|
+
var msgFesEUMETSAT = {
|
|
17657
|
+
service: EUMETSAT.url,
|
|
17658
|
+
name: 'msg_fes:rgb_eview',
|
|
17659
|
+
enabled: true,
|
|
17660
|
+
id: generateLayerId(),
|
|
17661
|
+
layerType: LayerType.mapLayer
|
|
17662
|
+
};
|
|
17663
|
+
var msgNaturalenhncdEUMETSAT = {
|
|
17664
|
+
service: eumetviewEUMETSAT.url,
|
|
17665
|
+
name: 'meteosat:msg_naturalenhncd',
|
|
17666
|
+
enabled: true,
|
|
17667
|
+
id: generateLayerId(),
|
|
17668
|
+
layerType: LayerType.mapLayer
|
|
17669
|
+
};
|
|
17670
|
+
var msgAshEUMETSAT = {
|
|
17671
|
+
service: eumetviewEUMETSAT.url,
|
|
17672
|
+
name: 'meteosat:msg_ash',
|
|
17673
|
+
enabled: true,
|
|
17674
|
+
id: generateLayerId(),
|
|
17675
|
+
layerType: LayerType.mapLayer
|
|
17676
|
+
};
|
|
17677
|
+
var msgCthEUMETSAT = {
|
|
17678
|
+
service: eumetviewEUMETSAT.url,
|
|
17679
|
+
name: 'meteosat:msg_cth',
|
|
17680
|
+
enabled: true,
|
|
17681
|
+
id: generateLayerId(),
|
|
17682
|
+
layerType: LayerType.mapLayer
|
|
17683
|
+
};
|
|
17684
|
+
var msgFogEUMETSAT = {
|
|
17685
|
+
service: eumetviewEUMETSAT.url,
|
|
17686
|
+
name: 'meteosat:msg_fog',
|
|
17687
|
+
enabled: true,
|
|
17688
|
+
id: generateLayerId(),
|
|
17689
|
+
layerType: LayerType.mapLayer
|
|
17690
|
+
};
|
|
17691
|
+
var msgNaturalEUMETSAT = {
|
|
17692
|
+
service: eumetviewEUMETSAT.url,
|
|
17693
|
+
name: 'meteosat:msg_natural',
|
|
17694
|
+
enabled: true,
|
|
17695
|
+
id: generateLayerId(),
|
|
17696
|
+
layerType: LayerType.mapLayer
|
|
17697
|
+
};
|
|
17698
|
+
|
|
17699
|
+
var publicLayers = /*#__PURE__*/Object.freeze({
|
|
17700
|
+
__proto__: null,
|
|
17701
|
+
baseLayer: baseLayer$1,
|
|
17702
|
+
baseLayerGrey: baseLayerGrey$1,
|
|
17703
|
+
baseLayerOpenStreetMapNL: baseLayerOpenStreetMapNL$1,
|
|
17704
|
+
baseLayerArcGisCanvas: baseLayerArcGisCanvas$1,
|
|
17705
|
+
baseLayerWorldMap: baseLayerWorldMap$1,
|
|
17706
|
+
baseLayerHeiGit: baseLayerHeiGit,
|
|
17707
|
+
overLayer: overLayer$1,
|
|
17708
|
+
msgCppLayer: msgCppLayer,
|
|
17709
|
+
veiligheidsRegiosGebiedsIndelingenLabels: veiligheidsRegiosGebiedsIndelingenLabels,
|
|
17710
|
+
veiligheidsRegiosGebiedsIndelingen: veiligheidsRegiosGebiedsIndelingen,
|
|
17711
|
+
radarLayer: radarLayer$1,
|
|
17712
|
+
radarLayerWithError: radarLayerWithError,
|
|
17713
|
+
obsAirTemperature: obsAirTemperature,
|
|
17714
|
+
obsWind: obsWind,
|
|
17715
|
+
obsAirPressureAtSeaLevel: obsAirPressureAtSeaLevel,
|
|
17716
|
+
obsRelativeHumidity: obsRelativeHumidity,
|
|
17717
|
+
obsGlobalSolarRadiation: obsGlobalSolarRadiation,
|
|
17718
|
+
obsPrecipitationIntensityPWS: obsPrecipitationIntensityPWS,
|
|
17719
|
+
harmonieRelativeHumidityPl: harmonieRelativeHumidityPl,
|
|
17720
|
+
harmonieWindPl: harmonieWindPl,
|
|
17721
|
+
harmonieAirTemperature: harmonieAirTemperature,
|
|
17722
|
+
harmoniePrecipitation: harmoniePrecipitation,
|
|
17723
|
+
harmoniePressure: harmoniePressure,
|
|
17724
|
+
harmonieWindFlags: harmonieWindFlags,
|
|
17725
|
+
klimaatAtlasTG3: klimaatAtlasTG3,
|
|
17726
|
+
dwdWarningLayer: dwdWarningLayer,
|
|
17727
|
+
dwdRadarLayer: dwdRadarLayer,
|
|
17728
|
+
dwdObservationsWetterLayer: dwdObservationsWetterLayer,
|
|
17729
|
+
dwdObservationsWetterLayerWithHeader: dwdObservationsWetterLayerWithHeader,
|
|
17730
|
+
dwdObservationsWindLayer: dwdObservationsWindLayer,
|
|
17731
|
+
FMITemp: FMITemp,
|
|
17732
|
+
MetNoTemp: MetNoTemp,
|
|
17733
|
+
metNorwayWind1: metNorwayWind1,
|
|
17734
|
+
metNorwayWind2: metNorwayWind2,
|
|
17735
|
+
metNorwayWind3: metNorwayWind3,
|
|
17736
|
+
metNorwayLatestT: metNorwayLatestT,
|
|
17737
|
+
metNorwaySalinaty: metNorwaySalinaty,
|
|
17738
|
+
msgFesEUMETSAT: msgFesEUMETSAT,
|
|
17739
|
+
msgNaturalenhncdEUMETSAT: msgNaturalenhncdEUMETSAT,
|
|
17740
|
+
msgAshEUMETSAT: msgAshEUMETSAT,
|
|
17741
|
+
msgCthEUMETSAT: msgCthEUMETSAT,
|
|
17742
|
+
msgFogEUMETSAT: msgFogEUMETSAT,
|
|
17743
|
+
msgNaturalEUMETSAT: msgNaturalEUMETSAT
|
|
17744
|
+
});
|
|
16751
17745
|
|
|
16752
17746
|
/* *
|
|
16753
17747
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -21059,10 +22053,10 @@ var useStyles$4 = makeStyles(function (theme) {
|
|
|
21059
22053
|
var defaultBbox = {
|
|
21060
22054
|
srs: 'EPSG:3857',
|
|
21061
22055
|
bbox: {
|
|
21062
|
-
left:
|
|
21063
|
-
bottom:
|
|
21064
|
-
right:
|
|
21065
|
-
top:
|
|
22056
|
+
left: 58703.6377,
|
|
22057
|
+
bottom: 6408480.4514,
|
|
22058
|
+
right: 3967387.5161,
|
|
22059
|
+
top: 11520588.9031
|
|
21066
22060
|
}
|
|
21067
22061
|
};
|
|
21068
22062
|
var ConfigurableConnectedMap = function ConfigurableConnectedMap(_ref) {
|
|
@@ -21152,6 +22146,14 @@ var ConfigurableConnectedMap = function ConfigurableConnectedMap(_ref) {
|
|
|
21152
22146
|
mapId: mapId,
|
|
21153
22147
|
animationDelay: getSpeedDelay(animationPayload.speed)
|
|
21154
22148
|
}));
|
|
22149
|
+
} // If animation interval set, set the timestep auto property to false
|
|
22150
|
+
|
|
22151
|
+
|
|
22152
|
+
if (animationPayload && animationPayload.interval) {
|
|
22153
|
+
dispatch(toggleTimestepAuto({
|
|
22154
|
+
mapId: mapId,
|
|
22155
|
+
timestepAuto: false
|
|
22156
|
+
}));
|
|
21155
22157
|
}
|
|
21156
22158
|
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
21157
22159
|
|
|
@@ -21214,93 +22216,35 @@ var useStyles$3 = makeStyles(function (theme) {
|
|
|
21214
22216
|
}
|
|
21215
22217
|
};
|
|
21216
22218
|
});
|
|
21217
|
-
|
|
21218
|
-
var makeIndexedMapId = function makeIndexedMapId(baseId, mapNo) {
|
|
21219
|
-
return "".concat(baseId, "_").concat(mapNo);
|
|
21220
|
-
};
|
|
21221
|
-
|
|
21222
22219
|
var MultiMapViewConnect = function MultiMapViewConnect(_ref) {
|
|
21223
22220
|
var maps = _ref.maps,
|
|
21224
22221
|
rows = _ref.rows,
|
|
21225
22222
|
cols = _ref.cols,
|
|
21226
|
-
_ref$syncArea = _ref.syncArea,
|
|
21227
|
-
syncArea = _ref$syncArea === void 0 ? true : _ref$syncArea,
|
|
21228
|
-
_ref$syncTime = _ref.syncTime,
|
|
21229
|
-
syncTime = _ref$syncTime === void 0 ? true : _ref$syncTime,
|
|
21230
22223
|
_ref$showTimeSlider = _ref.showTimeSlider,
|
|
21231
22224
|
showTimeSlider = _ref$showTimeSlider === void 0 ? true : _ref$showTimeSlider,
|
|
21232
22225
|
_ref$showZoomControls = _ref.showZoomControls,
|
|
21233
22226
|
showZoomControls = _ref$showZoomControls === void 0 ? true : _ref$showZoomControls;
|
|
21234
|
-
var id = React__default.useRef(generateMapId()).current;
|
|
21235
22227
|
var classes = useStyles$3();
|
|
21236
22228
|
var dispatch = useDispatch();
|
|
21237
|
-
var syncGroupAddGroup$1 = React__default.useCallback(function (payload) {
|
|
21238
|
-
return dispatch(syncGroupAddGroup(payload));
|
|
21239
|
-
}, [dispatch]);
|
|
21240
22229
|
var syncGroupAddTarget$1 = React__default.useCallback(function (payload) {
|
|
21241
22230
|
return dispatch(syncGroupAddTarget(payload));
|
|
21242
22231
|
}, [dispatch]);
|
|
21243
22232
|
React__default.useEffect(function () {
|
|
21244
|
-
|
|
21245
|
-
|
|
21246
|
-
groupId: "Time_".concat(id),
|
|
21247
|
-
title: "Time group for ".concat(id),
|
|
21248
|
-
type: SYNCGROUPS_TYPE_SETTIME
|
|
21249
|
-
});
|
|
21250
|
-
syncGroupAddGroup$1({
|
|
21251
|
-
groupId: "Area_".concat(id),
|
|
21252
|
-
title: "Area group for ".concat(id),
|
|
21253
|
-
type: SYNCGROUPS_TYPE_SETBBOX
|
|
21254
|
-
});
|
|
21255
|
-
/* Add this target to the group for area and time */
|
|
21256
|
-
|
|
21257
|
-
syncGroupAddTarget$1({
|
|
21258
|
-
groupId: "Time_".concat(id),
|
|
21259
|
-
targetId: id,
|
|
21260
|
-
linked: syncTime
|
|
21261
|
-
});
|
|
21262
|
-
syncGroupAddTarget$1({
|
|
21263
|
-
groupId: "Area_".concat(id),
|
|
21264
|
-
targetId: id,
|
|
21265
|
-
linked: syncArea
|
|
21266
|
-
});
|
|
21267
|
-
/* Also add all tiles to the syncgroup for area and time */
|
|
21268
|
-
|
|
21269
|
-
maps.forEach(function (map, mapIndex) {
|
|
21270
|
-
syncGroupAddTarget$1({
|
|
21271
|
-
groupId: "Time_".concat(id),
|
|
21272
|
-
targetId: makeIndexedMapId(id, mapIndex),
|
|
21273
|
-
linked: syncTime
|
|
21274
|
-
});
|
|
21275
|
-
syncGroupAddTarget$1({
|
|
21276
|
-
groupId: "Area_".concat(id),
|
|
21277
|
-
targetId: makeIndexedMapId(id, mapIndex),
|
|
21278
|
-
linked: syncArea
|
|
21279
|
-
});
|
|
21280
|
-
/* Layer sync groups */
|
|
21281
|
-
|
|
21282
|
-
var layerSyncGroup = map.layerSyncGroupId;
|
|
21283
|
-
|
|
21284
|
-
if (layerSyncGroup) {
|
|
21285
|
-
/* Always add the group, it does not harm if it is already defined previousely */
|
|
21286
|
-
syncGroupAddGroup$1({
|
|
21287
|
-
groupId: layerSyncGroup,
|
|
21288
|
-
title: "Layer group for ".concat(id),
|
|
21289
|
-
type: SYNCGROUPS_TYPE_SETLAYERACTIONS
|
|
21290
|
-
});
|
|
22233
|
+
maps.forEach(function (map) {
|
|
22234
|
+
map.syncGroupsIds && map.syncGroupsIds.forEach(function (syncGroupsId) {
|
|
21291
22235
|
syncGroupAddTarget$1({
|
|
21292
|
-
groupId:
|
|
21293
|
-
targetId:
|
|
22236
|
+
groupId: syncGroupsId,
|
|
22237
|
+
targetId: map.id,
|
|
21294
22238
|
linked: true
|
|
21295
22239
|
});
|
|
21296
|
-
}
|
|
22240
|
+
});
|
|
21297
22241
|
});
|
|
21298
|
-
}, [
|
|
22242
|
+
}, [maps, syncGroupAddTarget$1]);
|
|
21299
22243
|
var mapStyle = {
|
|
21300
22244
|
width: "".concat(Math.round(100 / cols), "%"),
|
|
21301
22245
|
height: "".concat(Math.round(100 / rows), "%")
|
|
21302
22246
|
};
|
|
21303
|
-
var firstMapId =
|
|
22247
|
+
var firstMapId = maps[0].id;
|
|
21304
22248
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
21305
22249
|
style: {
|
|
21306
22250
|
height: '100%',
|
|
@@ -21320,10 +22264,10 @@ var MultiMapViewConnect = function MultiMapViewConnect(_ref) {
|
|
|
21320
22264
|
width: '100%'
|
|
21321
22265
|
}
|
|
21322
22266
|
}, showTimeSlider && /*#__PURE__*/React__default.createElement(TimeSliderConnect, {
|
|
21323
|
-
sourceId:
|
|
22267
|
+
sourceId: firstMapId,
|
|
21324
22268
|
mapId: firstMapId
|
|
21325
22269
|
})), maps.map(function (map, mapIndex) {
|
|
21326
|
-
var mapId =
|
|
22270
|
+
var mapId = map.id;
|
|
21327
22271
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
21328
22272
|
className: classes.box,
|
|
21329
22273
|
key: mapId,
|
|
@@ -21363,9 +22307,11 @@ var useGetLatestReferenceTime = function useGetLatestReferenceTime(inputLayer) {
|
|
|
21363
22307
|
/* Helper to make a map layer preset */
|
|
21364
22308
|
|
|
21365
22309
|
|
|
21366
|
-
var makeMapPreset = function makeMapPreset(timeIncrement, uniqueId, referenceTime, layers,
|
|
22310
|
+
var makeMapPreset = function makeMapPreset(timeIncrement, uniqueId, referenceTime, layers, syncGroupsIds, displayLayerManagerButtonInMap, displayDimensionSelectButtonInMap) {
|
|
21367
22311
|
var mapTime = moment.utc(referenceTime).add(timeIncrement, 'h').format('YYYY-MM-DDTHH:mm:ss[Z]');
|
|
21368
22312
|
return {
|
|
22313
|
+
id: uniqueId,
|
|
22314
|
+
syncGroupsIds: syncGroupsIds,
|
|
21369
22315
|
title: "FC +".concat(timeIncrement),
|
|
21370
22316
|
displayTimeInMap: true,
|
|
21371
22317
|
bbox: {
|
|
@@ -21388,14 +22334,13 @@ var makeMapPreset = function makeMapPreset(timeIncrement, uniqueId, referenceTim
|
|
|
21388
22334
|
});
|
|
21389
22335
|
}),
|
|
21390
22336
|
displayLayerManagerButtonInMap: displayLayerManagerButtonInMap,
|
|
21391
|
-
displayDimensionSelectButtonInMap: displayDimensionSelectButtonInMap
|
|
21392
|
-
layerSyncGroupId: layerSyncGroupId
|
|
22337
|
+
displayDimensionSelectButtonInMap: displayDimensionSelectButtonInMap
|
|
21393
22338
|
};
|
|
21394
22339
|
};
|
|
21395
22340
|
var HarmRefTimePreset = function HarmRefTimePreset(_ref) {
|
|
21396
22341
|
var _ref$layers = _ref.layers,
|
|
21397
22342
|
layers = _ref$layers === void 0 ? [harmoniePressure, harmonieWindFlags, harmoniePrecipitation] : _ref$layers,
|
|
21398
|
-
|
|
22343
|
+
syncGroupsIds = _ref.syncGroupsIds;
|
|
21399
22344
|
|
|
21400
22345
|
/* Get latest reference time for this layer */
|
|
21401
22346
|
var latestReferenceTime = useGetLatestReferenceTime(layers[0]);
|
|
@@ -21406,7 +22351,7 @@ var HarmRefTimePreset = function HarmRefTimePreset(_ref) {
|
|
|
21406
22351
|
/* Add the layers with the different map times */
|
|
21407
22352
|
|
|
21408
22353
|
var maps = timeIncrements.map(function (increment, index) {
|
|
21409
|
-
return makeMapPreset(increment, "harm_precip".concat(increment), latestReferenceTime, layers,
|
|
22354
|
+
return makeMapPreset(increment, "harm_precip".concat(increment), latestReferenceTime, layers, syncGroupsIds, index === 0 || !syncGroupsIds, index === 0 || !syncGroupsIds);
|
|
21410
22355
|
});
|
|
21411
22356
|
return /*#__PURE__*/React.createElement(MultiMapViewConnect, {
|
|
21412
22357
|
rows: 3,
|
|
@@ -21446,13 +22391,21 @@ var HarmonieTempAndPrecipPreset = function HarmonieTempAndPrecipPreset(_ref) {
|
|
|
21446
22391
|
var layers = _ref.layers;
|
|
21447
22392
|
|
|
21448
22393
|
/* Get all the reference times for this layer */
|
|
21449
|
-
var referenceTimes = useGetReferenceTimes(layers.
|
|
22394
|
+
var referenceTimes = useGetReferenceTimes(layers.topRow);
|
|
21450
22395
|
if (referenceTimes.length === 0) return /*#__PURE__*/React.createElement("div", null, "Loading...");
|
|
21451
22396
|
/* Helper to make a map layer prest */
|
|
21452
22397
|
|
|
21453
|
-
var makeMapPreset = function makeMapPreset(referenceTime, uniqueId, layer,
|
|
22398
|
+
var makeMapPreset = function makeMapPreset(referenceTime, uniqueId, layer, syncGroupsIds, col) {
|
|
21454
22399
|
return {
|
|
22400
|
+
id: uniqueId,
|
|
21455
22401
|
title: "Harmonie run ".concat("".concat(referenceTime.substring(8, 13).replace('T', ' / '))),
|
|
22402
|
+
bbox: {
|
|
22403
|
+
left: -450651.2255879827,
|
|
22404
|
+
bottom: 6490531.093143953,
|
|
22405
|
+
right: 1428345.8183648037,
|
|
22406
|
+
top: 7438773.776232235
|
|
22407
|
+
},
|
|
22408
|
+
srs: 'EPSG:3857',
|
|
21456
22409
|
layers: [Object.assign(Object.assign({}, layer), {
|
|
21457
22410
|
id: uniqueId,
|
|
21458
22411
|
dimensions: [{
|
|
@@ -21460,9 +22413,9 @@ var HarmonieTempAndPrecipPreset = function HarmonieTempAndPrecipPreset(_ref) {
|
|
|
21460
22413
|
currentValue: referenceTime
|
|
21461
22414
|
}]
|
|
21462
22415
|
})],
|
|
21463
|
-
|
|
21464
|
-
displayLayerManagerButtonInMap: col === 0 || !
|
|
21465
|
-
displayDimensionSelectButtonInMap: col === 0 || !
|
|
22416
|
+
syncGroupsIds: syncGroupsIds,
|
|
22417
|
+
displayLayerManagerButtonInMap: col === 0 || !syncGroupsIds,
|
|
22418
|
+
displayDimensionSelectButtonInMap: col === 0 || !syncGroupsIds
|
|
21466
22419
|
};
|
|
21467
22420
|
};
|
|
21468
22421
|
/* Make the preset */
|
|
@@ -21473,14 +22426,14 @@ var HarmonieTempAndPrecipPreset = function HarmonieTempAndPrecipPreset(_ref) {
|
|
|
21473
22426
|
|
|
21474
22427
|
var mapsTemperature = _toConsumableArray(Array(nCols)).map(function (_, index) {
|
|
21475
22428
|
var refTime = referenceTimes[referenceTimes.length - nCols + index];
|
|
21476
|
-
return makeMapPreset(refTime, "harm_air".concat(index), layers.
|
|
22429
|
+
return makeMapPreset(refTime, "harm_air".concat(index), layers.topRow, layers.topRowSyncGroups, index);
|
|
21477
22430
|
});
|
|
21478
22431
|
/* Add the harmonie precipitation layers with the different referencetimes */
|
|
21479
22432
|
|
|
21480
22433
|
|
|
21481
22434
|
var mapsPrecipitation = _toConsumableArray(Array(nCols)).map(function (_, index) {
|
|
21482
22435
|
var refTime = referenceTimes[referenceTimes.length - nCols + index];
|
|
21483
|
-
return makeMapPreset(refTime, "harm_precip".concat(index), layers.
|
|
22436
|
+
return makeMapPreset(refTime, "harm_precip".concat(index), layers.bottomRow, layers.bottomRowSyncGroups, index);
|
|
21484
22437
|
});
|
|
21485
22438
|
|
|
21486
22439
|
var maps = mapsTemperature.concat(mapsPrecipitation);
|
|
@@ -21631,10 +22584,10 @@ var componentsLookUp = function componentsLookUp(_ref) {
|
|
|
21631
22584
|
case 'HarmRefTimePreset':
|
|
21632
22585
|
{
|
|
21633
22586
|
var _layers = initialProps.layers,
|
|
21634
|
-
|
|
22587
|
+
syncGroupsIds = initialProps.syncGroupsIds;
|
|
21635
22588
|
return /*#__PURE__*/React__default.createElement(HarmRefTimePreset, {
|
|
21636
22589
|
layers: _layers || [],
|
|
21637
|
-
|
|
22590
|
+
syncGroupsIds: syncGroupsIds,
|
|
21638
22591
|
"data-testid": "coreHarmonieRefTimePreset"
|
|
21639
22592
|
});
|
|
21640
22593
|
}
|
|
@@ -21642,7 +22595,8 @@ var componentsLookUp = function componentsLookUp(_ref) {
|
|
|
21642
22595
|
case 'ConfigurableMultiMapWithSlider':
|
|
21643
22596
|
{
|
|
21644
22597
|
var _mapPreset = initialProps.mapPreset,
|
|
21645
|
-
_shouldShowZoomControls = initialProps.shouldShowZoomControls
|
|
22598
|
+
_shouldShowZoomControls = initialProps.shouldShowZoomControls,
|
|
22599
|
+
_syncGroupsIds = initialProps.syncGroupsIds;
|
|
21646
22600
|
if (!_mapPreset || _mapPreset.length === 0) return null;
|
|
21647
22601
|
return /*#__PURE__*/React__default.createElement(MultiMapViewConnect, {
|
|
21648
22602
|
rows: 2,
|
|
@@ -21651,6 +22605,7 @@ var componentsLookUp = function componentsLookUp(_ref) {
|
|
|
21651
22605
|
maps: _mapPreset.map(function (p, i) {
|
|
21652
22606
|
return {
|
|
21653
22607
|
id: "".concat(id, "_").concat(i),
|
|
22608
|
+
syncGroupsIds: _syncGroupsIds,
|
|
21654
22609
|
layers: p.layers || [],
|
|
21655
22610
|
activeLayerId: p.activeLayerId || undefined,
|
|
21656
22611
|
baseLayer: p.baseLayer || undefined,
|
|
@@ -22025,9 +22980,7 @@ var SyncGroupViewer = function SyncGroupViewer(_ref) {
|
|
|
22025
22980
|
});
|
|
22026
22981
|
};
|
|
22027
22982
|
|
|
22028
|
-
return /*#__PURE__*/React.createElement(
|
|
22029
|
-
"data-testid": "syncGroupViewer"
|
|
22030
|
-
}, /*#__PURE__*/React.createElement(ToolContainerDraggable, {
|
|
22983
|
+
return /*#__PURE__*/React.createElement(ToolContainerDraggable, {
|
|
22031
22984
|
title: "Sync",
|
|
22032
22985
|
startSize: {
|
|
22033
22986
|
width: 349,
|
|
@@ -22035,7 +22988,8 @@ var SyncGroupViewer = function SyncGroupViewer(_ref) {
|
|
|
22035
22988
|
},
|
|
22036
22989
|
headerSize: "medium",
|
|
22037
22990
|
isOpen: isOpen,
|
|
22038
|
-
onClose: onClose
|
|
22991
|
+
onClose: onClose,
|
|
22992
|
+
"data-testid": "syncGroupViewer"
|
|
22039
22993
|
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(SyncGroupList, {
|
|
22040
22994
|
viewStateData: syncGroupViewState.zoompane,
|
|
22041
22995
|
title: "ZoomPane",
|
|
@@ -22072,7 +23026,7 @@ var SyncGroupViewer = function SyncGroupViewer(_ref) {
|
|
|
22072
23026
|
removeGroup: function removeGroup(groupId) {
|
|
22073
23027
|
return _removeGroup('level', groupId);
|
|
22074
23028
|
}
|
|
22075
|
-
})))
|
|
23029
|
+
})));
|
|
22076
23030
|
};
|
|
22077
23031
|
|
|
22078
23032
|
/* *
|
|
@@ -22310,4 +23264,4 @@ var CoreThemeStoreProvider = function CoreThemeStoreProvider(_ref2) {
|
|
|
22310
23264
|
}, children)));
|
|
22311
23265
|
};
|
|
22312
23266
|
|
|
22313
|
-
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, dateFormat, defaultConfigurations, filterNonTimeDimensions, generateLayerId, generateMapId, generateTimesliderId, getFirstTimeStepForLayerId, getLastTimeStepForLayerId, getNextTimeStepForLayerId, getPreviousTimeStepForLayerId, getWMJSDimensionForLayerAndDimension, getWMJSMapById, getWMJSTimeDimensionForLayerId, getWMLayerById, reducer$6 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 };
|
|
23267
|
+
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, dateFormat, defaultConfigurations, filterBaseLayers, filterBbox, filterDimensions, filterMapLayers, filterMapPresets, filterNonTimeDimensions, filterServices, filterSrs, generateLayerId, generateMapId, generateTimesliderId, getFirstTimeStepForLayerId, getInitialPresets, getLastTimeStepForLayerId, getNextTimeStepForLayerId, getPreviousTimeStepForLayerId, getWMJSDimensionForLayerAndDimension, getWMJSMapById, getWMJSTimeDimensionForLayerId, getWMLayerById, reducer$6 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 };
|