@opengeoweb/core 2.15.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 +130 -80
- package/index.umd.js +153 -105
- 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/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/types.d.ts +1 -0
- package/lib/store/mapStore/service/selectors.d.ts +2 -0
- package/lib/store/mapStore/service/types.d.ts +1 -0
- package/package.json +5 -5
package/index.esm.js
CHANGED
|
@@ -7,7 +7,7 @@ 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';
|
|
@@ -1666,6 +1666,17 @@ var slice$5 = createSlice({
|
|
|
1666
1666
|
draft.availableBaseLayers.allIds.push(layer.id);
|
|
1667
1667
|
});
|
|
1668
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
|
+
},
|
|
1669
1680
|
onUpdateLayerInformation: function onUpdateLayerInformation(draft, action) {
|
|
1670
1681
|
var _action$payload11 = action.payload,
|
|
1671
1682
|
layerStyle = _action$payload11.layerStyle,
|
|
@@ -1949,12 +1960,13 @@ var getLayerStyles = createSelector(getLayerFromService, function (layer) {
|
|
|
1949
1960
|
* @returns {array} returnType: [] - array containing services
|
|
1950
1961
|
*/
|
|
1951
1962
|
|
|
1952
|
-
|
|
1963
|
+
createSelector(servicesStore, function (store) {
|
|
1953
1964
|
var services = store ? store.byId : {};
|
|
1954
1965
|
var arrayOfServiceObjects = Object.keys(services).map(function (key) {
|
|
1955
1966
|
return {
|
|
1956
1967
|
name: services[key].name,
|
|
1957
|
-
serviceUrl: services[key].serviceUrl
|
|
1968
|
+
serviceUrl: services[key].serviceUrl,
|
|
1969
|
+
isUserAddedService: services[key].isUserAddedService
|
|
1958
1970
|
};
|
|
1959
1971
|
});
|
|
1960
1972
|
return arrayOfServiceObjects;
|
|
@@ -4373,7 +4385,8 @@ var slice = createSlice({
|
|
|
4373
4385
|
serviceId = _action$payload.serviceId,
|
|
4374
4386
|
serviceName = _action$payload.serviceName,
|
|
4375
4387
|
serviceUrl = _action$payload.serviceUrl,
|
|
4376
|
-
keywords = _action$payload.keywords
|
|
4388
|
+
keywords = _action$payload.keywords,
|
|
4389
|
+
isUserAddedService = _action$payload.isUserAddedService;
|
|
4377
4390
|
|
|
4378
4391
|
if (!draft.filters.activeServices.byId[serviceId]) {
|
|
4379
4392
|
draft.filters.activeServices.byId[serviceId] = {};
|
|
@@ -4408,6 +4421,7 @@ var slice = createSlice({
|
|
|
4408
4421
|
draft.filters.activeServices.byId[serviceId].serviceName = serviceName;
|
|
4409
4422
|
draft.filters.activeServices.byId[serviceId].serviceUrl = serviceUrl;
|
|
4410
4423
|
draft.filters.activeServices.byId[serviceId].enabled = true;
|
|
4424
|
+
draft.filters.activeServices.byId[serviceId].isUserAddedService = isUserAddedService;
|
|
4411
4425
|
draft.filters.activeServices.byId[serviceId].keywordsPerService = keywords;
|
|
4412
4426
|
if (!draft.filters.activeServices.allIds.includes(serviceId)) draft.filters.activeServices.allIds.push(serviceId);
|
|
4413
4427
|
},
|
|
@@ -8198,7 +8212,7 @@ var mergePresetsAndUserAddedServices = function mergePresetsAndUserAddedServices
|
|
|
8198
8212
|
};
|
|
8199
8213
|
var isService = function isService(param) {
|
|
8200
8214
|
var serviceParam = param;
|
|
8201
|
-
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);
|
|
8202
8216
|
};
|
|
8203
8217
|
|
|
8204
8218
|
var getUserAddedServices = function getUserAddedServices() {
|
|
@@ -8207,6 +8221,13 @@ var getUserAddedServices = function getUserAddedServices() {
|
|
|
8207
8221
|
var parsedData = JSON.parse(storedString);
|
|
8208
8222
|
|
|
8209
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
|
+
});
|
|
8210
8231
|
return Object.entries(parsedData).reduce(function (userServices, _ref) {
|
|
8211
8232
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
8212
8233
|
serviceUrl = _ref2[0],
|
|
@@ -8233,39 +8254,26 @@ var _marked = /*#__PURE__*/regeneratorRuntime.mark(newServiceAddedSaga),
|
|
|
8233
8254
|
_marked2 = /*#__PURE__*/regeneratorRuntime.mark(layerSelectServiceRemovedSaga),
|
|
8234
8255
|
_marked3 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga);
|
|
8235
8256
|
function newServiceAddedSaga(capturedAction) {
|
|
8236
|
-
var addedService, id, serviceUrl, name,
|
|
8257
|
+
var addedService, id, serviceUrl, name, isUserAddedService, keywords;
|
|
8237
8258
|
return regeneratorRuntime.wrap(function newServiceAddedSaga$(_context) {
|
|
8238
8259
|
while (1) {
|
|
8239
8260
|
switch (_context.prev = _context.next) {
|
|
8240
8261
|
case 0:
|
|
8241
8262
|
addedService = capturedAction.payload;
|
|
8242
|
-
id = addedService.id, serviceUrl = addedService.serviceUrl, name = addedService.name;
|
|
8263
|
+
id = addedService.id, serviceUrl = addedService.serviceUrl, name = addedService.name, isUserAddedService = addedService.isUserAddedService;
|
|
8243
8264
|
keywords = addedService.layers.reduce(function (keywordAccumulator, layer) {
|
|
8244
8265
|
return keywordAccumulator.concat(layer.path, layer.keywords);
|
|
8245
8266
|
}, []);
|
|
8246
8267
|
_context.next = 5;
|
|
8247
|
-
return select(getServicesInArray);
|
|
8248
|
-
|
|
8249
|
-
case 5:
|
|
8250
|
-
services = _context.sent;
|
|
8251
|
-
|
|
8252
|
-
findServiceName = function findServiceName() {
|
|
8253
|
-
var foundService = services.find(function (object) {
|
|
8254
|
-
return (object === null || object === void 0 ? void 0 : object.url) === serviceUrl;
|
|
8255
|
-
});
|
|
8256
|
-
if (foundService) return foundService.name;
|
|
8257
|
-
return name;
|
|
8258
|
-
};
|
|
8259
|
-
|
|
8260
|
-
_context.next = 9;
|
|
8261
8268
|
return put(layerSelectActions.addKeywordsAndActiveServices({
|
|
8262
8269
|
serviceId: id,
|
|
8263
|
-
serviceName:
|
|
8270
|
+
serviceName: name,
|
|
8264
8271
|
serviceUrl: serviceUrl,
|
|
8265
|
-
keywords: keywords
|
|
8272
|
+
keywords: keywords,
|
|
8273
|
+
isUserAddedService: isUserAddedService
|
|
8266
8274
|
}));
|
|
8267
8275
|
|
|
8268
|
-
case
|
|
8276
|
+
case 5:
|
|
8269
8277
|
case "end":
|
|
8270
8278
|
return _context.stop();
|
|
8271
8279
|
}
|
|
@@ -9723,7 +9731,6 @@ var OpacitySelect = function OpacitySelect(_ref) {
|
|
|
9723
9731
|
_ref$isEnabled = _ref.isEnabled,
|
|
9724
9732
|
isEnabled = _ref$isEnabled === void 0 ? true : _ref$isEnabled;
|
|
9725
9733
|
var classes = useStyles$n();
|
|
9726
|
-
var sliderClasses = sliderStyles();
|
|
9727
9734
|
|
|
9728
9735
|
var _React$useState = React.useState(false),
|
|
9729
9736
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -9789,8 +9796,8 @@ var OpacitySelect = function OpacitySelect(_ref) {
|
|
|
9789
9796
|
onBlur: onBlur
|
|
9790
9797
|
}, currentOpacityText)), open ? /*#__PURE__*/React.createElement("div", {
|
|
9791
9798
|
className: classes.sliderBackground
|
|
9792
|
-
}, /*#__PURE__*/React.createElement(
|
|
9793
|
-
|
|
9799
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
9800
|
+
sx: sliderHeaderStyle
|
|
9794
9801
|
}, "Opacity"), /*#__PURE__*/React.createElement(CustomSlider, {
|
|
9795
9802
|
"data-testid": "opacitySlider",
|
|
9796
9803
|
orientation: "vertical",
|
|
@@ -10963,6 +10970,15 @@ var constructListAvailableBaseLayers = function constructListAvailableBaseLayers
|
|
|
10963
10970
|
}));
|
|
10964
10971
|
}, baseLayersWithMapId);
|
|
10965
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
|
+
};
|
|
10966
10982
|
|
|
10967
10983
|
var BaseLayersConnect = function BaseLayersConnect(_ref) {
|
|
10968
10984
|
var mapId = _ref.mapId,
|
|
@@ -10976,14 +10992,16 @@ var BaseLayersConnect = function BaseLayersConnect(_ref) {
|
|
|
10976
10992
|
});
|
|
10977
10993
|
React.useEffect(function () {
|
|
10978
10994
|
// Set initial availableBaseLayers only if none set for that map yet
|
|
10979
|
-
|
|
10980
|
-
|
|
10981
|
-
|
|
10995
|
+
var availableBaseLayersToBeAdded = constructListAvailableBaseLayers(selectedBaseLayers, preloadedAvailableBaseLayers, mapId);
|
|
10996
|
+
var areBaseLayersSame = areAvailableBaseLayersSame(availableBaseLayersToBeAdded, currentAvailableBaseLayers);
|
|
10997
|
+
|
|
10998
|
+
if (!areBaseLayersSame) {
|
|
10999
|
+
dispatch(layerActions.setAvailableBaseLayers({
|
|
10982
11000
|
layers: availableBaseLayersToBeAdded
|
|
10983
11001
|
}));
|
|
10984
11002
|
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10985
11003
|
|
|
10986
|
-
}, [mapId]);
|
|
11004
|
+
}, [mapId, preloadedAvailableBaseLayers]);
|
|
10987
11005
|
|
|
10988
11006
|
var onChangeBaseLayers = function onChangeBaseLayers(newSelectedLayerId) {
|
|
10989
11007
|
var newBaseLayer = currentAvailableBaseLayers.filter(function (layer) {
|
|
@@ -11283,23 +11301,22 @@ var ServicePopup = function ServicePopup(_ref) {
|
|
|
11283
11301
|
hideBackdrop = _ref$hideBackdrop === void 0 ? false : _ref$hideBackdrop,
|
|
11284
11302
|
isOpen = _ref.isOpen,
|
|
11285
11303
|
closePopup = _ref.closePopup,
|
|
11304
|
+
serviceId = _ref.serviceId,
|
|
11286
11305
|
url = _ref.url,
|
|
11287
11306
|
services = _ref.services,
|
|
11288
11307
|
serviceSetLayers = _ref.serviceSetLayers;
|
|
11289
11308
|
|
|
11290
|
-
var
|
|
11291
|
-
|
|
11292
|
-
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(''),
|
|
11293
11310
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
11294
11311
|
serviceName = _React$useState2[0],
|
|
11295
11312
|
setServiceName = _React$useState2[1];
|
|
11296
11313
|
|
|
11297
|
-
var _React$useState3 = React.useState(
|
|
11314
|
+
var _React$useState3 = React.useState(''),
|
|
11298
11315
|
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
11299
11316
|
serviceUrl = _React$useState4[0],
|
|
11300
11317
|
setServiceUrl = _React$useState4[1];
|
|
11301
11318
|
|
|
11302
|
-
var _React$useState5 = React.useState(
|
|
11319
|
+
var _React$useState5 = React.useState(''),
|
|
11303
11320
|
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
11304
11321
|
_abstract = _React$useState6[0],
|
|
11305
11322
|
setAbstract = _React$useState6[1];
|
|
@@ -11334,6 +11351,19 @@ var ServicePopup = function ServicePopup(_ref) {
|
|
|
11334
11351
|
serviceUrlHelperText = _React$useState18[0],
|
|
11335
11352
|
setServiceUrlHelperText = _React$useState18[1];
|
|
11336
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
|
+
|
|
11337
11367
|
var validateServiceUrl = function validateServiceUrl(url) {
|
|
11338
11368
|
if (url === '' || url === null || typeof url === 'undefined') return false;
|
|
11339
11369
|
var matcher = /^(?:\w+:)?\/\/([^\s.]+\.\S{2}|[0-9a-zA-Z]+[:?\d]*)\S*$/;
|
|
@@ -11420,11 +11450,10 @@ var ServicePopup = function ServicePopup(_ref) {
|
|
|
11420
11450
|
|
|
11421
11451
|
var ServiceNameInRedux = function ServiceNameInRedux() {
|
|
11422
11452
|
if (servicePopupVariant === 'add' || servicePopupVariant === 'save') {
|
|
11423
|
-
|
|
11424
|
-
|
|
11425
|
-
}
|
|
11426
|
-
|
|
11427
|
-
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;
|
|
11428
11457
|
}
|
|
11429
11458
|
|
|
11430
11459
|
return false;
|
|
@@ -11432,11 +11461,10 @@ var ServicePopup = function ServicePopup(_ref) {
|
|
|
11432
11461
|
|
|
11433
11462
|
var UrlInRedux = function UrlInRedux() {
|
|
11434
11463
|
if (servicePopupVariant === 'add' || servicePopupVariant === 'save') {
|
|
11435
|
-
|
|
11436
|
-
return
|
|
11437
|
-
}
|
|
11438
|
-
|
|
11439
|
-
return false;
|
|
11464
|
+
var foundUrl = Object.keys(services).find(function (serviceId) {
|
|
11465
|
+
return services[serviceId].serviceUrl === serviceUrl;
|
|
11466
|
+
});
|
|
11467
|
+
return foundUrl !== undefined;
|
|
11440
11468
|
}
|
|
11441
11469
|
|
|
11442
11470
|
return false;
|
|
@@ -11444,6 +11472,7 @@ var ServicePopup = function ServicePopup(_ref) {
|
|
|
11444
11472
|
|
|
11445
11473
|
|
|
11446
11474
|
React.useEffect(function () {
|
|
11475
|
+
if (serviceName === undefined) return;
|
|
11447
11476
|
setServiceNameHelperText('');
|
|
11448
11477
|
|
|
11449
11478
|
if (ServiceNameInRedux()) {
|
|
@@ -11459,7 +11488,7 @@ var ServicePopup = function ServicePopup(_ref) {
|
|
|
11459
11488
|
React.useEffect(function () {
|
|
11460
11489
|
setServiceUrlHelperText('');
|
|
11461
11490
|
|
|
11462
|
-
if (serviceUrl.length > 0 && !validateServiceUrl(serviceUrl)) {
|
|
11491
|
+
if (serviceUrl && serviceUrl.length > 0 && !validateServiceUrl(serviceUrl)) {
|
|
11463
11492
|
setServiceUrlHasError(true);
|
|
11464
11493
|
setServiceUrlHelperText('Error: Not a valid URL.');
|
|
11465
11494
|
} else if (UrlInRedux()) {
|
|
@@ -11546,7 +11575,8 @@ var ServicePopup = function ServicePopup(_ref) {
|
|
|
11546
11575
|
return setAbstract(event.target.value);
|
|
11547
11576
|
},
|
|
11548
11577
|
value: _abstract,
|
|
11549
|
-
"data-testid": "abstractTextField"
|
|
11578
|
+
"data-testid": "abstractTextField",
|
|
11579
|
+
disabled: true
|
|
11550
11580
|
})), /*#__PURE__*/React.createElement(DialogActions, {
|
|
11551
11581
|
sx: style$1.footerContent
|
|
11552
11582
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
@@ -11602,10 +11632,11 @@ var ServicePopupConnect = function ServicePopupConnect(_ref) {
|
|
|
11602
11632
|
hideBackdrop = _ref.hideBackdrop,
|
|
11603
11633
|
isOpen = _ref.isOpen,
|
|
11604
11634
|
closePopup = _ref.closePopup,
|
|
11635
|
+
serviceId = _ref.serviceId,
|
|
11605
11636
|
url = _ref.url;
|
|
11606
11637
|
var dispatch = useDispatch();
|
|
11607
11638
|
var services = useSelector(function (store) {
|
|
11608
|
-
return
|
|
11639
|
+
return getActiveServices(store);
|
|
11609
11640
|
});
|
|
11610
11641
|
var serviceSetLayers = React__default.useCallback(function (payload) {
|
|
11611
11642
|
dispatch(serviceActions.serviceSetLayers(payload));
|
|
@@ -11615,9 +11646,10 @@ var ServicePopupConnect = function ServicePopupConnect(_ref) {
|
|
|
11615
11646
|
hideBackdrop: hideBackdrop,
|
|
11616
11647
|
isOpen: isOpen,
|
|
11617
11648
|
closePopup: closePopup,
|
|
11618
|
-
|
|
11649
|
+
serviceId: serviceId,
|
|
11619
11650
|
services: services,
|
|
11620
|
-
serviceSetLayers: serviceSetLayers
|
|
11651
|
+
serviceSetLayers: serviceSetLayers,
|
|
11652
|
+
url: url
|
|
11621
11653
|
});
|
|
11622
11654
|
};
|
|
11623
11655
|
|
|
@@ -12459,28 +12491,32 @@ var styles = {
|
|
|
12459
12491
|
|
|
12460
12492
|
var ServiceOptionsDialog = function ServiceOptionsDialog(_ref) {
|
|
12461
12493
|
var services = _ref.services,
|
|
12462
|
-
mapStoreRemoveService = _ref.mapStoreRemoveService
|
|
12463
|
-
_ref$layers = _ref.layers,
|
|
12464
|
-
layers = _ref$layers === void 0 ? [] : _ref$layers;
|
|
12494
|
+
mapStoreRemoveService = _ref.mapStoreRemoveService;
|
|
12465
12495
|
|
|
12466
12496
|
var _React$useState = React.useState(false),
|
|
12467
12497
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
12468
|
-
|
|
12498
|
+
addServiceIsOpen = _React$useState2[0],
|
|
12469
12499
|
setAddServiceIsOpen = _React$useState2[1];
|
|
12470
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
|
+
|
|
12471
12510
|
var openAddService = function openAddService() {
|
|
12472
12511
|
setAddServiceIsOpen(true);
|
|
12473
12512
|
};
|
|
12474
12513
|
|
|
12475
12514
|
var closePopup = function closePopup() {
|
|
12476
12515
|
setAddServiceIsOpen(false);
|
|
12477
|
-
|
|
12478
|
-
|
|
12479
|
-
|
|
12480
|
-
|
|
12481
|
-
return layer.service && layer.service.includes(service);
|
|
12482
|
-
}) || preloadedDefaultMapServices.some(function (defaultMapService) {
|
|
12483
|
-
return defaultMapService.url && defaultMapService.url.includes(service);
|
|
12516
|
+
setEditServiceIsOpen({
|
|
12517
|
+
isOpen: false,
|
|
12518
|
+
serviceId: '',
|
|
12519
|
+
serviceUrl: ''
|
|
12484
12520
|
});
|
|
12485
12521
|
};
|
|
12486
12522
|
|
|
@@ -12509,16 +12545,25 @@ var ServiceOptionsDialog = function ServiceOptionsDialog(_ref) {
|
|
|
12509
12545
|
marginRight: '-10px'
|
|
12510
12546
|
}
|
|
12511
12547
|
}, /*#__PURE__*/React.createElement(Tooltip, {
|
|
12512
|
-
title: "Edit Service"
|
|
12548
|
+
title: "Edit Service",
|
|
12549
|
+
disableHoverListener: !services[serviceId].isUserAddedService
|
|
12513
12550
|
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(IconButton, {
|
|
12514
|
-
disabled:
|
|
12551
|
+
disabled: !services[serviceId].isUserAddedService,
|
|
12515
12552
|
"data-testid": "openEditServiceButton",
|
|
12516
|
-
size: "large"
|
|
12553
|
+
size: "large",
|
|
12554
|
+
onClick: function onClick() {
|
|
12555
|
+
setEditServiceIsOpen({
|
|
12556
|
+
isOpen: true,
|
|
12557
|
+
serviceId: serviceId,
|
|
12558
|
+
serviceUrl: services[serviceId].serviceUrl
|
|
12559
|
+
});
|
|
12560
|
+
}
|
|
12517
12561
|
}, /*#__PURE__*/React.createElement(Edit, null)))), /*#__PURE__*/React.createElement(Tooltip, {
|
|
12518
|
-
title: "Delete Service"
|
|
12562
|
+
title: "Delete Service",
|
|
12563
|
+
disableHoverListener: !services[serviceId].isUserAddedService
|
|
12519
12564
|
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(IconButton, {
|
|
12520
12565
|
size: "large",
|
|
12521
|
-
disabled:
|
|
12566
|
+
disabled: !services[serviceId].isUserAddedService,
|
|
12522
12567
|
onClick: function onClick() {
|
|
12523
12568
|
return mapStoreRemoveService(serviceId, services[serviceId].serviceUrl);
|
|
12524
12569
|
},
|
|
@@ -12532,10 +12577,16 @@ var ServiceOptionsDialog = function ServiceOptionsDialog(_ref) {
|
|
|
12532
12577
|
sx: styles.button,
|
|
12533
12578
|
variant: "tertiary",
|
|
12534
12579
|
startIcon: /*#__PURE__*/React.createElement(Add, null)
|
|
12535
|
-
}, "Add a new service"))),
|
|
12580
|
+
}, "Add a new service"))), addServiceIsOpen && /*#__PURE__*/React.createElement(ServicePopupConnect, {
|
|
12536
12581
|
servicePopupVariant: "add",
|
|
12537
|
-
isOpen:
|
|
12582
|
+
isOpen: addServiceIsOpen,
|
|
12538
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
|
|
12539
12590
|
}));
|
|
12540
12591
|
};
|
|
12541
12592
|
|
|
@@ -12558,9 +12609,6 @@ var ServiceOptionsDialog = function ServiceOptionsDialog(_ref) {
|
|
|
12558
12609
|
|
|
12559
12610
|
var ServiceOptionsDialogConnect = function ServiceOptionsDialogConnect() {
|
|
12560
12611
|
var dispatch = useDispatch();
|
|
12561
|
-
var allLayers = useSelector(function (store) {
|
|
12562
|
-
return getAllLayers(store);
|
|
12563
|
-
});
|
|
12564
12612
|
var mapStoreRemoveService = React.useCallback(function (serviceId, serviceUrl) {
|
|
12565
12613
|
dispatch(serviceActions.mapStoreRemoveService({
|
|
12566
12614
|
id: serviceId,
|
|
@@ -12572,7 +12620,6 @@ var ServiceOptionsDialogConnect = function ServiceOptionsDialogConnect() {
|
|
|
12572
12620
|
});
|
|
12573
12621
|
return /*#__PURE__*/React.createElement(ServiceOptionsDialog, {
|
|
12574
12622
|
services: services,
|
|
12575
|
-
layers: allLayers,
|
|
12576
12623
|
mapStoreRemoveService: mapStoreRemoveService
|
|
12577
12624
|
});
|
|
12578
12625
|
};
|
|
@@ -13162,6 +13209,11 @@ var LayerSelectConnect = function LayerSelectConnect(_ref) {
|
|
|
13162
13209
|
var serviceSetLayers = React.useCallback(function (payload) {
|
|
13163
13210
|
dispatch(serviceActions.serviceSetLayers(payload));
|
|
13164
13211
|
}, [dispatch]);
|
|
13212
|
+
|
|
13213
|
+
var checkIfUserAddedService = function checkIfUserAddedService(service) {
|
|
13214
|
+
return !!service.isUserAddedService;
|
|
13215
|
+
};
|
|
13216
|
+
|
|
13165
13217
|
React.useEffect(function () {
|
|
13166
13218
|
if (isOpenInStore && preloadedServices && preloadedServices.length > 0) {
|
|
13167
13219
|
mergePresetsAndUserAddedServices(preloadedServices, getUserAddedServices()).forEach(function (service) {
|
|
@@ -13173,7 +13225,7 @@ var LayerSelectConnect = function LayerSelectConnect(_ref) {
|
|
|
13173
13225
|
name: service.name,
|
|
13174
13226
|
serviceUrl: service.url,
|
|
13175
13227
|
layers: layers,
|
|
13176
|
-
isUserAddedService:
|
|
13228
|
+
isUserAddedService: checkIfUserAddedService(service)
|
|
13177
13229
|
});
|
|
13178
13230
|
}
|
|
13179
13231
|
})["catch"](function () {
|
|
@@ -14225,7 +14277,6 @@ var SpeedButton = function SpeedButton(_ref) {
|
|
|
14225
14277
|
var animationDelay = _ref.animationDelay,
|
|
14226
14278
|
setMapAnimationDelay = _ref.setMapAnimationDelay;
|
|
14227
14279
|
var classes = useStyles$c();
|
|
14228
|
-
var sliderClasses = sliderStyles();
|
|
14229
14280
|
|
|
14230
14281
|
var _React$useState = React.useState(false),
|
|
14231
14282
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -14290,8 +14341,8 @@ var SpeedButton = function SpeedButton(_ref) {
|
|
|
14290
14341
|
text: text
|
|
14291
14342
|
})))), open ? /*#__PURE__*/React.createElement("div", {
|
|
14292
14343
|
className: classes.sliderBackground
|
|
14293
|
-
}, /*#__PURE__*/React.createElement(
|
|
14294
|
-
|
|
14344
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
14345
|
+
sx: sliderHeaderStyle
|
|
14295
14346
|
}, "Speed"), /*#__PURE__*/React.createElement(CustomSlider, {
|
|
14296
14347
|
"data-testid": "speedSlider",
|
|
14297
14348
|
orientation: "vertical",
|
|
@@ -14466,7 +14517,6 @@ var TimeStepButton = function TimeStepButton(_ref) {
|
|
|
14466
14517
|
return null;
|
|
14467
14518
|
} : _ref$onToggleTimestep;
|
|
14468
14519
|
var classes = useStyles$b();
|
|
14469
|
-
var sliderClasses = sliderStyles();
|
|
14470
14520
|
|
|
14471
14521
|
var _React$useState = React.useState(false),
|
|
14472
14522
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -14535,8 +14585,8 @@ var TimeStepButton = function TimeStepButton(_ref) {
|
|
|
14535
14585
|
"data-testid": "timeStepButtonText"
|
|
14536
14586
|
})))), open ? /*#__PURE__*/React.createElement("div", {
|
|
14537
14587
|
className: classes.sliderBackground
|
|
14538
|
-
}, /*#__PURE__*/React.createElement(
|
|
14539
|
-
|
|
14588
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
14589
|
+
sx: sliderHeaderStyle
|
|
14540
14590
|
}, "Time step"), /*#__PURE__*/React.createElement(CustomSlider, {
|
|
14541
14591
|
"data-testid": "timeStepButtonSlider",
|
|
14542
14592
|
orientation: "vertical",
|
package/index.umd.js
CHANGED
|
@@ -1532,6 +1532,17 @@
|
|
|
1532
1532
|
draft.availableBaseLayers.allIds.push(layer.id);
|
|
1533
1533
|
});
|
|
1534
1534
|
},
|
|
1535
|
+
setAvailableBaseLayers: function setAvailableBaseLayers(draft, action) {
|
|
1536
|
+
var layers = action.payload.layers;
|
|
1537
|
+
draft.availableBaseLayers.byId = {};
|
|
1538
|
+
draft.availableBaseLayers.allIds = []; // add new available baselayers
|
|
1539
|
+
|
|
1540
|
+
layers.forEach(function (layer) {
|
|
1541
|
+
if (layer.layerType !== LayerType.baseLayer || !layer.mapId) return;
|
|
1542
|
+
draft.availableBaseLayers.byId[layer.id] = createLayer(__assign({}, layer));
|
|
1543
|
+
draft.availableBaseLayers.allIds.push(layer.id);
|
|
1544
|
+
});
|
|
1545
|
+
},
|
|
1535
1546
|
onUpdateLayerInformation: function onUpdateLayerInformation(draft, action) {
|
|
1536
1547
|
var _a = action.payload,
|
|
1537
1548
|
layerStyle = _a.layerStyle,
|
|
@@ -1815,12 +1826,13 @@
|
|
|
1815
1826
|
* @returns {array} returnType: [] - array containing services
|
|
1816
1827
|
*/
|
|
1817
1828
|
|
|
1818
|
-
|
|
1829
|
+
toolkit.createSelector(servicesStore, function (store) {
|
|
1819
1830
|
var services = store ? store.byId : {};
|
|
1820
1831
|
var arrayOfServiceObjects = Object.keys(services).map(function (key) {
|
|
1821
1832
|
return {
|
|
1822
1833
|
name: services[key].name,
|
|
1823
|
-
serviceUrl: services[key].serviceUrl
|
|
1834
|
+
serviceUrl: services[key].serviceUrl,
|
|
1835
|
+
isUserAddedService: services[key].isUserAddedService
|
|
1824
1836
|
};
|
|
1825
1837
|
});
|
|
1826
1838
|
return arrayOfServiceObjects;
|
|
@@ -4308,7 +4320,8 @@
|
|
|
4308
4320
|
serviceId = _b.serviceId,
|
|
4309
4321
|
serviceName = _b.serviceName,
|
|
4310
4322
|
serviceUrl = _b.serviceUrl,
|
|
4311
|
-
keywords = _b.keywords
|
|
4323
|
+
keywords = _b.keywords,
|
|
4324
|
+
isUserAddedService = _b.isUserAddedService;
|
|
4312
4325
|
|
|
4313
4326
|
if (!draft.filters.activeServices.byId[serviceId]) {
|
|
4314
4327
|
draft.filters.activeServices.byId[serviceId] = {};
|
|
@@ -4346,6 +4359,7 @@
|
|
|
4346
4359
|
draft.filters.activeServices.byId[serviceId].serviceName = serviceName;
|
|
4347
4360
|
draft.filters.activeServices.byId[serviceId].serviceUrl = serviceUrl;
|
|
4348
4361
|
draft.filters.activeServices.byId[serviceId].enabled = true;
|
|
4362
|
+
draft.filters.activeServices.byId[serviceId].isUserAddedService = isUserAddedService;
|
|
4349
4363
|
draft.filters.activeServices.byId[serviceId].keywordsPerService = keywords;
|
|
4350
4364
|
if (!draft.filters.activeServices.allIds.includes(serviceId)) draft.filters.activeServices.allIds.push(serviceId);
|
|
4351
4365
|
},
|
|
@@ -8459,7 +8473,7 @@
|
|
|
8459
8473
|
};
|
|
8460
8474
|
var isService = function isService(param) {
|
|
8461
8475
|
var serviceParam = param;
|
|
8462
|
-
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));
|
|
8476
|
+
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);
|
|
8463
8477
|
};
|
|
8464
8478
|
|
|
8465
8479
|
var getUserAddedServices = function getUserAddedServices() {
|
|
@@ -8468,6 +8482,13 @@
|
|
|
8468
8482
|
var parsedData = JSON.parse(storedString);
|
|
8469
8483
|
|
|
8470
8484
|
if (parsedData && _typeof(parsedData) === 'object') {
|
|
8485
|
+
Object.values(parsedData).forEach(function (value) {
|
|
8486
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
8487
|
+
if (value.hasOwnProperty('url') && value.hasOwnProperty('id')) {
|
|
8488
|
+
var service = value;
|
|
8489
|
+
service.isUserAddedService = true;
|
|
8490
|
+
}
|
|
8491
|
+
});
|
|
8471
8492
|
return Object.entries(parsedData).reduce(function (userServices, _a) {
|
|
8472
8493
|
var _b;
|
|
8473
8494
|
|
|
@@ -8509,40 +8530,26 @@
|
|
|
8509
8530
|
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
8510
8531
|
* */
|
|
8511
8532
|
function newServiceAddedSaga(capturedAction) {
|
|
8512
|
-
var addedService, id, serviceUrl, name,
|
|
8533
|
+
var addedService, id, serviceUrl, name, isUserAddedService, keywords;
|
|
8513
8534
|
return __generator(this, function (_a) {
|
|
8514
8535
|
switch (_a.label) {
|
|
8515
8536
|
case 0:
|
|
8516
8537
|
addedService = capturedAction.payload;
|
|
8517
|
-
id = addedService.id, serviceUrl = addedService.serviceUrl, name = addedService.name;
|
|
8538
|
+
id = addedService.id, serviceUrl = addedService.serviceUrl, name = addedService.name, isUserAddedService = addedService.isUserAddedService;
|
|
8518
8539
|
keywords = addedService.layers.reduce(function (keywordAccumulator, layer) {
|
|
8519
8540
|
return keywordAccumulator.concat(layer.path, layer.keywords);
|
|
8520
8541
|
}, []);
|
|
8521
|
-
return [4
|
|
8522
|
-
/*yield*/
|
|
8523
|
-
, effects.select(getServicesInArray)];
|
|
8524
|
-
|
|
8525
|
-
case 1:
|
|
8526
|
-
services = _a.sent();
|
|
8527
|
-
|
|
8528
|
-
findServiceName = function findServiceName() {
|
|
8529
|
-
var foundService = services.find(function (object) {
|
|
8530
|
-
return (object === null || object === void 0 ? void 0 : object.url) === serviceUrl;
|
|
8531
|
-
});
|
|
8532
|
-
if (foundService) return foundService.name;
|
|
8533
|
-
return name;
|
|
8534
|
-
};
|
|
8535
|
-
|
|
8536
8542
|
return [4
|
|
8537
8543
|
/*yield*/
|
|
8538
8544
|
, effects.put(layerSelectActions.addKeywordsAndActiveServices({
|
|
8539
8545
|
serviceId: id,
|
|
8540
|
-
serviceName:
|
|
8546
|
+
serviceName: name,
|
|
8541
8547
|
serviceUrl: serviceUrl,
|
|
8542
|
-
keywords: keywords
|
|
8548
|
+
keywords: keywords,
|
|
8549
|
+
isUserAddedService: isUserAddedService
|
|
8543
8550
|
}))];
|
|
8544
8551
|
|
|
8545
|
-
case
|
|
8552
|
+
case 1:
|
|
8546
8553
|
_a.sent();
|
|
8547
8554
|
|
|
8548
8555
|
return [2
|
|
@@ -10127,7 +10134,6 @@
|
|
|
10127
10134
|
_b = _a.isEnabled,
|
|
10128
10135
|
isEnabled = _b === void 0 ? true : _b;
|
|
10129
10136
|
var classes = useStyles$n();
|
|
10130
|
-
var sliderClasses = shared.sliderStyles();
|
|
10131
10137
|
|
|
10132
10138
|
var _c = __read(React__namespace.useState(false), 2),
|
|
10133
10139
|
open = _c[0],
|
|
@@ -10191,8 +10197,8 @@
|
|
|
10191
10197
|
onBlur: onBlur
|
|
10192
10198
|
}, currentOpacityText)), open ? /*#__PURE__*/React__namespace.createElement("div", {
|
|
10193
10199
|
className: classes.sliderBackground
|
|
10194
|
-
}, /*#__PURE__*/React__namespace.createElement(
|
|
10195
|
-
|
|
10200
|
+
}, /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
10201
|
+
sx: shared.sliderHeaderStyle
|
|
10196
10202
|
}, "Opacity"), /*#__PURE__*/React__namespace.createElement(shared.CustomSlider, {
|
|
10197
10203
|
"data-testid": "opacitySlider",
|
|
10198
10204
|
orientation: "vertical",
|
|
@@ -11379,6 +11385,15 @@
|
|
|
11379
11385
|
}));
|
|
11380
11386
|
}, baseLayersWithMapId);
|
|
11381
11387
|
};
|
|
11388
|
+
var areAvailableBaseLayersSame = function areAvailableBaseLayersSame(availableBaseLayerList, newBaseLayerList) {
|
|
11389
|
+
var availableList = availableBaseLayerList.map(function (layer) {
|
|
11390
|
+
return layer.name;
|
|
11391
|
+
});
|
|
11392
|
+
var newList = newBaseLayerList.map(function (layer) {
|
|
11393
|
+
return layer.name;
|
|
11394
|
+
});
|
|
11395
|
+
return _.isEqual(availableList, newList);
|
|
11396
|
+
};
|
|
11382
11397
|
|
|
11383
11398
|
var BaseLayersConnect = function BaseLayersConnect(_a) {
|
|
11384
11399
|
var mapId = _a.mapId,
|
|
@@ -11392,14 +11407,16 @@
|
|
|
11392
11407
|
});
|
|
11393
11408
|
React__namespace.useEffect(function () {
|
|
11394
11409
|
// Set initial availableBaseLayers only if none set for that map yet
|
|
11395
|
-
|
|
11396
|
-
|
|
11397
|
-
|
|
11410
|
+
var availableBaseLayersToBeAdded = constructListAvailableBaseLayers(selectedBaseLayers, preloadedAvailableBaseLayers, mapId);
|
|
11411
|
+
var areBaseLayersSame = areAvailableBaseLayersSame(availableBaseLayersToBeAdded, currentAvailableBaseLayers);
|
|
11412
|
+
|
|
11413
|
+
if (!areBaseLayersSame) {
|
|
11414
|
+
dispatch(layerActions.setAvailableBaseLayers({
|
|
11398
11415
|
layers: availableBaseLayersToBeAdded
|
|
11399
11416
|
}));
|
|
11400
11417
|
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
11401
11418
|
|
|
11402
|
-
}, [mapId]);
|
|
11419
|
+
}, [mapId, preloadedAvailableBaseLayers]);
|
|
11403
11420
|
|
|
11404
11421
|
var onChangeBaseLayers = function onChangeBaseLayers(newSelectedLayerId) {
|
|
11405
11422
|
var newBaseLayer = currentAvailableBaseLayers.filter(function (layer) {
|
|
@@ -11725,52 +11742,64 @@
|
|
|
11725
11742
|
};
|
|
11726
11743
|
|
|
11727
11744
|
var ServicePopup = function ServicePopup(_a) {
|
|
11728
|
-
var _b, _c;
|
|
11729
|
-
|
|
11730
11745
|
var servicePopupVariant = _a.servicePopupVariant,
|
|
11731
|
-
|
|
11732
|
-
hideBackdrop =
|
|
11746
|
+
_b = _a.hideBackdrop,
|
|
11747
|
+
hideBackdrop = _b === void 0 ? false : _b,
|
|
11733
11748
|
isOpen = _a.isOpen,
|
|
11734
11749
|
closePopup = _a.closePopup,
|
|
11750
|
+
serviceId = _a.serviceId,
|
|
11735
11751
|
url = _a.url,
|
|
11736
11752
|
services = _a.services,
|
|
11737
11753
|
serviceSetLayers = _a.serviceSetLayers;
|
|
11738
11754
|
|
|
11739
|
-
var
|
|
11740
|
-
serviceName =
|
|
11741
|
-
setServiceName =
|
|
11755
|
+
var _c = __read(React__namespace.useState(''), 2),
|
|
11756
|
+
serviceName = _c[0],
|
|
11757
|
+
setServiceName = _c[1];
|
|
11758
|
+
|
|
11759
|
+
var _d = __read(React__namespace.useState(''), 2),
|
|
11760
|
+
serviceUrl = _d[0],
|
|
11761
|
+
setServiceUrl = _d[1];
|
|
11742
11762
|
|
|
11743
|
-
var
|
|
11744
|
-
|
|
11745
|
-
|
|
11763
|
+
var _e = __read(React__namespace.useState(''), 2),
|
|
11764
|
+
_abstract = _e[0],
|
|
11765
|
+
setAbstract = _e[1];
|
|
11746
11766
|
|
|
11747
|
-
var
|
|
11748
|
-
|
|
11749
|
-
|
|
11767
|
+
var _f = __read(React__namespace.useState(false), 2),
|
|
11768
|
+
disableButton = _f[0],
|
|
11769
|
+
setDisableButton = _f[1];
|
|
11770
|
+
|
|
11771
|
+
var _g = __read(React__namespace.useState(false), 2),
|
|
11772
|
+
isLoading = _g[0],
|
|
11773
|
+
setIsLoading = _g[1];
|
|
11750
11774
|
|
|
11751
11775
|
var _h = __read(React__namespace.useState(false), 2),
|
|
11752
|
-
|
|
11753
|
-
|
|
11776
|
+
serviceNameHasError = _h[0],
|
|
11777
|
+
setServiceNameHasError = _h[1];
|
|
11754
11778
|
|
|
11755
|
-
var _j = __read(React__namespace.useState(
|
|
11756
|
-
|
|
11757
|
-
|
|
11779
|
+
var _j = __read(React__namespace.useState(''), 2),
|
|
11780
|
+
serviceNameHelperText = _j[0],
|
|
11781
|
+
setServiceNameHelperText = _j[1];
|
|
11758
11782
|
|
|
11759
11783
|
var _k = __read(React__namespace.useState(false), 2),
|
|
11760
|
-
|
|
11761
|
-
|
|
11784
|
+
serviceUrlHasError = _k[0],
|
|
11785
|
+
setServiceUrlHasError = _k[1];
|
|
11762
11786
|
|
|
11763
11787
|
var _l = __read(React__namespace.useState(''), 2),
|
|
11764
|
-
|
|
11765
|
-
|
|
11788
|
+
serviceUrlHelperText = _l[0],
|
|
11789
|
+
setServiceUrlHelperText = _l[1];
|
|
11766
11790
|
|
|
11767
|
-
|
|
11768
|
-
|
|
11769
|
-
setServiceUrlHasError = _m[1];
|
|
11791
|
+
React__namespace.useEffect(function () {
|
|
11792
|
+
var _a;
|
|
11770
11793
|
|
|
11771
|
-
|
|
11772
|
-
|
|
11773
|
-
|
|
11794
|
+
if (servicePopupVariant === 'edit') {
|
|
11795
|
+
setServiceName(((_a = services[serviceId]) === null || _a === void 0 ? void 0 : _a.serviceName) || '');
|
|
11796
|
+
setServiceUrl(url || '');
|
|
11797
|
+
}
|
|
11798
|
+
|
|
11799
|
+
if (servicePopupVariant === 'save') {
|
|
11800
|
+
setServiceUrl(url || '');
|
|
11801
|
+
}
|
|
11802
|
+
}, [serviceId, services, url, servicePopupVariant, isOpen]);
|
|
11774
11803
|
|
|
11775
11804
|
var validateServiceUrl = function validateServiceUrl(url) {
|
|
11776
11805
|
if (url === '' || url === null || typeof url === 'undefined') return false;
|
|
@@ -11869,11 +11898,10 @@
|
|
|
11869
11898
|
|
|
11870
11899
|
var ServiceNameInRedux = function ServiceNameInRedux() {
|
|
11871
11900
|
if (servicePopupVariant === 'add' || servicePopupVariant === 'save') {
|
|
11872
|
-
|
|
11873
|
-
|
|
11874
|
-
}
|
|
11875
|
-
|
|
11876
|
-
return false;
|
|
11901
|
+
var foundName = Object.keys(services).find(function (serviceId) {
|
|
11902
|
+
return services[serviceId].serviceName.toLowerCase() === (serviceName === null || serviceName === void 0 ? void 0 : serviceName.toLowerCase());
|
|
11903
|
+
});
|
|
11904
|
+
return foundName !== undefined;
|
|
11877
11905
|
}
|
|
11878
11906
|
|
|
11879
11907
|
return false;
|
|
@@ -11881,11 +11909,10 @@
|
|
|
11881
11909
|
|
|
11882
11910
|
var UrlInRedux = function UrlInRedux() {
|
|
11883
11911
|
if (servicePopupVariant === 'add' || servicePopupVariant === 'save') {
|
|
11884
|
-
|
|
11885
|
-
return
|
|
11886
|
-
}
|
|
11887
|
-
|
|
11888
|
-
return false;
|
|
11912
|
+
var foundUrl = Object.keys(services).find(function (serviceId) {
|
|
11913
|
+
return services[serviceId].serviceUrl === serviceUrl;
|
|
11914
|
+
});
|
|
11915
|
+
return foundUrl !== undefined;
|
|
11889
11916
|
}
|
|
11890
11917
|
|
|
11891
11918
|
return false;
|
|
@@ -11893,6 +11920,7 @@
|
|
|
11893
11920
|
|
|
11894
11921
|
|
|
11895
11922
|
React__namespace.useEffect(function () {
|
|
11923
|
+
if (serviceName === undefined) return;
|
|
11896
11924
|
setServiceNameHelperText('');
|
|
11897
11925
|
|
|
11898
11926
|
if (ServiceNameInRedux()) {
|
|
@@ -11908,7 +11936,7 @@
|
|
|
11908
11936
|
React__namespace.useEffect(function () {
|
|
11909
11937
|
setServiceUrlHelperText('');
|
|
11910
11938
|
|
|
11911
|
-
if (serviceUrl.length > 0 && !validateServiceUrl(serviceUrl)) {
|
|
11939
|
+
if (serviceUrl && serviceUrl.length > 0 && !validateServiceUrl(serviceUrl)) {
|
|
11912
11940
|
setServiceUrlHasError(true);
|
|
11913
11941
|
setServiceUrlHelperText('Error: Not a valid URL.');
|
|
11914
11942
|
} else if (UrlInRedux()) {
|
|
@@ -11995,7 +12023,8 @@
|
|
|
11995
12023
|
return setAbstract(event.target.value);
|
|
11996
12024
|
},
|
|
11997
12025
|
value: _abstract,
|
|
11998
|
-
"data-testid": "abstractTextField"
|
|
12026
|
+
"data-testid": "abstractTextField",
|
|
12027
|
+
disabled: true
|
|
11999
12028
|
})), /*#__PURE__*/React__namespace.createElement(material.DialogActions, {
|
|
12000
12029
|
sx: style$1.footerContent
|
|
12001
12030
|
}, /*#__PURE__*/React__namespace.createElement(material.Button, {
|
|
@@ -12051,10 +12080,11 @@
|
|
|
12051
12080
|
hideBackdrop = _a.hideBackdrop,
|
|
12052
12081
|
isOpen = _a.isOpen,
|
|
12053
12082
|
closePopup = _a.closePopup,
|
|
12083
|
+
serviceId = _a.serviceId,
|
|
12054
12084
|
url = _a.url;
|
|
12055
12085
|
var dispatch = reactRedux.useDispatch();
|
|
12056
12086
|
var services = reactRedux.useSelector(function (store) {
|
|
12057
|
-
return
|
|
12087
|
+
return getActiveServices(store);
|
|
12058
12088
|
});
|
|
12059
12089
|
var serviceSetLayers = React__default["default"].useCallback(function (payload) {
|
|
12060
12090
|
dispatch(serviceActions.serviceSetLayers(payload));
|
|
@@ -12064,9 +12094,10 @@
|
|
|
12064
12094
|
hideBackdrop: hideBackdrop,
|
|
12065
12095
|
isOpen: isOpen,
|
|
12066
12096
|
closePopup: closePopup,
|
|
12067
|
-
|
|
12097
|
+
serviceId: serviceId,
|
|
12068
12098
|
services: services,
|
|
12069
|
-
serviceSetLayers: serviceSetLayers
|
|
12099
|
+
serviceSetLayers: serviceSetLayers,
|
|
12100
|
+
url: url
|
|
12070
12101
|
});
|
|
12071
12102
|
};
|
|
12072
12103
|
|
|
@@ -13026,13 +13057,19 @@
|
|
|
13026
13057
|
|
|
13027
13058
|
var ServiceOptionsDialog = function ServiceOptionsDialog(_a) {
|
|
13028
13059
|
var services = _a.services,
|
|
13029
|
-
mapStoreRemoveService = _a.mapStoreRemoveService
|
|
13030
|
-
_b = _a.layers,
|
|
13031
|
-
layers = _b === void 0 ? [] : _b;
|
|
13060
|
+
mapStoreRemoveService = _a.mapStoreRemoveService;
|
|
13032
13061
|
|
|
13033
|
-
var
|
|
13034
|
-
|
|
13035
|
-
setAddServiceIsOpen =
|
|
13062
|
+
var _b = __read(React__namespace.useState(false), 2),
|
|
13063
|
+
addServiceIsOpen = _b[0],
|
|
13064
|
+
setAddServiceIsOpen = _b[1];
|
|
13065
|
+
|
|
13066
|
+
var _c = __read(React__namespace.useState({
|
|
13067
|
+
isOpen: false,
|
|
13068
|
+
serviceId: '',
|
|
13069
|
+
serviceUrl: ''
|
|
13070
|
+
}), 2),
|
|
13071
|
+
editServiceIsOpen = _c[0],
|
|
13072
|
+
setEditServiceIsOpen = _c[1];
|
|
13036
13073
|
|
|
13037
13074
|
var openAddService = function openAddService() {
|
|
13038
13075
|
setAddServiceIsOpen(true);
|
|
@@ -13040,13 +13077,10 @@
|
|
|
13040
13077
|
|
|
13041
13078
|
var closePopup = function closePopup() {
|
|
13042
13079
|
setAddServiceIsOpen(false);
|
|
13043
|
-
|
|
13044
|
-
|
|
13045
|
-
|
|
13046
|
-
|
|
13047
|
-
return layer.service && layer.service.includes(service);
|
|
13048
|
-
}) || preloadedDefaultMapServices.some(function (defaultMapService) {
|
|
13049
|
-
return defaultMapService.url && defaultMapService.url.includes(service);
|
|
13080
|
+
setEditServiceIsOpen({
|
|
13081
|
+
isOpen: false,
|
|
13082
|
+
serviceId: '',
|
|
13083
|
+
serviceUrl: ''
|
|
13050
13084
|
});
|
|
13051
13085
|
};
|
|
13052
13086
|
|
|
@@ -13075,16 +13109,25 @@
|
|
|
13075
13109
|
marginRight: '-10px'
|
|
13076
13110
|
}
|
|
13077
13111
|
}, /*#__PURE__*/React__namespace.createElement(material.Tooltip, {
|
|
13078
|
-
title: "Edit Service"
|
|
13112
|
+
title: "Edit Service",
|
|
13113
|
+
disableHoverListener: !services[serviceId].isUserAddedService
|
|
13079
13114
|
}, /*#__PURE__*/React__namespace.createElement("span", null, /*#__PURE__*/React__namespace.createElement(material.IconButton, {
|
|
13080
|
-
disabled:
|
|
13115
|
+
disabled: !services[serviceId].isUserAddedService,
|
|
13081
13116
|
"data-testid": "openEditServiceButton",
|
|
13082
|
-
size: "large"
|
|
13117
|
+
size: "large",
|
|
13118
|
+
onClick: function onClick() {
|
|
13119
|
+
setEditServiceIsOpen({
|
|
13120
|
+
isOpen: true,
|
|
13121
|
+
serviceId: serviceId,
|
|
13122
|
+
serviceUrl: services[serviceId].serviceUrl
|
|
13123
|
+
});
|
|
13124
|
+
}
|
|
13083
13125
|
}, /*#__PURE__*/React__namespace.createElement(theme.Edit, null)))), /*#__PURE__*/React__namespace.createElement(material.Tooltip, {
|
|
13084
|
-
title: "Delete Service"
|
|
13126
|
+
title: "Delete Service",
|
|
13127
|
+
disableHoverListener: !services[serviceId].isUserAddedService
|
|
13085
13128
|
}, /*#__PURE__*/React__namespace.createElement("span", null, /*#__PURE__*/React__namespace.createElement(material.IconButton, {
|
|
13086
13129
|
size: "large",
|
|
13087
|
-
disabled:
|
|
13130
|
+
disabled: !services[serviceId].isUserAddedService,
|
|
13088
13131
|
onClick: function onClick() {
|
|
13089
13132
|
return mapStoreRemoveService(serviceId, services[serviceId].serviceUrl);
|
|
13090
13133
|
},
|
|
@@ -13098,10 +13141,16 @@
|
|
|
13098
13141
|
sx: styles.button,
|
|
13099
13142
|
variant: "tertiary",
|
|
13100
13143
|
startIcon: /*#__PURE__*/React__namespace.createElement(theme.Add, null)
|
|
13101
|
-
}, "Add a new service"))),
|
|
13144
|
+
}, "Add a new service"))), addServiceIsOpen && /*#__PURE__*/React__namespace.createElement(ServicePopupConnect, {
|
|
13102
13145
|
servicePopupVariant: "add",
|
|
13103
|
-
isOpen:
|
|
13146
|
+
isOpen: addServiceIsOpen,
|
|
13104
13147
|
closePopup: closePopup
|
|
13148
|
+
}), editServiceIsOpen && /*#__PURE__*/React__namespace.createElement(ServicePopupConnect, {
|
|
13149
|
+
servicePopupVariant: "edit",
|
|
13150
|
+
isOpen: editServiceIsOpen.isOpen,
|
|
13151
|
+
closePopup: closePopup,
|
|
13152
|
+
serviceId: editServiceIsOpen.serviceId,
|
|
13153
|
+
url: editServiceIsOpen.serviceUrl
|
|
13105
13154
|
}));
|
|
13106
13155
|
};
|
|
13107
13156
|
|
|
@@ -13124,9 +13173,6 @@
|
|
|
13124
13173
|
|
|
13125
13174
|
var ServiceOptionsDialogConnect = function ServiceOptionsDialogConnect() {
|
|
13126
13175
|
var dispatch = reactRedux.useDispatch();
|
|
13127
|
-
var allLayers = reactRedux.useSelector(function (store) {
|
|
13128
|
-
return getAllLayers(store);
|
|
13129
|
-
});
|
|
13130
13176
|
var mapStoreRemoveService = React__namespace.useCallback(function (serviceId, serviceUrl) {
|
|
13131
13177
|
dispatch(serviceActions.mapStoreRemoveService({
|
|
13132
13178
|
id: serviceId,
|
|
@@ -13138,7 +13184,6 @@
|
|
|
13138
13184
|
});
|
|
13139
13185
|
return /*#__PURE__*/React__namespace.createElement(ServiceOptionsDialog, {
|
|
13140
13186
|
services: services,
|
|
13141
|
-
layers: allLayers,
|
|
13142
13187
|
mapStoreRemoveService: mapStoreRemoveService
|
|
13143
13188
|
});
|
|
13144
13189
|
};
|
|
@@ -13754,6 +13799,11 @@
|
|
|
13754
13799
|
var serviceSetLayers = React__namespace.useCallback(function (payload) {
|
|
13755
13800
|
dispatch(serviceActions.serviceSetLayers(payload));
|
|
13756
13801
|
}, [dispatch]);
|
|
13802
|
+
|
|
13803
|
+
var checkIfUserAddedService = function checkIfUserAddedService(service) {
|
|
13804
|
+
return !!service.isUserAddedService;
|
|
13805
|
+
};
|
|
13806
|
+
|
|
13757
13807
|
React__namespace.useEffect(function () {
|
|
13758
13808
|
if (isOpenInStore && preloadedServices && preloadedServices.length > 0) {
|
|
13759
13809
|
mergePresetsAndUserAddedServices(preloadedServices, getUserAddedServices()).forEach(function (service) {
|
|
@@ -13765,7 +13815,7 @@
|
|
|
13765
13815
|
name: service.name,
|
|
13766
13816
|
serviceUrl: service.url,
|
|
13767
13817
|
layers: layers,
|
|
13768
|
-
isUserAddedService:
|
|
13818
|
+
isUserAddedService: checkIfUserAddedService(service)
|
|
13769
13819
|
});
|
|
13770
13820
|
}
|
|
13771
13821
|
})["catch"](function () {
|
|
@@ -14847,7 +14897,6 @@
|
|
|
14847
14897
|
var animationDelay = _a.animationDelay,
|
|
14848
14898
|
setMapAnimationDelay = _a.setMapAnimationDelay;
|
|
14849
14899
|
var classes = useStyles$c();
|
|
14850
|
-
var sliderClasses = shared.sliderStyles();
|
|
14851
14900
|
|
|
14852
14901
|
var _b = __read(React__namespace.useState(false), 2),
|
|
14853
14902
|
open = _b[0],
|
|
@@ -14911,8 +14960,8 @@
|
|
|
14911
14960
|
text: text
|
|
14912
14961
|
})))), open ? /*#__PURE__*/React__namespace.createElement("div", {
|
|
14913
14962
|
className: classes.sliderBackground
|
|
14914
|
-
}, /*#__PURE__*/React__namespace.createElement(
|
|
14915
|
-
|
|
14963
|
+
}, /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
14964
|
+
sx: shared.sliderHeaderStyle
|
|
14916
14965
|
}, "Speed"), /*#__PURE__*/React__namespace.createElement(shared.CustomSlider, {
|
|
14917
14966
|
"data-testid": "speedSlider",
|
|
14918
14967
|
orientation: "vertical",
|
|
@@ -15103,7 +15152,6 @@
|
|
|
15103
15152
|
return null;
|
|
15104
15153
|
} : _d;
|
|
15105
15154
|
var classes = useStyles$b();
|
|
15106
|
-
var sliderClasses = shared.sliderStyles();
|
|
15107
15155
|
|
|
15108
15156
|
var _e = __read(React__namespace.useState(false), 2),
|
|
15109
15157
|
open = _e[0],
|
|
@@ -15171,8 +15219,8 @@
|
|
|
15171
15219
|
"data-testid": "timeStepButtonText"
|
|
15172
15220
|
})))), open ? /*#__PURE__*/React__namespace.createElement("div", {
|
|
15173
15221
|
className: classes.sliderBackground
|
|
15174
|
-
}, /*#__PURE__*/React__namespace.createElement(
|
|
15175
|
-
|
|
15222
|
+
}, /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
15223
|
+
sx: shared.sliderHeaderStyle
|
|
15176
15224
|
}, "Time step"), /*#__PURE__*/React__namespace.createElement(shared.CustomSlider, {
|
|
15177
15225
|
"data-testid": "timeStepButtonSlider",
|
|
15178
15226
|
orientation: "vertical",
|
|
@@ -2,6 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { Layer } from '../../../../store/mapStore/types';
|
|
3
3
|
export declare const constructLayerId: (baseLayer: Layer, selectedBaseLayers: Layer[]) => string;
|
|
4
4
|
export declare const constructListAvailableBaseLayers: (selectedBaseLayers: Layer[], preloadedAvailableBaseLayers: Layer[], mapId: string) => Layer[];
|
|
5
|
+
export declare const areAvailableBaseLayersSame: (availableBaseLayerList: Layer[], newBaseLayerList: Layer[]) => boolean;
|
|
5
6
|
interface BaseLayersConnectProps {
|
|
6
7
|
mapId: string;
|
|
7
8
|
preloadedAvailableBaseLayers: Layer[];
|
package/lib/components/LayerManager/LayerSelect/ServiceOptionsDialog/ServiceOptionsDialog.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { ReduxLayer } from '../../../../store/mapStore/layers/types';
|
|
3
2
|
import { ActiveServiceObject } from '../../../../store/layerSelect/types';
|
|
4
3
|
interface ServiceOptionsDialogProps {
|
|
5
4
|
services: Record<string, ActiveServiceObject>;
|
|
6
5
|
mapStoreRemoveService?: (serviceId: string, serviceUrl: string) => void;
|
|
7
|
-
layers?: ReduxLayer[];
|
|
8
6
|
}
|
|
9
7
|
declare const ServiceOptionsDialog: React.FC<ServiceOptionsDialogProps>;
|
|
10
8
|
export default ServiceOptionsDialog;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { SetLayersForServicePayload } from '../../../../store/mapStore/types';
|
|
3
|
+
import { ActiveServices } from '../../../../store/layerSelect/types';
|
|
3
4
|
interface ServicePopupProps {
|
|
4
5
|
servicePopupVariant: 'edit' | 'add' | 'save';
|
|
5
6
|
hideBackdrop?: boolean;
|
|
6
7
|
isOpen?: boolean;
|
|
7
8
|
closePopup?: () => void;
|
|
9
|
+
serviceId?: string;
|
|
8
10
|
url?: string;
|
|
9
|
-
services?:
|
|
11
|
+
services?: ActiveServices;
|
|
10
12
|
serviceSetLayers: (payload: SetLayersForServicePayload) => void;
|
|
11
13
|
}
|
|
12
14
|
export declare const ADD_HEADING = "Add a new service";
|
package/lib/index.d.ts
CHANGED
|
@@ -71,6 +71,7 @@ export declare const mapActions: {
|
|
|
71
71
|
layerSetDimensions: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<mapTypes.SetLayerDimensionsPayload, string>;
|
|
72
72
|
addAvailableBaseLayer: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<mapTypes.AddAvailableBaseLayerPayload, string>;
|
|
73
73
|
addAvailableBaseLayers: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<mapTypes.AddAvailableBaseLayersPayload, string>;
|
|
74
|
+
setAvailableBaseLayers: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<mapTypes.AddAvailableBaseLayersPayload, string>;
|
|
74
75
|
onUpdateLayerInformation: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<mapTypes.UpdateLayerInfoPayload, string>;
|
|
75
76
|
};
|
|
76
77
|
export { mapSelectors, mapTypes, mapUtils, layerReducer, layerActions, uiActions, uiSelectors, uiTypes, genericActions as syncGroupActions, };
|
|
@@ -3,6 +3,7 @@ export interface ActiveServiceObject {
|
|
|
3
3
|
serviceUrl?: string;
|
|
4
4
|
enabled?: boolean;
|
|
5
5
|
keywordsPerService?: string[];
|
|
6
|
+
isUserAddedService?: boolean;
|
|
6
7
|
}
|
|
7
8
|
export interface ActiveServices {
|
|
8
9
|
[key: string]: ActiveServiceObject;
|
|
@@ -51,6 +52,7 @@ export interface AddKeywordsAndActiveServicesPayload {
|
|
|
51
52
|
serviceName: string;
|
|
52
53
|
serviceUrl: string;
|
|
53
54
|
keywords: string[];
|
|
55
|
+
isUserAddedService: boolean;
|
|
54
56
|
}
|
|
55
57
|
export interface LayerSelectServiceRemovedPayload {
|
|
56
58
|
serviceId: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PayloadAction } from '@reduxjs/toolkit';
|
|
2
|
-
import { LayerState, Layer, AddLayerPayload, SetLayerDimensionPayload, SetLayerEnabledPayload, SetLayerOpacityPayload, SetLayerStylePayload, SetLayerNamePayload, SetLayerGeojsonPayload, DeleteLayerPayload, ErrorLayerPayload, SetLayersPayload, SetBaseLayersPayload, AddBaseLayerPayload, SetLayerDimensionsPayload, AddAvailableBaseLayerPayload, AddAvailableBaseLayersPayload, UpdateLayerInfoPayload } from './types';
|
|
2
|
+
import { LayerState, Layer, AddLayerPayload, SetLayerDimensionPayload, SetLayerEnabledPayload, SetLayerOpacityPayload, SetLayerStylePayload, SetLayerNamePayload, SetLayerGeojsonPayload, DeleteLayerPayload, ErrorLayerPayload, SetLayersPayload, SetBaseLayersPayload, AddBaseLayerPayload, SetLayerDimensionsPayload, AddAvailableBaseLayerPayload, AddAvailableBaseLayersPayload, UpdateLayerInfoPayload, SetAvailableBaseLayersPayload } from './types';
|
|
3
3
|
export declare const createLayer: ({ id, opacity, enabled, layerType, status, ...props }: Layer) => Layer;
|
|
4
4
|
export declare const initialState: LayerState;
|
|
5
5
|
export declare const slice: import("@reduxjs/toolkit").Slice<LayerState, {
|
|
@@ -19,6 +19,7 @@ export declare const slice: import("@reduxjs/toolkit").Slice<LayerState, {
|
|
|
19
19
|
layerSetDimensions: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<SetLayerDimensionsPayload>) => void;
|
|
20
20
|
addAvailableBaseLayer: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<AddAvailableBaseLayerPayload>) => void;
|
|
21
21
|
addAvailableBaseLayers: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<AddAvailableBaseLayersPayload>) => void;
|
|
22
|
+
setAvailableBaseLayers: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<SetAvailableBaseLayersPayload>) => void;
|
|
22
23
|
onUpdateLayerInformation: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<UpdateLayerInfoPayload>) => LayerState;
|
|
23
24
|
}, "layerReducer">;
|
|
24
25
|
export declare const reducer: import("@reduxjs/toolkit").Reducer<LayerState, import("@reduxjs/toolkit").AnyAction>;
|
|
@@ -39,6 +40,7 @@ export declare const layerActions: import("@reduxjs/toolkit").CaseReducerActions
|
|
|
39
40
|
layerSetDimensions: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<SetLayerDimensionsPayload>) => void;
|
|
40
41
|
addAvailableBaseLayer: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<AddAvailableBaseLayerPayload>) => void;
|
|
41
42
|
addAvailableBaseLayers: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<AddAvailableBaseLayersPayload>) => void;
|
|
43
|
+
setAvailableBaseLayers: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<SetAvailableBaseLayersPayload>) => void;
|
|
42
44
|
onUpdateLayerInformation: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<UpdateLayerInfoPayload>) => LayerState;
|
|
43
45
|
}>;
|
|
44
46
|
export declare type LayerActions = ReturnType<typeof layerActions.layerSetDimensions> | ReturnType<typeof layerActions.layerChangeStyle> | ReturnType<typeof layerActions.addAvailableBaseLayer> | ReturnType<typeof layerActions.addAvailableBaseLayers> | ReturnType<typeof layerActions.addBaseLayer> | ReturnType<typeof layerActions.addLayer> | ReturnType<typeof layerActions.baseLayerDelete> | ReturnType<typeof layerActions.onUpdateLayerInformation> | ReturnType<typeof layerActions.layerChangeDimension> | ReturnType<typeof layerActions.layerChangeEnabled> | ReturnType<typeof layerActions.layerChangeGeojson> | ReturnType<typeof layerActions.layerChangeName> | ReturnType<typeof layerActions.layerChangeOpacity> | ReturnType<typeof layerActions.layerDelete> | ReturnType<typeof layerActions.layerError> | ReturnType<typeof layerActions.setBaseLayers> | ReturnType<typeof layerActions.setLayers>;
|
|
@@ -143,6 +143,7 @@ export interface AddAvailableBaseLayersPayload {
|
|
|
143
143
|
layers: ReduxLayer[];
|
|
144
144
|
origin?: string;
|
|
145
145
|
}
|
|
146
|
+
export declare type SetAvailableBaseLayersPayload = AddAvailableBaseLayersPayload;
|
|
146
147
|
export interface ErrorLayerPayload extends LayerPayload {
|
|
147
148
|
error: Error;
|
|
148
149
|
}
|
|
@@ -136,9 +136,11 @@ export declare const getServicesInArray: ((state: {
|
|
|
136
136
|
}) => {
|
|
137
137
|
name: string;
|
|
138
138
|
serviceUrl: string;
|
|
139
|
+
isUserAddedService: boolean;
|
|
139
140
|
}[]) & import("reselect").OutputSelectorFields<((args_0: ServiceState) => {
|
|
140
141
|
name: string;
|
|
141
142
|
serviceUrl: string;
|
|
143
|
+
isUserAddedService: boolean;
|
|
142
144
|
}[]) & {
|
|
143
145
|
clearCache: () => void;
|
|
144
146
|
}> & {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeoweb/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "GeoWeb Core library for the opengeoweb project",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -13,22 +13,22 @@
|
|
|
13
13
|
"dependencies": {},
|
|
14
14
|
"peerDependencies": {
|
|
15
15
|
"react": "^17.0.2",
|
|
16
|
-
"@opengeoweb/theme": "
|
|
16
|
+
"@opengeoweb/theme": "3.0.0",
|
|
17
17
|
"@mui/material": "^5.2.8",
|
|
18
18
|
"@mui/styles": "^5.2.3",
|
|
19
19
|
"moment": "^2.29.0",
|
|
20
20
|
"react-redux": "^8.0.2",
|
|
21
21
|
"react-intl": "^5.17.5",
|
|
22
22
|
"lodash": "^4.17.20",
|
|
23
|
-
"@opengeoweb/shared": "
|
|
23
|
+
"@opengeoweb/shared": "3.0.0",
|
|
24
24
|
"react-draggable": "^4.4.3",
|
|
25
25
|
"re-resizable": "^6.9.0",
|
|
26
|
-
"@opengeoweb/form-fields": "
|
|
26
|
+
"@opengeoweb/form-fields": "3.0.0",
|
|
27
27
|
"react-hook-form": "^6.12.1",
|
|
28
28
|
"moment-timezone": "^0.5.31",
|
|
29
29
|
"@mui/lab": "^5.0.0-alpha.64",
|
|
30
30
|
"axios": "^0.25.0",
|
|
31
|
-
"@opengeoweb/webmap": "
|
|
31
|
+
"@opengeoweb/webmap": "3.0.0",
|
|
32
32
|
"throttle-debounce": "^3.0.1",
|
|
33
33
|
"proj4": "^2.6.2",
|
|
34
34
|
"react-sortablejs": "^6.0.0",
|