@opengeoweb/core 4.4.0 → 4.5.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 (74) hide show
  1. package/index.esm.js +4548 -3662
  2. package/index.umd.js +4489 -3550
  3. package/lib/components/CanvasComponent/CanvasComponent.d.ts +2 -2
  4. package/lib/components/ConfigurableMap/ConfigurableMapConnect.d.ts +1 -0
  5. package/lib/components/LayerManager/BaseLayerRow/BaseLayerRow.d.ts +0 -2
  6. package/lib/components/LayerManager/DescriptionRow/DescriptionRow.d.ts +3 -8
  7. package/lib/components/LayerManager/DockedLayerManagerConnect.d.ts +20 -0
  8. package/lib/components/{TimeSlider/TimeSliderLegend/TimeSliderLegendRenderFunctions.spec.d.ts → LayerManager/DockedLayerManagerConnect.spec.d.ts} +0 -0
  9. package/lib/components/LayerManager/LayerContainerRow/LayerContainerRow.d.ts +0 -2
  10. package/lib/components/LayerManager/LayerContainerRow/LayerRow/ActivateLayer/ActivateLayer.d.ts +1 -0
  11. package/lib/components/LayerManager/LayerContainerRow/LayerRow/EnableLayer/EnableLayerConnect.d.ts +2 -0
  12. package/lib/components/LayerManager/LayerContainerRow/LayerRow/LayerRow.d.ts +1 -2
  13. package/lib/components/LayerManager/LayerContainerRow/LayerRow/LayerRowConnect.d.ts +0 -2
  14. package/lib/components/LayerManager/LayerManager.d.ts +12 -17
  15. package/lib/components/LayerManager/LayerManager.stories.d.ts +40 -0
  16. package/lib/components/LayerManager/LayerManagerConnect.d.ts +1 -2
  17. package/lib/components/LayerManager/LayerManagerHeaderOptions.d.ts +24 -0
  18. package/lib/components/{TimeSlider/TimeSliderRail/TimeSliderRail.spec.d.ts → LayerManager/LayerManagerHeaderOptions.spec.d.ts} +0 -0
  19. package/lib/components/LayerManager/LayerManagerUtils.d.ts +125 -28
  20. package/lib/components/LayerManager/LayerSelect/LayerSelectUtils.d.ts +2 -0
  21. package/lib/components/{TimeSlider/TimeSliderRail/TimeSliderRailConnect.spec.d.ts → LayerManager/LayerSelect/LayerSelectUtils.spec.d.ts} +0 -0
  22. package/lib/components/LayerManager/LayerSelect/ServiceList/ServiceListConnect.d.ts +0 -2
  23. package/lib/components/LayerManager/LayerSelect/ServiceOptionsDialog/ServiceOptionsDialog.d.ts +1 -1
  24. package/lib/components/LayerManager/LayerSelect/ServicePopup/ServicePopup.d.ts +1 -0
  25. package/lib/components/LayerManager/LayerSelect/ServicePopup/utils.d.ts +1 -0
  26. package/lib/components/LayerManager/index.d.ts +2 -0
  27. package/lib/components/TimeSlider/TimeSlider.d.ts +1 -1
  28. package/lib/components/TimeSlider/TimeSliderButtons/ControlButtons/ControlButtons.d.ts +6 -0
  29. package/lib/components/TimeSlider/TimeSliderButtons/ControlButtons/ControlButtonsConnect.d.ts +4 -0
  30. package/lib/components/TimeSlider/TimeSliderButtons/ControlButtons/ControlButtonsConnect.spec.d.ts +1 -0
  31. package/lib/components/TimeSlider/TimeSliderButtons/OptionsMenuButton/OptionsMenu.d.ts +8 -0
  32. package/lib/components/TimeSlider/TimeSliderButtons/OptionsMenuButton/OptionsMenuButton.d.ts +2 -2
  33. package/lib/components/TimeSlider/TimeSliderButtons/OptionsMenuButton/OptionsMenuConnect.d.ts +5 -0
  34. package/lib/components/TimeSlider/TimeSliderButtons/OptionsMenuButton/OptionsMenuConnect.spec.d.ts +1 -0
  35. package/lib/components/TimeSlider/TimeSliderButtons/TimeSliderMenu/TimeSliderMenu.d.ts +2 -1
  36. package/lib/components/TimeSlider/TimeSliderClock/ClockContainer.d.ts +12 -0
  37. package/lib/components/TimeSlider/TimeSliderClock/PopperMenu.d.ts +9 -0
  38. package/lib/components/TimeSlider/TimeSliderClock/TimeSliderClock.d.ts +7 -2
  39. package/lib/components/TimeSlider/TimeSliderClock/TimeSliderClock.spec.d.ts +1 -0
  40. package/lib/components/TimeSlider/TimeSliderClock/TimeSliderClock.stories.d.ts +22 -2
  41. package/lib/components/TimeSlider/TimeSliderCurrentTimeBox/TimeSliderCurrenTimeBox.spec.d.ts +1 -0
  42. package/lib/components/TimeSlider/TimeSliderCurrentTimeBox/TimeSliderCurrentTimeBox.d.ts +15 -0
  43. package/lib/components/TimeSlider/TimeSliderCurrentTimeBox/TimeSliderCurrentTimeBoxConnect.d.ts +32 -0
  44. package/lib/components/TimeSlider/TimeSliderCurrentTimeBox/TimeSliderCurrentTimeBoxConnect.spec.d.ts +1 -0
  45. package/lib/components/TimeSlider/TimeSliderCurrentTimeBox/TimeSliderCurrentTimeBoxMouseEvents.d.ts +2 -0
  46. package/lib/components/TimeSlider/TimeSliderCurrentTimeBox/TimeSliderCurrentTimeBoxMouseEvents.spec.d.ts +1 -0
  47. package/lib/components/TimeSlider/TimeSliderCurrentTimeBox/TimeSliderCurrentTimeBoxRenderFunctions.d.ts +3 -0
  48. package/lib/components/TimeSlider/TimeSliderLegend/TimeSliderLegend.d.ts +3 -0
  49. package/lib/components/TimeSlider/TimeSliderLegend/TimeSliderLegend.stories.d.ts +12 -0
  50. package/lib/components/TimeSlider/TimeSliderLegend/TimeSliderLegendConnect.d.ts +4 -0
  51. package/lib/components/TimeSlider/TimeSliderLegend/TimeSliderLegendUtils.d.ts +21 -0
  52. package/lib/components/TimeSlider/TimeSliderLegend/TimeSliderLegenedUtils.spec.d.ts +1 -0
  53. package/lib/components/TimeSlider/TimeSliderLegend/drawFunctions/drawBackground.d.ts +4 -0
  54. package/lib/components/TimeSlider/TimeSliderLegend/drawFunctions/drawBackground.spec.d.ts +1 -0
  55. package/lib/components/TimeSlider/TimeSliderLegend/drawFunctions/drawCurrentTime.d.ts +2 -0
  56. package/lib/components/TimeSlider/TimeSliderLegend/drawFunctions/drawNeedle.d.ts +2 -0
  57. package/lib/components/TimeSlider/TimeSliderLegend/drawFunctions/drawTimeScale.d.ts +8 -0
  58. package/lib/components/TimeSlider/TimeSliderLegend/drawFunctions/drawTimeScale.spec.d.ts +1 -0
  59. package/lib/components/TimeSlider/TimeSliderLegend/drawFunctions/drawTimeSliderLegend.d.ts +3 -0
  60. package/lib/components/TimeSlider/TimeSliderLegend/drawFunctions/index.d.ts +1 -0
  61. package/lib/components/TimeSlider/TimeSliderUtils.d.ts +2 -2
  62. package/lib/index.d.ts +4 -3
  63. package/lib/store/layerSelect/types.d.ts +5 -1
  64. package/lib/store/mapStore/layers/types.d.ts +3 -1
  65. package/lib/store/mapStore/map/reducer.d.ts +3 -1
  66. package/lib/store/mapStore/map/selectors.d.ts +20 -0
  67. package/lib/store/mapStore/map/types.d.ts +10 -2
  68. package/lib/store/mapStore/map/utils.d.ts +3 -2
  69. package/package.json +6 -6
  70. package/lib/components/TimeSlider/TimeSliderLegend/TimeSliderLegendRenderFunctions.d.ts +0 -5
  71. package/lib/components/TimeSlider/TimeSliderRail/TimeSliderRail.d.ts +0 -23
  72. package/lib/components/TimeSlider/TimeSliderRail/TimeSliderRail.stories.d.ts +0 -13
  73. package/lib/components/TimeSlider/TimeSliderRail/TimeSliderRailConnect.d.ts +0 -46
  74. package/lib/components/TimeSlider/TimeSliderRail/TimeSliderRailRenderFunctions.d.ts +0 -3
@@ -2,7 +2,7 @@ declare const _default: {
2
2
  title: string;
3
3
  };
4
4
  export default _default;
5
- export declare const DemoTimeSliderClockLight: {
5
+ export declare const DemoTimeSliderClockMenuLeftLight: {
6
6
  (): JSX.Element;
7
7
  storyName: string;
8
8
  parameters: {
@@ -12,7 +12,27 @@ export declare const DemoTimeSliderClockLight: {
12
12
  }[];
13
13
  };
14
14
  };
15
- export declare const DemoTimeSliderClockDark: {
15
+ export declare const DemoTimeSliderClockMenuLeftDark: {
16
+ (): JSX.Element;
17
+ storyName: string;
18
+ parameters: {
19
+ zeplinLink: {
20
+ name: string;
21
+ link: string;
22
+ }[];
23
+ };
24
+ };
25
+ export declare const DemoTimeSliderClockMenuBottomLight: {
26
+ (): JSX.Element;
27
+ storyName: string;
28
+ parameters: {
29
+ zeplinLink: {
30
+ name: string;
31
+ link: string;
32
+ }[];
33
+ };
34
+ };
35
+ export declare const DemoTimeSliderClockMenuBottomDark: {
16
36
  (): JSX.Element;
17
37
  storyName: string;
18
38
  parameters: {
@@ -0,0 +1,15 @@
1
+ import moment from 'moment';
2
+ import React from 'react';
3
+ import { Scale } from '../../../store/mapStore/types';
4
+ export interface TimeSliderCurrentTimeBoxProps {
5
+ centerTime: number;
6
+ secondsPerPx: number;
7
+ selectedTime?: moment.Moment;
8
+ scale?: Scale;
9
+ dataStartTime?: number;
10
+ dataEndTime?: number;
11
+ timeStep?: number;
12
+ onSetNewDate?: (newDate: string) => void;
13
+ }
14
+ declare const TimeSliderCurrentTimeBox: React.FC<TimeSliderCurrentTimeBoxProps>;
15
+ export default TimeSliderCurrentTimeBox;
@@ -0,0 +1,32 @@
1
+ import * as React from 'react';
2
+ import { genericActions, mapActions } from '../../../store';
3
+ import { Dimension, Layer, Scale } from '../../../store/mapStore/types';
4
+ interface TimeSliderCurrentTimeBoxConnectComponentProps {
5
+ mapId: string;
6
+ sourceId?: string;
7
+ layers?: Layer[];
8
+ timeStep?: number;
9
+ dimensions?: Dimension[];
10
+ centerTime?: number;
11
+ secondsPerPx?: number;
12
+ scale?: Scale;
13
+ isAnimating?: boolean;
14
+ stopMapAnimation?: typeof mapActions.mapStopAnimation;
15
+ setTime?: typeof genericActions.setTime;
16
+ }
17
+ declare const TimeSliderCurrentTimeBoxConnect: import("react-redux").ConnectedComponent<React.FC<TimeSliderCurrentTimeBoxConnectComponentProps>, {
18
+ mapId: string;
19
+ sourceId?: string | undefined;
20
+ layers?: Layer[] | undefined;
21
+ timeStep?: number | undefined;
22
+ dimensions?: Dimension[] | undefined;
23
+ centerTime?: number | undefined;
24
+ secondsPerPx?: number | undefined;
25
+ scale?: Scale | undefined;
26
+ isAnimating?: boolean | undefined;
27
+ stopMapAnimation?: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("../../../store/mapStore/types").SetMapAnimationStopPayload, string> | undefined;
28
+ setTime?: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("../../../store/generic/types").SetTimePayload, string> | undefined;
29
+ context?: React.Context<import("react-redux").ReactReduxContextValue<any, import("redux").AnyAction>> | undefined;
30
+ store?: import("redux").Store<any, import("redux").AnyAction> | undefined;
31
+ }>;
32
+ export default TimeSliderCurrentTimeBoxConnect;
@@ -0,0 +1,2 @@
1
+ export declare const onMouseMove: (x: number, width: number, selectedTime: moment.Moment, centerTime: number, secondsPerPx: number, mouseDownInTimeBox: boolean, isTimeBoxArea: (location: number, timePx: number) => boolean, setCursorStyle: (style: string) => void) => void;
2
+ export declare const onMouseDown: (x: number, width: number, selectedTime: moment.Moment, centerTime: number, secondsPerPx: number, isTimeBoxArea: (location: number, timePx: number) => boolean, setCursorStyle: (style: string) => void, setMouseDownInTimeBox: (dragging: boolean) => void) => void;
@@ -0,0 +1,3 @@
1
+ import { Theme } from '@mui/material';
2
+ import { Scale } from '../../../store/mapStore/types';
3
+ export declare const renderTimeSliderCurrentTimeBox: (ctx: CanvasRenderingContext2D, theme: Theme, width: number, height: number, centerTime: number, selected: number, secondsPerPx: number, scale: Scale) => void;
@@ -17,7 +17,10 @@ export interface TimeSliderLegendProps {
17
17
  onSetNewDate?: (newDate: string) => void;
18
18
  onSetCenterTime?: (newTime: number) => void;
19
19
  onZoom?: (newSecondsPerPx: number, newCenterTime: number) => void;
20
+ onSetAnimationStartTime?: (time: string) => void;
21
+ onSetAnimationEndTime?: (time: string) => void;
20
22
  }
23
+ export declare const DRAG_AREA_WIDTH = 24;
21
24
  declare const TimeSliderLegend: React.FC<TimeSliderLegendProps>;
22
25
  export declare const TIME_SLIDER_LEGEND_HEIGHT = 24;
23
26
  export default TimeSliderLegend;
@@ -6,8 +6,20 @@ export default _default;
6
6
  export declare const TimeSliderLegendDemoLight: {
7
7
  (): React.ReactElement;
8
8
  storyName: string;
9
+ parameters: {
10
+ zeplinLink: {
11
+ name: string;
12
+ link: string;
13
+ }[];
14
+ };
9
15
  };
10
16
  export declare const TimeSliderLegendDemoDark: {
11
17
  (): React.ReactElement;
12
18
  storyName: string;
19
+ parameters: {
20
+ zeplinLink: {
21
+ name: string;
22
+ link: string;
23
+ }[];
24
+ };
13
25
  };
@@ -20,6 +20,8 @@ interface TimeSliderLegendConnectProps {
20
20
  setTime?: typeof genericActions.setTime;
21
21
  mapSetTimeSliderCenterTime?: typeof mapActions.setTimeSliderCenterTime;
22
22
  mapSetTimeSliderSecondsPerPx?: typeof mapActions.setTimeSliderSecondsPerPx;
23
+ setAnimationStartTime?: typeof mapActions.setAnimationStartTime;
24
+ setAnimationEndTime?: typeof mapActions.setAnimationEndTime;
23
25
  }
24
26
  declare const _default: import("react-redux").ConnectedComponent<React.FC<TimeSliderLegendConnectProps>, {
25
27
  sourceId?: string | undefined;
@@ -40,6 +42,8 @@ declare const _default: import("react-redux").ConnectedComponent<React.FC<TimeSl
40
42
  setTime?: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("../../../store/generic/types").SetTimePayload, string> | undefined;
41
43
  mapSetTimeSliderCenterTime?: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("../../../store/mapStore/types").SetTimeSliderCenterTimePayload, string> | undefined;
42
44
  mapSetTimeSliderSecondsPerPx?: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("../../../store/mapStore/types").SetTimeSliderSecondsPerPxPayload, string> | undefined;
45
+ setAnimationStartTime?: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("../../../store/mapStore/types").SetAnimationStartTimePayload, string> | undefined;
46
+ setAnimationEndTime?: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("../../../store/mapStore/types").SetAnimationEndTimePayload, string> | undefined;
43
47
  context?: React.Context<import("react-redux").ReactReduxContextValue<any, import("redux").AnyAction>> | undefined;
44
48
  store?: import("redux").Store<any, import("redux").AnyAction> | undefined;
45
49
  }>;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @param x The pin location
3
+ * @param selectedTimePx The selected px
4
+ * @param width The default width of a hoverable icon (usually 24px)
5
+ * @returns
6
+ */
7
+ export declare const isSelectedTimeIconArea: (x: number, selectedTimePx: number, width: number) => boolean;
8
+ /**
9
+ * @param x The pin location
10
+ * @param selectedTimePx The selected px
11
+ * @param width The default width of a hoverable icon (usually 24px)
12
+ * @returns
13
+ */
14
+ export declare const isRightAnimationIconArea: (x: number, rightMarkerPx: number, width: number) => boolean;
15
+ /**
16
+ * @param x The pin location
17
+ * @param selectedTimePx The selected px
18
+ * @param width The default width of a hoverable icon (usually 24px)
19
+ * @returns
20
+ */
21
+ export declare const isLeftAnimationIconArea: (x: number, leftMarkerPx: number, width: number) => boolean;
@@ -0,0 +1,4 @@
1
+ import { Theme } from '@mui/material';
2
+ import { Scale } from '../../../../store/mapStore/types';
3
+ export declare const drawBackground: (context: CanvasRenderingContext2D, theme: Theme, visibleTimeStart: number, visibleTimeEnd: number, animationStartPx: number, animationEndPx: number, canvasWidth: number, height: number, scale: Scale, dataStartPx: number, dataEndPx: number, currentTimePx: number) => void;
4
+ export declare function getColorChangeTimesteps(scale: Scale, visibleTimeStart: number, visibleTimeEnd: number): number[];
@@ -0,0 +1,2 @@
1
+ import { Theme } from '@mui/material';
2
+ export declare const drawCurrentTime: (context: CanvasRenderingContext2D, theme: Theme, width: number, height: number, startTime: number, endTime: number, currentTime: number) => void;
@@ -0,0 +1,2 @@
1
+ import { Theme } from '@mui/material';
2
+ export declare const drawNeedle: (context: CanvasRenderingContext2D, theme: Theme, width: number, height: number, startTime: number, endTime: number, selectedTime: number) => void;
@@ -0,0 +1,8 @@
1
+ import { Theme } from '@mui/material';
2
+ import moment from 'moment';
3
+ import { Scale } from '../../../../store/mapStore/types';
4
+ export declare const roundByUnitOfTime: (timeUnix: number, scaleType: moment.unitOfTime.StartOf, roundUp?: boolean, nightTime?: boolean) => number;
5
+ export declare const getRoundedStartAndEnd: (visibleTimeStart: number, visibleTimeEnd: number, scale: Scale) => [number, number];
6
+ export declare const getCustomRoundedStartAndEnd: (visibleTimeStart: number, visibleTimeEnd: number, unit: string, nightTime?: boolean) => [number, number];
7
+ export declare const getCustomTimesteps: (roundedStart: number, roundedEnd: number, increment: string, nightTime?: boolean) => number[];
8
+ export declare const drawTimeScale: (context: CanvasRenderingContext2D, theme: Theme, visibleTimeStart: number, visibleTimeEnd: number, canvasWidth: number, height: number, scale: Scale, dataScaleToSecondsPerPx: number) => void;
@@ -0,0 +1,3 @@
1
+ import { Theme } from '@mui/material';
2
+ import { Scale } from '../../../../store/mapStore/types';
3
+ export declare const drawTimeSliderLegend: (context: CanvasRenderingContext2D, theme: Theme, canvasWidth: number, height: number, centerTime: number, secondsPerPx: number, dataScaleToSecondsPerPx: number, selectedTimeUnix: number, scale: Scale, currentTimeUnix: number, animationStartTime: number, animationEndTime: number, dataStartTime: number, dataEndTime: number) => void;
@@ -0,0 +1 @@
1
+ export { drawTimeSliderLegend } from './drawTimeSliderLegend';
@@ -1,6 +1,6 @@
1
1
  import moment from 'moment';
2
2
  import React from 'react';
3
- import { DateInterval } from '@opengeoweb/webmap';
3
+ import { TimeInterval } from '@opengeoweb/webmap';
4
4
  import { Dimension, Layer, Scale, SpeedFactorType } from '../../store/mapStore/types';
5
5
  import CanvasComponent from '../CanvasComponent/CanvasComponent';
6
6
  export declare const millisecondsInSecond = 1000;
@@ -45,7 +45,7 @@ export declare const getPreviousTimeStepvalue: (value: number, min: number) => n
45
45
  export declare const setPreviousTimeStep: (timeStep: number, curTime: string, dataStartTime: number, onSetNewDate: (newDate: string) => void) => void;
46
46
  export declare const setNextTimeStep: (timeStep: number, curTime: string, dataEndTime: number, onSetNewDate: (newDate: string) => void) => void;
47
47
  export declare const getValueFromKeyboardEvent: (event: React.KeyboardEvent<HTMLInputElement>, value: number, min: number, max: number, supportFourDirectionNavigation?: boolean) => number;
48
- export declare const getTimeStepFromDataInterval: (timeInterval: DateInterval) => number;
48
+ export declare const getTimeStepFromDataInterval: (timeInterval: TimeInterval) => number;
49
49
  export declare const getActiveLayerTimeStep: (timeDimension: Dimension) => number | null;
50
50
  /**
51
51
  * This function calculates a suitable secondsPerpx value,
package/lib/index.d.ts CHANGED
@@ -6,7 +6,7 @@ import { reducer as layerReducer } from './store/mapStore/layers/reducer';
6
6
  import synchronizationGroupConfig from './store/generic/config';
7
7
  import * as SyncGroups from './store/generic/synchronizationGroups';
8
8
  import coreModuleConfig from './store/coreModuleConfig';
9
- import { LayerManagerConnect, LayerManagerMapButtonConnect } from './components/LayerManager';
9
+ import { LayerManagerConnect, LayerSelectConnect, LayerManagerMapButtonConnect } from './components/LayerManager';
10
10
  import { MultiDimensionSelectMapButtonsConnect, MultiMapDimensionSelectConnect } from './components/MultiMapDimensionSelect';
11
11
  export * from './hooks';
12
12
  export * from './components/MultiMapView/MultiMapViewConnect';
@@ -56,6 +56,7 @@ export declare const mapActions: {
56
56
  setIsMapPresetLoading: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetIsMapPresetLoadingPayload, string>;
57
57
  setHasMapPresetChanges: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetIsMapPresetHasChangesPayload, string>;
58
58
  setMapPresetError: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetMapPresetErrorPayload, string>;
59
+ toggleDockedLayerManager: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.ToggleDockedLayerManagedPayload, string>;
59
60
  addLayer: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.AddLayerPayload, string>;
60
61
  layerChangeDimension: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetLayerDimensionPayload, string>;
61
62
  layerChangeEnabled: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetLayerEnabledPayload, string>;
@@ -72,7 +73,7 @@ export declare const mapActions: {
72
73
  layerSetDimensions: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetLayerDimensionsPayload, string>;
73
74
  addAvailableBaseLayer: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.AddAvailableBaseLayerPayload, string>;
74
75
  addAvailableBaseLayers: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.AddAvailableBaseLayersPayload, string>;
75
- setAvailableBaseLayers: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.AddAvailableBaseLayersPayload, string>;
76
+ setAvailableBaseLayers: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.SetAvailableBaseLayersPayload, string>;
76
77
  onUpdateLayerInformation: import("@reduxjs/toolkit").ActionCreatorWithPayload<mapTypes.UpdateLayerInfoPayload, string>;
77
78
  };
78
79
  export { mapSelectors, mapTypes, mapUtils, layerReducer, layerActions, uiActions, uiSelectors, uiTypes, genericActions as syncGroupActions, snackbarActions, };
@@ -85,7 +86,7 @@ export { SyncGroups };
85
86
  export { store } from './storybookUtils/store';
86
87
  export * from './types/types';
87
88
  export { coreModuleConfig };
88
- export { LayerManagerConnect, LayerManagerMapButtonConnect };
89
+ export { LayerManagerConnect, LayerSelectConnect, LayerManagerMapButtonConnect, };
89
90
  export { MultiDimensionSelectMapButtonsConnect, MultiMapDimensionSelectConnect, };
90
91
  export * as publicLayers from './utils/publicLayers';
91
92
  export * as publicServices from './utils/publicServices';
@@ -18,13 +18,17 @@ export interface ActiveServiceType {
18
18
  byId: ActiveServices;
19
19
  allIds: string[];
20
20
  }
21
+ export declare enum FilterType {
22
+ Keyword = "keywords",
23
+ Group = "groups"
24
+ }
21
25
  export interface Filter {
22
26
  id: string;
23
27
  name: string;
24
28
  amount?: number;
25
29
  amountVisible?: number;
26
30
  checked?: boolean;
27
- type: 'keyword' | 'group';
31
+ type: FilterType;
28
32
  }
29
33
  export interface FiltersById {
30
34
  [key: string]: Filter;
@@ -144,7 +144,9 @@ export interface AddAvailableBaseLayersPayload {
144
144
  layers: ReduxLayer[];
145
145
  origin?: string;
146
146
  }
147
- export declare type SetAvailableBaseLayersPayload = AddAvailableBaseLayersPayload;
147
+ export interface SetAvailableBaseLayersPayload extends AddAvailableBaseLayersPayload {
148
+ mapId: string;
149
+ }
148
150
  export interface ErrorLayerPayload extends LayerPayload {
149
151
  error: Error;
150
152
  }
@@ -1,6 +1,6 @@
1
1
  import { PayloadAction } from '@reduxjs/toolkit';
2
2
  import { WebMapState, SetActiveLayerIdPayload, SetBboxPayload, SetMapAnimationStartPayload, SetMapAnimationStopPayload, SetTimeSliderScalePayload, SetTimeStepPayload, SetAnimationStartTimePayload, SetAnimationEndTimePayload, SetSelectedFeaturePayload, SetAnimationDelayPayload, MoveLayerPayload, SetTimeSliderCenterTimePayload, SetTimeSliderDataScaleToSecondsPerPxPayload, ToggleAutoUpdatePayload, ToggleTimestepAutoPayload, ToggleTimeSliderHoverPayload, MapPinLocationPayload, DisableMapPinPayload, SetActiveMapPresetPayload, SetTimeSliderSecondsPerPxPayload, UpdateAllMapDimensionsPayload, SetIsMapPresetLoadingPayload, SetIsMapPresetHasChangesPayload, SetMapPresetErrorPayload, ToggleTimeSliderIsVisiblePayload, SetAnimationIntervalPayload } from './types';
3
- import { ToggleMapPinIsVisiblePayload, ToggleZoomControlsPayload } from '../types';
3
+ import { ToggleMapPinIsVisiblePayload, ToggleZoomControlsPayload, ToggleDockedLayerManagedPayload } 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
@@ -50,6 +50,7 @@ export declare const slice: import("@reduxjs/toolkit").Slice<WebMapState, {
50
50
  setIsMapPresetLoading: (draft: import("immer/dist/internal").WritableDraft<WebMapState>, action: PayloadAction<SetIsMapPresetLoadingPayload>) => void;
51
51
  setHasMapPresetChanges: (draft: import("immer/dist/internal").WritableDraft<WebMapState>, action: PayloadAction<SetIsMapPresetHasChangesPayload>) => void;
52
52
  setMapPresetError: (draft: import("immer/dist/internal").WritableDraft<WebMapState>, action: PayloadAction<SetMapPresetErrorPayload>) => void;
53
+ toggleDockedLayerManager: (draft: import("immer/dist/internal").WritableDraft<WebMapState>, action: PayloadAction<ToggleDockedLayerManagedPayload>) => void;
53
54
  }, "mapReducer">;
54
55
  export declare const mapActions: {
55
56
  setMapPreset: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./types").SetMapPresetPayload, string>;
@@ -88,5 +89,6 @@ export declare const mapActions: {
88
89
  setIsMapPresetLoading: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetIsMapPresetLoadingPayload, string>;
89
90
  setHasMapPresetChanges: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetIsMapPresetHasChangesPayload, string>;
90
91
  setMapPresetError: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetMapPresetErrorPayload, string>;
92
+ toggleDockedLayerManager: import("@reduxjs/toolkit").ActionCreatorWithPayload<ToggleDockedLayerManagedPayload, string>;
91
93
  };
92
94
  export declare const reducer: import("redux").Reducer<WebMapState, import("redux").AnyAction>;
@@ -926,3 +926,23 @@ export declare const getMapPresetError: ((state: {
926
926
  }> & {
927
927
  clearCache: () => void;
928
928
  };
929
+ /**
930
+ * Returns whether the docked layer manager is open
931
+ *
932
+ * Example getIsDockedLayerManagerOpen(store, mapId);
933
+ * @param {object} store store: object - store object
934
+ * @param {string} mapId mapId: string - Id of the map
935
+ * @returns {Boolean} returnType: boolean
936
+ */
937
+ export declare const getIsDockedLayerManagerOpen: ((state: {
938
+ syncronizationGroupStore?: import("../../generic/synchronizationGroups/types").SynchronizationGroupState | undefined;
939
+ ui?: UIStoreType | undefined;
940
+ webmap?: WebMapState | undefined;
941
+ services?: import("../types").ServiceState | undefined;
942
+ layers?: import("../types").LayerState | undefined;
943
+ layerSelect?: import("../../layerSelect/types").LayerSelectStoreType | undefined;
944
+ }, params_0: string) => boolean) & import("reselect").OutputSelectorFields<(args_0: WebMap) => boolean & {
945
+ clearCache: () => void;
946
+ }> & {
947
+ clearCache: () => void;
948
+ };
@@ -1,4 +1,4 @@
1
- import { DateInterval } from '@opengeoweb/webmap';
1
+ import { TimeInterval } from '@opengeoweb/webmap';
2
2
  import type { Layer, LayerActionOrigin } from '../types';
3
3
  export interface Dimension {
4
4
  name?: string;
@@ -6,11 +6,14 @@ export interface Dimension {
6
6
  currentValue: string;
7
7
  maxValue?: string;
8
8
  minValue?: string;
9
- timeInterval?: DateInterval;
9
+ timeInterval?: TimeInterval;
10
10
  synced?: boolean;
11
11
  validSyncSelection?: boolean;
12
12
  values?: string;
13
13
  }
14
+ export interface DockedLayerManager {
15
+ isOpen: boolean;
16
+ }
14
17
  export interface WebMap {
15
18
  id: string;
16
19
  isAnimating: boolean;
@@ -44,6 +47,7 @@ export interface WebMap {
44
47
  hasMapPresetChanges?: boolean;
45
48
  mapPresetError?: string;
46
49
  legendId?: string;
50
+ dockedLayerManager: DockedLayerManager;
47
51
  }
48
52
  export interface WebMapState {
49
53
  byId: Record<string, WebMap>;
@@ -239,3 +243,7 @@ export interface SetMapPresetErrorPayload {
239
243
  mapId: string;
240
244
  error: string;
241
245
  }
246
+ export interface ToggleDockedLayerManagedPayload {
247
+ mapId: string;
248
+ openDockedLayerManager: boolean;
249
+ }
@@ -1,5 +1,5 @@
1
1
  import { Bbox, Dimension, Scale } from './types';
2
- import { WebMapState, WebMap } from '../types';
2
+ import { WebMapState, WebMap, DockedLayerManager } from '../types';
3
3
  import { Layer } from '../layers/types';
4
4
  interface CreateMapProps {
5
5
  id: string;
@@ -28,8 +28,9 @@ interface CreateMapProps {
28
28
  displayMapPin?: boolean;
29
29
  disableMapPin?: boolean;
30
30
  shouldShowZoomControls?: boolean;
31
+ dockedLayerManager?: DockedLayerManager;
31
32
  }
32
- export declare const createMap: ({ id, isAnimating, animationStartTime, animationEndTime, isAutoUpdating, bbox, srs, baseLayers, overLayers, mapLayers, featureLayers, dimensions, activeLayerId, timeSliderScale, timeStep, animationDelay, timeSliderCenterTime, timeSliderSecondsPerPx, timeSliderDataScaleToSecondsPerPx, isTimestepAuto, isTimeSliderHoverOn, isTimeSliderVisible, activeMapPresetId, displayMapPin, disableMapPin, shouldShowZoomControls, }: CreateMapProps) => WebMap;
33
+ export declare const createMap: ({ id, isAnimating, animationStartTime, animationEndTime, isAutoUpdating, bbox, srs, baseLayers, overLayers, mapLayers, featureLayers, dimensions, activeLayerId, timeSliderScale, timeStep, animationDelay, timeSliderCenterTime, timeSliderSecondsPerPx, timeSliderDataScaleToSecondsPerPx, isTimestepAuto, isTimeSliderHoverOn, isTimeSliderVisible, activeMapPresetId, displayMapPin, disableMapPin, shouldShowZoomControls, dockedLayerManager, }: CreateMapProps) => WebMap;
33
34
  export declare const checkValidLayersPayload: (layers: Layer[], mapId: string) => boolean;
34
35
  /**
35
36
  * This will get the map from the map draftstate.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/core",
3
- "version": "4.4.0",
3
+ "version": "4.5.0",
4
4
  "description": "GeoWeb Core library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -13,22 +13,22 @@
13
13
  "dependencies": {},
14
14
  "peerDependencies": {
15
15
  "react": "^17.0.2",
16
- "@opengeoweb/theme": "4.4.0",
16
+ "@opengeoweb/theme": "4.5.0",
17
17
  "@mui/material": "^5.10.8",
18
18
  "moment": "^2.29.0",
19
19
  "react-redux": "^8.0.4",
20
20
  "react-intl": "^5.17.5",
21
- "lodash": "^4.17.20",
22
- "@opengeoweb/shared": "4.4.0",
21
+ "@opengeoweb/shared": "4.5.0",
23
22
  "react-draggable": "^4.4.5",
24
23
  "re-resizable": "^6.9.0",
25
24
  "@redux-eggs/core": "^2.2.0",
26
- "@opengeoweb/form-fields": "4.4.0",
25
+ "@opengeoweb/form-fields": "4.5.0",
27
26
  "react-hook-form": "^6.12.1",
28
27
  "moment-timezone": "^0.5.31",
29
28
  "@mui/x-date-pickers": "^5.0.4",
29
+ "lodash": "^4.17.20",
30
30
  "axios": "^0.25.0",
31
- "@opengeoweb/webmap": "4.4.0",
31
+ "@opengeoweb/webmap": "4.5.0",
32
32
  "throttle-debounce": "^3.0.1",
33
33
  "proj4": "^2.6.2",
34
34
  "react-sortablejs": "^6.1.4",
@@ -1,5 +0,0 @@
1
- import { Theme } from '@mui/material';
2
- import { Scale } from '../../../store/mapStore/types';
3
- export declare const getRoundedStartAndEnd: (visibleTimeStart: number, visibleTimeEnd: number, scale: Scale) => [number, number];
4
- export declare const getCustomRoundedStartAndEnd: (visibleTimeStart: number, visibleTimeEnd: number, unit: string) => [number, number];
5
- export declare const renderTimeSliderLegend: (context: CanvasRenderingContext2D, theme: Theme, canvasWidth: number, height: number, centerTime: number, secondsPerPx: number, dataScaleToSecondsPerPx: number, selectedTimeUnix: number, scale: Scale, currentTimeUnix: number, animationStartTime: number, animationEndTime: number, dataStartTime: number, dataEndTime: number) => void;
@@ -1,23 +0,0 @@
1
- import * as React from 'react';
2
- import moment from 'moment';
3
- import { Scale } from '../../../store/mapStore/types';
4
- export interface TimeSliderRailProps {
5
- centerTime: number;
6
- secondsPerPx: number;
7
- selectedTime?: moment.Moment;
8
- timeStep?: number;
9
- animationStartTime?: string;
10
- animationEndTime?: string;
11
- currentTime?: number;
12
- dataStartTime?: number;
13
- dataEndTime?: number;
14
- isTimeSliderHoverOn?: boolean;
15
- scale?: Scale;
16
- mapIsActive: boolean;
17
- onSetAnimationStartTime?: (time: string) => void;
18
- onSetAnimationEndTime?: (time: string) => void;
19
- onSetNewDate?: (newDate: string) => void;
20
- onSetCenterTime?: (newTime: number) => void;
21
- }
22
- declare const TimeSliderRail: React.FC<TimeSliderRailProps>;
23
- export default TimeSliderRail;
@@ -1,13 +0,0 @@
1
- import * as React from 'react';
2
- declare const _default: {
3
- title: string;
4
- };
5
- export default _default;
6
- export declare const TimeSliderRailDisplayLight: {
7
- (): React.ReactElement;
8
- storyName: string;
9
- };
10
- export declare const TimeSliderRailDisplayDark: {
11
- (): React.ReactElement;
12
- storyName: string;
13
- };
@@ -1,46 +0,0 @@
1
- import * as React from 'react';
2
- import { mapActions, genericActions } from '../../../store';
3
- import { Dimension, Layer, Scale } from '../../../store/mapStore/types';
4
- interface TimeSliderRailConnectComponentProps {
5
- sourceId: string;
6
- mapId: string;
7
- dimensions?: Dimension[];
8
- timeStep?: number;
9
- layers?: Layer[];
10
- animationStartTime?: string;
11
- animationEndTime?: string;
12
- isAnimating?: boolean;
13
- centerTime?: number;
14
- secondsPerPx?: number;
15
- isTimeSliderHoverOn?: boolean;
16
- scale?: Scale;
17
- activeWindowId?: string;
18
- setAnimationStartTime?: typeof mapActions.setAnimationStartTime;
19
- setAnimationEndTime?: typeof mapActions.setAnimationEndTime;
20
- stopMapAnimation?: typeof mapActions.mapStopAnimation;
21
- setTime?: typeof genericActions.setTime;
22
- mapSetTimeSliderCenterTime?: typeof mapActions.setTimeSliderCenterTime;
23
- }
24
- declare const TimeSliderRailConnect: import("react-redux").ConnectedComponent<React.FC<TimeSliderRailConnectComponentProps>, {
25
- sourceId: string;
26
- mapId: string;
27
- dimensions?: Dimension[] | undefined;
28
- timeStep?: number | undefined;
29
- layers?: Layer[] | undefined;
30
- animationStartTime?: string | undefined;
31
- animationEndTime?: string | undefined;
32
- isAnimating?: boolean | undefined;
33
- centerTime?: number | undefined;
34
- secondsPerPx?: number | undefined;
35
- isTimeSliderHoverOn?: boolean | undefined;
36
- scale?: Scale | undefined;
37
- activeWindowId?: string | undefined;
38
- setAnimationStartTime?: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("../../../store/mapStore/types").SetAnimationStartTimePayload, string> | undefined;
39
- setAnimationEndTime?: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("../../../store/mapStore/types").SetAnimationEndTimePayload, string> | undefined;
40
- stopMapAnimation?: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("../../../store/mapStore/types").SetMapAnimationStopPayload, string> | undefined;
41
- setTime?: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("../../../store/generic/types").SetTimePayload, string> | undefined;
42
- mapSetTimeSliderCenterTime?: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("../../../store/mapStore/types").SetTimeSliderCenterTimePayload, string> | undefined;
43
- context?: React.Context<import("react-redux").ReactReduxContextValue<any, import("redux").AnyAction>> | undefined;
44
- store?: import("redux").Store<any, import("redux").AnyAction> | undefined;
45
- }>;
46
- export default TimeSliderRailConnect;
@@ -1,3 +0,0 @@
1
- import { Theme } from '@mui/material';
2
- import { Scale } from '../../../store/mapStore/types';
3
- export declare const renderTimeSliderRailWithNeedle: (ctx: CanvasRenderingContext2D, theme: Theme, width: number, height: number, centerTime: number, selected: number, secondsPerPx: number, scale: Scale, animationStart?: number | undefined, animationEnd?: number | undefined, dataStartTime?: number | undefined, dataEndTime?: number | undefined, currentTime?: number | undefined) => void;