@opengeoweb/core 4.13.0 → 4.13.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
@@ -5417,6 +5417,9 @@ var getTargetGroups = function getTargetGroups(state, payload, actionType) {
5417
5417
  var syncGroupGetViewState = createSelector(syncGroupStore, function (store) {
5418
5418
  return store.viewState;
5419
5419
  });
5420
+ var getSyncedMapIdsForTimeslider = createSelector(syncGroupStore, function (store) {
5421
+ return store.viewState.timeslider.groups[0].selected;
5422
+ }, selectorMemoizationOptions);
5420
5423
 
5421
5424
  /* *
5422
5425
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -8210,7 +8213,7 @@ function updateAnimation(mapId, maxValue) {
8210
8213
  }, _marked4$1);
8211
8214
  }
8212
8215
  function setLayerDimensionsSaga(_ref4) {
8213
- var payload, layerDimensions, dimensions, layerId, layer, newTimeDimension, mapId, activeLayerId, shouldAutoUpdate, shouldEndTimeOverride, prevTimeDimension, isAnimating$1, webmapInstance, isActiveLayer, timeStep, isTimestepAuto$1, newTimeStep;
8216
+ var payload, layerDimensions, dimensions, layerId, layer, newTimeDimension, mapId, activeLayerId, shouldAutoUpdate, shouldEndTimeOverride, prevTimeDimension, isAnimating$1, webmapInstance, isActiveLayer, timeStep, isTimestepAuto$1, newTimeStep, syncedMapIds;
8214
8217
  return regeneratorRuntime.wrap(function setLayerDimensionsSaga$(_context5) {
8215
8218
  while (1) {
8216
8219
  switch (_context5.prev = _context5.next) {
@@ -8305,7 +8308,7 @@ function setLayerDimensionsSaga(_ref4) {
8305
8308
  case 41:
8306
8309
  if (!(isActiveLayer && // only update the active layer
8307
8310
  shouldAutoUpdate && newTimeDimension && newTimeDimension.maxValue && prevTimeDimension && prevTimeDimension.currentValue && prevTimeDimension.currentValue !== newTimeDimension.maxValue && !shouldEndTimeOverride)) {
8308
- _context5.next = 49;
8311
+ _context5.next = 55;
8309
8312
  break;
8310
8313
  }
8311
8314
 
@@ -8326,40 +8329,61 @@ function setLayerDimensionsSaga(_ref4) {
8326
8329
 
8327
8330
  case 45:
8328
8331
  _context5.next = 47;
8329
- return call(updateAnimation, mapId, newTimeDimension.maxValue);
8332
+ return select(getSyncedMapIdsForTimeslider);
8330
8333
 
8331
8334
  case 47:
8332
- _context5.next = 52;
8335
+ syncedMapIds = _context5.sent;
8336
+
8337
+ if (!syncedMapIds) {
8338
+ _context5.next = 51;
8339
+ break;
8340
+ }
8341
+
8342
+ _context5.next = 51;
8343
+ return all(syncedMapIds.map(function (syncedMapId) {
8344
+ return put(setTime({
8345
+ origin: 'mapStore saga',
8346
+ sourceId: syncedMapId,
8347
+ value: newTimeDimension.maxValue
8348
+ }));
8349
+ }));
8350
+
8351
+ case 51:
8352
+ _context5.next = 53;
8353
+ return call(updateAnimation, mapId, newTimeDimension.maxValue);
8354
+
8355
+ case 53:
8356
+ _context5.next = 58;
8333
8357
  break;
8334
8358
 
8335
- case 49:
8359
+ case 55:
8336
8360
  if (!(isAnimating$1 && !webmapInstance.isAnimating && newTimeDimension && newTimeDimension.maxValue && !shouldEndTimeOverride)) {
8337
- _context5.next = 52;
8361
+ _context5.next = 58;
8338
8362
  break;
8339
8363
  }
8340
8364
 
8341
- _context5.next = 52;
8365
+ _context5.next = 58;
8342
8366
  return call(updateAnimation, mapId, newTimeDimension.maxValue);
8343
8367
 
8344
- case 52:
8345
- _context5.next = 57;
8368
+ case 58:
8369
+ _context5.next = 63;
8346
8370
  break;
8347
8371
 
8348
- case 54:
8349
- _context5.prev = 54;
8372
+ case 60:
8373
+ _context5.prev = 60;
8350
8374
  _context5.t0 = _context5["catch"](1);
8351
8375
  // eslint-disable-next-line no-console
8352
8376
  console.warn(_context5.t0);
8353
8377
 
8354
- case 57:
8378
+ case 63:
8355
8379
  case "end":
8356
8380
  return _context5.stop();
8357
8381
  }
8358
8382
  }
8359
- }, _marked5, null, [[1, 54]]);
8383
+ }, _marked5, null, [[1, 60]]);
8360
8384
  }
8361
8385
  function toggleAutoUpdateSaga(_ref5) {
8362
- var payload, shouldAutoUpdate, mapId, layerId, timeDimension;
8386
+ var payload, shouldAutoUpdate, mapId, layerId, timeDimension, syncedMapIds, payloads;
8363
8387
  return regeneratorRuntime.wrap(function toggleAutoUpdateSaga$(_context6) {
8364
8388
  while (1) {
8365
8389
  switch (_context6.prev = _context6.next) {
@@ -8369,7 +8393,7 @@ function toggleAutoUpdateSaga(_ref5) {
8369
8393
  shouldAutoUpdate = payload.shouldAutoUpdate, mapId = payload.mapId;
8370
8394
 
8371
8395
  if (!shouldAutoUpdate) {
8372
- _context6.next = 15;
8396
+ _context6.next = 25;
8373
8397
  break;
8374
8398
  }
8375
8399
 
@@ -8385,7 +8409,7 @@ function toggleAutoUpdateSaga(_ref5) {
8385
8409
  timeDimension = _context6.sent;
8386
8410
 
8387
8411
  if (!(timeDimension && timeDimension.maxValue)) {
8388
- _context6.next = 15;
8412
+ _context6.next = 25;
8389
8413
  break;
8390
8414
  }
8391
8415
 
@@ -8401,24 +8425,68 @@ function toggleAutoUpdateSaga(_ref5) {
8401
8425
 
8402
8426
  case 13:
8403
8427
  _context6.next = 15;
8404
- return call(updateAnimation, mapId, timeDimension.maxValue);
8428
+ return select(getSyncedMapIdsForTimeslider);
8405
8429
 
8406
8430
  case 15:
8407
- _context6.next = 20;
8431
+ syncedMapIds = _context6.sent;
8432
+
8433
+ if (!(syncedMapIds.length > 0)) {
8434
+ _context6.next = 23;
8435
+ break;
8436
+ }
8437
+
8438
+ _context6.next = 19;
8439
+ return all(syncedMapIds.map(function (syncedMapId) {
8440
+ return put(setTime({
8441
+ origin: 'mapStore saga',
8442
+ sourceId: syncedMapId,
8443
+ value: timeDimension.maxValue
8444
+ }));
8445
+ }));
8446
+
8447
+ case 19:
8448
+ // When timesliders are synced by syncgrous autoupdate is toggled on, toggle autoupdate off for other timesliders
8449
+ payloads = syncedMapIds.reduce(function (syncedMapIdList, syncedMapId) {
8450
+ if (syncedMapId !== mapId) {
8451
+ return syncedMapIdList.concat({
8452
+ mapId: syncedMapId,
8453
+ shouldAutoUpdate: false
8454
+ });
8455
+ }
8456
+
8457
+ return syncedMapIdList;
8458
+ }, []);
8459
+
8460
+ if (!(payloads.length > 0)) {
8461
+ _context6.next = 23;
8462
+ break;
8463
+ }
8464
+
8465
+ _context6.next = 23;
8466
+ return all(payloads.map(function (payload) {
8467
+ return put(mapActions$1.toggleAutoUpdate(payload));
8468
+ }));
8469
+
8470
+ case 23:
8471
+ _context6.next = 25;
8472
+ return call(updateAnimation, mapId, timeDimension.maxValue);
8473
+
8474
+ case 25:
8475
+ _context6.next = 30;
8408
8476
  break;
8409
8477
 
8410
- case 17:
8411
- _context6.prev = 17;
8478
+ case 27:
8479
+ _context6.prev = 27;
8412
8480
  _context6.t0 = _context6["catch"](1);
8413
8481
  // eslint-disable-next-line no-console
8414
8482
  console.warn(_context6.t0);
8415
8483
 
8416
- case 20:
8484
+ case 30:
8417
8485
  case "end":
8418
8486
  return _context6.stop();
8419
8487
  }
8420
8488
  }
8421
- }, _marked6, null, [[1, 17]]);
8489
+ }, _marked6, null, [[1, 27]]);
8422
8490
  }
8423
8491
  function handleBaseLayersSaga(mapId, baseLayers) {
8424
8492
  var baseLayer, currentAvailableBaseLayers, activeAvailableBaseLayer, activeBaseLayerId, baseLayersWithActiveId;
@@ -9434,9 +9502,6 @@ var HeaderOptions = function HeaderOptions(_ref) {
9434
9502
  onClick: function onClick() {
9435
9503
  return onChangeSize(sizeSmall);
9436
9504
  },
9437
- onTouchEnd: function onTouchEnd() {
9438
- return onChangeSize(sizeSmall);
9439
- },
9440
9505
  sx: iconStyle,
9441
9506
  className: "collapseSmall-btn"
9442
9507
  }, /*#__PURE__*/React.createElement(CollapseSmall, null))), /*#__PURE__*/React.createElement(CustomTooltip, {
@@ -9447,9 +9512,6 @@ var HeaderOptions = function HeaderOptions(_ref) {
9447
9512
  onClick: function onClick() {
9448
9513
  return onChangeSize(sizeMedium);
9449
9514
  },
9450
- onTouchEnd: function onTouchEnd() {
9451
- return onChangeSize(sizeMedium);
9452
- },
9453
9515
  sx: iconStyle,
9454
9516
  className: "collapseMedium-btn"
9455
9517
  }, /*#__PURE__*/React.createElement(CollapseMedium, null))), /*#__PURE__*/React.createElement(CustomTooltip, {
@@ -9460,9 +9522,6 @@ var HeaderOptions = function HeaderOptions(_ref) {
9460
9522
  onClick: function onClick() {
9461
9523
  return onChangeSize(sizeLarge);
9462
9524
  },
9463
- onTouchEnd: function onTouchEnd() {
9464
- return onChangeSize(sizeLarge);
9465
- },
9466
9525
  sx: iconStyle,
9467
9526
  className: "collapseLarge-btn"
9468
9527
  }, /*#__PURE__*/React.createElement(CollapseLarge, null))), /*#__PURE__*/React.createElement(CustomTooltip, {
@@ -9474,9 +9533,6 @@ var HeaderOptions = function HeaderOptions(_ref) {
9474
9533
  sx: iconStyle,
9475
9534
  onClick: function onClick() {
9476
9535
  return onClickDockButton();
9477
- },
9478
- onTouchEnd: function onTouchEnd() {
9479
- return onClickDockButton();
9480
9536
  }
9481
9537
  }, isDockedLayerManager ? /*#__PURE__*/React.createElement(CollapseWindow, {
9482
9538
  "data-testid": "dockedLayerManager-collapse"
@@ -13196,7 +13252,8 @@ var LayerAddRemoveButton = function LayerAddRemoveButton(_ref) {
13196
13252
  fullWidth: true,
13197
13253
  sx: {
13198
13254
  fontSize: '12px'
13199
- }
13255
+ },
13256
+ className: "layerAddRemoveButton"
13200
13257
  }, !foundLayer ? 'Add' : 'Remove');
13201
13258
  };
13202
13259
 
@@ -13248,6 +13305,9 @@ var LayerInfoButtonConnect = function LayerInfoButtonConnect(_ref) {
13248
13305
  serviceName: serviceName
13249
13306
  })
13250
13307
  }));
13308
+ dispatch(uiActions.orderDialog({
13309
+ type: DialogTypes.LayerInfo
13310
+ }));
13251
13311
  }, [dispatch, layer, serviceName]);
13252
13312
 
13253
13313
  var onClick = function onClick() {
@@ -13270,7 +13330,8 @@ var LayerInfoButtonConnect = function LayerInfoButtonConnect(_ref) {
13270
13330
  active: isActive && isOpenInStore,
13271
13331
  onClick: onClick,
13272
13332
  id: "layerInfoButton",
13273
- "aria-label": "layer info"
13333
+ "aria-label": "layer info",
13334
+ className: "layerInfoButton"
13274
13335
  }, /*#__PURE__*/React__default.createElement(Info, null));
13275
13336
  };
13276
13337
 
@@ -14802,7 +14863,7 @@ var LayerSelect = function LayerSelect(_ref) {
14802
14863
  showTitle = _ref.showTitle,
14803
14864
  isOpen = _ref.isOpen,
14804
14865
  _ref$onMouseDown = _ref.onMouseDown,
14805
- onMouseDown = _ref$onMouseDown === void 0 ? function () {} : _ref$onMouseDown,
14866
+ _onMouseDown = _ref$onMouseDown === void 0 ? function () {} : _ref$onMouseDown,
14806
14867
  _ref$order = _ref.order,
14807
14868
  order = _ref$order === void 0 ? 0 : _ref$order,
14808
14869
  _ref$source = _ref.source,
@@ -14812,6 +14873,7 @@ var LayerSelect = function LayerSelect(_ref) {
14812
14873
  width: 750,
14813
14874
  height: 500
14814
14875
  } : _ref$startSize;
14876
+
14815
14877
  var initialServiceListHeight = 37;
14816
14878
 
14817
14879
  var _React$useState = React.useState(startSize.height),
@@ -14867,7 +14929,18 @@ var LayerSelect = function LayerSelect(_ref) {
14867
14929
  headerSize: "small",
14868
14930
  bounds: bounds,
14869
14931
  "data-testid": "layerSelectWindow",
14870
- onMouseDown: onMouseDown,
14932
+ onMouseDown: function onMouseDown(event) {
14933
+ var target = event.target;
14934
+ var isButtonInScrollableList = target.closest('.layerInfoButton') || target.closest('.layerAddRemoveButton'); // don't propagate when clicking on layerInfoButton or addRemoveButton
14935
+
14936
+ if (isButtonInScrollableList) {
14937
+ event.stopPropagation();
14938
+ event.preventDefault();
14939
+ return;
14940
+ }
14941
+
14942
+ _onMouseDown(event);
14943
+ },
14871
14944
  order: order,
14872
14945
  source: source
14873
14946
  }, /*#__PURE__*/React.createElement(Box, {
package/index.umd.js CHANGED
@@ -5363,6 +5363,9 @@
5363
5363
  var syncGroupGetViewState = toolkit.createSelector(syncGroupStore, function (store) {
5364
5364
  return store.viewState;
5365
5365
  });
5366
+ var getSyncedMapIdsForTimeslider = toolkit.createSelector(syncGroupStore, function (store) {
5367
+ return store.viewState.timeslider.groups[0].selected;
5368
+ }, selectorMemoizationOptions);
5366
5369
 
5367
5370
  /* *
5368
5371
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -8347,12 +8350,12 @@
8347
8350
  });
8348
8351
  }
8349
8352
  function setLayerDimensionsSaga(_a) {
8350
- var layerDimensions, dimensions, layerId, layer, newTimeDimension, mapId, activeLayerId, shouldAutoUpdate, shouldEndTimeOverride, prevTimeDimension, isAnimating$1, webmapInstance, isActiveLayer, timeStep, isTimestepAuto$1, newTimeStep, error_1;
8353
+ var layerDimensions, dimensions, layerId, layer, newTimeDimension_1, mapId, activeLayerId, shouldAutoUpdate, shouldEndTimeOverride, prevTimeDimension, isAnimating$1, webmapInstance, isActiveLayer, timeStep, isTimestepAuto$1, newTimeStep, syncedMapIds, error_1;
8351
8354
  var payload = _a.payload;
8352
8355
  return __generator(this, function (_b) {
8353
8356
  switch (_b.label) {
8354
8357
  case 0:
8355
- _b.trys.push([0, 17,, 18]);
8358
+ _b.trys.push([0, 20,, 21]);
8356
8359
 
8357
8360
  layerDimensions = payload.layerDimensions;
8358
8361
  if (!layerDimensions) return [2
@@ -8368,7 +8371,7 @@
8368
8371
  if (!layer) return [2
8369
8372
  /*return*/
8370
8373
  ];
8371
- newTimeDimension = dimensions.find(function (dimension) {
8374
+ newTimeDimension_1 = dimensions.find(function (dimension) {
8372
8375
  return dimension.name === 'time';
8373
8376
  });
8374
8377
  mapId = layer.mapId;
@@ -8416,10 +8419,10 @@
8416
8419
 
8417
8420
  case 8:
8418
8421
  isTimestepAuto$1 = _b.sent();
8419
- if (!(isTimestepAuto$1 && isActiveLayer && timeStep === undefined && newTimeDimension)) return [3
8422
+ if (!(isTimestepAuto$1 && isActiveLayer && timeStep === undefined && newTimeDimension_1)) return [3
8420
8423
  /*break*/
8421
8424
  , 10];
8422
- newTimeStep = getActiveLayerTimeStep(newTimeDimension);
8425
+ newTimeStep = getActiveLayerTimeStep(newTimeDimension_1);
8423
8426
  if (!newTimeStep) return [3
8424
8427
  /*break*/
8425
8428
  , 10];
@@ -8437,9 +8440,9 @@
8437
8440
 
8438
8441
  case 10:
8439
8442
  if (!(isActiveLayer && // only update the active layer
8440
- shouldAutoUpdate && newTimeDimension && newTimeDimension.maxValue && prevTimeDimension && prevTimeDimension.currentValue && prevTimeDimension.currentValue !== newTimeDimension.maxValue && !shouldEndTimeOverride)) return [3
8443
+ shouldAutoUpdate && newTimeDimension_1 && newTimeDimension_1.maxValue && prevTimeDimension && prevTimeDimension.currentValue && prevTimeDimension.currentValue !== newTimeDimension_1.maxValue && !shouldEndTimeOverride)) return [3
8441
8444
  /*break*/
8442
- , 14];
8445
+ , 17];
8443
8446
  if (!!isAnimating$1) return [3
8444
8447
  /*break*/
8445
8448
  , 12];
@@ -8450,7 +8453,7 @@
8450
8453
  origin: LayerActionOrigin.setLayerDimensionSaga,
8451
8454
  dimension: {
8452
8455
  name: 'time',
8453
- currentValue: newTimeDimension.maxValue
8456
+ currentValue: newTimeDimension_1.maxValue
8454
8457
  }
8455
8458
  }))];
8456
8459
 
@@ -8462,42 +8465,69 @@
8462
8465
  case 12:
8463
8466
  return [4
8464
8467
  /*yield*/
8465
- , effects.call(updateAnimation, mapId, newTimeDimension.maxValue)];
8468
+ , effects.select(getSyncedMapIdsForTimeslider)];
8466
8469
 
8467
8470
  case 13:
8471
+ syncedMapIds = _b.sent();
8472
+ if (!syncedMapIds) return [3
8473
+ /*break*/
8474
+ , 15]; // Change time value for all other timesliders
8475
+
8476
+ return [4
8477
+ /*yield*/
8478
+ , effects.all(syncedMapIds.map(function (syncedMapId) {
8479
+ return effects.put(setTime({
8480
+ origin: 'mapStore saga',
8481
+ sourceId: syncedMapId,
8482
+ value: newTimeDimension_1.maxValue
8483
+ }));
8484
+ }))];
8485
+
8486
+ case 14:
8487
+ // Change time value for all other timesliders
8488
+ _b.sent();
8489
+
8490
+ _b.label = 15;
8491
+
8492
+ case 15:
8493
+ return [4
8494
+ /*yield*/
8495
+ , effects.call(updateAnimation, mapId, newTimeDimension_1.maxValue)];
8496
+
8497
+ case 16:
8468
8498
  _b.sent();
8469
8499
 
8470
8500
  return [3
8471
8501
  /*break*/
8472
- , 16];
8502
+ , 19];
8473
8503
 
8474
- case 14:
8475
- if (!(isAnimating$1 && !webmapInstance.isAnimating && newTimeDimension && newTimeDimension.maxValue && !shouldEndTimeOverride)) return [3
8504
+ case 17:
8505
+ if (!(isAnimating$1 && !webmapInstance.isAnimating && newTimeDimension_1 && newTimeDimension_1.maxValue && !shouldEndTimeOverride)) return [3
8476
8506
  /*break*/
8477
- , 16];
8507
+ , 19];
8478
8508
  return [4
8479
8509
  /*yield*/
8480
- , effects.call(updateAnimation, mapId, newTimeDimension.maxValue)];
8510
+ , effects.call(updateAnimation, mapId, newTimeDimension_1.maxValue)];
8481
8511
 
8482
- case 15:
8512
+ case 18:
8483
8513
  _b.sent();
8484
8514
 
8485
- _b.label = 16;
8515
+ _b.label = 19;
8486
8516
 
8487
- case 16:
8517
+ case 19:
8488
8518
  return [3
8489
8519
  /*break*/
8490
- , 18];
8520
+ , 21];
8491
8521
 
8492
- case 17:
8522
+ case 20:
8493
8523
  error_1 = _b.sent(); // eslint-disable-next-line no-console
8494
8524
 
8495
8525
  console.warn(error_1);
8496
8526
  return [3
8497
8527
  /*break*/
8498
- , 18];
8528
+ , 21];
8499
8529
 
8500
- case 18:
8530
+ case 21:
8501
8531
  return [2
8502
8532
  /*return*/
8503
8533
  ];
@@ -8505,20 +8535,20 @@
8505
8535
  });
8506
8536
  }
8507
8537
  function toggleAutoUpdateSaga(_a) {
8508
- var shouldAutoUpdate, mapId, layerId, timeDimension, error_2;
8538
+ var shouldAutoUpdate, mapId_1, layerId, timeDimension_1, syncedMapIds, payloads, error_2;
8509
8539
  var payload = _a.payload;
8510
8540
  return __generator(this, function (_b) {
8511
8541
  switch (_b.label) {
8512
8542
  case 0:
8513
- _b.trys.push([0, 6,, 7]);
8543
+ _b.trys.push([0, 10,, 11]);
8514
8544
 
8515
- shouldAutoUpdate = payload.shouldAutoUpdate, mapId = payload.mapId;
8545
+ shouldAutoUpdate = payload.shouldAutoUpdate, mapId_1 = payload.mapId;
8516
8546
  if (!shouldAutoUpdate) return [3
8517
8547
  /*break*/
8518
- , 5];
8548
+ , 9];
8519
8549
  return [4
8520
8550
  /*yield*/
8521
- , effects.select(getActiveLayerId, mapId)];
8551
+ , effects.select(getActiveLayerId, mapId_1)];
8522
8552
 
8523
8553
  case 1:
8524
8554
  layerId = _b.sent();
@@ -8527,10 +8557,10 @@
8527
8557
  , effects.select(getLayerTimeDimension, layerId)];
8528
8558
 
8529
8559
  case 2:
8530
- timeDimension = _b.sent();
8531
- if (!(timeDimension && timeDimension.maxValue)) return [3
8560
+ timeDimension_1 = _b.sent();
8561
+ if (!(timeDimension_1 && timeDimension_1.maxValue)) return [3
8532
8562
  /*break*/
8533
- , 5];
8563
+ , 9];
8534
8564
  return [4
8535
8565
  /*yield*/
8536
8566
  , effects.put(layerActions.layerChangeDimension({
@@ -8538,7 +8568,7 @@
8538
8568
  origin: LayerActionOrigin.toggleAutoUpdateSaga,
8539
8569
  dimension: {
8540
8570
  name: 'time',
8541
- currentValue: timeDimension.maxValue
8571
+ currentValue: timeDimension_1.maxValue
8542
8572
  }
8543
8573
  }))];
8544
8574
 
@@ -8547,27 +8577,74 @@
8547
8577
 
8548
8578
  return [4
8549
8579
  /*yield*/
8550
- , effects.call(updateAnimation, mapId, timeDimension.maxValue)];
8580
+ , effects.select(getSyncedMapIdsForTimeslider)];
8551
8581
 
8552
8582
  case 4:
8583
+ syncedMapIds = _b.sent();
8584
+ if (!(syncedMapIds.length > 0)) return [3
8585
+ /*break*/
8586
+ , 7];
8587
+ return [4
8588
+ /*yield*/
8589
+ , effects.all(syncedMapIds.map(function (syncedMapId) {
8590
+ return effects.put(setTime({
8591
+ origin: 'mapStore saga',
8592
+ sourceId: syncedMapId,
8593
+ value: timeDimension_1.maxValue
8594
+ }));
8595
+ }))];
8596
+
8597
+ case 5:
8553
8598
  _b.sent();
8554
8599
 
8555
- _b.label = 5;
8600
+ payloads = syncedMapIds.reduce(function (syncedMapIdList, syncedMapId) {
8601
+ if (syncedMapId !== mapId_1) {
8602
+ return syncedMapIdList.concat({
8603
+ mapId: syncedMapId,
8604
+ shouldAutoUpdate: false
8605
+ });
8606
+ }
8556
8607
 
8557
- case 5:
8558
- return [3
8608
+ return syncedMapIdList;
8609
+ }, []);
8610
+ if (!(payloads.length > 0)) return [3
8559
8611
  /*break*/
8560
8612
  , 7];
8613
+ return [4
8614
+ /*yield*/
8615
+ , effects.all(payloads.map(function (payload) {
8616
+ return effects.put(mapActions$1.toggleAutoUpdate(payload));
8617
+ }))];
8561
8618
 
8562
8619
  case 6:
8620
+ _b.sent();
8621
+
8622
+ _b.label = 7;
8623
+
8624
+ case 7:
8625
+ return [4
8626
+ /*yield*/
8627
+ , effects.call(updateAnimation, mapId_1, timeDimension_1.maxValue)];
8628
+
8629
+ case 8:
8630
+ _b.sent();
8631
+
8632
+ _b.label = 9;
8633
+
8634
+ case 9:
8635
+ return [3
8636
+ /*break*/
8637
+ , 11];
8638
+
8639
+ case 10:
8563
8640
  error_2 = _b.sent(); // eslint-disable-next-line no-console
8564
8641
 
8565
8642
  console.warn(error_2);
8566
8643
  return [3
8567
8644
  /*break*/
8568
- , 7];
8645
+ , 11];
8569
8646
 
8570
- case 7:
8647
+ case 11:
8571
8648
  return [2
8572
8649
  /*return*/
8573
8650
  ];
@@ -9793,9 +9870,6 @@
9793
9870
  onClick: function onClick() {
9794
9871
  return onChangeSize(sizeSmall);
9795
9872
  },
9796
- onTouchEnd: function onTouchEnd() {
9797
- return onChangeSize(sizeSmall);
9798
- },
9799
9873
  sx: iconStyle,
9800
9874
  className: "collapseSmall-btn"
9801
9875
  }, /*#__PURE__*/React__namespace.createElement(theme.CollapseSmall, null))), /*#__PURE__*/React__namespace.createElement(shared.CustomTooltip, {
@@ -9806,9 +9880,6 @@
9806
9880
  onClick: function onClick() {
9807
9881
  return onChangeSize(sizeMedium);
9808
9882
  },
9809
- onTouchEnd: function onTouchEnd() {
9810
- return onChangeSize(sizeMedium);
9811
- },
9812
9883
  sx: iconStyle,
9813
9884
  className: "collapseMedium-btn"
9814
9885
  }, /*#__PURE__*/React__namespace.createElement(theme.CollapseMedium, null))), /*#__PURE__*/React__namespace.createElement(shared.CustomTooltip, {
@@ -9819,9 +9890,6 @@
9819
9890
  onClick: function onClick() {
9820
9891
  return onChangeSize(sizeLarge);
9821
9892
  },
9822
- onTouchEnd: function onTouchEnd() {
9823
- return onChangeSize(sizeLarge);
9824
- },
9825
9893
  sx: iconStyle,
9826
9894
  className: "collapseLarge-btn"
9827
9895
  }, /*#__PURE__*/React__namespace.createElement(theme.CollapseLarge, null))), /*#__PURE__*/React__namespace.createElement(shared.CustomTooltip, {
@@ -9833,9 +9901,6 @@
9833
9901
  sx: iconStyle,
9834
9902
  onClick: function onClick() {
9835
9903
  return onClickDockButton();
9836
- },
9837
- onTouchEnd: function onTouchEnd() {
9838
- return onClickDockButton();
9839
9904
  }
9840
9905
  }, isDockedLayerManager ? /*#__PURE__*/React__namespace.createElement(theme.CollapseWindow, {
9841
9906
  "data-testid": "dockedLayerManager-collapse"
@@ -13747,7 +13812,8 @@
13747
13812
  fullWidth: true,
13748
13813
  sx: {
13749
13814
  fontSize: '12px'
13750
- }
13815
+ },
13816
+ className: "layerAddRemoveButton"
13751
13817
  }, !foundLayer ? 'Add' : 'Remove');
13752
13818
  };
13753
13819
 
@@ -13799,6 +13865,9 @@
13799
13865
  serviceName: serviceName
13800
13866
  })
13801
13867
  }));
13868
+ dispatch(uiActions.orderDialog({
13869
+ type: DialogTypes.LayerInfo
13870
+ }));
13802
13871
  }, [dispatch, layer, serviceName]);
13803
13872
 
13804
13873
  var onClick = function onClick() {
@@ -13821,7 +13890,8 @@
13821
13890
  active: isActive && isOpenInStore,
13822
13891
  onClick: onClick,
13823
13892
  id: "layerInfoButton",
13824
- "aria-label": "layer info"
13893
+ "aria-label": "layer info",
13894
+ className: "layerInfoButton"
13825
13895
  }, /*#__PURE__*/React__default["default"].createElement(theme.Info, null));
13826
13896
  };
13827
13897
 
@@ -15447,7 +15517,7 @@
15447
15517
  showTitle = _a.showTitle,
15448
15518
  isOpen = _a.isOpen,
15449
15519
  _c = _a.onMouseDown,
15450
- onMouseDown = _c === void 0 ? function () {} : _c,
15520
+ _onMouseDown = _c === void 0 ? function () {} : _c,
15451
15521
  _d = _a.order,
15452
15522
  order = _d === void 0 ? 0 : _d,
15453
15523
  _e = _a.source,
@@ -15457,6 +15527,7 @@
15457
15527
  width: 750,
15458
15528
  height: 500
15459
15529
  } : _f;
15530
+
15460
15531
  var initialServiceListHeight = 37;
15461
15532
 
15462
15533
  var _g = __read(React__namespace.useState(startSize.height), 2),
@@ -15509,7 +15580,18 @@
15509
15580
  headerSize: "small",
15510
15581
  bounds: bounds,
15511
15582
  "data-testid": "layerSelectWindow",
15512
- onMouseDown: onMouseDown,
15583
+ onMouseDown: function onMouseDown(event) {
15584
+ var target = event.target;
15585
+ var isButtonInScrollableList = target.closest('.layerInfoButton') || target.closest('.layerAddRemoveButton'); // don't propagate when clicking on layerInfoButton or addRemoveButton
15586
+
15587
+ if (isButtonInScrollableList) {
15588
+ event.stopPropagation();
15589
+ event.preventDefault();
15590
+ return;
15591
+ }
15592
+
15593
+ _onMouseDown(event);
15594
+ },
15513
15595
  order: order,
15514
15596
  source: source
15515
15597
  }, /*#__PURE__*/React__namespace.createElement(material.Box, {
@@ -23,7 +23,10 @@ export declare const DockedLayerManagerLightTheme: {
23
23
  };
24
24
  storyName: string;
25
25
  };
26
- export declare const LayerManagerLightThemeSmall: () => React.ReactElement;
26
+ export declare const LayerManagerLightThemeSmall: {
27
+ (): React.ReactElement;
28
+ storyName: string;
29
+ };
27
30
  export declare const LayerManagerLightThemeMedium: {
28
31
  (): React.ReactElement;
29
32
  parameters: {
@@ -32,6 +35,7 @@ export declare const LayerManagerLightThemeMedium: {
32
35
  link: string;
33
36
  }[];
34
37
  };
38
+ storyName: string;
35
39
  };
36
40
  export declare const LayerManagerDarkTheme: {
37
41
  (): React.ReactElement;
@@ -53,7 +57,10 @@ export declare const DockedLayerManagerDarkTheme: {
53
57
  };
54
58
  storyName: string;
55
59
  };
56
- export declare const LayerManagerDarkThemeSmall: () => React.ReactElement;
60
+ export declare const LayerManagerDarkThemeSmall: {
61
+ (): React.ReactElement;
62
+ storyName: string;
63
+ };
57
64
  export declare const LayerManagerDarkThemeMedium: {
58
65
  (): React.ReactElement;
59
66
  parameters: {
@@ -62,6 +69,7 @@ export declare const LayerManagerDarkThemeMedium: {
62
69
  link: string;
63
70
  }[];
64
71
  };
72
+ storyName: string;
65
73
  };
66
74
  export declare const LayerManagerLoadingState: () => React.ReactElement;
67
75
  export declare const LayerManagerWithErrorLight: {
@@ -5,7 +5,7 @@ interface LayerSelectProps {
5
5
  bounds?: string;
6
6
  showTitle?: boolean;
7
7
  onClose?: () => void;
8
- onMouseDown?: () => void;
8
+ onMouseDown?: (event: MouseEvent) => void;
9
9
  isOpen: boolean;
10
10
  order?: number;
11
11
  source?: Source;
@@ -1,6 +1,6 @@
1
1
  export interface Group {
2
2
  id: string;
3
- selected: number[];
3
+ selected: string[];
4
4
  }
5
5
  export interface SourceById {
6
6
  id: string;
@@ -38,3 +38,15 @@ export declare const syncGroupGetViewState: ((state: {
38
38
  }> & {
39
39
  clearCache: () => void;
40
40
  };
41
+ export declare const getSyncedMapIdsForTimeslider: ((state: {
42
+ syncronizationGroupStore?: SynchronizationGroupState | undefined;
43
+ ui?: import("../../ui/types").UIStoreType | undefined;
44
+ webmap?: import("../../mapStore/types").WebMapState | undefined;
45
+ services?: import("../../mapStore/types").ServiceState | undefined;
46
+ layers?: import("../../mapStore/types").LayerState | undefined;
47
+ layerSelect?: import("../../layerSelect/types").LayerSelectStoreType | undefined;
48
+ }) => string[]) & import("reselect").OutputSelectorFields<((args_0: SynchronizationGroupState) => string[]) & {
49
+ clearCache: () => void;
50
+ }> & {
51
+ clearCache: () => void;
52
+ };
@@ -5,7 +5,7 @@ export declare const createLayersState: (layerId: string, props?: {}) => LayerSt
5
5
  export declare const createMultipleLayersState: (layers: Layer[], mapId: string) => LayerState;
6
6
  export declare const createMapDimensionsState: (dimensions?: Dimension[] | undefined, ...mapIds: string[]) => WebMapState;
7
7
  export declare const mockStateMapWithLayer: (layer: Layer, mapId: string) => AppStore;
8
- export declare const mockStateMapWithMultipleLayers: (layers: Layer[], mapId: string) => WebMapStateModuleState;
8
+ export declare const mockStateMapWithMultipleLayers: (layers: Layer[], mapId: string) => AppStore;
9
9
  export declare const mockStateMapWithDimensions: (layer: Layer, mapId: string) => WebMapStateModuleState;
10
10
  export declare const mockStateMapWithDimensionsWithoutLayers: (mapId: string) => WebMapStateModuleState;
11
11
  export declare const mockStateMapWithTimeSliderScaleWithoutLayers: (mapId: string, timeSliderScale: Scale) => WebMapStateModuleState;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/core",
3
- "version": "4.13.0",
3
+ "version": "4.13.1",
4
4
  "description": "GeoWeb Core library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -13,14 +13,14 @@
13
13
  "dependencies": {},
14
14
  "peerDependencies": {
15
15
  "react": "^18.2.0",
16
- "@opengeoweb/shared": "4.13.0",
16
+ "@opengeoweb/shared": "4.13.1",
17
17
  "@mui/material": "^5.10.8",
18
- "@opengeoweb/theme": "4.13.0",
18
+ "@opengeoweb/theme": "4.13.1",
19
19
  "react-draggable": "^4.4.5",
20
20
  "re-resizable": "^6.9.0",
21
21
  "@redux-eggs/core": "^2.2.0",
22
22
  "react-redux": "^8.0.4",
23
- "@opengeoweb/form-fields": "4.13.0",
23
+ "@opengeoweb/form-fields": "4.13.1",
24
24
  "react-hook-form": "^7.41.5",
25
25
  "moment": "^2.29.0",
26
26
  "moment-timezone": "^0.5.31",
@@ -28,10 +28,10 @@
28
28
  "lodash": "^4.17.20",
29
29
  "axios": "^0.25.0",
30
30
  "date-fns": "^2.29.3",
31
- "@opengeoweb/webmap": "4.13.0",
31
+ "@opengeoweb/webmap": "4.13.1",
32
32
  "throttle-debounce": "^3.0.1",
33
33
  "proj4": "^2.6.2",
34
- "@opengeoweb/api": "4.13.0",
34
+ "@opengeoweb/api": "4.13.1",
35
35
  "react-intl": "^5.17.5",
36
36
  "react-sortablejs": "^6.1.4",
37
37
  "sortablejs": "^1.15.0",