@opengeoweb/core 4.6.1 → 4.7.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.
Files changed (27) hide show
  1. package/index.esm.js +883 -675
  2. package/index.umd.js +767 -542
  3. package/lib/components/LayerManager/DockedLayerManagerConnect.d.ts +2 -0
  4. package/lib/components/ReactMapView/AdagucMapDraw.d.ts +0 -11
  5. package/lib/components/ReactMapView/AdagucMapDrawTools.d.ts +18 -0
  6. package/lib/components/ReactMapView/ReactMapView.d.ts +1 -2
  7. package/lib/components/ReactMapView/types.d.ts +1 -3
  8. package/lib/components/TimeSlider/TimeSliderButtons/AnimationLengthButton/AnimationLengthButton.d.ts +2 -1
  9. package/lib/components/TimeSlider/TimeSliderButtons/OptionsMenuButton/OptionsMenuButton.d.ts +0 -5
  10. package/lib/components/TimeSlider/TimeSliderButtons/PlayButton/PlayButtonConnect.d.ts +1 -1
  11. package/lib/components/TimeSlider/TimeSliderButtons/TimeSliderMenu/TimeSliderMenu.d.ts +2 -1
  12. package/lib/components/TimeSlider/TimeSliderButtons/TimeStepButton/TimeStepButton.d.ts +1 -1
  13. package/lib/components/TimeSlider/TimeSliderLegend/TimeSliderLegend.d.ts +2 -2
  14. package/lib/components/TimeSlider/TimeSliderUtils.d.ts +7 -3
  15. package/lib/components/TimeSlider/index.d.ts +1 -0
  16. package/lib/hooks/useSetupDialog/useSetupDialog.d.ts +2 -1
  17. package/lib/index.d.ts +10 -10
  18. package/lib/store/mapStore/layers/reducer.d.ts +3 -1
  19. package/lib/store/mapStore/layers/selectors.d.ts +40 -0
  20. package/lib/store/mapStore/layers/types.d.ts +4 -0
  21. package/lib/store/mapStore/map/reducer.d.ts +2 -10
  22. package/lib/store/mapStore/map/sagas.d.ts +0 -5
  23. package/lib/store/mapStore/map/selectors.d.ts +25 -52
  24. package/lib/store/mapStore/map/types.d.ts +0 -23
  25. package/lib/store/mapStore/map/utils.d.ts +5 -4
  26. package/lib/store/ui/types.d.ts +2 -1
  27. package/package.json +7 -6
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Layer } from '../../store/mapStore/types';
3
3
  import { Service } from '../WMSLoader/services';
4
+ import { Source } from '../../store/ui/types';
4
5
  interface DockedLayerManagerConnectProps {
5
6
  mapId: string;
6
7
  preloadedAvailableBaseLayers?: Layer[];
@@ -8,6 +9,7 @@ interface DockedLayerManagerConnectProps {
8
9
  bounds?: string;
9
10
  showTitle?: boolean;
10
11
  leftHeaderComponent?: React.ReactElement;
12
+ source?: Source;
11
13
  }
12
14
  /**
13
15
  * Docked Layer Manager connected to the store displaying the layers for the corresponding map it's included in
@@ -40,17 +40,6 @@ export interface FeatureEvent {
40
40
  isInEditMode: boolean;
41
41
  feature: GeoJsonFeature;
42
42
  }
43
- export interface AdagucMapDrawDrawFunctionArgs {
44
- context: CanvasRenderingContext2D;
45
- featureIndex: number;
46
- coord: Coordinate;
47
- selected: boolean;
48
- isInEditMode: boolean;
49
- feature: GeoJsonFeature;
50
- mouseX: number;
51
- mouseY: number;
52
- isHovered: boolean;
53
- }
54
43
  export interface AdagucMapDrawProps {
55
44
  webmapjs: WMJSMap;
56
45
  geojson: GeoJSON.FeatureCollection;
@@ -7,3 +7,21 @@ export declare type CheckHoverFeaturesResult = {
7
7
  } | null;
8
8
  export declare const distance: (a: Coordinate, b: Coordinate) => number;
9
9
  export declare const checkHoverFeatures: (geojson: GeoJSON.FeatureCollection, mouseX: number, mouseY: number, convertGeoCoordsToScreenCoords: (featureCoords: Position[]) => Coordinate[], ignoreCoordinateIndexInFeature?: boolean | undefined) => CheckHoverFeaturesResult;
10
+ export interface AdagucMapDrawDrawFunctionArgs {
11
+ context: CanvasRenderingContext2D;
12
+ featureIndex: number;
13
+ coord: Coordinate;
14
+ selected: boolean;
15
+ isInEditMode: boolean;
16
+ feature: GeoJsonFeature;
17
+ mouseX: number;
18
+ mouseY: number;
19
+ isHovered: boolean;
20
+ }
21
+ declare type DrawFunction = {
22
+ id: string;
23
+ drawMethod: (args: AdagucMapDrawDrawFunctionArgs) => void;
24
+ };
25
+ export declare const getDrawFunctionFromStore: (id: string) => DrawFunction['drawMethod'] | undefined;
26
+ export declare const registerDrawFunction: (drawFunction?: DrawFunction['drawMethod']) => string;
27
+ export {};
@@ -54,8 +54,7 @@ declare class ReactMapView extends React.Component<ReactMapViewProps, ReactMapVi
54
54
  shouldAutoFetch: boolean;
55
55
  displayMapPin: boolean;
56
56
  disableMapPin: boolean;
57
- onMount: () => void;
58
- onUnMount: () => void;
57
+ onWMJSMount: () => void;
59
58
  onMapChangeDimension: () => void;
60
59
  onUpdateLayerInformation: () => void;
61
60
  onMapZoomEnd: () => void;
@@ -26,11 +26,9 @@ export interface ReactMapViewProps {
26
26
  showLayerInfo?: boolean;
27
27
  disableMapPin?: boolean;
28
28
  services?: Services;
29
- onMount?: (mapId: string, WMJSMapInstance: WMJSMap) => void;
30
- onUnMount?: (mapId: string, WMJSMapInstance: WMJSMap) => void;
29
+ onWMJSMount?: (mapId: string) => void;
31
30
  onMapChangeDimension?: (payload: SetMapDimensionPayload) => void;
32
31
  onMapZoomEnd?: (payload: SetBboxPayload) => void;
33
- onRegisterAdaguc?: (WMJSMapInstance: WMJSMap) => void;
34
32
  onMapPinChangeLocation?: (payload: MapPinLocationPayload) => void;
35
33
  onUpdateLayerInformation?: (payload: UpdateLayerInfoPayload) => void;
36
34
  }
@@ -3,7 +3,8 @@ export declare const title = "Animation";
3
3
  interface AnimationLengthButtonProps {
4
4
  disabled?: boolean;
5
5
  animationLength?: AnimationLength;
6
+ animationLengthInMinutes?: number;
6
7
  onChangeAnimationLength: (length: number) => void;
7
8
  }
8
- declare const AnimationLengthButton: ({ disabled, animationLength, onChangeAnimationLength, }: AnimationLengthButtonProps) => JSX.Element;
9
+ declare const AnimationLengthButton: ({ disabled, animationLength, animationLengthInMinutes, onChangeAnimationLength, }: AnimationLengthButtonProps) => JSX.Element;
9
10
  export default AnimationLengthButton;
@@ -1,5 +1,4 @@
1
1
  import React, { FC } from 'react';
2
- import { Dimension, MapActionOrigin } from '../../../../store/mapStore/types';
3
2
  interface OptionsMenuButtonProps {
4
3
  nowBtn?: React.ReactChild;
5
4
  autoUpdateBtn?: React.ReactChild;
@@ -8,10 +7,6 @@ interface OptionsMenuButtonProps {
8
7
  timeScaleBtn?: React.ReactChild;
9
8
  animationLengthBtn?: React.ReactChild;
10
9
  isOpenByDefault?: boolean;
11
- timeStep?: number;
12
- timeDimension?: Dimension;
13
- onChangeTimeStep?: (scale: number, origin?: MapActionOrigin) => void;
14
- isTimestepAuto?: boolean;
15
10
  }
16
11
  declare const OptionsMenuButton: FC<OptionsMenuButtonProps>;
17
12
  export default OptionsMenuButton;
@@ -16,7 +16,7 @@ export interface PlayButtonConnectProps {
16
16
  declare const connectRedux: import("react-redux").InferableComponentEnhancerWithProps<{
17
17
  animationStartTime: string | undefined;
18
18
  animationEndTime: string | undefined;
19
- timeStep: number | undefined;
19
+ timeStep: number;
20
20
  linkedMapAnimationInfo: {
21
21
  isAnimating: boolean;
22
22
  id: string;
@@ -15,5 +15,6 @@ export interface TimeSliderMenuProps {
15
15
  handleAutoClick?: () => void;
16
16
  isAutoSelected?: boolean;
17
17
  onChangeMouseWheel?: (element: Mark) => void;
18
+ animationLength?: number;
18
19
  }
19
- export declare const TimeSliderMenu: ({ marks, value, isOpenByDefault, handleMenuItemClick, isDisabled, handleAutoClick, isAutoSelected, title, icon, onChangeMouseWheel, }: TimeSliderMenuProps) => JSX.Element;
20
+ export declare const TimeSliderMenu: ({ marks, value, isOpenByDefault, handleMenuItemClick, isDisabled, handleAutoClick, isAutoSelected, title, icon, onChangeMouseWheel, animationLength, }: TimeSliderMenuProps) => JSX.Element;
@@ -4,7 +4,7 @@ export declare const timeStepTitle = "Time step";
4
4
  export interface TimeStepButtonProps {
5
5
  timeStep: number;
6
6
  disabled?: boolean;
7
- isTimestepAuto?: boolean;
7
+ isTimestepAuto: boolean;
8
8
  timeDimension?: Dimension;
9
9
  onChangeTimeStep: (scale: number, origin?: MapActionOrigin) => void;
10
10
  onToggleTimestepAuto?: () => void;
@@ -1,5 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Scale } from '../../../store/mapStore/types';
3
+ export declare const TIME_SLIDER_LEGEND_HEIGHT = 24;
4
+ export declare const DRAG_AREA_WIDTH = 24;
3
5
  export interface TimeSliderLegendProps {
4
6
  mapId: string;
5
7
  centerTime: number;
@@ -23,7 +25,5 @@ export interface TimeSliderLegendProps {
23
25
  onSetAnimationStartTime?: (time: string) => void;
24
26
  onSetAnimationEndTime?: (time: string) => void;
25
27
  }
26
- export declare const DRAG_AREA_WIDTH = 24;
27
28
  declare const TimeSliderLegend: React.FC<TimeSliderLegendProps>;
28
- export declare const TIME_SLIDER_LEGEND_HEIGHT = 24;
29
29
  export default TimeSliderLegend;
@@ -1,6 +1,5 @@
1
1
  import moment from 'moment';
2
2
  import React from 'react';
3
- import { TimeInterval } from '@opengeoweb/webmap';
4
3
  import { Dimension, Layer, Scale, SpeedFactorType } from '../../store/mapStore/types';
5
4
  import CanvasComponent from '../CanvasComponent/CanvasComponent';
6
5
  export declare const millisecondsInSecond = 1000;
@@ -45,8 +44,6 @@ export declare const getPreviousTimeStepvalue: (value: number, min: number) => n
45
44
  export declare const setPreviousTimeStep: (timeStep: number, curTime: string, dataStartTime: number, onSetNewDate: (newDate: string) => void) => void;
46
45
  export declare const setNextTimeStep: (timeStep: number, curTime: string, dataEndTime: number, onSetNewDate: (newDate: string) => void) => void;
47
46
  export declare const getValueFromKeyboardEvent: (event: React.KeyboardEvent<HTMLInputElement>, value: number, min: number, max: number, supportFourDirectionNavigation?: boolean) => number;
48
- export declare const getTimeStepFromDataInterval: (timeInterval: TimeInterval) => number;
49
- export declare const getActiveLayerTimeStep: (timeDimension: Dimension) => number | null;
50
47
  /**
51
48
  * This function calculates a suitable secondsPerpx value,
52
49
  * when a data scale is selected. secondsPerPx is different for every data set
@@ -117,3 +114,10 @@ export declare const getAutoMoveAreaWidth: (scale: Scale) => number;
117
114
  * Used in NowButton and TimeSliderLegend.
118
115
  */
119
116
  export declare const handleSetNowEvent: (timeStep: number, dataStartTime: number, dataEndTime: number, currentTime: number, onSetNewDate: (newDate: string) => void, onSetCenterTime: (newTime: number) => void) => void;
117
+ export declare enum TimeInMinutes {
118
+ YEAR = 525600,
119
+ MONTH = 43800,
120
+ DAY = 1440,
121
+ HOUR = 60
122
+ }
123
+ export declare const minutesToDescribedDuration: (minutes: number) => string;
@@ -1,2 +1,3 @@
1
1
  export { default as TimeSlider } from './TimeSlider';
2
2
  export { default as TimeSliderConnect } from './TimeSliderConnect';
3
+ export * as timeSliderUtils from './TimeSliderUtils';
@@ -1,4 +1,5 @@
1
1
  import type { uiTypes } from '../..';
2
+ import { Source } from '../../store/ui/types';
2
3
  export interface SetupDialogReturnValue {
3
4
  setDialogOrder: () => void;
4
5
  dialogOrder: number;
@@ -8,4 +9,4 @@ export interface SetupDialogReturnValue {
8
9
  uiIsLoading: boolean;
9
10
  uiError: string;
10
11
  }
11
- export declare const useSetupDialog: (dialogType: uiTypes.DialogType) => SetupDialogReturnValue;
12
+ export declare const useSetupDialog: (dialogType: uiTypes.DialogType, source?: Source) => SetupDialogReturnValue;
package/lib/index.d.ts CHANGED
@@ -1,12 +1,13 @@
1
- import { mapSelectors, uiActions, uiSelectors, layerActions, genericActions, snackbarActions } from './store';
1
+ import { mapSelectors, uiActions, uiSelectors, layerActions, genericActions, snackbarActions, layerSelectors } from './store';
2
2
  import * as mapTypes from './store/mapStore/types';
3
+ import * as layerTypes from './store/mapStore/layers/types';
3
4
  import * as mapUtils from './store/mapStore/map/utils';
4
5
  import * as uiTypes from './store/ui/types';
5
6
  import { reducer as layerReducer } from './store/mapStore/layers/reducer';
6
7
  import synchronizationGroupConfig from './store/generic/config';
7
8
  import * as SyncGroups from './store/generic/synchronizationGroups';
8
9
  import coreModuleConfig from './store/coreModuleConfig';
9
- import { LayerManagerConnect, LayerSelectConnect, LayerManagerMapButtonConnect } from './components/LayerManager';
10
+ import { LayerManagerConnect, LayerSelectConnect, LayerManagerMapButtonConnect, DockedLayerManagerConnect } from './components/LayerManager';
10
11
  import { MultiDimensionSelectMapButtonsConnect, MultiMapDimensionSelectConnect } from './components/MultiMapDimensionSelect';
11
12
  export * from './hooks';
12
13
  export * from './components/MultiMapView/MultiMapViewConnect';
@@ -15,7 +16,7 @@ export { MapViewConnect, MapView, MapViewLayer } from './components/MapView';
15
16
  export { ReactMapView, ReactMapViewLayer } from './components/ReactMapView';
16
17
  export { LegendConnect, Legend, LegendMapButtonConnect, } from './components/Legend';
17
18
  export { ZoomControls, ZoomControlConnect } from './components/MapControls';
18
- export { TimeSliderConnect } from './components/TimeSlider';
19
+ export { TimeSliderConnect, timeSliderUtils } from './components/TimeSlider';
19
20
  export { MapControls } from './components/MapControls';
20
21
  export declare const mapActions: {
21
22
  serviceSetLayers: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetLayersForServicePayload, string>;
@@ -36,7 +37,6 @@ export declare const mapActions: {
36
37
  setTimeStep: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetTimeStepPayload, string>;
37
38
  setAnimationStartTime: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetAnimationStartTimePayload, string>;
38
39
  setAnimationEndTime: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetAnimationEndTimePayload, string>;
39
- setSelectedFeature: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetSelectedFeaturePayload, string>;
40
40
  setAnimationDelay: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetAnimationDelayPayload, string>;
41
41
  layerMoveLayer: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.MoveLayerPayload, string>;
42
42
  setActiveLayerId: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetActiveLayerIdPayload, string>;
@@ -52,9 +52,6 @@ export declare const mapActions: {
52
52
  setMapPinLocation: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.MapPinLocationPayload, string>;
53
53
  setDisableMapPin: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.DisableMapPinPayload, string>;
54
54
  toggleMapPinIsVisible: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.ToggleMapPinIsVisiblePayload, string>;
55
- setActiveMapPresetId: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetActiveMapPresetPayload, string>;
56
- setHasMapPresetChanges: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetIsMapPresetHasChangesPayload, string>;
57
- toggleDockedLayerManager: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.ToggleDockedLayerManagedPayload, string>;
58
55
  addLayer: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.AddLayerPayload, string>;
59
56
  layerChangeDimension: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetLayerDimensionPayload, string>;
60
57
  layerChangeEnabled: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetLayerEnabledPayload, string>;
@@ -73,8 +70,9 @@ export declare const mapActions: {
73
70
  addAvailableBaseLayers: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.AddAvailableBaseLayersPayload, string>;
74
71
  setAvailableBaseLayers: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetAvailableBaseLayersPayload, string>;
75
72
  onUpdateLayerInformation: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.UpdateLayerInfoPayload, string>;
73
+ setSelectedFeature: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetSelectedFeaturePayload, string>;
76
74
  };
77
- export { mapSelectors, mapTypes, mapUtils, layerReducer, layerActions, uiActions, uiSelectors, uiTypes, genericActions as syncGroupActions, snackbarActions, };
75
+ export { mapSelectors, mapTypes, mapUtils, layerTypes, layerReducer, layerActions, uiActions, uiSelectors, uiTypes, genericActions as syncGroupActions, snackbarActions, layerSelectors, };
78
76
  export { synchronizationGroupConfig as synchronizationGroupModuleConfig };
79
77
  export * from './components/ComponentsLookUp';
80
78
  export * from './components/ConfigurableMap';
@@ -84,7 +82,7 @@ export { SyncGroups };
84
82
  export { store } from './storybookUtils/store';
85
83
  export * from './types/types';
86
84
  export { coreModuleConfig };
87
- export { LayerManagerConnect, LayerSelectConnect, LayerManagerMapButtonConnect, };
85
+ export { LayerManagerConnect, LayerSelectConnect, LayerManagerMapButtonConnect, DockedLayerManagerConnect, };
88
86
  export { MultiDimensionSelectMapButtonsConnect, MultiMapDimensionSelectConnect, };
89
87
  export * as publicLayers from './utils/publicLayers';
90
88
  export * as publicServices from './utils/publicServices';
@@ -98,4 +96,6 @@ export { default as uiModuleConfig } from './store/ui/config';
98
96
  export { default as mapModuleConfig } from './store/mapStore/config';
99
97
  export { default as synchronizationGroupsConfig } from './store/generic/config';
100
98
  export * from './components/MapWarning/MapWarningProperties';
101
- export type { FeatureEvent, GeoFeatureStyle, AdagucMapDrawDrawFunctionArgs, GeoJsonFeature, } from './components/ReactMapView/AdagucMapDraw';
99
+ export type { FeatureEvent, GeoFeatureStyle, GeoJsonFeature, } from './components/ReactMapView/AdagucMapDraw';
100
+ export type { AdagucMapDrawDrawFunctionArgs } from './components/ReactMapView/AdagucMapDrawTools';
101
+ export { getDrawFunctionFromStore, registerDrawFunction, } from './components/ReactMapView/AdagucMapDrawTools';
@@ -1,5 +1,5 @@
1
1
  import { PayloadAction } from '@reduxjs/toolkit';
2
- import { LayerState, Layer, AddLayerPayload, SetLayerDimensionPayload, SetLayerEnabledPayload, SetLayerOpacityPayload, SetLayerStylePayload, SetLayerNamePayload, SetLayerGeojsonPayload, DeleteLayerPayload, ErrorLayerPayload, SetLayersPayload, SetBaseLayersPayload, AddBaseLayerPayload, SetLayerDimensionsPayload, AddAvailableBaseLayerPayload, AddAvailableBaseLayersPayload, UpdateLayerInfoPayload, SetAvailableBaseLayersPayload } from './types';
2
+ import { LayerState, Layer, AddLayerPayload, SetLayerDimensionPayload, SetLayerEnabledPayload, SetLayerOpacityPayload, SetLayerStylePayload, SetLayerNamePayload, SetLayerGeojsonPayload, DeleteLayerPayload, ErrorLayerPayload, SetLayersPayload, SetBaseLayersPayload, AddBaseLayerPayload, SetLayerDimensionsPayload, AddAvailableBaseLayerPayload, AddAvailableBaseLayersPayload, UpdateLayerInfoPayload, SetAvailableBaseLayersPayload, SetSelectedFeaturePayload } from './types';
3
3
  export declare const createLayer: ({ id, opacity, enabled, layerType, status, ...props }: Layer) => Layer;
4
4
  export declare const initialState: LayerState;
5
5
  export declare const slice: import("@reduxjs/toolkit").Slice<LayerState, {
@@ -21,6 +21,7 @@ export declare const slice: import("@reduxjs/toolkit").Slice<LayerState, {
21
21
  addAvailableBaseLayers: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<AddAvailableBaseLayersPayload>) => void;
22
22
  setAvailableBaseLayers: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<SetAvailableBaseLayersPayload>) => void;
23
23
  onUpdateLayerInformation: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<UpdateLayerInfoPayload>) => LayerState;
24
+ setSelectedFeature: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<SetSelectedFeaturePayload>) => void;
24
25
  }, "layerReducer">;
25
26
  export declare const reducer: import("redux").Reducer<LayerState, import("redux").AnyAction>;
26
27
  export declare const layerActions: import("@reduxjs/toolkit").CaseReducerActions<{
@@ -42,5 +43,6 @@ export declare const layerActions: import("@reduxjs/toolkit").CaseReducerActions
42
43
  addAvailableBaseLayers: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<AddAvailableBaseLayersPayload>) => void;
43
44
  setAvailableBaseLayers: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<SetAvailableBaseLayersPayload>) => void;
44
45
  onUpdateLayerInformation: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<UpdateLayerInfoPayload>) => LayerState;
46
+ setSelectedFeature: (draft: import("immer/dist/internal").WritableDraft<LayerState>, action: PayloadAction<SetSelectedFeaturePayload>) => void;
45
47
  }>;
46
48
  export declare type LayerActions = ReturnType<typeof layerActions.layerSetDimensions> | ReturnType<typeof layerActions.layerChangeStyle> | ReturnType<typeof layerActions.addAvailableBaseLayer> | ReturnType<typeof layerActions.addAvailableBaseLayers> | ReturnType<typeof layerActions.addBaseLayer> | ReturnType<typeof layerActions.addLayer> | ReturnType<typeof layerActions.baseLayerDelete> | ReturnType<typeof layerActions.onUpdateLayerInformation> | ReturnType<typeof layerActions.layerChangeDimension> | ReturnType<typeof layerActions.layerChangeEnabled> | ReturnType<typeof layerActions.layerChangeGeojson> | ReturnType<typeof layerActions.layerChangeName> | ReturnType<typeof layerActions.layerChangeOpacity> | ReturnType<typeof layerActions.layerDelete> | ReturnType<typeof layerActions.layerError> | ReturnType<typeof layerActions.setBaseLayers> | ReturnType<typeof layerActions.setLayers>;
@@ -365,3 +365,43 @@ export declare const getAvailableBaseLayersForMap: ((state: {
365
365
  }> & {
366
366
  clearCache: () => void;
367
367
  };
368
+ /**
369
+ * Returns the selected geojson feature for the given layer
370
+ *
371
+ * Example const selectedFeature = getSelectedFeature(store, 'layerId1')
372
+ * @param {object} store store: object - store object
373
+ * @param {string} mapId layerId: string - Id of the layer
374
+ * @returns {number} selectedFeatureIndex: the index of the selected geojson feature
375
+ */
376
+ export declare const getSelectedFeatureIndex: ((state: {
377
+ syncronizationGroupStore?: import("../../generic/synchronizationGroups/types").SynchronizationGroupState | undefined;
378
+ ui?: import("../../ui/types").UIStoreType | undefined;
379
+ webmap?: import("../types").WebMapState | undefined;
380
+ services?: import("../types").ServiceState | undefined;
381
+ layers?: LayerState | undefined;
382
+ layerSelect?: import("../../layerSelect/types").LayerSelectStoreType | undefined;
383
+ }, params_0: string) => number | undefined) & import("reselect").OutputSelectorFields<(args_0: Layer) => number & {
384
+ clearCache: () => void;
385
+ }> & {
386
+ clearCache: () => void;
387
+ };
388
+ /**
389
+ * Gets layerIds that contain passed dimension
390
+ *
391
+ * Example: dimension = getDimensionLayerIds(store, 'elevation')
392
+ * @param {object} store store: object - object from which the layers state will be extracted
393
+ * @param {string} dimensionName dimensionName: string - name of dimension you want to retrieve the dimension data for
394
+ * @returns {string[]} returnType: string[] - layerIds
395
+ */
396
+ export declare const getDimensionLayerIds: ((state: {
397
+ syncronizationGroupStore?: import("../../generic/synchronizationGroups/types").SynchronizationGroupState | undefined;
398
+ ui?: import("../../ui/types").UIStoreType | undefined;
399
+ webmap?: import("../types").WebMapState | undefined;
400
+ services?: import("../types").ServiceState | undefined;
401
+ layers?: LayerState | undefined;
402
+ layerSelect?: import("../../layerSelect/types").LayerSelectStoreType | undefined;
403
+ }, params_0: string) => string[]) & import("reselect").OutputSelectorFields<((args_0: string[], args_1: Record<string, ReduxLayer> | null, args_2: string) => string[]) & {
404
+ clearCache: () => void;
405
+ }> & {
406
+ clearCache: () => void;
407
+ };
@@ -47,6 +47,7 @@ export interface ReduxLayer {
47
47
  status?: LayerStatus;
48
48
  format?: string;
49
49
  geojson?: FeatureCollection;
50
+ selectedFeatureIndex?: number;
50
51
  }
51
52
  /**
52
53
  * Layer is used to define a layer with all its possible properties.
@@ -161,3 +162,6 @@ export interface UpdateLayerInfo extends Action {
161
162
  type: `layerReducer/onUpdateLayerInformation`;
162
163
  payload: UpdateLayerInfoPayload;
163
164
  }
165
+ export interface SetSelectedFeaturePayload extends LayerPayload {
166
+ selectedFeatureIndex: number;
167
+ }
@@ -1,6 +1,6 @@
1
1
  import { PayloadAction } from '@reduxjs/toolkit';
2
- import { WebMapState, SetActiveLayerIdPayload, SetBboxPayload, SetMapAnimationStartPayload, SetMapAnimationStopPayload, SetTimeSliderScalePayload, SetTimeStepPayload, SetAnimationStartTimePayload, SetAnimationEndTimePayload, SetSelectedFeaturePayload, SetAnimationDelayPayload, MoveLayerPayload, SetTimeSliderCenterTimePayload, SetTimeSliderDataScaleToSecondsPerPxPayload, ToggleAutoUpdatePayload, ToggleTimestepAutoPayload, ToggleTimeSliderHoverPayload, MapPinLocationPayload, DisableMapPinPayload, SetActiveMapPresetPayload, SetTimeSliderSecondsPerPxPayload, UpdateAllMapDimensionsPayload, SetIsMapPresetHasChangesPayload, ToggleTimeSliderIsVisiblePayload } from './types';
3
- import { ToggleMapPinIsVisiblePayload, ToggleZoomControlsPayload, ToggleDockedLayerManagedPayload, SetTimeSliderUnfilteredSelectedTimePayload } from '../types';
2
+ import { WebMapState, SetActiveLayerIdPayload, SetBboxPayload, SetMapAnimationStartPayload, SetMapAnimationStopPayload, SetTimeSliderScalePayload, SetTimeStepPayload, SetAnimationStartTimePayload, SetAnimationEndTimePayload, SetAnimationDelayPayload, MoveLayerPayload, SetTimeSliderCenterTimePayload, SetTimeSliderDataScaleToSecondsPerPxPayload, ToggleAutoUpdatePayload, ToggleTimestepAutoPayload, ToggleTimeSliderHoverPayload, MapPinLocationPayload, DisableMapPinPayload, SetTimeSliderSecondsPerPxPayload, UpdateAllMapDimensionsPayload, ToggleTimeSliderIsVisiblePayload } from './types';
3
+ import { ToggleMapPinIsVisiblePayload, ToggleZoomControlsPayload, SetTimeSliderUnfilteredSelectedTimePayload } from '../types';
4
4
  /**
5
5
  * Checks if the layer id is already taken in one of the maps.
6
6
  * @param state The WebMapState
@@ -30,7 +30,6 @@ export declare const slice: import("@reduxjs/toolkit").Slice<WebMapState, {
30
30
  setTimeStep: (draft: import("immer/dist/internal").WritableDraft<WebMapState>, action: PayloadAction<SetTimeStepPayload>) => void;
31
31
  setAnimationStartTime: (draft: import("immer/dist/internal").WritableDraft<WebMapState>, action: PayloadAction<SetAnimationStartTimePayload>) => void;
32
32
  setAnimationEndTime: (draft: import("immer/dist/internal").WritableDraft<WebMapState>, action: PayloadAction<SetAnimationEndTimePayload>) => void;
33
- setSelectedFeature: (draft: import("immer/dist/internal").WritableDraft<WebMapState>, action: PayloadAction<SetSelectedFeaturePayload>) => void;
34
33
  setAnimationDelay: (draft: import("immer/dist/internal").WritableDraft<WebMapState>, action: PayloadAction<SetAnimationDelayPayload>) => void;
35
34
  layerMoveLayer: (draft: import("immer/dist/internal").WritableDraft<WebMapState>, action: PayloadAction<MoveLayerPayload>) => void;
36
35
  setActiveLayerId: (draft: import("immer/dist/internal").WritableDraft<WebMapState>, action: PayloadAction<SetActiveLayerIdPayload>) => void;
@@ -46,9 +45,6 @@ export declare const slice: import("@reduxjs/toolkit").Slice<WebMapState, {
46
45
  setMapPinLocation: (draft: import("immer/dist/internal").WritableDraft<WebMapState>, action: PayloadAction<MapPinLocationPayload>) => void;
47
46
  setDisableMapPin: (draft: import("immer/dist/internal").WritableDraft<WebMapState>, action: PayloadAction<DisableMapPinPayload>) => void;
48
47
  toggleMapPinIsVisible: (draft: import("immer/dist/internal").WritableDraft<WebMapState>, action: PayloadAction<ToggleMapPinIsVisiblePayload>) => void;
49
- setActiveMapPresetId: (draft: import("immer/dist/internal").WritableDraft<WebMapState>, action: PayloadAction<SetActiveMapPresetPayload>) => void;
50
- setHasMapPresetChanges: (draft: import("immer/dist/internal").WritableDraft<WebMapState>, action: PayloadAction<SetIsMapPresetHasChangesPayload>) => void;
51
- toggleDockedLayerManager: (draft: import("immer/dist/internal").WritableDraft<WebMapState>, action: PayloadAction<ToggleDockedLayerManagedPayload>) => void;
52
48
  }, "mapReducer">;
53
49
  export declare const mapActions: {
54
50
  setMapPreset: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./types").SetMapPresetPayload, string>;
@@ -67,7 +63,6 @@ export declare const mapActions: {
67
63
  setTimeStep: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetTimeStepPayload, string>;
68
64
  setAnimationStartTime: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetAnimationStartTimePayload, string>;
69
65
  setAnimationEndTime: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetAnimationEndTimePayload, string>;
70
- setSelectedFeature: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetSelectedFeaturePayload, string>;
71
66
  setAnimationDelay: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetAnimationDelayPayload, string>;
72
67
  layerMoveLayer: import("@reduxjs/toolkit").ActionCreatorWithPayload<MoveLayerPayload, string>;
73
68
  setActiveLayerId: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetActiveLayerIdPayload, string>;
@@ -83,8 +78,5 @@ export declare const mapActions: {
83
78
  setMapPinLocation: import("@reduxjs/toolkit").ActionCreatorWithPayload<MapPinLocationPayload, string>;
84
79
  setDisableMapPin: import("@reduxjs/toolkit").ActionCreatorWithPayload<DisableMapPinPayload, string>;
85
80
  toggleMapPinIsVisible: import("@reduxjs/toolkit").ActionCreatorWithPayload<ToggleMapPinIsVisiblePayload, string>;
86
- setActiveMapPresetId: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetActiveMapPresetPayload, string>;
87
- setHasMapPresetChanges: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetIsMapPresetHasChangesPayload, string>;
88
- toggleDockedLayerManager: import("@reduxjs/toolkit").ActionCreatorWithPayload<ToggleDockedLayerManagedPayload, string>;
89
81
  };
90
82
  export declare const reducer: import("redux").Reducer<WebMapState, import("redux").AnyAction>;
@@ -3,8 +3,6 @@ import { Moment } from 'moment';
3
3
  import { mapActions } from '.';
4
4
  import { layerActions } from '../layers';
5
5
  import { Layer } from '../layers/types';
6
- import { genericActions } from '../../generic';
7
- import { uiActions } from '../../ui';
8
6
  export declare const generateTimeList: (start: Moment, end: Moment, interval: number) => {
9
7
  name: string;
10
8
  value: string;
@@ -18,9 +16,6 @@ export declare function setLayerDimensionsSaga({ payload, }: ReturnType<typeof l
18
16
  export declare function toggleAutoUpdateSaga({ payload, }: ReturnType<typeof mapActions.toggleAutoUpdate>): SagaIterator;
19
17
  export declare function handleBaseLayersSaga(mapId: string, baseLayers: Layer[]): SagaIterator;
20
18
  export declare function setMapPresetSaga({ payload, }: ReturnType<typeof mapActions.setMapPreset>): SagaIterator;
21
- export declare type SupportedMapPresetChangeActions = ReturnType<typeof layerActions.setBaseLayers> | ReturnType<typeof layerActions.layerDelete> | ReturnType<typeof layerActions.addLayer> | ReturnType<typeof layerActions.layerChangeEnabled> | ReturnType<typeof layerActions.layerChangeName> | ReturnType<typeof layerActions.layerChangeStyle> | ReturnType<typeof layerActions.layerChangeOpacity> | ReturnType<typeof layerActions.layerChangeDimension> | ReturnType<typeof mapActions.layerMoveLayer> | ReturnType<typeof mapActions.setActiveLayerId> | ReturnType<typeof mapActions.toggleAutoUpdate> | ReturnType<typeof mapActions.mapStartAnimation> | ReturnType<typeof mapActions.mapStopAnimation> | ReturnType<typeof mapActions.toggleTimeSliderIsVisible> | ReturnType<typeof mapActions.setTimeStep> | ReturnType<typeof mapActions.setAnimationDelay> | ReturnType<typeof mapActions.toggleTimestepAuto> | ReturnType<typeof uiActions.setActiveMapIdForDialog> | ReturnType<typeof uiActions.setToggleOpenDialog> | ReturnType<typeof genericActions.setBbox>;
22
- export declare const mapPresetChangeActions: (string | import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./types").SetMapAnimationStopPayload, string> | import("@reduxjs/toolkit").ActionCreatorWithPayload<import("../../ui/types").UIToggleDialogPayload, string>)[];
23
- export declare function checkMapPresetForChangesSaga(action: SupportedMapPresetChangeActions): SagaIterator;
24
19
  export declare function unregisterMapSaga({ payload, }: ReturnType<typeof mapActions.unregisterMap>): Generator;
25
20
  export declare function rootSaga(): SagaIterator;
26
21
  export default rootSaga;
@@ -438,6 +438,18 @@ export declare const getMapTimeStep: ((state: {
438
438
  services?: import("../types").ServiceState | undefined;
439
439
  layers?: import("../types").LayerState | undefined;
440
440
  layerSelect?: import("../../layerSelect/types").LayerSelectStoreType | undefined;
441
+ }, params_0: string) => number) & import("reselect").OutputSelectorFields<(args_0: WebMap) => number & {
442
+ clearCache: () => void;
443
+ }> & {
444
+ clearCache: () => void;
445
+ };
446
+ export declare const getMapTimeStepWithoutDefault: ((state: {
447
+ syncronizationGroupStore?: import("../../generic/synchronizationGroups/types").SynchronizationGroupState | undefined;
448
+ ui?: UIStoreType | undefined;
449
+ webmap?: WebMapState | undefined;
450
+ services?: import("../types").ServiceState | undefined;
451
+ layers?: import("../types").LayerState | undefined;
452
+ layerSelect?: import("../../layerSelect/types").LayerSelectStoreType | undefined;
441
453
  }, params_0: string) => number | undefined) & import("reselect").OutputSelectorFields<(args_0: WebMap) => number & {
442
454
  clearCache: () => void;
443
455
  }> & {
@@ -788,7 +800,7 @@ export declare const getDisableMapPin: ((state: {
788
800
  clearCache: () => void;
789
801
  };
790
802
  /**
791
- * Returns the diplay map pin boolean for the current map
803
+ * Returns the display map pin boolean for the current map
792
804
  *
793
805
  * Example getDisplayMapPin(store);
794
806
  * @param {object} store store: object - store object
@@ -807,46 +819,6 @@ export declare const getDisplayMapPin: ((state: {
807
819
  }> & {
808
820
  clearCache: () => void;
809
821
  };
810
- /**
811
- * Returns the selected geojson feature for the given map
812
- *
813
- * Example const selectedFeature = getSelectedFeature(store, 'mapId1')
814
- * @param {object} store store: object - store object
815
- * @param {string} mapId mapId: string - Id of the map
816
- * @returns {number} selectedFeatureIndex: the index of the selected geojson feature
817
- */
818
- export declare const getSelectedFeatureIndex: ((state: {
819
- syncronizationGroupStore?: import("../../generic/synchronizationGroups/types").SynchronizationGroupState | undefined;
820
- ui?: UIStoreType | undefined;
821
- webmap?: WebMapState | undefined;
822
- services?: import("../types").ServiceState | undefined;
823
- layers?: import("../types").LayerState | undefined;
824
- layerSelect?: import("../../layerSelect/types").LayerSelectStoreType | undefined;
825
- }, params_0: string) => number | undefined) & import("reselect").OutputSelectorFields<(args_0: WebMap) => number & {
826
- clearCache: () => void;
827
- }> & {
828
- clearCache: () => void;
829
- };
830
- /**
831
- * Returns the active map preset id
832
- *
833
- * Example getActiveMapPresetId(store, mapId);
834
- * @param {object} store store: object - store object
835
- * @param {string} mapId mapId: string - Id of the map
836
- * @returns {boolean} returnType: boolean or undefined
837
- */
838
- export declare const getActiveMapPresetId: ((state: {
839
- syncronizationGroupStore?: import("../../generic/synchronizationGroups/types").SynchronizationGroupState | undefined;
840
- ui?: UIStoreType | undefined;
841
- webmap?: WebMapState | undefined;
842
- services?: import("../types").ServiceState | undefined;
843
- layers?: import("../types").LayerState | undefined;
844
- layerSelect?: import("../../layerSelect/types").LayerSelectStoreType | undefined;
845
- }, params_0: string) => string | undefined) & import("reselect").OutputSelectorFields<(args_0: WebMap) => string & {
846
- clearCache: () => void;
847
- }> & {
848
- clearCache: () => void;
849
- };
850
822
  /**
851
823
  * Returns the legend id
852
824
  *
@@ -882,47 +854,48 @@ export declare const getMapPreset: ((state: {
882
854
  services?: import("../types").ServiceState | undefined;
883
855
  layers?: import("../types").LayerState | undefined;
884
856
  layerSelect?: import("../../layerSelect/types").LayerSelectStoreType | undefined;
885
- }, params_0: string) => MapPreset) & import("reselect").OutputSelectorFields<((args_0: import("../types").ReduxLayer[], args_1: import("../types").ReduxLayer[], args_2: import("../types").ReduxLayer[], args_3: Bbox, args_4: string, args_5: string | undefined, args_6: boolean, args_7: boolean, args_8: boolean | undefined, args_9: boolean | undefined, args_10: boolean | undefined, args_11: number | undefined, args_12: number | undefined, args_13: boolean | undefined, args_14: string | undefined, args_15: UIStoreType) => MapPreset) & {
857
+ }, params_0: string) => MapPreset) & import("reselect").OutputSelectorFields<((args_0: import("../types").ReduxLayer[], args_1: import("../types").ReduxLayer[], args_2: import("../types").ReduxLayer[], args_3: Bbox, args_4: string, args_5: string | undefined, args_6: boolean, args_7: boolean, args_8: boolean | undefined, args_9: boolean | undefined, args_10: boolean | undefined, args_11: number, args_12: number | undefined, args_13: boolean | undefined, args_14: string | undefined, args_15: UIStoreType) => MapPreset) & {
886
858
  clearCache: () => void;
887
859
  }> & {
888
860
  clearCache: () => void;
889
861
  };
890
862
  /**
891
- * Returns the has changes state of the map preset
863
+ * Gets all enabled layerIds for map
892
864
  *
893
- * Example getHasMapPresetChanges(store, mapId);
894
- * @param {object} store store: object - store object
865
+ * Example: getMapLayerIdsEnabled = getLayerIdsEnabled(store, 'mapId_1')
866
+ * @param {object} store store: object - store
895
867
  * @param {string} mapId mapId: string - Id of the map
896
- * @returns {boolean} returnType: boolean
868
+ * @returns {string[]} returnType: string[] - array of enabled layerIds
897
869
  */
898
- export declare const getHasMapPresetChanges: ((state: {
870
+ export declare const getMapLayerIdsEnabled: ((state: {
899
871
  syncronizationGroupStore?: import("../../generic/synchronizationGroups/types").SynchronizationGroupState | undefined;
900
872
  ui?: UIStoreType | undefined;
901
873
  webmap?: WebMapState | undefined;
902
874
  services?: import("../types").ServiceState | undefined;
903
875
  layers?: import("../types").LayerState | undefined;
904
876
  layerSelect?: import("../../layerSelect/types").LayerSelectStoreType | undefined;
905
- }, params_0: string) => boolean) & import("reselect").OutputSelectorFields<(args_0: WebMap) => boolean & {
877
+ }, params_0: string) => string[]) & import("reselect").OutputSelectorFields<((args_0: string[], args_1: Record<string, import("../types").ReduxLayer> | null) => string[]) & {
906
878
  clearCache: () => void;
907
879
  }> & {
908
880
  clearCache: () => void;
909
881
  };
910
882
  /**
911
- * Returns whether the docked layer manager is open
883
+ * Returns if a map dimension is used for any enabled layers on that map
912
884
  *
913
- * Example getIsDockedLayerManagerOpen(store, mapId);
885
+ * Example getIsEnabledLayersForMapDimension(store, mapId);
914
886
  * @param {object} store store: object - store object
915
887
  * @param {string} mapId mapId: string - Id of the map
888
+ * @param {string} dimensionName dimensionName: string - name of the dimension
916
889
  * @returns {Boolean} returnType: boolean
917
890
  */
918
- export declare const getIsDockedLayerManagerOpen: ((state: {
891
+ export declare const getIsEnabledLayersForMapDimension: ((state: {
919
892
  syncronizationGroupStore?: import("../../generic/synchronizationGroups/types").SynchronizationGroupState | undefined;
920
893
  ui?: UIStoreType | undefined;
921
894
  webmap?: WebMapState | undefined;
922
895
  services?: import("../types").ServiceState | undefined;
923
896
  layers?: import("../types").LayerState | undefined;
924
897
  layerSelect?: import("../../layerSelect/types").LayerSelectStoreType | undefined;
925
- }, params_0: string) => boolean) & import("reselect").OutputSelectorFields<(args_0: WebMap) => boolean & {
898
+ }, params_0: string, params_1: {}) => any) & import("reselect").OutputSelectorFields<((args_0: string[], args_1: string[]) => any) & {
926
899
  clearCache: () => void;
927
900
  }> & {
928
901
  clearCache: () => void;
@@ -11,9 +11,6 @@ export interface Dimension {
11
11
  validSyncSelection?: boolean;
12
12
  values?: string;
13
13
  }
14
- export interface DockedLayerManager {
15
- isOpen: boolean;
16
- }
17
14
  export interface WebMap {
18
15
  id: string;
19
16
  isAnimating: boolean;
@@ -42,11 +39,7 @@ export interface WebMap {
42
39
  mapPinLocation?: MapLocation;
43
40
  disableMapPin?: boolean;
44
41
  displayMapPin?: boolean;
45
- selectedFeatureIndex?: number;
46
- activeMapPresetId?: string;
47
- hasMapPresetChanges?: boolean;
48
42
  legendId?: string;
49
- dockedLayerManager: DockedLayerManager;
50
43
  }
51
44
  export interface WebMapState {
52
45
  byId: Record<string, WebMap>;
@@ -228,23 +221,7 @@ export interface ToggleMapPinIsVisiblePayload {
228
221
  mapId: string;
229
222
  displayMapPin: boolean;
230
223
  }
231
- export interface SetSelectedFeaturePayload {
232
- mapId: string;
233
- selectedFeatureIndex: number;
234
- }
235
224
  export interface SetMapPresetPayload {
236
225
  mapId: string;
237
226
  initialProps: MapPresetInitialProps;
238
227
  }
239
- export interface SetActiveMapPresetPayload {
240
- mapId: string;
241
- presetId: string;
242
- }
243
- export interface SetIsMapPresetHasChangesPayload {
244
- mapId: string;
245
- hasChanges: boolean;
246
- }
247
- export interface ToggleDockedLayerManagedPayload {
248
- mapId: string;
249
- openDockedLayerManager: boolean;
250
- }