@opengeoweb/core 13.0.0 → 13.2.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/index.esm.js CHANGED
@@ -1218,6 +1218,26 @@ var DimensionSelectName = function DimensionSelectName(_ref) {
1218
1218
  });
1219
1219
  };
1220
1220
 
1221
+ var LatestOptions;
1222
+ (function (LatestOptions) {
1223
+ LatestOptions["LATEST_0"] = "Latest";
1224
+ LatestOptions["LATEST_1"] = "Latest -1";
1225
+ LatestOptions["LATEST_2"] = "Latest -2";
1226
+ LatestOptions["LATEST_3"] = "Latest -3";
1227
+ })(LatestOptions || (LatestOptions = {}));
1228
+ var createLatestMap = function createLatestMap(dimensionValuesRaw) {
1229
+ var latestOptions = Object.values(LatestOptions).slice(0, dimensionValuesRaw.length);
1230
+ return {
1231
+ getValue: function getValue(value) {
1232
+ var index = dimensionValuesRaw.indexOf(value);
1233
+ return index !== -1 ? latestOptions[index] : value;
1234
+ },
1235
+ getIndex: function getIndex(value) {
1236
+ return latestOptions.indexOf(value);
1237
+ },
1238
+ latestOptions: latestOptions
1239
+ };
1240
+ };
1221
1241
  var DimensionSelectValue = function DimensionSelectValue(_ref) {
1222
1242
  var isEnabled = _ref.isEnabled,
1223
1243
  tooltip = _ref.tooltip,
@@ -1234,24 +1254,43 @@ var DimensionSelectValue = function DimensionSelectValue(_ref) {
1234
1254
  var _useCoreTranslation = useCoreTranslation(),
1235
1255
  t = _useCoreTranslation.t;
1236
1256
  var dimensionValuesRaw = generatedValues.toReversed().slice(0, 100);
1257
+ var latestMap = createLatestMap(dimensionValuesRaw);
1237
1258
  if (!(selectedDimension != null && selectedDimension.name) || !(dimensionValuesRaw != null && dimensionValuesRaw.length)) {
1238
1259
  return null;
1239
1260
  }
1240
1261
  var isReferenceTimeDimensionAndUseLatestIsAvailable = selectedDimension.name === 'reference_time' && useLatestReferenceTime !== undefined;
1241
1262
  var latestValue = dimensionValuesRaw[0];
1263
+ var dimensionValues = isReferenceTimeDimensionAndUseLatestIsAvailable ? [].concat(latestMap.latestOptions, dimensionValuesRaw.slice(hideLatestDuplicate ? 1 : 0)) : dimensionValuesRaw.slice().reverse();
1264
+ var extendedDimensionValues = dimensionValues.findIndex(function (dimensionValue) {
1265
+ return dimensionValue === selectedDimension.currentValue;
1266
+ }) === -1 ? [].concat(dimensionValues, [selectedDimension.currentValue]) : dimensionValues;
1242
1267
  var setDimensionValue = function setDimensionValue(dimensionValue) {
1243
1268
  if (isReferenceTimeDimensionAndUseLatestIsAvailable) {
1244
- if (dimensionValue === 'Latest') {
1269
+ var index = latestMap.getIndex(dimensionValue);
1270
+ if (index !== -1) {
1245
1271
  setUseLatestReferenceTime == null || setUseLatestReferenceTime(true);
1246
- onLayerChangeDimension(selectedDimension.name, dimensionValuesRaw[0], layerTypes.LayerActionOrigin.layerManager);
1272
+ onLayerChangeDimension(selectedDimension.name, dimensionValuesRaw[index], layerTypes.LayerActionOrigin.layerManager);
1247
1273
  return;
1248
1274
  }
1249
1275
  setUseLatestReferenceTime == null || setUseLatestReferenceTime(false);
1250
1276
  }
1251
1277
  onLayerChangeDimension(selectedDimension.name, dimensionValue, layerTypes.LayerActionOrigin.layerManager);
1252
1278
  };
1253
- var dimensionValues = isReferenceTimeDimensionAndUseLatestIsAvailable ? ['Latest'].concat(dimensionValuesRaw.slice(hideLatestDuplicate ? 1 : 0)) : dimensionValuesRaw.slice().reverse();
1254
- var isLatest = isReferenceTimeDimensionAndUseLatestIsAvailable && useLatestReferenceTime && selectedDimension.maxValue === selectedDimension.currentValue;
1279
+ var isOneOfLatest = isReferenceTimeDimensionAndUseLatestIsAvailable && useLatestReferenceTime;
1280
+ var getValue = function getValue() {
1281
+ if (isOneOfLatest) {
1282
+ return latestMap.getValue(selectedDimension.currentValue);
1283
+ }
1284
+ return selectedDimension.currentValue;
1285
+ };
1286
+ var getIndex = function getIndex() {
1287
+ if (isOneOfLatest) {
1288
+ return latestMap.getIndex(selectedDimension.currentValue);
1289
+ }
1290
+ return extendedDimensionValues.findIndex(function (dimensionValue) {
1291
+ return dimensionValue === selectedDimension.currentValue;
1292
+ });
1293
+ };
1255
1294
  return jsxs(TooltipSelect, {
1256
1295
  "data-testid": "dimensionSelectValue",
1257
1296
  disableUnderline: true,
@@ -1260,15 +1299,13 @@ var DimensionSelectValue = function DimensionSelectValue(_ref) {
1260
1299
  },
1261
1300
  tooltip: tooltip,
1262
1301
  isEnabled: isEnabled,
1263
- value: isLatest ? 'Latest' : selectedDimension.currentValue,
1264
- list: dimensionValues.map(function (dimensionValue) {
1302
+ value: getValue(),
1303
+ list: extendedDimensionValues.map(function (dimensionValue) {
1265
1304
  return {
1266
1305
  value: dimensionValue
1267
1306
  };
1268
1307
  }),
1269
- currentIndex: isLatest ? 0 : dimensionValues.findIndex(function (dimensionValue) {
1270
- return dimensionValue === selectedDimension.currentValue;
1271
- }),
1308
+ currentIndex: getIndex(),
1272
1309
  onChange: function onChange(event) {
1273
1310
  event.stopPropagation();
1274
1311
  setDimensionValue(event.target.value);
@@ -1284,18 +1321,31 @@ var DimensionSelectValue = function DimensionSelectValue(_ref) {
1284
1321
  children: [jsx(MenuItem, {
1285
1322
  disabled: true,
1286
1323
  children: t('layermanager-dimensions-total-values', {
1287
- total_dimensions: dimensionValues.length
1324
+ total_dimensions: extendedDimensionValues.length
1288
1325
  })
1289
- }), dimensionValues.map(function (dimensionValue) {
1326
+ }), extendedDimensionValues.map(function (dimensionValue, currentIndex) {
1290
1327
  var _valueMappings$select;
1291
1328
  return jsx(MenuItem, {
1292
1329
  value: dimensionValue,
1293
- children: (valueMappings == null || (_valueMappings$select = valueMappings[selectedDimension.name]) == null ? void 0 : _valueMappings$select.call(valueMappings, dimensionValue, isReferenceTimeDimensionAndUseLatestIsAvailable ? latestValue : undefined)) || jsxs("span", {
1294
- style: {
1295
- whiteSpace: 'nowrap'
1330
+ children: (valueMappings == null || (_valueMappings$select = valueMappings[selectedDimension.name]) == null ? void 0 : _valueMappings$select.call(valueMappings, dimensionValue, isReferenceTimeDimensionAndUseLatestIsAvailable ? latestValue : undefined)) || jsxs(Box, {
1331
+ sx: {
1332
+ display: 'flex',
1333
+ alignItems: 'center',
1334
+ '& .MuiSvgIcon-root': {
1335
+ fill: 'currentcolor!important'
1336
+ }
1296
1337
  },
1297
- children: [dimensionValue, dimensionValue !== 'Latest' && jsxs("i", {
1298
- children: [" ", selectedDimension.units]
1338
+ children: [jsxs("span", {
1339
+ style: {
1340
+ whiteSpace: 'nowrap',
1341
+ textOverflow: 'ellipsis',
1342
+ overflow: 'hidden'
1343
+ },
1344
+ children: [dimensionValue, !dimensionValue.includes('Latest') && jsxs("i", {
1345
+ children: [" ", selectedDimension.units]
1346
+ })]
1347
+ }), currentIndex === dimensionValues.length && jsx(AlertIcon, {
1348
+ severity: "error"
1299
1349
  })]
1300
1350
  })
1301
1351
  }, dimensionValue);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/core",
3
- "version": "13.0.0",
3
+ "version": "13.2.1",
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": "13.0.0",
11
+ "@opengeoweb/shared": "13.2.1",
12
12
  "react-redux": "^9.2.0",
13
- "@opengeoweb/store": "13.0.0",
14
- "@opengeoweb/time-slider": "13.0.0",
13
+ "@opengeoweb/store": "13.2.1",
14
+ "@opengeoweb/time-slider": "13.2.1",
15
15
  "@reduxjs/toolkit": "^2.6.1",
16
- "@opengeoweb/webmap-react": "13.0.0",
17
- "@opengeoweb/webmap": "13.0.0",
18
- "@opengeoweb/theme": "13.0.0",
16
+ "@opengeoweb/webmap-react": "13.2.1",
17
+ "@opengeoweb/webmap": "13.2.1",
18
+ "@opengeoweb/theme": "13.2.1",
19
19
  "axios": "^1.7.7",
20
- "@opengeoweb/layer-select": "13.0.0",
20
+ "@opengeoweb/layer-select": "13.2.1",
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.3.2",
26
- "@opengeoweb/snackbar": "13.0.0",
26
+ "@opengeoweb/snackbar": "13.2.1",
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.85.5",
35
- "@opengeoweb/api": "13.0.0",
35
+ "@opengeoweb/api": "13.2.1",
36
36
  "@types/geojson": "^7946.0.14"
37
37
  },
38
38
  "peerDependencies": {
@@ -1,6 +1,12 @@
1
1
  import { ElementType, FC } from 'react';
2
2
  import { layerTypes, mapTypes } from '@opengeoweb/store';
3
3
  import { DimensionValueMappings } from '../../../LayerManagerUtils';
4
+ export declare enum LatestOptions {
5
+ LATEST_0 = "Latest",
6
+ LATEST_1 = "Latest -1",
7
+ LATEST_2 = "Latest -2",
8
+ LATEST_3 = "Latest -3"
9
+ }
4
10
  declare const DimensionSelectValue: FC<{
5
11
  selectedDimension?: mapTypes.Dimension;
6
12
  generatedValues: string[];