@opengeoweb/core 4.1.0 → 4.2.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 +2024 -1482
- package/index.umd.js +2053 -1506
- package/lib/components/LayerManager/LayerManager.d.ts +13 -0
- package/lib/components/LayerManager/LayerSelect/KeywordFilterResults/KeywordFilterResults.d.ts +4 -4
- package/lib/components/LayerManager/LayerSelect/KeywordFilterResults/KeywordFilterResults.stories.d.ts +18 -2
- package/lib/components/LayerManager/LayerSelect/KeywordFilterResults/KeywordFilterResultsConnect.d.ts +0 -1
- package/lib/components/LayerManager/LayerSelect/KeywordFilterResults/KeywordFilterResultsListItem.d.ts +5 -5
- package/lib/components/LayerManager/LayerSelect/KeywordFilterResults/KeywordFilterResultsListItemConnect.d.ts +3 -2
- package/lib/components/LayerManager/LayerSelect/LayerInfo/LayerInfoButtonConnect.d.ts +11 -0
- package/lib/components/LayerManager/LayerSelect/{LayerSelectUtils.spec.d.ts → LayerInfo/LayerInfoButtonConnect.spec.d.ts} +0 -0
- package/lib/components/LayerManager/LayerSelect/LayerInfo/LayerInfoDialog.d.ts +14 -0
- package/lib/components/LayerManager/LayerSelect/LayerInfo/LayerInfoDialog.spec.d.ts +1 -0
- package/lib/components/LayerManager/LayerSelect/LayerInfo/LayerInfoDialog.stories.d.ts +25 -0
- package/lib/components/LayerManager/LayerSelect/LayerInfo/LayerInfoDialogConnect.d.ts +3 -0
- package/lib/components/LayerManager/LayerSelect/LayerInfo/LayerInfoList.d.ts +11 -0
- package/lib/components/LayerManager/LayerSelect/LayerInfo/LayerInfoText.d.ts +7 -0
- package/lib/components/LayerManager/LayerSelect/LayerInfo/LayerInfoUtils.d.ts +4 -0
- package/lib/components/LayerManager/LayerSelect/LayerInfo/LayerInfoUtils.spec.d.ts +1 -0
- package/lib/components/LayerManager/LayerSelect/LayerInfo/index.d.ts +2 -0
- package/lib/components/LayerManager/LayerSelect/LayerList/LayerList.d.ts +5 -3
- package/lib/components/LayerManager/LayerSelect/LayerList/LayerListConnect.d.ts +1 -0
- package/lib/components/LayerManager/LayerSelect/LayerList/LayerListRow.d.ts +1 -1
- package/lib/components/LayerManager/LayerSelect/LayerList/LayerListUtils.d.ts +1 -1
- package/lib/components/LayerManager/LayerSelect/LayerSelectConnect.d.ts +0 -2
- package/lib/components/LayerManager/LayerSelect/SearchField/SearchFieldButtonContainer.d.ts +1 -0
- package/lib/components/LayerManager/LayerSelect/ServiceList/ServiceChipConnect.d.ts +2 -1
- package/lib/components/LayerManager/LayerSelect/ServiceList/ServiceList.d.ts +1 -1
- package/lib/components/LayerManager/LayerSelect/ServiceList/ServiceListConnect.d.ts +3 -1
- package/lib/components/LayerManager/LayerSelect/ServiceOptionsButton/ServiceOptionsButton.d.ts +4 -1
- package/lib/components/LayerManager/LayerSelect/ServiceOptionsDialog/ServiceOptionsDialog.d.ts +13 -3
- package/lib/components/LayerManager/LayerSelect/ServiceOptionsDialog/ServiceOptionsDialog.stories.d.ts +18 -2
- package/lib/components/LayerManager/LayerSelect/ServiceOptionsDialog/ServiceOptionsDialogConnect.d.ts +6 -1
- package/lib/components/LayerManager/LayerSelect/ServicePopup/ServicePopup.d.ts +11 -5
- package/lib/components/LayerManager/LayerSelect/ServicePopup/ServicePopup.stories.d.ts +49 -9
- package/lib/components/LayerManager/LayerSelect/ServicePopup/ServicePopupConnect.d.ts +2 -1
- package/lib/components/LayerManager/LayerSelect/ServicePopup/ServicePopupConnect.stories.d.ts +9 -0
- package/lib/components/LayerManager/LayerSelect/ServicePopup/utils.d.ts +8 -0
- package/lib/components/LayerManager/LayerSelect/ServicePopup/utils.spec.d.ts +1 -0
- package/lib/components/LayerManager/useFetchServices.d.ts +4 -0
- package/lib/components/LayerManager/useFetchServices.spec.d.ts +1 -0
- package/lib/components/MultiMapDimensionSelect/DimensionSelectDialogConnect.d.ts +1 -1
- package/lib/components/ReactMapView/types.d.ts +2 -1
- package/lib/components/Snackbar/SnackbarWrapperConnect.spec.d.ts +7 -0
- package/lib/components/TimeSlider/TimeSliderButtons/SpeedButton/SpeedButton.d.ts +1 -1
- package/lib/components/TimeSlider/TimeSliderButtons/SpeedButton/SpeedButtonConnect.d.ts +1 -5
- package/lib/components/TimeSlider/TimeSliderButtons/TimeSliderMenu/TimeSliderMenu.d.ts +18 -0
- package/lib/components/TimeSlider/TimeSliderButtons/TimeSliderMenu/TimeSliderMenu.spec.d.ts +1 -0
- package/lib/components/TimeSlider/TimeSliderButtons/TimeSliderMenu/TimeSliderMenu.stories.d.ts +28 -0
- package/lib/components/TimeSlider/TimeSliderButtons/TimeStepButton/TimeStepButton.d.ts +1 -1
- package/lib/components/TimeSlider/TimeSliderButtons/TimeStepButton/TimeStepButton.stories.d.ts +24 -3
- package/lib/components/WMSLoader/services.d.ts +1 -0
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/useSetupDialog/index.d.ts +1 -0
- package/lib/hooks/useSetupDialog/useSetupDialog.d.ts +9 -0
- package/lib/hooks/useSetupDialog/useSetupDialog.spec.d.ts +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/store/layerSelect/reducer.d.ts +8 -5
- package/lib/store/layerSelect/sagas.d.ts +3 -2
- package/lib/store/layerSelect/selectors.d.ts +53 -6
- package/lib/store/layerSelect/types.d.ts +32 -13
- package/lib/store/mapStore/service/types.d.ts +4 -1
- package/lib/store/ui/types.d.ts +4 -1
- package/lib/utils/defaultTestSettings.d.ts +1 -0
- package/lib/utils/getCapabilities.d.ts +4 -1
- package/package.json +6 -6
- package/lib/components/LayerManager/LayerSelect/LayerSelectUtils.d.ts +0 -4
package/index.umd.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@reduxjs/toolkit'), require('immer'), require('moment'), require('react'), require('lodash'), require('redux-saga/effects'), require('react-redux'), require('@mui/material'), require('@opengeoweb/shared'), require('@opengeoweb/theme'), require('@opengeoweb/webmap'), require('react-sortablejs'), require('react-window'), require('throttle-debounce'), require('lodash.clonedeep'), require('proj4'), require('@turf/turf'), require('redux-dynamic-modules'), require('redux-dynamic-modules-saga')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', '@reduxjs/toolkit', 'immer', 'moment', 'react', 'lodash', 'redux-saga/effects', 'react-redux', '@mui/material', '@opengeoweb/shared', '@opengeoweb/theme', '@opengeoweb/webmap', 'react-sortablejs', 'react-window', 'throttle-debounce', 'lodash.clonedeep', 'proj4', '@turf/turf', 'redux-dynamic-modules', 'redux-dynamic-modules-saga'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Core = {}, global.toolkit, global.produce, global.moment, global.React, global._, global.effects, global.reactRedux, global.material, global.shared, global.theme, global.webmap, global.reactSortablejs, global.reactWindow, global.throttleDebounce, global.cloneDeep, global.proj4, global.turf, global.reduxDynamicModules, global.reduxDynamicModulesSaga));
|
|
5
|
-
})(this, (function (exports, toolkit, produce, moment, React, _, effects, reactRedux, material, shared, theme, webmap, reactSortablejs, reactWindow, throttleDebounce, cloneDeep, proj4, turf, reduxDynamicModules, reduxDynamicModulesSaga) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@reduxjs/toolkit'), require('immer'), require('moment'), require('react'), require('lodash'), require('redux-saga/effects'), require('react-redux'), require('@mui/material'), require('@opengeoweb/shared'), require('@opengeoweb/theme'), require('@opengeoweb/webmap'), require('react-sortablejs'), require('@opengeoweb/form-fields'), require('react-hook-form'), require('react-window'), require('@mui/material/Box'), require('@mui/material/Typography'), require('@mui/material/Grid'), require('throttle-debounce'), require('lodash.clonedeep'), require('proj4'), require('@turf/turf'), require('redux-dynamic-modules'), require('redux-dynamic-modules-saga')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', '@reduxjs/toolkit', 'immer', 'moment', 'react', 'lodash', 'redux-saga/effects', 'react-redux', '@mui/material', '@opengeoweb/shared', '@opengeoweb/theme', '@opengeoweb/webmap', 'react-sortablejs', '@opengeoweb/form-fields', 'react-hook-form', 'react-window', '@mui/material/Box', '@mui/material/Typography', '@mui/material/Grid', 'throttle-debounce', 'lodash.clonedeep', 'proj4', '@turf/turf', 'redux-dynamic-modules', 'redux-dynamic-modules-saga'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Core = {}, global.toolkit, global.produce, global.moment, global.React, global._, global.effects, global.reactRedux, global.material, global.shared, global.theme, global.webmap, global.reactSortablejs, global.formFields, global.reactHookForm, global.reactWindow, global.Box, global.Typography, global.Grid, global.throttleDebounce, global.cloneDeep, global.proj4, global.turf, global.reduxDynamicModules, global.reduxDynamicModulesSaga));
|
|
5
|
+
})(this, (function (exports, toolkit, produce, moment, React, _, effects, reactRedux, material, shared, theme, webmap, reactSortablejs, formFields, reactHookForm, reactWindow, Box, Typography, Grid, throttleDebounce, cloneDeep, proj4, turf, reduxDynamicModules, reduxDynamicModulesSaga) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -29,6 +29,9 @@
|
|
|
29
29
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
30
30
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
31
31
|
var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
|
|
32
|
+
var Box__default = /*#__PURE__*/_interopDefaultLegacy(Box);
|
|
33
|
+
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
|
|
34
|
+
var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
|
|
32
35
|
var cloneDeep__default = /*#__PURE__*/_interopDefaultLegacy(cloneDeep);
|
|
33
36
|
var proj4__default = /*#__PURE__*/_interopDefaultLegacy(proj4);
|
|
34
37
|
var turf__namespace = /*#__PURE__*/_interopNamespace(turf);
|
|
@@ -1812,7 +1815,7 @@
|
|
|
1812
1815
|
* @returns {array} returnType: Style[] - array containing layer styles
|
|
1813
1816
|
*/
|
|
1814
1817
|
|
|
1815
|
-
var getLayerStyles = toolkit.createSelector(getLayerFromService, function (layer) {
|
|
1818
|
+
var getLayerStyles$1 = toolkit.createSelector(getLayerFromService, function (layer) {
|
|
1816
1819
|
return layer && layer.styles ? layer.styles : [];
|
|
1817
1820
|
}, selectorMemoizationOptions);
|
|
1818
1821
|
/**
|
|
@@ -4296,10 +4299,18 @@
|
|
|
4296
4299
|
byId: {},
|
|
4297
4300
|
allIds: []
|
|
4298
4301
|
},
|
|
4299
|
-
|
|
4302
|
+
filters: {
|
|
4300
4303
|
byId: {},
|
|
4301
4304
|
allIds: []
|
|
4302
4305
|
}
|
|
4306
|
+
},
|
|
4307
|
+
allServicesEnabled: true,
|
|
4308
|
+
activeLayerInfo: {
|
|
4309
|
+
name: '',
|
|
4310
|
+
text: '',
|
|
4311
|
+
leaf: true,
|
|
4312
|
+
path: [],
|
|
4313
|
+
serviceName: ''
|
|
4303
4314
|
}
|
|
4304
4315
|
};
|
|
4305
4316
|
var slice$1 = toolkit.createSlice({
|
|
@@ -4310,65 +4321,71 @@
|
|
|
4310
4321
|
var filterText = action.payload.filterText;
|
|
4311
4322
|
draft.filters.searchFilter = filterText;
|
|
4312
4323
|
},
|
|
4313
|
-
|
|
4314
|
-
var
|
|
4315
|
-
|
|
4316
|
-
|
|
4317
|
-
|
|
4318
|
-
|
|
4319
|
-
|
|
4320
|
-
|
|
4321
|
-
|
|
4324
|
+
setAllServicesEnabled: function setAllServicesEnabled(draft, action) {
|
|
4325
|
+
var allServicesEnabled = action.payload.allServicesEnabled;
|
|
4326
|
+
draft.allServicesEnabled = allServicesEnabled;
|
|
4327
|
+
},
|
|
4328
|
+
addFiltersAndActiveServices: function addFiltersAndActiveServices(draft, action) {
|
|
4329
|
+
var _a = action.payload,
|
|
4330
|
+
serviceId = _a.serviceId,
|
|
4331
|
+
serviceName = _a.serviceName,
|
|
4332
|
+
serviceUrl = _a.serviceUrl,
|
|
4333
|
+
_abstract = _a["abstract"],
|
|
4334
|
+
keywords = _a.keywords,
|
|
4335
|
+
isUserAddedService = _a.isUserAddedService,
|
|
4336
|
+
groups = _a.groups;
|
|
4322
4337
|
|
|
4323
4338
|
if (!draft.filters.activeServices.byId[serviceId]) {
|
|
4324
4339
|
draft.filters.activeServices.byId[serviceId] = {};
|
|
4325
4340
|
|
|
4326
|
-
|
|
4327
|
-
|
|
4328
|
-
var
|
|
4341
|
+
var addFilters = function addFilters(filterNames, filterType) {
|
|
4342
|
+
filterNames.forEach(function (filterName) {
|
|
4343
|
+
var id = filterType + "-" + filterName;
|
|
4329
4344
|
|
|
4330
|
-
if (!draft.filters.
|
|
4331
|
-
draft.filters.
|
|
4332
|
-
id:
|
|
4345
|
+
if (!draft.filters.filters.byId[id]) {
|
|
4346
|
+
draft.filters.filters.byId[id] = {
|
|
4347
|
+
id: id,
|
|
4348
|
+
name: filterName,
|
|
4333
4349
|
amount: 1,
|
|
4334
4350
|
amountVisible: 1,
|
|
4335
|
-
checked: true
|
|
4351
|
+
checked: true,
|
|
4352
|
+
type: filterType
|
|
4336
4353
|
};
|
|
4337
|
-
draft.filters.
|
|
4354
|
+
draft.filters.filters.allIds.push(id);
|
|
4338
4355
|
} else {
|
|
4339
|
-
draft.filters.
|
|
4340
|
-
draft.filters.
|
|
4356
|
+
draft.filters.filters.byId[id].amount += 1;
|
|
4357
|
+
draft.filters.filters.byId[id].amountVisible += 1;
|
|
4341
4358
|
}
|
|
4342
|
-
}
|
|
4343
|
-
}
|
|
4344
|
-
|
|
4345
|
-
|
|
4346
|
-
|
|
4347
|
-
} finally {
|
|
4348
|
-
try {
|
|
4349
|
-
if (keywords_1_1 && !keywords_1_1.done && (_a = keywords_1["return"])) _a.call(keywords_1);
|
|
4350
|
-
} finally {
|
|
4351
|
-
if (e_1) throw e_1.error;
|
|
4352
|
-
}
|
|
4353
|
-
}
|
|
4359
|
+
});
|
|
4360
|
+
};
|
|
4361
|
+
|
|
4362
|
+
addFilters(groups, 'group');
|
|
4363
|
+
addFilters(keywords, 'keyword');
|
|
4354
4364
|
}
|
|
4355
4365
|
|
|
4356
|
-
|
|
4357
|
-
|
|
4358
|
-
|
|
4359
|
-
|
|
4360
|
-
|
|
4366
|
+
var filterIds = groups.map(function (group) {
|
|
4367
|
+
return "group-" + group;
|
|
4368
|
+
}).concat(keywords.map(function (keyword) {
|
|
4369
|
+
return "keyword-" + keyword;
|
|
4370
|
+
}));
|
|
4371
|
+
draft.filters.activeServices.byId[serviceId] = {
|
|
4372
|
+
serviceId: serviceId,
|
|
4373
|
+
enabled: draft.allServicesEnabled,
|
|
4374
|
+
filterIds: filterIds,
|
|
4375
|
+
isUserAddedService: isUserAddedService,
|
|
4376
|
+
serviceName: serviceName,
|
|
4377
|
+
serviceUrl: serviceUrl,
|
|
4378
|
+
"abstract": _abstract
|
|
4379
|
+
};
|
|
4361
4380
|
if (!draft.filters.activeServices.allIds.includes(serviceId)) draft.filters.activeServices.allIds.push(serviceId);
|
|
4362
4381
|
},
|
|
4363
|
-
|
|
4364
|
-
var e_2, _a;
|
|
4365
|
-
|
|
4382
|
+
layerSelectRemoveService: function layerSelectRemoveService(draft, action) {
|
|
4366
4383
|
var serviceId = action.payload.serviceId; // 1. Find a service that is to be removed
|
|
4367
4384
|
|
|
4368
|
-
var foundService = draft.filters.activeServices.byId[serviceId];
|
|
4385
|
+
var foundService = draft.filters.activeServices.byId[serviceId]; // 2. Go through all keywords for removed service, and decrement the amount of all found keywords
|
|
4369
4386
|
|
|
4370
|
-
|
|
4371
|
-
var foundObject = draft.filters.
|
|
4387
|
+
foundService.filterIds.forEach(function (filterId) {
|
|
4388
|
+
var foundObject = draft.filters.filters.byId[filterId];
|
|
4372
4389
|
|
|
4373
4390
|
if (foundObject && foundObject.amount) {
|
|
4374
4391
|
foundObject.amount -= 1;
|
|
@@ -4376,32 +4393,12 @@
|
|
|
4376
4393
|
}
|
|
4377
4394
|
|
|
4378
4395
|
if (foundObject && foundObject.amount === 0) {
|
|
4379
|
-
delete draft.filters.
|
|
4380
|
-
draft.filters.
|
|
4381
|
-
return serviceId !==
|
|
4396
|
+
delete draft.filters.filters.byId[filterId];
|
|
4397
|
+
draft.filters.filters.allIds = draft.filters.filters.allIds.filter(function (serviceId) {
|
|
4398
|
+
return serviceId !== filterId;
|
|
4382
4399
|
});
|
|
4383
4400
|
}
|
|
4384
|
-
};
|
|
4385
|
-
|
|
4386
|
-
try {
|
|
4387
|
-
// 2. Go through all keywords for removed service, and decrement the amount of all found keywords
|
|
4388
|
-
for (var _b = __values(foundService.keywordsPerService), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
4389
|
-
var keyword = _c.value;
|
|
4390
|
-
|
|
4391
|
-
_loop_1(keyword);
|
|
4392
|
-
}
|
|
4393
|
-
} catch (e_2_1) {
|
|
4394
|
-
e_2 = {
|
|
4395
|
-
error: e_2_1
|
|
4396
|
-
};
|
|
4397
|
-
} finally {
|
|
4398
|
-
try {
|
|
4399
|
-
if (_c && !_c.done && (_a = _b["return"])) _a.call(_b);
|
|
4400
|
-
} finally {
|
|
4401
|
-
if (e_2) throw e_2.error;
|
|
4402
|
-
}
|
|
4403
|
-
} // Finally remove object from activeServices, so if the service is added again later on, new object and keywords will be re-added
|
|
4404
|
-
|
|
4401
|
+
}); // Finally remove object from activeServices, so if the service is added again later on, new object and keywords will be re-added
|
|
4405
4402
|
|
|
4406
4403
|
delete draft.filters.activeServices.byId[serviceId];
|
|
4407
4404
|
draft.filters.activeServices.allIds = draft.filters.activeServices.allIds.filter(function (id) {
|
|
@@ -4409,83 +4406,71 @@
|
|
|
4409
4406
|
});
|
|
4410
4407
|
},
|
|
4411
4408
|
enableActiveService: function enableActiveService(draft, action) {
|
|
4412
|
-
var
|
|
4409
|
+
var e_1, _a;
|
|
4413
4410
|
|
|
4414
4411
|
var _b = action.payload,
|
|
4415
4412
|
serviceId = _b.serviceId,
|
|
4416
|
-
keywords = _b.
|
|
4413
|
+
keywords = _b.filters;
|
|
4417
4414
|
draft.filters.activeServices.byId[serviceId].enabled = true;
|
|
4418
4415
|
|
|
4419
4416
|
try {
|
|
4420
|
-
for (var
|
|
4421
|
-
var keyword =
|
|
4422
|
-
draft.filters.
|
|
4417
|
+
for (var keywords_1 = __values(keywords), keywords_1_1 = keywords_1.next(); !keywords_1_1.done; keywords_1_1 = keywords_1.next()) {
|
|
4418
|
+
var keyword = keywords_1_1.value;
|
|
4419
|
+
draft.filters.filters.byId[keyword].amountVisible += 1;
|
|
4423
4420
|
}
|
|
4424
|
-
} catch (
|
|
4425
|
-
|
|
4426
|
-
error:
|
|
4421
|
+
} catch (e_1_1) {
|
|
4422
|
+
e_1 = {
|
|
4423
|
+
error: e_1_1
|
|
4427
4424
|
};
|
|
4428
4425
|
} finally {
|
|
4429
4426
|
try {
|
|
4430
|
-
if (
|
|
4427
|
+
if (keywords_1_1 && !keywords_1_1.done && (_a = keywords_1["return"])) _a.call(keywords_1);
|
|
4431
4428
|
} finally {
|
|
4432
|
-
if (
|
|
4429
|
+
if (e_1) throw e_1.error;
|
|
4433
4430
|
}
|
|
4434
4431
|
}
|
|
4435
4432
|
},
|
|
4436
4433
|
disableActiveService: function disableActiveService(draft, action) {
|
|
4437
|
-
var
|
|
4434
|
+
var e_2, _a;
|
|
4438
4435
|
|
|
4439
4436
|
var _b = action.payload,
|
|
4440
4437
|
serviceId = _b.serviceId,
|
|
4441
|
-
keywords = _b.
|
|
4438
|
+
keywords = _b.filters;
|
|
4442
4439
|
draft.filters.activeServices.byId[serviceId].enabled = false;
|
|
4443
4440
|
|
|
4444
4441
|
try {
|
|
4445
|
-
for (var
|
|
4446
|
-
var keyword =
|
|
4447
|
-
draft.filters.
|
|
4442
|
+
for (var keywords_2 = __values(keywords), keywords_2_1 = keywords_2.next(); !keywords_2_1.done; keywords_2_1 = keywords_2.next()) {
|
|
4443
|
+
var keyword = keywords_2_1.value;
|
|
4444
|
+
draft.filters.filters.byId[keyword].amountVisible -= 1;
|
|
4448
4445
|
}
|
|
4449
|
-
} catch (
|
|
4450
|
-
|
|
4451
|
-
error:
|
|
4446
|
+
} catch (e_2_1) {
|
|
4447
|
+
e_2 = {
|
|
4448
|
+
error: e_2_1
|
|
4452
4449
|
};
|
|
4453
4450
|
} finally {
|
|
4454
4451
|
try {
|
|
4455
|
-
if (
|
|
4452
|
+
if (keywords_2_1 && !keywords_2_1.done && (_a = keywords_2["return"])) _a.call(keywords_2);
|
|
4456
4453
|
} finally {
|
|
4457
|
-
if (
|
|
4454
|
+
if (e_2) throw e_2.error;
|
|
4458
4455
|
}
|
|
4459
4456
|
}
|
|
4460
4457
|
},
|
|
4461
|
-
|
|
4462
|
-
var
|
|
4463
|
-
|
|
4464
|
-
|
|
4465
|
-
|
|
4466
|
-
try {
|
|
4467
|
-
for (var keywords_4 = __values(keywords), keywords_4_1 = keywords_4.next(); !keywords_4_1.done; keywords_4_1 = keywords_4.next()) {
|
|
4468
|
-
var keyword = keywords_4_1.value;
|
|
4469
|
-
draft.filters.keywords.byId[keyword].checked = !draft.filters.keywords.byId[keyword].checked;
|
|
4470
|
-
}
|
|
4471
|
-
} catch (e_5_1) {
|
|
4472
|
-
e_5 = {
|
|
4473
|
-
error: e_5_1
|
|
4474
|
-
};
|
|
4475
|
-
} finally {
|
|
4476
|
-
try {
|
|
4477
|
-
if (keywords_4_1 && !keywords_4_1.done && (_a = keywords_4["return"])) _a.call(keywords_4);
|
|
4478
|
-
} finally {
|
|
4479
|
-
if (e_5) throw e_5.error;
|
|
4480
|
-
}
|
|
4481
|
-
}
|
|
4458
|
+
toggleFilter: function toggleFilter(draft, action) {
|
|
4459
|
+
var filterIds = action.payload.filterIds;
|
|
4460
|
+
filterIds.forEach(function (filterId) {
|
|
4461
|
+
draft.filters.filters.byId[filterId].checked = !draft.filters.filters.byId[filterId].checked;
|
|
4462
|
+
});
|
|
4482
4463
|
},
|
|
4483
|
-
|
|
4484
|
-
var
|
|
4485
|
-
draft.filters.
|
|
4486
|
-
draft.filters.
|
|
4464
|
+
enableOnlyOneFilter: function enableOnlyOneFilter(draft, action) {
|
|
4465
|
+
var filterId = action.payload.filterId;
|
|
4466
|
+
draft.filters.filters.allIds.forEach(function (filterId) {
|
|
4467
|
+
draft.filters.filters.byId[filterId].checked = false;
|
|
4487
4468
|
});
|
|
4488
|
-
draft.filters.
|
|
4469
|
+
draft.filters.filters.byId[filterId].checked = true;
|
|
4470
|
+
},
|
|
4471
|
+
setActiveLayerInfo: function setActiveLayerInfo(draft, action) {
|
|
4472
|
+
var layer = action.payload.layer;
|
|
4473
|
+
draft.activeLayerInfo = layer;
|
|
4489
4474
|
}
|
|
4490
4475
|
}
|
|
4491
4476
|
});
|
|
@@ -4537,6 +4522,21 @@
|
|
|
4537
4522
|
|
|
4538
4523
|
return store ? (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.activeServices.byId : {};
|
|
4539
4524
|
}, selectorMemoizationOptions);
|
|
4525
|
+
/**
|
|
4526
|
+
* Returns active services by id
|
|
4527
|
+
*
|
|
4528
|
+
* Example getActiveServices(store, 'server-id');
|
|
4529
|
+
* @param {object} store store: object - store object
|
|
4530
|
+
* @param {serverId} serverId serverId: string - active server id
|
|
4531
|
+
* @returns {object} returnType: object of active service
|
|
4532
|
+
*/
|
|
4533
|
+
|
|
4534
|
+
var getActiveServiceById = function getActiveServiceById(store, serviceId) {
|
|
4535
|
+
var _a, _b;
|
|
4536
|
+
|
|
4537
|
+
var enabledServices = ((_b = (_a = store === null || store === void 0 ? void 0 : store.layerSelect) === null || _a === void 0 ? void 0 : _a.filters) === null || _b === void 0 ? void 0 : _b.activeServices.byId[serviceId]) || {};
|
|
4538
|
+
return enabledServices;
|
|
4539
|
+
};
|
|
4540
4540
|
/**
|
|
4541
4541
|
* Returns all ids of enabled services
|
|
4542
4542
|
*
|
|
@@ -4563,18 +4563,18 @@
|
|
|
4563
4563
|
* @returns {array} returnType: array of keyword ids that are checked
|
|
4564
4564
|
*/
|
|
4565
4565
|
|
|
4566
|
-
var
|
|
4566
|
+
var getCheckedFilterIds = toolkit.createSelector(layerSelectStore, function (store) {
|
|
4567
4567
|
var _a, _b;
|
|
4568
4568
|
|
|
4569
|
-
var
|
|
4570
|
-
var _a;
|
|
4569
|
+
var checkedFilters = (_b = (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.filters.allIds.filter(function (filterId) {
|
|
4570
|
+
var _a, _b;
|
|
4571
4571
|
|
|
4572
|
-
return (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.
|
|
4572
|
+
return (_b = (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.filters.byId[filterId]) === null || _b === void 0 ? void 0 : _b.checked;
|
|
4573
4573
|
})) !== null && _b !== void 0 ? _b : [];
|
|
4574
|
-
return
|
|
4574
|
+
return checkedFilters.map(function (filterId) {
|
|
4575
4575
|
var _a;
|
|
4576
4576
|
|
|
4577
|
-
return (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.
|
|
4577
|
+
return (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.filters.byId[filterId].id;
|
|
4578
4578
|
});
|
|
4579
4579
|
}, selectorMemoizationOptions);
|
|
4580
4580
|
/**
|
|
@@ -4585,11 +4585,28 @@
|
|
|
4585
4585
|
* @returns {array} returnType: array of all keyword ids
|
|
4586
4586
|
*/
|
|
4587
4587
|
|
|
4588
|
-
var
|
|
4588
|
+
var getAllFilterIds = toolkit.createSelector(layerSelectStore, function (store) {
|
|
4589
4589
|
var _a, _b;
|
|
4590
4590
|
|
|
4591
|
-
return (_b = (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.
|
|
4591
|
+
return (_b = (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.filters.allIds) !== null && _b !== void 0 ? _b : [];
|
|
4592
4592
|
}, selectorMemoizationOptions);
|
|
4593
|
+
/**
|
|
4594
|
+
* Returns all filters
|
|
4595
|
+
*
|
|
4596
|
+
* Example getAllFilters(store);
|
|
4597
|
+
* @param {object} store store: object - store object
|
|
4598
|
+
* @returns {array} returnType: array of all filters
|
|
4599
|
+
*/
|
|
4600
|
+
|
|
4601
|
+
var getAllFilters = toolkit.createSelector(layerSelectStore, function (store) {
|
|
4602
|
+
var filters = store === null || store === void 0 ? void 0 : store.filters.filters.byId;
|
|
4603
|
+
|
|
4604
|
+
if (filters) {
|
|
4605
|
+
return Object.values(filters);
|
|
4606
|
+
}
|
|
4607
|
+
|
|
4608
|
+
return [];
|
|
4609
|
+
});
|
|
4593
4610
|
/**
|
|
4594
4611
|
* Returns if all keywords are checked
|
|
4595
4612
|
*
|
|
@@ -4598,29 +4615,26 @@
|
|
|
4598
4615
|
* @returns {array} returnType: boolean if all keywords are checked
|
|
4599
4616
|
*/
|
|
4600
4617
|
|
|
4601
|
-
var
|
|
4618
|
+
var isAllFiltersChecked = toolkit.createSelector(layerSelectStore, function (store) {
|
|
4602
4619
|
var _a, _b;
|
|
4603
4620
|
|
|
4604
|
-
return (_b = (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.
|
|
4605
|
-
var _a, _b;
|
|
4621
|
+
return (_b = (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.filters) === null || _b === void 0 ? void 0 : _b.allIds.every(function (filterId) {
|
|
4622
|
+
var _a, _b, _c;
|
|
4606
4623
|
|
|
4607
|
-
return (_b = (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.
|
|
4624
|
+
return (_c = (_b = (_a = store === null || store === void 0 ? void 0 : store.filters) === null || _a === void 0 ? void 0 : _a.filters) === null || _b === void 0 ? void 0 : _b.byId[filterId]) === null || _c === void 0 ? void 0 : _c.checked;
|
|
4608
4625
|
});
|
|
4609
4626
|
});
|
|
4610
4627
|
/**
|
|
4611
|
-
*
|
|
4628
|
+
* Returns the active layer info
|
|
4612
4629
|
*
|
|
4613
|
-
* Example
|
|
4614
|
-
* @param {object} store object
|
|
4615
|
-
* @
|
|
4616
|
-
* @returns {object} object containing keyword information (id, amount, amountVisible, checked)
|
|
4630
|
+
* Example getActiveLayerInfo(store);
|
|
4631
|
+
* @param {object} store store: object - store object
|
|
4632
|
+
* @returns {object} returnType: ActiveLayerObject
|
|
4617
4633
|
*/
|
|
4618
4634
|
|
|
4619
|
-
var
|
|
4620
|
-
|
|
4621
|
-
|
|
4622
|
-
return (_d = (_c = (_b = (_a = store === null || store === void 0 ? void 0 : store.layerSelect) === null || _a === void 0 ? void 0 : _a.filters) === null || _b === void 0 ? void 0 : _b.keywords) === null || _c === void 0 ? void 0 : _c.byId[keywordId]) !== null && _d !== void 0 ? _d : {};
|
|
4623
|
-
};
|
|
4635
|
+
var getActiveLayerInfo = toolkit.createSelector(layerSelectStore, function (store) {
|
|
4636
|
+
return store === null || store === void 0 ? void 0 : store.activeLayerInfo;
|
|
4637
|
+
});
|
|
4624
4638
|
|
|
4625
4639
|
/* *
|
|
4626
4640
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -4694,8 +4708,15 @@
|
|
|
4694
4708
|
return currentMessages.length > 0 ? currentMessages[0] : undefined;
|
|
4695
4709
|
});
|
|
4696
4710
|
|
|
4711
|
+
var DialogTypes;
|
|
4712
|
+
|
|
4713
|
+
(function (DialogTypes) {
|
|
4714
|
+
DialogTypes["LayerInfo"] = "layerInfo";
|
|
4715
|
+
})(DialogTypes || (DialogTypes = {}));
|
|
4716
|
+
|
|
4697
4717
|
var types = /*#__PURE__*/Object.freeze({
|
|
4698
|
-
__proto__: null
|
|
4718
|
+
__proto__: null,
|
|
4719
|
+
get DialogTypes () { return DialogTypes; }
|
|
4699
4720
|
});
|
|
4700
4721
|
|
|
4701
4722
|
/* *
|
|
@@ -6074,7 +6095,7 @@
|
|
|
6074
6095
|
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
6075
6096
|
* */
|
|
6076
6097
|
var animationIntervalDefault = 5;
|
|
6077
|
-
var connectRedux$
|
|
6098
|
+
var connectRedux$5 = reactRedux.connect(function (store, props) {
|
|
6078
6099
|
return {
|
|
6079
6100
|
animationStartTime: getAnimationStartTime(store, props.mapId),
|
|
6080
6101
|
animationEndTime: getAnimationEndTime(store, props.mapId),
|
|
@@ -6085,7 +6106,7 @@
|
|
|
6085
6106
|
mapStartAnimation: mapActions$1.mapStartAnimation,
|
|
6086
6107
|
mapStopAnimation: mapActions$1.mapStopAnimation
|
|
6087
6108
|
});
|
|
6088
|
-
var PlayButtonConnect = connectRedux$
|
|
6109
|
+
var PlayButtonConnect = connectRedux$5(function (_a) {
|
|
6089
6110
|
var mapId = _a.mapId,
|
|
6090
6111
|
animationStartTime = _a.animationStartTime,
|
|
6091
6112
|
animationEndTime = _a.animationEndTime,
|
|
@@ -8448,34 +8469,6 @@
|
|
|
8448
8469
|
return _typeof(obj);
|
|
8449
8470
|
}
|
|
8450
8471
|
|
|
8451
|
-
/* *
|
|
8452
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8453
|
-
* you may not use this file except in compliance with the License.
|
|
8454
|
-
* You may obtain a copy of the License at
|
|
8455
|
-
*
|
|
8456
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8457
|
-
*
|
|
8458
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
8459
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
8460
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
8461
|
-
* See the License for the specific language governing permissions and
|
|
8462
|
-
* limitations under the License.
|
|
8463
|
-
*
|
|
8464
|
-
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
8465
|
-
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
8466
|
-
* */
|
|
8467
|
-
var mergePresetsAndUserAddedServices = function mergePresetsAndUserAddedServices(presets, userAddedServices) {
|
|
8468
|
-
return Object.values(__assign(__assign({}, presets.reduce(function (byUrl, preset) {
|
|
8469
|
-
var _a;
|
|
8470
|
-
|
|
8471
|
-
return __assign(__assign({}, byUrl), (_a = {}, _a[preset.url] = preset, _a));
|
|
8472
|
-
}, {})), userAddedServices));
|
|
8473
|
-
};
|
|
8474
|
-
var isNoIdService = function isNoIdService(param) {
|
|
8475
|
-
var serviceParam = param;
|
|
8476
|
-
return !!((serviceParam === null || serviceParam === void 0 ? void 0 : serviceParam.name) && (serviceParam === null || serviceParam === void 0 ? void 0 : serviceParam.url));
|
|
8477
|
-
};
|
|
8478
|
-
|
|
8479
8472
|
var getUserAddedServices = function getUserAddedServices() {
|
|
8480
8473
|
try {
|
|
8481
8474
|
var storedString = window.localStorage.getItem('userAddedServices');
|
|
@@ -8508,6 +8501,11 @@
|
|
|
8508
8501
|
}
|
|
8509
8502
|
};
|
|
8510
8503
|
|
|
8504
|
+
var isNoIdService = function isNoIdService(param) {
|
|
8505
|
+
var serviceParam = param;
|
|
8506
|
+
return !!((serviceParam === null || serviceParam === void 0 ? void 0 : serviceParam.name) && (serviceParam === null || serviceParam === void 0 ? void 0 : serviceParam.url));
|
|
8507
|
+
};
|
|
8508
|
+
|
|
8511
8509
|
/* *
|
|
8512
8510
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8513
8511
|
* you may not use this file except in compliance with the License.
|
|
@@ -8525,23 +8523,41 @@
|
|
|
8525
8523
|
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
8526
8524
|
* */
|
|
8527
8525
|
function newServiceAddedSaga(capturedAction) {
|
|
8528
|
-
var addedService, id, serviceUrl, name, isUserAddedService, keywords;
|
|
8526
|
+
var addedService, id, serviceUrl, name, isUserAddedService, _abstract, keywords, groups;
|
|
8527
|
+
|
|
8529
8528
|
return __generator(this, function (_a) {
|
|
8530
8529
|
switch (_a.label) {
|
|
8531
8530
|
case 0:
|
|
8532
8531
|
addedService = capturedAction.payload;
|
|
8533
|
-
id = addedService.id, serviceUrl = addedService.serviceUrl, name = addedService.name, isUserAddedService = addedService.isUserAddedService;
|
|
8534
|
-
keywords = addedService.layers.reduce(function (
|
|
8535
|
-
|
|
8532
|
+
id = addedService.id, serviceUrl = addedService.serviceUrl, name = addedService.name, isUserAddedService = addedService.isUserAddedService, _abstract = addedService["abstract"];
|
|
8533
|
+
keywords = addedService.layers.reduce(function (keywords, layer) {
|
|
8534
|
+
var _a;
|
|
8535
|
+
|
|
8536
|
+
if (layer.leaf) {
|
|
8537
|
+
return keywords.concat((_a = layer.keywords) !== null && _a !== void 0 ? _a : []);
|
|
8538
|
+
}
|
|
8539
|
+
|
|
8540
|
+
return keywords;
|
|
8541
|
+
}, []);
|
|
8542
|
+
groups = addedService.layers.reduce(function (groups, layer) {
|
|
8543
|
+
var _a;
|
|
8544
|
+
|
|
8545
|
+
if (layer.leaf) {
|
|
8546
|
+
return groups.concat((_a = layer.path) !== null && _a !== void 0 ? _a : []);
|
|
8547
|
+
}
|
|
8548
|
+
|
|
8549
|
+
return groups;
|
|
8536
8550
|
}, []);
|
|
8537
8551
|
return [4
|
|
8538
8552
|
/*yield*/
|
|
8539
|
-
, effects.put(layerSelectActions.
|
|
8553
|
+
, effects.put(layerSelectActions.addFiltersAndActiveServices({
|
|
8540
8554
|
serviceId: id,
|
|
8541
8555
|
serviceName: name,
|
|
8542
8556
|
serviceUrl: serviceUrl,
|
|
8543
8557
|
keywords: keywords,
|
|
8544
|
-
isUserAddedService: isUserAddedService
|
|
8558
|
+
isUserAddedService: isUserAddedService,
|
|
8559
|
+
groups: groups,
|
|
8560
|
+
"abstract": _abstract
|
|
8545
8561
|
}))];
|
|
8546
8562
|
|
|
8547
8563
|
case 1:
|
|
@@ -8553,20 +8569,53 @@
|
|
|
8553
8569
|
}
|
|
8554
8570
|
});
|
|
8555
8571
|
}
|
|
8556
|
-
function
|
|
8557
|
-
var removedService, serviceId;
|
|
8572
|
+
function layerSelectRemoveServiceSaga(capturedAction) {
|
|
8573
|
+
var removedService, serviceId, serviceUrl, results, services, servicesEnabled;
|
|
8558
8574
|
return __generator(this, function (_a) {
|
|
8559
8575
|
switch (_a.label) {
|
|
8560
8576
|
case 0:
|
|
8561
8577
|
removedService = capturedAction.payload;
|
|
8562
|
-
serviceId = removedService.
|
|
8578
|
+
serviceId = removedService.serviceId, serviceUrl = removedService.serviceUrl;
|
|
8563
8579
|
return [4
|
|
8564
8580
|
/*yield*/
|
|
8565
|
-
, effects.
|
|
8566
|
-
serviceId: serviceId
|
|
8567
|
-
}))];
|
|
8581
|
+
, effects.select(getActiveServices)];
|
|
8568
8582
|
|
|
8569
8583
|
case 1:
|
|
8584
|
+
results = _a.sent();
|
|
8585
|
+
services = results;
|
|
8586
|
+
servicesEnabled = Object.values(services).find(function (service) {
|
|
8587
|
+
return service.enabled;
|
|
8588
|
+
});
|
|
8589
|
+
if (!(servicesEnabled === undefined)) return [3
|
|
8590
|
+
/*break*/
|
|
8591
|
+
, 3];
|
|
8592
|
+
return [4
|
|
8593
|
+
/*yield*/
|
|
8594
|
+
, effects.all(Object.entries(services).map(function (_a) {
|
|
8595
|
+
var _b = __read(_a, 2),
|
|
8596
|
+
serviceId = _b[0],
|
|
8597
|
+
service = _b[1];
|
|
8598
|
+
|
|
8599
|
+
return effects.put(layerSelectActions.enableActiveService({
|
|
8600
|
+
serviceId: serviceId,
|
|
8601
|
+
filters: service.filterIds
|
|
8602
|
+
}));
|
|
8603
|
+
}))];
|
|
8604
|
+
|
|
8605
|
+
case 2:
|
|
8606
|
+
_a.sent();
|
|
8607
|
+
|
|
8608
|
+
_a.label = 3;
|
|
8609
|
+
|
|
8610
|
+
case 3:
|
|
8611
|
+
return [4
|
|
8612
|
+
/*yield*/
|
|
8613
|
+
, effects.put(serviceActions.mapStoreRemoveService({
|
|
8614
|
+
id: serviceId,
|
|
8615
|
+
serviceUrl: serviceUrl
|
|
8616
|
+
}))];
|
|
8617
|
+
|
|
8618
|
+
case 4:
|
|
8570
8619
|
_a.sent();
|
|
8571
8620
|
|
|
8572
8621
|
return [2
|
|
@@ -8581,12 +8630,14 @@
|
|
|
8581
8630
|
var payload = _a.payload;
|
|
8582
8631
|
var isUserAddedService = payload.isUserAddedService,
|
|
8583
8632
|
name = payload.name,
|
|
8584
|
-
serviceUrl = payload.serviceUrl
|
|
8633
|
+
serviceUrl = payload.serviceUrl,
|
|
8634
|
+
_abstract2 = payload["abstract"];
|
|
8585
8635
|
if (!isUserAddedService) return;
|
|
8586
8636
|
var localStorageServices = getUserAddedServices();
|
|
8587
8637
|
setUserAddedServices(__assign(__assign({}, localStorageServices), (_b = {}, _b[serviceUrl] = {
|
|
8588
8638
|
name: name,
|
|
8589
|
-
url: serviceUrl
|
|
8639
|
+
url: serviceUrl,
|
|
8640
|
+
"abstract": _abstract2
|
|
8590
8641
|
}, _b)));
|
|
8591
8642
|
}
|
|
8592
8643
|
function removeServiceFromLocalStorageSaga(_a) {
|
|
@@ -8613,7 +8664,7 @@
|
|
|
8613
8664
|
|
|
8614
8665
|
return [4
|
|
8615
8666
|
/*yield*/
|
|
8616
|
-
, effects.takeEvery(
|
|
8667
|
+
, effects.takeEvery(layerSelectActions.layerSelectRemoveService.type, layerSelectRemoveServiceSaga)];
|
|
8617
8668
|
|
|
8618
8669
|
case 2:
|
|
8619
8670
|
_a.sent();
|
|
@@ -8842,7 +8893,9 @@
|
|
|
8842
8893
|
children: [],
|
|
8843
8894
|
keywords: nodesToRecur.keywords || [],
|
|
8844
8895
|
"abstract": nodesToRecur["abstract"] || '',
|
|
8845
|
-
styles: nodesToRecur.styles || []
|
|
8896
|
+
styles: nodesToRecur.styles || [],
|
|
8897
|
+
dimensions: nodesToRecur.dimensions || [],
|
|
8898
|
+
geographicBoundingBox: nodesToRecur.geographicBoundingBox || null
|
|
8846
8899
|
};
|
|
8847
8900
|
|
|
8848
8901
|
if (nodesToRecur.children) {
|
|
@@ -9119,7 +9172,7 @@
|
|
|
9119
9172
|
* Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
9120
9173
|
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
9121
9174
|
* */
|
|
9122
|
-
var connectRedux$
|
|
9175
|
+
var connectRedux$4 = reactRedux.connect(function (store, props) {
|
|
9123
9176
|
return {
|
|
9124
9177
|
loadedLayers: getMapLayers(store, props.mapId)
|
|
9125
9178
|
};
|
|
@@ -9183,7 +9236,7 @@
|
|
|
9183
9236
|
});
|
|
9184
9237
|
};
|
|
9185
9238
|
|
|
9186
|
-
var WMSLayerTreeConnect = connectRedux$
|
|
9239
|
+
var WMSLayerTreeConnect = connectRedux$4(ConnectedTree);
|
|
9187
9240
|
|
|
9188
9241
|
/* *
|
|
9189
9242
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -9391,7 +9444,7 @@
|
|
|
9391
9444
|
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
9392
9445
|
* */
|
|
9393
9446
|
|
|
9394
|
-
var validateServiceUrl = function validateServiceUrl(url) {
|
|
9447
|
+
var validateServiceUrl$1 = function validateServiceUrl(url) {
|
|
9395
9448
|
if (url === '' || url === null || typeof url === 'undefined') return false;
|
|
9396
9449
|
var matcher = /^(?:\w+:)?\/\/([^\s.]+\.\S{2}|[0-9a-zA-Z]+[:?\d]*)\S*$/;
|
|
9397
9450
|
if (!matcher.test(url)) return false;
|
|
@@ -9456,7 +9509,7 @@
|
|
|
9456
9509
|
setServiceURL('');
|
|
9457
9510
|
setUrlError('');
|
|
9458
9511
|
setLoading(false); // Check if valid URL was passed
|
|
9459
|
-
} else if (validateServiceUrl(serviceURL)) {
|
|
9512
|
+
} else if (validateServiceUrl$1(serviceURL)) {
|
|
9460
9513
|
// Check if service is WMS server
|
|
9461
9514
|
getLayersFromService(serviceURL).then(function (layerTreeFromPromise) {
|
|
9462
9515
|
// Shorten URL as a naming backup
|
|
@@ -10180,7 +10233,7 @@
|
|
|
10180
10233
|
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
10181
10234
|
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
10182
10235
|
* */
|
|
10183
|
-
var marks$
|
|
10236
|
+
var marks$2 = [{
|
|
10184
10237
|
value: 0,
|
|
10185
10238
|
label: '0 %'
|
|
10186
10239
|
}, {
|
|
@@ -10305,7 +10358,7 @@
|
|
|
10305
10358
|
step: 0.01,
|
|
10306
10359
|
max: 1,
|
|
10307
10360
|
min: 0,
|
|
10308
|
-
marks: marks$
|
|
10361
|
+
marks: marks$2,
|
|
10309
10362
|
onChange: function onChange(event, newValue) {
|
|
10310
10363
|
event.stopPropagation();
|
|
10311
10364
|
onLayerChangeOpacity(newValue);
|
|
@@ -10863,7 +10916,7 @@
|
|
|
10863
10916
|
return getLayerName(store, layerId);
|
|
10864
10917
|
});
|
|
10865
10918
|
var layerStyles = reactRedux.useSelector(function (store) {
|
|
10866
|
-
return getLayerStyles(store, layerService, layerName);
|
|
10919
|
+
return getLayerStyles$1(store, layerService, layerName);
|
|
10867
10920
|
});
|
|
10868
10921
|
var currentLayerStyle = reactRedux.useSelector(function (store) {
|
|
10869
10922
|
return getLayerStyle(store, layerId);
|
|
@@ -11598,6 +11651,16 @@
|
|
|
11598
11651
|
boxSizing: 'border-box'
|
|
11599
11652
|
}
|
|
11600
11653
|
};
|
|
11654
|
+
var calculateStartSize = function calculateStartSize(minSize, prefSize, startPosition) {
|
|
11655
|
+
var _a = shared.calculateDialogSizeAndPosition(),
|
|
11656
|
+
calcWidth = _a.width,
|
|
11657
|
+
calcHeight = _a.height;
|
|
11658
|
+
|
|
11659
|
+
return {
|
|
11660
|
+
width: Math.max(minSize.width, Math.min(prefSize.width, calcWidth)),
|
|
11661
|
+
height: Math.max(minSize.height, Math.min(prefSize.height, calcHeight - startPosition.top))
|
|
11662
|
+
};
|
|
11663
|
+
};
|
|
11601
11664
|
|
|
11602
11665
|
var LayerManager = function LayerManager(_a) {
|
|
11603
11666
|
var mapId = _a.mapId,
|
|
@@ -11623,8 +11686,21 @@
|
|
|
11623
11686
|
_h = _a.isLoading,
|
|
11624
11687
|
isLoading = _h === void 0 ? false : _h,
|
|
11625
11688
|
error = _a.error;
|
|
11689
|
+
var minSize = {
|
|
11690
|
+
width: 300,
|
|
11691
|
+
height: 126
|
|
11692
|
+
};
|
|
11693
|
+
var prefSize = {
|
|
11694
|
+
width: 720,
|
|
11695
|
+
height: 300
|
|
11696
|
+
};
|
|
11697
|
+
var startPosition = {
|
|
11698
|
+
top: 96,
|
|
11699
|
+
left: 50
|
|
11700
|
+
};
|
|
11701
|
+
var startSize = calculateStartSize(minSize, prefSize, startPosition);
|
|
11626
11702
|
|
|
11627
|
-
var _j = __read(React__namespace.useState(
|
|
11703
|
+
var _j = __read(React__namespace.useState(widthToWidthClass(startSize.width)), 2),
|
|
11628
11704
|
layerManagerWidth = _j[0],
|
|
11629
11705
|
setLayerManagerWidth = _j[1];
|
|
11630
11706
|
|
|
@@ -11635,16 +11711,10 @@
|
|
|
11635
11711
|
|
|
11636
11712
|
return /*#__PURE__*/React__namespace.createElement(shared.ToolContainerDraggable, {
|
|
11637
11713
|
title: showTitle ? "Layer Manager " + mapId : 'Layer Manager',
|
|
11638
|
-
startSize:
|
|
11639
|
-
|
|
11640
|
-
|
|
11641
|
-
|
|
11642
|
-
minWidth: 300,
|
|
11643
|
-
minHeight: 126,
|
|
11644
|
-
startPosition: {
|
|
11645
|
-
top: 96,
|
|
11646
|
-
left: 50
|
|
11647
|
-
},
|
|
11714
|
+
startSize: startSize,
|
|
11715
|
+
minWidth: minSize.width,
|
|
11716
|
+
minHeight: minSize.height,
|
|
11717
|
+
startPosition: startPosition,
|
|
11648
11718
|
isOpen: isOpen,
|
|
11649
11719
|
onChangeSize: onChangeSize,
|
|
11650
11720
|
onClose: onClose,
|
|
@@ -11755,124 +11825,267 @@
|
|
|
11755
11825
|
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
11756
11826
|
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
11757
11827
|
* */
|
|
11758
|
-
var
|
|
11759
|
-
|
|
11760
|
-
|
|
11761
|
-
|
|
11762
|
-
|
|
11763
|
-
|
|
11764
|
-
|
|
11828
|
+
var isURL = function isURL(string) {
|
|
11829
|
+
return /^https?:\/\//.test(string);
|
|
11830
|
+
};
|
|
11831
|
+
|
|
11832
|
+
var SearchFieldButtonContainer = function SearchFieldButtonContainer(_a) {
|
|
11833
|
+
var localSearchString = _a.localSearchString,
|
|
11834
|
+
onClickClear = _a.onClickClear,
|
|
11835
|
+
setPopupIsOpen = _a.setPopupIsOpen;
|
|
11836
|
+
|
|
11837
|
+
var ClearButton = function ClearButton() {
|
|
11838
|
+
return /*#__PURE__*/React__default["default"].createElement(material.Tooltip, {
|
|
11839
|
+
title: "Clear",
|
|
11840
|
+
placement: "top"
|
|
11841
|
+
}, /*#__PURE__*/React__default["default"].createElement(material.IconButton, {
|
|
11842
|
+
edge: "end",
|
|
11843
|
+
onClick: function onClick() {
|
|
11844
|
+
onClickClear();
|
|
11845
|
+
},
|
|
11846
|
+
size: "large"
|
|
11847
|
+
}, /*#__PURE__*/React__default["default"].createElement(theme.Clear, null)));
|
|
11848
|
+
};
|
|
11849
|
+
|
|
11850
|
+
if (isURL(localSearchString)) return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
11851
|
+
style: {
|
|
11852
|
+
marginRight: '15px'
|
|
11765
11853
|
}
|
|
11766
|
-
},
|
|
11767
|
-
|
|
11768
|
-
|
|
11769
|
-
|
|
11770
|
-
|
|
11771
|
-
|
|
11772
|
-
|
|
11773
|
-
|
|
11774
|
-
|
|
11775
|
-
|
|
11776
|
-
|
|
11777
|
-
|
|
11778
|
-
|
|
11779
|
-
|
|
11780
|
-
|
|
11781
|
-
|
|
11782
|
-
|
|
11783
|
-
|
|
11784
|
-
|
|
11785
|
-
|
|
11786
|
-
|
|
11787
|
-
|
|
11788
|
-
|
|
11854
|
+
}, /*#__PURE__*/React__default["default"].createElement(ClearButton, null)), /*#__PURE__*/React__default["default"].createElement(material.Button, {
|
|
11855
|
+
variant: "tertiary",
|
|
11856
|
+
onClick: function onClick() {
|
|
11857
|
+
return setPopupIsOpen(true);
|
|
11858
|
+
}
|
|
11859
|
+
}, "Save"));
|
|
11860
|
+
if (localSearchString) return /*#__PURE__*/React__default["default"].createElement(ClearButton, null);
|
|
11861
|
+
return /*#__PURE__*/React__default["default"].createElement(material.Tooltip, {
|
|
11862
|
+
title: "Search",
|
|
11863
|
+
placement: "top"
|
|
11864
|
+
}, /*#__PURE__*/React__default["default"].createElement(material.IconButton, {
|
|
11865
|
+
edge: "end",
|
|
11866
|
+
size: "large"
|
|
11867
|
+
}, /*#__PURE__*/React__default["default"].createElement(theme.Search, null)));
|
|
11868
|
+
};
|
|
11869
|
+
|
|
11870
|
+
/* *
|
|
11871
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11872
|
+
* you may not use this file except in compliance with the License.
|
|
11873
|
+
* You may obtain a copy of the License at
|
|
11874
|
+
*
|
|
11875
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11876
|
+
*
|
|
11877
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11878
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11879
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11880
|
+
* See the License for the specific language governing permissions and
|
|
11881
|
+
* limitations under the License.
|
|
11882
|
+
*
|
|
11883
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
11884
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
11885
|
+
* */
|
|
11886
|
+
var VALIDATIONS_NAME_EXISTING = 'This name already exists. Choose another name.';
|
|
11887
|
+
var VALIDATIONS_SERVICE_EXISTING = 'URL already exists.';
|
|
11888
|
+
var VALIDATIONS_SERVICE_VALID_URL = 'Not a valid URL.';
|
|
11889
|
+
var VALIDATIONS_REQUEST_FAILED = 'Download failed. Check the URL.';
|
|
11890
|
+
var validateServiceName = function validateServiceName(value, services, ownServiceName) {
|
|
11891
|
+
if (ownServiceName === void 0) {
|
|
11892
|
+
ownServiceName = '';
|
|
11789
11893
|
}
|
|
11894
|
+
|
|
11895
|
+
var serviceName = value === null || value === void 0 ? void 0 : value.toLowerCase();
|
|
11896
|
+
var foundName = Object.keys(services).find(function (serviceId) {
|
|
11897
|
+
return services[serviceId].serviceName.toLowerCase() === serviceName && serviceName !== ownServiceName.toLocaleLowerCase();
|
|
11898
|
+
});
|
|
11899
|
+
return foundName === undefined ? true : VALIDATIONS_NAME_EXISTING;
|
|
11790
11900
|
};
|
|
11791
|
-
var ADD_HEADING = 'Add a new service';
|
|
11792
|
-
var EDIT_HEADING = 'Edit service';
|
|
11793
|
-
var SAVE_HEADING = 'Save service';
|
|
11794
11901
|
|
|
11795
|
-
var
|
|
11796
|
-
|
|
11797
|
-
|
|
11798
|
-
|
|
11902
|
+
var isValidUrl = function isValidUrl(url) {
|
|
11903
|
+
if (url === '' || url === null || typeof url === 'undefined') {
|
|
11904
|
+
return false;
|
|
11905
|
+
}
|
|
11799
11906
|
|
|
11800
|
-
|
|
11801
|
-
return EDIT_HEADING;
|
|
11907
|
+
var matcher = /^(?:\w+:)?\/\/([^\s.]+\.\S{2}|[0-9a-zA-Z]+[:?\d]*)\S*$/;
|
|
11802
11908
|
|
|
11803
|
-
|
|
11804
|
-
|
|
11909
|
+
if (!matcher.test(url)) {
|
|
11910
|
+
return false;
|
|
11805
11911
|
}
|
|
11912
|
+
|
|
11913
|
+
return true;
|
|
11806
11914
|
};
|
|
11807
11915
|
|
|
11808
|
-
var
|
|
11809
|
-
var
|
|
11810
|
-
_b = _a.hideBackdrop,
|
|
11811
|
-
hideBackdrop = _b === void 0 ? false : _b,
|
|
11812
|
-
isOpen = _a.isOpen,
|
|
11813
|
-
closePopup = _a.closePopup,
|
|
11814
|
-
serviceId = _a.serviceId,
|
|
11815
|
-
url = _a.url,
|
|
11816
|
-
services = _a.services,
|
|
11817
|
-
serviceSetLayers = _a.serviceSetLayers;
|
|
11916
|
+
var validateServiceUrl = function validateServiceUrl(value, services) {
|
|
11917
|
+
var serviceUrl = value; // validate valid url
|
|
11818
11918
|
|
|
11819
|
-
var
|
|
11820
|
-
serviceName = _c[0],
|
|
11821
|
-
setServiceName = _c[1];
|
|
11919
|
+
var isServiceUrlValid = isValidUrl(serviceUrl);
|
|
11822
11920
|
|
|
11823
|
-
|
|
11824
|
-
|
|
11825
|
-
|
|
11921
|
+
if (!isServiceUrlValid) {
|
|
11922
|
+
return VALIDATIONS_SERVICE_VALID_URL;
|
|
11923
|
+
} // check url existing
|
|
11826
11924
|
|
|
11827
|
-
var _e = __read(React__namespace.useState(''), 2),
|
|
11828
|
-
_abstract = _e[0],
|
|
11829
|
-
setAbstract = _e[1];
|
|
11830
11925
|
|
|
11831
|
-
var
|
|
11832
|
-
|
|
11833
|
-
|
|
11926
|
+
var foundUrl = Object.keys(services).find(function (serviceId) {
|
|
11927
|
+
return services[serviceId].serviceUrl === serviceUrl;
|
|
11928
|
+
});
|
|
11834
11929
|
|
|
11835
|
-
|
|
11836
|
-
|
|
11837
|
-
|
|
11930
|
+
if (foundUrl) {
|
|
11931
|
+
return VALIDATIONS_SERVICE_EXISTING;
|
|
11932
|
+
}
|
|
11838
11933
|
|
|
11839
|
-
|
|
11840
|
-
|
|
11841
|
-
setServiceNameHasError = _h[1];
|
|
11934
|
+
return true;
|
|
11935
|
+
};
|
|
11842
11936
|
|
|
11843
|
-
|
|
11844
|
-
|
|
11845
|
-
|
|
11937
|
+
/* *
|
|
11938
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11939
|
+
* you may not use this file except in compliance with the License.
|
|
11940
|
+
* You may obtain a copy of the License at
|
|
11941
|
+
*
|
|
11942
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11943
|
+
*
|
|
11944
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11945
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11946
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11947
|
+
* See the License for the specific language governing permissions and
|
|
11948
|
+
* limitations under the License.
|
|
11949
|
+
*
|
|
11950
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
11951
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
11952
|
+
* */
|
|
11953
|
+
var style$1 = {
|
|
11954
|
+
textField: {
|
|
11955
|
+
width: '100%',
|
|
11956
|
+
marginBottom: 2
|
|
11957
|
+
}
|
|
11958
|
+
};
|
|
11959
|
+
var ADD_HEADING = 'Add a new service';
|
|
11960
|
+
var EDIT_HEADING = 'Edit service';
|
|
11961
|
+
var SAVE_HEADING = 'Save service';
|
|
11962
|
+
var COPY_URL_MESSAGE = 'Service URL copied to clipboard';
|
|
11963
|
+
var getSuccesMessage = function getSuccesMessage(serviceName) {
|
|
11964
|
+
return "Service \"" + serviceName + "\" has been saved succesfully";
|
|
11965
|
+
};
|
|
11846
11966
|
|
|
11847
|
-
|
|
11848
|
-
|
|
11849
|
-
|
|
11967
|
+
var getTitleForVariant = function getTitleForVariant(variant) {
|
|
11968
|
+
switch (variant) {
|
|
11969
|
+
case 'add':
|
|
11970
|
+
return ADD_HEADING;
|
|
11971
|
+
|
|
11972
|
+
case 'edit':
|
|
11973
|
+
return EDIT_HEADING;
|
|
11974
|
+
|
|
11975
|
+
case 'save':
|
|
11976
|
+
return SAVE_HEADING;
|
|
11977
|
+
|
|
11978
|
+
default:
|
|
11979
|
+
return 'Service';
|
|
11980
|
+
}
|
|
11981
|
+
};
|
|
11850
11982
|
|
|
11851
|
-
|
|
11852
|
-
|
|
11853
|
-
|
|
11983
|
+
var fields = {
|
|
11984
|
+
serviceUrl: {
|
|
11985
|
+
name: 'serviceUrl',
|
|
11986
|
+
label: 'This service refers to this URL'
|
|
11987
|
+
},
|
|
11988
|
+
serviceName: {
|
|
11989
|
+
name: 'serviceName',
|
|
11990
|
+
label: 'Service name'
|
|
11991
|
+
},
|
|
11992
|
+
serviceAbstracts: {
|
|
11993
|
+
name: 'serviceAbstracts',
|
|
11994
|
+
label: 'Abstracts'
|
|
11995
|
+
}
|
|
11996
|
+
};
|
|
11854
11997
|
|
|
11998
|
+
var InitialValidationsTrigger = function InitialValidationsTrigger(_a) {
|
|
11999
|
+
var trigger = _a.trigger,
|
|
12000
|
+
getValues = _a.getValues,
|
|
12001
|
+
onValidField = _a.onValidField;
|
|
11855
12002
|
React__namespace.useEffect(function () {
|
|
11856
|
-
var
|
|
12003
|
+
var value = getValues(fields.serviceUrl.name);
|
|
11857
12004
|
|
|
11858
|
-
if (
|
|
11859
|
-
|
|
11860
|
-
|
|
11861
|
-
|
|
12005
|
+
if (value) {
|
|
12006
|
+
trigger(fields.serviceUrl.name).then(function (isValid) {
|
|
12007
|
+
return isValid && onValidField(value);
|
|
12008
|
+
});
|
|
12009
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
11862
12010
|
|
|
11863
|
-
|
|
11864
|
-
|
|
11865
|
-
|
|
11866
|
-
}, [serviceId, services, url, servicePopupVariant, isOpen]);
|
|
12011
|
+
}, []);
|
|
12012
|
+
return null;
|
|
12013
|
+
};
|
|
11867
12014
|
|
|
11868
|
-
|
|
11869
|
-
|
|
11870
|
-
|
|
11871
|
-
|
|
11872
|
-
|
|
12015
|
+
var ServicePopup = function ServicePopup(_a) {
|
|
12016
|
+
var servicePopupVariant = _a.servicePopupVariant,
|
|
12017
|
+
_b = _a.hideBackdrop,
|
|
12018
|
+
hideBackdrop = _b === void 0 ? false : _b,
|
|
12019
|
+
isOpen = _a.isOpen,
|
|
12020
|
+
closePopup = _a.closePopup,
|
|
12021
|
+
services = _a.services,
|
|
12022
|
+
serviceSetLayers = _a.serviceSetLayers,
|
|
12023
|
+
serviceUrl = _a.serviceUrl,
|
|
12024
|
+
serviceName = _a.serviceName,
|
|
12025
|
+
serviceAbstracts = _a.serviceAbstracts,
|
|
12026
|
+
_c = _a.showSnackbar,
|
|
12027
|
+
showSnackbar = _c === void 0 ? function () {} : _c;
|
|
12028
|
+
|
|
12029
|
+
var _d = reactHookForm.useFormContext(),
|
|
12030
|
+
reset = _d.reset,
|
|
12031
|
+
errors = _d.formState.errors,
|
|
12032
|
+
handleSubmit = _d.handleSubmit,
|
|
12033
|
+
setError = _d.setError,
|
|
12034
|
+
clearErrors = _d.clearErrors,
|
|
12035
|
+
watch = _d.watch,
|
|
12036
|
+
trigger = _d.trigger,
|
|
12037
|
+
getValues = _d.getValues,
|
|
12038
|
+
setValue = _d.setValue;
|
|
12039
|
+
|
|
12040
|
+
var _e = __read(React__namespace.useState(false), 2),
|
|
12041
|
+
isLoading = _e[0],
|
|
12042
|
+
setIsLoading = _e[1];
|
|
12043
|
+
|
|
12044
|
+
var fetchServiceData = function fetchServiceData(newServiceUrl) {
|
|
12045
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
12046
|
+
var service;
|
|
12047
|
+
return __generator(this, function (_a) {
|
|
12048
|
+
switch (_a.label) {
|
|
12049
|
+
case 0:
|
|
12050
|
+
_a.trys.push([0, 2,, 3]);
|
|
12051
|
+
|
|
12052
|
+
setIsLoading(true);
|
|
12053
|
+
return [4
|
|
12054
|
+
/*yield*/
|
|
12055
|
+
, getLayersFromService(newServiceUrl)];
|
|
12056
|
+
|
|
12057
|
+
case 1:
|
|
12058
|
+
_a.sent();
|
|
12059
|
+
|
|
12060
|
+
service = webmap.WMGetServiceFromStore(newServiceUrl);
|
|
12061
|
+
setValue(fields.serviceName.name, service.title);
|
|
12062
|
+
setValue(fields.serviceAbstracts.name, service["abstract"]);
|
|
12063
|
+
setIsLoading(false);
|
|
12064
|
+
return [3
|
|
12065
|
+
/*break*/
|
|
12066
|
+
, 3];
|
|
12067
|
+
|
|
12068
|
+
case 2:
|
|
12069
|
+
_a.sent();
|
|
12070
|
+
setIsLoading(false);
|
|
12071
|
+
setError(fields.serviceUrl.name, {
|
|
12072
|
+
message: VALIDATIONS_REQUEST_FAILED,
|
|
12073
|
+
type: 'SYSTEM'
|
|
12074
|
+
});
|
|
12075
|
+
return [3
|
|
12076
|
+
/*break*/
|
|
12077
|
+
, 3];
|
|
12078
|
+
|
|
12079
|
+
case 3:
|
|
12080
|
+
return [2
|
|
12081
|
+
/*return*/
|
|
12082
|
+
];
|
|
12083
|
+
}
|
|
12084
|
+
});
|
|
12085
|
+
});
|
|
11873
12086
|
};
|
|
11874
12087
|
|
|
11875
|
-
var addNewService = function addNewService() {
|
|
12088
|
+
var addNewService = function addNewService(formValues) {
|
|
11876
12089
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
11877
12090
|
var layers, serviceLayers, _a, _b, object, service;
|
|
11878
12091
|
|
|
@@ -11881,10 +12094,7 @@
|
|
|
11881
12094
|
return __generator(this, function (_d) {
|
|
11882
12095
|
switch (_d.label) {
|
|
11883
12096
|
case 0:
|
|
11884
|
-
|
|
11885
|
-
if (!validateServiceUrl(serviceUrl)) return [3
|
|
11886
|
-
/*break*/
|
|
11887
|
-
, 4];
|
|
12097
|
+
clearErrors(fields.serviceUrl.name);
|
|
11888
12098
|
setIsLoading(true);
|
|
11889
12099
|
_d.label = 1;
|
|
11890
12100
|
|
|
@@ -11893,7 +12103,7 @@
|
|
|
11893
12103
|
|
|
11894
12104
|
return [4
|
|
11895
12105
|
/*yield*/
|
|
11896
|
-
, getLayersFromService(serviceUrl)];
|
|
12106
|
+
, getLayersFromService(formValues.serviceUrl)];
|
|
11897
12107
|
|
|
11898
12108
|
case 2:
|
|
11899
12109
|
layers = _d.sent();
|
|
@@ -11911,7 +12121,9 @@
|
|
|
11911
12121
|
path: object.path,
|
|
11912
12122
|
keywords: object.keywords ? object.keywords : [],
|
|
11913
12123
|
"abstract": object["abstract"] ? object["abstract"] : '',
|
|
11914
|
-
styles: object.styles ? object.styles : []
|
|
12124
|
+
styles: object.styles ? object.styles : [],
|
|
12125
|
+
dimensions: object.dimensions || [],
|
|
12126
|
+
geographicBoundingBox: object.geographicBoundingBox || null
|
|
11915
12127
|
});
|
|
11916
12128
|
}
|
|
11917
12129
|
} catch (e_1_1) {
|
|
@@ -11926,16 +12138,18 @@
|
|
|
11926
12138
|
}
|
|
11927
12139
|
}
|
|
11928
12140
|
|
|
11929
|
-
service = webmap.WMGetServiceFromStore(serviceUrl);
|
|
12141
|
+
service = webmap.WMGetServiceFromStore(formValues.serviceUrl);
|
|
11930
12142
|
serviceSetLayers({
|
|
11931
12143
|
id: service.id,
|
|
11932
|
-
name: serviceName,
|
|
11933
|
-
serviceUrl: serviceUrl,
|
|
12144
|
+
name: formValues.serviceName,
|
|
12145
|
+
serviceUrl: formValues.serviceUrl,
|
|
12146
|
+
"abstract": formValues.serviceAbstracts,
|
|
11934
12147
|
layers: serviceLayers,
|
|
11935
12148
|
isUserAddedService: true
|
|
11936
12149
|
});
|
|
11937
12150
|
setIsLoading(false);
|
|
11938
|
-
|
|
12151
|
+
showSnackbar(getSuccesMessage(formValues.serviceName));
|
|
12152
|
+
closePopup();
|
|
11939
12153
|
}
|
|
11940
12154
|
|
|
11941
12155
|
return [3
|
|
@@ -11945,8 +12159,10 @@
|
|
|
11945
12159
|
case 3:
|
|
11946
12160
|
_d.sent();
|
|
11947
12161
|
setIsLoading(false);
|
|
11948
|
-
|
|
11949
|
-
|
|
12162
|
+
setError(fields.serviceUrl.name, {
|
|
12163
|
+
message: VALIDATIONS_REQUEST_FAILED,
|
|
12164
|
+
type: 'SYSTEM'
|
|
12165
|
+
});
|
|
11950
12166
|
return [3
|
|
11951
12167
|
/*break*/
|
|
11952
12168
|
, 4];
|
|
@@ -11960,166 +12176,216 @@
|
|
|
11960
12176
|
});
|
|
11961
12177
|
};
|
|
11962
12178
|
|
|
11963
|
-
var
|
|
11964
|
-
|
|
11965
|
-
var foundName = Object.keys(services).find(function (serviceId) {
|
|
11966
|
-
return services[serviceId].serviceName.toLowerCase() === (serviceName === null || serviceName === void 0 ? void 0 : serviceName.toLowerCase());
|
|
11967
|
-
});
|
|
11968
|
-
return foundName !== undefined;
|
|
11969
|
-
}
|
|
11970
|
-
|
|
11971
|
-
return false;
|
|
12179
|
+
var onValidateServiceUrl = function onValidateServiceUrl(value) {
|
|
12180
|
+
return validateServiceUrl(value, services);
|
|
11972
12181
|
};
|
|
11973
12182
|
|
|
11974
|
-
var
|
|
11975
|
-
if (
|
|
11976
|
-
|
|
11977
|
-
return services[serviceId].serviceUrl === serviceUrl;
|
|
11978
|
-
});
|
|
11979
|
-
return foundUrl !== undefined;
|
|
12183
|
+
var onFocusServiceUrl = function onFocusServiceUrl() {
|
|
12184
|
+
if (!errors[fields.serviceUrl.name]) {
|
|
12185
|
+
trigger(fields.serviceUrl.name);
|
|
11980
12186
|
}
|
|
12187
|
+
};
|
|
11981
12188
|
|
|
11982
|
-
|
|
11983
|
-
|
|
11984
|
-
|
|
12189
|
+
var onBlurServiceUrl = function onBlurServiceUrl() {
|
|
12190
|
+
if (!errors[fields.serviceUrl.name]) {
|
|
12191
|
+
fetchServiceData(getValues(fields.serviceUrl.name));
|
|
12192
|
+
}
|
|
12193
|
+
};
|
|
11985
12194
|
|
|
11986
|
-
|
|
11987
|
-
|
|
11988
|
-
|
|
12195
|
+
var onValidateServiceName = function onValidateServiceName(value) {
|
|
12196
|
+
return validateServiceName(value, services, serviceName);
|
|
12197
|
+
};
|
|
11989
12198
|
|
|
11990
|
-
|
|
11991
|
-
|
|
11992
|
-
|
|
11993
|
-
|
|
11994
|
-
|
|
11995
|
-
setServiceNameHelperText('');
|
|
11996
|
-
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12199
|
+
var getFormAreRequiredFieldsEmpty = function getFormAreRequiredFieldsEmpty() {
|
|
12200
|
+
var serviceNameField = watch(fields.serviceName.name);
|
|
12201
|
+
var serviceUrlField = watch(fields.serviceUrl.name);
|
|
12202
|
+
return serviceNameField === '' || serviceNameField === undefined || serviceUrlField === '' || serviceUrlField === undefined;
|
|
12203
|
+
};
|
|
11997
12204
|
|
|
11998
|
-
|
|
12205
|
+
var getFormHasformErrors = function getFormHasformErrors() {
|
|
12206
|
+
var totalErrors = Object.keys(errors).length;
|
|
11999
12207
|
|
|
12000
|
-
|
|
12001
|
-
|
|
12002
|
-
|
|
12003
|
-
|
|
12004
|
-
|
|
12005
|
-
setServiceUrlHelperText('Error: Not a valid URL.');
|
|
12006
|
-
} else if (UrlInRedux()) {
|
|
12007
|
-
setServiceUrlHasError(true);
|
|
12008
|
-
setServiceUrlHelperText('Error: URL already exists.');
|
|
12009
|
-
} else {
|
|
12010
|
-
setServiceUrlHasError(false);
|
|
12011
|
-
setServiceNameHelperText('');
|
|
12012
|
-
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12208
|
+
if (totalErrors > 0) {
|
|
12209
|
+
// prevent SYSTEM error types from blocking the save button
|
|
12210
|
+
if (totalErrors === 1 && errors.serviceUrl) {
|
|
12211
|
+
return errors.serviceUrl.type !== undefined && errors.serviceUrl.type !== 'SYSTEM';
|
|
12212
|
+
}
|
|
12013
12213
|
|
|
12014
|
-
|
|
12214
|
+
return true;
|
|
12215
|
+
}
|
|
12015
12216
|
|
|
12016
|
-
|
|
12017
|
-
if (!serviceNameHasError && !serviceUrlHasError && validateServiceUrl(serviceUrl) && serviceName.length > 0) {
|
|
12018
|
-
setDisableButton(false);
|
|
12019
|
-
} else setDisableButton(true);
|
|
12020
|
-
}, [serviceNameHasError, serviceUrlHasError, serviceName, serviceUrl]);
|
|
12021
|
-
|
|
12022
|
-
var closePopupAndResetState = function closePopupAndResetState() {
|
|
12023
|
-
setServiceName('');
|
|
12024
|
-
setServiceUrl('');
|
|
12025
|
-
setAbstract('');
|
|
12026
|
-
closePopup();
|
|
12217
|
+
return false;
|
|
12027
12218
|
};
|
|
12028
12219
|
|
|
12220
|
+
var isSubmitDisabled = getFormHasformErrors() || getFormAreRequiredFieldsEmpty();
|
|
12221
|
+
React__namespace.useEffect(function () {
|
|
12222
|
+
reset({
|
|
12223
|
+
serviceUrl: serviceUrl,
|
|
12224
|
+
serviceName: serviceName,
|
|
12225
|
+
serviceAbstracts: serviceAbstracts
|
|
12226
|
+
});
|
|
12227
|
+
}, [serviceUrl, serviceName, serviceAbstracts, reset]);
|
|
12228
|
+
var isShowPopup = servicePopupVariant === 'show';
|
|
12229
|
+
var isServiceUrlDisabled = isShowPopup || servicePopupVariant === 'edit';
|
|
12029
12230
|
return /*#__PURE__*/React__namespace.createElement(material.Dialog, {
|
|
12030
12231
|
open: isOpen,
|
|
12031
12232
|
hideBackdrop: hideBackdrop,
|
|
12032
12233
|
fullWidth: true,
|
|
12033
12234
|
maxWidth: "xs",
|
|
12034
12235
|
"data-testid": "servicePopup",
|
|
12035
|
-
sx:
|
|
12236
|
+
sx: {
|
|
12237
|
+
'& .MuiDialog-paper': {
|
|
12238
|
+
backgroundColor: "geowebColors.cards.cardContainer",
|
|
12239
|
+
maxWidth: 458
|
|
12240
|
+
}
|
|
12241
|
+
}
|
|
12242
|
+
}, /*#__PURE__*/React__namespace.createElement("form", {
|
|
12243
|
+
onSubmit: handleSubmit(addNewService)
|
|
12036
12244
|
}, /*#__PURE__*/React__namespace.createElement(material.DialogTitle, {
|
|
12037
|
-
sx:
|
|
12245
|
+
sx: {
|
|
12246
|
+
alignItems: 'center',
|
|
12247
|
+
padding: '16px 16px 24px 16px'
|
|
12248
|
+
}
|
|
12249
|
+
}, /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
12250
|
+
sx: {
|
|
12251
|
+
display: 'flex',
|
|
12252
|
+
justifyContent: 'space-between',
|
|
12253
|
+
alignItems: 'center',
|
|
12254
|
+
' span': {
|
|
12255
|
+
fontSize: '1rem',
|
|
12256
|
+
fontWeight: 500,
|
|
12257
|
+
fontStyle: 'normal',
|
|
12258
|
+
lineHeight: '1.38',
|
|
12259
|
+
letterSpacing: '0.12px'
|
|
12260
|
+
}
|
|
12261
|
+
}
|
|
12038
12262
|
}, /*#__PURE__*/React__namespace.createElement(material.Typography, {
|
|
12039
12263
|
variant: "h5",
|
|
12040
12264
|
component: "span"
|
|
12041
12265
|
}, getTitleForVariant(servicePopupVariant)), /*#__PURE__*/React__namespace.createElement(material.IconButton, {
|
|
12266
|
+
"aria-label": "close",
|
|
12042
12267
|
size: "small",
|
|
12043
|
-
onClick:
|
|
12268
|
+
onClick: closePopup,
|
|
12044
12269
|
"data-testid": "closePopupButtonCross",
|
|
12045
|
-
sx:
|
|
12046
|
-
|
|
12047
|
-
|
|
12048
|
-
|
|
12270
|
+
sx: {
|
|
12271
|
+
color: 'geowebColors.captions.captionDisabled.color',
|
|
12272
|
+
marginTop: 'auto',
|
|
12273
|
+
marginBottom: 'auto'
|
|
12274
|
+
}
|
|
12275
|
+
}, /*#__PURE__*/React__namespace.createElement(theme.Close, null))), isLoading && /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
12276
|
+
sx: {
|
|
12277
|
+
position: 'relative'
|
|
12278
|
+
}
|
|
12279
|
+
}, /*#__PURE__*/React__namespace.createElement(material.LinearProgress, {
|
|
12280
|
+
"data-testid": "loadingIndicator",
|
|
12281
|
+
color: "secondary",
|
|
12282
|
+
sx: {
|
|
12283
|
+
position: 'absolute',
|
|
12284
|
+
width: '100%',
|
|
12285
|
+
top: 8
|
|
12286
|
+
}
|
|
12287
|
+
}))), /*#__PURE__*/React__namespace.createElement(material.DialogContent, {
|
|
12288
|
+
sx: {
|
|
12289
|
+
padding: '8px 16px'
|
|
12290
|
+
}
|
|
12291
|
+
}, /*#__PURE__*/React__namespace.createElement(formFields.ReactHookFormTextField, {
|
|
12292
|
+
name: fields.serviceUrl.name,
|
|
12293
|
+
label: fields.serviceUrl.label,
|
|
12294
|
+
onFocus: onFocusServiceUrl,
|
|
12295
|
+
onBlur: onBlurServiceUrl,
|
|
12049
12296
|
sx: style$1.textField,
|
|
12050
|
-
|
|
12051
|
-
|
|
12052
|
-
|
|
12053
|
-
|
|
12297
|
+
rules: {
|
|
12298
|
+
required: true,
|
|
12299
|
+
validate: __assign({}, !isServiceUrlDisabled && {
|
|
12300
|
+
onValidateServiceUrl: onValidateServiceUrl
|
|
12301
|
+
})
|
|
12054
12302
|
},
|
|
12055
|
-
|
|
12056
|
-
|
|
12057
|
-
|
|
12303
|
+
disabled: isServiceUrlDisabled || isLoading,
|
|
12304
|
+
InputProps: {
|
|
12305
|
+
readOnly: isShowPopup,
|
|
12306
|
+
disableUnderline: isShowPopup,
|
|
12307
|
+
endAdornment: isShowPopup && /*#__PURE__*/React__namespace.createElement(material.InputAdornment, {
|
|
12308
|
+
position: "end"
|
|
12309
|
+
}, /*#__PURE__*/React__namespace.createElement(material.IconButton, {
|
|
12310
|
+
"aria-label": "copy url",
|
|
12311
|
+
onClick: function onClick() {
|
|
12312
|
+
navigator.clipboard.writeText(serviceUrl);
|
|
12313
|
+
showSnackbar(COPY_URL_MESSAGE);
|
|
12314
|
+
}
|
|
12315
|
+
}, /*#__PURE__*/React__namespace.createElement(theme.Copy, null)))
|
|
12058
12316
|
},
|
|
12059
|
-
|
|
12060
|
-
|
|
12061
|
-
|
|
12062
|
-
|
|
12063
|
-
|
|
12064
|
-
|
|
12065
|
-
|
|
12066
|
-
|
|
12067
|
-
|
|
12068
|
-
return setServiceUrl(event.target.value);
|
|
12317
|
+
defaultValue: serviceUrl
|
|
12318
|
+
}), /*#__PURE__*/React__namespace.createElement(formFields.ReactHookFormTextField, {
|
|
12319
|
+
name: fields.serviceName.name,
|
|
12320
|
+
label: fields.serviceName.label,
|
|
12321
|
+
rules: {
|
|
12322
|
+
required: true,
|
|
12323
|
+
validate: {
|
|
12324
|
+
onValidateServiceName: onValidateServiceName
|
|
12325
|
+
}
|
|
12069
12326
|
},
|
|
12070
|
-
|
|
12071
|
-
|
|
12072
|
-
|
|
12073
|
-
|
|
12327
|
+
disabled: isShowPopup || isLoading,
|
|
12328
|
+
InputProps: {
|
|
12329
|
+
readOnly: isShowPopup,
|
|
12330
|
+
disableUnderline: isShowPopup
|
|
12074
12331
|
},
|
|
12075
|
-
error: serviceUrlHasError,
|
|
12076
|
-
helperText: serviceUrlHelperText
|
|
12077
|
-
})), /*#__PURE__*/React__namespace.createElement(material.DialogContent, {
|
|
12078
|
-
sx: style$1.dialogContent
|
|
12079
|
-
}, /*#__PURE__*/React__namespace.createElement(material.TextField, {
|
|
12080
12332
|
sx: style$1.textField,
|
|
12081
|
-
|
|
12333
|
+
defaultValue: serviceName
|
|
12334
|
+
}), /*#__PURE__*/React__namespace.createElement(formFields.ReactHookFormTextField, {
|
|
12082
12335
|
multiline: true,
|
|
12083
12336
|
rows: 4,
|
|
12084
|
-
|
|
12085
|
-
|
|
12086
|
-
|
|
12087
|
-
|
|
12337
|
+
name: fields.serviceAbstracts.name,
|
|
12338
|
+
label: fields.serviceAbstracts.label,
|
|
12339
|
+
disabled: isShowPopup || isLoading,
|
|
12340
|
+
rules: {},
|
|
12341
|
+
InputProps: {
|
|
12342
|
+
readOnly: isShowPopup,
|
|
12343
|
+
disableUnderline: isShowPopup
|
|
12088
12344
|
},
|
|
12089
|
-
|
|
12090
|
-
|
|
12091
|
-
|
|
12345
|
+
helperText: !isShowPopup && 'Short description of what this service does',
|
|
12346
|
+
sx: style$1.textField,
|
|
12347
|
+
defaultValue: ""
|
|
12348
|
+
}), !isServiceUrlDisabled && /*#__PURE__*/React__namespace.createElement(InitialValidationsTrigger, {
|
|
12349
|
+
trigger: trigger,
|
|
12350
|
+
getValues: getValues,
|
|
12351
|
+
onValidField: fetchServiceData
|
|
12092
12352
|
})), /*#__PURE__*/React__namespace.createElement(material.DialogActions, {
|
|
12093
|
-
sx:
|
|
12094
|
-
|
|
12095
|
-
|
|
12353
|
+
sx: {
|
|
12354
|
+
padding: 2
|
|
12355
|
+
}
|
|
12356
|
+
}, isShowPopup ? /*#__PURE__*/React__namespace.createElement(material.Button, {
|
|
12357
|
+
onClick: function onClick() {
|
|
12358
|
+
return closePopup();
|
|
12359
|
+
},
|
|
12360
|
+
variant: "tertiary",
|
|
12361
|
+
sx: {
|
|
12362
|
+
width: '117px'
|
|
12363
|
+
}
|
|
12364
|
+
}, "close") : /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement(material.Button, {
|
|
12365
|
+
onClick: closePopup,
|
|
12096
12366
|
"data-testid": "closePopupButtonCancel",
|
|
12097
12367
|
variant: "tertiary",
|
|
12098
12368
|
sx: {
|
|
12099
12369
|
width: '117px'
|
|
12100
12370
|
}
|
|
12101
|
-
}, "cancel"),
|
|
12371
|
+
}, "cancel"), /*#__PURE__*/React__namespace.createElement(material.Button, {
|
|
12372
|
+
type: "submit",
|
|
12102
12373
|
variant: "primary",
|
|
12103
|
-
disabled:
|
|
12104
|
-
onClick: addNewService,
|
|
12374
|
+
disabled: isSubmitDisabled || isLoading,
|
|
12105
12375
|
"data-testid": "saveServiceButton",
|
|
12106
12376
|
sx: {
|
|
12107
12377
|
width: '117px',
|
|
12108
12378
|
marginLeft: '16px!important'
|
|
12109
12379
|
}
|
|
12110
|
-
}, "save")
|
|
12111
|
-
|
|
12112
|
-
|
|
12113
|
-
|
|
12114
|
-
|
|
12115
|
-
|
|
12116
|
-
|
|
12117
|
-
|
|
12118
|
-
|
|
12119
|
-
}
|
|
12120
|
-
}, /*#__PURE__*/React__namespace.createElement(material.CircularProgress, {
|
|
12121
|
-
size: 35
|
|
12122
|
-
}))));
|
|
12380
|
+
}, "save")))));
|
|
12381
|
+
};
|
|
12382
|
+
|
|
12383
|
+
var ServicePopupWrapper = function ServicePopupWrapper(_a) {
|
|
12384
|
+
var props = __rest(_a, []);
|
|
12385
|
+
|
|
12386
|
+
return /*#__PURE__*/React__namespace.createElement(formFields.ReactHookFormProvider, {
|
|
12387
|
+
options: formFields.defaultFormOptions
|
|
12388
|
+
}, /*#__PURE__*/React__namespace.createElement(ServicePopup, __assign({}, props)));
|
|
12123
12389
|
};
|
|
12124
12390
|
|
|
12125
12391
|
/* *
|
|
@@ -12153,15 +12419,25 @@
|
|
|
12153
12419
|
var serviceSetLayers = React__default["default"].useCallback(function (payload) {
|
|
12154
12420
|
dispatch(serviceActions.serviceSetLayers(payload));
|
|
12155
12421
|
}, [dispatch]);
|
|
12156
|
-
|
|
12422
|
+
var activeService = reactRedux.useSelector(function (store) {
|
|
12423
|
+
return getActiveServiceById(store, serviceId);
|
|
12424
|
+
});
|
|
12425
|
+
var showSnackbar = React__default["default"].useCallback(function (message) {
|
|
12426
|
+
dispatch(snackbarActions.openSnackbar({
|
|
12427
|
+
message: message
|
|
12428
|
+
}));
|
|
12429
|
+
}, [dispatch]);
|
|
12430
|
+
return /*#__PURE__*/React__default["default"].createElement(ServicePopupWrapper, {
|
|
12157
12431
|
servicePopupVariant: servicePopupVariant,
|
|
12158
12432
|
hideBackdrop: hideBackdrop,
|
|
12159
12433
|
isOpen: isOpen,
|
|
12160
12434
|
closePopup: closePopup,
|
|
12161
|
-
serviceId: serviceId,
|
|
12162
12435
|
services: services,
|
|
12163
12436
|
serviceSetLayers: serviceSetLayers,
|
|
12164
|
-
url:
|
|
12437
|
+
serviceUrl: url || (activeService === null || activeService === void 0 ? void 0 : activeService.serviceUrl),
|
|
12438
|
+
serviceName: activeService === null || activeService === void 0 ? void 0 : activeService.serviceName,
|
|
12439
|
+
serviceAbstracts: activeService === null || activeService === void 0 ? void 0 : activeService["abstract"],
|
|
12440
|
+
showSnackbar: showSnackbar
|
|
12165
12441
|
});
|
|
12166
12442
|
};
|
|
12167
12443
|
|
|
@@ -12181,59 +12457,87 @@
|
|
|
12181
12457
|
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12182
12458
|
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
12183
12459
|
* */
|
|
12184
|
-
var isURL = function isURL(string) {
|
|
12185
|
-
return /^https?:\/\//.test(string);
|
|
12186
|
-
};
|
|
12187
12460
|
|
|
12188
|
-
var
|
|
12189
|
-
var
|
|
12190
|
-
|
|
12461
|
+
var SearchField = function SearchField(_a) {
|
|
12462
|
+
var searchFilter = _a.searchFilter,
|
|
12463
|
+
setSearchFilter = _a.setSearchFilter;
|
|
12191
12464
|
|
|
12192
|
-
var _b = __read(
|
|
12193
|
-
|
|
12194
|
-
|
|
12465
|
+
var _b = __read(React__namespace.useState(''), 2),
|
|
12466
|
+
localSearchString = _b[0],
|
|
12467
|
+
setLocalSearchString = _b[1];
|
|
12195
12468
|
|
|
12196
|
-
|
|
12197
|
-
|
|
12198
|
-
|
|
12199
|
-
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12469
|
+
var _c = __read(React__namespace.useState(false), 2),
|
|
12470
|
+
urlIsValid = _c[0],
|
|
12471
|
+
setUrlIsValid = _c[1];
|
|
12200
12472
|
|
|
12201
|
-
|
|
12202
|
-
|
|
12203
|
-
|
|
12204
|
-
|
|
12205
|
-
|
|
12206
|
-
|
|
12207
|
-
|
|
12208
|
-
|
|
12209
|
-
|
|
12210
|
-
|
|
12211
|
-
}
|
|
12212
|
-
|
|
12213
|
-
|
|
12214
|
-
|
|
12473
|
+
var _d = __read(React__namespace.useState(false), 2),
|
|
12474
|
+
popupIsOpen = _d[0],
|
|
12475
|
+
setPopupIsOpen = _d[1]; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12476
|
+
|
|
12477
|
+
|
|
12478
|
+
var setSearchFilterDebounced = React__namespace.useCallback(_.debounce(setSearchFilter, 300), []);
|
|
12479
|
+
|
|
12480
|
+
var handleChange = function handleChange(text) {
|
|
12481
|
+
setLocalSearchString(text);
|
|
12482
|
+
if (!isURL(text)) setSearchFilterDebounced(text);else if (searchFilter) setSearchFilterDebounced('');
|
|
12483
|
+
};
|
|
12484
|
+
|
|
12485
|
+
React__namespace.useEffect(function () {
|
|
12486
|
+
if (isURL(localSearchString)) {
|
|
12487
|
+
setUrlIsValid(true);
|
|
12215
12488
|
}
|
|
12216
|
-
},
|
|
12217
|
-
|
|
12218
|
-
|
|
12219
|
-
|
|
12489
|
+
}, [localSearchString]);
|
|
12490
|
+
React__namespace.useEffect(function () {
|
|
12491
|
+
var keyDownHandler = function keyDownHandler(event) {
|
|
12492
|
+
if (event.key === 'Enter') {
|
|
12493
|
+
event.preventDefault();
|
|
12494
|
+
|
|
12495
|
+
if (urlIsValid) {
|
|
12496
|
+
setPopupIsOpen(true);
|
|
12497
|
+
}
|
|
12498
|
+
}
|
|
12499
|
+
};
|
|
12500
|
+
|
|
12501
|
+
document.addEventListener('keydown', keyDownHandler);
|
|
12502
|
+
return function () {
|
|
12503
|
+
document.removeEventListener('keydown', keyDownHandler);
|
|
12504
|
+
};
|
|
12505
|
+
}, [urlIsValid]); // mirror store unless typing a URL
|
|
12506
|
+
|
|
12507
|
+
React__namespace.useEffect(function () {
|
|
12508
|
+
if (isURL(localSearchString)) return;
|
|
12509
|
+
setLocalSearchString(searchFilter); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12510
|
+
}, [searchFilter]);
|
|
12511
|
+
return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement(material.TextField, {
|
|
12512
|
+
variant: "filled",
|
|
12513
|
+
label: "Search through services or enter a service URL",
|
|
12514
|
+
value: localSearchString,
|
|
12515
|
+
onChange: function onChange(e) {
|
|
12516
|
+
handleChange(e.target.value);
|
|
12517
|
+
},
|
|
12518
|
+
autoFocus: true,
|
|
12519
|
+
fullWidth: true,
|
|
12520
|
+
InputProps: {
|
|
12521
|
+
endAdornment: /*#__PURE__*/React__namespace.createElement(material.InputAdornment, {
|
|
12522
|
+
position: "end"
|
|
12523
|
+
}, /*#__PURE__*/React__namespace.createElement(SearchFieldButtonContainer, {
|
|
12524
|
+
setPopupIsOpen: setPopupIsOpen,
|
|
12525
|
+
localSearchString: localSearchString,
|
|
12526
|
+
onClickClear: function onClickClear() {
|
|
12527
|
+
setLocalSearchString('');
|
|
12528
|
+
setSearchFilterDebounced('');
|
|
12529
|
+
}
|
|
12530
|
+
}))
|
|
12220
12531
|
}
|
|
12221
|
-
}
|
|
12532
|
+
}), /*#__PURE__*/React__namespace.createElement(ServicePopupConnect, {
|
|
12222
12533
|
servicePopupVariant: "save",
|
|
12223
|
-
isOpen:
|
|
12534
|
+
isOpen: popupIsOpen,
|
|
12224
12535
|
closePopup: function closePopup() {
|
|
12225
|
-
|
|
12536
|
+
setPopupIsOpen(false);
|
|
12537
|
+
setLocalSearchString('');
|
|
12226
12538
|
},
|
|
12227
12539
|
url: localSearchString
|
|
12228
12540
|
}));
|
|
12229
|
-
if (localSearchString) return ClearButton;
|
|
12230
|
-
return /*#__PURE__*/React__default["default"].createElement(material.Tooltip, {
|
|
12231
|
-
title: "Search",
|
|
12232
|
-
placement: "top"
|
|
12233
|
-
}, /*#__PURE__*/React__default["default"].createElement(material.IconButton, {
|
|
12234
|
-
edge: "end",
|
|
12235
|
-
size: "large"
|
|
12236
|
-
}, /*#__PURE__*/React__default["default"].createElement(theme.Search, null)));
|
|
12237
12541
|
};
|
|
12238
12542
|
|
|
12239
12543
|
/* *
|
|
@@ -12253,48 +12557,232 @@
|
|
|
12253
12557
|
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
12254
12558
|
* */
|
|
12255
12559
|
|
|
12256
|
-
var
|
|
12257
|
-
var
|
|
12258
|
-
|
|
12560
|
+
var SearchFieldConnect = function SearchFieldConnect() {
|
|
12561
|
+
var dispatch = reactRedux.useDispatch();
|
|
12562
|
+
var searchFilter = reactRedux.useSelector(function (store) {
|
|
12563
|
+
return getSearchFilter(store);
|
|
12564
|
+
});
|
|
12565
|
+
return /*#__PURE__*/React__namespace.createElement(SearchField, {
|
|
12566
|
+
setSearchFilter: function setSearchFilter(filterText) {
|
|
12567
|
+
dispatch(layerSelectActions.setSearchFilter({
|
|
12568
|
+
filterText: filterText
|
|
12569
|
+
}));
|
|
12570
|
+
},
|
|
12571
|
+
searchFilter: searchFilter
|
|
12572
|
+
});
|
|
12573
|
+
};
|
|
12259
12574
|
|
|
12260
|
-
|
|
12261
|
-
|
|
12262
|
-
|
|
12575
|
+
/* *
|
|
12576
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12577
|
+
* you may not use this file except in compliance with the License.
|
|
12578
|
+
* You may obtain a copy of the License at
|
|
12579
|
+
*
|
|
12580
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12581
|
+
*
|
|
12582
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12583
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12584
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12585
|
+
* See the License for the specific language governing permissions and
|
|
12586
|
+
* limitations under the License.
|
|
12587
|
+
*
|
|
12588
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12589
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
12590
|
+
* */
|
|
12591
|
+
var filterLayersFromService = function filterLayersFromService(serviceId, services, filterIds, allFiltersActive, searchString) {
|
|
12592
|
+
var mapStoreService = services[serviceId];
|
|
12593
|
+
if (!mapStoreService) return [];
|
|
12263
12594
|
|
|
12595
|
+
if (searchString === '' && allFiltersActive) {
|
|
12596
|
+
return mapStoreService.layers.filter(function (layer) {
|
|
12597
|
+
return layer.leaf;
|
|
12598
|
+
});
|
|
12599
|
+
}
|
|
12264
12600
|
|
|
12265
|
-
|
|
12266
|
-
|
|
12267
|
-
|
|
12268
|
-
|
|
12601
|
+
var searchStringArray = searchString.split(' ');
|
|
12602
|
+
return mapStoreService.layers.filter(function (layer) {
|
|
12603
|
+
return searchStringArray.every(function (search) {
|
|
12604
|
+
var _a, _b, _c;
|
|
12269
12605
|
|
|
12270
|
-
|
|
12606
|
+
var searchLowercase = search.toLowerCase();
|
|
12607
|
+
var layerFilterIds = layer.path.map(function (group) {
|
|
12608
|
+
return "group-" + group;
|
|
12609
|
+
}).concat(layer.keywords.map(function (keyword) {
|
|
12610
|
+
return "keyword-" + keyword;
|
|
12611
|
+
}));
|
|
12612
|
+
var isFilterInLayer = (layerFilterIds === null || layerFilterIds === void 0 ? void 0 : layerFilterIds.some(function (id) {
|
|
12613
|
+
return filterIds.includes(id);
|
|
12614
|
+
})) || allFiltersActive;
|
|
12615
|
+
var isSearchTextInLayerFilter = layerFilterIds === null || layerFilterIds === void 0 ? void 0 : layerFilterIds.some(function (filterId) {
|
|
12616
|
+
return filterId.toLowerCase().includes(searchLowercase);
|
|
12617
|
+
});
|
|
12618
|
+
var isSearchTextInLayerName = (_a = layer.name) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(searchLowercase);
|
|
12619
|
+
var isSearchTextInLayerText = (_b = layer.text) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes(searchLowercase);
|
|
12620
|
+
var isSearchTextInLayerAbstract = (_c = layer["abstract"]) === null || _c === void 0 ? void 0 : _c.toLowerCase().includes(searchLowercase);
|
|
12621
|
+
var isSearchTextInServiceName = mapStoreService.name.toLowerCase().includes(searchLowercase);
|
|
12622
|
+
var isSearchTextInLayer = isSearchTextInLayerName || isSearchTextInLayerText || isSearchTextInLayerAbstract || isSearchTextInLayerFilter || isSearchTextInServiceName;
|
|
12623
|
+
return isFilterInLayer && isSearchTextInLayer;
|
|
12624
|
+
});
|
|
12625
|
+
}).filter(function (layer) {
|
|
12626
|
+
return layer.leaf;
|
|
12627
|
+
});
|
|
12628
|
+
};
|
|
12271
12629
|
|
|
12272
|
-
|
|
12273
|
-
|
|
12274
|
-
|
|
12630
|
+
/* *
|
|
12631
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12632
|
+
* you may not use this file except in compliance with the License.
|
|
12633
|
+
* You may obtain a copy of the License at
|
|
12634
|
+
*
|
|
12635
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12636
|
+
*
|
|
12637
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12638
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12639
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12640
|
+
* See the License for the specific language governing permissions and
|
|
12641
|
+
* limitations under the License.
|
|
12642
|
+
*
|
|
12643
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12644
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
12645
|
+
* */
|
|
12646
|
+
|
|
12647
|
+
var LayerAddRemoveButton = function LayerAddRemoveButton(_a) {
|
|
12648
|
+
var layer = _a.layer,
|
|
12649
|
+
layerIndex = _a.layerIndex,
|
|
12650
|
+
serviceUrl = _a.serviceUrl,
|
|
12651
|
+
addLayer = _a.addLayer,
|
|
12652
|
+
deleteLayer = _a.deleteLayer,
|
|
12653
|
+
mapLayers = _a.mapLayers;
|
|
12654
|
+
var foundLayer = mapLayers.find(function (lr) {
|
|
12655
|
+
return lr.name === layer.name && lr.service === serviceUrl;
|
|
12656
|
+
});
|
|
12657
|
+
return /*#__PURE__*/React__namespace.createElement(shared.CustomToggleButton, {
|
|
12658
|
+
"data-testid": "layerAddRemoveButton-" + layer.name,
|
|
12659
|
+
onClick: function onClick() {
|
|
12660
|
+
!foundLayer ? addLayer({
|
|
12661
|
+
serviceUrl: serviceUrl,
|
|
12662
|
+
layerName: layer.name
|
|
12663
|
+
}) : deleteLayer({
|
|
12664
|
+
layerId: foundLayer.id,
|
|
12665
|
+
layerIndex: layerIndex
|
|
12666
|
+
});
|
|
12667
|
+
},
|
|
12668
|
+
selected: !!foundLayer,
|
|
12669
|
+
variant: "tool",
|
|
12670
|
+
fullWidth: true,
|
|
12671
|
+
sx: {
|
|
12672
|
+
fontSize: '12px'
|
|
12673
|
+
}
|
|
12674
|
+
}, !foundLayer ? 'Add' : 'Remove');
|
|
12675
|
+
};
|
|
12676
|
+
|
|
12677
|
+
/* *
|
|
12678
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12679
|
+
* you may not use this file except in compliance with the License.
|
|
12680
|
+
* You may obtain a copy of the License at
|
|
12681
|
+
*
|
|
12682
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12683
|
+
*
|
|
12684
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12685
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12686
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12687
|
+
* See the License for the specific language governing permissions and
|
|
12688
|
+
* limitations under the License.
|
|
12689
|
+
*
|
|
12690
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12691
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
12692
|
+
* */
|
|
12693
|
+
|
|
12694
|
+
var LayerInfoButtonConnect = function LayerInfoButtonConnect(_a) {
|
|
12695
|
+
var layer = _a.layer,
|
|
12696
|
+
mapId = _a.mapId,
|
|
12697
|
+
serviceName = _a.serviceName,
|
|
12698
|
+
_b = _a.source,
|
|
12699
|
+
source = _b === void 0 ? 'app' : _b;
|
|
12700
|
+
var dispatch = reactRedux.useDispatch();
|
|
12701
|
+
var currentActiveMapId = reactRedux.useSelector(function (store) {
|
|
12702
|
+
return getDialogMapId(store, DialogTypes.LayerInfo);
|
|
12703
|
+
});
|
|
12704
|
+
var isOpenInStore = reactRedux.useSelector(function (store) {
|
|
12705
|
+
return getisDialogOpen(store, DialogTypes.LayerInfo);
|
|
12706
|
+
});
|
|
12707
|
+
var currentLayerInfo = reactRedux.useSelector(function (store) {
|
|
12708
|
+
return getActiveLayerInfo(store);
|
|
12709
|
+
});
|
|
12710
|
+
var isActive = layer.name === (currentLayerInfo === null || currentLayerInfo === void 0 ? void 0 : currentLayerInfo.name) && serviceName === (currentLayerInfo === null || currentLayerInfo === void 0 ? void 0 : currentLayerInfo.serviceName);
|
|
12711
|
+
var toggleInfoDialog = React__default["default"].useCallback(function () {
|
|
12712
|
+
dispatch(uiActions.setActiveMapIdForDialog({
|
|
12713
|
+
type: DialogTypes.LayerInfo,
|
|
12714
|
+
mapId: mapId,
|
|
12715
|
+
setOpen: currentActiveMapId !== mapId ? true : !isOpenInStore,
|
|
12716
|
+
source: source
|
|
12717
|
+
}));
|
|
12718
|
+
}, [currentActiveMapId, dispatch, isOpenInStore, mapId, source]);
|
|
12719
|
+
var setActiveLayerInfo = React__default["default"].useCallback(function () {
|
|
12720
|
+
dispatch(layerSelectActions.setActiveLayerInfo({
|
|
12721
|
+
layer: __assign(__assign({}, layer), {
|
|
12722
|
+
serviceName: serviceName
|
|
12723
|
+
})
|
|
12724
|
+
}));
|
|
12725
|
+
}, [dispatch, layer, serviceName]);
|
|
12726
|
+
|
|
12727
|
+
var onClick = function onClick() {
|
|
12728
|
+
if (isActive) {
|
|
12729
|
+
toggleInfoDialog();
|
|
12730
|
+
}
|
|
12731
|
+
|
|
12732
|
+
if (!isActive && isOpenInStore) {
|
|
12733
|
+
setActiveLayerInfo();
|
|
12734
|
+
}
|
|
12735
|
+
|
|
12736
|
+
if (!isActive && !isOpenInStore) {
|
|
12737
|
+
setActiveLayerInfo();
|
|
12738
|
+
toggleInfoDialog();
|
|
12739
|
+
}
|
|
12275
12740
|
};
|
|
12276
12741
|
|
|
12277
|
-
return /*#__PURE__*/
|
|
12278
|
-
variant: "
|
|
12279
|
-
|
|
12280
|
-
|
|
12281
|
-
|
|
12282
|
-
|
|
12283
|
-
|
|
12284
|
-
|
|
12285
|
-
|
|
12286
|
-
|
|
12287
|
-
|
|
12288
|
-
|
|
12289
|
-
|
|
12290
|
-
|
|
12291
|
-
|
|
12292
|
-
|
|
12293
|
-
|
|
12294
|
-
|
|
12295
|
-
|
|
12296
|
-
|
|
12297
|
-
|
|
12742
|
+
return /*#__PURE__*/React__default["default"].createElement(shared.ToolButton, {
|
|
12743
|
+
variant: "icon",
|
|
12744
|
+
active: isActive && isOpenInStore,
|
|
12745
|
+
onClick: onClick,
|
|
12746
|
+
id: "layerInfoButton",
|
|
12747
|
+
"aria-label": "layer info"
|
|
12748
|
+
}, /*#__PURE__*/React__default["default"].createElement(theme.Info, null));
|
|
12749
|
+
};
|
|
12750
|
+
|
|
12751
|
+
/* *
|
|
12752
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12753
|
+
* you may not use this file except in compliance with the License.
|
|
12754
|
+
* You may obtain a copy of the License at
|
|
12755
|
+
*
|
|
12756
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12757
|
+
*
|
|
12758
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12759
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12760
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12761
|
+
* See the License for the specific language governing permissions and
|
|
12762
|
+
* limitations under the License.
|
|
12763
|
+
*
|
|
12764
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12765
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
12766
|
+
* */
|
|
12767
|
+
var textStyle$1 = {
|
|
12768
|
+
lineHeight: '20px',
|
|
12769
|
+
letterSpacing: '0.25px'
|
|
12770
|
+
};
|
|
12771
|
+
|
|
12772
|
+
var textStyleWithMargin = __assign(__assign({}, textStyle$1), {
|
|
12773
|
+
marginBottom: 1
|
|
12774
|
+
});
|
|
12775
|
+
|
|
12776
|
+
var LayerInfoText = function LayerInfoText(_a) {
|
|
12777
|
+
var label = _a.label,
|
|
12778
|
+
value = _a.value;
|
|
12779
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
12780
|
+
variant: "subtitle2",
|
|
12781
|
+
sx: textStyle$1
|
|
12782
|
+
}, label), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
12783
|
+
variant: "body2",
|
|
12784
|
+
sx: textStyleWithMargin
|
|
12785
|
+
}, value));
|
|
12298
12786
|
};
|
|
12299
12787
|
|
|
12300
12788
|
/* *
|
|
@@ -12310,23 +12798,55 @@
|
|
|
12310
12798
|
* See the License for the specific language governing permissions and
|
|
12311
12799
|
* limitations under the License.
|
|
12312
12800
|
*
|
|
12313
|
-
* Copyright
|
|
12314
|
-
* Copyright
|
|
12801
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12802
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
12315
12803
|
* */
|
|
12804
|
+
var textStyle = {
|
|
12805
|
+
lineHeight: '20px',
|
|
12806
|
+
letterSpacing: '0.25px'
|
|
12807
|
+
};
|
|
12316
12808
|
|
|
12317
|
-
var
|
|
12318
|
-
|
|
12319
|
-
|
|
12320
|
-
|
|
12321
|
-
|
|
12322
|
-
|
|
12323
|
-
|
|
12324
|
-
|
|
12325
|
-
|
|
12326
|
-
|
|
12327
|
-
|
|
12328
|
-
|
|
12329
|
-
|
|
12809
|
+
var valueStyle = __assign(__assign({}, textStyle), {
|
|
12810
|
+
overflowWrap: 'break-word'
|
|
12811
|
+
});
|
|
12812
|
+
|
|
12813
|
+
var LayerInfoList = function LayerInfoList(_a) {
|
|
12814
|
+
var label = _a.label,
|
|
12815
|
+
list = _a.list;
|
|
12816
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
12817
|
+
variant: "subtitle2",
|
|
12818
|
+
sx: textStyle
|
|
12819
|
+
}, label), /*#__PURE__*/React__default["default"].createElement(Grid__default["default"], {
|
|
12820
|
+
container: true,
|
|
12821
|
+
direction: "column"
|
|
12822
|
+
}, list.map(function (item) {
|
|
12823
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
12824
|
+
key: item.name
|
|
12825
|
+
}, /*#__PURE__*/React__default["default"].createElement(Grid__default["default"], {
|
|
12826
|
+
item: true,
|
|
12827
|
+
container: true,
|
|
12828
|
+
direction: "row"
|
|
12829
|
+
}, item.icon, /*#__PURE__*/React__default["default"].createElement(Grid__default["default"], {
|
|
12830
|
+
item: true,
|
|
12831
|
+
sx: {
|
|
12832
|
+
marginLeft: '10px'
|
|
12833
|
+
}
|
|
12834
|
+
}, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
12835
|
+
variant: "body2",
|
|
12836
|
+
sx: textStyle
|
|
12837
|
+
}, item.name, ":"))), /*#__PURE__*/React__default["default"].createElement(Grid__default["default"], {
|
|
12838
|
+
item: true,
|
|
12839
|
+
container: true,
|
|
12840
|
+
direction: "row",
|
|
12841
|
+
sx: {
|
|
12842
|
+
marginBottom: 1,
|
|
12843
|
+
paddingLeft: '34px'
|
|
12844
|
+
}
|
|
12845
|
+
}, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
12846
|
+
variant: "body2",
|
|
12847
|
+
sx: valueStyle
|
|
12848
|
+
}, item.value)));
|
|
12849
|
+
})));
|
|
12330
12850
|
};
|
|
12331
12851
|
|
|
12332
12852
|
/* *
|
|
@@ -12342,32 +12862,49 @@
|
|
|
12342
12862
|
* See the License for the specific language governing permissions and
|
|
12343
12863
|
* limitations under the License.
|
|
12344
12864
|
*
|
|
12345
|
-
* Copyright
|
|
12346
|
-
* Copyright
|
|
12865
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12866
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
12347
12867
|
* */
|
|
12348
|
-
var
|
|
12349
|
-
|
|
12350
|
-
|
|
12868
|
+
var getLayerStyles = function getLayerStyles(layer) {
|
|
12869
|
+
if (!layer.styles) {
|
|
12870
|
+
return '-';
|
|
12871
|
+
}
|
|
12351
12872
|
|
|
12352
|
-
|
|
12353
|
-
return
|
|
12354
|
-
|
|
12355
|
-
|
|
12873
|
+
var styles = layer.styles.map(function (style) {
|
|
12874
|
+
return style.title;
|
|
12875
|
+
});
|
|
12876
|
+
|
|
12877
|
+
if (!styles.length) {
|
|
12878
|
+
return '-';
|
|
12356
12879
|
}
|
|
12357
12880
|
|
|
12358
|
-
|
|
12359
|
-
|
|
12360
|
-
|
|
12361
|
-
|
|
12362
|
-
|
|
12363
|
-
|
|
12364
|
-
|
|
12365
|
-
|
|
12366
|
-
|
|
12367
|
-
|
|
12368
|
-
|
|
12369
|
-
return layer.leaf;
|
|
12881
|
+
return styles.join(', ');
|
|
12882
|
+
};
|
|
12883
|
+
var getDimensionValue = function getDimensionValue(name, layer, breakAt, includeUnit) {
|
|
12884
|
+
var _a;
|
|
12885
|
+
|
|
12886
|
+
if (includeUnit === void 0) {
|
|
12887
|
+
includeUnit = false;
|
|
12888
|
+
}
|
|
12889
|
+
|
|
12890
|
+
var dimension = (_a = layer.dimensions) === null || _a === void 0 ? void 0 : _a.find(function (dimension) {
|
|
12891
|
+
return dimension.name.toLowerCase() === name;
|
|
12370
12892
|
});
|
|
12893
|
+
|
|
12894
|
+
if (!dimension) {
|
|
12895
|
+
return '-';
|
|
12896
|
+
}
|
|
12897
|
+
|
|
12898
|
+
var dimValue = dimension === null || dimension === void 0 ? void 0 : dimension.currentValue.split(breakAt).join(breakAt + " ");
|
|
12899
|
+
|
|
12900
|
+
if (includeUnit) {
|
|
12901
|
+
return dimValue + " " + dimension.units;
|
|
12902
|
+
}
|
|
12903
|
+
|
|
12904
|
+
return dimValue;
|
|
12905
|
+
};
|
|
12906
|
+
var getLayerBbox = function getLayerBbox(layer) {
|
|
12907
|
+
return layer.geographicBoundingBox ? "west " + layer.geographicBoundingBox.west + ", east " + layer.geographicBoundingBox.east + ", north " + layer.geographicBoundingBox.north + ", south " + layer.geographicBoundingBox.south : '-';
|
|
12371
12908
|
};
|
|
12372
12909
|
|
|
12373
12910
|
/* *
|
|
@@ -12387,31 +12924,88 @@
|
|
|
12387
12924
|
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
12388
12925
|
* */
|
|
12389
12926
|
|
|
12390
|
-
var
|
|
12391
|
-
var
|
|
12392
|
-
|
|
12393
|
-
|
|
12394
|
-
|
|
12395
|
-
|
|
12396
|
-
|
|
12397
|
-
|
|
12398
|
-
|
|
12399
|
-
|
|
12400
|
-
|
|
12401
|
-
|
|
12402
|
-
|
|
12403
|
-
|
|
12404
|
-
|
|
12405
|
-
|
|
12406
|
-
|
|
12407
|
-
|
|
12408
|
-
|
|
12409
|
-
|
|
12927
|
+
var LayerInfoDialog = function LayerInfoDialog(_a) {
|
|
12928
|
+
var _b;
|
|
12929
|
+
|
|
12930
|
+
var onClose = _a.onClose,
|
|
12931
|
+
layer = _a.layer,
|
|
12932
|
+
isOpen = _a.isOpen,
|
|
12933
|
+
_c = _a.onMouseDown,
|
|
12934
|
+
onMouseDown = _c === void 0 ? function () {} : _c,
|
|
12935
|
+
_d = _a.order,
|
|
12936
|
+
order = _d === void 0 ? 0 : _d,
|
|
12937
|
+
_e = _a.source,
|
|
12938
|
+
source = _e === void 0 ? 'app' : _e,
|
|
12939
|
+
dialogHeight = _a.dialogHeight;
|
|
12940
|
+
var styles = getLayerStyles(layer);
|
|
12941
|
+
var bbox = getLayerBbox(layer);
|
|
12942
|
+
var timeValue = getDimensionValue('time', layer, '/');
|
|
12943
|
+
var refTimeValue = getDimensionValue('reference_time', layer, ',');
|
|
12944
|
+
var elevationValue = getDimensionValue('elevation', layer, ',', true);
|
|
12945
|
+
return /*#__PURE__*/React__default["default"].createElement(shared.ToolContainerDraggable, {
|
|
12946
|
+
onClose: onClose,
|
|
12947
|
+
headerSize: "xs",
|
|
12948
|
+
startSize: {
|
|
12949
|
+
width: 288,
|
|
12950
|
+
height: dialogHeight || 650
|
|
12410
12951
|
},
|
|
12411
|
-
|
|
12412
|
-
|
|
12413
|
-
|
|
12414
|
-
|
|
12952
|
+
startPosition: {
|
|
12953
|
+
top: 150,
|
|
12954
|
+
left: 900
|
|
12955
|
+
},
|
|
12956
|
+
title: "Layer Info",
|
|
12957
|
+
isOpen: isOpen,
|
|
12958
|
+
onMouseDown: onMouseDown,
|
|
12959
|
+
order: order,
|
|
12960
|
+
source: source
|
|
12961
|
+
}, /*#__PURE__*/React__default["default"].createElement(Box__default["default"], {
|
|
12962
|
+
sx: {
|
|
12963
|
+
padding: 2
|
|
12964
|
+
}
|
|
12965
|
+
}, /*#__PURE__*/React__default["default"].createElement(LayerInfoText, {
|
|
12966
|
+
label: "Title",
|
|
12967
|
+
value: layer.text
|
|
12968
|
+
}), /*#__PURE__*/React__default["default"].createElement(LayerInfoText, {
|
|
12969
|
+
label: "Name",
|
|
12970
|
+
value: layer.name
|
|
12971
|
+
}), /*#__PURE__*/React__default["default"].createElement(LayerInfoText, {
|
|
12972
|
+
label: "Service",
|
|
12973
|
+
value: layer.serviceName
|
|
12974
|
+
}), /*#__PURE__*/React__default["default"].createElement(LayerInfoText, {
|
|
12975
|
+
label: "Abstract",
|
|
12976
|
+
value: layer["abstract"] || '-'
|
|
12977
|
+
}), /*#__PURE__*/React__default["default"].createElement(LayerInfoList, {
|
|
12978
|
+
label: "Dimensions",
|
|
12979
|
+
list: [{
|
|
12980
|
+
name: 'Time',
|
|
12981
|
+
value: timeValue,
|
|
12982
|
+
icon: /*#__PURE__*/React__default["default"].createElement(theme.DimensionsTime, null)
|
|
12983
|
+
}, {
|
|
12984
|
+
name: 'Reference Time',
|
|
12985
|
+
value: refTimeValue,
|
|
12986
|
+
icon: /*#__PURE__*/React__default["default"].createElement(theme.DimensionsRefTime, null)
|
|
12987
|
+
}, {
|
|
12988
|
+
name: 'Elevation',
|
|
12989
|
+
value: elevationValue,
|
|
12990
|
+
icon: /*#__PURE__*/React__default["default"].createElement(theme.DimensionsElevation, null)
|
|
12991
|
+
}, {
|
|
12992
|
+
name: 'Other dimensions',
|
|
12993
|
+
value: '-',
|
|
12994
|
+
icon: /*#__PURE__*/React__default["default"].createElement(theme.DimensionsOther, null)
|
|
12995
|
+
}]
|
|
12996
|
+
}), /*#__PURE__*/React__default["default"].createElement(LayerInfoText, {
|
|
12997
|
+
label: "Styles",
|
|
12998
|
+
value: styles
|
|
12999
|
+
}), /*#__PURE__*/React__default["default"].createElement(LayerInfoText, {
|
|
13000
|
+
label: "Bounding Box",
|
|
13001
|
+
value: bbox
|
|
13002
|
+
}), /*#__PURE__*/React__default["default"].createElement(LayerInfoText, {
|
|
13003
|
+
label: "Groups",
|
|
13004
|
+
value: layer.path.join('/') || '-'
|
|
13005
|
+
}), /*#__PURE__*/React__default["default"].createElement(LayerInfoText, {
|
|
13006
|
+
label: "Keywords",
|
|
13007
|
+
value: ((_b = layer.keywords) === null || _b === void 0 ? void 0 : _b.join(', ')) || '-'
|
|
13008
|
+
})));
|
|
12415
13009
|
};
|
|
12416
13010
|
|
|
12417
13011
|
/* *
|
|
@@ -12430,15 +13024,23 @@
|
|
|
12430
13024
|
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12431
13025
|
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
12432
13026
|
* */
|
|
13027
|
+
var layerInfoStyle = {
|
|
13028
|
+
fontSize: '10px',
|
|
13029
|
+
textOverflow: 'ellipsis',
|
|
13030
|
+
overflow: 'hidden',
|
|
13031
|
+
whiteSpace: 'nowrap'
|
|
13032
|
+
};
|
|
12433
13033
|
|
|
12434
13034
|
var LayerListRow = function LayerListRow(_a) {
|
|
13035
|
+
var _b, _c, _d;
|
|
13036
|
+
|
|
12435
13037
|
var layer = _a.layer,
|
|
12436
13038
|
layerIndex = _a.layerIndex,
|
|
12437
13039
|
service = _a.service,
|
|
12438
|
-
serviceUrl = _a.serviceUrl,
|
|
12439
13040
|
addLayer = _a.addLayer,
|
|
12440
13041
|
deleteLayer = _a.deleteLayer,
|
|
12441
|
-
mapLayers = _a.mapLayers
|
|
13042
|
+
mapLayers = _a.mapLayers,
|
|
13043
|
+
mapId = _a.mapId;
|
|
12442
13044
|
return /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
12443
13045
|
"data-testid": "layerListLayerRow",
|
|
12444
13046
|
container: true,
|
|
@@ -12448,9 +13050,9 @@
|
|
|
12448
13050
|
alignItems: "center",
|
|
12449
13051
|
sx: {
|
|
12450
13052
|
backgroundColor: 'geowebColors.cards.cardContainer',
|
|
12451
|
-
|
|
13053
|
+
padding: '8px',
|
|
12452
13054
|
marginBottom: '4px',
|
|
12453
|
-
height: '
|
|
13055
|
+
height: '68px',
|
|
12454
13056
|
border: 'solid 1px',
|
|
12455
13057
|
borderColor: 'geowebColors.cards.cardContainerBorder'
|
|
12456
13058
|
}
|
|
@@ -12465,8 +13067,8 @@
|
|
|
12465
13067
|
}, /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
12466
13068
|
sx: {
|
|
12467
13069
|
fontSize: '12px',
|
|
12468
|
-
height: '
|
|
12469
|
-
lineHeight: '
|
|
13070
|
+
height: '14px',
|
|
13071
|
+
lineHeight: '14px',
|
|
12470
13072
|
fontWeight: 500,
|
|
12471
13073
|
WebkitLineClamp: 1,
|
|
12472
13074
|
display: '-webkit-box',
|
|
@@ -12477,34 +13079,50 @@
|
|
|
12477
13079
|
}, layer.text)), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
12478
13080
|
container: true,
|
|
12479
13081
|
item: true,
|
|
12480
|
-
xs: 4
|
|
13082
|
+
xs: 4,
|
|
13083
|
+
direction: "column"
|
|
12481
13084
|
}, /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
12482
13085
|
sx: {
|
|
12483
13086
|
fontSize: '12px',
|
|
12484
|
-
height: '
|
|
12485
|
-
lineHeight: '
|
|
13087
|
+
height: '18px',
|
|
13088
|
+
lineHeight: '18px',
|
|
12486
13089
|
WebkitLineClamp: 1,
|
|
12487
13090
|
display: '-webkit-box',
|
|
12488
13091
|
WebkitBoxOrient: 'vertical',
|
|
12489
13092
|
textOverflow: 'ellipsis',
|
|
12490
13093
|
overflow: 'hidden'
|
|
12491
13094
|
}
|
|
12492
|
-
}, service.name)
|
|
13095
|
+
}, service.name), /*#__PURE__*/React__default["default"].createElement(LayerInfoButtonConnect, {
|
|
13096
|
+
layer: layer,
|
|
13097
|
+
mapId: mapId,
|
|
13098
|
+
serviceName: service.name
|
|
13099
|
+
})), layer["abstract"] || ((_b = layer.keywords) === null || _b === void 0 ? void 0 : _b.length) || layer.path.length ? /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
12493
13100
|
"data-testid": "layerAbstract",
|
|
12494
13101
|
container: true,
|
|
12495
13102
|
item: true,
|
|
12496
13103
|
xs: 8,
|
|
12497
13104
|
sx: {
|
|
12498
|
-
|
|
12499
|
-
height: '30px',
|
|
13105
|
+
height: '45px',
|
|
12500
13106
|
paddingLeft: '20px',
|
|
12501
13107
|
WebkitLineClamp: 2,
|
|
12502
13108
|
display: '-webkit-box',
|
|
12503
|
-
WebkitBoxOrient: 'vertical'
|
|
12504
|
-
textOverflow: 'ellipsis',
|
|
12505
|
-
overflow: 'hidden'
|
|
13109
|
+
WebkitBoxOrient: 'vertical'
|
|
12506
13110
|
}
|
|
12507
|
-
}, layer["abstract"]
|
|
13111
|
+
}, layer["abstract"] && /*#__PURE__*/React__default["default"].createElement(material.Typography, {
|
|
13112
|
+
sx: __assign(__assign({}, layerInfoStyle), {
|
|
13113
|
+
height: 15
|
|
13114
|
+
})
|
|
13115
|
+
}, layer["abstract"]), layer.path.length > 0 && /*#__PURE__*/React__default["default"].createElement(material.Typography, {
|
|
13116
|
+
sx: __assign(__assign({}, layerInfoStyle), {
|
|
13117
|
+
height: ((_c = layer.keywords) === null || _c === void 0 ? void 0 : _c.length) ? 15 : 30
|
|
13118
|
+
})
|
|
13119
|
+
}, "Groups: ", layer.path.join(' / ')), ((_d = layer.keywords) === null || _d === void 0 ? void 0 : _d.length) > 0 && /*#__PURE__*/React__default["default"].createElement(material.Typography, {
|
|
13120
|
+
sx: __assign(__assign({}, layerInfoStyle), {
|
|
13121
|
+
height: layer.path.length ? 15 : 30
|
|
13122
|
+
})
|
|
13123
|
+
}, "Keywords:", ' ', layer.keywords.slice().sort(function (a, b) {
|
|
13124
|
+
return a.localeCompare(b);
|
|
13125
|
+
}).join(', '))) : null), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
12508
13126
|
container: true,
|
|
12509
13127
|
item: true,
|
|
12510
13128
|
xs: 2,
|
|
@@ -12514,13 +13132,12 @@
|
|
|
12514
13132
|
sx: {
|
|
12515
13133
|
width: '80px',
|
|
12516
13134
|
height: '48px',
|
|
12517
|
-
marginRight: '8px'
|
|
12518
|
-
paddingTop: '4px'
|
|
13135
|
+
marginRight: '8px'
|
|
12519
13136
|
}
|
|
12520
13137
|
}, /*#__PURE__*/React__default["default"].createElement(LayerAddRemoveButton, {
|
|
12521
13138
|
layer: layer,
|
|
12522
13139
|
layerIndex: layerIndex,
|
|
12523
|
-
serviceUrl: serviceUrl,
|
|
13140
|
+
serviceUrl: service.serviceUrl,
|
|
12524
13141
|
addLayer: addLayer,
|
|
12525
13142
|
deleteLayer: deleteLayer,
|
|
12526
13143
|
mapLayers: mapLayers
|
|
@@ -12548,13 +13165,15 @@
|
|
|
12548
13165
|
var services = _a.services,
|
|
12549
13166
|
serviceIds = _a.serviceIds,
|
|
12550
13167
|
layerSelectHeight = _a.layerSelectHeight,
|
|
13168
|
+
serviceListHeight = _a.serviceListHeight,
|
|
12551
13169
|
addLayer = _a.addLayer,
|
|
12552
13170
|
deleteLayer = _a.deleteLayer,
|
|
12553
13171
|
searchString = _a.searchString,
|
|
12554
13172
|
mapLayers = _a.mapLayers,
|
|
12555
|
-
|
|
12556
|
-
|
|
12557
|
-
|
|
13173
|
+
filterIds = _a.filterIds,
|
|
13174
|
+
allFiltersActive = _a.allFiltersActive,
|
|
13175
|
+
mapId = _a.mapId;
|
|
13176
|
+
var layerSelectFilterHeight = 155 + serviceListHeight;
|
|
12558
13177
|
|
|
12559
13178
|
var _b = __read(React__namespace.useState(0), 2),
|
|
12560
13179
|
numberOfLayers = _b[0],
|
|
@@ -12566,16 +13185,16 @@
|
|
|
12566
13185
|
|
|
12567
13186
|
React__namespace.useEffect(function () {
|
|
12568
13187
|
setNumberOfLayers(serviceIds.reduce(function (totalNumberOfLayers, serviceId) {
|
|
12569
|
-
return totalNumberOfLayers + filterLayersFromService(serviceId, services,
|
|
13188
|
+
return totalNumberOfLayers + filterLayersFromService(serviceId, services, filterIds, allFiltersActive, searchString).length;
|
|
12570
13189
|
}, 0));
|
|
12571
13190
|
setLayersFilteredFromService(serviceIds.reduce(function (layerList, serviceId) {
|
|
12572
|
-
return layerList.concat(filterLayersFromService(serviceId, services,
|
|
13191
|
+
return layerList.concat(filterLayersFromService(serviceId, services, filterIds, allFiltersActive, searchString).map(function (layer) {
|
|
12573
13192
|
return __assign(__assign({}, layer), {
|
|
12574
13193
|
serviceId: serviceId
|
|
12575
13194
|
});
|
|
12576
13195
|
}));
|
|
12577
13196
|
}, []));
|
|
12578
|
-
}, [serviceIds,
|
|
13197
|
+
}, [serviceIds, filterIds, services, searchString, allFiltersActive]);
|
|
12579
13198
|
return /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
12580
13199
|
"data-testid": "layerList"
|
|
12581
13200
|
}, /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
@@ -12586,21 +13205,21 @@
|
|
|
12586
13205
|
}, numberOfLayers, " results"), /*#__PURE__*/React__namespace.createElement(reactWindow.FixedSizeList, {
|
|
12587
13206
|
height: layerSelectHeight - layerSelectFilterHeight,
|
|
12588
13207
|
itemCount: numberOfLayers,
|
|
12589
|
-
itemSize:
|
|
13208
|
+
itemSize: 72
|
|
12590
13209
|
}, function (_a) {
|
|
12591
13210
|
var index = _a.index,
|
|
12592
13211
|
style = _a.style;
|
|
12593
13212
|
return /*#__PURE__*/React__namespace.createElement("div", {
|
|
12594
13213
|
style: style,
|
|
12595
13214
|
key: layersFilteredFromService[index].name
|
|
12596
|
-
}, /*#__PURE__*/React__namespace.createElement(LayerListRow, {
|
|
13215
|
+
}, services[layersFilteredFromService[index].serviceId] && /*#__PURE__*/React__namespace.createElement(LayerListRow, {
|
|
12597
13216
|
layer: layersFilteredFromService[index],
|
|
12598
13217
|
layerIndex: index,
|
|
12599
13218
|
service: services[layersFilteredFromService[index].serviceId],
|
|
12600
|
-
serviceUrl: services[layersFilteredFromService[index].serviceId].serviceUrl,
|
|
12601
13219
|
addLayer: addLayer,
|
|
12602
13220
|
deleteLayer: deleteLayer,
|
|
12603
|
-
mapLayers: mapLayers
|
|
13221
|
+
mapLayers: mapLayers,
|
|
13222
|
+
mapId: mapId
|
|
12604
13223
|
}));
|
|
12605
13224
|
}));
|
|
12606
13225
|
};
|
|
@@ -12618,13 +13237,14 @@
|
|
|
12618
13237
|
* See the License for the specific language governing permissions and
|
|
12619
13238
|
* limitations under the License.
|
|
12620
13239
|
*
|
|
12621
|
-
* Copyright
|
|
12622
|
-
* Copyright
|
|
13240
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
13241
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
12623
13242
|
* */
|
|
12624
13243
|
|
|
12625
13244
|
var LayerListConnect = function LayerListConnect(_a) {
|
|
12626
13245
|
var mapId = _a.mapId,
|
|
12627
|
-
layerSelectHeight = _a.layerSelectHeight
|
|
13246
|
+
layerSelectHeight = _a.layerSelectHeight,
|
|
13247
|
+
serviceListHeight = _a.serviceListHeight;
|
|
12628
13248
|
var services = reactRedux.useSelector(function (store) {
|
|
12629
13249
|
return getServices(store);
|
|
12630
13250
|
});
|
|
@@ -12674,11 +13294,11 @@
|
|
|
12674
13294
|
origin: LayerActionOrigin.layerManager
|
|
12675
13295
|
}));
|
|
12676
13296
|
}, [dispatch, mapId]);
|
|
12677
|
-
var
|
|
12678
|
-
return
|
|
13297
|
+
var checkedFilterIds = reactRedux.useSelector(function (store) {
|
|
13298
|
+
return getCheckedFilterIds(store);
|
|
12679
13299
|
});
|
|
12680
|
-
var
|
|
12681
|
-
return
|
|
13300
|
+
var allFiltersActive = reactRedux.useSelector(function (store) {
|
|
13301
|
+
return isAllFiltersChecked(store);
|
|
12682
13302
|
});
|
|
12683
13303
|
var searchString = reactRedux.useSelector(function (store) {
|
|
12684
13304
|
return getSearchFilter(store);
|
|
@@ -12687,12 +13307,14 @@
|
|
|
12687
13307
|
services: services,
|
|
12688
13308
|
serviceIds: enabledServiceIds,
|
|
12689
13309
|
layerSelectHeight: layerSelectHeight,
|
|
13310
|
+
serviceListHeight: serviceListHeight,
|
|
12690
13311
|
addLayer: addLayer,
|
|
12691
13312
|
deleteLayer: deleteLayer,
|
|
12692
|
-
|
|
12693
|
-
|
|
13313
|
+
filterIds: checkedFilterIds,
|
|
13314
|
+
allFiltersActive: allFiltersActive,
|
|
12694
13315
|
searchString: searchString,
|
|
12695
|
-
mapLayers: mapLayers
|
|
13316
|
+
mapLayers: mapLayers,
|
|
13317
|
+
mapId: mapId
|
|
12696
13318
|
});
|
|
12697
13319
|
};
|
|
12698
13320
|
|
|
@@ -12709,8 +13331,8 @@
|
|
|
12709
13331
|
* See the License for the specific language governing permissions and
|
|
12710
13332
|
* limitations under the License.
|
|
12711
13333
|
*
|
|
12712
|
-
* Copyright
|
|
12713
|
-
* Copyright
|
|
13334
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
13335
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
12714
13336
|
* */
|
|
12715
13337
|
var style = {
|
|
12716
13338
|
borderRadius: '20px!important',
|
|
@@ -12719,7 +13341,8 @@
|
|
|
12719
13341
|
height: '32px!important',
|
|
12720
13342
|
padding: '5px 12px!important',
|
|
12721
13343
|
textTransform: 'none!important',
|
|
12722
|
-
fontWeight: 'normal'
|
|
13344
|
+
fontWeight: 'normal',
|
|
13345
|
+
marginBottom: '5px'
|
|
12723
13346
|
};
|
|
12724
13347
|
|
|
12725
13348
|
var ServiceChip = function ServiceChip(_a) {
|
|
@@ -12729,7 +13352,9 @@
|
|
|
12729
13352
|
isSelected = _a.isSelected,
|
|
12730
13353
|
isDisabled = _a.isDisabled,
|
|
12731
13354
|
toggleChip = _a.toggleChip;
|
|
12732
|
-
return /*#__PURE__*/React__namespace.createElement(
|
|
13355
|
+
return /*#__PURE__*/React__namespace.createElement(material.Tooltip, {
|
|
13356
|
+
title: (service === null || service === void 0 ? void 0 : service["abstract"]) ? "Abstract: " + service["abstract"] : ''
|
|
13357
|
+
}, /*#__PURE__*/React__namespace.createElement(shared.CustomToggleButton, {
|
|
12733
13358
|
variant: "boxed",
|
|
12734
13359
|
selected: isSelected,
|
|
12735
13360
|
tabIndex: 0,
|
|
@@ -12742,7 +13367,7 @@
|
|
|
12742
13367
|
},
|
|
12743
13368
|
disabled: isDisabled,
|
|
12744
13369
|
sx: style
|
|
12745
|
-
}, service ? service.serviceName : 'All');
|
|
13370
|
+
}, service ? service.serviceName : 'All'));
|
|
12746
13371
|
};
|
|
12747
13372
|
|
|
12748
13373
|
/* *
|
|
@@ -12768,82 +13393,79 @@
|
|
|
12768
13393
|
serviceId = _a.serviceId,
|
|
12769
13394
|
service = _a.service,
|
|
12770
13395
|
isSelected = _a.isSelected,
|
|
13396
|
+
isAllSelected = _a.isAllSelected,
|
|
12771
13397
|
isDisabled = _a.isDisabled;
|
|
12772
13398
|
var dispatch = reactRedux.useDispatch();
|
|
12773
13399
|
var activeServices = reactRedux.useSelector(function (store) {
|
|
12774
13400
|
return getActiveServices(store);
|
|
12775
13401
|
});
|
|
12776
13402
|
|
|
12777
|
-
var
|
|
12778
|
-
|
|
13403
|
+
var setAllServicesEnabled = function setAllServicesEnabled(allServicesEnabled) {
|
|
13404
|
+
dispatch(layerSelectActions.setAllServicesEnabled({
|
|
13405
|
+
allServicesEnabled: allServicesEnabled
|
|
13406
|
+
}));
|
|
13407
|
+
};
|
|
13408
|
+
|
|
13409
|
+
var hasSelectedStyle = !isAllSelected && isSelected || isAllSelected && service === 'all';
|
|
12779
13410
|
|
|
13411
|
+
var toggleChip = function toggleChip(service) {
|
|
12780
13412
|
if (service === 'all') {
|
|
12781
13413
|
if (isSelected) {
|
|
12782
|
-
|
|
12783
|
-
|
|
12784
|
-
|
|
12785
|
-
|
|
12786
|
-
|
|
12787
|
-
|
|
12788
|
-
|
|
12789
|
-
|
|
12790
|
-
|
|
12791
|
-
|
|
12792
|
-
|
|
12793
|
-
serviceId: serviceID,
|
|
12794
|
-
keywords: service_1.keywordsPerService
|
|
12795
|
-
}));
|
|
12796
|
-
}
|
|
13414
|
+
setAllServicesEnabled(false);
|
|
13415
|
+
Object.entries(activeServices).forEach(function (_a) {
|
|
13416
|
+
var _b = __read(_a, 2),
|
|
13417
|
+
serviceID = _b[0],
|
|
13418
|
+
service = _b[1];
|
|
13419
|
+
|
|
13420
|
+
if (service.enabled) {
|
|
13421
|
+
dispatch(layerSelectActions.disableActiveService({
|
|
13422
|
+
serviceId: serviceID,
|
|
13423
|
+
filters: service.filterIds
|
|
13424
|
+
}));
|
|
12797
13425
|
}
|
|
12798
|
-
}
|
|
12799
|
-
e_1 = {
|
|
12800
|
-
error: e_1_1
|
|
12801
|
-
};
|
|
12802
|
-
} finally {
|
|
12803
|
-
try {
|
|
12804
|
-
if (_d && !_d.done && (_a = _c["return"])) _a.call(_c);
|
|
12805
|
-
} finally {
|
|
12806
|
-
if (e_1) throw e_1.error;
|
|
12807
|
-
}
|
|
12808
|
-
}
|
|
13426
|
+
});
|
|
12809
13427
|
} else {
|
|
12810
|
-
|
|
12811
|
-
|
|
12812
|
-
|
|
12813
|
-
|
|
12814
|
-
|
|
12815
|
-
|
|
12816
|
-
|
|
12817
|
-
|
|
12818
|
-
|
|
12819
|
-
|
|
12820
|
-
|
|
12821
|
-
serviceId: serviceID,
|
|
12822
|
-
keywords: service_2.keywordsPerService
|
|
12823
|
-
}));
|
|
12824
|
-
}
|
|
13428
|
+
setAllServicesEnabled(true);
|
|
13429
|
+
Object.entries(activeServices).forEach(function (_a) {
|
|
13430
|
+
var _b = __read(_a, 2),
|
|
13431
|
+
serviceID = _b[0],
|
|
13432
|
+
service = _b[1];
|
|
13433
|
+
|
|
13434
|
+
if (!service.enabled) {
|
|
13435
|
+
dispatch(layerSelectActions.enableActiveService({
|
|
13436
|
+
serviceId: serviceID,
|
|
13437
|
+
filters: service.filterIds
|
|
13438
|
+
}));
|
|
12825
13439
|
}
|
|
12826
|
-
}
|
|
12827
|
-
e_2 = {
|
|
12828
|
-
error: e_2_1
|
|
12829
|
-
};
|
|
12830
|
-
} finally {
|
|
12831
|
-
try {
|
|
12832
|
-
if (_g && !_g.done && (_b = _f["return"])) _b.call(_f);
|
|
12833
|
-
} finally {
|
|
12834
|
-
if (e_2) throw e_2.error;
|
|
12835
|
-
}
|
|
12836
|
-
}
|
|
13440
|
+
});
|
|
12837
13441
|
}
|
|
12838
13442
|
} else if (isSelected) {
|
|
12839
|
-
|
|
12840
|
-
|
|
12841
|
-
|
|
12842
|
-
|
|
13443
|
+
if (isAllSelected) {
|
|
13444
|
+
setAllServicesEnabled(false);
|
|
13445
|
+
Object.entries(activeServices).forEach(function (_a) {
|
|
13446
|
+
var _b = __read(_a, 2),
|
|
13447
|
+
serviceID = _b[0],
|
|
13448
|
+
service = _b[1];
|
|
13449
|
+
|
|
13450
|
+
var shouldDisable = service.enabled && serviceID !== serviceId;
|
|
13451
|
+
|
|
13452
|
+
if (shouldDisable) {
|
|
13453
|
+
dispatch(layerSelectActions.disableActiveService({
|
|
13454
|
+
serviceId: serviceID,
|
|
13455
|
+
filters: service.filterIds
|
|
13456
|
+
}));
|
|
13457
|
+
}
|
|
13458
|
+
});
|
|
13459
|
+
} else {
|
|
13460
|
+
dispatch(layerSelectActions.disableActiveService({
|
|
13461
|
+
serviceId: serviceId,
|
|
13462
|
+
filters: activeServices[serviceId].filterIds
|
|
13463
|
+
}));
|
|
13464
|
+
}
|
|
12843
13465
|
} else {
|
|
12844
13466
|
dispatch(layerSelectActions.enableActiveService({
|
|
12845
13467
|
serviceId: serviceId,
|
|
12846
|
-
|
|
13468
|
+
filters: activeServices[serviceId].filterIds
|
|
12847
13469
|
}));
|
|
12848
13470
|
}
|
|
12849
13471
|
};
|
|
@@ -12852,7 +13474,7 @@
|
|
|
12852
13474
|
service: service,
|
|
12853
13475
|
all: all,
|
|
12854
13476
|
toggleChip: toggleChip,
|
|
12855
|
-
isSelected:
|
|
13477
|
+
isSelected: hasSelectedStyle,
|
|
12856
13478
|
isDisabled: isDisabled
|
|
12857
13479
|
});
|
|
12858
13480
|
};
|
|
@@ -12875,114 +13497,42 @@
|
|
|
12875
13497
|
* */
|
|
12876
13498
|
|
|
12877
13499
|
var ServiceList = function ServiceList(_a) {
|
|
12878
|
-
var
|
|
12879
|
-
|
|
12880
|
-
|
|
12881
|
-
var _b = __read(React__namespace.useState(0), 2),
|
|
12882
|
-
margin = _b[0],
|
|
12883
|
-
setMargin = _b[1];
|
|
12884
|
-
|
|
12885
|
-
var _c = __read(React__namespace.useState(0), 2),
|
|
12886
|
-
width = _c[0],
|
|
12887
|
-
setWidth = _c[1];
|
|
12888
|
-
|
|
12889
|
-
var _d = __read(React__namespace.useState(null), 2),
|
|
12890
|
-
intervalId = _d[0],
|
|
12891
|
-
setIntervalId = _d[1];
|
|
12892
|
-
|
|
13500
|
+
var activeServices = _a.activeServices,
|
|
13501
|
+
setHeight = _a.setHeight;
|
|
12893
13502
|
var ref = React__namespace.useRef(null);
|
|
12894
|
-
var scrollSpeed = 5;
|
|
12895
|
-
var maxWidthValue = ref && ref.current && ref.current.scrollWidth && ref.current.scrollWidth >= layerSelectWidth - margin && ref.current.scrollWidth || layerSelectWidth - 50;
|
|
12896
|
-
|
|
12897
|
-
var onMouseWheelScroll = function onMouseWheelScroll(e) {
|
|
12898
|
-
var delta = e.deltaY;
|
|
12899
|
-
var scrollSpeed = 0.1;
|
|
12900
|
-
if (delta > 0) setMargin(Math.min(Math.max(margin + scrollSpeed * delta, 0), width - layerSelectWidth));else setMargin(Math.min(Math.max(margin + scrollSpeed * delta, 0), width - layerSelectWidth));
|
|
12901
|
-
};
|
|
12902
|
-
|
|
12903
|
-
var onLeftChevronPressed = function onLeftChevronPressed() {
|
|
12904
|
-
setMargin(function (prevMargin) {
|
|
12905
|
-
return Math.max(prevMargin - scrollSpeed, 0);
|
|
12906
|
-
});
|
|
12907
|
-
setIntervalId(setInterval(function () {
|
|
12908
|
-
setMargin(function (prevMargin) {
|
|
12909
|
-
return Math.max(prevMargin - scrollSpeed, 0);
|
|
12910
|
-
});
|
|
12911
|
-
}, 20));
|
|
12912
|
-
};
|
|
12913
|
-
|
|
12914
|
-
var onRightChevronPressed = React__namespace.useCallback(function () {
|
|
12915
|
-
setMargin(function (prevMargin) {
|
|
12916
|
-
return Math.min(prevMargin + scrollSpeed, width - layerSelectWidth);
|
|
12917
|
-
});
|
|
12918
|
-
setIntervalId(setInterval(function () {
|
|
12919
|
-
setMargin(function (prevMargin) {
|
|
12920
|
-
return Math.min(prevMargin + scrollSpeed, width - layerSelectWidth);
|
|
12921
|
-
});
|
|
12922
|
-
}, 20));
|
|
12923
|
-
}, [width, layerSelectWidth]);
|
|
12924
13503
|
|
|
12925
|
-
var
|
|
12926
|
-
|
|
12927
|
-
|
|
12928
|
-
};
|
|
13504
|
+
var _b = __read(React__namespace.useState(0), 2),
|
|
13505
|
+
serviceListHeight = _b[0],
|
|
13506
|
+
setServiceListHeight = _b[1];
|
|
12929
13507
|
|
|
13508
|
+
var clientHeight = ref && ref.current && ref.current.clientHeight && ref.current.clientHeight;
|
|
12930
13509
|
React__namespace.useEffect(function () {
|
|
12931
|
-
|
|
12932
|
-
|
|
12933
|
-
|
|
12934
|
-
if ((margin === 0 || layerSelectWidth + margin === width) && intervalId != null) {
|
|
12935
|
-
clearInterval(intervalId);
|
|
12936
|
-
setIntervalId(null);
|
|
13510
|
+
if (ref && ref.current && ref.current.clientHeight) {
|
|
13511
|
+
setServiceListHeight(ref.current.clientHeight);
|
|
12937
13512
|
}
|
|
12938
|
-
}, [activeServices,
|
|
13513
|
+
}, [activeServices, clientHeight]);
|
|
13514
|
+
React__namespace.useEffect(function () {
|
|
13515
|
+
setHeight(serviceListHeight);
|
|
13516
|
+
}, [serviceListHeight, setHeight]);
|
|
12939
13517
|
var isAllSelected = Object.values(activeServices).every(function (activeService) {
|
|
12940
13518
|
return activeService.enabled;
|
|
12941
13519
|
});
|
|
12942
13520
|
return /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
12943
13521
|
sx: {
|
|
12944
|
-
height: '32px',
|
|
12945
13522
|
marginTop: '8px',
|
|
12946
13523
|
width: '100%',
|
|
12947
13524
|
overflow: 'hidden'
|
|
12948
13525
|
},
|
|
12949
|
-
"data-testid": "serviceList"
|
|
12950
|
-
|
|
12951
|
-
}, margin !== 0 && /*#__PURE__*/React__namespace.createElement(theme.ChevronLeft, {
|
|
12952
|
-
onMouseDown: onLeftChevronPressed,
|
|
12953
|
-
onMouseUp: onChevronMouseUp,
|
|
12954
|
-
"data-testid": "leftScrollArrow",
|
|
12955
|
-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
12956
|
-
sx: function sx(theme) {
|
|
12957
|
-
return {
|
|
12958
|
-
width: '100px',
|
|
12959
|
-
marginBottom: '-12px',
|
|
12960
|
-
height: '34px',
|
|
12961
|
-
backgroundImage: "linear-gradient(to left, rgba(0, 0, 0, 0), " + theme.palette.geowebColors.background.surfaceApp + " 51%)",
|
|
12962
|
-
cursor: 'pointer',
|
|
12963
|
-
marginRight: '-120px',
|
|
12964
|
-
paddingTop: '6px',
|
|
12965
|
-
paddingBottom: '6px',
|
|
12966
|
-
"float": 'left',
|
|
12967
|
-
zIndex: 1,
|
|
12968
|
-
position: 'relative',
|
|
12969
|
-
color: 'geowebColors.buttons.tertiary.default.color',
|
|
12970
|
-
'&:hover': {
|
|
12971
|
-
color: 'geowebColors.buttons.tertiary.activeMouseOver.color'
|
|
12972
|
-
}
|
|
12973
|
-
};
|
|
12974
|
-
}
|
|
12975
|
-
}), /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
13526
|
+
"data-testid": "serviceList"
|
|
13527
|
+
}, /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
12976
13528
|
sx: {
|
|
12977
13529
|
width: '100%',
|
|
12978
|
-
display: '
|
|
13530
|
+
display: 'block',
|
|
12979
13531
|
alignItems: 'center',
|
|
12980
|
-
overflowX: 'visible',
|
|
12981
13532
|
"float": 'left',
|
|
12982
13533
|
paddingLeft: '40px',
|
|
12983
|
-
|
|
12984
|
-
|
|
12985
|
-
maxWidth: maxWidthValue,
|
|
13534
|
+
paddingRight: '30px',
|
|
13535
|
+
marginBottom: '5px',
|
|
12986
13536
|
fontSize: '0.875rem'
|
|
12987
13537
|
},
|
|
12988
13538
|
ref: ref
|
|
@@ -12999,32 +13549,10 @@
|
|
|
12999
13549
|
serviceId: serviceId,
|
|
13000
13550
|
service: service,
|
|
13001
13551
|
isSelected: (_a = activeServices[serviceId]) === null || _a === void 0 ? void 0 : _a.enabled,
|
|
13552
|
+
isAllSelected: isAllSelected,
|
|
13002
13553
|
isDisabled: activeServices[serviceId] === undefined
|
|
13003
13554
|
});
|
|
13004
|
-
}))
|
|
13005
|
-
, {
|
|
13006
|
-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
13007
|
-
sx: function sx(theme) {
|
|
13008
|
-
return {
|
|
13009
|
-
width: '100px',
|
|
13010
|
-
marginBottom: '-12px',
|
|
13011
|
-
height: '34px',
|
|
13012
|
-
paddingTop: '6px',
|
|
13013
|
-
paddingBottom: '6px',
|
|
13014
|
-
backgroundImage: "linear-gradient(to right, rgba(0, 0, 0, 0), " + theme.palette.geowebColors.background.surfaceApp + " 51%)",
|
|
13015
|
-
right: '0px',
|
|
13016
|
-
position: 'fixed',
|
|
13017
|
-
cursor: 'pointer',
|
|
13018
|
-
color: 'geowebColors.buttons.tertiary.default.color',
|
|
13019
|
-
'&:hover': {
|
|
13020
|
-
color: 'geowebColors.buttons.tertiary.activeMouseOver.color'
|
|
13021
|
-
}
|
|
13022
|
-
};
|
|
13023
|
-
},
|
|
13024
|
-
onMouseDown: onRightChevronPressed,
|
|
13025
|
-
onMouseUp: onChevronMouseUp,
|
|
13026
|
-
"data-testid": "rightScrollArrow"
|
|
13027
|
-
}));
|
|
13555
|
+
})));
|
|
13028
13556
|
};
|
|
13029
13557
|
|
|
13030
13558
|
/* *
|
|
@@ -13040,18 +13568,37 @@
|
|
|
13040
13568
|
* See the License for the specific language governing permissions and
|
|
13041
13569
|
* limitations under the License.
|
|
13042
13570
|
*
|
|
13043
|
-
* Copyright
|
|
13044
|
-
* Copyright
|
|
13571
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
13572
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
13045
13573
|
* */
|
|
13574
|
+
var sortByService = function sortByService(serviceObj) {
|
|
13575
|
+
return Object.entries(serviceObj).sort(function (_a, _b) {
|
|
13576
|
+
var _c = __read(_a, 2),
|
|
13577
|
+
a = _c[1];
|
|
13578
|
+
|
|
13579
|
+
var _d = __read(_b, 2),
|
|
13580
|
+
b = _d[1];
|
|
13581
|
+
|
|
13582
|
+
return a.serviceName.localeCompare(b.serviceName);
|
|
13583
|
+
}).reduce(function (r, _a) {
|
|
13584
|
+
var _b;
|
|
13585
|
+
|
|
13586
|
+
var _c = __read(_a, 2),
|
|
13587
|
+
key = _c[0],
|
|
13588
|
+
value = _c[1];
|
|
13589
|
+
|
|
13590
|
+
return __assign(__assign({}, r), (_b = {}, _b[key] = value, _b));
|
|
13591
|
+
}, {});
|
|
13592
|
+
};
|
|
13046
13593
|
|
|
13047
13594
|
var ServiceListConnect = function ServiceListConnect(_a) {
|
|
13048
|
-
var
|
|
13595
|
+
var setHeight = _a.setHeight;
|
|
13049
13596
|
var activeServices = reactRedux.useSelector(function (store) {
|
|
13050
13597
|
return getActiveServices(store);
|
|
13051
13598
|
});
|
|
13052
13599
|
return /*#__PURE__*/React__namespace.createElement(ServiceList, {
|
|
13053
|
-
|
|
13054
|
-
activeServices: activeServices
|
|
13600
|
+
setHeight: setHeight,
|
|
13601
|
+
activeServices: sortByService(activeServices)
|
|
13055
13602
|
});
|
|
13056
13603
|
};
|
|
13057
13604
|
|
|
@@ -13107,43 +13654,62 @@
|
|
|
13107
13654
|
|
|
13108
13655
|
var ServiceOptionsDialog = function ServiceOptionsDialog(_a) {
|
|
13109
13656
|
var services = _a.services,
|
|
13110
|
-
|
|
13111
|
-
|
|
13112
|
-
|
|
13113
|
-
addServiceIsOpen = _b[0],
|
|
13114
|
-
setAddServiceIsOpen = _b[1];
|
|
13115
|
-
|
|
13116
|
-
var _c = __read(React__namespace.useState({
|
|
13117
|
-
isOpen: false,
|
|
13118
|
-
serviceId: '',
|
|
13119
|
-
serviceUrl: ''
|
|
13120
|
-
}), 2),
|
|
13121
|
-
editServiceIsOpen = _c[0],
|
|
13122
|
-
setEditServiceIsOpen = _c[1];
|
|
13657
|
+
layerSelectRemoveService = _a.layerSelectRemoveService,
|
|
13658
|
+
selectedLayers = _a.selectedLayers,
|
|
13659
|
+
setServicePopupInfo = _a.setServicePopupInfo;
|
|
13123
13660
|
|
|
13124
13661
|
var openAddService = function openAddService() {
|
|
13125
|
-
|
|
13662
|
+
setServicePopupInfo({
|
|
13663
|
+
isOpen: true,
|
|
13664
|
+
popupVariant: 'add'
|
|
13665
|
+
});
|
|
13126
13666
|
};
|
|
13127
13667
|
|
|
13128
|
-
|
|
13129
|
-
|
|
13130
|
-
|
|
13131
|
-
|
|
13132
|
-
|
|
13133
|
-
|
|
13668
|
+
return /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
13669
|
+
sx: styles$1.servicesContainer,
|
|
13670
|
+
"data-testid": "ServiceDialog"
|
|
13671
|
+
}, /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
13672
|
+
sx: styles$1.header
|
|
13673
|
+
}, "Services"), /*#__PURE__*/React__namespace.createElement(Rows, {
|
|
13674
|
+
services: services,
|
|
13675
|
+
layerSelectRemoveService: layerSelectRemoveService,
|
|
13676
|
+
setServicePopupInfo: setServicePopupInfo,
|
|
13677
|
+
selectedLayers: selectedLayers
|
|
13678
|
+
}), /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
13679
|
+
sx: styles$1.footer
|
|
13680
|
+
}, /*#__PURE__*/React__namespace.createElement(material.Button, {
|
|
13681
|
+
onClick: openAddService,
|
|
13682
|
+
"data-testid": "openAddServiceButton",
|
|
13683
|
+
sx: styles$1.button,
|
|
13684
|
+
variant: "tertiary",
|
|
13685
|
+
startIcon: /*#__PURE__*/React__namespace.createElement(theme.Add, null)
|
|
13686
|
+
}, "Add a new service")));
|
|
13687
|
+
};
|
|
13688
|
+
|
|
13689
|
+
var Rows = function Rows(_a) {
|
|
13690
|
+
var services = _a.services,
|
|
13691
|
+
layerSelectRemoveService = _a.layerSelectRemoveService,
|
|
13692
|
+
setServicePopupInfo = _a.setServicePopupInfo,
|
|
13693
|
+
selectedLayers = _a.selectedLayers;
|
|
13694
|
+
|
|
13695
|
+
var checkIfServiceHasActiveLayers = function checkIfServiceHasActiveLayers(serviceUrl) {
|
|
13696
|
+
var foundService = selectedLayers.find(function (object) {
|
|
13697
|
+
return object.service === serviceUrl;
|
|
13134
13698
|
});
|
|
13699
|
+
if (foundService) return true;
|
|
13700
|
+
return false;
|
|
13135
13701
|
};
|
|
13136
13702
|
|
|
13137
|
-
return /*#__PURE__*/React__namespace.createElement(
|
|
13138
|
-
sx: styles$1.servicesContainer,
|
|
13139
|
-
"data-testid": "ServiceDialog"
|
|
13140
|
-
}, /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
13141
|
-
sx: styles$1.header
|
|
13142
|
-
}, "Services"), /*#__PURE__*/React__namespace.createElement(material.List, {
|
|
13703
|
+
return /*#__PURE__*/React__namespace.createElement(material.List, {
|
|
13143
13704
|
disablePadding: true
|
|
13144
13705
|
}, Object.keys(services).map(function (serviceId) {
|
|
13706
|
+
var _a = services[serviceId],
|
|
13707
|
+
serviceUrl = _a.serviceUrl,
|
|
13708
|
+
serviceName = _a.serviceName,
|
|
13709
|
+
isUserAddedService = _a.isUserAddedService;
|
|
13710
|
+
var serviceHasActiveLayers = checkIfServiceHasActiveLayers(serviceUrl);
|
|
13145
13711
|
return /*#__PURE__*/React__namespace.createElement(material.ListItem, {
|
|
13146
|
-
key:
|
|
13712
|
+
key: serviceUrl
|
|
13147
13713
|
}, /*#__PURE__*/React__namespace.createElement(material.ListItemText, {
|
|
13148
13714
|
style: {
|
|
13149
13715
|
fontSize: '16px'
|
|
@@ -13154,53 +13720,59 @@
|
|
|
13154
13720
|
textOverflow: 'ellipsis',
|
|
13155
13721
|
paddingRight: '60px'
|
|
13156
13722
|
}
|
|
13157
|
-
},
|
|
13723
|
+
}, serviceName)), /*#__PURE__*/React__namespace.createElement(material.ListItemSecondaryAction, {
|
|
13158
13724
|
style: {
|
|
13159
|
-
marginRight: '-10px'
|
|
13160
|
-
|
|
13161
|
-
|
|
13162
|
-
|
|
13163
|
-
|
|
13725
|
+
marginRight: '-10px',
|
|
13726
|
+
width: 90
|
|
13727
|
+
}
|
|
13728
|
+
}, /*#__PURE__*/React__namespace.createElement(material.Grid, {
|
|
13729
|
+
container: true
|
|
13730
|
+
}, /*#__PURE__*/React__namespace.createElement(material.Grid, {
|
|
13731
|
+
item: true,
|
|
13732
|
+
xs: 6
|
|
13733
|
+
}, isUserAddedService ? /*#__PURE__*/React__namespace.createElement(material.Tooltip, {
|
|
13734
|
+
title: "Edit Service"
|
|
13164
13735
|
}, /*#__PURE__*/React__namespace.createElement("span", null, /*#__PURE__*/React__namespace.createElement(material.IconButton, {
|
|
13165
|
-
|
|
13736
|
+
"aria-label": "edit service",
|
|
13166
13737
|
"data-testid": "openEditServiceButton",
|
|
13167
13738
|
size: "large",
|
|
13168
13739
|
onClick: function onClick() {
|
|
13169
|
-
|
|
13740
|
+
setServicePopupInfo({
|
|
13170
13741
|
isOpen: true,
|
|
13171
13742
|
serviceId: serviceId,
|
|
13172
|
-
serviceUrl:
|
|
13743
|
+
serviceUrl: serviceUrl,
|
|
13744
|
+
popupVariant: 'edit'
|
|
13173
13745
|
});
|
|
13174
13746
|
}
|
|
13175
|
-
}, /*#__PURE__*/React__namespace.createElement(theme.Edit, null))))
|
|
13176
|
-
title: "
|
|
13177
|
-
disableHoverListener: !services[serviceId].isUserAddedService
|
|
13747
|
+
}, /*#__PURE__*/React__namespace.createElement(theme.Edit, null)))) : /*#__PURE__*/React__namespace.createElement(material.Tooltip, {
|
|
13748
|
+
title: "Show Service"
|
|
13178
13749
|
}, /*#__PURE__*/React__namespace.createElement("span", null, /*#__PURE__*/React__namespace.createElement(material.IconButton, {
|
|
13750
|
+
"aria-label": "show service",
|
|
13751
|
+
"data-testid": "openShowServiceButton",
|
|
13179
13752
|
size: "large",
|
|
13180
|
-
disabled: !services[serviceId].isUserAddedService,
|
|
13181
13753
|
onClick: function onClick() {
|
|
13182
|
-
|
|
13183
|
-
|
|
13184
|
-
|
|
13185
|
-
|
|
13186
|
-
|
|
13187
|
-
|
|
13188
|
-
|
|
13189
|
-
|
|
13190
|
-
|
|
13191
|
-
|
|
13192
|
-
|
|
13193
|
-
|
|
13194
|
-
|
|
13195
|
-
|
|
13196
|
-
|
|
13197
|
-
|
|
13198
|
-
|
|
13199
|
-
|
|
13200
|
-
|
|
13201
|
-
|
|
13202
|
-
|
|
13203
|
-
|
|
13754
|
+
setServicePopupInfo({
|
|
13755
|
+
isOpen: true,
|
|
13756
|
+
serviceId: serviceId,
|
|
13757
|
+
serviceUrl: serviceUrl,
|
|
13758
|
+
popupVariant: 'show'
|
|
13759
|
+
});
|
|
13760
|
+
}
|
|
13761
|
+
}, /*#__PURE__*/React__namespace.createElement(theme.Visibility, null))))), /*#__PURE__*/React__namespace.createElement(material.Grid, {
|
|
13762
|
+
item: true,
|
|
13763
|
+
xs: 6
|
|
13764
|
+
}, isUserAddedService && /*#__PURE__*/React__namespace.createElement(material.Box, null, /*#__PURE__*/React__namespace.createElement(material.Tooltip, {
|
|
13765
|
+
title: serviceHasActiveLayers ? 'Service has active layers. Cannot remove this service' : 'Delete Service',
|
|
13766
|
+
"data-testid": "removeServiceTooltip"
|
|
13767
|
+
}, /*#__PURE__*/React__namespace.createElement("span", null, /*#__PURE__*/React__namespace.createElement(material.IconButton, {
|
|
13768
|
+
"data-testid": "removeServiceButton",
|
|
13769
|
+
"aria-label": "delete service",
|
|
13770
|
+
size: "large",
|
|
13771
|
+
disabled: serviceHasActiveLayers,
|
|
13772
|
+
onClick: function onClick() {
|
|
13773
|
+
return layerSelectRemoveService(serviceId, serviceUrl);
|
|
13774
|
+
}
|
|
13775
|
+
}, /*#__PURE__*/React__namespace.createElement(theme.Delete, null)))))))));
|
|
13204
13776
|
}));
|
|
13205
13777
|
};
|
|
13206
13778
|
|
|
@@ -13221,20 +13793,27 @@
|
|
|
13221
13793
|
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
13222
13794
|
* */
|
|
13223
13795
|
|
|
13224
|
-
var ServiceOptionsDialogConnect = function ServiceOptionsDialogConnect() {
|
|
13796
|
+
var ServiceOptionsDialogConnect = function ServiceOptionsDialogConnect(_a) {
|
|
13797
|
+
var mapId = _a.mapId,
|
|
13798
|
+
setServicePopupInfo = _a.setServicePopupInfo;
|
|
13225
13799
|
var dispatch = reactRedux.useDispatch();
|
|
13226
|
-
var
|
|
13227
|
-
dispatch(
|
|
13228
|
-
|
|
13800
|
+
var layerSelectRemoveService = React__namespace.useCallback(function (serviceId, serviceUrl) {
|
|
13801
|
+
dispatch(layerSelectActions.layerSelectRemoveService({
|
|
13802
|
+
serviceId: serviceId,
|
|
13229
13803
|
serviceUrl: serviceUrl
|
|
13230
13804
|
}));
|
|
13231
13805
|
}, [dispatch]);
|
|
13232
13806
|
var services = reactRedux.useSelector(function (store) {
|
|
13233
13807
|
return getActiveServices(store);
|
|
13234
13808
|
});
|
|
13809
|
+
var selectedLayers = reactRedux.useSelector(function (store) {
|
|
13810
|
+
return getMapLayers(store, mapId);
|
|
13811
|
+
});
|
|
13235
13812
|
return /*#__PURE__*/React__namespace.createElement(ServiceOptionsDialog, {
|
|
13813
|
+
selectedLayers: selectedLayers,
|
|
13236
13814
|
services: services,
|
|
13237
|
-
|
|
13815
|
+
layerSelectRemoveService: layerSelectRemoveService,
|
|
13816
|
+
setServicePopupInfo: setServicePopupInfo
|
|
13238
13817
|
});
|
|
13239
13818
|
};
|
|
13240
13819
|
|
|
@@ -13255,11 +13834,34 @@
|
|
|
13255
13834
|
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
13256
13835
|
* */
|
|
13257
13836
|
|
|
13258
|
-
var ServiceOptionsButton = function ServiceOptionsButton() {
|
|
13259
|
-
|
|
13837
|
+
var ServiceOptionsButton = function ServiceOptionsButton(_a) {
|
|
13838
|
+
var mapId = _a.mapId;
|
|
13839
|
+
|
|
13840
|
+
var _b = __read(React__namespace.useState({
|
|
13841
|
+
isOpen: false
|
|
13842
|
+
}), 2),
|
|
13843
|
+
servicePopupInfo = _b[0],
|
|
13844
|
+
setServicePopupInfo = _b[1];
|
|
13845
|
+
|
|
13846
|
+
var closePopup = function closePopup() {
|
|
13847
|
+
setServicePopupInfo({
|
|
13848
|
+
isOpen: false
|
|
13849
|
+
});
|
|
13850
|
+
};
|
|
13851
|
+
|
|
13852
|
+
return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement(shared.ToggleMenu, {
|
|
13260
13853
|
buttonTestId: "serviceOptionsButton",
|
|
13261
13854
|
menuPosition: "bottom"
|
|
13262
|
-
}, /*#__PURE__*/React__namespace.createElement(ServiceOptionsDialogConnect,
|
|
13855
|
+
}, /*#__PURE__*/React__namespace.createElement(ServiceOptionsDialogConnect, {
|
|
13856
|
+
setServicePopupInfo: setServicePopupInfo,
|
|
13857
|
+
mapId: mapId
|
|
13858
|
+
})), /*#__PURE__*/React__namespace.createElement(ServicePopupConnect, {
|
|
13859
|
+
servicePopupVariant: servicePopupInfo.popupVariant,
|
|
13860
|
+
isOpen: servicePopupInfo.isOpen,
|
|
13861
|
+
closePopup: closePopup,
|
|
13862
|
+
serviceId: servicePopupInfo.serviceId,
|
|
13863
|
+
url: servicePopupInfo.serviceUrl
|
|
13864
|
+
}));
|
|
13263
13865
|
};
|
|
13264
13866
|
|
|
13265
13867
|
/* *
|
|
@@ -13292,6 +13894,7 @@
|
|
|
13292
13894
|
order = _d === void 0 ? 0 : _d,
|
|
13293
13895
|
_e = _a.source,
|
|
13294
13896
|
source = _e === void 0 ? 'module' : _e;
|
|
13897
|
+
var initialServiceListHeight = 37;
|
|
13295
13898
|
|
|
13296
13899
|
var _f = __read(React__namespace.useState(500), 2),
|
|
13297
13900
|
height = _f[0],
|
|
@@ -13301,6 +13904,10 @@
|
|
|
13301
13904
|
width = _g[0],
|
|
13302
13905
|
setWidth = _g[1];
|
|
13303
13906
|
|
|
13907
|
+
var _h = __read(React__namespace.useState(initialServiceListHeight), 2),
|
|
13908
|
+
serviceListHeight = _h[0],
|
|
13909
|
+
setServiceListHeight = _h[1];
|
|
13910
|
+
|
|
13304
13911
|
var onChangeSize = function onChangeSize(_a) {
|
|
13305
13912
|
var height = _a.height,
|
|
13306
13913
|
width = _a.width;
|
|
@@ -13308,6 +13915,12 @@
|
|
|
13308
13915
|
setWidth(width);
|
|
13309
13916
|
};
|
|
13310
13917
|
|
|
13918
|
+
var handleHeightChange = function handleHeightChange(height) {
|
|
13919
|
+
if (height > initialServiceListHeight) {
|
|
13920
|
+
setServiceListHeight(height);
|
|
13921
|
+
}
|
|
13922
|
+
};
|
|
13923
|
+
|
|
13311
13924
|
return /*#__PURE__*/React__namespace.createElement(shared.ToolContainerDraggable, {
|
|
13312
13925
|
title: showTitle ? "Layer Select " + mapId : 'Layer Select',
|
|
13313
13926
|
startSize: {
|
|
@@ -13348,22 +13961,103 @@
|
|
|
13348
13961
|
margin: '12px 0 0 calc(100% - 36px)',
|
|
13349
13962
|
zIndex: 2
|
|
13350
13963
|
}
|
|
13351
|
-
}, /*#__PURE__*/React__namespace.createElement(ServiceOptionsButton,
|
|
13352
|
-
|
|
13353
|
-
|
|
13354
|
-
|
|
13355
|
-
}, /*#__PURE__*/React__namespace.createElement(ServiceListConnect, {
|
|
13356
|
-
layerSelectWidth: width
|
|
13964
|
+
}, /*#__PURE__*/React__namespace.createElement(ServiceOptionsButton, {
|
|
13965
|
+
mapId: mapId
|
|
13966
|
+
})), /*#__PURE__*/React__namespace.createElement(material.Box, null, /*#__PURE__*/React__namespace.createElement(ServiceListConnect, {
|
|
13967
|
+
setHeight: handleHeightChange
|
|
13357
13968
|
})), /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
13358
13969
|
sx: {
|
|
13359
13970
|
padding: '0 8px'
|
|
13360
13971
|
}
|
|
13361
13972
|
}, /*#__PURE__*/React__namespace.createElement(LayerListConnect, {
|
|
13362
13973
|
mapId: mapId,
|
|
13363
|
-
layerSelectHeight: height
|
|
13974
|
+
layerSelectHeight: height,
|
|
13975
|
+
serviceListHeight: serviceListHeight
|
|
13364
13976
|
})));
|
|
13365
13977
|
};
|
|
13366
13978
|
|
|
13979
|
+
/* *
|
|
13980
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13981
|
+
* you may not use this file except in compliance with the License.
|
|
13982
|
+
* You may obtain a copy of the License at
|
|
13983
|
+
*
|
|
13984
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
13985
|
+
*
|
|
13986
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13987
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13988
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13989
|
+
* See the License for the specific language governing permissions and
|
|
13990
|
+
* limitations under the License.
|
|
13991
|
+
*
|
|
13992
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
13993
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
13994
|
+
* */
|
|
13995
|
+
var useSetupDialog = function useSetupDialog(dialogType) {
|
|
13996
|
+
var dispatch = reactRedux.useDispatch();
|
|
13997
|
+
var onCloseDialog = React.useCallback(function () {
|
|
13998
|
+
dispatch(uiActions.setToggleOpenDialog({
|
|
13999
|
+
type: dialogType,
|
|
14000
|
+
setOpen: false
|
|
14001
|
+
}));
|
|
14002
|
+
}, [dialogType, dispatch]);
|
|
14003
|
+
var mapId = reactRedux.useSelector(function (store) {
|
|
14004
|
+
return getDialogMapId(store, dialogType);
|
|
14005
|
+
});
|
|
14006
|
+
var isMapPresent = reactRedux.useSelector(function (store) {
|
|
14007
|
+
return getIsMapPresent(store, mapId);
|
|
14008
|
+
}); // Check to ensure the currently active map is still present on screen - if not, close the dialog
|
|
14009
|
+
|
|
14010
|
+
React.useEffect(function () {
|
|
14011
|
+
if (mapId !== '' && !isMapPresent) {
|
|
14012
|
+
onCloseDialog();
|
|
14013
|
+
}
|
|
14014
|
+
}, [mapId, isMapPresent, onCloseDialog]);
|
|
14015
|
+
var registerDialog = React.useCallback(function () {
|
|
14016
|
+
dispatch(uiActions.registerDialog({
|
|
14017
|
+
type: dialogType,
|
|
14018
|
+
setOpen: false
|
|
14019
|
+
}));
|
|
14020
|
+
}, [dialogType, dispatch]);
|
|
14021
|
+
var unregisterDialog = React.useCallback(function () {
|
|
14022
|
+
dispatch(uiActions.unregisterDialog({
|
|
14023
|
+
type: dialogType
|
|
14024
|
+
}));
|
|
14025
|
+
}, [dialogType, dispatch]); // Register this dialog in the store
|
|
14026
|
+
|
|
14027
|
+
React.useEffect(function () {
|
|
14028
|
+
registerDialog();
|
|
14029
|
+
return function () {
|
|
14030
|
+
unregisterDialog();
|
|
14031
|
+
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
14032
|
+
}, []);
|
|
14033
|
+
var uiIsOrderedOnTop = reactRedux.useSelector(function (store) {
|
|
14034
|
+
return getDialogIsOrderedOnTop(store, dialogType);
|
|
14035
|
+
});
|
|
14036
|
+
var setDialogOrder = React.useCallback(function () {
|
|
14037
|
+
if (!uiIsOrderedOnTop) {
|
|
14038
|
+
dispatch(uiActions.orderDialog({
|
|
14039
|
+
type: dialogType
|
|
14040
|
+
}));
|
|
14041
|
+
}
|
|
14042
|
+
}, [dialogType, dispatch, uiIsOrderedOnTop]);
|
|
14043
|
+
var dialogOrder = reactRedux.useSelector(function (store) {
|
|
14044
|
+
return getDialogOrder(store, dialogType);
|
|
14045
|
+
});
|
|
14046
|
+
var uiSource = reactRedux.useSelector(function (store) {
|
|
14047
|
+
return getDialogSource(store, dialogType);
|
|
14048
|
+
});
|
|
14049
|
+
var isDialogOpen = reactRedux.useSelector(function (store) {
|
|
14050
|
+
return getisDialogOpen(store, dialogType);
|
|
14051
|
+
});
|
|
14052
|
+
return {
|
|
14053
|
+
setDialogOrder: setDialogOrder,
|
|
14054
|
+
dialogOrder: dialogOrder,
|
|
14055
|
+
onCloseDialog: onCloseDialog,
|
|
14056
|
+
uiSource: uiSource,
|
|
14057
|
+
isDialogOpen: isDialogOpen
|
|
14058
|
+
};
|
|
14059
|
+
};
|
|
14060
|
+
|
|
13367
14061
|
/* *
|
|
13368
14062
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13369
14063
|
* you may not use this file except in compliance with the License.
|
|
@@ -13382,34 +14076,57 @@
|
|
|
13382
14076
|
* */
|
|
13383
14077
|
|
|
13384
14078
|
var FilterListItem = function FilterListItem(_a) {
|
|
13385
|
-
var
|
|
13386
|
-
|
|
13387
|
-
|
|
14079
|
+
var filter = _a.filter,
|
|
14080
|
+
toggleFilter = _a.toggleFilter,
|
|
14081
|
+
enableOnlyOneFilter = _a.enableOnlyOneFilter;
|
|
13388
14082
|
|
|
13389
14083
|
var _b = __read(React__namespace.useState(false), 2),
|
|
13390
|
-
|
|
13391
|
-
|
|
14084
|
+
isHovering = _b[0],
|
|
14085
|
+
setIsHovering = _b[1];
|
|
13392
14086
|
|
|
13393
|
-
var
|
|
13394
|
-
|
|
14087
|
+
var handleMouseEnter = React__namespace.useCallback(function () {
|
|
14088
|
+
setIsHovering(true);
|
|
13395
14089
|
}, []);
|
|
13396
14090
|
var handleMouseLeave = React__namespace.useCallback(function () {
|
|
13397
|
-
|
|
14091
|
+
setIsHovering(false);
|
|
13398
14092
|
}, []);
|
|
13399
14093
|
|
|
13400
|
-
var selectOnlyOne = function selectOnlyOne(
|
|
13401
|
-
|
|
14094
|
+
var selectOnlyOne = function selectOnlyOne(filterId) {
|
|
14095
|
+
enableOnlyOneFilter(filterId);
|
|
14096
|
+
};
|
|
14097
|
+
|
|
14098
|
+
var toggleCheckbox = function toggleCheckbox(filterId) {
|
|
14099
|
+
toggleFilter([filterId]);
|
|
13402
14100
|
};
|
|
13403
14101
|
|
|
13404
|
-
var
|
|
13405
|
-
|
|
14102
|
+
var mouseMoveRef = React__namespace.useRef(null);
|
|
14103
|
+
React__namespace.useEffect(function () {
|
|
14104
|
+
window.addEventListener('mousemove', checkHover, true);
|
|
14105
|
+
return function () {
|
|
14106
|
+
window.removeEventListener('mousemove', checkHover, true);
|
|
14107
|
+
};
|
|
14108
|
+
});
|
|
14109
|
+
|
|
14110
|
+
var checkHover = function checkHover(e) {
|
|
14111
|
+
if (mouseMoveRef.current) {
|
|
14112
|
+
var mouseOver = mouseMoveRef.current.contains(e.target);
|
|
14113
|
+
|
|
14114
|
+
if (!isHovering && mouseOver) {
|
|
14115
|
+
handleMouseEnter();
|
|
14116
|
+
}
|
|
14117
|
+
|
|
14118
|
+
if (isHovering && !mouseOver) {
|
|
14119
|
+
handleMouseLeave();
|
|
14120
|
+
}
|
|
14121
|
+
}
|
|
13406
14122
|
};
|
|
13407
14123
|
|
|
13408
|
-
if (
|
|
14124
|
+
if (filter.amountVisible !== 0) {
|
|
13409
14125
|
return /*#__PURE__*/React__namespace.createElement("div", {
|
|
13410
|
-
|
|
14126
|
+
ref: mouseMoveRef,
|
|
14127
|
+
onMouseEnter: handleMouseEnter,
|
|
13411
14128
|
onMouseLeave: handleMouseLeave,
|
|
13412
|
-
onFocus:
|
|
14129
|
+
onFocus: handleMouseEnter,
|
|
13413
14130
|
onBlur: handleMouseLeave,
|
|
13414
14131
|
"data-testid": "filterResultListItem"
|
|
13415
14132
|
}, /*#__PURE__*/React__namespace.createElement(material.ListItem, {
|
|
@@ -13427,9 +14144,9 @@
|
|
|
13427
14144
|
}
|
|
13428
14145
|
}, /*#__PURE__*/React__namespace.createElement(material.Checkbox, {
|
|
13429
14146
|
color: "secondary",
|
|
13430
|
-
checked:
|
|
14147
|
+
checked: filter.checked,
|
|
13431
14148
|
onChange: function onChange() {
|
|
13432
|
-
return toggleCheckbox(
|
|
14149
|
+
return toggleCheckbox(filter.id);
|
|
13433
14150
|
},
|
|
13434
14151
|
sx: {
|
|
13435
14152
|
paddingTop: '6px',
|
|
@@ -13445,14 +14162,14 @@
|
|
|
13445
14162
|
whiteSpace: 'nowrap',
|
|
13446
14163
|
overflow: 'hidden'
|
|
13447
14164
|
}
|
|
13448
|
-
},
|
|
14165
|
+
}, filter.name, " (", filter.amountVisible, ")"), isHovering ? /*#__PURE__*/React__namespace.createElement(material.ListItemSecondaryAction, null, /*#__PURE__*/React__namespace.createElement(material.IconButton, {
|
|
13449
14166
|
style: {
|
|
13450
14167
|
backgroundColor: 'transparent'
|
|
13451
14168
|
},
|
|
13452
14169
|
edge: "end",
|
|
13453
14170
|
size: "small",
|
|
13454
14171
|
onClick: function onClick() {
|
|
13455
|
-
return selectOnlyOne(
|
|
14172
|
+
return selectOnlyOne(filter.id);
|
|
13456
14173
|
},
|
|
13457
14174
|
"data-testid": "onlyButton"
|
|
13458
14175
|
}, /*#__PURE__*/React__namespace.createElement(material.Typography, {
|
|
@@ -13485,25 +14202,22 @@
|
|
|
13485
14202
|
* */
|
|
13486
14203
|
|
|
13487
14204
|
var KeywordFilterResultsListItemConnect = function KeywordFilterResultsListItemConnect(_a) {
|
|
13488
|
-
var
|
|
14205
|
+
var filter = _a.filter;
|
|
13489
14206
|
var dispatch = reactRedux.useDispatch();
|
|
13490
|
-
var
|
|
13491
|
-
dispatch(layerSelectActions.
|
|
13492
|
-
|
|
14207
|
+
var toggleFilter = React__namespace.useCallback(function (filterIds) {
|
|
14208
|
+
dispatch(layerSelectActions.toggleFilter({
|
|
14209
|
+
filterIds: filterIds
|
|
13493
14210
|
}));
|
|
13494
14211
|
}, [dispatch]);
|
|
13495
|
-
var
|
|
13496
|
-
dispatch(layerSelectActions.
|
|
13497
|
-
|
|
14212
|
+
var enableOnlyOneFilter = React__namespace.useCallback(function (filterId) {
|
|
14213
|
+
dispatch(layerSelectActions.enableOnlyOneFilter({
|
|
14214
|
+
filterId: filterId
|
|
13498
14215
|
}));
|
|
13499
14216
|
}, [dispatch]);
|
|
13500
|
-
var keywordObject = reactRedux.useSelector(function (store) {
|
|
13501
|
-
return getKeywordObjectById(store, keyword);
|
|
13502
|
-
});
|
|
13503
14217
|
return /*#__PURE__*/React__namespace.createElement(FilterListItem, {
|
|
13504
|
-
|
|
13505
|
-
|
|
13506
|
-
|
|
14218
|
+
filter: filter,
|
|
14219
|
+
toggleFilter: toggleFilter,
|
|
14220
|
+
enableOnlyOneFilter: enableOnlyOneFilter
|
|
13507
14221
|
});
|
|
13508
14222
|
};
|
|
13509
14223
|
|
|
@@ -13526,26 +14240,26 @@
|
|
|
13526
14240
|
|
|
13527
14241
|
var KeywordFilterSelectAllSwitchConnect = function KeywordFilterSelectAllSwitchConnect() {
|
|
13528
14242
|
var dispatch = reactRedux.useDispatch();
|
|
13529
|
-
var
|
|
13530
|
-
return
|
|
14243
|
+
var allFiltersActive = reactRedux.useSelector(function (store) {
|
|
14244
|
+
return isAllFiltersChecked(store);
|
|
13531
14245
|
});
|
|
13532
|
-
var
|
|
13533
|
-
return
|
|
14246
|
+
var allFilterIds = reactRedux.useSelector(function (store) {
|
|
14247
|
+
return getAllFilterIds(store);
|
|
13534
14248
|
});
|
|
13535
|
-
var
|
|
13536
|
-
return
|
|
14249
|
+
var checkedFilterIds = reactRedux.useSelector(function (store) {
|
|
14250
|
+
return getCheckedFilterIds(store);
|
|
13537
14251
|
});
|
|
13538
|
-
var
|
|
13539
|
-
var
|
|
13540
|
-
return !
|
|
14252
|
+
var toggleFilters = React__namespace.useCallback(function () {
|
|
14253
|
+
var filterIds = allFiltersActive ? checkedFilterIds : allFilterIds.filter(function (id) {
|
|
14254
|
+
return !checkedFilterIds.includes(id);
|
|
13541
14255
|
});
|
|
13542
|
-
dispatch(layerSelectActions.
|
|
13543
|
-
|
|
14256
|
+
dispatch(layerSelectActions.toggleFilter({
|
|
14257
|
+
filterIds: filterIds
|
|
13544
14258
|
}));
|
|
13545
|
-
}, [
|
|
14259
|
+
}, [allFilterIds, allFiltersActive, checkedFilterIds, dispatch]);
|
|
13546
14260
|
return /*#__PURE__*/React__namespace.createElement(material.Switch, {
|
|
13547
|
-
checked:
|
|
13548
|
-
onChange:
|
|
14261
|
+
checked: allFiltersActive,
|
|
14262
|
+
onChange: toggleFilters,
|
|
13549
14263
|
"data-testid": "customSwitch"
|
|
13550
14264
|
});
|
|
13551
14265
|
};
|
|
@@ -13566,23 +14280,39 @@
|
|
|
13566
14280
|
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
13567
14281
|
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
13568
14282
|
* */
|
|
14283
|
+
var DIALOG_TITLE = 'Groups & Keywords';
|
|
13569
14284
|
|
|
13570
14285
|
var KeywordFilterResults = function KeywordFilterResults(_a) {
|
|
13571
|
-
var
|
|
13572
|
-
|
|
14286
|
+
var _b, _c;
|
|
14287
|
+
|
|
14288
|
+
var filters = _a.filters,
|
|
13573
14289
|
bounds = _a.bounds,
|
|
13574
|
-
|
|
13575
|
-
onClose =
|
|
13576
|
-
showTitle = _a.showTitle,
|
|
14290
|
+
_d = _a.onClose,
|
|
14291
|
+
onClose = _d === void 0 ? function () {} : _d,
|
|
13577
14292
|
isOpen = _a.isOpen,
|
|
13578
|
-
|
|
13579
|
-
onMouseDown =
|
|
13580
|
-
|
|
13581
|
-
order =
|
|
13582
|
-
|
|
13583
|
-
source =
|
|
14293
|
+
_e = _a.onMouseDown,
|
|
14294
|
+
onMouseDown = _e === void 0 ? function () {} : _e,
|
|
14295
|
+
_f = _a.order,
|
|
14296
|
+
order = _f === void 0 ? 0 : _f,
|
|
14297
|
+
_g = _a.source,
|
|
14298
|
+
source = _g === void 0 ? 'module' : _g;
|
|
14299
|
+
var filtersGroupedByType = _.groupBy(filters, function (filter) {
|
|
14300
|
+
return filter.type;
|
|
14301
|
+
});
|
|
14302
|
+
var groups = (_b = filtersGroupedByType['group']) !== null && _b !== void 0 ? _b : [];
|
|
14303
|
+
|
|
14304
|
+
var groupsSorted = __spreadArray([], __read(groups)).sort(function (a, b) {
|
|
14305
|
+
return a.name.localeCompare(b.name);
|
|
14306
|
+
});
|
|
14307
|
+
|
|
14308
|
+
var keywords = (_c = filtersGroupedByType['keyword']) !== null && _c !== void 0 ? _c : [];
|
|
14309
|
+
|
|
14310
|
+
var keywordsSorted = __spreadArray([], __read(keywords)).sort(function (a, b) {
|
|
14311
|
+
return a.name.localeCompare(b.name);
|
|
14312
|
+
});
|
|
14313
|
+
|
|
13584
14314
|
return /*#__PURE__*/React__namespace.createElement(shared.ToolContainerDraggable, {
|
|
13585
|
-
title:
|
|
14315
|
+
title: DIALOG_TITLE,
|
|
13586
14316
|
"data-testid": "keywordFilterResults",
|
|
13587
14317
|
startSize: {
|
|
13588
14318
|
width: 349,
|
|
@@ -13633,10 +14363,15 @@
|
|
|
13633
14363
|
style: {
|
|
13634
14364
|
padding: '0px'
|
|
13635
14365
|
}
|
|
13636
|
-
},
|
|
14366
|
+
}, /*#__PURE__*/React__namespace.createElement(material.ListSubheader, null, "Groups"), groupsSorted.map(function (group) {
|
|
14367
|
+
return /*#__PURE__*/React__namespace.createElement(KeywordFilterResultsListItemConnect, {
|
|
14368
|
+
key: group.id,
|
|
14369
|
+
filter: group
|
|
14370
|
+
});
|
|
14371
|
+
}), /*#__PURE__*/React__namespace.createElement(material.ListSubheader, null, "Keywords"), keywordsSorted.map(function (keyword) {
|
|
13637
14372
|
return /*#__PURE__*/React__namespace.createElement(KeywordFilterResultsListItemConnect, {
|
|
13638
|
-
key:
|
|
13639
|
-
|
|
14373
|
+
key: keyword.id,
|
|
14374
|
+
filter: keyword
|
|
13640
14375
|
});
|
|
13641
14376
|
})));
|
|
13642
14377
|
};
|
|
@@ -13659,78 +14394,63 @@
|
|
|
13659
14394
|
* */
|
|
13660
14395
|
|
|
13661
14396
|
var KeywordFilterResultsConnect = function KeywordFilterResultsConnect(_a) {
|
|
13662
|
-
var bounds = _a.bounds
|
|
13663
|
-
_b = _a.showTitle,
|
|
13664
|
-
showTitle = _b === void 0 ? false : _b;
|
|
13665
|
-
var dispatch = reactRedux.useDispatch();
|
|
13666
|
-
var mapId = reactRedux.useSelector(function (store) {
|
|
13667
|
-
return getDialogMapId(store, 'keywordFilter');
|
|
13668
|
-
});
|
|
13669
|
-
var isOpenInStore = reactRedux.useSelector(function (store) {
|
|
13670
|
-
return getisDialogOpen(store, 'keywordFilter');
|
|
13671
|
-
});
|
|
13672
|
-
var onClose = React__namespace.useCallback(function () {
|
|
13673
|
-
return dispatch(uiActions.setToggleOpenDialog({
|
|
13674
|
-
type: 'keywordFilter',
|
|
13675
|
-
setOpen: false
|
|
13676
|
-
}));
|
|
13677
|
-
}, [dispatch]);
|
|
13678
|
-
var isMapPresent = reactRedux.useSelector(function (store) {
|
|
13679
|
-
return getIsMapPresent(store, mapId);
|
|
13680
|
-
});
|
|
13681
|
-
var uiOrder = reactRedux.useSelector(function (store) {
|
|
13682
|
-
return getDialogOrder(store, 'keywordFilter');
|
|
13683
|
-
});
|
|
13684
|
-
var uiSource = reactRedux.useSelector(function (store) {
|
|
13685
|
-
return getDialogSource(store, 'keywordFilter');
|
|
13686
|
-
});
|
|
13687
|
-
var uiIsOrderedOnTop = reactRedux.useSelector(function (store) {
|
|
13688
|
-
return getDialogIsOrderedOnTop(store, 'keywordFilter');
|
|
13689
|
-
}); // Check to ensure the currently active map is still present on screen - if not, close the dialog
|
|
14397
|
+
var bounds = _a.bounds;
|
|
13690
14398
|
|
|
13691
|
-
|
|
13692
|
-
|
|
13693
|
-
|
|
13694
|
-
|
|
13695
|
-
|
|
13696
|
-
|
|
13697
|
-
return dispatch(uiActions.registerDialog({
|
|
13698
|
-
type: 'keywordFilter',
|
|
13699
|
-
setOpen: false
|
|
13700
|
-
}));
|
|
13701
|
-
}, [dispatch]);
|
|
13702
|
-
var unregisterDialog = React__namespace.useCallback(function () {
|
|
13703
|
-
return dispatch(uiActions.unregisterDialog({
|
|
13704
|
-
type: 'keywordFilter'
|
|
13705
|
-
}));
|
|
13706
|
-
}, [dispatch]);
|
|
13707
|
-
var onOrderDialog = React__namespace.useCallback(function () {
|
|
13708
|
-
if (!uiIsOrderedOnTop) {
|
|
13709
|
-
dispatch(uiActions.orderDialog({
|
|
13710
|
-
type: 'keywordFilter'
|
|
13711
|
-
}));
|
|
13712
|
-
}
|
|
13713
|
-
}, [dispatch, uiIsOrderedOnTop]); // Register this dialog in the store
|
|
14399
|
+
var _b = useSetupDialog('keywordFilter'),
|
|
14400
|
+
dialogOrder = _b.dialogOrder,
|
|
14401
|
+
onCloseDialog = _b.onCloseDialog,
|
|
14402
|
+
setDialogOrder = _b.setDialogOrder,
|
|
14403
|
+
isDialogOpen = _b.isDialogOpen,
|
|
14404
|
+
uiSource = _b.uiSource;
|
|
13714
14405
|
|
|
13715
|
-
|
|
13716
|
-
registerDialog();
|
|
13717
|
-
return function () {
|
|
13718
|
-
unregisterDialog();
|
|
13719
|
-
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13720
|
-
}, []);
|
|
13721
|
-
var allKeywordIds = reactRedux.useSelector(function (store) {
|
|
13722
|
-
return getAllKeywordIds(store);
|
|
13723
|
-
});
|
|
14406
|
+
var filters = reactRedux.useSelector(getAllFilters);
|
|
13724
14407
|
return /*#__PURE__*/React__namespace.createElement(KeywordFilterResults, {
|
|
13725
|
-
allKeywordIds: allKeywordIds,
|
|
13726
|
-
mapId: mapId,
|
|
13727
14408
|
bounds: bounds,
|
|
13728
|
-
isOpen:
|
|
13729
|
-
onClose:
|
|
13730
|
-
|
|
13731
|
-
|
|
13732
|
-
|
|
13733
|
-
|
|
14409
|
+
isOpen: isDialogOpen,
|
|
14410
|
+
onClose: onCloseDialog,
|
|
14411
|
+
onMouseDown: setDialogOrder,
|
|
14412
|
+
order: dialogOrder,
|
|
14413
|
+
source: uiSource,
|
|
14414
|
+
filters: filters
|
|
14415
|
+
});
|
|
14416
|
+
};
|
|
14417
|
+
|
|
14418
|
+
/* *
|
|
14419
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
14420
|
+
* you may not use this file except in compliance with the License.
|
|
14421
|
+
* You may obtain a copy of the License at
|
|
14422
|
+
*
|
|
14423
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
14424
|
+
*
|
|
14425
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14426
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14427
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14428
|
+
* See the License for the specific language governing permissions and
|
|
14429
|
+
* limitations under the License.
|
|
14430
|
+
*
|
|
14431
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
14432
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
14433
|
+
* */
|
|
14434
|
+
|
|
14435
|
+
var LayerInfoDialogConnect = function LayerInfoDialogConnect() {
|
|
14436
|
+
var layer = reactRedux.useSelector(function (store) {
|
|
14437
|
+
return getActiveLayerInfo(store);
|
|
14438
|
+
});
|
|
14439
|
+
|
|
14440
|
+
var _a = useSetupDialog(DialogTypes.LayerInfo),
|
|
14441
|
+
dialogOrder = _a.dialogOrder,
|
|
14442
|
+
onCloseDialog = _a.onCloseDialog,
|
|
14443
|
+
setDialogOrder = _a.setDialogOrder,
|
|
14444
|
+
uiSource = _a.uiSource,
|
|
14445
|
+
isDialogOpen = _a.isDialogOpen;
|
|
14446
|
+
|
|
14447
|
+
return /*#__PURE__*/React__default["default"].createElement(LayerInfoDialog, {
|
|
14448
|
+
isOpen: isDialogOpen,
|
|
14449
|
+
onClose: onCloseDialog,
|
|
14450
|
+
onMouseDown: setDialogOrder,
|
|
14451
|
+
order: dialogOrder,
|
|
14452
|
+
source: uiSource,
|
|
14453
|
+
layer: layer
|
|
13734
14454
|
});
|
|
13735
14455
|
};
|
|
13736
14456
|
|
|
@@ -13758,69 +14478,59 @@
|
|
|
13758
14478
|
* ``` <LayerSelectConnect />```
|
|
13759
14479
|
*/
|
|
13760
14480
|
|
|
13761
|
-
var LayerSelectConnect = function LayerSelectConnect(_a) {
|
|
13762
|
-
var bounds = _a.bounds,
|
|
13763
|
-
_b = _a.showTitle,
|
|
13764
|
-
showTitle = _b === void 0 ? false : _b
|
|
13765
|
-
|
|
13766
|
-
|
|
14481
|
+
var LayerSelectConnect = function LayerSelectConnect(_a) {
|
|
14482
|
+
var bounds = _a.bounds,
|
|
14483
|
+
_b = _a.showTitle,
|
|
14484
|
+
showTitle = _b === void 0 ? false : _b;
|
|
14485
|
+
var mapId = reactRedux.useSelector(function (store) {
|
|
14486
|
+
return getDialogMapId(store, 'layerSelect');
|
|
14487
|
+
});
|
|
14488
|
+
|
|
14489
|
+
var _c = useSetupDialog('layerSelect'),
|
|
14490
|
+
dialogOrder = _c.dialogOrder,
|
|
14491
|
+
isDialogOpen = _c.isDialogOpen,
|
|
14492
|
+
onCloseDialog = _c.onCloseDialog,
|
|
14493
|
+
setDialogOrder = _c.setDialogOrder,
|
|
14494
|
+
uiSource = _c.uiSource;
|
|
14495
|
+
|
|
14496
|
+
return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement(LayerSelect, {
|
|
14497
|
+
mapId: mapId,
|
|
14498
|
+
bounds: bounds,
|
|
14499
|
+
isOpen: isDialogOpen,
|
|
14500
|
+
onClose: onCloseDialog,
|
|
14501
|
+
showTitle: showTitle,
|
|
14502
|
+
onMouseDown: setDialogOrder,
|
|
14503
|
+
order: dialogOrder,
|
|
14504
|
+
source: uiSource
|
|
14505
|
+
}), /*#__PURE__*/React__namespace.createElement(KeywordFilterResultsConnect, null), /*#__PURE__*/React__namespace.createElement(LayerInfoDialogConnect, null));
|
|
14506
|
+
};
|
|
14507
|
+
|
|
14508
|
+
/* *
|
|
14509
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
14510
|
+
* you may not use this file except in compliance with the License.
|
|
14511
|
+
* You may obtain a copy of the License at
|
|
14512
|
+
*
|
|
14513
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
14514
|
+
*
|
|
14515
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14516
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14517
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14518
|
+
* See the License for the specific language governing permissions and
|
|
14519
|
+
* limitations under the License.
|
|
14520
|
+
*
|
|
14521
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
14522
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
14523
|
+
* */
|
|
14524
|
+
var useFetchServices = function useFetchServices(dialogType, preloadedServices) {
|
|
14525
|
+
if (preloadedServices === void 0) {
|
|
14526
|
+
preloadedServices = preloadedDefaultMapServices;
|
|
14527
|
+
}
|
|
14528
|
+
|
|
13767
14529
|
var dispatch = reactRedux.useDispatch();
|
|
13768
14530
|
var isMounted = shared.useIsMounted().isMounted;
|
|
13769
|
-
var mapId = reactRedux.useSelector(function (store) {
|
|
13770
|
-
return getDialogMapId(store, 'layerSelect');
|
|
13771
|
-
});
|
|
13772
14531
|
var isOpenInStore = reactRedux.useSelector(function (store) {
|
|
13773
|
-
return getisDialogOpen(store,
|
|
13774
|
-
});
|
|
13775
|
-
var onClose = React__namespace.useCallback(function () {
|
|
13776
|
-
return dispatch(uiActions.setToggleOpenDialog({
|
|
13777
|
-
type: 'layerSelect',
|
|
13778
|
-
setOpen: false
|
|
13779
|
-
}));
|
|
13780
|
-
}, [dispatch]);
|
|
13781
|
-
var isMapPresent = reactRedux.useSelector(function (store) {
|
|
13782
|
-
return getIsMapPresent(store, mapId);
|
|
14532
|
+
return getisDialogOpen(store, dialogType);
|
|
13783
14533
|
});
|
|
13784
|
-
var uiOrder = reactRedux.useSelector(function (store) {
|
|
13785
|
-
return getDialogOrder(store, 'layerSelect');
|
|
13786
|
-
});
|
|
13787
|
-
var uiSource = reactRedux.useSelector(function (store) {
|
|
13788
|
-
return getDialogSource(store, 'layerSelect');
|
|
13789
|
-
});
|
|
13790
|
-
var uiIsOrderedOnTop = reactRedux.useSelector(function (store) {
|
|
13791
|
-
return getDialogIsOrderedOnTop(store, 'layerSelect');
|
|
13792
|
-
}); // Check to ensure the currently active map is still present on screen - if not, close the dialog
|
|
13793
|
-
|
|
13794
|
-
React__namespace.useEffect(function () {
|
|
13795
|
-
if (mapId !== '' && !isMapPresent) {
|
|
13796
|
-
onClose();
|
|
13797
|
-
}
|
|
13798
|
-
}, [mapId, isMapPresent, onClose]);
|
|
13799
|
-
var registerDialog = React__namespace.useCallback(function () {
|
|
13800
|
-
return dispatch(uiActions.registerDialog({
|
|
13801
|
-
type: 'layerSelect',
|
|
13802
|
-
setOpen: false
|
|
13803
|
-
}));
|
|
13804
|
-
}, [dispatch]);
|
|
13805
|
-
var unregisterDialog = React__namespace.useCallback(function () {
|
|
13806
|
-
return dispatch(uiActions.unregisterDialog({
|
|
13807
|
-
type: 'layerSelect'
|
|
13808
|
-
}));
|
|
13809
|
-
}, [dispatch]);
|
|
13810
|
-
var onOrderDialog = React__namespace.useCallback(function () {
|
|
13811
|
-
if (!uiIsOrderedOnTop) {
|
|
13812
|
-
dispatch(uiActions.orderDialog({
|
|
13813
|
-
type: 'layerSelect'
|
|
13814
|
-
}));
|
|
13815
|
-
}
|
|
13816
|
-
}, [dispatch, uiIsOrderedOnTop]); // Register this dialog in the store
|
|
13817
|
-
|
|
13818
|
-
React__namespace.useEffect(function () {
|
|
13819
|
-
registerDialog();
|
|
13820
|
-
return function () {
|
|
13821
|
-
unregisterDialog();
|
|
13822
|
-
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13823
|
-
}, []);
|
|
13824
14534
|
var serviceSetLayers = React__namespace.useCallback(function (payload) {
|
|
13825
14535
|
dispatch(serviceActions.serviceSetLayers(payload));
|
|
13826
14536
|
}, [dispatch]);
|
|
@@ -13840,7 +14550,9 @@
|
|
|
13840
14550
|
name: service.name,
|
|
13841
14551
|
serviceUrl: service.url,
|
|
13842
14552
|
layers: layers,
|
|
13843
|
-
isUserAddedService: checkIfUserAddedService(service)
|
|
14553
|
+
isUserAddedService: checkIfUserAddedService(service),
|
|
14554
|
+
// first try to load the user abstract, otherwise the service abstract
|
|
14555
|
+
"abstract": service["abstract"] || wmService["abstract"]
|
|
13844
14556
|
});
|
|
13845
14557
|
}
|
|
13846
14558
|
})["catch"](function () {
|
|
@@ -13850,16 +14562,13 @@
|
|
|
13850
14562
|
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13851
14563
|
|
|
13852
14564
|
}, [isOpenInStore, preloadedServices, serviceSetLayers]);
|
|
13853
|
-
|
|
13854
|
-
|
|
13855
|
-
|
|
13856
|
-
|
|
13857
|
-
|
|
13858
|
-
|
|
13859
|
-
|
|
13860
|
-
order: uiOrder,
|
|
13861
|
-
source: uiSource
|
|
13862
|
-
}), /*#__PURE__*/React__namespace.createElement(KeywordFilterResultsConnect, null));
|
|
14565
|
+
};
|
|
14566
|
+
var mergePresetsAndUserAddedServices = function mergePresetsAndUserAddedServices(presets, userAddedServices) {
|
|
14567
|
+
return Object.values(__assign(__assign({}, presets.reduce(function (byUrl, preset) {
|
|
14568
|
+
var _a;
|
|
14569
|
+
|
|
14570
|
+
return __assign(__assign({}, byUrl), (_a = {}, _a[preset.url] = preset, _a));
|
|
14571
|
+
}, {})), userAddedServices));
|
|
13863
14572
|
};
|
|
13864
14573
|
|
|
13865
14574
|
/* *
|
|
@@ -13878,6 +14587,7 @@
|
|
|
13878
14587
|
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
13879
14588
|
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
13880
14589
|
* */
|
|
14590
|
+
var dialogType = 'layerManager';
|
|
13881
14591
|
/**
|
|
13882
14592
|
* Layer Managerconnected to the store displaying the layers forthe active map Id
|
|
13883
14593
|
* Please note that in order to use this and open/close the dialog, every map on the screen that should be able to show
|
|
@@ -13901,87 +14611,41 @@
|
|
|
13901
14611
|
layerSelect = _c === void 0 ? false : _c,
|
|
13902
14612
|
_d = _a.leftComponent,
|
|
13903
14613
|
leftComponent = _d === void 0 ? null : _d;
|
|
13904
|
-
var dispatch = reactRedux.useDispatch();
|
|
13905
|
-
var isOpenInStore = reactRedux.useSelector(function (store) {
|
|
13906
|
-
return getisDialogOpen(store, 'layerManager');
|
|
13907
|
-
});
|
|
13908
14614
|
var mapId = reactRedux.useSelector(function (store) {
|
|
13909
|
-
return getDialogMapId(store,
|
|
13910
|
-
});
|
|
13911
|
-
var onClose = React__namespace.useCallback(function () {
|
|
13912
|
-
return dispatch(uiActions.setToggleOpenDialog({
|
|
13913
|
-
type: 'layerManager',
|
|
13914
|
-
setOpen: false
|
|
13915
|
-
}));
|
|
13916
|
-
}, [dispatch]);
|
|
13917
|
-
var isMapPresent = reactRedux.useSelector(function (store) {
|
|
13918
|
-
return getIsMapPresent(store, mapId);
|
|
13919
|
-
});
|
|
13920
|
-
var uiOrder = reactRedux.useSelector(function (store) {
|
|
13921
|
-
return getDialogOrder(store, 'layerManager');
|
|
13922
|
-
});
|
|
13923
|
-
var uiSource = reactRedux.useSelector(function (store) {
|
|
13924
|
-
return getDialogSource(store, 'layerManager');
|
|
13925
|
-
});
|
|
13926
|
-
var uiIsOrderedOnTop = reactRedux.useSelector(function (store) {
|
|
13927
|
-
return getDialogIsOrderedOnTop(store, 'layerManager');
|
|
14615
|
+
return getDialogMapId(store, dialogType);
|
|
13928
14616
|
});
|
|
13929
14617
|
var isMapPresetLoading = reactRedux.useSelector(function (store) {
|
|
13930
14618
|
return getIsMapPresetLoading(store, mapId);
|
|
13931
14619
|
});
|
|
13932
14620
|
var mapPresetError = reactRedux.useSelector(function (store) {
|
|
13933
14621
|
return getMapPresetError(store, mapId);
|
|
13934
|
-
});
|
|
14622
|
+
});
|
|
13935
14623
|
|
|
13936
|
-
|
|
13937
|
-
|
|
13938
|
-
|
|
13939
|
-
|
|
13940
|
-
|
|
13941
|
-
|
|
13942
|
-
return dispatch(uiActions.registerDialog({
|
|
13943
|
-
type: 'layerManager',
|
|
13944
|
-
setOpen: false
|
|
13945
|
-
}));
|
|
13946
|
-
}, [dispatch]);
|
|
13947
|
-
var unregisterDialog = React__namespace.useCallback(function () {
|
|
13948
|
-
return dispatch(uiActions.unregisterDialog({
|
|
13949
|
-
type: 'layerManager'
|
|
13950
|
-
}));
|
|
13951
|
-
}, [dispatch]);
|
|
13952
|
-
var onOrderDialog = React__namespace.useCallback(function () {
|
|
13953
|
-
if (!uiIsOrderedOnTop) {
|
|
13954
|
-
dispatch(uiActions.orderDialog({
|
|
13955
|
-
type: 'layerManager'
|
|
13956
|
-
}));
|
|
13957
|
-
}
|
|
13958
|
-
}, [dispatch, uiIsOrderedOnTop]); // Register this dialog in the store
|
|
14624
|
+
var _e = useSetupDialog(dialogType),
|
|
14625
|
+
dialogOrder = _e.dialogOrder,
|
|
14626
|
+
setDialogOrder = _e.setDialogOrder,
|
|
14627
|
+
onCloseDialog = _e.onCloseDialog,
|
|
14628
|
+
isDialogOpen = _e.isDialogOpen,
|
|
14629
|
+
uiSource = _e.uiSource;
|
|
13959
14630
|
|
|
13960
|
-
|
|
13961
|
-
registerDialog();
|
|
13962
|
-
return function () {
|
|
13963
|
-
unregisterDialog();
|
|
13964
|
-
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13965
|
-
}, []);
|
|
14631
|
+
useFetchServices(dialogType, preloadedMapServices);
|
|
13966
14632
|
return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement(LayerManager, {
|
|
13967
14633
|
mapId: mapId,
|
|
13968
14634
|
preloadedAvailableBaseLayers: preloadedAvailableBaseLayers,
|
|
13969
14635
|
preloadedMapServices: preloadedMapServices,
|
|
13970
14636
|
preloadedBaseServices: preloadedBaseServices,
|
|
13971
14637
|
bounds: bounds,
|
|
13972
|
-
isOpen:
|
|
13973
|
-
onClose:
|
|
14638
|
+
isOpen: isDialogOpen,
|
|
14639
|
+
onClose: onCloseDialog,
|
|
13974
14640
|
showTitle: showTitle,
|
|
13975
|
-
onMouseDown:
|
|
13976
|
-
order:
|
|
14641
|
+
onMouseDown: setDialogOrder,
|
|
14642
|
+
order: dialogOrder,
|
|
13977
14643
|
source: uiSource,
|
|
13978
14644
|
layerSelect: layerSelect,
|
|
13979
14645
|
leftComponent: leftComponent,
|
|
13980
14646
|
isLoading: isMapPresetLoading,
|
|
13981
14647
|
error: mapPresetError
|
|
13982
|
-
}), layerSelect && /*#__PURE__*/React__namespace.createElement(LayerSelectConnect,
|
|
13983
|
-
preloadedServices: preloadedMapServices
|
|
13984
|
-
}));
|
|
14648
|
+
}), layerSelect && /*#__PURE__*/React__namespace.createElement(LayerSelectConnect, null));
|
|
13985
14649
|
};
|
|
13986
14650
|
|
|
13987
14651
|
/* *
|
|
@@ -14223,7 +14887,7 @@
|
|
|
14223
14887
|
return theme.Equalizer;
|
|
14224
14888
|
}
|
|
14225
14889
|
|
|
14226
|
-
return theme.
|
|
14890
|
+
return theme.DimensionsElevation;
|
|
14227
14891
|
};
|
|
14228
14892
|
|
|
14229
14893
|
/* *
|
|
@@ -14527,7 +15191,7 @@
|
|
|
14527
15191
|
_b = _a.order,
|
|
14528
15192
|
order = _b === void 0 ? 0 : _b,
|
|
14529
15193
|
onMouseDown = _a.onMouseDown,
|
|
14530
|
-
|
|
15194
|
+
onCloseDialog = _a.onCloseDialog,
|
|
14531
15195
|
_c = _a.index,
|
|
14532
15196
|
index = _c === void 0 ? 0 : _c,
|
|
14533
15197
|
_d = _a.source,
|
|
@@ -14582,9 +15246,7 @@
|
|
|
14582
15246
|
headerSize: "small",
|
|
14583
15247
|
isOpen: isOpen,
|
|
14584
15248
|
"data-testid": "multidimensionContent-" + title,
|
|
14585
|
-
onClose:
|
|
14586
|
-
return onToggleDialog(false);
|
|
14587
|
-
},
|
|
15249
|
+
onClose: onCloseDialog,
|
|
14588
15250
|
bounds: "parent",
|
|
14589
15251
|
onMouseDown: onMouseDown,
|
|
14590
15252
|
order: order,
|
|
@@ -14631,71 +15293,26 @@
|
|
|
14631
15293
|
var MultiMapSingleDimensionSelectConnect = function MultiMapSingleDimensionSelectConnect(_a) {
|
|
14632
15294
|
var dimensionName = _a.dimensionName,
|
|
14633
15295
|
index = _a.index;
|
|
14634
|
-
var dispatch = reactRedux.useDispatch();
|
|
14635
15296
|
var uiDialogType = getDimensionType(dimensionName);
|
|
14636
15297
|
var mapId = reactRedux.useSelector(function (store) {
|
|
14637
15298
|
return getDialogMapId(store, uiDialogType);
|
|
14638
15299
|
});
|
|
14639
|
-
var uiOrder = reactRedux.useSelector(function (store) {
|
|
14640
|
-
return getDialogOrder(store, uiDialogType);
|
|
14641
|
-
});
|
|
14642
|
-
var uiSource = reactRedux.useSelector(function (store) {
|
|
14643
|
-
return getDialogSource(store, uiDialogType);
|
|
14644
|
-
});
|
|
14645
|
-
var uiIsOrderedOnTop = reactRedux.useSelector(function (store) {
|
|
14646
|
-
return getDialogIsOrderedOnTop(store, uiDialogType);
|
|
14647
|
-
});
|
|
14648
|
-
var isOpen = reactRedux.useSelector(function (store) {
|
|
14649
|
-
return getisDialogOpen(store, uiDialogType);
|
|
14650
|
-
});
|
|
14651
|
-
var isMapPresent = reactRedux.useSelector(function (store) {
|
|
14652
|
-
return getIsMapPresent(store, mapId);
|
|
14653
|
-
});
|
|
14654
|
-
var onOrderDialog = React__namespace.useCallback(function () {
|
|
14655
|
-
if (!uiIsOrderedOnTop) {
|
|
14656
|
-
dispatch(uiActions.orderDialog({
|
|
14657
|
-
type: uiDialogType
|
|
14658
|
-
}));
|
|
14659
|
-
}
|
|
14660
|
-
}, [dispatch, uiDialogType, uiIsOrderedOnTop]);
|
|
14661
|
-
var onToggleDialog = React__namespace.useCallback(function (setOpen) {
|
|
14662
|
-
dispatch(uiActions.setToggleOpenDialog({
|
|
14663
|
-
type: uiDialogType,
|
|
14664
|
-
setOpen: setOpen
|
|
14665
|
-
}));
|
|
14666
|
-
}, [dispatch, uiDialogType]);
|
|
14667
|
-
var registerDialog = React__namespace.useCallback(function (activeMapId) {
|
|
14668
|
-
return dispatch(uiActions.registerDialog({
|
|
14669
|
-
type: uiDialogType,
|
|
14670
|
-
mapId: activeMapId
|
|
14671
|
-
}));
|
|
14672
|
-
}, [dispatch, uiDialogType]);
|
|
14673
|
-
var unregisterDialog = React__namespace.useCallback(function () {
|
|
14674
|
-
return dispatch(uiActions.unregisterDialog({
|
|
14675
|
-
type: uiDialogType
|
|
14676
|
-
}));
|
|
14677
|
-
}, [dispatch, uiDialogType]); // Check to ensure the currently active map is still present on screen - if not, close the dialog
|
|
14678
15300
|
|
|
14679
|
-
|
|
14680
|
-
|
|
14681
|
-
|
|
14682
|
-
|
|
14683
|
-
|
|
15301
|
+
var _b = useSetupDialog(uiDialogType),
|
|
15302
|
+
dialogOrder = _b.dialogOrder,
|
|
15303
|
+
isDialogOpen = _b.isDialogOpen,
|
|
15304
|
+
onCloseDialog = _b.onCloseDialog,
|
|
15305
|
+
setDialogOrder = _b.setDialogOrder,
|
|
15306
|
+
uiSource = _b.uiSource;
|
|
14684
15307
|
|
|
14685
|
-
React__namespace.useEffect(function () {
|
|
14686
|
-
registerDialog(mapId);
|
|
14687
|
-
return function () {
|
|
14688
|
-
unregisterDialog();
|
|
14689
|
-
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
14690
|
-
}, []);
|
|
14691
15308
|
return /*#__PURE__*/React__namespace.createElement(DimensionSelectDialogConnect, {
|
|
14692
15309
|
mapId: mapId,
|
|
14693
15310
|
dimensionName: dimensionName,
|
|
14694
|
-
onMouseDown:
|
|
14695
|
-
|
|
14696
|
-
order:
|
|
15311
|
+
onMouseDown: setDialogOrder,
|
|
15312
|
+
onCloseDialog: onCloseDialog,
|
|
15313
|
+
order: dialogOrder,
|
|
14697
15314
|
source: uiSource,
|
|
14698
|
-
isOpen:
|
|
15315
|
+
isOpen: isDialogOpen,
|
|
14699
15316
|
index: index
|
|
14700
15317
|
});
|
|
14701
15318
|
};
|
|
@@ -14880,108 +15497,142 @@
|
|
|
14880
15497
|
* See the License for the specific language governing permissions and
|
|
14881
15498
|
* limitations under the License.
|
|
14882
15499
|
*
|
|
14883
|
-
* Copyright
|
|
14884
|
-
* Copyright
|
|
15500
|
+
* Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
15501
|
+
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
14885
15502
|
* */
|
|
14886
|
-
var
|
|
14887
|
-
|
|
14888
|
-
|
|
14889
|
-
|
|
14890
|
-
|
|
14891
|
-
|
|
14892
|
-
|
|
14893
|
-
|
|
14894
|
-
|
|
14895
|
-
|
|
14896
|
-
var
|
|
14897
|
-
return
|
|
14898
|
-
delay: getSpeedDelay(speedFactor),
|
|
14899
|
-
markPos: i,
|
|
14900
|
-
text: speedFactor + "x"
|
|
14901
|
-
};
|
|
14902
|
-
});
|
|
14903
|
-
var max = marks.length - 1;
|
|
14904
|
-
var min = 0;
|
|
14905
|
-
var currentValue = marks.findIndex(function (info) {
|
|
14906
|
-
return info.delay === animationDelay;
|
|
15503
|
+
var TimeSliderMenu = function TimeSliderMenu(_a) {
|
|
15504
|
+
var marks = _a.marks,
|
|
15505
|
+
value = _a.value,
|
|
15506
|
+
isOpenByDefault = _a.isOpenByDefault,
|
|
15507
|
+
handleMenuItemClick = _a.handleMenuItemClick,
|
|
15508
|
+
isDisabled = _a.isDisabled,
|
|
15509
|
+
handleAutoClick = _a.handleAutoClick,
|
|
15510
|
+
isAutoSelected = _a.isAutoSelected,
|
|
15511
|
+
title = _a.title,
|
|
15512
|
+
icon = _a.icon;
|
|
15513
|
+
var currentMark = marks.find(function (mark) {
|
|
15514
|
+
return mark.value === value;
|
|
14907
15515
|
});
|
|
14908
15516
|
|
|
14909
|
-
var
|
|
14910
|
-
|
|
14911
|
-
|
|
14912
|
-
|
|
14913
|
-
var onClickButton = function onClickButton() {
|
|
14914
|
-
setOpen(!open);
|
|
14915
|
-
};
|
|
15517
|
+
var _b = __read(React__namespace.useState(null), 2),
|
|
15518
|
+
anchorRef = _b[0],
|
|
15519
|
+
setAnchorRef = _b[1];
|
|
14916
15520
|
|
|
14917
|
-
var
|
|
14918
|
-
|
|
15521
|
+
var _c = __read(React.useState(false), 2),
|
|
15522
|
+
open = _c[0],
|
|
15523
|
+
setOpen = _c[1];
|
|
14919
15524
|
|
|
14920
|
-
|
|
14921
|
-
|
|
15525
|
+
React__namespace.useEffect(function () {
|
|
15526
|
+
if (anchorRef && isOpenByDefault) {
|
|
15527
|
+
setOpen(true);
|
|
14922
15528
|
}
|
|
14923
|
-
};
|
|
14924
|
-
|
|
14925
|
-
|
|
14926
|
-
|
|
14927
|
-
|
|
14928
|
-
|
|
14929
|
-
|
|
14930
|
-
|
|
14931
|
-
|
|
15529
|
+
}, [anchorRef, isOpenByDefault]);
|
|
15530
|
+
return /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
15531
|
+
onKeyDown: function onKeyDown(event) {
|
|
15532
|
+
event.stopPropagation();
|
|
15533
|
+
}
|
|
15534
|
+
}, /*#__PURE__*/React__namespace.createElement(material.Tooltip, {
|
|
15535
|
+
title: title
|
|
15536
|
+
}, /*#__PURE__*/React__namespace.createElement(shared.ToolButton, {
|
|
15537
|
+
onClick: function onClick() {
|
|
15538
|
+
setOpen(true);
|
|
15539
|
+
},
|
|
15540
|
+
ref: setAnchorRef,
|
|
15541
|
+
active: true,
|
|
15542
|
+
width: "58px"
|
|
15543
|
+
}, icon, /*#__PURE__*/React__namespace.createElement(theme.TextIcon, {
|
|
15544
|
+
text: currentMark === null || currentMark === void 0 ? void 0 : currentMark.text
|
|
15545
|
+
}))), /*#__PURE__*/React__namespace.createElement(material.Menu, {
|
|
15546
|
+
anchorEl: anchorRef,
|
|
15547
|
+
open: open,
|
|
15548
|
+
onClose: function onClose() {
|
|
15549
|
+
return setOpen(false);
|
|
15550
|
+
},
|
|
15551
|
+
BackdropProps: {
|
|
15552
|
+
sx: {
|
|
15553
|
+
backgroundColor: 'transparent'
|
|
15554
|
+
}
|
|
15555
|
+
},
|
|
15556
|
+
anchorOrigin: {
|
|
15557
|
+
vertical: 'top',
|
|
15558
|
+
horizontal: 'center'
|
|
15559
|
+
},
|
|
15560
|
+
transformOrigin: {
|
|
15561
|
+
vertical: 'bottom',
|
|
15562
|
+
horizontal: 'center'
|
|
15563
|
+
}
|
|
15564
|
+
}, /*#__PURE__*/React__namespace.createElement(material.MenuItem, {
|
|
15565
|
+
disabled: true,
|
|
15566
|
+
sx: {
|
|
15567
|
+
fontSize: '12px',
|
|
15568
|
+
opacity: 0.67,
|
|
15569
|
+
padding: '0px 12px',
|
|
15570
|
+
'&.MuiMenuItem-root': {
|
|
15571
|
+
minHeight: '30px!important'
|
|
15572
|
+
}
|
|
14932
15573
|
}
|
|
15574
|
+
}, title), marks.map(function (mark) {
|
|
15575
|
+
return /*#__PURE__*/React__namespace.createElement(material.MenuItem, {
|
|
15576
|
+
onClick: function onClick() {
|
|
15577
|
+
handleMenuItemClick(mark);
|
|
15578
|
+
setOpen(false);
|
|
15579
|
+
},
|
|
15580
|
+
key: mark.value,
|
|
15581
|
+
selected: (currentMark === null || currentMark === void 0 ? void 0 : currentMark.value) === mark.value,
|
|
15582
|
+
disabled: isDisabled
|
|
15583
|
+
}, mark.label || mark.text);
|
|
15584
|
+
}), handleAutoClick && /*#__PURE__*/React__namespace.createElement(material.MenuItem, {
|
|
15585
|
+
onClick: function onClick() {
|
|
15586
|
+
handleAutoClick();
|
|
15587
|
+
setOpen(false);
|
|
15588
|
+
},
|
|
15589
|
+
selected: isAutoSelected,
|
|
15590
|
+
disabled: isDisabled
|
|
15591
|
+
}, "Auto")));
|
|
15592
|
+
};
|
|
15593
|
+
|
|
15594
|
+
/* *
|
|
15595
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
15596
|
+
* you may not use this file except in compliance with the License.
|
|
15597
|
+
* You may obtain a copy of the License at
|
|
15598
|
+
*
|
|
15599
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
15600
|
+
*
|
|
15601
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
15602
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15603
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15604
|
+
* See the License for the specific language governing permissions and
|
|
15605
|
+
* limitations under the License.
|
|
15606
|
+
*
|
|
15607
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
15608
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
15609
|
+
* */
|
|
15610
|
+
var speedTooltipTitle = 'Speed';
|
|
14933
15611
|
|
|
14934
|
-
|
|
15612
|
+
var SpeedButton = function SpeedButton(_a) {
|
|
15613
|
+
var animationDelay = _a.animationDelay,
|
|
15614
|
+
setMapAnimationDelay = _a.setMapAnimationDelay;
|
|
14935
15615
|
|
|
14936
|
-
|
|
14937
|
-
|
|
14938
|
-
|
|
14939
|
-
};
|
|
15616
|
+
var sorted = __spreadArray([], __read(speedFactors)).sort(function (a, b) {
|
|
15617
|
+
return b - a;
|
|
15618
|
+
});
|
|
14940
15619
|
|
|
14941
|
-
var
|
|
14942
|
-
|
|
14943
|
-
|
|
14944
|
-
|
|
14945
|
-
|
|
14946
|
-
|
|
14947
|
-
|
|
14948
|
-
|
|
14949
|
-
|
|
14950
|
-
|
|
14951
|
-
|
|
14952
|
-
|
|
14953
|
-
|
|
14954
|
-
|
|
14955
|
-
|
|
14956
|
-
})
|
|
14957
|
-
sx: {
|
|
14958
|
-
padding: '0 0 60px 0',
|
|
14959
|
-
backgroundColor: 'geowebColors.background.surface',
|
|
14960
|
-
width: '95px',
|
|
14961
|
-
height: '150px',
|
|
14962
|
-
position: 'absolute',
|
|
14963
|
-
bottom: '35px'
|
|
14964
|
-
}
|
|
14965
|
-
}, /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
14966
|
-
sx: shared.sliderHeaderStyle
|
|
14967
|
-
}, "Speed"), /*#__PURE__*/React__namespace.createElement(shared.CustomSlider, {
|
|
14968
|
-
"data-testid": "speedSlider",
|
|
14969
|
-
orientation: "vertical",
|
|
14970
|
-
value: currentValue,
|
|
14971
|
-
step: null,
|
|
14972
|
-
max: max,
|
|
14973
|
-
min: min,
|
|
14974
|
-
marks: marks.map(function (_a) {
|
|
14975
|
-
var markPos = _a.markPos,
|
|
14976
|
-
text = _a.text;
|
|
14977
|
-
return {
|
|
14978
|
-
value: markPos,
|
|
14979
|
-
label: text
|
|
14980
|
-
};
|
|
14981
|
-
}),
|
|
14982
|
-
onChange: onChangeSlider,
|
|
14983
|
-
onKeyDown: onKeyDown
|
|
14984
|
-
})) : null);
|
|
15620
|
+
var marks = sorted.map(function (speedFactor) {
|
|
15621
|
+
return {
|
|
15622
|
+
value: getSpeedDelay(speedFactor),
|
|
15623
|
+
text: "x" + speedFactor,
|
|
15624
|
+
label: "x" + speedFactor
|
|
15625
|
+
};
|
|
15626
|
+
});
|
|
15627
|
+
return /*#__PURE__*/React__namespace.createElement(TimeSliderMenu, {
|
|
15628
|
+
handleMenuItemClick: function handleMenuItemClick(mark) {
|
|
15629
|
+
setMapAnimationDelay(mark.value);
|
|
15630
|
+
},
|
|
15631
|
+
icon: /*#__PURE__*/React__namespace.createElement(theme.Speed, null),
|
|
15632
|
+
marks: marks,
|
|
15633
|
+
title: speedTooltipTitle,
|
|
15634
|
+
value: animationDelay
|
|
15635
|
+
});
|
|
14985
15636
|
};
|
|
14986
15637
|
|
|
14987
15638
|
/* *
|
|
@@ -15000,112 +15651,93 @@
|
|
|
15000
15651
|
* Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
15001
15652
|
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
15002
15653
|
* */
|
|
15003
|
-
var
|
|
15004
|
-
value: 1,
|
|
15654
|
+
var marks$1 = [{
|
|
15005
15655
|
label: '1 min',
|
|
15006
|
-
|
|
15656
|
+
value: 1,
|
|
15007
15657
|
text: '1m'
|
|
15008
15658
|
}, {
|
|
15009
|
-
value: 2,
|
|
15010
15659
|
label: '2 min',
|
|
15011
|
-
|
|
15660
|
+
value: 2,
|
|
15012
15661
|
text: '2m'
|
|
15013
15662
|
}, {
|
|
15014
|
-
value: 3,
|
|
15015
15663
|
label: '5 min',
|
|
15016
|
-
|
|
15664
|
+
value: 5,
|
|
15017
15665
|
text: '5m'
|
|
15018
15666
|
}, {
|
|
15019
|
-
value: 4,
|
|
15020
15667
|
label: '10 min',
|
|
15021
|
-
|
|
15668
|
+
value: 10,
|
|
15022
15669
|
text: '10m'
|
|
15023
15670
|
}, {
|
|
15024
|
-
value: 5,
|
|
15025
15671
|
label: '15 min',
|
|
15026
|
-
|
|
15672
|
+
value: 15,
|
|
15027
15673
|
text: '15m'
|
|
15028
15674
|
}, {
|
|
15029
|
-
value: 6,
|
|
15030
15675
|
label: '30 min',
|
|
15031
|
-
|
|
15676
|
+
value: 30,
|
|
15032
15677
|
text: '30m'
|
|
15033
15678
|
}, {
|
|
15034
|
-
value: 7,
|
|
15035
15679
|
label: '1 h',
|
|
15036
|
-
|
|
15680
|
+
value: 60,
|
|
15037
15681
|
text: '1h'
|
|
15038
15682
|
}, {
|
|
15039
|
-
value: 8,
|
|
15040
15683
|
label: '2 h',
|
|
15041
|
-
|
|
15684
|
+
value: 120,
|
|
15042
15685
|
text: '2h'
|
|
15043
15686
|
}, {
|
|
15044
|
-
value: 9,
|
|
15045
15687
|
label: '3 h',
|
|
15046
|
-
|
|
15688
|
+
value: 180,
|
|
15047
15689
|
text: '3h'
|
|
15048
15690
|
}, {
|
|
15049
|
-
value: 10,
|
|
15050
15691
|
label: '6 h',
|
|
15051
|
-
|
|
15692
|
+
value: 360,
|
|
15052
15693
|
text: '6h'
|
|
15053
15694
|
}, {
|
|
15054
|
-
value: 11,
|
|
15055
15695
|
label: '12 h',
|
|
15056
|
-
|
|
15696
|
+
value: 720,
|
|
15057
15697
|
text: '12h'
|
|
15058
15698
|
}, {
|
|
15059
|
-
value: 12,
|
|
15060
15699
|
label: '24 h',
|
|
15061
|
-
|
|
15700
|
+
value: 1440,
|
|
15062
15701
|
text: '24h'
|
|
15063
15702
|
}, {
|
|
15064
|
-
value: 13,
|
|
15065
15703
|
label: '48 h',
|
|
15066
|
-
|
|
15704
|
+
value: 2880,
|
|
15067
15705
|
text: '48h'
|
|
15068
15706
|
}, {
|
|
15069
|
-
value: 14,
|
|
15070
15707
|
label: '72 h',
|
|
15071
|
-
|
|
15708
|
+
value: 4320,
|
|
15072
15709
|
text: '72h'
|
|
15073
15710
|
}, {
|
|
15074
|
-
value: 15,
|
|
15075
15711
|
label: '1 week',
|
|
15076
|
-
|
|
15712
|
+
value: 10080,
|
|
15077
15713
|
text: '1w'
|
|
15078
15714
|
}, {
|
|
15079
|
-
value: 16,
|
|
15080
15715
|
label: '2 weeks',
|
|
15081
|
-
|
|
15716
|
+
value: 20160,
|
|
15082
15717
|
text: '2w'
|
|
15083
15718
|
}, {
|
|
15084
|
-
value: 17,
|
|
15085
15719
|
label: '1 month',
|
|
15086
|
-
|
|
15720
|
+
value: 40320,
|
|
15087
15721
|
text: '4w'
|
|
15088
15722
|
}, {
|
|
15089
|
-
value: 18,
|
|
15090
15723
|
label: '2 months',
|
|
15091
|
-
|
|
15724
|
+
value: 80640,
|
|
15092
15725
|
text: '8w'
|
|
15093
15726
|
}, {
|
|
15094
|
-
value: 19,
|
|
15095
15727
|
label: '6 months',
|
|
15096
|
-
|
|
15728
|
+
value: 241920,
|
|
15097
15729
|
text: '24w'
|
|
15098
15730
|
}, {
|
|
15099
|
-
value: 20,
|
|
15100
15731
|
label: '1 year',
|
|
15101
|
-
|
|
15732
|
+
value: 525600,
|
|
15102
15733
|
text: '1y'
|
|
15103
15734
|
}, {
|
|
15104
|
-
value: 21,
|
|
15105
15735
|
label: '10 years',
|
|
15106
|
-
|
|
15736
|
+
value: 5256000,
|
|
15107
15737
|
text: '10y'
|
|
15108
|
-
}]
|
|
15738
|
+
}].sort(function (a, b) {
|
|
15739
|
+
return b.value - a.value;
|
|
15740
|
+
});
|
|
15109
15741
|
var timeStepTitle = 'Time step';
|
|
15110
15742
|
|
|
15111
15743
|
var TimeStepButton = function TimeStepButton(_a) {
|
|
@@ -15123,86 +15755,31 @@
|
|
|
15123
15755
|
_e = _a.isOpenByDefault,
|
|
15124
15756
|
isOpenByDefault = _e === void 0 ? false : _e;
|
|
15125
15757
|
var timeStepFromLayer = getActiveLayerTimeStep(timeDimension) || timeStep;
|
|
15126
|
-
|
|
15127
|
-
return mark.timeStepValue === timeStep;
|
|
15128
|
-
});
|
|
15129
|
-
React__default["default"].useEffect(function () {
|
|
15758
|
+
React__namespace.useEffect(function () {
|
|
15130
15759
|
if (isTimestepAuto) {
|
|
15131
15760
|
onChangeTimeStep(timeStepFromLayer);
|
|
15132
15761
|
}
|
|
15133
15762
|
}, [timeStepFromLayer, isTimestepAuto, onChangeTimeStep]);
|
|
15134
15763
|
|
|
15135
|
-
var
|
|
15136
|
-
|
|
15137
|
-
|
|
15138
|
-
|
|
15139
|
-
var _g = __read(React__default["default"].useState(false), 2),
|
|
15140
|
-
open = _g[0],
|
|
15141
|
-
setOpen = _g[1];
|
|
15142
|
-
|
|
15143
|
-
React__default["default"].useEffect(function () {
|
|
15144
|
-
if (anchorRef && isOpenByDefault) {
|
|
15145
|
-
setOpen(true);
|
|
15146
|
-
}
|
|
15147
|
-
}, [anchorRef, isOpenByDefault]);
|
|
15148
|
-
return /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
15149
|
-
onKeyDown: function onKeyDown(event) {
|
|
15150
|
-
event.stopPropagation();
|
|
15151
|
-
}
|
|
15152
|
-
}, /*#__PURE__*/React__default["default"].createElement(material.Tooltip, {
|
|
15153
|
-
title: timeStepTitle
|
|
15154
|
-
}, /*#__PURE__*/React__default["default"].createElement(shared.ToolButton, {
|
|
15155
|
-
onClick: function onClick() {
|
|
15156
|
-
setOpen(true);
|
|
15157
|
-
},
|
|
15158
|
-
ref: setAnchorRef,
|
|
15159
|
-
active: true,
|
|
15160
|
-
width: "58px"
|
|
15161
|
-
}, /*#__PURE__*/React__default["default"].createElement(theme.FastForward, null), /*#__PURE__*/React__default["default"].createElement(theme.TextIcon, {
|
|
15162
|
-
text: currentMark === null || currentMark === void 0 ? void 0 : currentMark.text
|
|
15163
|
-
}))), /*#__PURE__*/React__default["default"].createElement(material.Menu, {
|
|
15164
|
-
anchorEl: anchorRef,
|
|
15165
|
-
open: open,
|
|
15166
|
-
onClose: function onClose() {
|
|
15167
|
-
return setOpen(false);
|
|
15168
|
-
},
|
|
15169
|
-
BackdropProps: {
|
|
15170
|
-
sx: {
|
|
15171
|
-
backgroundColor: 'transparent'
|
|
15172
|
-
}
|
|
15173
|
-
},
|
|
15174
|
-
anchorOrigin: {
|
|
15175
|
-
vertical: 'top',
|
|
15176
|
-
horizontal: 'center'
|
|
15177
|
-
},
|
|
15178
|
-
transformOrigin: {
|
|
15179
|
-
vertical: 'bottom',
|
|
15180
|
-
horizontal: 'center'
|
|
15764
|
+
var handleMenuItemClick = function handleMenuItemClick(mark) {
|
|
15765
|
+
if (isTimestepAuto) {
|
|
15766
|
+
onToggleTimestepAuto();
|
|
15181
15767
|
}
|
|
15182
|
-
}, timeStepMarks.sort(function (a, b) {
|
|
15183
|
-
return b.timeStepValue - a.timeStepValue;
|
|
15184
|
-
}).map(function (time) {
|
|
15185
|
-
return /*#__PURE__*/React__default["default"].createElement(material.MenuItem, {
|
|
15186
|
-
onClick: function onClick() {
|
|
15187
|
-
if (isTimestepAuto) {
|
|
15188
|
-
onToggleTimestepAuto();
|
|
15189
|
-
}
|
|
15190
15768
|
|
|
15191
|
-
|
|
15192
|
-
|
|
15193
|
-
|
|
15194
|
-
|
|
15195
|
-
|
|
15196
|
-
|
|
15197
|
-
|
|
15198
|
-
|
|
15199
|
-
|
|
15200
|
-
|
|
15201
|
-
|
|
15202
|
-
|
|
15203
|
-
|
|
15204
|
-
|
|
15205
|
-
}, "Auto")));
|
|
15769
|
+
onChangeTimeStep(mark.value, MapActionOrigin.map);
|
|
15770
|
+
};
|
|
15771
|
+
|
|
15772
|
+
return /*#__PURE__*/React__namespace.createElement(TimeSliderMenu, {
|
|
15773
|
+
title: timeStepTitle,
|
|
15774
|
+
isOpenByDefault: isOpenByDefault,
|
|
15775
|
+
marks: marks$1,
|
|
15776
|
+
value: timeStep,
|
|
15777
|
+
handleMenuItemClick: handleMenuItemClick,
|
|
15778
|
+
isDisabled: disabled,
|
|
15779
|
+
isAutoSelected: isTimestepAuto,
|
|
15780
|
+
handleAutoClick: onToggleTimestepAuto,
|
|
15781
|
+
icon: /*#__PURE__*/React__namespace.createElement(theme.FastForward, null)
|
|
15782
|
+
});
|
|
15206
15783
|
};
|
|
15207
15784
|
|
|
15208
15785
|
/* *
|
|
@@ -16966,7 +17543,7 @@
|
|
|
16966
17543
|
var handleKeyDown = function handleKeyDown(event) {
|
|
16967
17544
|
var target = event.target;
|
|
16968
17545
|
|
|
16969
|
-
if (target.tagName !== 'INPUT' && event.key === 't' && mapIsActive) {
|
|
17546
|
+
if (target.tagName !== 'INPUT' && target.tagName !== 'TEXTAREA' && event.key === 't' && mapIsActive) {
|
|
16970
17547
|
onToggleTimeSlider(!isVisible);
|
|
16971
17548
|
}
|
|
16972
17549
|
};
|
|
@@ -17047,14 +17624,14 @@
|
|
|
17047
17624
|
* Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
17048
17625
|
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
17049
17626
|
* */
|
|
17050
|
-
var connectRedux$
|
|
17627
|
+
var connectRedux$3 = reactRedux.connect(function (store, props) {
|
|
17051
17628
|
return {
|
|
17052
17629
|
isAutoUpdating: isAutoUpdating(store, props.mapId)
|
|
17053
17630
|
};
|
|
17054
17631
|
}, {
|
|
17055
17632
|
toggleAutoUpdate: mapActions$1.toggleAutoUpdate
|
|
17056
17633
|
});
|
|
17057
|
-
var AutoUpdateButtonConnectComponent = connectRedux$
|
|
17634
|
+
var AutoUpdateButtonConnectComponent = connectRedux$3(function (_a) {
|
|
17058
17635
|
var mapId = _a.mapId,
|
|
17059
17636
|
isAutoUpdating = _a.isAutoUpdating,
|
|
17060
17637
|
toggleAutoUpdate = _a.toggleAutoUpdate;
|
|
@@ -17073,7 +17650,7 @@
|
|
|
17073
17650
|
disabled: false
|
|
17074
17651
|
});
|
|
17075
17652
|
});
|
|
17076
|
-
var AutoUpdateButtonConnect = connectRedux$
|
|
17653
|
+
var AutoUpdateButtonConnect = connectRedux$3(AutoUpdateButtonConnectComponent);
|
|
17077
17654
|
|
|
17078
17655
|
/* *
|
|
17079
17656
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -17091,31 +17668,27 @@
|
|
|
17091
17668
|
* Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
17092
17669
|
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
17093
17670
|
* */
|
|
17094
|
-
var connectRedux$3 = reactRedux.connect(function (store, props) {
|
|
17095
|
-
return {
|
|
17096
|
-
animationDelay: getMapAnimationDelay(store, props.mapId)
|
|
17097
|
-
};
|
|
17098
|
-
}, {
|
|
17099
|
-
setMapAnimationDelay: mapActions$1.setAnimationDelay
|
|
17100
|
-
});
|
|
17101
|
-
var SpeedButtonConnect = connectRedux$3(function (_a) {
|
|
17102
|
-
var animationDelay = _a.animationDelay,
|
|
17103
|
-
mapId = _a.mapId,
|
|
17104
|
-
setMapAnimationDelay = _a.setMapAnimationDelay;
|
|
17105
17671
|
|
|
17106
|
-
|
|
17107
|
-
|
|
17672
|
+
var SpeedButtonConnect = function SpeedButtonConnect(_a) {
|
|
17673
|
+
var mapId = _a.mapId;
|
|
17674
|
+
var animationDelay = reactRedux.useSelector(function (store) {
|
|
17675
|
+
return getMapAnimationDelay(store, mapId);
|
|
17676
|
+
});
|
|
17677
|
+
var dispatch = reactRedux.useDispatch();
|
|
17678
|
+
|
|
17679
|
+
var onSetAnimationDelay = function onSetAnimationDelay(animationDelay) {
|
|
17680
|
+
dispatch(mapActions$1.setAnimationDelay({
|
|
17108
17681
|
mapId: mapId,
|
|
17109
|
-
animationDelay:
|
|
17682
|
+
animationDelay: animationDelay,
|
|
17110
17683
|
origin: MapActionOrigin.map
|
|
17111
|
-
});
|
|
17684
|
+
}));
|
|
17112
17685
|
};
|
|
17113
17686
|
|
|
17114
17687
|
return /*#__PURE__*/React__namespace.createElement(SpeedButton, {
|
|
17115
17688
|
animationDelay: animationDelay,
|
|
17116
17689
|
setMapAnimationDelay: onSetAnimationDelay
|
|
17117
17690
|
});
|
|
17118
|
-
}
|
|
17691
|
+
};
|
|
17119
17692
|
|
|
17120
17693
|
/* *
|
|
17121
17694
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -18160,13 +18733,14 @@
|
|
|
18160
18733
|
var setServiceMetadata = function setServiceMetadata(wmLayer, mapId, webMapJSInstance, mapProperties, onUpdateLayerInformation) {
|
|
18161
18734
|
var origin = LayerActionOrigin.ReactMapViewParseLayer;
|
|
18162
18735
|
var service = webmap.WMGetServiceFromStore(wmLayer.service);
|
|
18736
|
+
var serviceName = mapProperties.services[service.id].name;
|
|
18163
18737
|
/* Update list of layers for service */
|
|
18164
18738
|
|
|
18165
18739
|
var done = function done(layers) {
|
|
18166
18740
|
var updateObject = {
|
|
18167
18741
|
origin: origin,
|
|
18168
18742
|
serviceLayers: {
|
|
18169
|
-
name:
|
|
18743
|
+
name: serviceName,
|
|
18170
18744
|
id: service.id,
|
|
18171
18745
|
serviceUrl: wmLayer.service,
|
|
18172
18746
|
layers: layers,
|
|
@@ -21825,6 +22399,9 @@
|
|
|
21825
22399
|
var displayMapPin = reactRedux.useSelector(function (store) {
|
|
21826
22400
|
return getDisplayMapPin(store, mapId);
|
|
21827
22401
|
});
|
|
22402
|
+
var services = reactRedux.useSelector(function (store) {
|
|
22403
|
+
return getServices(store);
|
|
22404
|
+
});
|
|
21828
22405
|
var dispatch = reactRedux.useDispatch();
|
|
21829
22406
|
var map = getWMJSMapById(mapId);
|
|
21830
22407
|
var mapChangeDimension = React__namespace.useCallback(function (mapDimensionPayload) {
|
|
@@ -21912,6 +22489,7 @@
|
|
|
21912
22489
|
animationDelay: animationDelay,
|
|
21913
22490
|
displayMapPin: displayMapPin,
|
|
21914
22491
|
disableMapPin: disableMapPin,
|
|
22492
|
+
services: services,
|
|
21915
22493
|
onMapChangeDimension: function onMapChangeDimension(mapDimensionPayload) {
|
|
21916
22494
|
if (mapDimensionPayload && mapDimensionPayload.dimension && mapDimensionPayload.dimension.name && mapDimensionPayload.dimension.name === 'time') {
|
|
21917
22495
|
setTime({
|
|
@@ -22918,55 +23496,23 @@
|
|
|
22918
23496
|
var syncGroupRemoveTarget = React__namespace.useCallback(function (payload) {
|
|
22919
23497
|
dispatch(actions.syncGroupRemoveTarget(payload));
|
|
22920
23498
|
}, [dispatch]);
|
|
22921
|
-
|
|
22922
|
-
|
|
22923
|
-
|
|
22924
|
-
|
|
22925
|
-
|
|
22926
|
-
|
|
22927
|
-
|
|
22928
|
-
}));
|
|
22929
|
-
}, [dispatch]);
|
|
22930
|
-
var uiOrder = reactRedux.useSelector(function (store) {
|
|
22931
|
-
return getDialogOrder(store, 'syncGroups');
|
|
22932
|
-
});
|
|
22933
|
-
var uiIsOrderedOnTop = reactRedux.useSelector(function (store) {
|
|
22934
|
-
return getDialogIsOrderedOnTop(store, 'syncGroups');
|
|
22935
|
-
});
|
|
22936
|
-
var registerDialog = React__namespace.useCallback(function () {
|
|
22937
|
-
return dispatch(uiActions.registerDialog({
|
|
22938
|
-
type: 'syncGroups',
|
|
22939
|
-
setOpen: false
|
|
22940
|
-
}));
|
|
22941
|
-
}, [dispatch]);
|
|
22942
|
-
var unregisterDialog = React__namespace.useCallback(function () {
|
|
22943
|
-
return dispatch(uiActions.unregisterDialog({
|
|
22944
|
-
type: 'syncGroups'
|
|
22945
|
-
}));
|
|
22946
|
-
}, [dispatch]);
|
|
22947
|
-
var onOrderDialog = React__namespace.useCallback(function () {
|
|
22948
|
-
if (!uiIsOrderedOnTop) {
|
|
22949
|
-
dispatch(uiActions.orderDialog({
|
|
22950
|
-
type: 'syncGroups'
|
|
22951
|
-
}));
|
|
22952
|
-
}
|
|
22953
|
-
}, [dispatch, uiIsOrderedOnTop]);
|
|
22954
|
-
React__namespace.useEffect(function () {
|
|
22955
|
-
registerDialog();
|
|
22956
|
-
return function () {
|
|
22957
|
-
unregisterDialog();
|
|
22958
|
-
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
22959
|
-
}, []);
|
|
23499
|
+
|
|
23500
|
+
var _a = useSetupDialog('syncGroups'),
|
|
23501
|
+
dialogOrder = _a.dialogOrder,
|
|
23502
|
+
isDialogOpen = _a.isDialogOpen,
|
|
23503
|
+
onCloseDialog = _a.onCloseDialog,
|
|
23504
|
+
setDialogOrder = _a.setDialogOrder;
|
|
23505
|
+
|
|
22960
23506
|
return /*#__PURE__*/React__namespace.createElement(SyncGroupViewer, {
|
|
22961
|
-
onClose:
|
|
22962
|
-
isOpen:
|
|
23507
|
+
onClose: onCloseDialog,
|
|
23508
|
+
isOpen: isDialogOpen,
|
|
22963
23509
|
syncGroupViewState: viewState,
|
|
22964
23510
|
syncGroupAddTarget: syncGroupAddTarget,
|
|
22965
23511
|
syncGroupRemoveTarget: syncGroupRemoveTarget,
|
|
22966
23512
|
syncGroupAddGroup: syncGroupAddGroup,
|
|
22967
23513
|
syncGroupRemoveGroup: syncGroupRemoveGroup,
|
|
22968
|
-
order:
|
|
22969
|
-
onMouseDown:
|
|
23514
|
+
order: dialogOrder,
|
|
23515
|
+
onMouseDown: setDialogOrder
|
|
22970
23516
|
});
|
|
22971
23517
|
};
|
|
22972
23518
|
|
|
@@ -23107,57 +23653,6 @@
|
|
|
23107
23653
|
simplePolygonGeoJSON: simplePolygonGeoJSON
|
|
23108
23654
|
});
|
|
23109
23655
|
|
|
23110
|
-
/* *
|
|
23111
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
23112
|
-
* you may not use this file except in compliance with the License.
|
|
23113
|
-
* You may obtain a copy of the License at
|
|
23114
|
-
*
|
|
23115
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
23116
|
-
*
|
|
23117
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
23118
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
23119
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
23120
|
-
* See the License for the specific language governing permissions and
|
|
23121
|
-
* limitations under the License.
|
|
23122
|
-
*
|
|
23123
|
-
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
23124
|
-
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
23125
|
-
* */
|
|
23126
|
-
/**
|
|
23127
|
-
* A Provider component which provides the GeoWeb theme
|
|
23128
|
-
* @param children
|
|
23129
|
-
* @returns
|
|
23130
|
-
*/
|
|
23131
|
-
|
|
23132
|
-
var CoreThemeProvider = function CoreThemeProvider(_a) {
|
|
23133
|
-
var children = _a.children,
|
|
23134
|
-
_b = _a.theme,
|
|
23135
|
-
theme$1 = _b === void 0 ? theme.lightTheme : _b;
|
|
23136
|
-
return /*#__PURE__*/React__default["default"].createElement(theme.ThemeWrapper, {
|
|
23137
|
-
theme: theme$1
|
|
23138
|
-
}, children);
|
|
23139
|
-
};
|
|
23140
|
-
/**
|
|
23141
|
-
* A Provider component which provides the GeoWeb theme and store for the core.
|
|
23142
|
-
* Note: Should only be used with core components, as the provided store is only for core.
|
|
23143
|
-
* @param children
|
|
23144
|
-
* @returns
|
|
23145
|
-
*/
|
|
23146
|
-
|
|
23147
|
-
var CoreThemeStoreProvider = function CoreThemeStoreProvider(_a) {
|
|
23148
|
-
var children = _a.children,
|
|
23149
|
-
_b = _a.theme,
|
|
23150
|
-
theme$1 = _b === void 0 ? theme.lightTheme : _b,
|
|
23151
|
-
store = _a.store;
|
|
23152
|
-
return /*#__PURE__*/React__default["default"].createElement(reactRedux.Provider, {
|
|
23153
|
-
store: store
|
|
23154
|
-
}, /*#__PURE__*/React__default["default"].createElement(reduxDynamicModules.DynamicModuleLoader, {
|
|
23155
|
-
modules: coreModuleConfig
|
|
23156
|
-
}, /*#__PURE__*/React__default["default"].createElement(CoreThemeProvider, {
|
|
23157
|
-
theme: theme$1
|
|
23158
|
-
}, children)));
|
|
23159
|
-
};
|
|
23160
|
-
|
|
23161
23656
|
/* *
|
|
23162
23657
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
23163
23658
|
* you may not use this file except in compliance with the License.
|
|
@@ -23242,6 +23737,57 @@
|
|
|
23242
23737
|
}, props)));
|
|
23243
23738
|
};
|
|
23244
23739
|
|
|
23740
|
+
/* *
|
|
23741
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
23742
|
+
* you may not use this file except in compliance with the License.
|
|
23743
|
+
* You may obtain a copy of the License at
|
|
23744
|
+
*
|
|
23745
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
23746
|
+
*
|
|
23747
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
23748
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
23749
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
23750
|
+
* See the License for the specific language governing permissions and
|
|
23751
|
+
* limitations under the License.
|
|
23752
|
+
*
|
|
23753
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
23754
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
23755
|
+
* */
|
|
23756
|
+
/**
|
|
23757
|
+
* A Provider component which provides the GeoWeb theme
|
|
23758
|
+
* @param children
|
|
23759
|
+
* @returns
|
|
23760
|
+
*/
|
|
23761
|
+
|
|
23762
|
+
var CoreThemeProvider = function CoreThemeProvider(_a) {
|
|
23763
|
+
var children = _a.children,
|
|
23764
|
+
_b = _a.theme,
|
|
23765
|
+
theme$1 = _b === void 0 ? theme.lightTheme : _b;
|
|
23766
|
+
return /*#__PURE__*/React__default["default"].createElement(theme.ThemeWrapper, {
|
|
23767
|
+
theme: theme$1
|
|
23768
|
+
}, children);
|
|
23769
|
+
};
|
|
23770
|
+
/**
|
|
23771
|
+
* A Provider component which provides the GeoWeb theme and store for the core.
|
|
23772
|
+
* Note: Should only be used with core components, as the provided store is only for core.
|
|
23773
|
+
* @param children
|
|
23774
|
+
* @returns
|
|
23775
|
+
*/
|
|
23776
|
+
|
|
23777
|
+
var CoreThemeStoreProvider = function CoreThemeStoreProvider(_a) {
|
|
23778
|
+
var children = _a.children,
|
|
23779
|
+
_b = _a.theme,
|
|
23780
|
+
theme$1 = _b === void 0 ? theme.lightTheme : _b,
|
|
23781
|
+
store = _a.store;
|
|
23782
|
+
return /*#__PURE__*/React__default["default"].createElement(reactRedux.Provider, {
|
|
23783
|
+
store: store
|
|
23784
|
+
}, /*#__PURE__*/React__default["default"].createElement(reduxDynamicModules.DynamicModuleLoader, {
|
|
23785
|
+
modules: coreModuleConfig
|
|
23786
|
+
}, /*#__PURE__*/React__default["default"].createElement(CoreThemeProvider, {
|
|
23787
|
+
theme: theme$1
|
|
23788
|
+
}, /*#__PURE__*/React__default["default"].createElement(SnackbarWrapperConnect, null, children))));
|
|
23789
|
+
};
|
|
23790
|
+
|
|
23245
23791
|
/* *
|
|
23246
23792
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
23247
23793
|
* you may not use this file except in compliance with the License.
|
|
@@ -23378,6 +23924,7 @@
|
|
|
23378
23924
|
exports.uiModuleConfig = uiModuleConfig;
|
|
23379
23925
|
exports.uiSelectors = selectors$1;
|
|
23380
23926
|
exports.uiTypes = types;
|
|
23927
|
+
exports.useSetupDialog = useSetupDialog;
|
|
23381
23928
|
|
|
23382
23929
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
23383
23930
|
|