@opengeoweb/core 2.7.0 → 2.8.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 +241 -253
  2. package/index.umd.js +277 -290
  3. package/lib/components/ComponentsLookUp/componentsLookUp.d.ts +1 -2
  4. package/lib/components/{ConfigurableConnectedMap/ConfigurableConnectedMap.d.ts → ConfigurableMap/ConfigurableMapConnect.d.ts} +9 -9
  5. package/lib/components/{ConfigurableConnectedMap/ConfigurableConnectedMap.spec.d.ts → ConfigurableMap/ConfigurableMapConnect.spec.d.ts} +0 -0
  6. package/lib/components/ConfigurableMap/ConfigurableMapConnect.stories.d.ts +7 -0
  7. package/lib/components/ConfigurableMap/index.d.ts +1 -0
  8. package/lib/components/LayerManager/LayerSelect/ServiceList/ServiceChip.d.ts +2 -1
  9. package/lib/components/LayerManager/LayerSelect/ServiceList/ServiceChipConnect.d.ts +2 -1
  10. package/lib/components/MultiMapView/MultiMapViewConnect.d.ts +1 -1
  11. package/lib/components/ReactMapView/AdagucMapDraw.d.ts +1 -1
  12. package/lib/components/ReactMapView/AdagucMapDrawTools.d.ts +1 -1
  13. package/lib/components/TimeSlider/TimeSlider.d.ts +2 -1
  14. package/lib/components/TimeSlider/TimeSliderLegend/TimeSliderLegend.d.ts +2 -1
  15. package/lib/components/TimeSlider/TimeSliderRail/TimeSliderRail.d.ts +2 -1
  16. package/lib/index.d.ts +2 -2
  17. package/lib/store/ui/actions.d.ts +8 -1
  18. package/lib/store/ui/constants.d.ts +1 -0
  19. package/lib/store/ui/reducer.d.ts +2 -8
  20. package/lib/store/ui/selectors.d.ts +8 -0
  21. package/lib/store/ui/types.d.ts +10 -2
  22. package/package.json +6 -6
  23. package/lib/components/ConfigurableConnectedMap/ConfigurableConnectedMap.stories.d.ts +0 -6
  24. package/lib/components/ConfigurableConnectedMap/index.d.ts +0 -1
  25. package/lib/components/ConfigurableMapWithSlider/ConfigurableMapWithSliderConnect.d.ts +0 -21
  26. package/lib/components/ConfigurableMapWithSlider/ConfigurableMapWithSliderConnect.spec.d.ts +0 -1
  27. package/lib/components/ConfigurableMapWithSlider/index.d.ts +0 -1
@@ -10,7 +10,6 @@ interface InitialMultiMapProps {
10
10
  interface InitialMapProps {
11
11
  mapPreset: MapPreset;
12
12
  syncGroupsIds: string[];
13
- shouldShowZoomControls?: boolean;
14
13
  }
15
14
  interface InitialSliderProps {
16
15
  sliderPreset: {
@@ -24,7 +23,7 @@ export declare type InitialProps = InitialMapProps | InitialMultiMapProps | Init
24
23
  * @param payload
25
24
  * @returns
26
25
  */
27
- export declare type SupportedComponentTypes = 'Map' | 'ConfigurableMap' | 'ConfigurableMapWithSlider' | 'ModelRunInterval' | 'HarmonieTempAndPrecipPreset' | 'ConfigurableMultiMapWithSlider' | 'TimeSlider';
26
+ export declare type SupportedComponentTypes = 'Map' | 'MultiMap' | 'ModelRunInterval' | 'HarmonieTempAndPrecipPreset' | 'TimeSlider';
28
27
  export interface ComponentsLookUpPayload {
29
28
  componentType: SupportedComponentTypes;
30
29
  id: string;
@@ -9,25 +9,25 @@ export declare const defaultBbox: {
9
9
  top: number;
10
10
  };
11
11
  };
12
- export interface ConfigurableConnectedMapProps {
13
- title?: string;
12
+ export interface ConfigurableMapConnectProps {
14
13
  id?: string;
15
- className?: string;
14
+ shouldAutoUpdate?: boolean;
15
+ shouldAnimate?: boolean;
16
+ title?: string;
16
17
  layers: Layer[];
17
18
  activeLayerId?: string;
18
19
  baseLayer?: Layer;
19
20
  overLayers?: Layer[];
20
21
  bbox?: Bbox;
21
22
  srs?: string;
22
- displayTimeInMap?: boolean;
23
- displayLayerManagerButtonInMap?: boolean;
24
- displayDimensionSelectButtonInMap?: boolean;
25
- shouldAutoUpdate?: boolean;
26
- shouldAnimate?: boolean;
27
23
  animationPayload?: AnimationPayloadType;
28
24
  shouldShowZoomControls?: boolean;
29
25
  displayMapPin?: boolean;
26
+ showTimeSlider?: boolean;
30
27
  toggleTimestepAuto?: boolean;
31
28
  setTimestep?: number;
29
+ displayTimeInMap?: boolean;
30
+ displayLayerManagerButtonInMap?: boolean;
31
+ displayDimensionSelectButtonInMap?: boolean;
32
32
  }
33
- export declare const ConfigurableConnectedMap: React.FC<ConfigurableConnectedMapProps>;
33
+ export declare const ConfigurableMapConnect: React.FC<ConfigurableMapConnectProps>;
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ declare const _default: {
3
+ title: string;
4
+ };
5
+ export default _default;
6
+ export declare const ConfigurableMapDefault: () => React.ReactElement;
7
+ export declare const ConfigurableMapCustomized: () => React.ReactElement;
@@ -0,0 +1 @@
1
+ export * from './ConfigurableMapConnect';
@@ -3,7 +3,8 @@ import { ReduxService } from '../../../../store/mapStore/types';
3
3
  interface ServiceChipProps {
4
4
  all?: boolean;
5
5
  service?: ReduxService;
6
- isEnabled?: boolean;
6
+ isSelected?: boolean;
7
+ isDisabled?: boolean;
7
8
  toggleChip?: (service: string) => void;
8
9
  }
9
10
  declare const ServiceChip: React.FC<ServiceChipProps>;
@@ -3,7 +3,8 @@ import { ReduxService } from '../../../../store/mapStore/types';
3
3
  interface ServiceChipConnectProps {
4
4
  all?: boolean;
5
5
  service?: ReduxService;
6
- isEnabled?: boolean;
6
+ isSelected?: boolean;
7
+ isDisabled?: boolean;
7
8
  }
8
9
  declare const ServiceChipConnect: React.FC<ServiceChipConnectProps>;
9
10
  export default ServiceChipConnect;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Bbox, Layer } from '../../store/mapStore/types';
3
- export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"box" | "zoomControls">;
3
+ export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"box">;
4
4
  export interface MultiMapPreset {
5
5
  id: string;
6
6
  title?: string;
@@ -9,7 +9,7 @@ export declare const featureBox: GeoJSON.Feature<GeoJSON.Polygon>;
9
9
  export declare const lineString: GeoJSON.FeatureCollection;
10
10
  export declare type GeoJsonFeatureType = GeoJSON.Polygon | GeoJSON.MultiPoint | GeoJSON.Point | GeoJSON.LineString | GeoJSON.MultiPolygon;
11
11
  export declare type GeoJsonFeature = GeoJSON.Feature<GeoJsonFeatureType>;
12
- declare type GeoFeatureStyle = {
12
+ export declare type GeoFeatureStyle = {
13
13
  stroke?: string;
14
14
  fill?: string;
15
15
  'stroke-width'?: number;
@@ -6,4 +6,4 @@ export declare type CheckHoverFeaturesResult = {
6
6
  feature: GeoJsonFeature;
7
7
  } | null;
8
8
  export declare const distance: (a: Coordinate, b: Coordinate) => number;
9
- export declare const checkHoverFeatures: (geojson: GeoJSON.FeatureCollection, mouseX: number, mouseY: number, convertGeoCoordsToScreenCoords: (featureCoords: Position[]) => Coordinate[]) => CheckHoverFeaturesResult;
9
+ export declare const checkHoverFeatures: (geojson: GeoJSON.FeatureCollection, mouseX: number, mouseY: number, convertGeoCoordsToScreenCoords: (featureCoords: Position[]) => Coordinate[], ignoreCoordinateIndexInFeature?: boolean) => CheckHoverFeaturesResult;
@@ -1,9 +1,10 @@
1
1
  import * as React from 'react';
2
- interface TimeSliderProps {
2
+ export interface TimeSliderProps {
3
3
  buttons?: React.ReactChild;
4
4
  rail?: React.ReactChild;
5
5
  scaleSlider?: React.ReactChild;
6
6
  legend?: React.ReactChild;
7
+ mapIsActive?: boolean;
7
8
  }
8
9
  declare const TimeSlider: React.FC<TimeSliderProps>;
9
10
  export default TimeSlider;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { Scale } from '../../../store/mapStore/types';
3
- interface TimeSliderLegendProps {
3
+ export interface TimeSliderLegendProps {
4
4
  centerTime: number;
5
5
  secondsPerPx: number;
6
6
  dataScaleToSecondsPerPx?: number;
@@ -13,6 +13,7 @@ interface TimeSliderLegendProps {
13
13
  animationEndTime?: string;
14
14
  isTimeSliderHoverOn?: boolean;
15
15
  timeStep?: number;
16
+ mapIsActive?: boolean;
16
17
  onSetNewDate?: (newDate: string) => void;
17
18
  onSetCenterTime?: (newTime: number) => void;
18
19
  onZoom?: (newSecondsPerPx: number, newCenterTime: number) => void;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import moment from 'moment';
3
3
  import { Scale } from '../../../store/mapStore/types';
4
- interface TimeSliderRailProps {
4
+ export interface TimeSliderRailProps {
5
5
  centerTime: number;
6
6
  secondsPerPx: number;
7
7
  selectedTime?: moment.Moment;
@@ -13,6 +13,7 @@ interface TimeSliderRailProps {
13
13
  dataEndTime?: number;
14
14
  isTimeSliderHoverOn?: boolean;
15
15
  scale?: Scale;
16
+ mapIsActive: boolean;
16
17
  onSetAnimationStartTime?: (time: string) => void;
17
18
  onSetAnimationEndTime?: (time: string) => void;
18
19
  onSetNewDate?: (newDate: string) => void;
package/lib/index.d.ts CHANGED
@@ -25,8 +25,7 @@ export { MapControls } from './components/MapControls';
25
25
  export { mapActions, mapSelectors, mapTypes, mapConstants, mapUtils, layerReducer, layerActions, uiActions, uiSelectors, uiTypes, syncGroupActions, };
26
26
  export { synchronizationGroupConfig as synchronizationGroupModuleConfig };
27
27
  export * from './components/ComponentsLookUp';
28
- export * from './components/ConfigurableMapWithSlider';
29
- export { ConfigurableConnectedMap } from './components/ConfigurableConnectedMap';
28
+ export * from './components/ConfigurableMap';
30
29
  export * from './store/mapStore/utils/helpers';
31
30
  export { SyncGroupViewerConnect } from './components/SyncGroups/SyncGroupViewerConnect';
32
31
  export { SyncGroups };
@@ -46,3 +45,4 @@ export { default as uiModuleConfig } from './store/ui/config';
46
45
  export { default as mapModuleConfig } from './store/mapStore/config';
47
46
  export { default as synchronizationGroupsConfig } from './store/generic/config';
48
47
  export * from './components/MapWarning/MapWarningProperties';
48
+ export type { FeatureEvent, GeoFeatureStyle, } from './components/ReactMapView/AdagucMapDraw';
@@ -1,4 +1,4 @@
1
- import { SetActiveMapIdForDialogPayload, UIActions, UIOrderDialogPayload, UIRegisterDialogPayload, UIToggleDialogPayload, UIUnRegisterDialogPayload } from './types';
1
+ import { SetActiveMapIdForDialogPayload, SetActiveWindowIdPayload, UIActions, UIOrderDialogPayload, UIRegisterDialogPayload, UIToggleDialogPayload, UIUnRegisterDialogPayload } from './types';
2
2
  /**
3
3
  * Registers the dialog in the store and creates the dialog state
4
4
  *
@@ -34,3 +34,10 @@ export declare const setToggleOpenDialog: (payload: UIToggleDialogPayload) => UI
34
34
  * @param {object} payload object with type: 'legend' | 'layerManager' | 'dimensionSelect-elevation'
35
35
  */
36
36
  export declare const orderDialog: (payload: UIOrderDialogPayload) => UIActions;
37
+ /**
38
+ * Sets which window should receive keyboard shortcuts
39
+ *
40
+ * Example: setActiveWindowId({ activeMapId: 'activeWindowId'})
41
+ * @param {string} activeWindowId the windowId to receive keyboard shortcuts
42
+ */
43
+ export declare const setActiveWindowId: (payload: SetActiveWindowIdPayload) => UIActions;
@@ -3,3 +3,4 @@ export declare const UI_REGISTER_DIALOG = "UI_REGISTER_DIALOG";
3
3
  export declare const UI_UNREGISTER_DIALOG = "UI_UNREGISTER_DIALOG";
4
4
  export declare const UI_TOGGLE_DIALOG = "UI_TOGGLE_DIALOG";
5
5
  export declare const UI_ORDER_DIALOG = "UI_ORDER_DIALOG";
6
+ export declare const UI_SET_ACTIVE_WINDOW_ID = "UI_SET_ACTIVE_WINDOW_ID";
@@ -7,12 +7,6 @@ interface CreateUIDialogElementProps {
7
7
  }
8
8
  export declare const moveToTop: <Type>(list: Type[], element: Type) => Type[];
9
9
  export declare const createUIDialogElement: ({ activeMapId, type, setOpen, source, }: CreateUIDialogElementProps) => UIType;
10
- export declare const initialState: {
11
- order: any[];
12
- dialogs: {};
13
- };
14
- export declare const reducer: (state: {
15
- order: any[];
16
- dialogs: {};
17
- }, action: UIActions) => UIStoreType;
10
+ export declare const initialState: UIStoreType;
11
+ export declare const reducer: (state: UIStoreType, action: UIActions) => UIStoreType;
18
12
  export {};
@@ -102,3 +102,11 @@ export declare const getDialogSource: ((state: {
102
102
  }> & {
103
103
  clearCache: () => void;
104
104
  };
105
+ /**
106
+ * Get the active window that should receive keyboard shortcuts
107
+ *
108
+ * Example: getActiveWindowId(store)
109
+ * @param {object} store store object from which the window state will be extracted
110
+ * @returns {string} active window id
111
+ */
112
+ export declare const getActiveWindowId: (store: AppStore) => string;
@@ -1,5 +1,5 @@
1
1
  import { Action } from 'redux';
2
- import { UI_SET_ACTIVE_MAPID_FOR_DIALOG, UI_REGISTER_DIALOG, UI_TOGGLE_DIALOG, UI_UNREGISTER_DIALOG, UI_ORDER_DIALOG } from './constants';
2
+ import { UI_SET_ACTIVE_MAPID_FOR_DIALOG, UI_REGISTER_DIALOG, UI_TOGGLE_DIALOG, UI_UNREGISTER_DIALOG, UI_ORDER_DIALOG, UI_SET_ACTIVE_WINDOW_ID } from './constants';
3
3
  export declare type DialogType = 'legend' | 'layerManager' | 'layerSelect' | 'dimensionSelect-elevation' | 'dimensionSelect-ensemble_member' | 'keywordFilter' | 'timeSeriesManager' | 'timeSeriesSelect' | 'syncGroups';
4
4
  export declare type Source = 'app' | 'module';
5
5
  export interface UIType {
@@ -11,6 +11,7 @@ export interface UIType {
11
11
  export interface UIStoreType {
12
12
  order: DialogType[];
13
13
  dialogs: Partial<Record<DialogType, UIType>>;
14
+ activeWindowId?: string;
14
15
  }
15
16
  export interface UIModuleState {
16
17
  ui?: UIStoreType;
@@ -57,4 +58,11 @@ export interface UIOrderDialog extends Action {
57
58
  type: typeof UI_ORDER_DIALOG;
58
59
  payload: UIOrderDialogPayload;
59
60
  }
60
- export declare type UIActions = SetActiveMapIdForDialog | UIRegisterDialog | UIUnRegisterDialog | UIToggleDialog | UIOrderDialog;
61
+ export interface SetActiveWindowIdPayload {
62
+ activeWindowId: string;
63
+ }
64
+ export interface SetActiveWindowId extends Action {
65
+ type: typeof UI_SET_ACTIVE_WINDOW_ID;
66
+ payload: SetActiveWindowIdPayload;
67
+ }
68
+ export declare type UIActions = SetActiveMapIdForDialog | UIRegisterDialog | UIUnRegisterDialog | UIToggleDialog | UIOrderDialog | SetActiveWindowId;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/core",
3
- "version": "2.7.0",
3
+ "version": "2.8.0",
4
4
  "description": "GeoWeb Core library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -13,23 +13,23 @@
13
13
  "dependencies": {},
14
14
  "peerDependencies": {
15
15
  "react": "^17.0.2",
16
- "@opengeoweb/theme": "2.7.0",
16
+ "@opengeoweb/theme": "2.8.0",
17
17
  "@mui/material": "^5.2.8",
18
18
  "@mui/styles": "^5.2.3",
19
19
  "@mui/icons-material": "^5.2.5",
20
- "react-redux": "7.2.2",
21
20
  "moment": "^2.29.0",
21
+ "react-redux": "7.2.2",
22
22
  "react-intl": "^5.17.5",
23
- "@opengeoweb/shared": "2.7.0",
23
+ "@opengeoweb/shared": "2.8.0",
24
24
  "react-draggable": "^4.4.3",
25
25
  "re-resizable": "^6.9.0",
26
26
  "lodash": "^4.17.20",
27
- "@opengeoweb/form-fields": "2.7.0",
27
+ "@opengeoweb/form-fields": "2.8.0",
28
28
  "react-hook-form": "^6.12.1",
29
29
  "moment-timezone": "^0.5.31",
30
30
  "@mui/lab": "^5.0.0-alpha.64",
31
31
  "axios": "^0.25.0",
32
- "@opengeoweb/webmap": "2.7.0",
32
+ "@opengeoweb/webmap": "2.8.0",
33
33
  "throttle-debounce": "^3.0.1",
34
34
  "proj4": "^2.6.2",
35
35
  "react-sortablejs": "^6.0.0",
@@ -1,6 +0,0 @@
1
- import * as React from 'react';
2
- export declare const ConfigurableConnectedMapDemo: () => React.ReactElement;
3
- declare const _default: {
4
- title: string;
5
- };
6
- export default _default;
@@ -1 +0,0 @@
1
- export * from './ConfigurableConnectedMap';
@@ -1,21 +0,0 @@
1
- import React from 'react';
2
- import { AnimationPayloadType, Bbox, Layer } from '../../store/mapStore/types';
3
- export interface ConfigurableMapWithSliderConnectProps {
4
- id?: string;
5
- activeLayerId?: string;
6
- shouldAutoUpdate?: boolean;
7
- shouldAnimate?: boolean;
8
- title?: string;
9
- layers: Layer[];
10
- baseLayer?: Layer;
11
- overLayers?: Layer[];
12
- bbox?: Bbox;
13
- srs?: string;
14
- shouldShowZoomControls?: boolean;
15
- animationPayload?: AnimationPayloadType;
16
- displayMapPin?: boolean;
17
- showTimeSlider?: boolean;
18
- toggleTimestepAuto?: boolean;
19
- setTimestep?: number;
20
- }
21
- export declare const ConfigurableMapWithSliderConnect: React.FC<ConfigurableMapWithSliderConnectProps>;
@@ -1 +0,0 @@
1
- export * from './ConfigurableMapWithSliderConnect';