@opengeoweb/store 20.1.0 → 20.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/dist/index.esm.js CHANGED
@@ -1373,6 +1373,17 @@ var getFeatureSelectionKey = function getFeatureSelectionKey(feature) {
1373
1373
  }
1374
1374
  return undefined;
1375
1375
  };
1376
+ /** Hidden features are not drawn while the drawing tool is open. */
1377
+ var isHiddenFeature = function isHiddenFeature(feature) {
1378
+ var _feature$properties2;
1379
+ return (feature === null || feature === void 0 || (_feature$properties2 = feature.properties) === null || _feature$properties2 === void 0 ? void 0 : _feature$properties2.isHidden) === true;
1380
+ };
1381
+ var findFeatureIndexById = function findFeatureIndexById(geojson, featureId) {
1382
+ var _geojson$features$fin;
1383
+ return featureId === undefined ? -1 : (_geojson$features$fin = geojson === null || geojson === void 0 ? void 0 : geojson.features.findIndex(function (feature) {
1384
+ return getFeatureSelectionKey(feature) === featureId;
1385
+ })) !== null && _geojson$features$fin !== void 0 ? _geojson$features$fin : -1;
1386
+ };
1376
1387
  var getSelectedFeatureIndexByIds = function getSelectedFeatureIndexByIds(geojson, selectedFeatureIds) {
1377
1388
  if (!(geojson !== null && geojson !== void 0 && geojson.features.length) || !(selectedFeatureIds !== null && selectedFeatureIds !== void 0 && selectedFeatureIds.length)) {
1378
1389
  return undefined;
@@ -1586,6 +1597,7 @@ var utils$1 = /*#__PURE__*/Object.freeze({
1586
1597
  ensureFeatureIds: ensureFeatureIds,
1587
1598
  filterCurrentValueFromDimensions: filterCurrentValueFromDimensions,
1588
1599
  filterNonTimeDimensions: filterNonTimeDimensions,
1600
+ findFeatureIndexById: findFeatureIndexById,
1589
1601
  generateFeatureId: generateFeatureId,
1590
1602
  getEDRServiceRootUrl: getEDRServiceRootUrl,
1591
1603
  getFeatureSelectionKey: getFeatureSelectionKey,
@@ -1593,6 +1605,7 @@ var utils$1 = /*#__PURE__*/Object.freeze({
1593
1605
  getSelectedFeatureIndexByIds: getSelectedFeatureIndexByIds,
1594
1606
  getTrailingSlashVariant: getTrailingSlashVariant,
1595
1607
  isActionLayerSynced: isActionLayerSynced,
1608
+ isHiddenFeature: isHiddenFeature,
1596
1609
  produceDimensionActionForMapLayer: produceDimensionActionForMapLayer,
1597
1610
  produceDraftStateForAllLayersForDimensionWithinMap: produceDraftStateForAllLayersForDimensionWithinMap,
1598
1611
  shouldResetCurrentValueToParsedValue: shouldResetCurrentValueToParsedValue,
@@ -2243,9 +2256,7 @@ var slice$7 = createSlice({
2243
2256
  return;
2244
2257
  }
2245
2258
  var features = currentLayer.geojson.features;
2246
- var featureIndex = features.findIndex(function (feature) {
2247
- return getFeatureSelectionKey(feature) === featureId;
2248
- });
2259
+ var featureIndex = findFeatureIndexById(currentLayer.geojson, featureId);
2249
2260
  if (featureIndex < 0) {
2250
2261
  return;
2251
2262
  }
@@ -10438,6 +10449,11 @@ var _drawAdapter$getSelec = drawAdapter.getSelectors(function (state) {
10438
10449
  }),
10439
10450
  selectDrawToolById = _drawAdapter$getSelec.selectById,
10440
10451
  selectAllDrawingTools = _drawAdapter$getSelec.selectAll;
10452
+ var getHasDrawToolForLayer = function getHasDrawToolForLayer(store, layerId) {
10453
+ return selectAllDrawingTools(store).some(function (tool) {
10454
+ return tool.geoJSONLayerId === layerId;
10455
+ });
10456
+ };
10441
10457
  var getActiveDrawToolId = createSelector(selectAllDrawingTools, function (drawtools) {
10442
10458
  var activeDrawTool = drawtools === null || drawtools === void 0 ? void 0 : drawtools.find(function (drawtool) {
10443
10459
  return drawtool.activeDrawModeId !== '';
@@ -10457,6 +10473,10 @@ var getActiveDrawModeId = createSelector(selectDrawToolById, function (drawingTo
10457
10473
  var getDrawToolGeoJSONLayerId = createSelector(selectDrawToolById, function (drawingTool) {
10458
10474
  return (drawingTool === null || drawingTool === void 0 ? void 0 : drawingTool.geoJSONLayerId) || '';
10459
10475
  });
10476
+ /** The Drawing Toolbox dialog is open and draws on the layer; its draw tool id is the dialog type. */
10477
+ var getIsDrawToolOpenForLayer = function getIsDrawToolOpenForLayer(store, layerId) {
10478
+ return getDrawToolGeoJSONLayerId(store, DialogTypes.DrawingTool) === layerId && getisDialogOpen(store, DialogTypes.DrawingTool);
10479
+ };
10460
10480
  var getGeoJSONIntersectionLayerId = createSelector(selectDrawToolById, function (drawingTool) {
10461
10481
  return drawingTool === null || drawingTool === void 0 ? void 0 : drawingTool.geoJSONIntersectionLayerId;
10462
10482
  });
@@ -10482,6 +10502,8 @@ var selectors = /*#__PURE__*/Object.freeze({
10482
10502
  getDrawingtoolStore: getDrawingtoolStore,
10483
10503
  getGeoJSONIntersectionBoundsLayerId: getGeoJSONIntersectionBoundsLayerId,
10484
10504
  getGeoJSONIntersectionLayerId: getGeoJSONIntersectionLayerId,
10505
+ getHasDrawToolForLayer: getHasDrawToolForLayer,
10506
+ getIsDrawToolOpenForLayer: getIsDrawToolOpenForLayer,
10485
10507
  getShouldAllowMultipleShapes: getShouldAllowMultipleShapes,
10486
10508
  selectAllDrawingTools: selectAllDrawingTools,
10487
10509
  selectDrawToolById: selectDrawToolById
@@ -1,4 +1,5 @@
1
1
  import type { DrawingToolState, DrawtoolModuleStore } from './reducer';
2
+ import type { UIModuleState } from '../ui/types';
2
3
  export declare const getDrawingtoolStore: (store: DrawtoolModuleStore) => DrawingToolState;
3
4
  export declare const selectDrawToolById: (state: DrawtoolModuleStore, id: string) => {
4
5
  drawToolId: string;
@@ -9,6 +10,7 @@ export declare const selectDrawToolById: (state: DrawtoolModuleStore, id: string
9
10
  geoJSONIntersectionLayerId?: string | undefined;
10
11
  geoJSONIntersectionBoundsLayerId?: string | undefined;
11
12
  }, selectAllDrawingTools: (state: DrawtoolModuleStore) => import("./reducer").DrawToolItem[];
13
+ export declare const getHasDrawToolForLayer: (store: DrawtoolModuleStore, layerId?: string) => boolean;
12
14
  export declare const getActiveDrawToolId: ((state: DrawtoolModuleStore) => string) & {
13
15
  clearCache: () => void;
14
16
  resultsCount: () => number;
@@ -165,6 +167,8 @@ export declare const getDrawToolGeoJSONLayerId: ((state: DrawtoolModuleStore, id
165
167
  argsMemoize: typeof import("reselect").weakMapMemoize;
166
168
  memoize: typeof import("reselect").weakMapMemoize;
167
169
  };
170
+ /** The Drawing Toolbox dialog is open and draws on the layer; its draw tool id is the dialog type. */
171
+ export declare const getIsDrawToolOpenForLayer: (store: DrawtoolModuleStore & UIModuleState, layerId?: string) => boolean;
168
172
  export declare const getGeoJSONIntersectionLayerId: ((state: DrawtoolModuleStore, id: string) => string | undefined) & {
169
173
  clearCache: () => void;
170
174
  resultsCount: () => number;
@@ -22,6 +22,9 @@ export declare const generateFeatureId: () => string;
22
22
  */
23
23
  export declare const ensureFeatureIds: (geojson: GeoJSON.FeatureCollection) => GeoJSON.FeatureCollection;
24
24
  export declare const getFeatureSelectionKey: (feature?: GeoJSON.Feature) => string | undefined;
25
+ /** Hidden features are not drawn while the drawing tool is open. */
26
+ export declare const isHiddenFeature: (feature?: GeoJSON.Feature) => boolean;
27
+ export declare const findFeatureIndexById: (geojson: GeoJSON.FeatureCollection | undefined, featureId: string | undefined) => number;
25
28
  export declare const getSelectedFeatureIndexByIds: (geojson: GeoJSON.FeatureCollection | undefined, selectedFeatureIds: string[] | undefined) => number | undefined;
26
29
  export declare const isActionLayerSynced: (state: LayerState, layerIdFromAction: string, dimension: Dimension) => boolean;
27
30
  export declare const produceDimensionActionForMapLayer: (layerDim: Dimension, wmjsDimension: WMJSDimension, newDimension: Dimension) => Dimension;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/store",
3
- "version": "20.1.0",
3
+ "version": "20.2.0",
4
4
  "description": "GeoWeb Store library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -20,15 +20,15 @@
20
20
  }
21
21
  },
22
22
  "dependencies": {
23
- "@opengeoweb/shared": "20.1.0",
23
+ "@opengeoweb/shared": "20.2.0",
24
24
  "react-redux": "^9.2.0",
25
25
  "@reduxjs/toolkit": "^2.6.1",
26
- "@opengeoweb/webmap-react": "20.1.0",
27
- "@opengeoweb/webmap": "20.1.0",
26
+ "@opengeoweb/webmap-react": "20.2.0",
27
+ "@opengeoweb/webmap": "20.2.0",
28
28
  "immer": "^10.0.3",
29
29
  "lodash": "^4.18.1",
30
- "@opengeoweb/metronome": "20.1.0",
31
- "@opengeoweb/time-slider": "20.1.0",
30
+ "@opengeoweb/metronome": "20.2.0",
31
+ "@opengeoweb/time-slider": "20.2.0",
32
32
  "ol": "^10.4.0",
33
33
  "@turf/turf": "^7.2.0",
34
34
  "@types/geojson": "^7946.0.14",