@opengeoweb/core 12.8.0 → 12.10.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 +117 -21
- package/package.json +10 -10
- package/src/lib/components/LayerManager/LayerManagerUtils.d.ts +1 -1
- package/src/lib/components/LayerManager/OverlayersRow/OverlayersSelect.d.ts +7 -0
- package/src/lib/components/LayerManager/OverlayersRow/OverlayersSelectConnect.d.ts +3 -0
- package/src/lib/components/LayerManager/OverlayersRow/OverlayersSelectConnect.integration.spec.d.ts +1 -0
package/index.esm.js
CHANGED
|
@@ -3,7 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import React__default, { useState, useCallback, useEffect, useContext, useMemo } from 'react';
|
|
4
4
|
import { Grid, Box, MenuItem, Typography, useTheme, Popper, Fade, Tooltip, styled, LinearProgress, FormControl, InputLabel, Paper, List, ListItemButton, ListItemText, CircularProgress, ListSubheader, DialogContentText, TextField, InputAdornment, Button, Autocomplete, ListItemIcon, Checkbox, Switch, Select } from '@mui/material';
|
|
5
5
|
import { safelyInitI18nForTestsAndStories, sharedTranslations, SHARED_NAMESPACE, CustomIconButton, CustomTooltip, TooltipSelect, AlertIcon, useScrollingInIsolation, sliderHeaderStyle, CustomSlider, ToggleMenu, tooltipContainerStyles, renderCounter, AlertBanner, CustomAccordion, CustomDialog, PROJECTION, calculateStartSize, useWheelStopPropagation, ToolContainerDraggable, dateUtils, useDebounce, sessionStorageProvider, usePrevious, ErrorBoundary } from '@opengeoweb/shared';
|
|
6
|
-
import { CollapseSmall, CollapseMedium, CollapseLarge, CollapseWindow, ExpandWindow, LayersAdd, CloudLoading, ColumnCollapsed, ColumnCollapse, Copy, None, FastForward, AutoUpdateActive, Both, Delete, Visibility, VisibilityOff, DragHandle as DragHandle$1, Cached, Add, MapAdd, WorldMapProjection, Layers, ExitDomain, Info, Search, Exclamation, MyLocation, Close, ThemeWrapper, lightTheme, FlagBritain, FlagNetherlands, FlagFinland, FlagNorway } from '@opengeoweb/theme';
|
|
6
|
+
import { CollapseSmall, CollapseMedium, CollapseLarge, CollapseWindow, ExpandWindow, LayersAdd, CloudLoading, ColumnCollapsed, ColumnCollapse, Copy, None, FastForward, AutoUpdateActive, Both, Delete, Visibility, VisibilityOff, DragHandle as DragHandle$1, Cached, Add, MapAdd, WorldMapProjection, Overlayers, Layers, ExitDomain, Info, Search, Exclamation, MyLocation, Close, ThemeWrapper, lightTheme, FlagBritain, FlagNetherlands, FlagFinland, FlagNorway } from '@opengeoweb/theme';
|
|
7
7
|
import i18n from 'i18next';
|
|
8
8
|
import { useTranslation, I18nextProvider } from 'react-i18next';
|
|
9
9
|
import { TIMESLIDER_NAMESPACE, timesliderTranslations, defaultTimeSpan, SpeedButton, TimeStepButton, AnimationLengthButton, AnimationLength, TimeSpanButton, secondsPerPxFromCanvasWidth, getNewCenterOfFixedPointZoom, OptionsMenuButton, PlayButton, defaultTimeStep, BackwardForwardStepButton, AutoUpdateButton, NowButton, handleSetNowEvent, TimeSliderButtons, TimeSliderCurrentTimeBox, TimeSliderLegend, onsetNewDateDebounced, defaultSecondsPerPx, moveSelectedTimePx, TimeSlider, getFilteredTime, ControlButtons, OptionsMenu, TimeSliderClock } from '@opengeoweb/timeslider';
|
|
@@ -46,6 +46,8 @@ var en = {
|
|
|
46
46
|
"layermanager-title": "Layer Manager",
|
|
47
47
|
"layermanager-baselayers-title": "Base layer",
|
|
48
48
|
"layermanager-baselayers-no-available": "No service available",
|
|
49
|
+
"layermanager-overlayers-title": "Select overlayer",
|
|
50
|
+
"layermanager-overlayers-overlayer": "Overlayer",
|
|
49
51
|
"layermanager-acceptance-time": "Acc Time",
|
|
50
52
|
"layermanager-dimensions-total-values": "Dimension value ({{total_dimensions}} options)",
|
|
51
53
|
"layermanager-dimensions-title": "Dimensions",
|
|
@@ -122,6 +124,8 @@ var fi = {
|
|
|
122
124
|
"layermanager-title": "Karttatasot",
|
|
123
125
|
"layermanager-baselayers-title": "Pohjakartta",
|
|
124
126
|
"layermanager-baselayers-no-available": "Palvelu ei käytettävissä",
|
|
127
|
+
"layermanager-overlayers-title": "Valitse päällystaso",
|
|
128
|
+
"layermanager-overlayers-overlayer": "Päällystaso",
|
|
125
129
|
"layermanager-acceptance-time": "Hyväksymisaika",
|
|
126
130
|
"layermanager-dimensions-total-values": "Dimension arvon ({{total_dimensions}} valinnat)",
|
|
127
131
|
"layermanager-dimensions-title": "Dimensiot",
|
|
@@ -198,6 +202,8 @@ var no = {
|
|
|
198
202
|
"layermanager-title": "Kartlag",
|
|
199
203
|
"layermanager-baselayers-title": "Basislag",
|
|
200
204
|
"layermanager-baselayers-no-available": "Ingen tjenester tilgjengelig",
|
|
205
|
+
"layermanager-overlayers-title": "ikke oversatt",
|
|
206
|
+
"layermanager-overlayers-overlayer": "ikke oversatt",
|
|
201
207
|
"layermanager-acceptance-time": "Aksep.tid",
|
|
202
208
|
"layermanager-dimensions-total-values": "Dimensjonsverdi ({{total_dimensions}} valg)",
|
|
203
209
|
"layermanager-dimensions-title": "Dimensjoner",
|
|
@@ -274,6 +280,8 @@ var nl = {
|
|
|
274
280
|
"layermanager-title": "Lagen Manager",
|
|
275
281
|
"layermanager-baselayers-title": "Basislaag",
|
|
276
282
|
"layermanager-baselayers-no-available": "Geen service beschikbaar",
|
|
283
|
+
"layermanager-overlayers-title": "Selecteer een overlayer",
|
|
284
|
+
"layermanager-overlayers-overlayer": "Overlayer",
|
|
277
285
|
"layermanager-acceptance-time": "Acc Tijd",
|
|
278
286
|
"layermanager-dimensions-total-values": "Opties voor dimensie ({{total_dimensions}})",
|
|
279
287
|
"layermanager-dimensions-title": "Dimensies",
|
|
@@ -909,7 +917,7 @@ var layerManagerStyle = {
|
|
|
909
917
|
'.is-dragging header+.MuiBox-root': {
|
|
910
918
|
overflow: 'hidden'
|
|
911
919
|
},
|
|
912
|
-
// baselayer & projection
|
|
920
|
+
// baselayer, overlayer & projection
|
|
913
921
|
'.baseLayer': {
|
|
914
922
|
width: "calc(" + flexibleAreaWidth + " * 0.25)"
|
|
915
923
|
},
|
|
@@ -972,7 +980,7 @@ var layerManagerStyle = {
|
|
|
972
980
|
'.activateLayer-btn, .enable-btn, .column-2, .column-3, .column-4, .column-5, .column-6, .column-7, .column-acceptanceTime, .column-loadDuration': {
|
|
973
981
|
display: 'none'
|
|
974
982
|
},
|
|
975
|
-
'.addLayer-column, .setProjection-column': {
|
|
983
|
+
'.addLayer-column, .setProjection-column, .overlayers-column': {
|
|
976
984
|
display: 'none'
|
|
977
985
|
},
|
|
978
986
|
'.descriptionRow': {
|
|
@@ -4740,6 +4748,100 @@ var ProjectionSelectConnect = function ProjectionSelectConnect(_ref) {
|
|
|
4740
4748
|
});
|
|
4741
4749
|
};
|
|
4742
4750
|
|
|
4751
|
+
var availableOverlayers = [{
|
|
4752
|
+
name: 'Default Overlayer',
|
|
4753
|
+
value: 'Default Overlayer'
|
|
4754
|
+
},
|
|
4755
|
+
// TODO: rename to 'None' when implemented: https://gitlab.com/opengeoweb/opengeoweb/-/issues/6095
|
|
4756
|
+
{
|
|
4757
|
+
name: 'None (not implemented)',
|
|
4758
|
+
value: 'None'
|
|
4759
|
+
}];
|
|
4760
|
+
var OverlayersSelect = function OverlayersSelect(_ref) {
|
|
4761
|
+
var _availableOverlayers$;
|
|
4762
|
+
var selectedOverlayer = _ref.selectedOverlayer,
|
|
4763
|
+
onChangeOverlayer = _ref.onChangeOverlayer;
|
|
4764
|
+
var _useCoreTranslation = useCoreTranslation(),
|
|
4765
|
+
t = _useCoreTranslation.t;
|
|
4766
|
+
var index = availableOverlayers.findIndex(function (layer) {
|
|
4767
|
+
return layer.value === selectedOverlayer;
|
|
4768
|
+
});
|
|
4769
|
+
var selectedOverlayerName = (_availableOverlayers$ = availableOverlayers.find(function (layer) {
|
|
4770
|
+
return layer.value === selectedOverlayer;
|
|
4771
|
+
})) == null ? void 0 : _availableOverlayers$.name;
|
|
4772
|
+
return jsxs(Grid, {
|
|
4773
|
+
container: true,
|
|
4774
|
+
className: "overlayers-column",
|
|
4775
|
+
sx: {
|
|
4776
|
+
width: '100%',
|
|
4777
|
+
height: '36px'
|
|
4778
|
+
},
|
|
4779
|
+
children: [jsx(Grid, {
|
|
4780
|
+
sx: [{
|
|
4781
|
+
marginTop: '-2px'
|
|
4782
|
+
}, leftButtonsStyle],
|
|
4783
|
+
children: jsx(CustomIconButton, {
|
|
4784
|
+
sx: {
|
|
4785
|
+
margin: 'auto 0px auto 32px'
|
|
4786
|
+
},
|
|
4787
|
+
disabled: true,
|
|
4788
|
+
children: jsx(Overlayers, {})
|
|
4789
|
+
})
|
|
4790
|
+
}), jsx(Grid, {
|
|
4791
|
+
className: columnClasses.baseLayer,
|
|
4792
|
+
children: jsx(FormControl, {
|
|
4793
|
+
style: {
|
|
4794
|
+
width: '100%'
|
|
4795
|
+
},
|
|
4796
|
+
children: jsxs(TooltipSelect, {
|
|
4797
|
+
disableUnderline: true,
|
|
4798
|
+
SelectDisplayProps: {
|
|
4799
|
+
'aria-label': 'overlayerSelect'
|
|
4800
|
+
},
|
|
4801
|
+
tooltip: t('layermanager-overlayers-overlayer') + ": " + selectedOverlayerName,
|
|
4802
|
+
isEnabled: true,
|
|
4803
|
+
style: {
|
|
4804
|
+
maxWidth: '100%'
|
|
4805
|
+
},
|
|
4806
|
+
value: selectedOverlayer,
|
|
4807
|
+
list: availableOverlayers,
|
|
4808
|
+
currentIndex: index,
|
|
4809
|
+
onChange: function onChange(event) {
|
|
4810
|
+
event.stopPropagation();
|
|
4811
|
+
onChangeOverlayer(event.target.value);
|
|
4812
|
+
},
|
|
4813
|
+
onChangeMouseWheel: function onChangeMouseWheel(e) {
|
|
4814
|
+
onChangeOverlayer(e.value);
|
|
4815
|
+
},
|
|
4816
|
+
children: [jsx(MenuItem, {
|
|
4817
|
+
disabled: true,
|
|
4818
|
+
children: t('layermanager-overlayers-title')
|
|
4819
|
+
}), availableOverlayers.map(function (_ref2) {
|
|
4820
|
+
var name = _ref2.name,
|
|
4821
|
+
value = _ref2.value;
|
|
4822
|
+
return jsx(MenuItem, {
|
|
4823
|
+
value: value,
|
|
4824
|
+
children: name
|
|
4825
|
+
}, name);
|
|
4826
|
+
})]
|
|
4827
|
+
})
|
|
4828
|
+
})
|
|
4829
|
+
})]
|
|
4830
|
+
});
|
|
4831
|
+
};
|
|
4832
|
+
|
|
4833
|
+
var OverlayersSelectConnect = function OverlayersSelectConnect() {
|
|
4834
|
+
var _React$useState = React__default.useState('Default Overlayer'),
|
|
4835
|
+
selectedOverlayer = _React$useState[0],
|
|
4836
|
+
setSelectedOverlayer = _React$useState[1];
|
|
4837
|
+
return jsx(OverlayersSelect, {
|
|
4838
|
+
selectedOverlayer: selectedOverlayer,
|
|
4839
|
+
onChangeOverlayer: function onChangeOverlayer(selection) {
|
|
4840
|
+
setSelectedOverlayer(selection);
|
|
4841
|
+
}
|
|
4842
|
+
});
|
|
4843
|
+
};
|
|
4844
|
+
|
|
4743
4845
|
var styles$1 = {
|
|
4744
4846
|
layerRowContainer: {
|
|
4745
4847
|
position: 'relative',
|
|
@@ -4896,7 +4998,7 @@ var LayerManager = function LayerManager(_ref) {
|
|
|
4896
4998
|
mapId: mapId,
|
|
4897
4999
|
settings: settings == null ? void 0 : settings.content,
|
|
4898
5000
|
collapsedColumns: collapsedColumns
|
|
4899
|
-
}), jsx(BaseLayerRow, {
|
|
5001
|
+
}), jsx(OverlayersSelectConnect, {}), jsx(BaseLayerRow, {
|
|
4900
5002
|
mapId: mapId,
|
|
4901
5003
|
tooltip: t('layermanager-baselayers-tooltip'),
|
|
4902
5004
|
preloadedAvailableBaseLayers: preloadedAvailableBaseLayers,
|
|
@@ -6365,6 +6467,12 @@ var getFeatureInfoUrl = function getFeatureInfoUrl(layer, mapPinLocation) {
|
|
|
6365
6467
|
LAYERS: wmjsLayer.getLayerName()
|
|
6366
6468
|
}
|
|
6367
6469
|
});
|
|
6470
|
+
layer.dimensions && layer.dimensions.forEach(function (dim) {
|
|
6471
|
+
var wmDim = wmjsLayer.getDimension(dim.name);
|
|
6472
|
+
if (wmDim && wmDim.getValue() !== dim.currentValue) {
|
|
6473
|
+
wmDim.setValue(dim.currentValue);
|
|
6474
|
+
}
|
|
6475
|
+
});
|
|
6368
6476
|
return source.getFeatureInfoUrl([mapPinLocation.projectionX, mapPinLocation.projectionY], mapPinLocation.resolution, mapPinLocation.srs, {
|
|
6369
6477
|
INFO_FORMAT: 'text/html'
|
|
6370
6478
|
}) + "&" + getMapDimURL(wmjsLayer).toString();
|
|
@@ -6435,15 +6543,10 @@ var GetFeatureInfoDialog = function GetFeatureInfoDialog(_ref) {
|
|
|
6435
6543
|
mapPinLocation = _ref.mapPinLocation;
|
|
6436
6544
|
var _useCoreTranslation = useCoreTranslation(),
|
|
6437
6545
|
t = _useCoreTranslation.t;
|
|
6438
|
-
/* Ref and state for maplocation */
|
|
6439
|
-
var mapLocationWasChanged = React__default.useRef(false);
|
|
6440
|
-
var _React$useState = React__default.useState(false),
|
|
6441
|
-
isInitialMapLocationChanged = _React$useState[0],
|
|
6442
|
-
setInitialMapLocationIsChanged = _React$useState[1];
|
|
6443
6546
|
/* Ref, state and update function for results per layer map */
|
|
6444
6547
|
var gfiResultMap = React__default.useRef(new Map()).current;
|
|
6445
|
-
var _React$
|
|
6446
|
-
triggerRerender = _React$
|
|
6548
|
+
var _React$useState = React__default.useState(),
|
|
6549
|
+
triggerRerender = _React$useState[1];
|
|
6447
6550
|
var updateLayerResult = function updateLayerResult(_ref2) {
|
|
6448
6551
|
var layerId = _ref2.layerId,
|
|
6449
6552
|
data = _ref2.data,
|
|
@@ -6507,16 +6610,9 @@ var GetFeatureInfoDialog = function GetFeatureInfoDialog(_ref) {
|
|
|
6507
6610
|
return _ref3.apply(this, arguments);
|
|
6508
6611
|
};
|
|
6509
6612
|
}();
|
|
6510
|
-
/* Wait till the user has clicked the map. */
|
|
6511
|
-
React__default.useEffect(function () {
|
|
6512
|
-
if (mapLocationWasChanged.current !== false) {
|
|
6513
|
-
setInitialMapLocationIsChanged(true);
|
|
6514
|
-
}
|
|
6515
|
-
mapLocationWasChanged.current = true;
|
|
6516
|
-
}, [mapPinLocation]);
|
|
6517
6613
|
/* For each changed getfeature url string, load new data using WMS GetFeatureInfo */
|
|
6518
6614
|
React__default.useEffect(function () {
|
|
6519
|
-
if (
|
|
6615
|
+
if (mapPinLocation && isOpen) {
|
|
6520
6616
|
layerToUpdateList.forEach(function (_ref4) {
|
|
6521
6617
|
var url = _ref4.url,
|
|
6522
6618
|
layerId = _ref4.layerId;
|
|
@@ -6546,7 +6642,7 @@ var GetFeatureInfoDialog = function GetFeatureInfoDialog(_ref) {
|
|
|
6546
6642
|
sx: {
|
|
6547
6643
|
padding: 0
|
|
6548
6644
|
},
|
|
6549
|
-
children: [isOpen && hasLayers &&
|
|
6645
|
+
children: [isOpen && hasLayers && mapPinLocation && jsx(Box, {
|
|
6550
6646
|
"data-testid": "GetFeatureInfoList",
|
|
6551
6647
|
ref: stopWheelEventPropagationRef,
|
|
6552
6648
|
children: layerToUpdateList.map(function (layer) {
|
|
@@ -6599,7 +6695,7 @@ var GetFeatureInfoDialog = function GetFeatureInfoDialog(_ref) {
|
|
|
6599
6695
|
})]
|
|
6600
6696
|
}, layerId);
|
|
6601
6697
|
})
|
|
6602
|
-
}), hasLayers && !
|
|
6698
|
+
}), hasLayers && !mapPinLocation && jsx(Typography, {
|
|
6603
6699
|
"data-testid": "click-on-map-for-info",
|
|
6604
6700
|
variant: "subtitle1",
|
|
6605
6701
|
sx: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeoweb/core",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.10.0",
|
|
4
4
|
"description": "GeoWeb Core library for the opengeoweb project",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -8,22 +8,22 @@
|
|
|
8
8
|
"url": "git@gitlab.com:opengeoweb/opengeoweb.git"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@opengeoweb/shared": "12.
|
|
11
|
+
"@opengeoweb/shared": "12.10.0",
|
|
12
12
|
"react-redux": "^9.2.0",
|
|
13
|
-
"@opengeoweb/store": "12.
|
|
14
|
-
"@opengeoweb/timeslider": "12.
|
|
13
|
+
"@opengeoweb/store": "12.10.0",
|
|
14
|
+
"@opengeoweb/timeslider": "12.10.0",
|
|
15
15
|
"@reduxjs/toolkit": "^2.6.1",
|
|
16
|
-
"@opengeoweb/webmap-react": "12.
|
|
17
|
-
"@opengeoweb/webmap": "12.
|
|
18
|
-
"@opengeoweb/theme": "12.
|
|
16
|
+
"@opengeoweb/webmap-react": "12.10.0",
|
|
17
|
+
"@opengeoweb/webmap": "12.10.0",
|
|
18
|
+
"@opengeoweb/theme": "12.10.0",
|
|
19
19
|
"axios": "^1.7.7",
|
|
20
|
-
"@opengeoweb/layer-select": "12.
|
|
20
|
+
"@opengeoweb/layer-select": "12.10.0",
|
|
21
21
|
"lodash": "^4.17.21",
|
|
22
22
|
"ol": "^10.4.0",
|
|
23
23
|
"react-sortablejs": "^6.1.4",
|
|
24
24
|
"sortablejs": "^1.15.1",
|
|
25
25
|
"@mui/system": "^7.0.1",
|
|
26
|
-
"@opengeoweb/snackbar": "12.
|
|
26
|
+
"@opengeoweb/snackbar": "12.10.0",
|
|
27
27
|
"react-router-dom": "^6.21.0",
|
|
28
28
|
"react-draggable": "^4.4.6",
|
|
29
29
|
"i18next": "^25.0.1",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"@mui/material": "^7.0.1",
|
|
33
33
|
"@sentry/react": "^8.34.0",
|
|
34
34
|
"@tanstack/react-query": "^5.69.2",
|
|
35
|
-
"@opengeoweb/api": "12.
|
|
35
|
+
"@opengeoweb/api": "12.10.0",
|
|
36
36
|
"@types/geojson": "^7946.0.14"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
@@ -142,7 +142,7 @@ export declare const layerManagerStyle: {
|
|
|
142
142
|
'.activateLayer-btn, .enable-btn, .column-2, .column-3, .column-4, .column-5, .column-6, .column-7, .column-acceptanceTime, .column-loadDuration': {
|
|
143
143
|
display: string;
|
|
144
144
|
};
|
|
145
|
-
'.addLayer-column, .setProjection-column': {
|
|
145
|
+
'.addLayer-column, .setProjection-column, .overlayers-column': {
|
|
146
146
|
display: string;
|
|
147
147
|
};
|
|
148
148
|
'.descriptionRow': {
|
package/src/lib/components/LayerManager/OverlayersRow/OverlayersSelectConnect.integration.spec.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|