@opengeoweb/core 4.6.0 → 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 (47) hide show
  1. package/index.esm.js +1522 -843
  2. package/index.umd.js +1383 -663
  3. package/lib/components/ConfigurableMap/ConfigurableMapConnect.d.ts +1 -0
  4. package/lib/components/FeatureInfo/GetFeatureInfoButtonConnect.d.ts +8 -0
  5. package/lib/components/FeatureInfo/GetFeatureInfoButtonConnect.spec.d.ts +1 -0
  6. package/lib/components/FeatureInfo/GetFeatureInfoConnect.d.ts +8 -0
  7. package/lib/components/FeatureInfo/GetFeatureInfoConnect.spec.d.ts +1 -0
  8. package/lib/components/FeatureInfo/GetFeatureInfoDialog.d.ts +16 -0
  9. package/lib/components/FeatureInfo/GetFeatureInfoDialog.spec.d.ts +1 -0
  10. package/lib/components/FeatureInfo/index.d.ts +3 -0
  11. package/lib/components/FeatureInfo/utils.d.ts +17 -0
  12. package/lib/components/FeatureInfo/utils.spec.d.ts +1 -0
  13. package/lib/components/LayerManager/DockedLayerManagerConnect.d.ts +2 -0
  14. package/lib/components/LayerManager/LayerSelect/LayerSelectUtils.d.ts +2 -2
  15. package/lib/components/LayerManager/LayerSelect/ServiceList/ServiceList.d.ts +2 -2
  16. package/lib/components/LayerManager/LayerSelect/ServiceOptionsDialog/ServiceOptionsDialog.d.ts +2 -2
  17. package/lib/components/LayerManager/LayerSelect/ServicePopup/ServicePopup.d.ts +2 -2
  18. package/lib/components/LayerManager/LayerSelect/ServicePopup/utils.d.ts +3 -3
  19. package/lib/components/ReactMapView/AdagucMapDraw.d.ts +0 -11
  20. package/lib/components/ReactMapView/AdagucMapDrawTools.d.ts +18 -0
  21. package/lib/components/ReactMapView/ReactMapView.d.ts +1 -2
  22. package/lib/components/ReactMapView/types.d.ts +1 -3
  23. package/lib/components/TimeSlider/TimeSliderButtons/AnimationLengthButton/AnimationLengthButton.d.ts +2 -1
  24. package/lib/components/TimeSlider/TimeSliderButtons/OptionsMenuButton/OptionsMenuButton.d.ts +0 -5
  25. package/lib/components/TimeSlider/TimeSliderButtons/PlayButton/PlayButtonConnect.d.ts +1 -1
  26. package/lib/components/TimeSlider/TimeSliderButtons/TimeSliderMenu/TimeSliderMenu.d.ts +2 -1
  27. package/lib/components/TimeSlider/TimeSliderButtons/TimeStepButton/TimeStepButton.d.ts +1 -1
  28. package/lib/components/TimeSlider/TimeSliderLegend/TimeSliderLegend.d.ts +2 -2
  29. package/lib/components/TimeSlider/TimeSliderUtils.d.ts +7 -3
  30. package/lib/components/TimeSlider/index.d.ts +1 -0
  31. package/lib/hooks/useSetupDialog/useSetupDialog.d.ts +2 -1
  32. package/lib/index.d.ts +10 -10
  33. package/lib/store/layerSelect/reducer.d.ts +3 -1
  34. package/lib/store/layerSelect/selectors.d.ts +6 -39
  35. package/lib/store/layerSelect/types.d.ts +12 -20
  36. package/lib/store/layerSelect/utils.d.ts +5 -0
  37. package/lib/store/layerSelect/utils.spec.d.ts +1 -0
  38. package/lib/store/mapStore/layers/reducer.d.ts +3 -1
  39. package/lib/store/mapStore/layers/selectors.d.ts +40 -0
  40. package/lib/store/mapStore/layers/types.d.ts +4 -0
  41. package/lib/store/mapStore/map/reducer.d.ts +2 -10
  42. package/lib/store/mapStore/map/sagas.d.ts +0 -5
  43. package/lib/store/mapStore/map/selectors.d.ts +25 -52
  44. package/lib/store/mapStore/map/types.d.ts +0 -23
  45. package/lib/store/mapStore/map/utils.d.ts +5 -4
  46. package/lib/store/ui/types.d.ts +4 -2
  47. package/package.json +11 -9
@@ -30,6 +30,7 @@ export interface ConfigurableMapConnectProps {
30
30
  multiLegend?: boolean;
31
31
  shouldShowLayerManager?: boolean;
32
32
  showClock?: boolean;
33
+ displayGetFeatureInfoButtonInMap?: boolean;
33
34
  children?: React.ReactNode;
34
35
  }
35
36
  export declare const ConfigurableMapConnect: React.FC<ConfigurableMapConnectProps>;
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import { Source } from '../../store/ui/types';
3
+ interface GetFeatureInfoButtonProps {
4
+ mapId: string;
5
+ source?: Source;
6
+ }
7
+ declare const GetFeatureInfoButtonConnect: React.FC<GetFeatureInfoButtonProps>;
8
+ export default GetFeatureInfoButtonConnect;
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ export declare const IS_GETFEATUREINFO_OPEN_BY_DEFAULT = false;
3
+ interface GetFeatureInfoConnectProps {
4
+ showMapId?: boolean;
5
+ mapId: string;
6
+ }
7
+ declare const GetFeatureInfoConnect: React.FC<GetFeatureInfoConnectProps>;
8
+ export default GetFeatureInfoConnect;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { Layer, MapLocation } from '../../store/mapStore/types';
3
+ import { Source } from '../../store/ui/types';
4
+ interface GetFeatureInfoDialogProps {
5
+ layers: Layer[];
6
+ isOpen: boolean;
7
+ onClose: () => void;
8
+ onMouseDown?: () => void;
9
+ mapId: string;
10
+ showMapId?: boolean;
11
+ order?: number;
12
+ source?: Source;
13
+ mapPinLocation?: MapLocation;
14
+ }
15
+ declare const GetFeatureInfoDialog: React.FC<GetFeatureInfoDialogProps>;
16
+ export default GetFeatureInfoDialog;
@@ -0,0 +1,3 @@
1
+ import GetFeatureInfoConnect from './GetFeatureInfoConnect';
2
+ export { default as GetFeatureInfoButtonConnect } from './GetFeatureInfoButtonConnect';
3
+ export { GetFeatureInfoConnect };
@@ -0,0 +1,17 @@
1
+ import { Layer } from '../../store/mapStore/types';
2
+ export interface GFIResult {
3
+ data: string;
4
+ isLoading: boolean;
5
+ }
6
+ export interface GFILayer {
7
+ layerId: string;
8
+ url: string;
9
+ title: string;
10
+ }
11
+ /**
12
+ * Make a list of GFI Layers to display.
13
+ * @param layers
14
+ * @param mapId
15
+ * @returns
16
+ */
17
+ export declare const getLayersToUpdate: (layers: Layer[], mapId: string) => GFILayer[];
@@ -0,0 +1 @@
1
+ export {};
@@ -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
@@ -1,5 +1,5 @@
1
1
  import { CSSProperties } from 'react';
2
- import { ActiveServices } from '../../../store/layerSelect/types';
2
+ import { ActiveServiceObjectEntities } from '../../../store/layerSelect/types';
3
3
  export declare const layerSelectColumnsLarge: {
4
4
  column1: {
5
5
  width: number;
@@ -74,4 +74,4 @@ export declare const layerSelectColumnsSmall: {
74
74
  };
75
75
  export declare const widthToColumns: (width: number) => Record<string, CSSProperties>;
76
76
  export declare const widthToRowHeight: (width: number) => number;
77
- export declare const sortByService: (serviceObj: ActiveServices) => ActiveServices;
77
+ export declare const sortByService: (serviceObj: ActiveServiceObjectEntities) => ActiveServiceObjectEntities;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
- import { ActiveServiceObject } from '../../../../store/layerSelect/types';
2
+ import { ActiveServiceObjectEntities } from '../../../../store/layerSelect/types';
3
3
  interface ServiceListProps {
4
- activeServices: Record<string, ActiveServiceObject>;
4
+ activeServices: ActiveServiceObjectEntities;
5
5
  setHeight: (height: number) => void;
6
6
  }
7
7
  declare const ServiceList: React.FC<ServiceListProps>;
@@ -1,9 +1,9 @@
1
1
  import * as React from 'react';
2
- import { ActiveServices } from '../../../../store/layerSelect/types';
2
+ import { ActiveServiceObjectEntities } from '../../../../store/layerSelect/types';
3
3
  import { PopupVariant } from '../ServicePopup/ServicePopup';
4
4
  import { ReduxLayer } from '../../../../store/mapStore/types';
5
5
  interface ServiceOptionsDialogProps {
6
- services: ActiveServices;
6
+ services: ActiveServiceObjectEntities;
7
7
  layerSelectRemoveService?: (serviceId: string, serviceUrl: string, serviceName: string) => void;
8
8
  layerSelectReloadService?: (serviceUrl: string) => void;
9
9
  selectedLayers: ReduxLayer[];
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { SetLayersForServicePayload } from '../../../../store/mapStore/types';
3
- import { ActiveServices } from '../../../../store/layerSelect/types';
3
+ import { ActiveServiceObjectEntities } from '../../../../store/layerSelect/types';
4
4
  export declare type PopupVariant = 'edit' | 'add' | 'save' | 'show';
5
5
  export interface ServicePopupProps {
6
6
  servicePopupVariant: PopupVariant;
@@ -12,7 +12,7 @@ export interface ServicePopupProps {
12
12
  serviceUrl?: string;
13
13
  serviceName?: string;
14
14
  serviceAbstracts?: string;
15
- services?: ActiveServices;
15
+ services?: ActiveServiceObjectEntities;
16
16
  serviceSetLayers: (payload: SetLayersForServicePayload) => void;
17
17
  showSnackbar?: (message: string) => void;
18
18
  }
@@ -1,4 +1,4 @@
1
- import { ActiveServices } from '../../../../store/layerSelect/types';
1
+ import { ActiveServiceObjectEntities } from '../../../../store/layerSelect/types';
2
2
  import { SetLayersForServicePayload } from '../../../../store/mapStore/types';
3
3
  export declare type ValidationResult = string | boolean;
4
4
  export declare const VALIDATIONS_NAME_EXISTING = "This name already exists. Choose another name.";
@@ -6,6 +6,6 @@ export declare const VALIDATIONS_SERVICE_EXISTING = "URL already exists.";
6
6
  export declare const VALIDATIONS_SERVICE_VALID_URL = "Not a valid URL.";
7
7
  export declare const VALIDATIONS_REQUEST_FAILED = "Download failed. Check the URL.";
8
8
  export declare const VALIDATIONS_FIELD_REQUIRED = "This field is required";
9
- export declare const validateServiceName: (value: string, services: ActiveServices, ownServiceName?: string) => ValidationResult;
10
- export declare const validateServiceUrl: (value: string, services: ActiveServices) => ValidationResult;
9
+ export declare const validateServiceName: (value: string, services: ActiveServiceObjectEntities, ownServiceName?: string) => ValidationResult;
10
+ export declare const validateServiceUrl: (value: string, services: ActiveServiceObjectEntities) => ValidationResult;
11
11
  export declare const loadWMSService: (serviceUrl: string, forceReload?: boolean) => Promise<SetLayersForServicePayload>;
@@ -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,7 @@
1
1
  import { PayloadAction } from '@reduxjs/toolkit';
2
- import { AddKeywordsAndActiveServicesPayload, DisableActiveServicePayload, EnableActiveServicePayload, EnableOnlyOneKeywordPayload, LayerSelectRemoveServicePayload, LayerSelectStoreType, SetAllServicesEnabledPayload, SetActiveLayerInfoPayload, SetSearchFilterPayload, ToggleKeywordsPayload } from './types';
2
+ import { AddKeywordsAndActiveServicesPayload, DisableActiveServicePayload, EnableActiveServicePayload, EnableOnlyOneKeywordPayload, LayerSelectRemoveServicePayload, LayerSelectStoreType, SetAllServicesEnabledPayload, SetActiveLayerInfoPayload, SetSearchFilterPayload, ToggleKeywordsPayload, Filter, ActiveServiceObject } from './types';
3
+ export declare const layerSelectFilterAdapter: import("@reduxjs/toolkit").EntityAdapter<Filter>;
4
+ export declare const layerSelectActiveServicesAdapter: import("@reduxjs/toolkit").EntityAdapter<ActiveServiceObject>;
3
5
  export declare const initialState: LayerSelectStoreType;
4
6
  export declare const reducer: import("redux").Reducer<LayerSelectStoreType, import("redux").AnyAction>;
5
7
  export declare const layerSelectActions: import("@reduxjs/toolkit").CaseReducerActions<{
@@ -1,5 +1,5 @@
1
1
  import { AppStore } from '../../types/types';
2
- import { LayerSelectStoreType, ActiveServices, ActiveServiceObject, Filter, ActiveLayerObject } from './types';
2
+ import { LayerSelectStoreType, ActiveServiceObject, ActiveLayerObject, ActiveServiceObjectEntities } from './types';
3
3
  /**
4
4
  * Returns search filter string
5
5
  *
@@ -24,20 +24,9 @@ export declare const getSearchFilter: ((state: {
24
24
  *
25
25
  * Example getActiveServices(store);
26
26
  * @param {object} store store: object - store object
27
- * @returns {object} returnType: object of active services
27
+ * @returns {ActiveServiceObjectEntities} returnType: ActiveServiceObjectEntitiesobject of active services
28
28
  */
29
- export declare const getActiveServices: ((state: {
30
- syncronizationGroupStore?: import("../generic/synchronizationGroups/types").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?: LayerSelectStoreType | undefined;
36
- }) => ActiveServices) & import("reselect").OutputSelectorFields<((args_0: LayerSelectStoreType) => ActiveServices) & {
37
- clearCache: () => void;
38
- }> & {
39
- clearCache: () => void;
40
- };
29
+ export declare const getActiveServices: (store: AppStore) => ActiveServiceObjectEntities;
41
30
  /**
42
31
  * Returns active services by id
43
32
  *
@@ -92,18 +81,7 @@ export declare const getCheckedFilterIds: ((state: {
92
81
  * @param {object} store store: object - store object
93
82
  * @returns {array} returnType: array of all keyword ids
94
83
  */
95
- export declare const getAllFilterIds: ((state: {
96
- syncronizationGroupStore?: import("../generic/synchronizationGroups/types").SynchronizationGroupState | undefined;
97
- ui?: import("../ui/types").UIStoreType | undefined;
98
- webmap?: import("../mapStore/types").WebMapState | undefined;
99
- services?: import("../mapStore/types").ServiceState | undefined;
100
- layers?: import("../mapStore/types").LayerState | undefined;
101
- layerSelect?: LayerSelectStoreType | undefined;
102
- }) => string[]) & import("reselect").OutputSelectorFields<((args_0: LayerSelectStoreType) => string[]) & {
103
- clearCache: () => void;
104
- }> & {
105
- clearCache: () => void;
106
- };
84
+ export declare const getAllFilterIds: (store: AppStore) => string[];
107
85
  /**
108
86
  * Returns all filters
109
87
  *
@@ -111,18 +89,7 @@ export declare const getAllFilterIds: ((state: {
111
89
  * @param {object} store store: object - store object
112
90
  * @returns {array} returnType: array of all filters
113
91
  */
114
- export declare const getAllFilters: ((state: {
115
- syncronizationGroupStore?: import("../generic/synchronizationGroups/types").SynchronizationGroupState | undefined;
116
- ui?: import("../ui/types").UIStoreType | undefined;
117
- webmap?: import("../mapStore/types").WebMapState | undefined;
118
- services?: import("../mapStore/types").ServiceState | undefined;
119
- layers?: import("../mapStore/types").LayerState | undefined;
120
- layerSelect?: LayerSelectStoreType | undefined;
121
- }) => Filter[]) & import("reselect").OutputSelectorFields<(args_0: LayerSelectStoreType) => Filter[] & {
122
- clearCache: () => void;
123
- }> & {
124
- clearCache: () => void;
125
- };
92
+ export declare const getAllFilters: (state: AppStore) => import("./types").Filter[];
126
93
  /**
127
94
  * Returns if all keywords are checked
128
95
  *
@@ -150,7 +117,7 @@ export declare const isAllFiltersChecked: ((state: {
150
117
  * @param {string} filterId Id of the keyword
151
118
  * @returns {object} object containing keyword information (id, amount, amountVisible, checked)
152
119
  */
153
- export declare const getFilterById: (store: AppStore, filterId: string) => Filter;
120
+ export declare const getFilterById: (state: AppStore, id: import("@reduxjs/toolkit").EntityId) => import("./types").Filter | undefined;
154
121
  /**
155
122
  * Returns the active layer info
156
123
  *
@@ -1,3 +1,4 @@
1
+ import { EntityState } from '@reduxjs/toolkit';
1
2
  import { ServiceLayer, ServiceScope } from '../mapStore/types';
2
3
  export interface ActiveLayerObject extends ServiceLayer {
3
4
  serviceName: string;
@@ -10,13 +11,7 @@ export interface ActiveServiceObject {
10
11
  enabled?: boolean;
11
12
  filterIds?: string[];
12
13
  scope?: ServiceScope;
13
- }
14
- export interface ActiveServices {
15
- [key: string]: ActiveServiceObject;
16
- }
17
- export interface ActiveServiceType {
18
- byId: ActiveServices;
19
- allIds: string[];
14
+ isLoading?: boolean;
20
15
  }
21
16
  export declare enum FilterType {
22
17
  Keyword = "keywords",
@@ -30,25 +25,21 @@ export interface Filter {
30
25
  checked?: boolean;
31
26
  type: FilterType;
32
27
  }
33
- export interface FiltersById {
34
- [key: string]: Filter;
35
- }
36
- export interface Filters {
37
- byId: FiltersById;
38
- allIds: string[];
39
- }
40
- export interface LayerSelectModuleState {
41
- layerSelect?: LayerSelectStoreType;
28
+ export declare type ActiveServiceObjectEntities = Record<string, ActiveServiceObject>;
29
+ export declare type Filters = EntityState<Filter>;
30
+ export declare type ActiveServiceType = EntityState<ActiveServiceObject>;
31
+ export interface FiltersType {
32
+ searchFilter: string;
33
+ activeServices: ActiveServiceType;
34
+ filters: Filters;
42
35
  }
43
36
  export interface LayerSelectStoreType {
44
37
  filters: FiltersType;
45
38
  allServicesEnabled: boolean;
46
39
  activeLayerInfo: ActiveLayerObject;
47
40
  }
48
- export interface FiltersType {
49
- searchFilter: string;
50
- activeServices: ActiveServiceType;
51
- filters: Filters;
41
+ export interface LayerSelectModuleState {
42
+ layerSelect?: LayerSelectStoreType;
52
43
  }
53
44
  export interface SetSearchFilterPayload {
54
45
  filterText: string;
@@ -72,6 +63,7 @@ export interface AddKeywordsAndActiveServicesPayload {
72
63
  keywords: string[];
73
64
  scope: ServiceScope;
74
65
  groups: string[];
66
+ isLoading?: boolean;
75
67
  }
76
68
  export interface LayerSelectRemoveServicePayload {
77
69
  serviceId: string;
@@ -0,0 +1,5 @@
1
+ import { EntityAdapter } from '@reduxjs/toolkit';
2
+ import { WritableDraft } from 'immer/dist/types/types-external';
3
+ import { Filter, FilterType, LayerSelectStoreType } from './types';
4
+ export declare const getFilterId: (filterType: FilterType, filterName: string) => string;
5
+ export declare const produceFilters: (filterNames: string[], filterType: FilterType, draft: WritableDraft<LayerSelectStoreType>, layerSelectFilterAdapter: EntityAdapter<Filter>) => void;
@@ -0,0 +1 @@
1
+ export {};
@@ -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>;