@opengeoweb/core 9.15.0 → 9.17.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 +311 -129
- package/package.json +3 -2
- package/src/index.d.ts +3 -0
- package/src/lib/components/LanguageSelect/DemoLanguages.stories.d.ts +1 -1
- package/src/lib/{utils → components/LanguageSelect}/languagesService.d.ts +1 -0
- package/src/lib/components/LayerManager/LayerManager.stories.d.ts +10 -10
- package/src/lib/components/LayerManager/LayerManagerUtils.d.ts +1 -1
- package/src/lib/components/MapViewConnect/MapViewConnect.MapPin.stories.d.ts +2 -2
- package/src/lib/components/Providers/Providers.d.ts +4 -5
- package/src/lib/components/SentryRecordButton/SentryRecordButton.d.ts +3 -0
- package/src/lib/components/SentryRecordButton/index.d.ts +1 -0
- package/src/lib/index.d.ts +1 -0
- package/src/lib/utils/i18n.d.ts +4 -0
- /package/src/lib/{utils → components/LanguageSelect}/languageTranslation.d.ts +0 -0
- /package/src/lib/{storyshots/Storyshots.spec.d.ts → components/SentryRecordButton/SentryRecordButton.spec.d.ts} +0 -0
package/index.esm.js
CHANGED
|
@@ -1,24 +1,140 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import React__default, { useState, useCallback, useRef } from 'react';
|
|
3
3
|
import { Grid, Box, MenuItem, Typography, useTheme, Popper, Fade, Tooltip, styled, LinearProgress, FormControl, InputLabel, Paper, List, ListItemButton, ListItemText, CircularProgress, ListSubheader, Dialog, DialogTitle, DialogContent, DialogContentText, TextField, InputAdornment, DialogActions, Button, ListItemIcon, Checkbox } from '@mui/material';
|
|
4
|
-
import { CustomIconButton, TooltipSelect, AlertIcon, sliderHeaderStyle, CustomSlider, ToggleMenu, CustomTooltip, tooltipContainerStyles, renderCounter, AlertBanner, CustomAccordion, calculateStartSize, ToolContainerDraggable, useDebounce, dateUtils, withEggs } from '@opengeoweb/shared';
|
|
4
|
+
import { CustomIconButton, SHARED_NAMESPACE, sharedTranslations, TooltipSelect, AlertIcon, sliderHeaderStyle, CustomSlider, ToggleMenu, CustomTooltip, tooltipContainerStyles, renderCounter, AlertBanner, CustomAccordion, calculateStartSize, ToolContainerDraggable, useDebounce, dateUtils, withEggs, ErrorBoundary } from '@opengeoweb/shared';
|
|
5
5
|
import { CollapseSmall, CollapseMedium, CollapseLarge, CollapseWindow, ExpandWindow, LayersAdd, CloudLoading, Copy, None, FastForward, AutoUpdateActive, Both, Visibility, VisibilityOff, Delete, DragHandle as DragHandle$1, Cached, Add, MapAdd, WorldMapProjection, Layers, List as List$1, ExitDomain, Info, Search, MyLocation, Close, ThemeWrapper, lightTheme } from '@opengeoweb/theme';
|
|
6
6
|
import { useDispatch, useSelector, connect, useStore, Provider } from 'react-redux';
|
|
7
7
|
import { ReactSortable } from 'react-sortablejs';
|
|
8
8
|
import Sortable from 'sortablejs';
|
|
9
9
|
import { layerTypes, layerUtils, layerActions, layerSelectors, serviceSelectors, serviceActions, mapSelectors, mapActions, mapEnums, uiSelectors, uiTypes, useSetupDialog, filterLayers, getUserAddedServices, uiActions, genericActions, drawtoolSelectors, syncConstants, loadingIndicatorActions, IS_LEGEND_OPEN_BY_DEFAULT, defaultLayers, mapStoreActions, getSingularDrawtoolDrawLayerId, syncGroupsSelectors, syncGroupsSelector, coreModuleConfig, routerUtils, routerModuleConfig } from '@opengeoweb/store';
|
|
10
|
-
import { LayerInfoButton, LayerInfoDialog, MapControlButton, MapDimensionSelect, dimensionConfig, DimensionSelectDialog, DimensionSelectButton, ZoomControls, MapView, MapViewLayer, LegendDialog, registerDrawFunction, emptyGeoJSON, MapControls, publicLayers } from '@opengeoweb/webmap-react';
|
|
10
|
+
import { WEBMAP_REACT_NAMESPACE, webmapReactTranslations, LayerInfoButton, LayerInfoDialog, MapControlButton, MapDimensionSelect, dimensionConfig, DimensionSelectDialog, DimensionSelectButton, ZoomControls, MapView, MapViewLayer, LegendDialog, registerDrawFunction, emptyGeoJSON, MapControls, publicLayers } from '@opengeoweb/webmap-react';
|
|
11
|
+
import i18n from 'i18next';
|
|
12
|
+
import { useTranslation, initReactI18next, I18nextProvider } from 'react-i18next';
|
|
13
|
+
import { TIMESLIDER_NAMESPACE, timesliderTranslations, defaultTimeSpan, TIME_SLIDER_LEGEND_HEIGHT, SpeedButton, TimeStepButton, AnimationLengthButton, AnimationLength, TimeSpanButton, marks as marks$1, secondsPerPxFromCanvasWidth, getNewCenterOfFixedPointZoom, OptionsMenuButton, PlayButton, defaultTimeStep, BackwardForwardStepButton, AutoUpdateButton, NowButton, handleSetNowEvent, TimeSliderButtons, TimeSliderCurrentTimeBox, TimeSliderLegend, TimeSlider, onsetNewDateDebounced, getFilteredTime, ControlButtons, OptionsMenu, TimeSliderClock } from '@opengeoweb/timeslider';
|
|
11
14
|
import { webmapUtils, getCapabilities, WMGetServiceFromStore, LayerType, handleDateUtilsISOString, wmServiceListener, EVENT_GETCAPABILITIES_START, EVENT_GETCAPABILITIES_READY, WMLayer } from '@opengeoweb/webmap';
|
|
12
|
-
import { Box as Box$1 } from '@mui/system';
|
|
13
|
-
import { defaultTimeSpan, TIME_SLIDER_LEGEND_HEIGHT, SpeedButton, TimeStepButton, AnimationLengthButton, AnimationLength, TimeSpanButton, marks as marks$1, secondsPerPxFromCanvasWidth, getNewCenterOfFixedPointZoom, OptionsMenuButton, PlayButton, defaultTimeStep, BackwardForwardStepButton, AutoUpdateButton, NowButton, handleSetNowEvent, TimeSliderButtons, TimeSliderCurrentTimeBox, TimeSliderLegend, TimeSlider, onsetNewDateDebounced, getFilteredTime, ControlButtons, OptionsMenu, TimeSliderClock } from '@opengeoweb/timeslider';
|
|
15
|
+
import { Box as Box$1, styled as styled$1 } from '@mui/system';
|
|
14
16
|
import _, { isEqual, range } from 'lodash';
|
|
15
17
|
import { LayerSelectButtonConnect, LayerSelectConnect, layerSelectConfig } from '@opengeoweb/layer-select';
|
|
16
18
|
import axios from 'axios';
|
|
17
19
|
import * as DOMPurify from 'dompurify';
|
|
18
|
-
import i18n from 'i18next';
|
|
19
|
-
import { initReactI18next, I18nextProvider, useTranslation } from 'react-i18next';
|
|
20
20
|
import { SnackbarWrapperConnect } from '@opengeoweb/snackbar';
|
|
21
21
|
import { useNavigate } from 'react-router-dom';
|
|
22
|
+
import * as Sentry from '@sentry/react';
|
|
23
|
+
|
|
24
|
+
var en = {
|
|
25
|
+
feature_info_title: "Click on the map for info.",
|
|
26
|
+
feature_info_no_layers: "No layers added to the map.",
|
|
27
|
+
"add-layer-popup-title": "Load WMS layer(s)",
|
|
28
|
+
"add-layer-popup-service-url": "Service URL",
|
|
29
|
+
"add-layer-popup-available-services": "Available services",
|
|
30
|
+
"add-layer-popup-available-layers": "Available layers for {{serviceName}}",
|
|
31
|
+
"add-layer-popup-reload-layers": "Reload layers from service",
|
|
32
|
+
"layermanager-baselayers-title": "Base layer",
|
|
33
|
+
"layermanager-baselayers-no-available": "No service available",
|
|
34
|
+
"layermanager-acceptance-time": "Acc Time",
|
|
35
|
+
"layermanager-dimensions-total-values": "Dimension value ({{total_dimensions}} options)",
|
|
36
|
+
"layermanager-dimension-title": "Dimension",
|
|
37
|
+
"layermanager-opacity-title": "Opacity",
|
|
38
|
+
"layermanager-opacity-tooltip-prefix": "Opacity: ",
|
|
39
|
+
"layermanager-style-title": "Style",
|
|
40
|
+
"layermanager-layer-error": "This layer could not be loaded: does not exist on the server.",
|
|
41
|
+
"layermanager-layer": "Layer",
|
|
42
|
+
"projection-title": "Projection",
|
|
43
|
+
"wms-loader-title": "Load WMS layer(s)",
|
|
44
|
+
"wms-loader-description": "Please enter a wms server, or select one from the list.",
|
|
45
|
+
"wms-loader-no-data": "No data",
|
|
46
|
+
"wms-loader-error-http": "Use https or allow Mixed Content in your browser to use this WMS service",
|
|
47
|
+
"wms-loader-error-valid-service": "Please enter a valid WMS service",
|
|
48
|
+
"wms-loader-error-valid-url": "Please enter a valid URL",
|
|
49
|
+
"actions-close": "Close"
|
|
50
|
+
};
|
|
51
|
+
var fi = {
|
|
52
|
+
feature_info_title: "ei käännetty",
|
|
53
|
+
feature_info_no_layers: "ei käännetty",
|
|
54
|
+
"add-layer-popup-title": "ei käännetty",
|
|
55
|
+
"add-layer-popup-service-url": "ei käännetty",
|
|
56
|
+
"add-layer-popup-available-services": "ei käännetty",
|
|
57
|
+
"add-layer-popup-available-layers": "ei käännetty",
|
|
58
|
+
"add-layer-popup-reload-layers": "ei käännetty",
|
|
59
|
+
"layermanager-baselayers-title": "ei käännetty",
|
|
60
|
+
"layermanager-baselayers-no-available": "ei käännetty",
|
|
61
|
+
"layermanager-acceptance-time": "ei käännetty",
|
|
62
|
+
"layermanager-dimensions-total-values": "ei käännetty",
|
|
63
|
+
"layermanager-dimension-title": "ei käännetty",
|
|
64
|
+
"layermanager-opacity-title": "ei käännetty",
|
|
65
|
+
"layermanager-opacity-tooltip-prefix": "ei käännetty",
|
|
66
|
+
"layermanager-style-title": "ei käännetty",
|
|
67
|
+
"layermanager-layer-error": "ei käännetty",
|
|
68
|
+
"layermanager-layer": "ei käännetty",
|
|
69
|
+
"projection-title": "ei käännetty",
|
|
70
|
+
"wms-loader-title": "ei käännetty",
|
|
71
|
+
"wms-loader-description": "ei käännetty",
|
|
72
|
+
"wms-loader-no-data": "ei käännetty",
|
|
73
|
+
"wms-loader-error-http": "ei käännetty",
|
|
74
|
+
"wms-loader-error-valid-service": "ei käännetty",
|
|
75
|
+
"wms-loader-error-valid-url": "ei käännetty",
|
|
76
|
+
"actions-close": "ei käännetty"
|
|
77
|
+
};
|
|
78
|
+
var no = {
|
|
79
|
+
feature_info_title: "ikke oversatt",
|
|
80
|
+
feature_info_no_layers: "ikke oversatt",
|
|
81
|
+
"add-layer-popup-title": "ikke oversatt",
|
|
82
|
+
"add-layer-popup-service-url": "ikke oversatt",
|
|
83
|
+
"add-layer-popup-available-services": "ikke oversatt",
|
|
84
|
+
"add-layer-popup-available-layers": "ikke oversatt",
|
|
85
|
+
"add-layer-popup-reload-layers": "ikke oversatt",
|
|
86
|
+
"layermanager-baselayers-title": "ikke oversatt",
|
|
87
|
+
"layermanager-baselayers-no-available": "ikke oversatt",
|
|
88
|
+
"layermanager-acceptance-time": "ikke oversatt",
|
|
89
|
+
"layermanager-dimensions-total-values": "ikke oversatt",
|
|
90
|
+
"layermanager-dimension-title": "ikke oversatt",
|
|
91
|
+
"layermanager-opacity-title": "ikke oversatt",
|
|
92
|
+
"layermanager-opacity-tooltip-prefix": "ikke oversatt",
|
|
93
|
+
"layermanager-style-title": "ikke oversatt",
|
|
94
|
+
"layermanager-layer-error": "ikke oversatt",
|
|
95
|
+
"layermanager-layer": "ikke oversatt",
|
|
96
|
+
"projection-title": "ikke oversatt",
|
|
97
|
+
"wms-loader-title": "ikke oversatt",
|
|
98
|
+
"wms-loader-description": "ikke oversatt",
|
|
99
|
+
"wms-loader-no-data": "ikke oversatt",
|
|
100
|
+
"wms-loader-error-http": "ikke oversatt",
|
|
101
|
+
"wms-loader-error-valid-service": "ikke oversatt",
|
|
102
|
+
"wms-loader-error-valid-url": "ikke oversatt",
|
|
103
|
+
"actions-close": "ikke oversatt"
|
|
104
|
+
};
|
|
105
|
+
var nl = {
|
|
106
|
+
feature_info_title: "niet vertaald",
|
|
107
|
+
feature_info_no_layers: "niet vertaald",
|
|
108
|
+
"add-layer-popup-title": "niet vertaald",
|
|
109
|
+
"add-layer-popup-service-url": "niet vertaald",
|
|
110
|
+
"add-layer-popup-available-services": "niet vertaald",
|
|
111
|
+
"add-layer-popup-available-layers": "niet vertaald",
|
|
112
|
+
"add-layer-popup-reload-layers": "niet vertaald",
|
|
113
|
+
"layermanager-baselayers-title": "niet vertaald",
|
|
114
|
+
"layermanager-baselayers-no-available": "niet vertaald",
|
|
115
|
+
"layermanager-acceptance-time": "niet vertaald",
|
|
116
|
+
"layermanager-dimensions-total-values": "niet vertaald",
|
|
117
|
+
"layermanager-dimension-title": "niet vertaald",
|
|
118
|
+
"layermanager-opacity-title": "niet vertaald",
|
|
119
|
+
"layermanager-opacity-tooltip-prefix": "niet vertaald",
|
|
120
|
+
"layermanager-style-title": "niet vertaald",
|
|
121
|
+
"layermanager-layer-error": "niet vertaald",
|
|
122
|
+
"layermanager-layer": "niet vertaald",
|
|
123
|
+
"projection-title": "niet vertaald",
|
|
124
|
+
"wms-loader-title": "niet vertaald",
|
|
125
|
+
"wms-loader-description": "niet vertaald",
|
|
126
|
+
"wms-loader-no-data": "niet vertaald",
|
|
127
|
+
"wms-loader-error-http": "niet vertaald",
|
|
128
|
+
"wms-loader-error-valid-service": "niet vertaald",
|
|
129
|
+
"wms-loader-error-valid-url": "niet vertaald",
|
|
130
|
+
"actions-close": "niet vertaald"
|
|
131
|
+
};
|
|
132
|
+
var coreTranslations = {
|
|
133
|
+
en: en,
|
|
134
|
+
fi: fi,
|
|
135
|
+
no: no,
|
|
136
|
+
nl: nl
|
|
137
|
+
};
|
|
22
138
|
|
|
23
139
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
24
140
|
|
|
@@ -1896,7 +2012,7 @@ const layerManagerStyle = {
|
|
|
1896
2012
|
}
|
|
1897
2013
|
},
|
|
1898
2014
|
'.header-layermanager': {
|
|
1899
|
-
'.header-left
|
|
2015
|
+
'.header-left': {
|
|
1900
2016
|
display: 'none'
|
|
1901
2017
|
},
|
|
1902
2018
|
'&>div': {
|
|
@@ -2262,6 +2378,49 @@ $$7({ target: 'Array', proto: true, forced: String(test$1) === String(test$1.rev
|
|
|
2262
2378
|
}
|
|
2263
2379
|
});
|
|
2264
2380
|
|
|
2381
|
+
const CORE_NAMESPACE = 'core';
|
|
2382
|
+
const initCoreReactI18n = () => {
|
|
2383
|
+
i18n.use(initReactI18next).init({
|
|
2384
|
+
lng: 'en',
|
|
2385
|
+
fallbackLng: 'en',
|
|
2386
|
+
ns: CORE_NAMESPACE,
|
|
2387
|
+
interpolation: {
|
|
2388
|
+
escapeValue: false
|
|
2389
|
+
},
|
|
2390
|
+
resources: {
|
|
2391
|
+
en: {
|
|
2392
|
+
[CORE_NAMESPACE]: coreTranslations.en,
|
|
2393
|
+
[WEBMAP_REACT_NAMESPACE]: webmapReactTranslations.en,
|
|
2394
|
+
[SHARED_NAMESPACE]: sharedTranslations.en,
|
|
2395
|
+
[TIMESLIDER_NAMESPACE]: timesliderTranslations.en
|
|
2396
|
+
},
|
|
2397
|
+
fi: {
|
|
2398
|
+
[CORE_NAMESPACE]: coreTranslations.fi,
|
|
2399
|
+
[WEBMAP_REACT_NAMESPACE]: webmapReactTranslations.fi,
|
|
2400
|
+
[SHARED_NAMESPACE]: sharedTranslations.fi,
|
|
2401
|
+
[TIMESLIDER_NAMESPACE]: timesliderTranslations.fi
|
|
2402
|
+
},
|
|
2403
|
+
no: {
|
|
2404
|
+
[CORE_NAMESPACE]: coreTranslations.no,
|
|
2405
|
+
[WEBMAP_REACT_NAMESPACE]: webmapReactTranslations.no,
|
|
2406
|
+
[SHARED_NAMESPACE]: sharedTranslations.no,
|
|
2407
|
+
[TIMESLIDER_NAMESPACE]: timesliderTranslations.no
|
|
2408
|
+
},
|
|
2409
|
+
nl: {
|
|
2410
|
+
[CORE_NAMESPACE]: coreTranslations.nl,
|
|
2411
|
+
[WEBMAP_REACT_NAMESPACE]: webmapReactTranslations.nl,
|
|
2412
|
+
[SHARED_NAMESPACE]: sharedTranslations.nl,
|
|
2413
|
+
[TIMESLIDER_NAMESPACE]: timesliderTranslations.nl
|
|
2414
|
+
}
|
|
2415
|
+
}
|
|
2416
|
+
});
|
|
2417
|
+
};
|
|
2418
|
+
const ns = [CORE_NAMESPACE, TIMESLIDER_NAMESPACE];
|
|
2419
|
+
const translateKeyOutsideComponents = (key, params = undefined) => i18n.t(key, Object.assign({
|
|
2420
|
+
ns
|
|
2421
|
+
}, params));
|
|
2422
|
+
const useCoreTranslation = () => useTranslation(ns);
|
|
2423
|
+
|
|
2265
2424
|
const DimensionSelectValue = ({
|
|
2266
2425
|
isEnabled,
|
|
2267
2426
|
tooltip,
|
|
@@ -2275,6 +2434,9 @@ const DimensionSelectValue = ({
|
|
|
2275
2434
|
skipLocalStyling
|
|
2276
2435
|
}) => {
|
|
2277
2436
|
var _a;
|
|
2437
|
+
const {
|
|
2438
|
+
t
|
|
2439
|
+
} = useCoreTranslation();
|
|
2278
2440
|
const dimensionValuesRaw = (_a = selectedDimension === null || selectedDimension === void 0 ? void 0 : selectedDimension.values) === null || _a === void 0 ? void 0 : _a.split(',').slice(0, 100).reverse();
|
|
2279
2441
|
if (!(selectedDimension === null || selectedDimension === void 0 ? void 0 : selectedDimension.name) || !(dimensionValuesRaw === null || dimensionValuesRaw === void 0 ? void 0 : dimensionValuesRaw.length)) {
|
|
2280
2442
|
return null;
|
|
@@ -2322,7 +2484,9 @@ const DimensionSelectValue = ({
|
|
|
2322
2484
|
skipLocalStyling: skipLocalStyling
|
|
2323
2485
|
}, /*#__PURE__*/React__default.createElement(MenuItem, {
|
|
2324
2486
|
disabled: true
|
|
2325
|
-
},
|
|
2487
|
+
}, t('layermanager-dimensions-total-values', {
|
|
2488
|
+
total_dimensions: dimensionValues.length
|
|
2489
|
+
})), dimensionValues.map(dimensionValue => {
|
|
2326
2490
|
var _a;
|
|
2327
2491
|
return /*#__PURE__*/React__default.createElement(MenuItem, {
|
|
2328
2492
|
key: dimensionValue,
|
|
@@ -2361,6 +2525,9 @@ const DimensionSelectName = ({
|
|
|
2361
2525
|
dimensionNames,
|
|
2362
2526
|
skipLocalStyling
|
|
2363
2527
|
}) => {
|
|
2528
|
+
const {
|
|
2529
|
+
t
|
|
2530
|
+
} = useCoreTranslation();
|
|
2364
2531
|
return /*#__PURE__*/React__default.createElement(TooltipSelect, {
|
|
2365
2532
|
disableUnderline: true,
|
|
2366
2533
|
tooltip: tooltip,
|
|
@@ -2387,7 +2554,7 @@ const DimensionSelectName = ({
|
|
|
2387
2554
|
skipLocalStyling: skipLocalStyling
|
|
2388
2555
|
}, /*#__PURE__*/React__default.createElement(MenuItem, {
|
|
2389
2556
|
disabled: true
|
|
2390
|
-
},
|
|
2557
|
+
}, t('layermanager-dimension-title')), dimensionNames.map(name => ( /*#__PURE__*/React__default.createElement(MenuItem, {
|
|
2391
2558
|
key: name,
|
|
2392
2559
|
value: name
|
|
2393
2560
|
}, (nameMappings === null || nameMappings === void 0 ? void 0 : nameMappings[name]) || name))));
|
|
@@ -2497,6 +2664,9 @@ const RenderLayers = ({
|
|
|
2497
2664
|
skipLocalStyling
|
|
2498
2665
|
}) => {
|
|
2499
2666
|
var _a;
|
|
2667
|
+
const {
|
|
2668
|
+
t
|
|
2669
|
+
} = useCoreTranslation();
|
|
2500
2670
|
if (!_layers || !_layers.length) {
|
|
2501
2671
|
return /*#__PURE__*/React.createElement(Box, {
|
|
2502
2672
|
sx: {
|
|
@@ -2512,7 +2682,7 @@ const RenderLayers = ({
|
|
|
2512
2682
|
color: 'geowebColors.layerManager.tableRowDefaultText.rgba',
|
|
2513
2683
|
fontWeight: 500
|
|
2514
2684
|
}
|
|
2515
|
-
},
|
|
2685
|
+
}, t('layermanager-baselayers-no-available')));
|
|
2516
2686
|
}
|
|
2517
2687
|
const selectLayer = event => {
|
|
2518
2688
|
event.stopPropagation();
|
|
@@ -2545,7 +2715,7 @@ const RenderLayers = ({
|
|
|
2545
2715
|
renderValue: value => extendedLayers.find(layer => layer.name === value).title
|
|
2546
2716
|
}, /*#__PURE__*/React.createElement(MenuItem, {
|
|
2547
2717
|
disabled: true
|
|
2548
|
-
},
|
|
2718
|
+
}, t('layermanager-layer')), extendedLayers.map((layerFromServiceLayers, currentIndex) => ( /*#__PURE__*/React.createElement(MenuItem, {
|
|
2549
2719
|
key: layerFromServiceLayers.name,
|
|
2550
2720
|
value: layerFromServiceLayers.name,
|
|
2551
2721
|
disabled: !layerFromServiceLayers.leaf,
|
|
@@ -2589,8 +2759,11 @@ const OpacitySelect = ({
|
|
|
2589
2759
|
currentOpacity,
|
|
2590
2760
|
onLayerChangeOpacity,
|
|
2591
2761
|
isEnabled: _isEnabled = true,
|
|
2592
|
-
tooltipPrefix: _tooltipPrefix = '
|
|
2762
|
+
tooltipPrefix: _tooltipPrefix = translateKeyOutsideComponents('layermanager-opacity-tooltip-prefix')
|
|
2593
2763
|
}) => {
|
|
2764
|
+
const {
|
|
2765
|
+
t
|
|
2766
|
+
} = useCoreTranslation();
|
|
2594
2767
|
const [anchorEl, setAnchorEl] = React.useState(null);
|
|
2595
2768
|
const isOpen = Boolean(anchorEl);
|
|
2596
2769
|
const theme = useTheme();
|
|
@@ -2676,7 +2849,7 @@ const OpacitySelect = ({
|
|
|
2676
2849
|
}, theme.palette.geowebColors.layerManager.opacitySelect.popper)
|
|
2677
2850
|
}, /*#__PURE__*/React.createElement(Box, {
|
|
2678
2851
|
sx: sliderHeaderStyle
|
|
2679
|
-
},
|
|
2852
|
+
}, t('layermanager-opacity-title')), /*#__PURE__*/React.createElement(CustomSlider, {
|
|
2680
2853
|
"data-testid": "opacitySlider",
|
|
2681
2854
|
orientation: "vertical",
|
|
2682
2855
|
value: currentOpacity,
|
|
@@ -2834,6 +3007,9 @@ const RenderStyles = ({
|
|
|
2834
3007
|
skipLocalStyling
|
|
2835
3008
|
}) => {
|
|
2836
3009
|
var _a;
|
|
3010
|
+
const {
|
|
3011
|
+
t
|
|
3012
|
+
} = useCoreTranslation();
|
|
2837
3013
|
const styles = [{
|
|
2838
3014
|
title: 'default',
|
|
2839
3015
|
name: 'default',
|
|
@@ -2872,7 +3048,7 @@ const RenderStyles = ({
|
|
|
2872
3048
|
skipLocalStyling: skipLocalStyling
|
|
2873
3049
|
}, /*#__PURE__*/React.createElement(MenuItem, {
|
|
2874
3050
|
disabled: true
|
|
2875
|
-
},
|
|
3051
|
+
}, t('layermanager-style-title')), styles.map(styleFromlayer => ( /*#__PURE__*/React.createElement(MenuItem, {
|
|
2876
3052
|
key: styleFromlayer.name,
|
|
2877
3053
|
value: styleFromlayer.name
|
|
2878
3054
|
}, styleFromlayer.title))));
|
|
@@ -3094,13 +3270,17 @@ const AcceptanceTime = ({
|
|
|
3094
3270
|
tooltipTitle,
|
|
3095
3271
|
skipLocalStyling
|
|
3096
3272
|
}) => {
|
|
3273
|
+
const {
|
|
3274
|
+
t
|
|
3275
|
+
} = useCoreTranslation();
|
|
3097
3276
|
const onChange = acceptanceTimeRaw => {
|
|
3098
3277
|
const acceptanceTime = acceptanceTimeRaw === 'off' ? undefined : Number(acceptanceTimeRaw);
|
|
3099
3278
|
onChangeAcceptanceTime(acceptanceTime);
|
|
3100
3279
|
};
|
|
3101
3280
|
const layerAcceptanceTime = acceptanceTimeInMinutes === undefined ? 'off' : acceptanceTimeInMinutes.toString();
|
|
3281
|
+
const title = t('layermanager-acceptance-time');
|
|
3102
3282
|
return /*#__PURE__*/React__default.createElement(TooltipSelect, {
|
|
3103
|
-
tooltip: tooltipTitle !== null && tooltipTitle !== void 0 ? tooltipTitle :
|
|
3283
|
+
tooltip: tooltipTitle !== null && tooltipTitle !== void 0 ? tooltipTitle : title,
|
|
3104
3284
|
isEnabled: _isEnabled,
|
|
3105
3285
|
value: layerAcceptanceTime,
|
|
3106
3286
|
onChange: event => {
|
|
@@ -3117,7 +3297,7 @@ const AcceptanceTime = ({
|
|
|
3117
3297
|
skipLocalStyling: skipLocalStyling
|
|
3118
3298
|
}, /*#__PURE__*/React__default.createElement(MenuItem, {
|
|
3119
3299
|
disabled: true
|
|
3120
|
-
},
|
|
3300
|
+
}, title), acceptanceTimes.map(accTime => ( /*#__PURE__*/React__default.createElement(MenuItem, {
|
|
3121
3301
|
key: accTime.text,
|
|
3122
3302
|
value: accTime.value
|
|
3123
3303
|
}, accTime.text))));
|
|
@@ -3386,6 +3566,9 @@ const LayerRowUnstyled = ({
|
|
|
3386
3566
|
layerLoadDurationLayout,
|
|
3387
3567
|
className
|
|
3388
3568
|
}) => {
|
|
3569
|
+
const {
|
|
3570
|
+
t
|
|
3571
|
+
} = useCoreTranslation();
|
|
3389
3572
|
const onClickRow = () => _onLayerRowClick(layerId);
|
|
3390
3573
|
const changeEnable = event => {
|
|
3391
3574
|
event.stopPropagation();
|
|
@@ -3495,7 +3678,7 @@ const LayerRowUnstyled = ({
|
|
|
3495
3678
|
item: true,
|
|
3496
3679
|
className: columnClasses.column7
|
|
3497
3680
|
}, /*#__PURE__*/React__default.createElement(AlertBanner, {
|
|
3498
|
-
title:
|
|
3681
|
+
title: t('layermanager-layer-error'),
|
|
3499
3682
|
isCompact: true
|
|
3500
3683
|
}))) : ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Grid, {
|
|
3501
3684
|
item: true,
|
|
@@ -3580,6 +3763,9 @@ const Accordion = ({
|
|
|
3580
3763
|
LeftButtons,
|
|
3581
3764
|
LoadDuration
|
|
3582
3765
|
}) => {
|
|
3766
|
+
const {
|
|
3767
|
+
t
|
|
3768
|
+
} = useCoreTranslation();
|
|
3583
3769
|
return /*#__PURE__*/React__default.createElement(CustomAccordion, {
|
|
3584
3770
|
className: "medium-layermanager",
|
|
3585
3771
|
defaultExpanded: false,
|
|
@@ -3613,7 +3799,7 @@ const Accordion = ({
|
|
|
3613
3799
|
item: true
|
|
3614
3800
|
}, /*#__PURE__*/React__default.createElement(Grid, {
|
|
3615
3801
|
item: true
|
|
3616
|
-
},
|
|
3802
|
+
}, t('layermanager-style-title')), Styles), /*#__PURE__*/React__default.createElement(Grid, {
|
|
3617
3803
|
container: true,
|
|
3618
3804
|
item: true,
|
|
3619
3805
|
sx: {
|
|
@@ -3623,12 +3809,12 @@ const Accordion = ({
|
|
|
3623
3809
|
}
|
|
3624
3810
|
}, /*#__PURE__*/React__default.createElement(Grid, {
|
|
3625
3811
|
item: true
|
|
3626
|
-
},
|
|
3812
|
+
}, t('layermanager-opacity-title')), Opacity), /*#__PURE__*/React__default.createElement(Grid, {
|
|
3627
3813
|
container: true,
|
|
3628
3814
|
item: true
|
|
3629
3815
|
}, /*#__PURE__*/React__default.createElement(Grid, {
|
|
3630
3816
|
item: true
|
|
3631
|
-
},
|
|
3817
|
+
}, t('layermanager-acceptance-time')), Acceptance), /*#__PURE__*/React__default.createElement(Grid, {
|
|
3632
3818
|
container: true,
|
|
3633
3819
|
item: true,
|
|
3634
3820
|
flexDirection: "column"
|
|
@@ -4853,8 +5039,11 @@ const BaseLayers = ({
|
|
|
4853
5039
|
tooltipPrefix: _tooltipPrefix = 'Layer: '
|
|
4854
5040
|
}) => {
|
|
4855
5041
|
var _a;
|
|
5042
|
+
const {
|
|
5043
|
+
t
|
|
5044
|
+
} = useCoreTranslation();
|
|
4856
5045
|
if (!availableBaseLayers || !availableBaseLayers.length) {
|
|
4857
|
-
return /*#__PURE__*/React.createElement("div", null,
|
|
5046
|
+
return /*#__PURE__*/React.createElement("div", null, t('layermanager-baselayers-no-available'));
|
|
4858
5047
|
}
|
|
4859
5048
|
const selectedBaseLayerId = typeof selectedBaseLayers[0] !== 'undefined' ? selectedBaseLayers[0].id : '';
|
|
4860
5049
|
const list = availableBaseLayers.map(layer => ({
|
|
@@ -4887,7 +5076,7 @@ const BaseLayers = ({
|
|
|
4887
5076
|
IconComponent: icon
|
|
4888
5077
|
}, /*#__PURE__*/React.createElement(MenuItem, {
|
|
4889
5078
|
disabled: true
|
|
4890
|
-
},
|
|
5079
|
+
}, t('layermanager-baselayers-title')), availableBaseLayers.map(baseLayer => ( /*#__PURE__*/React.createElement(MenuItem, {
|
|
4891
5080
|
key: baseLayer.id,
|
|
4892
5081
|
value: baseLayer.id
|
|
4893
5082
|
}, baseLayer.name)))));
|
|
@@ -5421,6 +5610,9 @@ const WMSServerList = ({
|
|
|
5421
5610
|
handleChangeService,
|
|
5422
5611
|
service: activeService
|
|
5423
5612
|
}) => {
|
|
5613
|
+
const {
|
|
5614
|
+
t
|
|
5615
|
+
} = useCoreTranslation();
|
|
5424
5616
|
const handleListItemClick = (event, service) => {
|
|
5425
5617
|
handleChangeService(service);
|
|
5426
5618
|
};
|
|
@@ -5437,7 +5629,7 @@ const WMSServerList = ({
|
|
|
5437
5629
|
}, /*#__PURE__*/React.createElement(InputLabel, {
|
|
5438
5630
|
shrink: true,
|
|
5439
5631
|
htmlFor: "select-multiple-native"
|
|
5440
|
-
},
|
|
5632
|
+
}, t('add-layer-popup-available-services')))), /*#__PURE__*/React.createElement(Paper, {
|
|
5441
5633
|
style: {
|
|
5442
5634
|
height: 200,
|
|
5443
5635
|
overflow: 'auto'
|
|
@@ -5476,6 +5668,9 @@ const WMSLayerTreeHeader = ({
|
|
|
5476
5668
|
serviceName,
|
|
5477
5669
|
onClickReload
|
|
5478
5670
|
}) => {
|
|
5671
|
+
const {
|
|
5672
|
+
t
|
|
5673
|
+
} = useCoreTranslation();
|
|
5479
5674
|
return /*#__PURE__*/React.createElement(Grid, {
|
|
5480
5675
|
container: true,
|
|
5481
5676
|
direction: "row",
|
|
@@ -5486,10 +5681,12 @@ const WMSLayerTreeHeader = ({
|
|
|
5486
5681
|
}, /*#__PURE__*/React.createElement(InputLabel, {
|
|
5487
5682
|
shrink: true,
|
|
5488
5683
|
htmlFor: "select-multiple-native"
|
|
5489
|
-
},
|
|
5684
|
+
}, t('add-layer-popup-available-layers', {
|
|
5685
|
+
serviceName
|
|
5686
|
+
}))), onClickReload && ( /*#__PURE__*/React.createElement(Grid, {
|
|
5490
5687
|
item: true
|
|
5491
5688
|
}, /*#__PURE__*/React.createElement(CustomIconButton, {
|
|
5492
|
-
tooltipTitle:
|
|
5689
|
+
tooltipTitle: t('add-layer-popup-reload-layers'),
|
|
5493
5690
|
"data-testid": "reloadLayers",
|
|
5494
5691
|
onClick: onClickReload
|
|
5495
5692
|
}, /*#__PURE__*/React.createElement(Cached, null)))));
|
|
@@ -5500,6 +5697,9 @@ const WMSLayerTree = ({
|
|
|
5500
5697
|
onClickLayer,
|
|
5501
5698
|
highlightedLayers
|
|
5502
5699
|
}) => {
|
|
5700
|
+
const {
|
|
5701
|
+
t
|
|
5702
|
+
} = useCoreTranslation();
|
|
5503
5703
|
const initialTree = {
|
|
5504
5704
|
name: 'loading wms getcapabilities',
|
|
5505
5705
|
leaf: true,
|
|
@@ -5549,7 +5749,7 @@ const WMSLayerTree = ({
|
|
|
5549
5749
|
display: "flex"
|
|
5550
5750
|
}, /*#__PURE__*/React.createElement(Typography, {
|
|
5551
5751
|
variant: "body2"
|
|
5552
|
-
},
|
|
5752
|
+
}, t('wms-loader-no-data')))));
|
|
5553
5753
|
}
|
|
5554
5754
|
// Base case where there exists at least one layer
|
|
5555
5755
|
// TODO: find a better way of doing this, without using prototype
|
|
@@ -5883,10 +6083,10 @@ const preloadedDefaultBaseServices = baseServices;
|
|
|
5883
6083
|
const preloadedDefaultMapServices = services;
|
|
5884
6084
|
|
|
5885
6085
|
var defaultConfigurations = /*#__PURE__*/Object.freeze({
|
|
5886
|
-
|
|
5887
|
-
|
|
5888
|
-
|
|
5889
|
-
|
|
6086
|
+
__proto__: null,
|
|
6087
|
+
availableDefaultBaseLayers: availableDefaultBaseLayers,
|
|
6088
|
+
preloadedDefaultBaseServices: preloadedDefaultBaseServices,
|
|
6089
|
+
preloadedDefaultMapServices: preloadedDefaultMapServices
|
|
5890
6090
|
});
|
|
5891
6091
|
|
|
5892
6092
|
const validateServiceUrl = url => {
|
|
@@ -5906,6 +6106,9 @@ const AddLayersPopup = ({
|
|
|
5906
6106
|
handleClose,
|
|
5907
6107
|
layerType: _layerType = LayerType.mapLayer
|
|
5908
6108
|
}) => {
|
|
6109
|
+
const {
|
|
6110
|
+
t
|
|
6111
|
+
} = useCoreTranslation();
|
|
5909
6112
|
const [serviceURL, setServiceURL] = React.useState('');
|
|
5910
6113
|
const [services, setServices] = React.useState(_preloadedServices);
|
|
5911
6114
|
const [activeService, setActiveService] = React.useState(_preloadedServices[0]);
|
|
@@ -5942,11 +6145,11 @@ const AddLayersPopup = ({
|
|
|
5942
6145
|
setUrlError('');
|
|
5943
6146
|
setLoading(false);
|
|
5944
6147
|
}).catch(() => {
|
|
5945
|
-
setUrlError('
|
|
6148
|
+
setUrlError(t('wms-loader-error-valid-service'));
|
|
5946
6149
|
setLoading(false);
|
|
5947
6150
|
});
|
|
5948
6151
|
} else {
|
|
5949
|
-
setUrlError('
|
|
6152
|
+
setUrlError(t('wms-loader-error-valid-url'));
|
|
5950
6153
|
setLoading(false);
|
|
5951
6154
|
}
|
|
5952
6155
|
};
|
|
@@ -5965,7 +6168,7 @@ const AddLayersPopup = ({
|
|
|
5965
6168
|
"data-testid": "addLayersPopup"
|
|
5966
6169
|
}, /*#__PURE__*/React.createElement(DialogTitle, {
|
|
5967
6170
|
id: "form-dialog-title"
|
|
5968
|
-
},
|
|
6171
|
+
}, t('add-layer-popup-title')), /*#__PURE__*/React.createElement(DialogContent, null, /*#__PURE__*/React.createElement(DialogContentText, null, t('wms-loader-description')), /*#__PURE__*/React.createElement(Box, {
|
|
5969
6172
|
m: 2
|
|
5970
6173
|
}, /*#__PURE__*/React.createElement(Grid, {
|
|
5971
6174
|
container: true,
|
|
@@ -5977,7 +6180,7 @@ const AddLayersPopup = ({
|
|
|
5977
6180
|
}, /*#__PURE__*/React.createElement(TextField, {
|
|
5978
6181
|
margin: "dense",
|
|
5979
6182
|
id: "serviceurl",
|
|
5980
|
-
label:
|
|
6183
|
+
label: t('add-layer-popup-service-url'),
|
|
5981
6184
|
value: serviceURL,
|
|
5982
6185
|
type: "url",
|
|
5983
6186
|
onChange: event => {
|
|
@@ -6035,7 +6238,7 @@ const AddLayersPopup = ({
|
|
|
6035
6238
|
})))))), /*#__PURE__*/React.createElement(DialogActions, null, /*#__PURE__*/React.createElement(Button, {
|
|
6036
6239
|
onClick: handleClose,
|
|
6037
6240
|
color: "primary"
|
|
6038
|
-
},
|
|
6241
|
+
}, t('actions-close'))));
|
|
6039
6242
|
};
|
|
6040
6243
|
|
|
6041
6244
|
const styles$2 = {
|
|
@@ -6279,12 +6482,16 @@ const ProjectionSelect = ({
|
|
|
6279
6482
|
currentProjection,
|
|
6280
6483
|
onChangeProjection
|
|
6281
6484
|
}) => {
|
|
6485
|
+
const {
|
|
6486
|
+
t
|
|
6487
|
+
} = useCoreTranslation();
|
|
6282
6488
|
const selectProjection = newProj => {
|
|
6283
6489
|
const newProjDetails = availableProjections.find(proj => proj.value === newProj);
|
|
6284
6490
|
onChangeProjection(newProjDetails);
|
|
6285
6491
|
};
|
|
6286
6492
|
const index = availableProjections.findIndex(projection => projection.value === currentProjection);
|
|
6287
6493
|
const currentProjectionObject = availableProjections.find(projection => projection.value === currentProjection);
|
|
6494
|
+
const title = t('projection-title');
|
|
6288
6495
|
return /*#__PURE__*/React.createElement(Grid, {
|
|
6289
6496
|
container: true,
|
|
6290
6497
|
className: "setProjection-column",
|
|
@@ -6316,7 +6523,7 @@ const ProjectionSelect = ({
|
|
|
6316
6523
|
SelectDisplayProps: {
|
|
6317
6524
|
'aria-label': 'projectionSelect'
|
|
6318
6525
|
},
|
|
6319
|
-
tooltip:
|
|
6526
|
+
tooltip: `${title}: ${currentProjectionObject === null || currentProjectionObject === void 0 ? void 0 : currentProjectionObject.name}`,
|
|
6320
6527
|
isEnabled: true,
|
|
6321
6528
|
style: {
|
|
6322
6529
|
maxWidth: '100%'
|
|
@@ -6332,7 +6539,7 @@ const ProjectionSelect = ({
|
|
|
6332
6539
|
requiresCtrlToChange: true
|
|
6333
6540
|
}, /*#__PURE__*/React.createElement(MenuItem, {
|
|
6334
6541
|
disabled: true
|
|
6335
|
-
},
|
|
6542
|
+
}, title), availableProjections.map(projection => ( /*#__PURE__*/React.createElement(MenuItem, {
|
|
6336
6543
|
key: projection.name,
|
|
6337
6544
|
value: projection.value
|
|
6338
6545
|
}, projection.name)))))));
|
|
@@ -8105,6 +8312,9 @@ const GetFeatureInfoDialog = ({
|
|
|
8105
8312
|
source: _source = 'app',
|
|
8106
8313
|
mapPinLocation
|
|
8107
8314
|
}) => {
|
|
8315
|
+
const {
|
|
8316
|
+
t
|
|
8317
|
+
} = useCoreTranslation();
|
|
8108
8318
|
/* Ref and state for maplocation */
|
|
8109
8319
|
const mapLocationWasChanged = React__default.useRef(false);
|
|
8110
8320
|
const [isInitialMapLocationChanged, setInitialMapLocationIsChanged] = React__default.useState(false);
|
|
@@ -8249,13 +8459,13 @@ const GetFeatureInfoDialog = ({
|
|
|
8249
8459
|
sx: {
|
|
8250
8460
|
padding: '10px'
|
|
8251
8461
|
}
|
|
8252
|
-
},
|
|
8462
|
+
}, t('feature_info_title'))), !hasLayers && ( /*#__PURE__*/React__default.createElement(Typography, {
|
|
8253
8463
|
"data-testid": "NoLayers",
|
|
8254
8464
|
variant: "subtitle1",
|
|
8255
8465
|
sx: {
|
|
8256
8466
|
padding: '10px'
|
|
8257
8467
|
}
|
|
8258
|
-
},
|
|
8468
|
+
}, t('feature_info_no_layers')))));
|
|
8259
8469
|
};
|
|
8260
8470
|
|
|
8261
8471
|
/* *
|
|
@@ -10680,79 +10890,19 @@ const simplePolygonGeoJSON = {
|
|
|
10680
10890
|
};
|
|
10681
10891
|
|
|
10682
10892
|
var testLayers = /*#__PURE__*/Object.freeze({
|
|
10683
|
-
|
|
10684
|
-
|
|
10685
|
-
|
|
10686
|
-
|
|
10687
|
-
|
|
10688
|
-
|
|
10689
|
-
|
|
10690
|
-
|
|
10691
|
-
|
|
10692
|
-
|
|
10693
|
-
|
|
10893
|
+
__proto__: null,
|
|
10894
|
+
baseLayer: baseLayer,
|
|
10895
|
+
baseLayerGrey: baseLayerGrey,
|
|
10896
|
+
baseLayerOpenStreetMapNL: baseLayerOpenStreetMapNL,
|
|
10897
|
+
baseLayerArcGisCanvas: baseLayerArcGisCanvas,
|
|
10898
|
+
baseLayerWorldMap: baseLayerWorldMap,
|
|
10899
|
+
baseLayerArcGisSat: baseLayerArcGisSat,
|
|
10900
|
+
overLayer: overLayer,
|
|
10901
|
+
overLayer2: overLayer2,
|
|
10902
|
+
radarLayer: radarLayer,
|
|
10903
|
+
simplePolygonGeoJSON: simplePolygonGeoJSON
|
|
10694
10904
|
});
|
|
10695
10905
|
|
|
10696
|
-
var en = {
|
|
10697
|
-
core: "Core"
|
|
10698
|
-
};
|
|
10699
|
-
var fi = {
|
|
10700
|
-
core: "Core"
|
|
10701
|
-
};
|
|
10702
|
-
var no = {
|
|
10703
|
-
core: "Core"
|
|
10704
|
-
};
|
|
10705
|
-
var nl = {
|
|
10706
|
-
core: "Core"
|
|
10707
|
-
};
|
|
10708
|
-
var coreTranslations = {
|
|
10709
|
-
en: en,
|
|
10710
|
-
fi: fi,
|
|
10711
|
-
no: no,
|
|
10712
|
-
nl: nl
|
|
10713
|
-
};
|
|
10714
|
-
|
|
10715
|
-
/* *
|
|
10716
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10717
|
-
* you may not use this file except in compliance with the License.
|
|
10718
|
-
* You may obtain a copy of the License at
|
|
10719
|
-
*
|
|
10720
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10721
|
-
*
|
|
10722
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
10723
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
10724
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10725
|
-
* See the License for the specific language governing permissions and
|
|
10726
|
-
* limitations under the License.
|
|
10727
|
-
*
|
|
10728
|
-
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
10729
|
-
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
10730
|
-
* */
|
|
10731
|
-
const CORE_NAMESPACE = 'core';
|
|
10732
|
-
const initCoreReactI18n = () => {
|
|
10733
|
-
i18n.use(initReactI18next).init({
|
|
10734
|
-
lng: 'en',
|
|
10735
|
-
ns: CORE_NAMESPACE,
|
|
10736
|
-
interpolation: {
|
|
10737
|
-
escapeValue: false
|
|
10738
|
-
},
|
|
10739
|
-
resources: {
|
|
10740
|
-
en: {
|
|
10741
|
-
core: coreTranslations.en
|
|
10742
|
-
},
|
|
10743
|
-
fi: {
|
|
10744
|
-
core: coreTranslations.fi
|
|
10745
|
-
},
|
|
10746
|
-
no: {
|
|
10747
|
-
core: coreTranslations.no
|
|
10748
|
-
},
|
|
10749
|
-
nl: {
|
|
10750
|
-
core: coreTranslations.nl
|
|
10751
|
-
}
|
|
10752
|
-
}
|
|
10753
|
-
});
|
|
10754
|
-
};
|
|
10755
|
-
|
|
10756
10906
|
/**
|
|
10757
10907
|
* A Provider component which provides the GeoWeb theme
|
|
10758
10908
|
* @param children
|
|
@@ -10767,9 +10917,9 @@ const CoreThemeProvider = ({
|
|
|
10767
10917
|
const ThemeWrapperWithModules = withEggs([...coreModuleConfig, layerSelectConfig])(({
|
|
10768
10918
|
theme,
|
|
10769
10919
|
children
|
|
10770
|
-
}) => ( /*#__PURE__*/React__default.createElement(
|
|
10920
|
+
}) => ( /*#__PURE__*/React__default.createElement(CoreThemeProvider, {
|
|
10771
10921
|
theme: theme
|
|
10772
|
-
}, children)))
|
|
10922
|
+
}, children)));
|
|
10773
10923
|
/**
|
|
10774
10924
|
* A Provider component which provides the GeoWeb theme and store for the core.
|
|
10775
10925
|
* Note: Should only be used with core components, as the provided store is only for core.
|
|
@@ -10780,25 +10930,11 @@ const CoreThemeStoreProvider = ({
|
|
|
10780
10930
|
children,
|
|
10781
10931
|
theme: _theme2 = lightTheme,
|
|
10782
10932
|
store
|
|
10783
|
-
}) => ( /*#__PURE__*/React__default.createElement(
|
|
10933
|
+
}) => ( /*#__PURE__*/React__default.createElement(Provider, {
|
|
10784
10934
|
store: store
|
|
10785
10935
|
}, /*#__PURE__*/React__default.createElement(ThemeWrapperWithModules, {
|
|
10786
10936
|
theme: _theme2
|
|
10787
|
-
}, /*#__PURE__*/React__default.createElement(SnackbarWrapperConnect, null, children))))
|
|
10788
|
-
const CoreTranslationsWrapper = ({
|
|
10789
|
-
children
|
|
10790
|
-
}) => {
|
|
10791
|
-
const {
|
|
10792
|
-
i18n
|
|
10793
|
-
} = useTranslation(CORE_NAMESPACE);
|
|
10794
|
-
React__default.useEffect(() => {
|
|
10795
|
-
i18n.addResourceBundle('en', CORE_NAMESPACE, coreTranslations.en);
|
|
10796
|
-
i18n.addResourceBundle('fi', CORE_NAMESPACE, coreTranslations.fi);
|
|
10797
|
-
i18n.addResourceBundle('no', CORE_NAMESPACE, coreTranslations.no);
|
|
10798
|
-
i18n.addResourceBundle('nl', CORE_NAMESPACE, coreTranslations.nl);
|
|
10799
|
-
}, [i18n]);
|
|
10800
|
-
return children;
|
|
10801
|
-
};
|
|
10937
|
+
}, /*#__PURE__*/React__default.createElement(SnackbarWrapperConnect, null, children))));
|
|
10802
10938
|
const CoreI18nProvider = ({
|
|
10803
10939
|
children
|
|
10804
10940
|
}) => {
|
|
@@ -10807,6 +10943,10 @@ const CoreI18nProvider = ({
|
|
|
10807
10943
|
i18n: i18n
|
|
10808
10944
|
}, children);
|
|
10809
10945
|
};
|
|
10946
|
+
// used for react stories/tests
|
|
10947
|
+
const DemoWrapper = props => ( /*#__PURE__*/React__default.createElement(CoreI18nProvider, null, /*#__PURE__*/React__default.createElement(CoreThemeProvider, Object.assign({}, props))));
|
|
10948
|
+
// used for redux stories/tests
|
|
10949
|
+
const DemoWrapperConnect = props => ( /*#__PURE__*/React__default.createElement(CoreI18nProvider, null, /*#__PURE__*/React__default.createElement(CoreThemeStoreProvider, Object.assign({}, props))));
|
|
10810
10950
|
|
|
10811
10951
|
/* *
|
|
10812
10952
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -10850,4 +10990,46 @@ const RouterWrapperConnect = withEggs([routerModuleConfig])(props => {
|
|
|
10850
10990
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(NavigateSetter, null), props.children);
|
|
10851
10991
|
});
|
|
10852
10992
|
|
|
10853
|
-
|
|
10993
|
+
const Circle = styled$1('div')(({
|
|
10994
|
+
isRecording
|
|
10995
|
+
}) => ({
|
|
10996
|
+
width: '70%',
|
|
10997
|
+
height: '70%',
|
|
10998
|
+
borderRadius: '50%',
|
|
10999
|
+
backgroundColor: isRecording ? 'red' : 'gray',
|
|
11000
|
+
position: 'absolute',
|
|
11001
|
+
top: '50%',
|
|
11002
|
+
left: '50%',
|
|
11003
|
+
transform: 'translate(-50%, -50%)'
|
|
11004
|
+
}));
|
|
11005
|
+
const SentryRecordButton = () => {
|
|
11006
|
+
const [isRecording, setIsRecording] = React__default.useState(false);
|
|
11007
|
+
const replay = Sentry.getReplay();
|
|
11008
|
+
const toggleRecord = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
11009
|
+
if (!isRecording) {
|
|
11010
|
+
replay === null || replay === void 0 ? void 0 : replay.start();
|
|
11011
|
+
setIsRecording(true);
|
|
11012
|
+
} else {
|
|
11013
|
+
setIsRecording(false);
|
|
11014
|
+
yield replay === null || replay === void 0 ? void 0 : replay.stop();
|
|
11015
|
+
}
|
|
11016
|
+
});
|
|
11017
|
+
return /*#__PURE__*/React__default.createElement(ErrorBoundary, {
|
|
11018
|
+
handlePromiseRejections: true,
|
|
11019
|
+
displayOnTop: true
|
|
11020
|
+
}, /*#__PURE__*/React__default.createElement(CustomTooltip, {
|
|
11021
|
+
title: isRecording ? 'Stop Recording' : 'Start Recording'
|
|
11022
|
+
}, /*#__PURE__*/React__default.createElement(CustomIconButton, {
|
|
11023
|
+
variant: "flat",
|
|
11024
|
+
onClick: toggleRecord,
|
|
11025
|
+
"data-testid": "sentryRecordButton",
|
|
11026
|
+
sx: {
|
|
11027
|
+
margin: '10px',
|
|
11028
|
+
border: 'solid 1px gray'
|
|
11029
|
+
}
|
|
11030
|
+
}, /*#__PURE__*/React__default.createElement(Circle, {
|
|
11031
|
+
isRecording: isRecording
|
|
11032
|
+
}))));
|
|
11033
|
+
};
|
|
11034
|
+
|
|
11035
|
+
export { CORE_NAMESPACE, ConfigurableMapConnect, CoreThemeProvider, CoreThemeStoreProvider, DemoWrapper, DemoWrapperConnect, HarmonieTempAndPrecipPreset, LayerInfoButtonConnect, LayerInfoDialogConnect, LayerManager, BaseLayerRow as LayerManagerBaseLayerRow, LayerManagerConnect, DescriptionRow as LayerManagerDescriptionRow, HeaderOptions as LayerManagerHeaderOptions, LayerContainerRow as LayerManagerLayerContainerRow, LayerManagerMapButtonConnect, LegendConnect, LegendMapButtonConnect, MapViewConnect, MultiDimensionSelectMapButtonsConnect, MultiMapMultiDimensionSelectConnect as MultiMapDimensionSelectConnect, MultiMapViewConnect, MyMapLocation, RouterWrapperConnect, SearchControlButtonConnect, SearchControlConnect, SearchDialog, SentryRecordButton, SyncGroupViewerConnect, ThemeWrapperWithModules, TimeSliderConnect, ZoomControlConnect, componentsLookUp, coreTranslations, defaultBbox, defaultConfigurations, filterMapPresets, filterServices, filterTimeSeriesServices, testLayers, translateKeyOutsideComponents, useFetchServices, useUpdateTimeSpan, useUpdateTimestep };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeoweb/core",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.17.0",
|
|
4
4
|
"description": "GeoWeb Core library for the opengeoweb project",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -28,7 +28,8 @@
|
|
|
28
28
|
"react-draggable": "^4.4.6",
|
|
29
29
|
"i18next": "^23.7.11",
|
|
30
30
|
"react-i18next": "^13.5.0",
|
|
31
|
-
"dompurify": "^3.0.6"
|
|
31
|
+
"dompurify": "^3.0.6",
|
|
32
|
+
"@sentry/react": "^7.109.0"
|
|
32
33
|
},
|
|
33
34
|
"peerDependencies": {
|
|
34
35
|
"react": "18"
|
package/src/index.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export declare const outsideComponentTranslations: {
|
|
|
24
24
|
deleteOK: string;
|
|
25
25
|
restore: string;
|
|
26
26
|
};
|
|
27
|
+
export declare const translateKeyOutsideComponents: (key: string, params?: Record<string, string | number> | undefined) => string;
|
|
27
28
|
interface Languages {
|
|
28
29
|
language: string;
|
|
29
30
|
code: string;
|
|
@@ -11,7 +11,7 @@ export declare const LayerManagerLightTheme: {
|
|
|
11
11
|
link: string;
|
|
12
12
|
}[];
|
|
13
13
|
};
|
|
14
|
-
|
|
14
|
+
tags: string[];
|
|
15
15
|
};
|
|
16
16
|
export declare const DockedLayerManagerLightTheme: {
|
|
17
17
|
(): React.ReactElement;
|
|
@@ -21,11 +21,11 @@ export declare const DockedLayerManagerLightTheme: {
|
|
|
21
21
|
link: string;
|
|
22
22
|
}[];
|
|
23
23
|
};
|
|
24
|
-
|
|
24
|
+
tags: string[];
|
|
25
25
|
};
|
|
26
26
|
export declare const LayerManagerLightThemeSmall: {
|
|
27
27
|
(): React.ReactElement;
|
|
28
|
-
|
|
28
|
+
tags: string[];
|
|
29
29
|
};
|
|
30
30
|
export declare const LayerManagerLightThemeMedium: {
|
|
31
31
|
(): React.ReactElement;
|
|
@@ -35,7 +35,7 @@ export declare const LayerManagerLightThemeMedium: {
|
|
|
35
35
|
link: string;
|
|
36
36
|
}[];
|
|
37
37
|
};
|
|
38
|
-
|
|
38
|
+
tags: string[];
|
|
39
39
|
};
|
|
40
40
|
export declare const LayerManagerDarkTheme: {
|
|
41
41
|
(): React.ReactElement;
|
|
@@ -45,7 +45,7 @@ export declare const LayerManagerDarkTheme: {
|
|
|
45
45
|
link: string;
|
|
46
46
|
}[];
|
|
47
47
|
};
|
|
48
|
-
|
|
48
|
+
tags: string[];
|
|
49
49
|
};
|
|
50
50
|
export declare const DockedLayerManagerDarkTheme: {
|
|
51
51
|
(): React.ReactElement;
|
|
@@ -55,11 +55,11 @@ export declare const DockedLayerManagerDarkTheme: {
|
|
|
55
55
|
link: string;
|
|
56
56
|
}[];
|
|
57
57
|
};
|
|
58
|
-
|
|
58
|
+
tags: string[];
|
|
59
59
|
};
|
|
60
60
|
export declare const LayerManagerDarkThemeSmall: {
|
|
61
61
|
(): React.ReactElement;
|
|
62
|
-
|
|
62
|
+
tags: string[];
|
|
63
63
|
};
|
|
64
64
|
export declare const LayerManagerDarkThemeMedium: {
|
|
65
65
|
(): React.ReactElement;
|
|
@@ -69,14 +69,14 @@ export declare const LayerManagerDarkThemeMedium: {
|
|
|
69
69
|
link: string;
|
|
70
70
|
}[];
|
|
71
71
|
};
|
|
72
|
-
|
|
72
|
+
tags: string[];
|
|
73
73
|
};
|
|
74
74
|
export declare const LayerManagerLoadingState: () => React.ReactElement;
|
|
75
75
|
export declare const LayerManagerWithErrorLight: {
|
|
76
76
|
(): React.ReactElement;
|
|
77
|
-
|
|
77
|
+
tags: string[];
|
|
78
78
|
};
|
|
79
79
|
export declare const LayerManagerWithErrorDark: {
|
|
80
80
|
(): React.ReactElement;
|
|
81
|
-
|
|
81
|
+
tags: string[];
|
|
82
82
|
};
|
|
@@ -6,10 +6,10 @@ declare const _default: {
|
|
|
6
6
|
export default _default;
|
|
7
7
|
export declare const SetMapPinAction: {
|
|
8
8
|
(): React.ReactElement;
|
|
9
|
-
|
|
9
|
+
tags: string[];
|
|
10
10
|
};
|
|
11
11
|
export declare const SetMapPinActionDisabled: {
|
|
12
12
|
(): React.ReactElement;
|
|
13
|
-
|
|
13
|
+
tags: string[];
|
|
14
14
|
};
|
|
15
15
|
export declare const ToggleMapPinAction: () => React.ReactElement;
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Theme } from '@mui/material';
|
|
3
|
+
import { ThemeProviderProps } from '@opengeoweb/theme';
|
|
3
4
|
import { Store } from '@reduxjs/toolkit';
|
|
4
5
|
interface CoreThemeProviderProps {
|
|
5
6
|
children?: React.ReactNode;
|
|
6
7
|
theme?: Theme;
|
|
7
8
|
}
|
|
8
|
-
interface CoreTranslationWrapperProps {
|
|
9
|
-
children?: React.ReactNode;
|
|
10
|
-
}
|
|
11
9
|
/**
|
|
12
10
|
* A Provider component which provides the GeoWeb theme
|
|
13
11
|
* @param children
|
|
14
12
|
* @returns
|
|
15
13
|
*/
|
|
16
14
|
export declare const CoreThemeProvider: React.FC<CoreThemeProviderProps>;
|
|
15
|
+
export declare const ThemeWrapperWithModules: React.FC<ThemeProviderProps>;
|
|
17
16
|
interface CoreThemeStoreProviderProps extends CoreThemeProviderProps {
|
|
18
17
|
store: Store;
|
|
19
18
|
}
|
|
@@ -24,6 +23,6 @@ interface CoreThemeStoreProviderProps extends CoreThemeProviderProps {
|
|
|
24
23
|
* @returns
|
|
25
24
|
*/
|
|
26
25
|
export declare const CoreThemeStoreProvider: React.FC<CoreThemeStoreProviderProps>;
|
|
27
|
-
export declare const
|
|
28
|
-
export declare const
|
|
26
|
+
export declare const DemoWrapper: React.FC<CoreThemeProviderProps>;
|
|
27
|
+
export declare const DemoWrapperConnect: React.FC<CoreThemeStoreProviderProps>;
|
|
29
28
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as SentryRecordButton } from './SentryRecordButton';
|
package/src/lib/index.d.ts
CHANGED
package/src/lib/utils/i18n.d.ts
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
|
+
import i18n from 'i18next';
|
|
2
|
+
import { UseTranslationResponse } from 'react-i18next';
|
|
1
3
|
export declare const CORE_NAMESPACE = "core";
|
|
2
4
|
export declare const initCoreReactI18n: () => void;
|
|
5
|
+
export declare const translateKeyOutsideComponents: (key: string, params?: Record<string, string | number> | undefined) => string;
|
|
6
|
+
export declare const useCoreTranslation: () => UseTranslationResponse<typeof CORE_NAMESPACE, typeof i18n>;
|
|
File without changes
|
|
File without changes
|