@opengeoweb/core 20.0.0 → 20.0.1

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/dist/index.esm.js CHANGED
@@ -8,7 +8,7 @@ import { useDispatch, useSelector, connect, useStore, shallowEqual, Provider } f
8
8
  import { mapSelectors, layerSelectors, layerActions, layerTypes, filterLayers, mapActions, mapEnums, loadingIndicatorSelectors, layerUtils, serviceSelectors, serviceActions, uiSelectors, uiTypes, useSetupDialog, getUserAddedServices, uiActions, genericActions, drawingToolSelectors, syncGroupsSelectors, syncConstants, getViewObjectForSyncGroup, getViewObjectForMapId, loadingIndicatorActions, genericSelectors, PUBLIC_WARNING_DRAW_TOOL_ID, defaultLayers, getSingularDrawtoolDrawLayerId, syncGroupsSelector, syncGroupsActions, routerUtils, mapUtils } from '@opengeoweb/store';
9
9
  import i18n from 'i18next';
10
10
  import { useTranslation, Trans, I18nextProvider } from 'react-i18next';
11
- import { TIME_SLIDER_NAMESPACE, timesliderTranslations, defaultTimeSpan, AnimationLengthMode, isValidAnimationLength, isWithinAnimationStepLimit, isAnchoredMode, settingRange, AnimationLengthPanel, exactAnimationLengthFrom, AutoUpdateButton, BackwardForwardStepButton, NowButton, handleSetNowEvent, PlayButton, defaultTimeStep, SpeedButton, TimeSpanButton, secondsPerPxFromCanvasWidth, getNewCenterOfFixedPointZoom, TimeStepButton, OptionsMenuButton, TimeSliderButtons, TimeSliderCurrentTimeBox, TimeSliderLegend, onsetNewDateDebounced, getFilteredTime, defaultSecondsPerPx, moveSelectedTimePx, TimeSlider } from '@opengeoweb/time-slider';
11
+ import { TIME_SLIDER_NAMESPACE, timesliderTranslations, defaultTimeSpan, AnimationLengthMode, isValidAnimationLength, isWithinAnimationStepLimit, isAnchoredMode, settingRange, AnimationLengthPanel, exactAnimationLengthFrom, AutoUpdateButton, BackwardForwardStepButton, NowButton, handleSetNowEvent, PlayButton, defaultTimeStep, SpeedButton, TimeSpanButton, secondsPerPxFromCanvasWidth, getNewCenterOfFixedPointZoom, TimeStepButton, OptionsMenuButton, TimeSliderButtons, TimeSliderCurrentTimeBox, activeEditUnit, snapInstantToOffsetGrid, anchorInstantFor, TimeSliderLegend, onsetNewDateDebounced, getFilteredTime, defaultSecondsPerPx, moveSelectedTimePx, TimeSlider } from '@opengeoweb/time-slider';
12
12
  import { webmapReactTranslations, WEBMAP_REACT_NAMESPACE, webmapTranslations, WEBMAP_NAMESPACE, openLayersGetMapImageStore, LayerInfoButton, useStacCollection, useGetWMLayerInstance, getLayerExtentForProjection, useEDRGetCollectionDetails, getStacCollectionStyles, resolvePreferredStyleName, defaultEdrStyles, LayerInfoDialog, MapControlButton, MapDimensionSelect, dimensionConfig, DimensionSelectDialog, DimensionSelectButton, Clock, LegendDialog, LegendButton, MapContext, emptyGeoJSON, MapFeatureClass, setMapCenter, makeTimeList, getIsInsideAcceptanceTime, OpenLayersLayer, isGeoJSONGeometryEmpty, calculateNewSelection, shouldExitEditModeForMultiSelect, shouldEnterEditMode, calculateBoxSelection, OpenLayersFeatureLayer, OpenLayersMapDraw, DRAWMODE, getOlFeatureKey, MapMeasure, useViewFromLayer, useSetIntervalWhenVisible, TimeContext, OpenLayersMapView, WMSLayer, genericOpenLayersFeatureStyle, OpenLayersGetFeatureInfo, MapControls, OpenLayersZoomControl, getLayerUpdateInfo, publicLayers } from '@opengeoweb/webmap-react';
13
13
  export { getAffectedIndices } from '@opengeoweb/webmap-react';
14
14
  import { Cached, Add, MapAdd, CollapseSmall, CollapseMedium, CollapseLarge, CollapseWindow, ExpandWindow, LayersAdd, CloudLoading, ColumnCollapsed, ColumnCollapse, DragHandle as DragHandle$1, None, FastForward, AutoUpdateActive, Both, Delete, Visibility, VisibilityOff, Copy, ZoomToLayer, Overlayers, WorldMapProjection, Layers, Search, Exclamation, MyLocation, Airplane, Region, Pinned, Close, ExitDomain, LocationInfo, Measure, Options, Info, ThemeWrapper, lightTheme, FlagBritain, FlagNetherlands, FlagFinland, FlagNorway } from '@opengeoweb/theme';
@@ -89,7 +89,6 @@ var en = {
89
89
  "projection-title": "Projection",
90
90
  "wms-loader-description": "Please enter a wms server, or select one from the list.",
91
91
  "wms-loader-no-data": "No data",
92
- "wms-loader-error-http": "Use https or allow Mixed Content in your browser to use this WMS service",
93
92
  "wms-loader-error-valid-service": "Please enter a valid WMS service",
94
93
  "wms-loader-error-valid-url": "Please enter a valid URL",
95
94
  "search-title": "Find location",
@@ -189,7 +188,6 @@ var fi = {
189
188
  "projection-title": "Projektio",
190
189
  "wms-loader-description": "Lisää WMS palvelu tai valitse listasta",
191
190
  "wms-loader-no-data": "Ei dataa saatavilla",
192
- "wms-loader-error-http": "Käytä https:ää tai salli Mixed Content selaimessasi käyttääksesi tätä WMS palvelua",
193
191
  "wms-loader-error-valid-service": "Lisää toimiva WMS palvelu",
194
192
  "wms-loader-error-valid-url": "Lisää toimiva URL",
195
193
  "search-title": "Etsi",
@@ -281,7 +279,6 @@ var no = {
281
279
  "projection-title": "Projeksjon",
282
280
  "wms-loader-description": "Vennligst skriv inn WMS-server eller velg en fra listen.",
283
281
  "wms-loader-no-data": "Ingen data",
284
- "wms-loader-error-http": "Bruk https eller tillat Mixed Content i nettleseren din for å bruke denne WMS-tjenesten",
285
282
  "wms-loader-error-valid-service": "Vennligst skriv inn en gyldig WMS-tjeneste",
286
283
  "wms-loader-error-valid-url": "Vennligst skriv inn en gyldig URL",
287
284
  "search-title": "Søk",
@@ -374,7 +371,6 @@ var nl = {
374
371
  "projection-title": "Projectie",
375
372
  "wms-loader-description": "Voer een WMS service in of selecteer er een uit de lijst.",
376
373
  "wms-loader-no-data": "Geen data",
377
- "wms-loader-error-http": "Gebruik https of sta Mixed Content toe in je browser om deze WMS service te gebruiken",
378
374
  "wms-loader-error-valid-service": "Voer een geldige WMS service in",
379
375
  "wms-loader-error-valid-url": "Voer een geldige URL in",
380
376
  "search-title": "Zoeken",
@@ -4694,14 +4690,12 @@ var RenderEDRLayers = function RenderEDRLayers(_ref) {
4694
4690
  return (_layer$title = layer.title) == null ? void 0 : _layer$title.toLowerCase().includes(searchFilter.toLowerCase());
4695
4691
  });
4696
4692
  var edrText = t('layermanager-EDR');
4697
- var tooltipNames = currentValues.map(function (value) {
4693
+ var tooltip = nonEmptyTooltipPrefix + " " + currentValues.map(function (value) {
4698
4694
  var layer = extendedLayers.find(function (layer) {
4699
4695
  return value === layer.name;
4700
4696
  });
4701
4697
  return (layer == null ? void 0 : layer.title) || (layer == null ? void 0 : layer.name);
4702
- });
4703
- // eslint-disable-next-line no-restricted-syntax
4704
- var tooltip = nonEmptyTooltipPrefix + " " + tooltipNames.sort(function (paramA, paramB) {
4698
+ }).sort(function (paramA, paramB) {
4705
4699
  return (paramA != null ? paramA : '').localeCompare(paramB != null ? paramB : '');
4706
4700
  }).join(', ');
4707
4701
  return jsxs(TooltipSelect, {
@@ -10305,6 +10299,27 @@ var TimeSliderLegendConnect = function TimeSliderLegendConnect(_ref) {
10305
10299
  var timeSliderSpan = useSelector(function (store) {
10306
10300
  return mapSelectors.getMapTimeSliderSpan(store, mapId);
10307
10301
  });
10302
+ var animationLength = useSelector(function (store) {
10303
+ return mapSelectors.getAnimationLength(store, mapId);
10304
+ });
10305
+ var autoTimeStepLayerId = useSelector(function (store) {
10306
+ return mapSelectors.getAutoTimeStepLayerId(store, mapId);
10307
+ });
10308
+ var layerRefTimeDimension = useSelector(function (store) {
10309
+ return layerSelectors.getLayerDimension(store, autoTimeStepLayerId, 'reference_time');
10310
+ });
10311
+ /* ReferenceTime counts its offsets from the layer, so the reducer is told where that is. */
10312
+ var referenceTimeFromLayer = (layerRefTimeDimension == null ? void 0 : layerRefTimeDimension.currentValue) || undefined;
10313
+ /* An anchored mode counts whole units from its anchor, so a handle may only land on those. */
10314
+ var snapAnimationTime = React.useMemo(function () {
10315
+ if (!animationLength || !isAnchoredMode(animationLength.mode)) {
10316
+ return undefined;
10317
+ }
10318
+ var unit = activeEditUnit(animationLength);
10319
+ return function (timeUnix) {
10320
+ return dateUtils.unix(snapInstantToOffsetGrid(anchorInstantFor(animationLength, referenceTimeFromLayer), dateUtils.fromUnix(timeUnix), unit));
10321
+ };
10322
+ }, [animationLength, referenceTimeFromLayer]);
10308
10323
  var currentTime = dateUtils.unix(Date.now());
10309
10324
  var _useSelector2 = useSelector(function (store) {
10310
10325
  return mapSelectors.getDataLimitsFromLayers(store, mapId);
@@ -10327,6 +10342,7 @@ var TimeSliderLegendConnect = function TimeSliderLegendConnect(_ref) {
10327
10342
  dispatch(mapActions.setAnimationStartTime({
10328
10343
  mapId: mapId,
10329
10344
  animationStartTime: dateUtils.fromUnix(startTime).toISOString(),
10345
+ referenceTime: referenceTimeFromLayer,
10330
10346
  origin: mapEnums.MapActionOrigin.map
10331
10347
  }));
10332
10348
  }
@@ -10338,6 +10354,7 @@ var TimeSliderLegendConnect = function TimeSliderLegendConnect(_ref) {
10338
10354
  dispatch(mapActions.setAnimationEndTime({
10339
10355
  mapId: mapId,
10340
10356
  animationEndTime: dateUtils.fromUnix(endTime).toISOString(),
10357
+ referenceTime: referenceTimeFromLayer,
10341
10358
  origin: mapEnums.MapActionOrigin.map
10342
10359
  }));
10343
10360
  }
@@ -10349,6 +10366,7 @@ var TimeSliderLegendConnect = function TimeSliderLegendConnect(_ref) {
10349
10366
  currentTime: currentTime,
10350
10367
  dataEndTime: dataEndTime,
10351
10368
  dataStartTime: dataStartTime,
10369
+ isAnimationRangeDraggable: (animationLength == null ? void 0 : animationLength.mode) !== AnimationLengthMode.Auto,
10352
10370
  isDraggingEndAnimation: isDraggingEndAnimation,
10353
10371
  isDraggingStartAnimation: isDraggingStartAnimation,
10354
10372
  isTimeScrollingEnabled: isTimeScrollingEnabled,
@@ -10360,6 +10378,7 @@ var TimeSliderLegendConnect = function TimeSliderLegendConnect(_ref) {
10360
10378
  dispatch(mapActions.setAnimationEndTime({
10361
10379
  mapId: mapId,
10362
10380
  animationEndTime: animationEndTime,
10381
+ referenceTime: referenceTimeFromLayer,
10363
10382
  origin: mapEnums.MapActionOrigin.map
10364
10383
  }));
10365
10384
  },
@@ -10367,6 +10386,7 @@ var TimeSliderLegendConnect = function TimeSliderLegendConnect(_ref) {
10367
10386
  dispatch(mapActions.setAnimationStartTime({
10368
10387
  mapId: mapId,
10369
10388
  animationStartTime: animationStartTime,
10389
+ referenceTime: referenceTimeFromLayer,
10370
10390
  origin: mapEnums.MapActionOrigin.map
10371
10391
  }));
10372
10392
  },
@@ -10384,6 +10404,7 @@ var TimeSliderLegendConnect = function TimeSliderLegendConnect(_ref) {
10384
10404
  setIsDraggingEndAnimation: setIsDraggingEndAnimation,
10385
10405
  setIsDraggingStartAnimation: setIsDraggingStartAnimation,
10386
10406
  setUnfilteredSelectedTime: setUnfilteredSelectedTime,
10407
+ snapAnimationTime: snapAnimationTime,
10387
10408
  timeSliderSpan: timeSliderSpan,
10388
10409
  timeSliderWidth: timeSliderWidth,
10389
10410
  timeStep: timeStep,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/core",
3
- "version": "20.0.0",
3
+ "version": "20.0.1",
4
4
  "description": "GeoWeb Core library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -20,28 +20,28 @@
20
20
  }
21
21
  },
22
22
  "dependencies": {
23
- "@opengeoweb/shared": "20.0.0",
23
+ "@opengeoweb/shared": "20.0.1",
24
24
  "react-redux": "^9.2.0",
25
- "@opengeoweb/store": "20.0.0",
26
- "@opengeoweb/time-slider": "20.0.0",
25
+ "@opengeoweb/store": "20.0.1",
26
+ "@opengeoweb/time-slider": "20.0.1",
27
27
  "@reduxjs/toolkit": "^2.6.1",
28
- "@opengeoweb/webmap-react": "20.0.0",
29
- "@opengeoweb/webmap": "20.0.0",
30
- "@opengeoweb/theme": "20.0.0",
31
- "@opengeoweb/layer-select": "20.0.0",
28
+ "@opengeoweb/webmap-react": "20.0.1",
29
+ "@opengeoweb/webmap": "20.0.1",
30
+ "@opengeoweb/theme": "20.0.1",
31
+ "@opengeoweb/layer-select": "20.0.1",
32
32
  "lodash": "^4.18.1",
33
33
  "ol": "^10.4.0",
34
34
  "react-sortablejs": "^6.1.4",
35
35
  "sortablejs": "^1.15.1",
36
36
  "@mui/system": "^9.0.1",
37
- "@opengeoweb/snackbar": "20.0.0",
37
+ "@opengeoweb/snackbar": "20.0.1",
38
38
  "react-draggable": "^4.4.6",
39
39
  "i18next": "^25.0.1",
40
40
  "react-i18next": "^15.1.1",
41
41
  "dompurify": "^3.4.13",
42
42
  "@mui/material": "^9.0.1",
43
43
  "@tanstack/react-query": "^5.85.5",
44
- "@opengeoweb/api": "20.0.0",
44
+ "@opengeoweb/api": "20.0.1",
45
45
  "@types/geojson": "^7946.0.14",
46
46
  "@turf/turf": "^7.2.0",
47
47
  "proj4": "^2.15.0",
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- export interface AnimationLengthButtonConnectProps {
3
- mapId: string;
4
- }
5
- export declare const AnimationLengthButtonConnect: React.FC<AnimationLengthButtonConnectProps>;