@opengeoweb/store 9.35.0 → 9.35.1-spike-oltanstack.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 CHANGED
@@ -1,4 +1,4 @@
1
- import { webmapUtils, parseISO8601IntervalToDateInterval, LayerType, getWMJSMapById, webmapTestSettings, WMLayer, getWMSRequests, handleDateUtilsISOString, isProjectionSupported, getCapabilities } from '@opengeoweb/webmap';
1
+ import { webmapUtils, parseISO8601IntervalToDateInterval, LayerType, getWMJSMapById, webmapTestSettings, WMLayer, getWMSRequests, handleDateUtilsISOString, isProjectionSupported, queryWMSLayers } from '@opengeoweb/webmap';
2
2
  import { createAction, createSlice, createSelector, createListenerMiddleware, isAnyOf, createEntityAdapter } from '@reduxjs/toolkit';
3
3
  import { getGeoJson, moveFeature, createInterSections, getLastEmptyFeatureIndex, defaultLayers, addSelectionTypeToGeoJSON, getFeatureCollection, emptyGeoJSON, defaultIntersectionStyleProperties } from '@opengeoweb/webmap-react';
4
4
  export { defaultLayers } from '@opengeoweb/webmap-react';
@@ -3463,17 +3463,32 @@ var initialState$3 = {
3463
3463
  sourcesById: []
3464
3464
  }
3465
3465
  },
3466
- isTimeScrollingEnabled: false,
3467
3466
  linkedState: {
3468
3467
  links: {},
3469
3468
  sharedData: {}
3470
- }
3469
+ },
3470
+ isTimeScrollingEnabled: false
3471
3471
  };
3472
3472
  var slice$4 = createSlice({
3473
3473
  initialState: initialState$3,
3474
3474
  name: 'synchronizationGroupsReducer',
3475
3475
  reducers: {
3476
- changeLinkedMap: function changeLinkedMap(draft, action) {
3476
+ /** Sets the links map.
3477
+ * This is used to override the links when changing workspaces.
3478
+ * @param draft sync state
3479
+ * @param {Record<string, string[]>} action.newLinks the new links object
3480
+ */
3481
+ setLinkedMap: function setLinkedMap(draft, action) {
3482
+ var newLinks = action.payload.newLinks;
3483
+ draft.linkedState.links = newLinks;
3484
+ },
3485
+ /** Updates the links map.
3486
+ * This is used to update the links when operating the link menu.
3487
+ * @param draft sync state
3488
+ * @param {string} action.panelId id of the panel updating it's links
3489
+ * @param {string[]} action.mapIds the new linked maps
3490
+ */
3491
+ updateLinkedMap: function updateLinkedMap(draft, action) {
3477
3492
  var _action$payload = action.payload,
3478
3493
  panelId = _action$payload.panelId,
3479
3494
  mapIds = _action$payload.mapIds;
@@ -3490,11 +3505,18 @@ var slice$4 = createSlice({
3490
3505
  delete draft.linkedState.links[panelId];
3491
3506
  delete draft.linkedState.sharedData[panelId];
3492
3507
  },
3493
- syncGroupAddSource: function syncGroupAddSource(draft, action) {
3508
+ setFeatureSelected: function setFeatureSelected(draft, action) {
3494
3509
  var _action$payload3 = action.payload,
3495
- id = _action$payload3.id,
3496
- payloadType = _action$payload3.type,
3497
- defaultPayload = _action$payload3.defaultPayload;
3510
+ mapId = _action$payload3.mapId,
3511
+ featureId = _action$payload3.featureId;
3512
+ var sharedData = draft.linkedState.sharedData[mapId];
3513
+ sharedData.selectedFeatureId = featureId;
3514
+ },
3515
+ syncGroupAddSource: function syncGroupAddSource(draft, action) {
3516
+ var _action$payload4 = action.payload,
3517
+ id = _action$payload4.id,
3518
+ payloadType = _action$payload4.type,
3519
+ defaultPayload = _action$payload4.defaultPayload;
3498
3520
  if (!draft.sources.byId[id]) {
3499
3521
  draft.sources.byId[id] = {
3500
3522
  types: payloadType,
@@ -3529,10 +3551,10 @@ var slice$4 = createSlice({
3529
3551
  },
3530
3552
  syncGroupAddTarget: function syncGroupAddTarget(draft, action) {
3531
3553
  var _synchronizationGroup;
3532
- var _action$payload4 = action.payload,
3533
- groupId = _action$payload4.groupId,
3534
- targetId = _action$payload4.targetId,
3535
- linked = _action$payload4.linked;
3554
+ var _action$payload5 = action.payload,
3555
+ groupId = _action$payload5.groupId,
3556
+ targetId = _action$payload5.targetId,
3557
+ linked = _action$payload5.linked;
3536
3558
  var synchronizationGroup = draft.groups.byId[groupId];
3537
3559
  if (!synchronizationGroup) {
3538
3560
  console.warn("SYNCGROUPS_ADD_TARGET: Group " + groupId + " does not exist.");
@@ -3556,9 +3578,9 @@ var slice$4 = createSlice({
3556
3578
  }
3557
3579
  },
3558
3580
  syncGroupRemoveTarget: function syncGroupRemoveTarget(draft, action) {
3559
- var _action$payload5 = action.payload,
3560
- groupId = _action$payload5.groupId,
3561
- targetId = _action$payload5.targetId;
3581
+ var _action$payload6 = action.payload,
3582
+ groupId = _action$payload6.groupId,
3583
+ targetId = _action$payload6.targetId;
3562
3584
  if (!draft.groups.byId[groupId]) {
3563
3585
  return;
3564
3586
  }
@@ -3571,20 +3593,20 @@ var slice$4 = createSlice({
3571
3593
  });
3572
3594
  },
3573
3595
  syncGroupLinkTarget: function syncGroupLinkTarget(draft, action) {
3574
- var _action$payload6 = action.payload,
3575
- groupId = _action$payload6.groupId,
3576
- targetId = _action$payload6.targetId,
3577
- linked = _action$payload6.linked;
3596
+ var _action$payload7 = action.payload,
3597
+ groupId = _action$payload7.groupId,
3598
+ targetId = _action$payload7.targetId,
3599
+ linked = _action$payload7.linked;
3578
3600
  if (!draft.groups.byId[groupId] || !draft.groups.byId[groupId].targets.byId[targetId]) {
3579
3601
  return;
3580
3602
  }
3581
3603
  draft.groups.byId[groupId].targets.byId[targetId].linked = linked;
3582
3604
  },
3583
3605
  syncGroupAddGroup: function syncGroupAddGroup(draft, action) {
3584
- var _action$payload7 = action.payload,
3585
- groupId = _action$payload7.groupId,
3586
- type = _action$payload7.type,
3587
- title = _action$payload7.title;
3606
+ var _action$payload8 = action.payload,
3607
+ groupId = _action$payload8.groupId,
3608
+ type = _action$payload8.type,
3609
+ title = _action$payload8.title;
3588
3610
  if (draft.groups.byId[groupId]) {
3589
3611
  return;
3590
3612
  }
@@ -3632,10 +3654,10 @@ var slice$4 = createSlice({
3632
3654
  }
3633
3655
  });
3634
3656
  var setBboxOrTimeSync = function setBboxOrTimeSync(draft, action) {
3635
- var _action$payload8 = action.payload,
3636
- targets = _action$payload8.targets,
3637
- source = _action$payload8.source,
3638
- groups = _action$payload8.groups;
3657
+ var _action$payload9 = action.payload,
3658
+ targets = _action$payload9.targets,
3659
+ source = _action$payload9.source,
3660
+ groups = _action$payload9.groups;
3639
3661
  var getPayLoadKey = function getPayLoadKey(type) {
3640
3662
  switch (type) {
3641
3663
  case setTimeSync.type:
@@ -4131,27 +4153,87 @@ var getLinkedFeatureProviders = function getLinkedFeatureProviders(linkedState,
4131
4153
  var selectSharedData = createSelector([selectLinkedState, function (store, panelId) {
4132
4154
  return panelId;
4133
4155
  }], function (linkedState, panelId) {
4134
- return pick(linkedState.sharedData, [panelId]);
4156
+ return pick(linkedState == null ? void 0 : linkedState.sharedData, [panelId]);
4157
+ });
4158
+ var selectLinkedPanelId = createSelector([selectLinkedState, function (_, mapViewId) {
4159
+ return mapViewId;
4160
+ }], function (linkedState, mapViewId) {
4161
+ if (!linkedState || !linkedState.links) {
4162
+ return undefined;
4163
+ }
4164
+ // Find the panelId where mapView(s) is linked
4165
+ var panelId = Object.keys(linkedState.links).find(function (panelId) {
4166
+ var _linkedState$links$pa;
4167
+ return (_linkedState$links$pa = linkedState.links[panelId]) == null ? void 0 : _linkedState$links$pa.includes(mapViewId);
4168
+ });
4169
+ return panelId;
4170
+ });
4171
+ var selectMapViewsForPanelId = createSelector([function (linkedState, panelId) {
4172
+ return linkedState.links[panelId];
4173
+ }], function (mapViews) {
4174
+ if (!mapViews) {
4175
+ return undefined;
4176
+ }
4177
+ return mapViews;
4135
4178
  });
4136
4179
  var selectLinkedFeatures = createSelector([function (linkedState) {
4137
4180
  return linkedState;
4138
4181
  }, getLinkedFeatureProviders], function (linkedState, featureProviders) {
4139
4182
  var features = featureProviders.flatMap(function (providerId) {
4140
4183
  var _linkedState$sharedDa;
4141
- return (_linkedState$sharedDa = linkedState.sharedData[providerId]) == null ? void 0 : _linkedState$sharedDa.features;
4184
+ return ((_linkedState$sharedDa = linkedState.sharedData[providerId]) == null ? void 0 : _linkedState$sharedDa.features) || [];
4142
4185
  }).filter(function (f) {
4143
4186
  return f !== undefined;
4144
4187
  });
4145
4188
  return features;
4146
4189
  });
4190
+ var getSelectedFeature = createSelector([
4191
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
4192
+ function (state, mapId) {
4193
+ var _state$linkedState;
4194
+ var sharedData = (_state$linkedState = state.linkedState) == null ? void 0 : _state$linkedState.sharedData[mapId];
4195
+ var _ref = sharedData || {},
4196
+ _ref$features = _ref.features,
4197
+ features = _ref$features === void 0 ? [] : _ref$features,
4198
+ selectedFeatureId = _ref.selectedFeatureId;
4199
+ return {
4200
+ features: features,
4201
+ selectedFeatureId: selectedFeatureId
4202
+ };
4203
+ }], function (_ref2) {
4204
+ var features = _ref2.features,
4205
+ selectedFeatureId = _ref2.selectedFeatureId;
4206
+ if (!selectedFeatureId) {
4207
+ return null;
4208
+ }
4209
+ // Find the feature by the selectedFeatureId
4210
+ var selectedFeature = features[0].geoJSON.features.find(function (feature) {
4211
+ return feature.id === selectedFeatureId;
4212
+ });
4213
+ if (selectedFeature && selectedFeature.geometry.type === 'Point') {
4214
+ var _selectedFeature$prop, _selectedFeature$prop2;
4215
+ var coordinates = selectedFeature.geometry.coordinates;
4216
+ return {
4217
+ lat: coordinates[1],
4218
+ lon: coordinates[0],
4219
+ id: selectedFeature.id,
4220
+ serviceId: (_selectedFeature$prop = selectedFeature.properties) == null ? void 0 : _selectedFeature$prop.serviceId,
4221
+ collectionId: (_selectedFeature$prop2 = selectedFeature.properties) == null ? void 0 : _selectedFeature$prop2.collectionId
4222
+ };
4223
+ }
4224
+ return null;
4225
+ });
4147
4226
 
4148
4227
  var selectors$4 = /*#__PURE__*/Object.freeze({
4149
4228
  __proto__: null,
4150
4229
  getLinkedFeatureProviders: getLinkedFeatureProviders,
4151
4230
  getLinkedMaps: getLinkedMaps,
4231
+ getSelectedFeature: getSelectedFeature,
4152
4232
  getSynchronizationGroupStore: getSynchronizationGroupStore,
4153
4233
  getTime: getTime,
4154
4234
  selectLinkedFeatures: selectLinkedFeatures,
4235
+ selectLinkedPanelId: selectLinkedPanelId,
4236
+ selectMapViewsForPanelId: selectMapViewsForPanelId,
4155
4237
  selectSharedData: selectSharedData
4156
4238
  });
4157
4239
 
@@ -5016,8 +5098,8 @@ var getPinLocation = createSelector(getMapById, function (store) {
5016
5098
  * @param {string} mapId mapId: string - Id of the map
5017
5099
  * @returns {boolean} returnType: boolean
5018
5100
  */
5019
- var getDisableMapPin = createSelector(getMapById, function (store) {
5020
- return store ? store.disableMapPin : false;
5101
+ var getDisableMapPin = createSelector([getMapById], function (map) {
5102
+ return map == null ? void 0 : map.disableMapPin;
5021
5103
  }, selectorMemoizationOptions);
5022
5104
  /**
5023
5105
  * Returns the display map pin boolean for the current map
@@ -6738,7 +6820,7 @@ var fetchService = /*#__PURE__*/function () {
6738
6820
  case 0:
6739
6821
  _context.prev = 0;
6740
6822
  _context.next = 3;
6741
- return getCapabilities.getLayersFlattenedFromService(service.serviceUrl);
6823
+ return queryWMSLayers(service.serviceUrl);
6742
6824
  case 3:
6743
6825
  layers = _context.sent;
6744
6826
  listenerApi.dispatch(serviceActions.serviceSetLayers(Object.assign({}, service, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/store",
3
- "version": "9.35.0",
3
+ "version": "9.35.1-spike-oltanstack.0",
4
4
  "description": "GeoWeb Store library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -2,9 +2,14 @@ export declare const genericActions: {
2
2
  initialSyncState: import("./synchronizationGroups/types").SynchronizationGroupState;
3
3
  setTime: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./types").SetTimePayload, string>;
4
4
  setBbox: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./types").SetBboxPayload, string>;
5
- changeLinkedMap: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./synchronizationGroups/types").ChangeLinkedMap, "synchronizationGroupsReducer/changeLinkedMap">;
5
+ setLinkedMap: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./synchronizationGroups/types").SetLinkedMap, "synchronizationGroupsReducer/setLinkedMap">;
6
+ updateLinkedMap: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./synchronizationGroups/types").UpdateLinkedMap, "synchronizationGroupsReducer/updateLinkedMap">;
6
7
  addSharedData: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./synchronizationGroups/types").AddSharedData, "synchronizationGroupsReducer/addSharedData">;
7
8
  deleteSharedData: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./synchronizationGroups/types").DeleteSharedData, "synchronizationGroupsReducer/deleteSharedData">;
9
+ setFeatureSelected: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
10
+ mapId: string;
11
+ featureId: string;
12
+ }, "synchronizationGroupsReducer/setFeatureSelected">;
8
13
  syncGroupAddSource: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./synchronizationGroups/types").SyncGroupsAddSourcePayload, "synchronizationGroupsReducer/syncGroupAddSource">;
9
14
  syncGroupRemoveSource: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./synchronizationGroups/types").SyncGroupRemoveSourcePayload, "synchronizationGroupsReducer/syncGroupRemoveSource">;
10
15
  syncGroupAddTarget: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./synchronizationGroups/types").SyncGroupAddTargetPayload, "synchronizationGroupsReducer/syncGroupAddTarget">;
@@ -21,13 +21,46 @@ export declare const selectSharedData: ((state: any, panelId: string) => Pick<Re
21
21
  }> & {
22
22
  clearCache: () => void;
23
23
  };
24
- export declare const selectLinkedFeatures: ((state: any, mapId: string) => ({
24
+ export declare const selectLinkedPanelId: ((state: any, mapViewId: string) => string | undefined) & import("reselect").OutputSelectorFields<(args_0: LinkedState, args_1: string) => string | undefined, {
25
+ clearCache: () => void;
26
+ }> & {
27
+ clearCache: () => void;
28
+ };
29
+ export declare const selectMapViewsForPanelId: ((state: LinkedState, panelId: string) => string[] | undefined) & import("reselect").OutputSelectorFields<(args_0: string[]) => string[] | undefined, {
30
+ clearCache: () => void;
31
+ }> & {
32
+ clearCache: () => void;
33
+ };
34
+ export declare const selectLinkedFeatures: ((state: any, mapId: string) => {
25
35
  id: string;
26
36
  geoJSON: import("geojson").FeatureCollection<import("geojson").Geometry, import("geojson").GeoJsonProperties>;
27
- } | undefined)[]) & import("reselect").OutputSelectorFields<(args_0: LinkedState, args_1: string[]) => ({
37
+ }[]) & import("reselect").OutputSelectorFields<(args_0: LinkedState, args_1: string[]) => {
28
38
  id: string;
29
39
  geoJSON: import("geojson").FeatureCollection<import("geojson").Geometry, import("geojson").GeoJsonProperties>;
30
- } | undefined)[], {
40
+ }[], {
41
+ clearCache: () => void;
42
+ }> & {
43
+ clearCache: () => void;
44
+ };
45
+ export declare const getSelectedFeature: ((state: SynchronizationGroupState, mapId: string) => {
46
+ lat: number;
47
+ lon: number;
48
+ id: string;
49
+ serviceId: string;
50
+ collectionId: string;
51
+ } | null) & import("reselect").OutputSelectorFields<(args_0: {
52
+ features: {
53
+ id: string;
54
+ geoJSON: import("geojson").FeatureCollection<import("geojson").Geometry, import("geojson").GeoJsonProperties>;
55
+ }[];
56
+ selectedFeatureId: string | undefined;
57
+ }) => {
58
+ lat: number;
59
+ lon: number;
60
+ id: string;
61
+ serviceId: string;
62
+ collectionId: string;
63
+ } | null, {
31
64
  clearCache: () => void;
32
65
  }> & {
33
66
  clearCache: () => void;
@@ -1,10 +1,26 @@
1
1
  import { PayloadAction, Draft } from '@reduxjs/toolkit';
2
- import { SynchronizationGroupState, SyncGroupAddTargetPayload, SyncGroupAddGroupPayload, SyncGroupRemoveTargetPayload, SyncGroupRemoveGroupPayload, SyncGroupSetViewStatePayload, SyncGroupLinkTargetPayload, SyncGroupRemoveSourcePayload, SyncGroupsAddSourcePayload, SyncGroupToggleIsTimeScrollingEnabled, ChangeLinkedMap, AddSharedData, DeleteSharedData } from './types';
2
+ import { SynchronizationGroupState, SyncGroupAddTargetPayload, SyncGroupAddGroupPayload, SyncGroupRemoveTargetPayload, SyncGroupRemoveGroupPayload, SyncGroupSetViewStatePayload, SyncGroupLinkTargetPayload, SyncGroupRemoveSourcePayload, SyncGroupsAddSourcePayload, SyncGroupToggleIsTimeScrollingEnabled, UpdateLinkedMap, AddSharedData, DeleteSharedData, SetLinkedMap } from './types';
3
3
  export declare const initialState: SynchronizationGroupState;
4
4
  export declare const slice: import("@reduxjs/toolkit").Slice<SynchronizationGroupState, {
5
- changeLinkedMap: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<ChangeLinkedMap>) => void;
5
+ /** Sets the links map.
6
+ * This is used to override the links when changing workspaces.
7
+ * @param draft sync state
8
+ * @param {Record<string, string[]>} action.newLinks the new links object
9
+ */
10
+ setLinkedMap: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SetLinkedMap>) => void;
11
+ /** Updates the links map.
12
+ * This is used to update the links when operating the link menu.
13
+ * @param draft sync state
14
+ * @param {string} action.panelId id of the panel updating it's links
15
+ * @param {string[]} action.mapIds the new linked maps
16
+ */
17
+ updateLinkedMap: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<UpdateLinkedMap>) => void;
6
18
  addSharedData: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<AddSharedData>) => void;
7
19
  deleteSharedData: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<DeleteSharedData>) => void;
20
+ setFeatureSelected: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<{
21
+ mapId: string;
22
+ featureId: string;
23
+ }>) => void;
8
24
  syncGroupAddSource: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupsAddSourcePayload>) => void;
9
25
  syncGroupRemoveSource: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupRemoveSourcePayload>) => void;
10
26
  syncGroupAddTarget: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupAddTargetPayload>) => void;
@@ -18,9 +34,25 @@ export declare const slice: import("@reduxjs/toolkit").Slice<SynchronizationGrou
18
34
  }, "synchronizationGroupsReducer">;
19
35
  export declare const syncGroupAddGroup: import("@reduxjs/toolkit").ActionCreatorWithPayload<SyncGroupAddGroupPayload, "synchronizationGroupsReducer/syncGroupAddGroup">, syncGroupAddSource: import("@reduxjs/toolkit").ActionCreatorWithPayload<SyncGroupsAddSourcePayload, "synchronizationGroupsReducer/syncGroupAddSource">, syncGroupAddTarget: import("@reduxjs/toolkit").ActionCreatorWithPayload<SyncGroupAddTargetPayload, "synchronizationGroupsReducer/syncGroupAddTarget">, syncGroupClear: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"synchronizationGroupsReducer/syncGroupClear">, syncGroupLinkTarget: import("@reduxjs/toolkit").ActionCreatorWithPayload<SyncGroupLinkTargetPayload, "synchronizationGroupsReducer/syncGroupLinkTarget">, syncGroupRemoveGroup: import("@reduxjs/toolkit").ActionCreatorWithPayload<SyncGroupRemoveGroupPayload, "synchronizationGroupsReducer/syncGroupRemoveGroup">, syncGroupRemoveSource: import("@reduxjs/toolkit").ActionCreatorWithPayload<SyncGroupRemoveSourcePayload, "synchronizationGroupsReducer/syncGroupRemoveSource">, syncGroupRemoveTarget: import("@reduxjs/toolkit").ActionCreatorWithPayload<SyncGroupRemoveTargetPayload, "synchronizationGroupsReducer/syncGroupRemoveTarget">, syncGroupSetViewState: import("@reduxjs/toolkit").ActionCreatorWithPayload<SyncGroupSetViewStatePayload, "synchronizationGroupsReducer/syncGroupSetViewState">;
20
36
  export declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
21
- changeLinkedMap: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<ChangeLinkedMap>) => void;
37
+ /** Sets the links map.
38
+ * This is used to override the links when changing workspaces.
39
+ * @param draft sync state
40
+ * @param {Record<string, string[]>} action.newLinks the new links object
41
+ */
42
+ setLinkedMap: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SetLinkedMap>) => void;
43
+ /** Updates the links map.
44
+ * This is used to update the links when operating the link menu.
45
+ * @param draft sync state
46
+ * @param {string} action.panelId id of the panel updating it's links
47
+ * @param {string[]} action.mapIds the new linked maps
48
+ */
49
+ updateLinkedMap: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<UpdateLinkedMap>) => void;
22
50
  addSharedData: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<AddSharedData>) => void;
23
51
  deleteSharedData: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<DeleteSharedData>) => void;
52
+ setFeatureSelected: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<{
53
+ mapId: string;
54
+ featureId: string;
55
+ }>) => void;
24
56
  syncGroupAddSource: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupsAddSourcePayload>) => void;
25
57
  syncGroupRemoveSource: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupRemoveSourcePayload>) => void;
26
58
  syncGroupAddTarget: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupAddTargetPayload>) => void;
@@ -34,6 +34,7 @@ export interface PotentialData {
34
34
  id: string;
35
35
  geoJSON: GeoJSON.FeatureCollection;
36
36
  }[];
37
+ selectedFeatureId?: string;
37
38
  }
38
39
  export interface LinkedState {
39
40
  links: Record<string, string[]>;
@@ -57,8 +58,8 @@ export interface SynchronizationGroupState {
57
58
  sources: SynchronizationSources;
58
59
  groups: SynchronizationGroups;
59
60
  viewState: SyncGroupViewState;
60
- isTimeScrollingEnabled: boolean;
61
61
  linkedState: LinkedState;
62
+ isTimeScrollingEnabled: boolean;
62
63
  }
63
64
  export interface SynchronizationGroupModuleState {
64
65
  syncronizationGroupStore?: SynchronizationGroupState;
@@ -103,6 +104,7 @@ export interface SyncGroupSetViewStatePayload {
103
104
  }
104
105
  export interface SyncGroupToggleIsTimeScrollingEnabled {
105
106
  isTimeScrollingEnabled: boolean;
107
+ origin?: Origin;
106
108
  }
107
109
  export declare const SyncGroupTypeList: string[];
108
110
  export declare enum SyncGroupActionOrigin {
@@ -112,7 +114,10 @@ export declare enum SyncGroupActionOrigin {
112
114
  add = "ORIGIN_GENERIC_SYNCHRONIZATIONGROUP_UTILS_ADDACTION",
113
115
  autoLayerId = "ORIGIN_GENERIC_SYNCHRONIZATIONGROUP_UTILS_AUTOLAYERIDACTION"
114
116
  }
115
- export interface ChangeLinkedMap {
117
+ export interface SetLinkedMap {
118
+ newLinks: Record<string, string[]>;
119
+ }
120
+ export interface UpdateLinkedMap {
116
121
  panelId: string;
117
122
  mapIds: string[];
118
123
  }