@opengeoweb/store 5.2.1 → 6.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.
Files changed (116) hide show
  1. package/index.js +35277 -2
  2. package/package.json +14 -2
  3. package/src/index.d.ts +1 -1
  4. package/src/store/app/config.d.ts +4 -0
  5. package/src/store/app/index.d.ts +2 -0
  6. package/src/store/app/reducer.d.ts +15 -0
  7. package/src/store/app/reducer.spec.d.ts +1 -0
  8. package/src/store/app/types.d.ts +6 -0
  9. package/src/store/coreModuleConfig.d.ts +1 -0
  10. package/src/store/generic/actions.d.ts +28 -0
  11. package/src/store/generic/config.d.ts +5 -0
  12. package/src/store/generic/index.d.ts +16 -0
  13. package/src/store/generic/sagas.d.ts +14 -0
  14. package/src/store/generic/sagas.spec.d.ts +1 -0
  15. package/src/store/generic/selectors.d.ts +22 -0
  16. package/src/store/generic/selectors.spec.d.ts +1 -0
  17. package/src/store/generic/synchronizationActions/actions.d.ts +11 -0
  18. package/src/store/generic/synchronizationActions/types.d.ts +34 -0
  19. package/src/store/generic/synchronizationGroups/__mocks__/mockState.d.ts +2 -0
  20. package/src/store/generic/synchronizationGroups/constants.d.ts +4 -0
  21. package/src/store/generic/synchronizationGroups/index.d.ts +6 -0
  22. package/src/store/generic/synchronizationGroups/reducer.d.ts +26 -0
  23. package/src/store/generic/synchronizationGroups/reducer.spec.d.ts +1 -0
  24. package/src/store/generic/synchronizationGroups/sagas.d.ts +8 -0
  25. package/src/store/generic/synchronizationGroups/sagas.spec.d.ts +1 -0
  26. package/src/store/generic/synchronizationGroups/selector.d.ts +19 -0
  27. package/src/store/generic/synchronizationGroups/selectors.d.ts +76 -0
  28. package/src/store/generic/synchronizationGroups/selectors.spec.d.ts +1 -0
  29. package/src/store/generic/synchronizationGroups/types.d.ts +98 -0
  30. package/src/store/generic/synchronizationGroups/utils.d.ts +76 -0
  31. package/src/store/generic/synchronizationGroups/utils.spec.d.ts +1 -0
  32. package/src/store/generic/types.d.ts +22 -0
  33. package/src/store/generic/utils.d.ts +9 -0
  34. package/src/store/generic/utils.spec.d.ts +1 -0
  35. package/src/store/index.d.ts +12 -0
  36. package/src/store/layerSelect/config.d.ts +5 -0
  37. package/src/store/layerSelect/index.d.ts +4 -0
  38. package/src/store/layerSelect/localStorage.d.ts +3 -0
  39. package/src/store/layerSelect/localStorage.spec.d.ts +1 -0
  40. package/src/store/layerSelect/reducer.d.ts +21 -0
  41. package/src/store/layerSelect/reducer.spec.d.ts +1 -0
  42. package/src/store/layerSelect/sagas.d.ts +10 -0
  43. package/src/store/layerSelect/sagas.spec.d.ts +1 -0
  44. package/src/store/layerSelect/selectors.d.ts +157 -0
  45. package/src/store/layerSelect/selectors.spec.d.ts +1 -0
  46. package/src/store/layerSelect/types.d.ts +95 -0
  47. package/src/store/layerSelect/utils.d.ts +6 -0
  48. package/src/store/layerSelect/utils.spec.d.ts +1 -0
  49. package/src/store/mapStore/config.d.ts +4 -0
  50. package/src/store/mapStore/index.d.ts +76 -0
  51. package/src/store/mapStore/layers/index.d.ts +5 -0
  52. package/src/store/mapStore/layers/reducer.d.ts +56 -0
  53. package/src/store/mapStore/layers/reducer.spec.d.ts +1 -0
  54. package/src/store/mapStore/layers/selectors.d.ts +443 -0
  55. package/src/store/mapStore/layers/selectors.spec.d.ts +1 -0
  56. package/src/store/mapStore/layers/types.d.ts +149 -0
  57. package/src/store/mapStore/layers/utils.d.ts +18 -0
  58. package/src/store/mapStore/layers/utils.spec.d.ts +1 -0
  59. package/src/store/mapStore/map/actions.d.ts +8 -0
  60. package/src/store/mapStore/map/constants.d.ts +6 -0
  61. package/src/store/mapStore/map/defaultLayers.d.ts +15 -0
  62. package/src/store/mapStore/map/enums.d.ts +23 -0
  63. package/src/store/mapStore/map/filterLayers.d.ts +10 -0
  64. package/src/store/mapStore/map/filterLayers.spec.d.ts +1 -0
  65. package/src/store/mapStore/map/index.d.ts +36 -0
  66. package/src/store/mapStore/map/reducer.d.ts +98 -0
  67. package/src/store/mapStore/map/reducer.spec.d.ts +1 -0
  68. package/src/store/mapStore/map/replaceLayerIdsToEnsureUniqueLayerIdsInStore.d.ts +7 -0
  69. package/src/store/mapStore/map/replaceLayerIdsToEnsureUniqueLayerIdsInStore.spec.d.ts +1 -0
  70. package/src/store/mapStore/map/sagas.d.ts +24 -0
  71. package/src/store/mapStore/map/sagas.spec.d.ts +1 -0
  72. package/src/store/mapStore/map/selectors.d.ts +1002 -0
  73. package/src/store/mapStore/map/selectors.spec.d.ts +1 -0
  74. package/src/store/mapStore/map/types.d.ts +242 -0
  75. package/src/store/mapStore/map/utils.d.ts +94 -0
  76. package/src/store/mapStore/map/utils.spec.d.ts +1 -0
  77. package/src/store/mapStore/service/WMS111GetCapabilitiesGeoServicesRADAR.d.ts +2 -0
  78. package/src/store/mapStore/service/index.d.ts +3 -0
  79. package/src/store/mapStore/service/reducer.d.ts +11 -0
  80. package/src/store/mapStore/service/reducer.spec.d.ts +1 -0
  81. package/src/store/mapStore/service/sagas.d.ts +7 -0
  82. package/src/store/mapStore/service/sagas.spec.d.ts +1 -0
  83. package/src/store/mapStore/service/selectors.d.ts +121 -0
  84. package/src/store/mapStore/service/selectors.spec.d.ts +1 -0
  85. package/src/store/mapStore/service/types.d.ts +49 -0
  86. package/src/store/mapStore/storeTestSettings.d.ts +6 -0
  87. package/src/store/mapStore/storeTestUtils.d.ts +10 -0
  88. package/src/store/mapStore/types.d.ts +11 -0
  89. package/src/store/router/config.d.ts +4 -0
  90. package/src/store/router/index.d.ts +3 -0
  91. package/src/store/router/reducer.d.ts +9 -0
  92. package/src/store/router/reducer.spec.d.ts +1 -0
  93. package/src/store/router/sagas.d.ts +5 -0
  94. package/src/store/router/sagas.spec.d.ts +1 -0
  95. package/src/store/router/types.d.ts +8 -0
  96. package/src/store/router/utils.d.ts +3 -0
  97. package/src/store/snackbar/config.d.ts +4 -0
  98. package/src/store/snackbar/index.d.ts +4 -0
  99. package/src/store/snackbar/reducer.d.ts +11 -0
  100. package/src/store/snackbar/reducer.spec.d.ts +1 -0
  101. package/src/store/snackbar/sagas.d.ts +5 -0
  102. package/src/store/snackbar/sagas.spec.d.ts +1 -0
  103. package/src/store/snackbar/selectors.d.ts +10 -0
  104. package/src/store/snackbar/selectors.spec.d.ts +1 -0
  105. package/src/store/snackbar/types.d.ts +15 -0
  106. package/src/store/types.d.ts +5 -0
  107. package/src/store/ui/config.d.ts +4 -0
  108. package/src/store/ui/index.d.ts +3 -0
  109. package/src/store/ui/reducer.d.ts +35 -0
  110. package/src/store/ui/reducer.spec.d.ts +1 -0
  111. package/src/store/ui/sagas.d.ts +5 -0
  112. package/src/store/ui/sagas.test.d.ts +1 -0
  113. package/src/store/ui/selectors.d.ts +144 -0
  114. package/src/store/ui/selectors.spec.d.ts +1 -0
  115. package/src/store/ui/types.d.ts +78 -0
  116. package/src/store/utils.d.ts +8 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/store",
3
- "version": "5.2.1",
3
+ "version": "6.0.1",
4
4
  "description": "GeoWeb Store library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -10,5 +10,17 @@
10
10
  "module": "./index.js",
11
11
  "main": "./index.js",
12
12
  "type": "module",
13
- "types": "./src/index.d.ts"
13
+ "types": "./src/index.d.ts",
14
+ "dependencies": {},
15
+ "peerDependencies": {
16
+ "@opengeoweb/webmap": "6.0.1",
17
+ "@redux-eggs/core": "2.2.0",
18
+ "@redux-eggs/redux-toolkit": "2.2.0",
19
+ "@redux-eggs/saga-extension": "2.2.0",
20
+ "@reduxjs/toolkit": "1.9.5",
21
+ "immer": "9.0.21",
22
+ "lodash": "4.17.21",
23
+ "moment": "2.29.4",
24
+ "redux-saga": "1.2.3"
25
+ }
14
26
  }
package/src/index.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const TEMP_CONST = "Remove on real implementaton";
1
+ export * from './store';
@@ -0,0 +1,4 @@
1
+ import { Store } from '@reduxjs/toolkit';
2
+ import { Egg } from '@redux-eggs/core';
3
+ import { AppModuleStore } from './types';
4
+ export declare const appModuleConfig: Egg<Store<AppModuleStore>>;
@@ -0,0 +1,2 @@
1
+ export { appActions } from './reducer';
2
+ export * from './config';
@@ -0,0 +1,15 @@
1
+ import { Draft } from '@reduxjs/toolkit';
2
+ interface InitialState {
3
+ isInitialised: boolean;
4
+ }
5
+ export declare const initialState: {
6
+ isInitialised: boolean;
7
+ };
8
+ export declare const reducer: import("redux").Reducer<{
9
+ isInitialised: boolean;
10
+ }, import("redux").AnyAction>;
11
+ export declare const appActions: import("@reduxjs/toolkit").CaseReducerActions<{
12
+ initialiseApp: (draft: Draft<InitialState>) => void;
13
+ }, "app">;
14
+ export declare type AppActions = ReturnType<typeof appActions.initialiseApp>;
15
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export interface AppStoreState {
2
+ isInitialised: boolean;
3
+ }
4
+ export interface AppModuleStore {
5
+ app?: AppStoreState;
6
+ }
@@ -0,0 +1 @@
1
+ export declare const coreModuleConfig: (import("@redux-eggs/core").Egg<import("redux").Store<import("./mapStore").WebMapStateModuleState, import("redux").AnyAction>> | import("@redux-eggs/core").Egg<import("redux").Store<import("./generic/synchronizationGroups/types").SynchronizationGroupModuleState, import("redux").AnyAction>> | import("@redux-eggs/core").Egg<import("redux").Store<import("./ui/types").UIModuleState, import("redux").AnyAction>> | import("@redux-eggs/core").Egg<import("redux").Store<import("./layerSelect/types").LayerSelectModuleState, import("redux").AnyAction>> | import("@redux-eggs/core").Egg<import("redux").Store<import("./snackbar/types").SnackbarModuleStore, import("redux").AnyAction>>)[];
@@ -0,0 +1,28 @@
1
+ import { SetTimePayload, SetBboxPayload } from './types';
2
+ /**
3
+ * Generic action to set the time.
4
+ *
5
+ * @param payload: SetTimePayload;
6
+ * {
7
+ * sourceId: string; // Source where the new time value originates from
8
+ * value: string; // ISO 8601 string time value like "2010-10-01T00:00:00Z"
9
+ * }
10
+ */
11
+ export declare const setTime: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetTimePayload, string>;
12
+ /**
13
+ * Generic action to set the bounding box.
14
+ *
15
+ * @param payload: SetBboxPayload;
16
+ *
17
+ * {
18
+ * sourceId: string; // Source where the new time value originates from
19
+ * bbox: { // Bbbox object
20
+ * left: number;
21
+ * bottom: number;
22
+ * right: number;
23
+ * top: number;
24
+ * };
25
+ * srs: string; // Projection string according to EPSG, e.g. (EPSG:3857 == Mercator)
26
+ * }
27
+ */
28
+ export declare const setBbox: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetBboxPayload, string>;
@@ -0,0 +1,5 @@
1
+ import { Egg } from '@redux-eggs/core';
2
+ import { Store } from '@reduxjs/toolkit';
3
+ import { SynchronizationGroupModuleState } from './synchronizationGroups/types';
4
+ declare const synchronizationGroupConfig: Egg<Store<SynchronizationGroupModuleState>>;
5
+ export default synchronizationGroupConfig;
@@ -0,0 +1,16 @@
1
+ export declare const genericActions: {
2
+ setTime: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./types").SetTimePayload, string>;
3
+ setBbox: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./types").SetBboxPayload, string>;
4
+ syncGroupAddSource: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./synchronizationGroups/types").SyncGroupsAddSourcePayload, "synchronizationGroupsReducer/syncGroupAddSource">;
5
+ syncGroupRemoveSource: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./synchronizationGroups/types").SyncGroupRemoveSourcePayload, "synchronizationGroupsReducer/syncGroupRemoveSource">;
6
+ syncGroupAddTarget: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./synchronizationGroups/types").SyncGroupAddTargetPayload, "synchronizationGroupsReducer/syncGroupAddTarget">;
7
+ syncGroupRemoveTarget: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./synchronizationGroups/types").SyncGroupRemoveTargetPayload, "synchronizationGroupsReducer/syncGroupRemoveTarget">;
8
+ syncGroupLinkTarget: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./synchronizationGroups/types").SyncGroupLinkTargetPayload, "synchronizationGroupsReducer/syncGroupLinkTarget">;
9
+ syncGroupAddGroup: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./synchronizationGroups/types").SyncGroupAddGroupPayload, "synchronizationGroupsReducer/syncGroupAddGroup">;
10
+ syncGroupRemoveGroup: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./synchronizationGroups/types").SyncGroupRemoveGroupPayload, "synchronizationGroupsReducer/syncGroupRemoveGroup">;
11
+ syncGroupClear: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"synchronizationGroupsReducer/syncGroupClear">;
12
+ syncGroupSetViewState: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./synchronizationGroups/types").SyncGroupSetViewStatePayload, "synchronizationGroupsReducer/syncGroupSetViewState">;
13
+ };
14
+ export * as genericSelectors from './selectors';
15
+ export * from './synchronizationGroups';
16
+ export * as genericTypes from './types';
@@ -0,0 +1,14 @@
1
+ import { SagaIterator } from 'redux-saga';
2
+ import { mapActions } from '../mapStore';
3
+ import { setBbox, setTime } from './actions';
4
+ import { layerActions, LayerActions } from '../mapStore/layers/reducer';
5
+ export declare function setTimeSaga({ payload, }: ReturnType<typeof setTime>): SagaIterator;
6
+ export declare function setBBoxSaga({ payload, }: ReturnType<typeof setBbox>): SagaIterator;
7
+ export declare function layerActionsSaga({ payload, type, }: LayerActions): SagaIterator;
8
+ export declare function addLayerActionsSaga({ payload, type, }: ReturnType<typeof layerActions.addLayer>): SagaIterator;
9
+ export declare function deleteLayerActionsSaga({ payload, type, }: ReturnType<typeof layerActions.layerDelete>): SagaIterator;
10
+ export declare function moveLayerActionsSaga({ payload, type, }: ReturnType<typeof mapActions.layerMoveLayer>): SagaIterator;
11
+ export declare function setAutoLayerIdActionsSaga({ payload, type, }: ReturnType<typeof mapActions.setAutoLayerId>): SagaIterator;
12
+ export declare function mapBaseLayerActionsSaga({ payload, type, }: ReturnType<typeof layerActions.setBaseLayers>): SagaIterator;
13
+ export declare function rootSaga(): SagaIterator;
14
+ export default rootSaga;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ import type { SynchronizationGroupState, SynchronizationSource } from './synchronizationGroups/types';
2
+ export declare const getSynchronizationGroupStore: ((state: {
3
+ syncronizationGroupStore?: SynchronizationGroupState | undefined;
4
+ ui?: import("../ui/types").UIStoreType | undefined;
5
+ webmap?: import("../mapStore/types").WebMapState | undefined;
6
+ services?: import("../mapStore/types").ServiceState | undefined;
7
+ layers?: import("../mapStore/types").LayerState | undefined;
8
+ layerSelect?: import("../layerSelect/types").LayerSelectStoreType | undefined;
9
+ }) => SynchronizationGroupState) & import("reselect").OutputSelectorFields<(args_0: SynchronizationGroupState) => SynchronizationGroupState, {
10
+ clearCache: () => void;
11
+ }> & {
12
+ clearCache: () => void;
13
+ };
14
+ export declare const getTime: ((state: {
15
+ sources: import("./synchronizationGroups/types").SynchronizationSources;
16
+ groups: import("./synchronizationGroups/types").SynchronizationGroups;
17
+ viewState: import("./synchronizationGroups/types").SyncGroupViewState;
18
+ }, params_0: string) => string | null) & import("reselect").OutputSelectorFields<(args_0: SynchronizationSource) => string | null, {
19
+ clearCache: () => void;
20
+ }> & {
21
+ clearCache: () => void;
22
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { SetBboxPayload, SetTimePayload, SyncLayerPayloads } from '../types';
2
+ import type { SetBboxSyncActionPayload, SetBboxSyncPayload, SetLayerActionsSyncPayload, SetTimeSyncActionPayload, SetTimeSyncPayload } from './types';
3
+ /**
4
+ * These actions are fired by the generic/saga.ts, based on generic actions and the synchronizationGroup state.
5
+ *
6
+ * These actions should not be used by components directly. Components should only use the generic actions.
7
+ */
8
+ export declare const setTimeSync: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: SetTimePayload, targets: SetTimeSyncPayload[], groups: string[]], SetTimeSyncActionPayload, "GENERIC_SYNC_SETTIME", never, never>;
9
+ export declare const setBboxSync: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: SetBboxPayload, targets: SetBboxSyncPayload[], groups: string[]], SetBboxSyncActionPayload, "GENERIC_SYNC_SETBBOX", never, never>;
10
+ export declare const setLayerActionSync: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: SyncLayerPayloads, targets: SyncLayerPayloads[], type: string], SetLayerActionsSyncPayload, "GENERIC_SYNC_SETLAYERACTIONS", never, never>;
11
+ export declare type GenericSyncActions = ReturnType<typeof setTimeSync> | ReturnType<typeof setBboxSync> | ReturnType<typeof setLayerActionSync>;
@@ -0,0 +1,34 @@
1
+ import { setBbox, setTime } from '../actions';
2
+ import { SyncLayerPayloads } from '../types';
3
+ export interface SetTimeSyncPayload {
4
+ targetId: string;
5
+ value: string;
6
+ }
7
+ export interface SetBboxSyncPayload {
8
+ targetId: string;
9
+ bbox: {
10
+ left: number;
11
+ bottom: number;
12
+ right: number;
13
+ top: number;
14
+ };
15
+ srs: string;
16
+ }
17
+ export interface SetLayerActionsSyncPayload {
18
+ source: {
19
+ type: string;
20
+ payload: SyncLayerPayloads;
21
+ };
22
+ targets: SyncLayerPayloads[];
23
+ }
24
+ export interface SetTimeSyncActionPayload {
25
+ source: ReturnType<typeof setTime>;
26
+ groups: string[];
27
+ targets: SetTimeSyncPayload[];
28
+ }
29
+ export interface SetBboxSyncActionPayload {
30
+ source: ReturnType<typeof setBbox>;
31
+ groups: string[];
32
+ targets: SetBboxSyncPayload[];
33
+ }
34
+ export declare type GenericSyncActionPayload = SetBboxSyncPayload | SetTimeSyncPayload | SetLayerActionsSyncPayload;
@@ -0,0 +1,2 @@
1
+ import { SynchronizationGroupState } from '../types';
2
+ export declare const createSyncGroupMockState: () => SynchronizationGroupState;
@@ -0,0 +1,4 @@
1
+ export declare const SYNCGROUPS_TYPE_SETTIME = "SYNCGROUPS_TYPE_SETTIME";
2
+ export declare const SYNCGROUPS_TYPE_SETBBOX = "SYNCGROUPS_TYPE_SETBBOX";
3
+ export declare const SYNCGROUPS_TYPE_SETLAYERACTIONS = "SYNCGROUPS_TYPE_SETLAYERACTIONS";
4
+ export declare const SYNCGROUPS_SET_VIEW_STATE = "SYNCGROUPS_SET_VIEW_STATE";
@@ -0,0 +1,6 @@
1
+ export { actions as syncGroupsActions, initialState } from './reducer';
2
+ export * as syncConstants from './constants';
3
+ export * as types from './types';
4
+ export * as syncGroupsSelectors from './selectors';
5
+ export * as syncGroupsTypes from './types';
6
+ export * as syncGroupsSelector from './selector';
@@ -0,0 +1,26 @@
1
+ import { PayloadAction, Draft } from '@reduxjs/toolkit';
2
+ import { SynchronizationGroupState, SyncGroupAddTargetPayload, SyncGroupAddGroupPayload, SyncGroupRemoveTargetPayload, SyncGroupRemoveGroupPayload, SyncGroupSetViewStatePayload, SyncGroupLinkTargetPayload, SyncGroupRemoveSourcePayload, SyncGroupsAddSourcePayload } from './types';
3
+ export declare const initialState: SynchronizationGroupState;
4
+ export declare const slice: import("@reduxjs/toolkit").Slice<SynchronizationGroupState, {
5
+ syncGroupAddSource: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupsAddSourcePayload>) => void;
6
+ syncGroupRemoveSource: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupRemoveSourcePayload>) => void;
7
+ syncGroupAddTarget: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupAddTargetPayload>) => void;
8
+ syncGroupRemoveTarget: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupRemoveTargetPayload>) => void;
9
+ syncGroupLinkTarget: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupLinkTargetPayload>) => void;
10
+ syncGroupAddGroup: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupAddGroupPayload>) => void;
11
+ syncGroupRemoveGroup: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupRemoveGroupPayload>) => void;
12
+ syncGroupClear: () => SynchronizationGroupState;
13
+ syncGroupSetViewState: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupSetViewStatePayload>) => void;
14
+ }, "synchronizationGroupsReducer">;
15
+ 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">;
16
+ export declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
17
+ syncGroupAddSource: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupsAddSourcePayload>) => void;
18
+ syncGroupRemoveSource: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupRemoveSourcePayload>) => void;
19
+ syncGroupAddTarget: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupAddTargetPayload>) => void;
20
+ syncGroupRemoveTarget: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupRemoveTargetPayload>) => void;
21
+ syncGroupLinkTarget: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupLinkTargetPayload>) => void;
22
+ syncGroupAddGroup: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupAddGroupPayload>) => void;
23
+ syncGroupRemoveGroup: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupRemoveGroupPayload>) => void;
24
+ syncGroupClear: () => SynchronizationGroupState;
25
+ syncGroupSetViewState: (draft: Draft<SynchronizationGroupState>, action: PayloadAction<SyncGroupSetViewStatePayload>) => void;
26
+ }, "synchronizationGroupsReducer">, reducer: import("redux").Reducer<SynchronizationGroupState, import("redux").AnyAction>;
@@ -0,0 +1,8 @@
1
+ import { SagaIterator } from 'redux-saga';
2
+ import * as synchronizationGroupActions from './reducer';
3
+ export declare function updateSourceValueWhenLinkingComponentToGroupSaga(groupId: string, targetToUpdate: string): SagaIterator;
4
+ export declare function addGroupTargetSaga({ payload, }: ReturnType<typeof synchronizationGroupActions.syncGroupAddTarget>): SagaIterator;
5
+ export declare function linkGroupTargetSaga({ payload, }: ReturnType<typeof synchronizationGroupActions.syncGroupLinkTarget>): SagaIterator;
6
+ export declare function updateViewStateSaga(): SagaIterator;
7
+ declare function rootSaga(): SagaIterator;
8
+ export default rootSaga;
@@ -0,0 +1,19 @@
1
+ import { SyncGroupViewState, SynchronizationGroups, SynchronizationSources, SyncType } from './types';
2
+ export declare const groupTypes: {
3
+ title: string;
4
+ syncType: SyncType;
5
+ groupType: string;
6
+ }[];
7
+ export declare const createSyncGroupViewState: (groups: SynchronizationGroups, sources: SynchronizationSources) => SyncGroupViewState;
8
+ export declare const createSyncGroupViewStateSelector: ((state: {
9
+ syncronizationGroupStore?: import("./types").SynchronizationGroupState | undefined;
10
+ ui?: import("../../ui/types").UIStoreType | undefined;
11
+ webmap?: import("../../mapStore/types").WebMapState | undefined;
12
+ services?: import("../../mapStore/types").ServiceState | undefined;
13
+ layers?: import("../../mapStore/types").LayerState | undefined;
14
+ layerSelect?: import("../../layerSelect/types").LayerSelectStoreType | undefined;
15
+ }) => SyncGroupViewState) & import("reselect").OutputSelectorFields<(args_0: SynchronizationGroups, args_1: SynchronizationSources) => SyncGroupViewState, {
16
+ clearCache: () => void;
17
+ }> & {
18
+ clearCache: () => void;
19
+ };
@@ -0,0 +1,76 @@
1
+ import type { CoreAppStore } from '../../types';
2
+ import type { GenericSyncActionPayload } from '../synchronizationActions/types';
3
+ import type { GenericActionPayload } from '../types';
4
+ import type { SyncGroupTarget, SynchronizationGroup, SynchronizationGroupState, SynchronizationSource, SyncType } from './types';
5
+ export declare const syncGroupStore: (store: CoreAppStore) => SynchronizationGroupState;
6
+ /**
7
+ * Gets synchronization group state
8
+ *
9
+ * Example: synchronizationGroupState = getSynchronizationGroupState(store)
10
+ * @param {object} store store: object - Store object
11
+ * @returns {object} returnType: SynchronizationGroupState
12
+ */
13
+ export declare const getSynchronizationGroupState: ((state: {
14
+ syncronizationGroupStore?: SynchronizationGroupState | undefined;
15
+ ui?: import("../../ui/types").UIStoreType | undefined;
16
+ webmap?: import("../../mapStore/types").WebMapState | undefined;
17
+ services?: import("../../mapStore/types").ServiceState | undefined;
18
+ layers?: import("../../mapStore/types").LayerState | undefined;
19
+ layerSelect?: import("../../layerSelect/types").LayerSelectStoreType | undefined;
20
+ }) => SynchronizationGroupState) & import("reselect").OutputSelectorFields<(args_0: SynchronizationGroupState) => SynchronizationGroupState, {
21
+ clearCache: () => void;
22
+ }> & {
23
+ clearCache: () => void;
24
+ };
25
+ export declare const getSynchronizationGroup: (state: CoreAppStore, id: string) => SynchronizationGroup;
26
+ export declare const getSynchronizationGroupSource: (state: CoreAppStore, id: string) => SynchronizationSource;
27
+ export declare const getTargets: (state: CoreAppStore, payload: GenericActionPayload, actionType: SyncType) => GenericSyncActionPayload[];
28
+ export declare const getTargetGroups: (state: CoreAppStore, payload: GenericActionPayload, actionType: SyncType) => string[];
29
+ export declare const getAllTargetGroupsForSource: ((state: {
30
+ syncronizationGroupStore?: SynchronizationGroupState | undefined;
31
+ ui?: import("../../ui/types").UIStoreType | undefined;
32
+ webmap?: import("../../mapStore/types").WebMapState | undefined;
33
+ services?: import("../../mapStore/types").ServiceState | undefined;
34
+ layers?: import("../../mapStore/types").LayerState | undefined;
35
+ layerSelect?: import("../../layerSelect/types").LayerSelectStoreType | undefined;
36
+ }, params_0: string) => string[]) & import("reselect").OutputSelectorFields<(args_0: SynchronizationGroupState, args_1: string) => string[], {
37
+ clearCache: () => void;
38
+ }> & {
39
+ clearCache: () => void;
40
+ };
41
+ export declare const syncGroupGetViewState: ((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
+ }) => import("./types").SyncGroupViewState) & import("reselect").OutputSelectorFields<(args_0: SynchronizationGroupState) => import("./types").SyncGroupViewState, {
49
+ clearCache: () => void;
50
+ }> & {
51
+ clearCache: () => void;
52
+ };
53
+ export declare const getSyncedMapIdsForTimeslider: ((state: {
54
+ syncronizationGroupStore?: SynchronizationGroupState | undefined;
55
+ ui?: import("../../ui/types").UIStoreType | undefined;
56
+ webmap?: import("../../mapStore/types").WebMapState | undefined;
57
+ services?: import("../../mapStore/types").ServiceState | undefined;
58
+ layers?: import("../../mapStore/types").LayerState | undefined;
59
+ layerSelect?: import("../../layerSelect/types").LayerSelectStoreType | undefined;
60
+ }) => string[]) & import("reselect").OutputSelectorFields<(args_0: SynchronizationGroupState) => string[], {
61
+ clearCache: () => void;
62
+ }> & {
63
+ clearCache: () => void;
64
+ };
65
+ export declare const getSyncGroupTargets: ((state: {
66
+ syncronizationGroupStore?: SynchronizationGroupState | undefined;
67
+ ui?: import("../../ui/types").UIStoreType | undefined;
68
+ webmap?: import("../../mapStore/types").WebMapState | undefined;
69
+ services?: import("../../mapStore/types").ServiceState | undefined;
70
+ layers?: import("../../mapStore/types").LayerState | undefined;
71
+ layerSelect?: import("../../layerSelect/types").LayerSelectStoreType | undefined;
72
+ }) => SyncGroupTarget[]) & import("reselect").OutputSelectorFields<(args_0: SynchronizationGroupState) => SyncGroupTarget[], {
73
+ clearCache: () => void;
74
+ }> & {
75
+ clearCache: () => void;
76
+ };
@@ -0,0 +1,98 @@
1
+ import type { GenericActionPayload } from '../types';
2
+ import { SYNCGROUPS_TYPE_SETBBOX, SYNCGROUPS_TYPE_SETTIME, SYNCGROUPS_TYPE_SETLAYERACTIONS } from './constants';
3
+ export interface Group {
4
+ id: string;
5
+ selected: string[];
6
+ }
7
+ export interface SourceById {
8
+ id: string;
9
+ name: string;
10
+ }
11
+ export interface GroupsAndSources {
12
+ groups: Group[];
13
+ sourcesById: SourceById[];
14
+ }
15
+ export interface SyncGroupViewState {
16
+ timeslider: GroupsAndSources;
17
+ zoompane: GroupsAndSources;
18
+ level: GroupsAndSources;
19
+ }
20
+ export interface SynchronizationGroup {
21
+ type: SyncType;
22
+ title?: string;
23
+ payloadByType: SynchronizationSourcePayLoadByType;
24
+ targets: {
25
+ byId: Record<string, {
26
+ linked: boolean;
27
+ }>;
28
+ allIds: string[];
29
+ };
30
+ }
31
+ declare type Origin = 'user' | 'system';
32
+ export declare type SynchronizationSourcePayLoadByType = Record<string, GenericActionPayload>;
33
+ export interface SynchronizationSource {
34
+ types: SyncType[];
35
+ payloadByType: SynchronizationSourcePayLoadByType;
36
+ }
37
+ export interface SynchronizationSources {
38
+ byId: Record<string, SynchronizationSource>;
39
+ allIds: string[];
40
+ }
41
+ export interface SynchronizationGroups {
42
+ byId: Record<string, SynchronizationGroup>;
43
+ allIds: string[];
44
+ }
45
+ export interface SynchronizationGroupState {
46
+ sources: SynchronizationSources;
47
+ groups: SynchronizationGroups;
48
+ viewState: SyncGroupViewState;
49
+ }
50
+ export interface SynchronizationGroupModuleState {
51
+ syncronizationGroupStore?: SynchronizationGroupState;
52
+ }
53
+ export declare type SyncType = typeof SYNCGROUPS_TYPE_SETBBOX | typeof SYNCGROUPS_TYPE_SETTIME | typeof SYNCGROUPS_TYPE_SETLAYERACTIONS;
54
+ export interface SyncGroupsAddSourcePayload {
55
+ id: string;
56
+ type: SyncType[];
57
+ defaultPayload?: GenericActionPayload;
58
+ }
59
+ export interface SyncGroupRemoveSourcePayload {
60
+ id: string;
61
+ }
62
+ export interface SyncGroupTarget {
63
+ groupId: string;
64
+ targetId: string;
65
+ linked?: boolean;
66
+ }
67
+ export interface SyncGroupAddTargetPayload extends SyncGroupTarget {
68
+ origin?: Origin;
69
+ }
70
+ export interface SyncGroupRemoveTargetPayload {
71
+ groupId: string;
72
+ targetId: string;
73
+ origin?: Origin;
74
+ }
75
+ export interface SyncGroupLinkTargetPayload extends SyncGroupTarget {
76
+ linked: boolean;
77
+ }
78
+ export interface SyncGroupAddGroupPayload {
79
+ groupId: string;
80
+ title: string;
81
+ type: SyncType;
82
+ origin?: Origin;
83
+ }
84
+ export interface SyncGroupRemoveGroupPayload {
85
+ groupId: string;
86
+ }
87
+ export interface SyncGroupSetViewStatePayload {
88
+ viewState: SyncGroupViewState;
89
+ }
90
+ export declare const SyncGroupTypeList: string[];
91
+ export declare enum SyncGroupActionOrigin {
92
+ delete = "ORIGIN_GENERIC_SYNCHRONIZATIONGROUP_UTILS_DELETEACTION",
93
+ layerActions = "ORIGIN_GENERIC_SYNCHRONIZATIONGROUP_UTILS_LAYERACTIONS",
94
+ move = "ORIGIN_GENERIC_SYNCHRONIZATIONGROUP_UTILS_MOVEACTION",
95
+ add = "ORIGIN_GENERIC_SYNCHRONIZATIONGROUP_UTILS_ADDACTION",
96
+ activateLayerId = "ORIGIN_GENERIC_SYNCHRONIZATIONGROUP_UTILS_ACTIVELAYERIDACTION"
97
+ }
98
+ export {};
@@ -0,0 +1,76 @@
1
+ import { CoreAppStore } from '../../types';
2
+ import { AddLayerPayload, DeleteLayerPayload, MoveLayerPayload, SetBaseLayersPayload } from '../../mapStore/types';
3
+ import { SyncLayerPayloads, LayerActionPayloadsWithLayerIds } from '../types';
4
+ import { SyncType } from './types';
5
+ interface FoundTargets {
6
+ payload: SyncLayerPayloads;
7
+ targetId: string;
8
+ layerId: string;
9
+ }
10
+ /**
11
+ * Tries to find the layerId's in the other map based on the payload of the action. It works for all layer actions.
12
+ * @param state
13
+ * @param mapId
14
+ * @param targetMapId
15
+ * @param payload
16
+ * @returns
17
+ */
18
+ export declare const getTargetLayerIdFromPayload: (state: CoreAppStore, mapId: string, targetMapId: string, payload: SyncLayerPayloads) => string;
19
+ /**
20
+ * Local helper function used by getLayerDeleteActionsTargets, getLayerActionsTargets, getAddLayerActionsTargets, getTargetLayerIdFromPayload to find the targets
21
+ * @param state
22
+ * @param payload
23
+ * @param actionType
24
+ * @param sourceMapId
25
+ * @returns The found targets
26
+ */
27
+ export declare const findTargets: (state: CoreAppStore, payload: SyncLayerPayloads, actionType: SyncType, sourceMapId: string) => FoundTargets[];
28
+ /**
29
+ * These targets are found for layer actions that work with a layerId like: SetLayerName, SetLayerEnabled, SetLayerOpacity, SetLayerDimension and SetLayerStyle
30
+ * @param state
31
+ * @param payload
32
+ * @param actionType
33
+ * @returns
34
+ */
35
+ export declare const getLayerActionsTargets: (state: CoreAppStore, payload: LayerActionPayloadsWithLayerIds, actionType: SyncType) => LayerActionPayloadsWithLayerIds[];
36
+ /**
37
+ * These targets are found for the layer/map action AddLayer. AddLayer does not have a layerId (because it's new)
38
+ * @param state
39
+ * @param payload
40
+ * @param actionType
41
+ * @returns
42
+ */
43
+ export declare const getAddLayerActionsTargets: (state: CoreAppStore, payload: AddLayerPayload, actionType: SyncType) => AddLayerPayload[];
44
+ /**
45
+ * These targets are found for the layer/map action DeleteLayer. The layer is already gone, so there is no layerId anymore. Using layerIndex instead.
46
+ * @param state
47
+ * @param payload
48
+ * @param actionType
49
+ * @returns
50
+ */
51
+ export declare const getLayerDeleteActionsTargets: (state: CoreAppStore, payload: DeleteLayerPayload, actionType: SyncType) => DeleteLayerPayload[];
52
+ /**
53
+ * These targets are found for the layer/map action MoveLayer. Here layers are referenced by newIndex and oldIndex.
54
+ * @param state
55
+ * @param payload
56
+ * @param actionType
57
+ * @returns
58
+ */
59
+ export declare const getLayerMoveActionsTargets: (state: CoreAppStore, payload: MoveLayerPayload, actionType: SyncType) => MoveLayerPayload[];
60
+ /**
61
+ * These targets are found for the layer/map action SetActiveLayerId. It needs both a target mapId and layerId
62
+ * @param state
63
+ * @param payload
64
+ * @param actionType
65
+ * @returns
66
+ */
67
+ export declare const getSetActiveLayerIdActionsTargets: (state: CoreAppStore, payload: LayerActionPayloadsWithLayerIds, actionType: SyncType) => LayerActionPayloadsWithLayerIds[];
68
+ /**
69
+ * These targets are found for baselayer actions that work with a mapId like: setBaseLayers
70
+ * @param state
71
+ * @param payload
72
+ * @param actionType
73
+ * @returns
74
+ */
75
+ export declare const getMapBaseLayerActionsTargets: (state: CoreAppStore, payload: SetBaseLayersPayload, actionType: SyncType) => SetBaseLayersPayload[];
76
+ export {};
@@ -0,0 +1,22 @@
1
+ import { MapActionOrigin } from '../mapStore/map/enums';
2
+ import type { AddLayerPayload, DeleteLayerPayload, MoveLayerPayload, SetAutoLayerIdPayload, SetBaseLayersPayload, SetLayerDimensionPayload, SetLayerEnabledPayload, SetLayerNamePayload, SetLayerOpacityPayload, SetLayerStylePayload } from '../mapStore/types';
3
+ export interface SetTimePayload {
4
+ sourceId: string;
5
+ origin: string;
6
+ value: string;
7
+ }
8
+ export interface SetBboxPayload {
9
+ sourceId: string;
10
+ bbox: {
11
+ left: number;
12
+ bottom: number;
13
+ right: number;
14
+ top: number;
15
+ };
16
+ srs: string;
17
+ origin?: MapActionOrigin | string;
18
+ mapId?: string;
19
+ }
20
+ export declare type GenericActionPayload = SetBboxPayload | SetTimePayload;
21
+ export declare type LayerActionPayloadsWithLayerIds = SetLayerOpacityPayload | SetLayerNamePayload | SetLayerEnabledPayload | SetLayerDimensionPayload | SetLayerStylePayload | SetAutoLayerIdPayload;
22
+ export declare type SyncLayerPayloads = LayerActionPayloadsWithLayerIds | AddLayerPayload | MoveLayerPayload | DeleteLayerPayload | SetBaseLayersPayload;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The removeInPlace() method modifies an array in place, by removing elements that pass the test implemented by the provided function.
3
+ *
4
+ * NOTE: This should only be used on draft properties as provided by the immer produce library, as modifying elements in place is bad practice on non draft variables.
5
+ *
6
+ * @param inDraftArray The draft array to filter, will be modified in place.
7
+ * @param condition Function to check each element in the array
8
+ */
9
+ export declare const removeInPlace: <T>(inDraftArray: T[], condition: (c: T) => boolean) => void;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ export * from './mapStore';
2
+ export * from './layerSelect';
3
+ export * from './ui';
4
+ export * from './generic';
5
+ export * from './snackbar';
6
+ export * from './router';
7
+ export * from './app';
8
+ export * from './types';
9
+ export * as storeTestUtils from './mapStore/storeTestUtils';
10
+ export * from './coreModuleConfig';
11
+ export * as storeUtils from './utils';
12
+ export { uiModuleConfig } from './ui/config';
@@ -0,0 +1,5 @@
1
+ import { Egg } from '@redux-eggs/core';
2
+ import { Store } from '@reduxjs/toolkit';
3
+ import { LayerSelectModuleState } from './types';
4
+ declare const layerSelectConfig: Egg<Store<LayerSelectModuleState>>;
5
+ export default layerSelectConfig;
@@ -0,0 +1,4 @@
1
+ export { layerSelectActions, initialState as layerSelectInitialState, } from './reducer';
2
+ export * as layerSelectSelectors from './selectors';
3
+ export * as layerSelectTypes from './types';
4
+ export * from './localStorage';