@opengeoweb/core 2.13.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.esm.js +249 -209
- package/index.umd.js +305 -270
- package/lib/components/ConfigurableMap/ConfigurableMapConnect.d.ts +1 -0
- package/lib/components/LayerManager/AddLayersButton/AddLayersButton.d.ts +0 -2
- package/lib/components/LayerManager/AddLayersPopup/AddLayersPopup.d.ts +0 -2
- package/lib/components/LayerManager/BaseLayerRow/BaseLayers/BaseLayersConnect.d.ts +1 -0
- package/lib/components/LayerManager/LayerSelect/ServiceOptionsDialog/ServiceOptionsDialog.d.ts +0 -2
- package/lib/components/LayerManager/LayerSelect/ServicePopup/ServicePopup.d.ts +3 -1
- package/lib/components/LayerManager/LayerSelect/ServicePopup/ServicePopupConnect.d.ts +1 -0
- package/lib/components/Legend/LegendConnect.d.ts +1 -1
- package/lib/components/MapView/MapViewConnect.LayerChangeEnabledOpacity.stories.d.ts +2 -2
- package/lib/components/MapView/MapViewConnect.MapPin.stories.d.ts +4 -0
- package/lib/components/MapView/MapViewConnect.stories.d.ts +0 -1
- package/lib/components/MapWarning/MapWarningProperties.d.ts +16 -1
- package/lib/components/MultiMapDimensionSelect/DimensionSelectSlider.d.ts +1 -1
- package/lib/components/ReactMapView/ReactMapView.d.ts +1 -0
- package/lib/components/SyncGroups/SimpleTimeSliderConnect.d.ts +11 -1
- package/lib/components/TimeSlider/TimeSliderButtons/AutoUpdateButton/AutoUpdateButtonConnect.d.ts +8 -1
- package/lib/components/TimeSlider/TimeSliderButtons/PlayButton/PlayButtonConnect.d.ts +27 -2
- package/lib/components/TimeSlider/TimeSliderButtons/SpeedButton/SpeedButtonConnect.d.ts +2 -2
- package/lib/components/TimeSlider/TimeSliderConnect.d.ts +13 -1
- package/lib/components/TimeSlider/TimeSliderLegend/TimeSliderLegendConnect.d.ts +26 -1
- package/lib/components/TimeSlider/TimeSliderRail/TimeSliderRailConnect.d.ts +21 -2
- package/lib/components/TimeSlider/TimeSliderScaleSlider/TimeSliderScaleSliderConnect.d.ts +15 -1
- package/lib/components/WMSLoader/WMSLayerTree/WMSLayerTreeConnect.d.ts +14 -1
- package/lib/components/WMSLoader/services.d.ts +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/store/layerSelect/types.d.ts +2 -0
- package/lib/store/mapStore/layers/reducer.d.ts +3 -1
- package/lib/store/mapStore/layers/selectors.d.ts +5 -5
- package/lib/store/mapStore/layers/types.d.ts +1 -0
- package/lib/store/mapStore/map/selectors.d.ts +4 -4
- package/lib/store/mapStore/map/types.d.ts +1 -0
- package/lib/store/mapStore/map/utils.d.ts +2 -1
- package/lib/store/mapStore/service/selectors.d.ts +2 -0
- package/lib/store/mapStore/service/types.d.ts +1 -0
- package/package.json +8 -7
- package/lib/components/CustomSwitch/CustomSwitch.d.ts +0 -3
- package/lib/components/CustomSwitch/CustomSwitch.spec.d.ts +0 -1
- package/lib/components/CustomSwitch/CustomSwitch.stories.d.ts +0 -7
- package/lib/components/CustomSwitch/index.d.ts +0 -1
- package/lib/components/MapView/MapViewConnect.DisableMapPin.stories.d.ts +0 -5
package/index.esm.js
CHANGED
|
@@ -7,12 +7,13 @@ import _, { isEqual, debounce, throttle, range } from 'lodash';
|
|
|
7
7
|
import { takeLatest, put, select, call, all, takeEvery } from 'redux-saga/effects';
|
|
8
8
|
import { connect, useDispatch, useSelector, Provider } from 'react-redux';
|
|
9
9
|
import { Tooltip, Paper, Typography, Grid, InputLabel, IconButton, Box, CircularProgress, List, ListSubheader, ListItem, ListItemText, Dialog, DialogTitle, DialogContent, DialogContentText, TextField, DialogActions, Button, MenuItem, FormControl, LinearProgress, InputAdornment, ListItemSecondaryAction, ListItemIcon, Checkbox, Switch, Slider, FormControlLabel, Popover, useMediaQuery, useTheme, SliderThumb } from '@mui/material';
|
|
10
|
-
import { ToolButton, ToolContainerDraggable, TooltipSelect, AlertIcon,
|
|
10
|
+
import { ToolButton, ToolContainerDraggable, TooltipSelect, AlertIcon, tooltipContainerStyles, sliderHeaderStyle, CustomSlider, ToggleMenu, ManagerButton, EnableButton, AlertBanner, ManagerDeleteButton, CustomToggleButton, useIsMounted } from '@opengeoweb/shared';
|
|
11
11
|
import { Pause, Play, Cached, Add, Copy, Flag, DragHandle as DragHandle$1, Filter, Close, Search, Clear, ChevronLeft, ChevronRight, Edit, Delete, Home, Minus, Layers, Equalizer, Sort, Link, LinkOff, AutoUpdateActive, AutoUpdateInActive, TextIcon, FastForward, Options, SliderThumb as SliderThumb$1, List as List$1, ThemeWrapper, lightTheme } from '@opengeoweb/theme';
|
|
12
12
|
import makeStyles from '@mui/styles/makeStyles';
|
|
13
13
|
import { legendImageStore, WMImageEventType, getLegendGraphicURLForLayer, WMGetServiceFromStore, LayerType as LayerType$1, getMapImageStore, WMBBOX, debug, DebugType, WMJSMap, WMLayer } from '@opengeoweb/webmap';
|
|
14
14
|
import { Sortable, ReactSortable } from 'react-sortablejs';
|
|
15
15
|
import createStyles from '@mui/styles/createStyles';
|
|
16
|
+
import { FixedSizeList } from 'react-window';
|
|
16
17
|
import withStyles from '@mui/styles/withStyles';
|
|
17
18
|
import { debounce as debounce$1 } from 'throttle-debounce';
|
|
18
19
|
import cloneDeep from 'lodash.clonedeep';
|
|
@@ -971,6 +972,8 @@ var createMap = function createMap(_ref) {
|
|
|
971
972
|
activeMapPresetId = _ref$activeMapPresetI === void 0 ? null : _ref$activeMapPresetI,
|
|
972
973
|
_ref$displayMapPin = _ref.displayMapPin,
|
|
973
974
|
displayMapPin = _ref$displayMapPin === void 0 ? false : _ref$displayMapPin,
|
|
975
|
+
_ref$disableMapPin = _ref.disableMapPin,
|
|
976
|
+
disableMapPin = _ref$disableMapPin === void 0 ? false : _ref$disableMapPin,
|
|
974
977
|
_ref$shouldShowZoomCo = _ref.shouldShowZoomControls,
|
|
975
978
|
shouldShowZoomControls = _ref$shouldShowZoomCo === void 0 ? true : _ref$shouldShowZoomCo;
|
|
976
979
|
return {
|
|
@@ -998,6 +1001,7 @@ var createMap = function createMap(_ref) {
|
|
|
998
1001
|
isTimeSliderVisible: isTimeSliderVisible,
|
|
999
1002
|
activeMapPresetId: activeMapPresetId,
|
|
1000
1003
|
displayMapPin: displayMapPin,
|
|
1004
|
+
disableMapPin: disableMapPin,
|
|
1001
1005
|
shouldShowZoomControls: shouldShowZoomControls
|
|
1002
1006
|
};
|
|
1003
1007
|
};
|
|
@@ -1662,6 +1666,17 @@ var slice$5 = createSlice({
|
|
|
1662
1666
|
draft.availableBaseLayers.allIds.push(layer.id);
|
|
1663
1667
|
});
|
|
1664
1668
|
},
|
|
1669
|
+
setAvailableBaseLayers: function setAvailableBaseLayers(draft, action) {
|
|
1670
|
+
var layers = action.payload.layers;
|
|
1671
|
+
draft.availableBaseLayers.byId = {};
|
|
1672
|
+
draft.availableBaseLayers.allIds = []; // add new available baselayers
|
|
1673
|
+
|
|
1674
|
+
layers.forEach(function (layer) {
|
|
1675
|
+
if (layer.layerType !== LayerType.baseLayer || !layer.mapId) return;
|
|
1676
|
+
draft.availableBaseLayers.byId[layer.id] = createLayer(Object.assign({}, layer));
|
|
1677
|
+
draft.availableBaseLayers.allIds.push(layer.id);
|
|
1678
|
+
});
|
|
1679
|
+
},
|
|
1665
1680
|
onUpdateLayerInformation: function onUpdateLayerInformation(draft, action) {
|
|
1666
1681
|
var _action$payload11 = action.payload,
|
|
1667
1682
|
layerStyle = _action$payload11.layerStyle,
|
|
@@ -1945,12 +1960,13 @@ var getLayerStyles = createSelector(getLayerFromService, function (layer) {
|
|
|
1945
1960
|
* @returns {array} returnType: [] - array containing services
|
|
1946
1961
|
*/
|
|
1947
1962
|
|
|
1948
|
-
|
|
1963
|
+
createSelector(servicesStore, function (store) {
|
|
1949
1964
|
var services = store ? store.byId : {};
|
|
1950
1965
|
var arrayOfServiceObjects = Object.keys(services).map(function (key) {
|
|
1951
1966
|
return {
|
|
1952
1967
|
name: services[key].name,
|
|
1953
|
-
serviceUrl: services[key].serviceUrl
|
|
1968
|
+
serviceUrl: services[key].serviceUrl,
|
|
1969
|
+
isUserAddedService: services[key].isUserAddedService
|
|
1954
1970
|
};
|
|
1955
1971
|
});
|
|
1956
1972
|
return arrayOfServiceObjects;
|
|
@@ -4150,11 +4166,11 @@ var getPinLocation = createSelector(getMapById, function (store) {
|
|
|
4150
4166
|
* Example getDisableMapPin(store);
|
|
4151
4167
|
* @param {object} store store: object - store object
|
|
4152
4168
|
* @param {string} mapId mapId: string - Id of the map
|
|
4153
|
-
* @returns {boolean} returnType: boolean
|
|
4169
|
+
* @returns {boolean} returnType: boolean
|
|
4154
4170
|
*/
|
|
4155
4171
|
|
|
4156
4172
|
var getDisableMapPin = createSelector(getMapById, function (store) {
|
|
4157
|
-
return store ? store.disableMapPin :
|
|
4173
|
+
return store ? store.disableMapPin : false;
|
|
4158
4174
|
});
|
|
4159
4175
|
/**
|
|
4160
4176
|
* Returns the diplay map pin boolean for the current map
|
|
@@ -4369,7 +4385,8 @@ var slice = createSlice({
|
|
|
4369
4385
|
serviceId = _action$payload.serviceId,
|
|
4370
4386
|
serviceName = _action$payload.serviceName,
|
|
4371
4387
|
serviceUrl = _action$payload.serviceUrl,
|
|
4372
|
-
keywords = _action$payload.keywords
|
|
4388
|
+
keywords = _action$payload.keywords,
|
|
4389
|
+
isUserAddedService = _action$payload.isUserAddedService;
|
|
4373
4390
|
|
|
4374
4391
|
if (!draft.filters.activeServices.byId[serviceId]) {
|
|
4375
4392
|
draft.filters.activeServices.byId[serviceId] = {};
|
|
@@ -4404,6 +4421,7 @@ var slice = createSlice({
|
|
|
4404
4421
|
draft.filters.activeServices.byId[serviceId].serviceName = serviceName;
|
|
4405
4422
|
draft.filters.activeServices.byId[serviceId].serviceUrl = serviceUrl;
|
|
4406
4423
|
draft.filters.activeServices.byId[serviceId].enabled = true;
|
|
4424
|
+
draft.filters.activeServices.byId[serviceId].isUserAddedService = isUserAddedService;
|
|
4407
4425
|
draft.filters.activeServices.byId[serviceId].keywordsPerService = keywords;
|
|
4408
4426
|
if (!draft.filters.activeServices.allIds.includes(serviceId)) draft.filters.activeServices.allIds.push(serviceId);
|
|
4409
4427
|
},
|
|
@@ -7307,7 +7325,7 @@ var LegendDialog = function LegendDialog(_ref) {
|
|
|
7307
7325
|
}, "No layers")));
|
|
7308
7326
|
};
|
|
7309
7327
|
|
|
7310
|
-
var IS_LEGEND_OPEN_BY_DEFAULT =
|
|
7328
|
+
var IS_LEGEND_OPEN_BY_DEFAULT = false;
|
|
7311
7329
|
|
|
7312
7330
|
var LegendConnectComponent = function LegendConnectComponent(_ref) {
|
|
7313
7331
|
var _ref$showMapId = _ref.showMapId,
|
|
@@ -7349,7 +7367,7 @@ var LegendConnectComponent = function LegendConnectComponent(_ref) {
|
|
|
7349
7367
|
});
|
|
7350
7368
|
|
|
7351
7369
|
var onClose = function onClose() {
|
|
7352
|
-
|
|
7370
|
+
dispatch(uiActions.setToggleOpenDialog({
|
|
7353
7371
|
type: legendType,
|
|
7354
7372
|
setOpen: false,
|
|
7355
7373
|
origin: MapActionOrigin.map,
|
|
@@ -8194,7 +8212,7 @@ var mergePresetsAndUserAddedServices = function mergePresetsAndUserAddedServices
|
|
|
8194
8212
|
};
|
|
8195
8213
|
var isService = function isService(param) {
|
|
8196
8214
|
var serviceParam = param;
|
|
8197
|
-
return !!((serviceParam === null || serviceParam === void 0 ? void 0 : serviceParam.id) && (serviceParam === null || serviceParam === void 0 ? void 0 : serviceParam.name) && (serviceParam === null || serviceParam === void 0 ? void 0 : serviceParam.url));
|
|
8215
|
+
return !!((serviceParam === null || serviceParam === void 0 ? void 0 : serviceParam.id) && (serviceParam === null || serviceParam === void 0 ? void 0 : serviceParam.name) && (serviceParam === null || serviceParam === void 0 ? void 0 : serviceParam.url), serviceParam === null || serviceParam === void 0 ? void 0 : serviceParam.isUserAddedService);
|
|
8198
8216
|
};
|
|
8199
8217
|
|
|
8200
8218
|
var getUserAddedServices = function getUserAddedServices() {
|
|
@@ -8203,6 +8221,13 @@ var getUserAddedServices = function getUserAddedServices() {
|
|
|
8203
8221
|
var parsedData = JSON.parse(storedString);
|
|
8204
8222
|
|
|
8205
8223
|
if (parsedData && _typeof(parsedData) === 'object') {
|
|
8224
|
+
Object.values(parsedData).forEach(function (value) {
|
|
8225
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
8226
|
+
if (value.hasOwnProperty('url') && value.hasOwnProperty('id')) {
|
|
8227
|
+
var service = value;
|
|
8228
|
+
service.isUserAddedService = true;
|
|
8229
|
+
}
|
|
8230
|
+
});
|
|
8206
8231
|
return Object.entries(parsedData).reduce(function (userServices, _ref) {
|
|
8207
8232
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
8208
8233
|
serviceUrl = _ref2[0],
|
|
@@ -8229,39 +8254,26 @@ var _marked = /*#__PURE__*/regeneratorRuntime.mark(newServiceAddedSaga),
|
|
|
8229
8254
|
_marked2 = /*#__PURE__*/regeneratorRuntime.mark(layerSelectServiceRemovedSaga),
|
|
8230
8255
|
_marked3 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga);
|
|
8231
8256
|
function newServiceAddedSaga(capturedAction) {
|
|
8232
|
-
var addedService, id, serviceUrl, name,
|
|
8257
|
+
var addedService, id, serviceUrl, name, isUserAddedService, keywords;
|
|
8233
8258
|
return regeneratorRuntime.wrap(function newServiceAddedSaga$(_context) {
|
|
8234
8259
|
while (1) {
|
|
8235
8260
|
switch (_context.prev = _context.next) {
|
|
8236
8261
|
case 0:
|
|
8237
8262
|
addedService = capturedAction.payload;
|
|
8238
|
-
id = addedService.id, serviceUrl = addedService.serviceUrl, name = addedService.name;
|
|
8263
|
+
id = addedService.id, serviceUrl = addedService.serviceUrl, name = addedService.name, isUserAddedService = addedService.isUserAddedService;
|
|
8239
8264
|
keywords = addedService.layers.reduce(function (keywordAccumulator, layer) {
|
|
8240
8265
|
return keywordAccumulator.concat(layer.path, layer.keywords);
|
|
8241
8266
|
}, []);
|
|
8242
8267
|
_context.next = 5;
|
|
8243
|
-
return select(getServicesInArray);
|
|
8244
|
-
|
|
8245
|
-
case 5:
|
|
8246
|
-
services = _context.sent;
|
|
8247
|
-
|
|
8248
|
-
findServiceName = function findServiceName() {
|
|
8249
|
-
var foundService = services.find(function (object) {
|
|
8250
|
-
return (object === null || object === void 0 ? void 0 : object.url) === serviceUrl;
|
|
8251
|
-
});
|
|
8252
|
-
if (foundService) return foundService.name;
|
|
8253
|
-
return name;
|
|
8254
|
-
};
|
|
8255
|
-
|
|
8256
|
-
_context.next = 9;
|
|
8257
8268
|
return put(layerSelectActions.addKeywordsAndActiveServices({
|
|
8258
8269
|
serviceId: id,
|
|
8259
|
-
serviceName:
|
|
8270
|
+
serviceName: name,
|
|
8260
8271
|
serviceUrl: serviceUrl,
|
|
8261
|
-
keywords: keywords
|
|
8272
|
+
keywords: keywords,
|
|
8273
|
+
isUserAddedService: isUserAddedService
|
|
8262
8274
|
}));
|
|
8263
8275
|
|
|
8264
|
-
case
|
|
8276
|
+
case 5:
|
|
8265
8277
|
case "end":
|
|
8266
8278
|
return _context.stop();
|
|
8267
8279
|
}
|
|
@@ -8931,10 +8943,7 @@ var validateServiceUrl = function validateServiceUrl(url) {
|
|
|
8931
8943
|
};
|
|
8932
8944
|
|
|
8933
8945
|
var AddLayersPopup = function AddLayersPopup(_ref) {
|
|
8934
|
-
var
|
|
8935
|
-
onRenderTree = _ref.onRenderTree,
|
|
8936
|
-
_ref$highlightedLayer = _ref.highlightedLayers,
|
|
8937
|
-
highlightedLayers = _ref$highlightedLayer === void 0 ? [] : _ref$highlightedLayer,
|
|
8946
|
+
var onRenderTree = _ref.onRenderTree,
|
|
8938
8947
|
_ref$preloadedService = _ref.preloadedServices,
|
|
8939
8948
|
preloadedServices = _ref$preloadedService === void 0 ? preloadedDefaultMapServices : _ref$preloadedService,
|
|
8940
8949
|
_ref$open = _ref.open,
|
|
@@ -9015,6 +9024,12 @@ var AddLayersPopup = function AddLayersPopup(_ref) {
|
|
|
9015
9024
|
}
|
|
9016
9025
|
};
|
|
9017
9026
|
|
|
9027
|
+
React.useEffect(function () {
|
|
9028
|
+
if (!isEqual(preloadedServices, services)) {
|
|
9029
|
+
setServices(preloadedServices);
|
|
9030
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
9031
|
+
|
|
9032
|
+
}, [preloadedServices]);
|
|
9018
9033
|
return /*#__PURE__*/React.createElement(Dialog, {
|
|
9019
9034
|
fullWidth: true,
|
|
9020
9035
|
maxWidth: "md",
|
|
@@ -9085,9 +9100,8 @@ var AddLayersPopup = function AddLayersPopup(_ref) {
|
|
|
9085
9100
|
item: true,
|
|
9086
9101
|
xs: 8
|
|
9087
9102
|
}, onRenderTree ? onRenderTree(activeService) : /*#__PURE__*/React.createElement(WMSLayerTreeConnect, {
|
|
9103
|
+
mapId: "",
|
|
9088
9104
|
service: activeService,
|
|
9089
|
-
onClickLayer: onClickService,
|
|
9090
|
-
highlightedLayers: highlightedLayers,
|
|
9091
9105
|
layerType: layerType
|
|
9092
9106
|
}))))), /*#__PURE__*/React.createElement(DialogActions, null, /*#__PURE__*/React.createElement(Button, {
|
|
9093
9107
|
onClick: handleClose,
|
|
@@ -9114,12 +9128,9 @@ var styles$2 = {
|
|
|
9114
9128
|
};
|
|
9115
9129
|
|
|
9116
9130
|
var AddLayersButton = function AddLayersButton(_ref) {
|
|
9117
|
-
var
|
|
9118
|
-
onRenderTree = _ref.onRenderTree,
|
|
9131
|
+
var onRenderTree = _ref.onRenderTree,
|
|
9119
9132
|
_ref$tooltip = _ref.tooltip,
|
|
9120
9133
|
tooltip = _ref$tooltip === void 0 ? '' : _ref$tooltip,
|
|
9121
|
-
_ref$highlightedLayer = _ref.highlightedLayers,
|
|
9122
|
-
highlightedLayers = _ref$highlightedLayer === void 0 ? [] : _ref$highlightedLayer,
|
|
9123
9134
|
_ref$preloadedService = _ref.preloadedServices,
|
|
9124
9135
|
preloadedServices = _ref$preloadedService === void 0 ? preloadedDefaultMapServices : _ref$preloadedService,
|
|
9125
9136
|
_ref$layerType = _ref.layerType,
|
|
@@ -9133,10 +9144,22 @@ var AddLayersButton = function AddLayersButton(_ref) {
|
|
|
9133
9144
|
open = _React$useState2[0],
|
|
9134
9145
|
setOpen = _React$useState2[1];
|
|
9135
9146
|
|
|
9147
|
+
var _React$useState3 = React.useState(shouldFocus),
|
|
9148
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
9149
|
+
isTooltipDisabled = _React$useState4[0],
|
|
9150
|
+
setTooltipDisabled = _React$useState4[1];
|
|
9151
|
+
|
|
9136
9152
|
var handleClose = function handleClose() {
|
|
9137
9153
|
setOpen(!open);
|
|
9138
9154
|
};
|
|
9139
9155
|
|
|
9156
|
+
var onBlurTooltip = function onBlurTooltip(event) {
|
|
9157
|
+
// enable tooltip again after user blurs
|
|
9158
|
+
if (event.relatedTarget) {
|
|
9159
|
+
setTooltipDisabled(false);
|
|
9160
|
+
}
|
|
9161
|
+
};
|
|
9162
|
+
|
|
9140
9163
|
React.useEffect(function () {
|
|
9141
9164
|
if (shouldFocus && ref.current) {
|
|
9142
9165
|
ref.current.focus();
|
|
@@ -9144,7 +9167,9 @@ var AddLayersButton = function AddLayersButton(_ref) {
|
|
|
9144
9167
|
|
|
9145
9168
|
}, []);
|
|
9146
9169
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Tooltip, {
|
|
9147
|
-
title: tooltip
|
|
9170
|
+
title: tooltip,
|
|
9171
|
+
disableFocusListener: isTooltipDisabled,
|
|
9172
|
+
onBlur: onBlurTooltip
|
|
9148
9173
|
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
9149
9174
|
onClick: handleClose,
|
|
9150
9175
|
sx: styles$2.button,
|
|
@@ -9155,9 +9180,7 @@ var AddLayersButton = function AddLayersButton(_ref) {
|
|
|
9155
9180
|
}, /*#__PURE__*/React.createElement(Add, null))), /*#__PURE__*/React.createElement(AddLayersPopup, {
|
|
9156
9181
|
open: open,
|
|
9157
9182
|
handleClose: handleClose,
|
|
9158
|
-
onClickService: onClickService,
|
|
9159
9183
|
onRenderTree: onRenderTree,
|
|
9160
|
-
highlightedLayers: highlightedLayers,
|
|
9161
9184
|
preloadedServices: preloadedServices,
|
|
9162
9185
|
layerType: layerType
|
|
9163
9186
|
}));
|
|
@@ -9708,7 +9731,6 @@ var OpacitySelect = function OpacitySelect(_ref) {
|
|
|
9708
9731
|
_ref$isEnabled = _ref.isEnabled,
|
|
9709
9732
|
isEnabled = _ref$isEnabled === void 0 ? true : _ref$isEnabled;
|
|
9710
9733
|
var classes = useStyles$n();
|
|
9711
|
-
var sliderClasses = sliderStyles();
|
|
9712
9734
|
|
|
9713
9735
|
var _React$useState = React.useState(false),
|
|
9714
9736
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -9774,8 +9796,8 @@ var OpacitySelect = function OpacitySelect(_ref) {
|
|
|
9774
9796
|
onBlur: onBlur
|
|
9775
9797
|
}, currentOpacityText)), open ? /*#__PURE__*/React.createElement("div", {
|
|
9776
9798
|
className: classes.sliderBackground
|
|
9777
|
-
}, /*#__PURE__*/React.createElement(
|
|
9778
|
-
|
|
9799
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
9800
|
+
sx: sliderHeaderStyle
|
|
9779
9801
|
}, "Opacity"), /*#__PURE__*/React.createElement(CustomSlider, {
|
|
9780
9802
|
"data-testid": "opacitySlider",
|
|
9781
9803
|
orientation: "vertical",
|
|
@@ -10796,7 +10818,11 @@ var LayerContainerRow = function LayerContainerRow(_ref) {
|
|
|
10796
10818
|
"data-testid": "layerContainerRow"
|
|
10797
10819
|
}, /*#__PURE__*/React.createElement(ReactSortable, {
|
|
10798
10820
|
tag: "div",
|
|
10799
|
-
list: layerIds
|
|
10821
|
+
list: layerIds.map(function (layerId) {
|
|
10822
|
+
return {
|
|
10823
|
+
id: layerId
|
|
10824
|
+
};
|
|
10825
|
+
}),
|
|
10800
10826
|
setList: onSetList,
|
|
10801
10827
|
animation: 200,
|
|
10802
10828
|
onSort: onSortEnd,
|
|
@@ -10944,6 +10970,15 @@ var constructListAvailableBaseLayers = function constructListAvailableBaseLayers
|
|
|
10944
10970
|
}));
|
|
10945
10971
|
}, baseLayersWithMapId);
|
|
10946
10972
|
};
|
|
10973
|
+
var areAvailableBaseLayersSame = function areAvailableBaseLayersSame(availableBaseLayerList, newBaseLayerList) {
|
|
10974
|
+
var availableList = availableBaseLayerList.map(function (layer) {
|
|
10975
|
+
return layer.name;
|
|
10976
|
+
});
|
|
10977
|
+
var newList = newBaseLayerList.map(function (layer) {
|
|
10978
|
+
return layer.name;
|
|
10979
|
+
});
|
|
10980
|
+
return isEqual(availableList, newList);
|
|
10981
|
+
};
|
|
10947
10982
|
|
|
10948
10983
|
var BaseLayersConnect = function BaseLayersConnect(_ref) {
|
|
10949
10984
|
var mapId = _ref.mapId,
|
|
@@ -10957,14 +10992,16 @@ var BaseLayersConnect = function BaseLayersConnect(_ref) {
|
|
|
10957
10992
|
});
|
|
10958
10993
|
React.useEffect(function () {
|
|
10959
10994
|
// Set initial availableBaseLayers only if none set for that map yet
|
|
10960
|
-
|
|
10961
|
-
|
|
10962
|
-
|
|
10995
|
+
var availableBaseLayersToBeAdded = constructListAvailableBaseLayers(selectedBaseLayers, preloadedAvailableBaseLayers, mapId);
|
|
10996
|
+
var areBaseLayersSame = areAvailableBaseLayersSame(availableBaseLayersToBeAdded, currentAvailableBaseLayers);
|
|
10997
|
+
|
|
10998
|
+
if (!areBaseLayersSame) {
|
|
10999
|
+
dispatch(layerActions.setAvailableBaseLayers({
|
|
10963
11000
|
layers: availableBaseLayersToBeAdded
|
|
10964
11001
|
}));
|
|
10965
11002
|
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10966
11003
|
|
|
10967
|
-
}, [mapId]);
|
|
11004
|
+
}, [mapId, preloadedAvailableBaseLayers]);
|
|
10968
11005
|
|
|
10969
11006
|
var onChangeBaseLayers = function onChangeBaseLayers(newSelectedLayerId) {
|
|
10970
11007
|
var newBaseLayer = currentAvailableBaseLayers.filter(function (layer) {
|
|
@@ -11264,23 +11301,22 @@ var ServicePopup = function ServicePopup(_ref) {
|
|
|
11264
11301
|
hideBackdrop = _ref$hideBackdrop === void 0 ? false : _ref$hideBackdrop,
|
|
11265
11302
|
isOpen = _ref.isOpen,
|
|
11266
11303
|
closePopup = _ref.closePopup,
|
|
11304
|
+
serviceId = _ref.serviceId,
|
|
11267
11305
|
url = _ref.url,
|
|
11268
11306
|
services = _ref.services,
|
|
11269
11307
|
serviceSetLayers = _ref.serviceSetLayers;
|
|
11270
11308
|
|
|
11271
|
-
var
|
|
11272
|
-
|
|
11273
|
-
var _React$useState = React.useState(servicePopupVariant !== 'edit' || services === undefined ? '' : (_a = services[url]) === null || _a === void 0 ? void 0 : _a.name),
|
|
11309
|
+
var _React$useState = React.useState(''),
|
|
11274
11310
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
11275
11311
|
serviceName = _React$useState2[0],
|
|
11276
11312
|
setServiceName = _React$useState2[1];
|
|
11277
11313
|
|
|
11278
|
-
var _React$useState3 = React.useState(
|
|
11314
|
+
var _React$useState3 = React.useState(''),
|
|
11279
11315
|
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
11280
11316
|
serviceUrl = _React$useState4[0],
|
|
11281
11317
|
setServiceUrl = _React$useState4[1];
|
|
11282
11318
|
|
|
11283
|
-
var _React$useState5 = React.useState(
|
|
11319
|
+
var _React$useState5 = React.useState(''),
|
|
11284
11320
|
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
11285
11321
|
_abstract = _React$useState6[0],
|
|
11286
11322
|
setAbstract = _React$useState6[1];
|
|
@@ -11315,6 +11351,19 @@ var ServicePopup = function ServicePopup(_ref) {
|
|
|
11315
11351
|
serviceUrlHelperText = _React$useState18[0],
|
|
11316
11352
|
setServiceUrlHelperText = _React$useState18[1];
|
|
11317
11353
|
|
|
11354
|
+
React.useEffect(function () {
|
|
11355
|
+
var _a;
|
|
11356
|
+
|
|
11357
|
+
if (servicePopupVariant === 'edit') {
|
|
11358
|
+
setServiceName(((_a = services[serviceId]) === null || _a === void 0 ? void 0 : _a.serviceName) || '');
|
|
11359
|
+
setServiceUrl(url || '');
|
|
11360
|
+
}
|
|
11361
|
+
|
|
11362
|
+
if (servicePopupVariant === 'save') {
|
|
11363
|
+
setServiceUrl(url || '');
|
|
11364
|
+
}
|
|
11365
|
+
}, [serviceId, services, url, servicePopupVariant, isOpen]);
|
|
11366
|
+
|
|
11318
11367
|
var validateServiceUrl = function validateServiceUrl(url) {
|
|
11319
11368
|
if (url === '' || url === null || typeof url === 'undefined') return false;
|
|
11320
11369
|
var matcher = /^(?:\w+:)?\/\/([^\s.]+\.\S{2}|[0-9a-zA-Z]+[:?\d]*)\S*$/;
|
|
@@ -11401,11 +11450,10 @@ var ServicePopup = function ServicePopup(_ref) {
|
|
|
11401
11450
|
|
|
11402
11451
|
var ServiceNameInRedux = function ServiceNameInRedux() {
|
|
11403
11452
|
if (servicePopupVariant === 'add' || servicePopupVariant === 'save') {
|
|
11404
|
-
|
|
11405
|
-
|
|
11406
|
-
}
|
|
11407
|
-
|
|
11408
|
-
return false;
|
|
11453
|
+
var foundName = Object.keys(services).find(function (serviceId) {
|
|
11454
|
+
return services[serviceId].serviceName.toLowerCase() === (serviceName === null || serviceName === void 0 ? void 0 : serviceName.toLowerCase());
|
|
11455
|
+
});
|
|
11456
|
+
return foundName !== undefined;
|
|
11409
11457
|
}
|
|
11410
11458
|
|
|
11411
11459
|
return false;
|
|
@@ -11413,11 +11461,10 @@ var ServicePopup = function ServicePopup(_ref) {
|
|
|
11413
11461
|
|
|
11414
11462
|
var UrlInRedux = function UrlInRedux() {
|
|
11415
11463
|
if (servicePopupVariant === 'add' || servicePopupVariant === 'save') {
|
|
11416
|
-
|
|
11417
|
-
return
|
|
11418
|
-
}
|
|
11419
|
-
|
|
11420
|
-
return false;
|
|
11464
|
+
var foundUrl = Object.keys(services).find(function (serviceId) {
|
|
11465
|
+
return services[serviceId].serviceUrl === serviceUrl;
|
|
11466
|
+
});
|
|
11467
|
+
return foundUrl !== undefined;
|
|
11421
11468
|
}
|
|
11422
11469
|
|
|
11423
11470
|
return false;
|
|
@@ -11425,6 +11472,7 @@ var ServicePopup = function ServicePopup(_ref) {
|
|
|
11425
11472
|
|
|
11426
11473
|
|
|
11427
11474
|
React.useEffect(function () {
|
|
11475
|
+
if (serviceName === undefined) return;
|
|
11428
11476
|
setServiceNameHelperText('');
|
|
11429
11477
|
|
|
11430
11478
|
if (ServiceNameInRedux()) {
|
|
@@ -11440,7 +11488,7 @@ var ServicePopup = function ServicePopup(_ref) {
|
|
|
11440
11488
|
React.useEffect(function () {
|
|
11441
11489
|
setServiceUrlHelperText('');
|
|
11442
11490
|
|
|
11443
|
-
if (serviceUrl.length > 0 && !validateServiceUrl(serviceUrl)) {
|
|
11491
|
+
if (serviceUrl && serviceUrl.length > 0 && !validateServiceUrl(serviceUrl)) {
|
|
11444
11492
|
setServiceUrlHasError(true);
|
|
11445
11493
|
setServiceUrlHelperText('Error: Not a valid URL.');
|
|
11446
11494
|
} else if (UrlInRedux()) {
|
|
@@ -11527,7 +11575,8 @@ var ServicePopup = function ServicePopup(_ref) {
|
|
|
11527
11575
|
return setAbstract(event.target.value);
|
|
11528
11576
|
},
|
|
11529
11577
|
value: _abstract,
|
|
11530
|
-
"data-testid": "abstractTextField"
|
|
11578
|
+
"data-testid": "abstractTextField",
|
|
11579
|
+
disabled: true
|
|
11531
11580
|
})), /*#__PURE__*/React.createElement(DialogActions, {
|
|
11532
11581
|
sx: style$1.footerContent
|
|
11533
11582
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
@@ -11583,10 +11632,11 @@ var ServicePopupConnect = function ServicePopupConnect(_ref) {
|
|
|
11583
11632
|
hideBackdrop = _ref.hideBackdrop,
|
|
11584
11633
|
isOpen = _ref.isOpen,
|
|
11585
11634
|
closePopup = _ref.closePopup,
|
|
11635
|
+
serviceId = _ref.serviceId,
|
|
11586
11636
|
url = _ref.url;
|
|
11587
11637
|
var dispatch = useDispatch();
|
|
11588
11638
|
var services = useSelector(function (store) {
|
|
11589
|
-
return
|
|
11639
|
+
return getActiveServices(store);
|
|
11590
11640
|
});
|
|
11591
11641
|
var serviceSetLayers = React__default.useCallback(function (payload) {
|
|
11592
11642
|
dispatch(serviceActions.serviceSetLayers(payload));
|
|
@@ -11596,9 +11646,10 @@ var ServicePopupConnect = function ServicePopupConnect(_ref) {
|
|
|
11596
11646
|
hideBackdrop: hideBackdrop,
|
|
11597
11647
|
isOpen: isOpen,
|
|
11598
11648
|
closePopup: closePopup,
|
|
11599
|
-
|
|
11649
|
+
serviceId: serviceId,
|
|
11600
11650
|
services: services,
|
|
11601
|
-
serviceSetLayers: serviceSetLayers
|
|
11651
|
+
serviceSetLayers: serviceSetLayers,
|
|
11652
|
+
url: url
|
|
11602
11653
|
});
|
|
11603
11654
|
};
|
|
11604
11655
|
|
|
@@ -11727,7 +11778,7 @@ var SearchFieldConnect = function SearchFieldConnect() {
|
|
|
11727
11778
|
});
|
|
11728
11779
|
return /*#__PURE__*/React.createElement(SearchField, {
|
|
11729
11780
|
setSearchFilter: function setSearchFilter(filterText) {
|
|
11730
|
-
|
|
11781
|
+
dispatch(layerSelectActions.setSearchFilter({
|
|
11731
11782
|
filterText: filterText
|
|
11732
11783
|
}));
|
|
11733
11784
|
},
|
|
@@ -11943,16 +11994,29 @@ var LayerList = function LayerList(_ref) {
|
|
|
11943
11994
|
mapLayers = _ref.mapLayers,
|
|
11944
11995
|
keywordIds = _ref.keywordIds,
|
|
11945
11996
|
allKeywordsActive = _ref.allKeywordsActive;
|
|
11997
|
+
var layerSelectFilterHeight = 199;
|
|
11946
11998
|
|
|
11947
11999
|
var _React$useState = React.useState(0),
|
|
11948
12000
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
11949
12001
|
numberOfLayers = _React$useState2[0],
|
|
11950
12002
|
setNumberOfLayers = _React$useState2[1];
|
|
11951
12003
|
|
|
12004
|
+
var _React$useState3 = React.useState([]),
|
|
12005
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
12006
|
+
layersFilteredFromService = _React$useState4[0],
|
|
12007
|
+
setLayersFilteredFromService = _React$useState4[1];
|
|
12008
|
+
|
|
11952
12009
|
React.useEffect(function () {
|
|
11953
12010
|
setNumberOfLayers(serviceIds.reduce(function (totalNumberOfLayers, serviceId) {
|
|
11954
12011
|
return totalNumberOfLayers + filterLayersFromService(serviceId, services, keywordIds, allKeywordsActive, searchString).length;
|
|
11955
12012
|
}, 0));
|
|
12013
|
+
setLayersFilteredFromService(serviceIds.reduce(function (layerList, serviceId) {
|
|
12014
|
+
return layerList.concat(filterLayersFromService(serviceId, services, keywordIds, allKeywordsActive, searchString).map(function (layer) {
|
|
12015
|
+
return Object.assign(Object.assign({}, layer), {
|
|
12016
|
+
serviceId: serviceId
|
|
12017
|
+
});
|
|
12018
|
+
}));
|
|
12019
|
+
}, []));
|
|
11956
12020
|
}, [serviceIds, keywordIds, services, searchString, allKeywordsActive]);
|
|
11957
12021
|
return /*#__PURE__*/React.createElement(Box, {
|
|
11958
12022
|
"data-testid": "layerList"
|
|
@@ -11961,25 +12025,26 @@ var LayerList = function LayerList(_ref) {
|
|
|
11961
12025
|
marginBottom: '4px',
|
|
11962
12026
|
fontSize: '12px'
|
|
11963
12027
|
}
|
|
11964
|
-
}, numberOfLayers, " results"), /*#__PURE__*/React.createElement(
|
|
11965
|
-
|
|
11966
|
-
|
|
11967
|
-
|
|
11968
|
-
|
|
11969
|
-
|
|
11970
|
-
|
|
11971
|
-
|
|
11972
|
-
|
|
11973
|
-
|
|
11974
|
-
|
|
11975
|
-
|
|
11976
|
-
|
|
11977
|
-
|
|
11978
|
-
|
|
11979
|
-
|
|
11980
|
-
|
|
11981
|
-
|
|
11982
|
-
|
|
12028
|
+
}, numberOfLayers, " results"), /*#__PURE__*/React.createElement(FixedSizeList, {
|
|
12029
|
+
height: layerSelectHeight - layerSelectFilterHeight,
|
|
12030
|
+
itemCount: numberOfLayers,
|
|
12031
|
+
itemSize: 68
|
|
12032
|
+
}, function (_ref2) {
|
|
12033
|
+
var index = _ref2.index,
|
|
12034
|
+
style = _ref2.style;
|
|
12035
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
12036
|
+
style: style,
|
|
12037
|
+
key: layersFilteredFromService[index].name
|
|
12038
|
+
}, /*#__PURE__*/React.createElement(LayerListRow, {
|
|
12039
|
+
layer: layersFilteredFromService[index],
|
|
12040
|
+
layerIndex: index,
|
|
12041
|
+
service: services[layersFilteredFromService[index].serviceId],
|
|
12042
|
+
serviceUrl: services[layersFilteredFromService[index].serviceId].serviceUrl,
|
|
12043
|
+
addLayer: addLayer,
|
|
12044
|
+
deleteLayer: deleteLayer,
|
|
12045
|
+
mapLayers: mapLayers
|
|
12046
|
+
}));
|
|
12047
|
+
}));
|
|
11983
12048
|
};
|
|
11984
12049
|
|
|
11985
12050
|
/* *
|
|
@@ -12426,28 +12491,32 @@ var styles = {
|
|
|
12426
12491
|
|
|
12427
12492
|
var ServiceOptionsDialog = function ServiceOptionsDialog(_ref) {
|
|
12428
12493
|
var services = _ref.services,
|
|
12429
|
-
mapStoreRemoveService = _ref.mapStoreRemoveService
|
|
12430
|
-
_ref$layers = _ref.layers,
|
|
12431
|
-
layers = _ref$layers === void 0 ? [] : _ref$layers;
|
|
12494
|
+
mapStoreRemoveService = _ref.mapStoreRemoveService;
|
|
12432
12495
|
|
|
12433
12496
|
var _React$useState = React.useState(false),
|
|
12434
12497
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
12435
|
-
|
|
12498
|
+
addServiceIsOpen = _React$useState2[0],
|
|
12436
12499
|
setAddServiceIsOpen = _React$useState2[1];
|
|
12437
12500
|
|
|
12501
|
+
var _React$useState3 = React.useState({
|
|
12502
|
+
isOpen: false,
|
|
12503
|
+
serviceId: '',
|
|
12504
|
+
serviceUrl: ''
|
|
12505
|
+
}),
|
|
12506
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
12507
|
+
editServiceIsOpen = _React$useState4[0],
|
|
12508
|
+
setEditServiceIsOpen = _React$useState4[1];
|
|
12509
|
+
|
|
12438
12510
|
var openAddService = function openAddService() {
|
|
12439
12511
|
setAddServiceIsOpen(true);
|
|
12440
12512
|
};
|
|
12441
12513
|
|
|
12442
12514
|
var closePopup = function closePopup() {
|
|
12443
12515
|
setAddServiceIsOpen(false);
|
|
12444
|
-
|
|
12445
|
-
|
|
12446
|
-
|
|
12447
|
-
|
|
12448
|
-
return layer.service && layer.service.includes(service);
|
|
12449
|
-
}) || preloadedDefaultMapServices.some(function (defaultMapService) {
|
|
12450
|
-
return defaultMapService.url && defaultMapService.url.includes(service);
|
|
12516
|
+
setEditServiceIsOpen({
|
|
12517
|
+
isOpen: false,
|
|
12518
|
+
serviceId: '',
|
|
12519
|
+
serviceUrl: ''
|
|
12451
12520
|
});
|
|
12452
12521
|
};
|
|
12453
12522
|
|
|
@@ -12476,16 +12545,25 @@ var ServiceOptionsDialog = function ServiceOptionsDialog(_ref) {
|
|
|
12476
12545
|
marginRight: '-10px'
|
|
12477
12546
|
}
|
|
12478
12547
|
}, /*#__PURE__*/React.createElement(Tooltip, {
|
|
12479
|
-
title: "Edit Service"
|
|
12548
|
+
title: "Edit Service",
|
|
12549
|
+
disableHoverListener: !services[serviceId].isUserAddedService
|
|
12480
12550
|
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(IconButton, {
|
|
12481
|
-
disabled:
|
|
12551
|
+
disabled: !services[serviceId].isUserAddedService,
|
|
12482
12552
|
"data-testid": "openEditServiceButton",
|
|
12483
|
-
size: "large"
|
|
12553
|
+
size: "large",
|
|
12554
|
+
onClick: function onClick() {
|
|
12555
|
+
setEditServiceIsOpen({
|
|
12556
|
+
isOpen: true,
|
|
12557
|
+
serviceId: serviceId,
|
|
12558
|
+
serviceUrl: services[serviceId].serviceUrl
|
|
12559
|
+
});
|
|
12560
|
+
}
|
|
12484
12561
|
}, /*#__PURE__*/React.createElement(Edit, null)))), /*#__PURE__*/React.createElement(Tooltip, {
|
|
12485
|
-
title: "Delete Service"
|
|
12562
|
+
title: "Delete Service",
|
|
12563
|
+
disableHoverListener: !services[serviceId].isUserAddedService
|
|
12486
12564
|
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(IconButton, {
|
|
12487
12565
|
size: "large",
|
|
12488
|
-
disabled:
|
|
12566
|
+
disabled: !services[serviceId].isUserAddedService,
|
|
12489
12567
|
onClick: function onClick() {
|
|
12490
12568
|
return mapStoreRemoveService(serviceId, services[serviceId].serviceUrl);
|
|
12491
12569
|
},
|
|
@@ -12499,10 +12577,16 @@ var ServiceOptionsDialog = function ServiceOptionsDialog(_ref) {
|
|
|
12499
12577
|
sx: styles.button,
|
|
12500
12578
|
variant: "tertiary",
|
|
12501
12579
|
startIcon: /*#__PURE__*/React.createElement(Add, null)
|
|
12502
|
-
}, "Add a new service"))),
|
|
12580
|
+
}, "Add a new service"))), addServiceIsOpen && /*#__PURE__*/React.createElement(ServicePopupConnect, {
|
|
12503
12581
|
servicePopupVariant: "add",
|
|
12504
|
-
isOpen:
|
|
12582
|
+
isOpen: addServiceIsOpen,
|
|
12505
12583
|
closePopup: closePopup
|
|
12584
|
+
}), editServiceIsOpen && /*#__PURE__*/React.createElement(ServicePopupConnect, {
|
|
12585
|
+
servicePopupVariant: "edit",
|
|
12586
|
+
isOpen: editServiceIsOpen.isOpen,
|
|
12587
|
+
closePopup: closePopup,
|
|
12588
|
+
serviceId: editServiceIsOpen.serviceId,
|
|
12589
|
+
url: editServiceIsOpen.serviceUrl
|
|
12506
12590
|
}));
|
|
12507
12591
|
};
|
|
12508
12592
|
|
|
@@ -12525,9 +12609,6 @@ var ServiceOptionsDialog = function ServiceOptionsDialog(_ref) {
|
|
|
12525
12609
|
|
|
12526
12610
|
var ServiceOptionsDialogConnect = function ServiceOptionsDialogConnect() {
|
|
12527
12611
|
var dispatch = useDispatch();
|
|
12528
|
-
var allLayers = useSelector(function (store) {
|
|
12529
|
-
return getAllLayers(store);
|
|
12530
|
-
});
|
|
12531
12612
|
var mapStoreRemoveService = React.useCallback(function (serviceId, serviceUrl) {
|
|
12532
12613
|
dispatch(serviceActions.mapStoreRemoveService({
|
|
12533
12614
|
id: serviceId,
|
|
@@ -12539,7 +12620,6 @@ var ServiceOptionsDialogConnect = function ServiceOptionsDialogConnect() {
|
|
|
12539
12620
|
});
|
|
12540
12621
|
return /*#__PURE__*/React.createElement(ServiceOptionsDialog, {
|
|
12541
12622
|
services: services,
|
|
12542
|
-
layers: allLayers,
|
|
12543
12623
|
mapStoreRemoveService: mapStoreRemoveService
|
|
12544
12624
|
});
|
|
12545
12625
|
};
|
|
@@ -12801,40 +12881,6 @@ var KeywordFilterResultsListItemConnect = function KeywordFilterResultsListItemC
|
|
|
12801
12881
|
});
|
|
12802
12882
|
};
|
|
12803
12883
|
|
|
12804
|
-
/* *
|
|
12805
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12806
|
-
* you may not use this file except in compliance with the License.
|
|
12807
|
-
* You may obtain a copy of the License at
|
|
12808
|
-
*
|
|
12809
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12810
|
-
*
|
|
12811
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12812
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12813
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12814
|
-
* See the License for the specific language governing permissions and
|
|
12815
|
-
* limitations under the License.
|
|
12816
|
-
*
|
|
12817
|
-
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12818
|
-
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
12819
|
-
* */
|
|
12820
|
-
var CustomSwitch = withStyles(function (theme) {
|
|
12821
|
-
return {
|
|
12822
|
-
switchBase: {
|
|
12823
|
-
'&$checked': {
|
|
12824
|
-
color: theme.palette.geowebColors.customSlider.thumb
|
|
12825
|
-
},
|
|
12826
|
-
'&$checked + $track': {
|
|
12827
|
-
backgroundColor: theme.palette.geowebColors.buttons.primary["default"].fill
|
|
12828
|
-
}
|
|
12829
|
-
},
|
|
12830
|
-
checked: {},
|
|
12831
|
-
track: {
|
|
12832
|
-
backgroundColor: theme.palette.geowebColors.customSlider.switchTrackDisabled,
|
|
12833
|
-
opacity: '1 !important'
|
|
12834
|
-
}
|
|
12835
|
-
};
|
|
12836
|
-
})(Switch);
|
|
12837
|
-
|
|
12838
12884
|
/* *
|
|
12839
12885
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12840
12886
|
* you may not use this file except in compliance with the License.
|
|
@@ -12871,7 +12917,7 @@ var KeywordFilterSelectAllSwitchConnect = function KeywordFilterSelectAllSwitchC
|
|
|
12871
12917
|
keywords: keywords
|
|
12872
12918
|
}));
|
|
12873
12919
|
}, [allKeywordIds, allKeywordsActive, checkedKeywordIds, dispatch]);
|
|
12874
|
-
return /*#__PURE__*/React.createElement(
|
|
12920
|
+
return /*#__PURE__*/React.createElement(Switch, {
|
|
12875
12921
|
checked: allKeywordsActive,
|
|
12876
12922
|
onChange: toggleKeywords,
|
|
12877
12923
|
"data-testid": "customSwitch"
|
|
@@ -13161,8 +13207,13 @@ var LayerSelectConnect = function LayerSelectConnect(_ref) {
|
|
|
13161
13207
|
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13162
13208
|
}, []);
|
|
13163
13209
|
var serviceSetLayers = React.useCallback(function (payload) {
|
|
13164
|
-
|
|
13210
|
+
dispatch(serviceActions.serviceSetLayers(payload));
|
|
13165
13211
|
}, [dispatch]);
|
|
13212
|
+
|
|
13213
|
+
var checkIfUserAddedService = function checkIfUserAddedService(service) {
|
|
13214
|
+
return !!service.isUserAddedService;
|
|
13215
|
+
};
|
|
13216
|
+
|
|
13166
13217
|
React.useEffect(function () {
|
|
13167
13218
|
if (isOpenInStore && preloadedServices && preloadedServices.length > 0) {
|
|
13168
13219
|
mergePresetsAndUserAddedServices(preloadedServices, getUserAddedServices()).forEach(function (service) {
|
|
@@ -13174,7 +13225,7 @@ var LayerSelectConnect = function LayerSelectConnect(_ref) {
|
|
|
13174
13225
|
name: service.name,
|
|
13175
13226
|
serviceUrl: service.url,
|
|
13176
13227
|
layers: layers,
|
|
13177
|
-
isUserAddedService:
|
|
13228
|
+
isUserAddedService: checkIfUserAddedService(service)
|
|
13178
13229
|
});
|
|
13179
13230
|
}
|
|
13180
13231
|
})["catch"](function () {
|
|
@@ -14226,7 +14277,6 @@ var SpeedButton = function SpeedButton(_ref) {
|
|
|
14226
14277
|
var animationDelay = _ref.animationDelay,
|
|
14227
14278
|
setMapAnimationDelay = _ref.setMapAnimationDelay;
|
|
14228
14279
|
var classes = useStyles$c();
|
|
14229
|
-
var sliderClasses = sliderStyles();
|
|
14230
14280
|
|
|
14231
14281
|
var _React$useState = React.useState(false),
|
|
14232
14282
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -14291,8 +14341,8 @@ var SpeedButton = function SpeedButton(_ref) {
|
|
|
14291
14341
|
text: text
|
|
14292
14342
|
})))), open ? /*#__PURE__*/React.createElement("div", {
|
|
14293
14343
|
className: classes.sliderBackground
|
|
14294
|
-
}, /*#__PURE__*/React.createElement(
|
|
14295
|
-
|
|
14344
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
14345
|
+
sx: sliderHeaderStyle
|
|
14296
14346
|
}, "Speed"), /*#__PURE__*/React.createElement(CustomSlider, {
|
|
14297
14347
|
"data-testid": "speedSlider",
|
|
14298
14348
|
orientation: "vertical",
|
|
@@ -14453,31 +14503,6 @@ var useStyles$b = makeStyles(function (theme) {
|
|
|
14453
14503
|
disabled: {}
|
|
14454
14504
|
};
|
|
14455
14505
|
});
|
|
14456
|
-
var TimeStepSwitch = withStyles(function (theme) {
|
|
14457
|
-
return {
|
|
14458
|
-
root: {
|
|
14459
|
-
marginLeft: '18px'
|
|
14460
|
-
},
|
|
14461
|
-
thumb: {
|
|
14462
|
-
width: 20,
|
|
14463
|
-
height: 20,
|
|
14464
|
-
margin: '0 0 0 0'
|
|
14465
|
-
},
|
|
14466
|
-
switchBase: {
|
|
14467
|
-
'&$checked': {
|
|
14468
|
-
color: theme.palette.geowebColors.customSlider.thumb
|
|
14469
|
-
},
|
|
14470
|
-
'&$checked + $track': {
|
|
14471
|
-
backgroundColor: theme.palette.geowebColors.customSlider.switchTrack
|
|
14472
|
-
}
|
|
14473
|
-
},
|
|
14474
|
-
checked: {},
|
|
14475
|
-
track: {
|
|
14476
|
-
backgroundColor: theme.palette.geowebColors.customSlider.switchTrackDisabled,
|
|
14477
|
-
opacity: '1 !important'
|
|
14478
|
-
}
|
|
14479
|
-
};
|
|
14480
|
-
})(Switch);
|
|
14481
14506
|
|
|
14482
14507
|
var TimeStepButton = function TimeStepButton(_ref) {
|
|
14483
14508
|
var timeStep = _ref.timeStep,
|
|
@@ -14492,7 +14517,6 @@ var TimeStepButton = function TimeStepButton(_ref) {
|
|
|
14492
14517
|
return null;
|
|
14493
14518
|
} : _ref$onToggleTimestep;
|
|
14494
14519
|
var classes = useStyles$b();
|
|
14495
|
-
var sliderClasses = sliderStyles();
|
|
14496
14520
|
|
|
14497
14521
|
var _React$useState = React.useState(false),
|
|
14498
14522
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -14561,8 +14585,8 @@ var TimeStepButton = function TimeStepButton(_ref) {
|
|
|
14561
14585
|
"data-testid": "timeStepButtonText"
|
|
14562
14586
|
})))), open ? /*#__PURE__*/React.createElement("div", {
|
|
14563
14587
|
className: classes.sliderBackground
|
|
14564
|
-
}, /*#__PURE__*/React.createElement(
|
|
14565
|
-
|
|
14588
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
14589
|
+
sx: sliderHeaderStyle
|
|
14566
14590
|
}, "Time step"), /*#__PURE__*/React.createElement(CustomSlider, {
|
|
14567
14591
|
"data-testid": "timeStepButtonSlider",
|
|
14568
14592
|
orientation: "vertical",
|
|
@@ -14580,14 +14604,17 @@ var TimeStepButton = function TimeStepButton(_ref) {
|
|
|
14580
14604
|
}, /*#__PURE__*/React.createElement("span", {
|
|
14581
14605
|
"data-testid": "timestepAutoSwitchTooltip"
|
|
14582
14606
|
}, /*#__PURE__*/React.createElement(FormControlLabel, {
|
|
14583
|
-
control: /*#__PURE__*/React.createElement(
|
|
14607
|
+
control: /*#__PURE__*/React.createElement(Switch, {
|
|
14584
14608
|
checked: isTimestepAuto,
|
|
14585
14609
|
onChange: function onChange() {
|
|
14586
14610
|
return onToggleTimestepAuto();
|
|
14587
14611
|
},
|
|
14588
14612
|
disabled: disabled,
|
|
14589
14613
|
id: "timestepAutoSwitch",
|
|
14590
|
-
disableRipple: true
|
|
14614
|
+
disableRipple: true,
|
|
14615
|
+
sx: {
|
|
14616
|
+
marginLeft: '18px'
|
|
14617
|
+
}
|
|
14591
14618
|
}),
|
|
14592
14619
|
label: "Auto",
|
|
14593
14620
|
labelPlacement: "end",
|
|
@@ -20410,8 +20437,10 @@ var ReactMapView = /*#__PURE__*/function (_React$Component) {
|
|
|
20410
20437
|
|
|
20411
20438
|
|
|
20412
20439
|
if (!prevProps || prevProps.disableMapPin !== props.disableMapPin) {
|
|
20413
|
-
if (
|
|
20414
|
-
this.adaguc.webMapJS.getMapPin().
|
|
20440
|
+
if (props.disableMapPin === true) {
|
|
20441
|
+
this.adaguc.webMapJS.getMapPin().setMapPinDisabled();
|
|
20442
|
+
} else if (props.disableMapPin === false) {
|
|
20443
|
+
this.adaguc.webMapJS.getMapPin().setMapPinEnabled();
|
|
20415
20444
|
}
|
|
20416
20445
|
}
|
|
20417
20446
|
/* Change the animation delay */
|
|
@@ -20756,7 +20785,10 @@ var ReactMapView = /*#__PURE__*/function (_React$Component) {
|
|
|
20756
20785
|
_this4.onUpdateBBoxListener(newBbox);
|
|
20757
20786
|
}, true);
|
|
20758
20787
|
this.adaguc.webMapJS.addListener('onsetmappin', function (mapPinLatLonCoordinate) {
|
|
20759
|
-
|
|
20788
|
+
// only change location when mapPin is visible and enabled
|
|
20789
|
+
if (onMapPinChangeLocation && // eslint-disable-next-line react/destructuring-assignment
|
|
20790
|
+
_this4.props.displayMapPin && // eslint-disable-next-line react/destructuring-assignment
|
|
20791
|
+
!_this4.props.disableMapPin) {
|
|
20760
20792
|
onMapPinChangeLocation({
|
|
20761
20793
|
mapPinLocation: {
|
|
20762
20794
|
lat: mapPinLatLonCoordinate.lat,
|
|
@@ -20871,6 +20903,7 @@ ReactMapView.defaultProps = {
|
|
|
20871
20903
|
},
|
|
20872
20904
|
shouldAutoFetch: true,
|
|
20873
20905
|
displayMapPin: false,
|
|
20906
|
+
disableMapPin: false,
|
|
20874
20907
|
onMount: function onMount() {
|
|
20875
20908
|
return null;
|
|
20876
20909
|
},
|
|
@@ -21116,28 +21149,28 @@ var MapViewConnect = function MapViewConnect(_a) {
|
|
|
21116
21149
|
dispatch(layerActions.onUpdateLayerInformation(payload));
|
|
21117
21150
|
}, [dispatch]);
|
|
21118
21151
|
var registerMap = React.useCallback(function (payload) {
|
|
21119
|
-
|
|
21152
|
+
dispatch(mapActions$1.registerMap(payload));
|
|
21120
21153
|
}, [dispatch]);
|
|
21121
21154
|
var unregisterMap = React.useCallback(function (payload) {
|
|
21122
|
-
|
|
21155
|
+
dispatch(mapActions$1.unregisterMap(payload));
|
|
21123
21156
|
}, [dispatch]);
|
|
21124
21157
|
var genericSetBbox = React.useCallback(function (payload) {
|
|
21125
|
-
|
|
21158
|
+
dispatch(genericActions.setBbox(payload));
|
|
21126
21159
|
}, [dispatch]);
|
|
21127
21160
|
var syncGroupAddSource = React.useCallback(function (payload) {
|
|
21128
|
-
|
|
21161
|
+
dispatch(genericActions.syncGroupAddSource(payload));
|
|
21129
21162
|
}, [dispatch]);
|
|
21130
21163
|
var syncGroupRemoveSource = React.useCallback(function (payload) {
|
|
21131
|
-
|
|
21164
|
+
dispatch(genericActions.syncGroupRemoveSource(payload));
|
|
21132
21165
|
}, [dispatch]);
|
|
21133
21166
|
var layerError = React.useCallback(function (payload) {
|
|
21134
|
-
|
|
21167
|
+
dispatch(layerActions.layerError(payload));
|
|
21135
21168
|
}, [dispatch]);
|
|
21136
21169
|
var mapPinChangeLocation = React.useCallback(function (payload) {
|
|
21137
|
-
|
|
21170
|
+
dispatch(mapActions$1.setMapPinLocation(payload));
|
|
21138
21171
|
}, [dispatch]);
|
|
21139
21172
|
var setSelectedFeature = React.useCallback(function (payload) {
|
|
21140
|
-
|
|
21173
|
+
dispatch(mapActions$1.setSelectedFeature(payload));
|
|
21141
21174
|
}, [dispatch]);
|
|
21142
21175
|
useKeyboardZoomAndPan(mapId);
|
|
21143
21176
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -21395,7 +21428,8 @@ var ConfigurableMapConnect = function ConfigurableMapConnect(_a) {
|
|
|
21395
21428
|
displayDimensionSelectButtonInMap = _a$displayDimensionSe === void 0 ? true : _a$displayDimensionSe,
|
|
21396
21429
|
_a$multiLegend = _a.multiLegend,
|
|
21397
21430
|
multiLegend = _a$multiLegend === void 0 ? true : _a$multiLegend,
|
|
21398
|
-
|
|
21431
|
+
shouldShowLayerManager = _a.shouldShowLayerManager,
|
|
21432
|
+
props = __rest(_a, ["id", "title", "layers", "shouldAutoUpdate", "shouldAnimate", "bbox", "srs", "shouldShowZoomControls", "displayMapPin", "showTimeSlider", "disableTimeSlider", "displayTimeInMap", "displayLayerManagerAndLegendButtonInMap", "displayDimensionSelectButtonInMap", "multiLegend", "shouldShowLayerManager"]);
|
|
21399
21433
|
|
|
21400
21434
|
var dispatch = useDispatch();
|
|
21401
21435
|
var mapId = React__default.useRef(id || generateMapId()).current;
|
|
@@ -21424,7 +21458,17 @@ var ConfigurableMapConnect = function ConfigurableMapConnect(_a) {
|
|
|
21424
21458
|
dispatch(mapActions$1.setMapPreset({
|
|
21425
21459
|
mapId: mapId,
|
|
21426
21460
|
initialProps: initialProps
|
|
21427
|
-
}));
|
|
21461
|
+
}));
|
|
21462
|
+
|
|
21463
|
+
if (shouldShowLayerManager !== undefined) {
|
|
21464
|
+
dispatch(uiActions.setActiveMapIdForDialog({
|
|
21465
|
+
type: 'layerManager',
|
|
21466
|
+
mapId: mapId,
|
|
21467
|
+
setOpen: shouldShowLayerManager,
|
|
21468
|
+
source: 'app'
|
|
21469
|
+
}));
|
|
21470
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
21471
|
+
|
|
21428
21472
|
}, []);
|
|
21429
21473
|
return /*#__PURE__*/React__default.createElement(Box, {
|
|
21430
21474
|
sx: {
|
|
@@ -21514,7 +21558,7 @@ var MultiMapViewConnect = function MultiMapViewConnect(_ref) {
|
|
|
21514
21558
|
var classes = useStyles$2();
|
|
21515
21559
|
var dispatch = useDispatch();
|
|
21516
21560
|
var syncGroupAddTarget = React__default.useCallback(function (payload) {
|
|
21517
|
-
|
|
21561
|
+
dispatch(genericActions.syncGroupAddTarget(payload));
|
|
21518
21562
|
}, [dispatch]);
|
|
21519
21563
|
React__default.useEffect(function () {
|
|
21520
21564
|
maps.forEach(function (map) {
|
|
@@ -22157,16 +22201,16 @@ var SyncGroupViewerConnect = function SyncGroupViewerConnect() {
|
|
|
22157
22201
|
|
|
22158
22202
|
var viewState = useSelector(syncGroupGetViewState);
|
|
22159
22203
|
var syncGroupAddGroup = React.useCallback(function (payload) {
|
|
22160
|
-
|
|
22204
|
+
dispatch(actions.syncGroupAddGroup(payload));
|
|
22161
22205
|
}, [dispatch]);
|
|
22162
22206
|
var syncGroupRemoveGroup = React.useCallback(function (payload) {
|
|
22163
|
-
|
|
22207
|
+
dispatch(actions.syncGroupRemoveGroup(payload));
|
|
22164
22208
|
}, [dispatch]);
|
|
22165
22209
|
var syncGroupAddTarget = React.useCallback(function (payload) {
|
|
22166
|
-
|
|
22210
|
+
dispatch(actions.syncGroupAddTarget(payload));
|
|
22167
22211
|
}, [dispatch]);
|
|
22168
22212
|
var syncGroupRemoveTarget = React.useCallback(function (payload) {
|
|
22169
|
-
|
|
22213
|
+
dispatch(actions.syncGroupRemoveTarget(payload));
|
|
22170
22214
|
}, [dispatch]);
|
|
22171
22215
|
var isOpenInStore = useSelector(function (store) {
|
|
22172
22216
|
return getisDialogOpen(store, 'syncGroups');
|
|
@@ -22442,21 +22486,17 @@ var MapWarningProperties = function MapWarningProperties(_ref) {
|
|
|
22442
22486
|
}
|
|
22443
22487
|
}, /*#__PURE__*/React__default.createElement("h1", {
|
|
22444
22488
|
"data-testid": "map-warning-properties-title"
|
|
22445
|
-
}, selectedFeatureProperties.
|
|
22446
|
-
"data-testid": "map-warning-properties-row"
|
|
22447
|
-
}, "Event: ", selectedFeatureProperties.details[0].event), selectedFeatureProperties.details[0].sent && /*#__PURE__*/React__default.createElement("pre", {
|
|
22448
|
-
"data-testid": "map-warning-properties-row"
|
|
22449
|
-
}, "Sent:", ' ', moment.utc(selectedFeatureProperties.details[0].sent).format('DD MMM YYYY, HH:mm'), ' ', "UTC"), selectedFeatureProperties.details[0].expires && /*#__PURE__*/React__default.createElement("pre", {
|
|
22489
|
+
}, selectedFeatureProperties.areaDesc), selectedFeatureProperties.areaDesc && /*#__PURE__*/React__default.createElement("pre", {
|
|
22450
22490
|
"data-testid": "map-warning-properties-row"
|
|
22451
|
-
}, "
|
|
22491
|
+
}, "event: ", selectedFeatureProperties.languages[2].event), selectedFeatureProperties.onset && /*#__PURE__*/React__default.createElement("pre", {
|
|
22452
22492
|
"data-testid": "map-warning-properties-row"
|
|
22453
|
-
}, "
|
|
22493
|
+
}, "Sent:", ' ', moment.utc(selectedFeatureProperties.onset).format('DD MMM YYYY, HH:mm'), ' ', "UTC"), selectedFeatureProperties.expires && /*#__PURE__*/React__default.createElement("pre", {
|
|
22454
22494
|
"data-testid": "map-warning-properties-row"
|
|
22455
|
-
}, "
|
|
22495
|
+
}, "Expires:", ' ', moment.utc(selectedFeatureProperties.expires).format('DD MMM YYYY, HH:mm'), ' ', "UTC"), selectedFeatureProperties.languages[2].senderName && /*#__PURE__*/React__default.createElement("pre", {
|
|
22456
22496
|
"data-testid": "map-warning-properties-row"
|
|
22457
|
-
}, "
|
|
22497
|
+
}, "Sender: ", selectedFeatureProperties.languages[2].senderName), selectedFeatureProperties.identifier && /*#__PURE__*/React__default.createElement("pre", {
|
|
22458
22498
|
"data-testid": "map-warning-properties-row"
|
|
22459
|
-
}, "
|
|
22499
|
+
}, "Identifier: ", selectedFeatureProperties.identifier));
|
|
22460
22500
|
};
|
|
22461
22501
|
|
|
22462
22502
|
/* *
|