@opengeoweb/warnings 10.1.0 → 11.0.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 (56) hide show
  1. package/index.esm.js +1599 -892
  2. package/package.json +1 -1
  3. package/src/index.d.ts +0 -2
  4. package/src/lib/api/api-utils.d.ts +10 -0
  5. package/src/lib/{aviation-api → api/aviation-api}/hooks.d.ts +1 -1
  6. package/src/lib/api/warning-api/api.d.ts +4 -0
  7. package/src/lib/api/warning-api/hooks.d.ts +15 -0
  8. package/src/lib/components/AreaObjectLoader/AreaObjectLoader.d.ts +1 -1
  9. package/src/lib/components/AreaObjectLoader/AreasObjects.d.ts +1 -1
  10. package/src/lib/components/FilterList/filter-hooks.d.ts +4 -4
  11. package/src/lib/components/FilterList/filter-utils.d.ts +6 -4
  12. package/src/lib/components/ObjectManager/ObjectManager.d.ts +1 -1
  13. package/src/lib/components/ObjectManager/Objects.d.ts +1 -1
  14. package/src/lib/components/Providers/Providers.d.ts +3 -0
  15. package/src/lib/components/PublicWarningList/PublicWarningList.d.ts +5 -4
  16. package/src/lib/components/PublicWarningList/PublicWarningListConnect.stories.d.ts +37 -4
  17. package/src/lib/components/PublicWarningList/WarningListItem.d.ts +3 -3
  18. package/src/lib/components/PublicWarningList/WarningListItemMenu.d.ts +9 -7
  19. package/src/lib/components/PublicWarningsForm/PublicWarningsForm.d.ts +1 -1
  20. package/src/lib/components/PublicWarningsForm/PublicWarningsFormConnect.d.ts +2 -0
  21. package/src/lib/components/WarningsModuleProvider/WarningsModuleProvider.spec.d.ts +1 -0
  22. package/src/lib/store/index.d.ts +2 -1
  23. package/src/lib/store/publicWarningForm/index.d.ts +1 -1
  24. package/src/lib/store/publicWarningForm/reducer.d.ts +28 -33
  25. package/src/lib/store/publicWarningForm/selectors.d.ts +12 -17
  26. package/src/lib/store/publicWarningForm/types.d.ts +18 -6
  27. package/src/lib/store/publicWarnings/index.d.ts +1 -1
  28. package/src/lib/store/publicWarnings/reducer.d.ts +7 -18
  29. package/src/lib/store/publicWarnings/selectors.d.ts +1 -1
  30. package/src/lib/store/publicWarnings/types.d.ts +2 -2
  31. package/src/lib/store/store.d.ts +15 -0
  32. package/src/lib/store/types.d.ts +3 -3
  33. package/src/lib/store/warningsDrawings/index.d.ts +2 -0
  34. package/src/lib/store/warningsDrawings/listener.d.ts +2 -0
  35. package/src/lib/store/{drawings → warningsDrawings}/reducer.d.ts +1 -2
  36. package/src/lib/store/warningsDrawings/reducer.spec.d.ts +1 -0
  37. package/src/lib/store/warningsDrawings/selectors.spec.d.ts +1 -0
  38. package/src/lib/storybookUtils/testUtils.d.ts +2 -0
  39. package/src/lib/utils/api.d.ts +4 -8
  40. package/src/lib/utils/fakeApi/index.d.ts +10 -5
  41. package/src/lib/utils/fakeApi.d.ts +1 -1
  42. package/src/lib/utils/sig-airmet-util.d.ts +14 -7
  43. package/src/lib/utils/sig-airmet-util.spec.d.ts +1 -0
  44. package/src/lib/utils/warningUtils.d.ts +4 -4
  45. package/src/lib/store/config.d.ts +0 -9
  46. package/src/lib/store/drawings/index.d.ts +0 -2
  47. package/src/lib/store/drawings/listener.d.ts +0 -2
  48. package/src/lib/utils/testUtils.d.ts +0 -4
  49. /package/src/lib/{aviation-api → api/aviation-api}/api.d.ts +0 -0
  50. /package/src/lib/{aviation-api → api/aviation-api}/fakeApi.d.ts +0 -0
  51. /package/src/lib/{store/drawings/reducer.spec.d.ts → components/PublicWarningList/PublicWarningListConnect.confirmation.integration.spec.d.ts} +0 -0
  52. /package/src/lib/{store/drawings/selectors.spec.d.ts → components/PublicWarningList/PublicWarningListConnect.draft.integration.spec.d.ts} +0 -0
  53. /package/src/lib/{store/publicWarnings/reducer.spec.d.ts → components/PublicWarningList/WarningListItemMenu.spec.d.ts} +0 -0
  54. /package/src/lib/store/{drawings → warningsDrawings}/selectors.d.ts +0 -0
  55. /package/src/lib/store/{drawings → warningsDrawings}/types.d.ts +0 -0
  56. /package/src/lib/store/{drawings → warningsDrawings}/utils.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  import { EntityState } from '@reduxjs/toolkit';
2
- import { PublicWarning } from '../publicWarningForm/types';
2
+ import { Warning } from '../publicWarningForm/types';
3
3
  import { PickedFilterState } from '../../components/FilterList/filter-hooks';
4
4
  export interface FilterTranslation {
5
5
  translationKey: string;
@@ -11,7 +11,7 @@ export interface PublicWarningError {
11
11
  message: string;
12
12
  }
13
13
  export interface PublicWarningsState {
14
- warnings: EntityState<PublicWarning>;
14
+ warnings: EntityState<Warning>;
15
15
  isLoading: boolean;
16
16
  lastUpdatedTime: string;
17
17
  error?: PublicWarningError;
@@ -0,0 +1,15 @@
1
+ import { SnackbarModuleStore } from '@opengeoweb/snackbar';
2
+ import { WebMapStateModuleState, UIModuleState, DrawtoolModuleStore } from '@opengeoweb/store';
3
+ import { ToolkitStore } from '@reduxjs/toolkit/dist/configureStore';
4
+ import { WarningModuleStore } from './types';
5
+ export declare const warningsReducersMap: {
6
+ layers: import("redux").Reducer<import("dist/libs/store/src/store/map/types").LayerState, import("redux").AnyAction>;
7
+ ui: import("redux").Reducer<import("dist/libs/store/src/store/ui/types").UIStoreType, import("redux").AnyAction>;
8
+ drawingtools: import("redux").Reducer<import("dist/libs/store/src/store/drawingTool/reducer").DrawingToolState, import("redux").AnyAction>;
9
+ drawings: import("redux").Reducer<import("./warningsDrawings/types").DrawState>;
10
+ publicWarningForm: import("redux").Reducer<import("./publicWarningForm/reducer").WarningFormState>;
11
+ publicWarnings: import("redux").Reducer<import("./publicWarnings/types").PublicWarningsState>;
12
+ snackbar: import("redux").Reducer<import("dist/libs/snackbar/src/lib/store/types").SnackbarState, import("redux").AnyAction>;
13
+ };
14
+ export declare const warningsMiddlewares: (import("@reduxjs/toolkit").ListenerMiddleware<WarningModuleStore, import("@reduxjs/toolkit").ThunkDispatch<WarningModuleStore, unknown, import("redux").AnyAction>, unknown> | import("@reduxjs/toolkit").ListenerMiddleware<SnackbarModuleStore, import("@reduxjs/toolkit").ThunkDispatch<SnackbarModuleStore, unknown, import("redux").AnyAction>, unknown>)[];
15
+ export declare const createMockStore: (mockState?: WebMapStateModuleState | DrawtoolModuleStore | UIModuleState | WarningModuleStore | SnackbarModuleStore) => ToolkitStore;
@@ -1,9 +1,9 @@
1
1
  import { CoreAppStore } from '@opengeoweb/store';
2
- import { DrawState } from './drawings/types';
3
- import { PublicWarningFormState } from './publicWarningForm/reducer';
2
+ import { DrawState } from './warningsDrawings/types';
3
+ import { WarningFormState } from './publicWarningForm/reducer';
4
4
  import { PublicWarningsState } from './publicWarnings/types';
5
5
  export interface WarningModuleStore extends CoreAppStore {
6
6
  drawings?: DrawState;
7
- publicWarningForm?: PublicWarningFormState;
7
+ publicWarningForm?: WarningFormState;
8
8
  publicWarnings?: PublicWarningsState;
9
9
  }
@@ -0,0 +1,2 @@
1
+ export { warningsDrawingsReducer, warningsDrawingsActions } from './reducer';
2
+ export { warningsDrawingsListener } from './listener';
@@ -0,0 +1,2 @@
1
+ import { WarningModuleStore } from '../types';
2
+ export declare const warningsDrawingsListener: import("@reduxjs/toolkit").ListenerMiddlewareInstance<WarningModuleStore, import("@reduxjs/toolkit").ThunkDispatch<WarningModuleStore, unknown, import("redux").AnyAction>, unknown>;
@@ -2,8 +2,7 @@ import { PayloadAction, Draft } from '@reduxjs/toolkit';
2
2
  import { DrawItem, DrawState, SetDrawValuesPayload, SubmitDrawValuesPayload } from './types';
3
3
  export declare const drawAdapter: import("@reduxjs/toolkit").EntityAdapter<DrawItem>;
4
4
  export declare const initialState: DrawState;
5
- export declare const reducer: import("redux").Reducer<DrawState>;
6
- export declare const drawActions: import("@reduxjs/toolkit").CaseReducerActions<{
5
+ export declare const warningsDrawingsReducer: import("redux").Reducer<DrawState>, warningsDrawingsActions: import("@reduxjs/toolkit").CaseReducerActions<{
7
6
  setDrawValues: (draft: Draft<DrawState>, action: PayloadAction<SetDrawValuesPayload>) => void;
8
7
  submitDrawValues: (draft: Draft<DrawState>, action: PayloadAction<SubmitDrawValuesPayload>) => void;
9
8
  setFormDirty: (draft: Draft<DrawState>, action: PayloadAction<{
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,3 +1,5 @@
1
+ import { Warning } from '../store/publicWarningForm/types';
1
2
  export declare const testGeoJSON: GeoJSON.FeatureCollection;
2
3
  export declare function fakeErrorRequest<ReturnType>(error: string): Promise<ReturnType>;
3
4
  export declare const fakePostError = "2 validation errors for Request\nbody -> warningDetail -> phenomenon\n value is not a valid enumeration member; permitted: 'wind', 'fog', 'thunderstorm', 'snowIce', 'rain', 'highTemp', 'funnelCloud', 'lowTemp', 'coastalEvent' (type=type_error.enum; enum_values=[<PhenomenonEnum.WIND: 'wind'>, <PhenomenonEnum.FOG: 'fog'>, <PhenomenonEnum.THUNDERSTORM: 'thunderstorm'>, <PhenomenonEnum.SNOW_ICE: 'snowIce'>, <PhenomenonEnum.RAIN: 'rain'>, <PhenomenonEnum.HIGH_TEMP: 'highTemp'>, <PhenomenonEnum.FUNNEL_CLD: 'funnelCloud'>, <PhenomenonEnum.LOW_TEMP: 'lowTemp'>, <PhenomenonEnum.COASTAL_EVENT: 'coastalEvent'>])\nbody -> warningDetail -> level\n value is not a valid enumeration member; permitted: 'moderate', 'severe', 'extreme' (type=type_error.enum; enum_values=[<LevelEnum.MODERATE: 'moderate'>, <LevelEnum.SEVERE: 'severe'>, <LevelEnum.EXTREME: 'extreme'>])";
5
+ export declare const testPublicWarning: Warning;
@@ -1,7 +1,7 @@
1
1
  import { CreateApiProps } from '@opengeoweb/api';
2
2
  import { AxiosInstance } from 'axios';
3
- import { DrawingFromBE, DrawingFromFE, DrawingListItem, FetchDrawingParams } from '../store/drawings/types';
4
- import { PublicWarning } from '../store/publicWarningForm/types';
3
+ import { DrawingFromBE, DrawingFromFE, DrawingListItem, FetchDrawingParams } from '../store/warningsDrawings/types';
4
+ import { Warning } from '../store/publicWarningForm/types';
5
5
  export declare const API_NAME = "warnings";
6
6
  export declare const getIdFromUrl: (url: string) => string;
7
7
  export interface WarningsApi {
@@ -17,13 +17,9 @@ export interface WarningsApi {
17
17
  getAreaKeywords: () => Promise<{
18
18
  data: string[];
19
19
  }>;
20
- getWarnings: () => Promise<{
21
- data: PublicWarning[];
22
- }>;
23
- saveWarningAs: (data: PublicWarning) => Promise<string>;
24
- updateWarning: (warningId: string, data: PublicWarning) => Promise<void>;
20
+ saveWarningAs: (data: Warning) => Promise<string>;
21
+ updateWarning: (warningId: string, data: Warning) => Promise<void>;
25
22
  deleteWarning: (warningId: string) => Promise<void>;
26
- toggleEditorWarning: (warningId: string, isEditor: boolean) => Promise<void>;
27
23
  }
28
24
  export declare const getApiRoutes: (axiosInstance: AxiosInstance) => WarningsApi;
29
25
  export declare const getWarningsApi: () => WarningsApi;
@@ -1,10 +1,15 @@
1
- import type { DrawingFromBE, DrawingListItem } from '../../store/drawings/types';
2
- import type { PublicWarning } from '../../store/publicWarningForm/types';
1
+ import { RestHandler } from 'msw';
2
+ import type { DrawingFromBE, DrawingListItem } from '../../store/warningsDrawings/types';
3
+ import type { AirmetWarning, PublicWarning, SigmetWarning, Warning } from '../../store/publicWarningForm/types';
3
4
  declare const drawingList: DrawingListItem[];
4
5
  declare const drawingsListFullContent: DrawingFromBE[];
5
6
  declare const warningList: PublicWarning[];
6
7
  declare const lengthWarningListWithoutExpiredWithdrawn: number;
7
- declare const sigmetList: PublicWarning[];
8
- declare const airmetList: PublicWarning[];
8
+ declare const sigmetList: SigmetWarning[];
9
+ declare const airmetList: AirmetWarning[];
10
+ declare const combinedWarnings: Warning[];
9
11
  declare const areaKeywordList: string[];
10
- export { drawingList, drawingsListFullContent, warningList, lengthWarningListWithoutExpiredWithdrawn, sigmetList, airmetList, areaKeywordList, };
12
+ export declare const publicWarningEndpoints: RestHandler<import("msw").MockedRequest<import("msw").DefaultBodyType>>[];
13
+ export declare const makeWarningsHandler: (result: Warning[]) => RestHandler;
14
+ declare const requestHandlers: RestHandler<import("msw").MockedRequest<import("msw").DefaultBodyType>>[];
15
+ export { drawingList, drawingsListFullContent, warningList, lengthWarningListWithoutExpiredWithdrawn, sigmetList, airmetList, combinedWarnings, areaKeywordList, requestHandlers, };
@@ -1,5 +1,5 @@
1
1
  import { WarningsApi } from './api';
2
- import { DrawingFromBE } from '../store/drawings/types';
2
+ import { DrawingFromBE } from '../store/warningsDrawings/types';
3
3
  export declare const ERROR_NOT_FOUND = "Request failed with status code 400";
4
4
  export declare const MOCK_USERNAME = "user.name";
5
5
  export declare const extractDrawingDetailsFromJSON: (drawingId: string) => DrawingFromBE;
@@ -1,10 +1,17 @@
1
- import { AirmetConfig, AirmetFromBackend, ProductStatus, SigmetConfig, SigmetFromBackend } from '@opengeoweb/api';
2
- import { AviationProduct } from '@opengeoweb/sigmet-airmet';
3
- import { PublicWarning, PublicWarningStatus } from '../store/publicWarningForm/types';
4
- export declare const transformAirmetToWarningFormat: (apiAirmet: AirmetFromBackend) => PublicWarning;
5
- export declare const transformSigmetToWarningFormat: (apiSigmet: SigmetFromBackend) => PublicWarning;
1
+ import { AirmetFromBackend, CancelAirmet, CancelSigmet, ProductStatus, SigmetFromBackend } from '@opengeoweb/api';
2
+ import { AviationProduct, ProductConfig } from '@opengeoweb/sigmet-airmet';
3
+ import { Warning, PublicWarningStatus, AviationWarningDetails, AirmetWarning, SigmetWarning } from '../store/publicWarningForm/types';
4
+ export declare function isCancelAirmet(warningDetail: AviationWarningDetails): warningDetail is CancelAirmet;
5
+ export declare function isCancelSigmet(warningDetail: AviationWarningDetails): warningDetail is CancelSigmet;
6
+ export declare const flattenPublicWarning: (publicWarning: Warning) => Partial<AviationWarningDetails>;
7
+ export declare const transformAirmetToWarningFormat: (apiAirmet: AirmetFromBackend) => AirmetWarning;
8
+ export declare const transformSigmetToWarningFormat: (apiSigmet: SigmetFromBackend) => SigmetWarning;
6
9
  export declare const mapProductStatusToWarningStatus: (productStatus?: ProductStatus) => PublicWarningStatus;
7
- export declare const transformSigmetToProductFormat: (warning: SigmetFromBackend | undefined, config: SigmetConfig) => AviationProduct;
8
- export declare const transformAirmetToProductFormat: (warning: AirmetFromBackend | undefined, config: AirmetConfig) => AviationProduct;
10
+ export declare const transformSigmetToProductFormat: (warning: SigmetFromBackend | undefined) => AviationProduct;
11
+ export declare const transformAirmetToProductFormat: (warning: AirmetFromBackend | undefined) => AviationProduct;
12
+ export declare const transformSigmetFromBackendToProductFormat: (warning: SigmetFromBackend) => AviationProduct;
13
+ export declare const transformAirmetFromBackendToProductFormat: (warning: AirmetFromBackend) => AviationProduct;
9
14
  export declare const getEmptySigmetWarning: () => AviationProduct;
10
15
  export declare const getEmptyAirmetWarning: () => AviationProduct;
16
+ export declare const renewAviationProduct: <T extends AirmetWarning | SigmetWarning>(aviationWarning: T, productConfig: ProductConfig) => T;
17
+ export declare const duplicateAviationProduct: <T extends AirmetWarning | SigmetWarning>(aviationWarning: T) => T;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,14 +1,14 @@
1
1
  import { RefObject } from 'react';
2
- import { PublicWarning, PublicWarningStatus } from '../store/publicWarningForm/types';
2
+ import { Warning, PublicWarningStatus } from '../store/publicWarningForm/types';
3
3
  import { PickedFilterState, OptionKey } from '../components/FilterList/filter-hooks';
4
4
  interface OverflowCheckResult {
5
5
  ref: RefObject<HTMLDivElement>;
6
6
  isOverflowing: boolean;
7
7
  }
8
8
  export declare const getSortedStatus: (status: PublicWarningStatus) => PublicWarningStatus;
9
- export declare const getWarningWithoutIdStatusEditor: (warning: PublicWarning) => PublicWarning;
10
- export declare const getWarningWithLinkedToId: (warning: PublicWarning) => PublicWarning;
11
- export declare const getWarningWithProposalId: (warning: PublicWarning) => PublicWarning;
9
+ export declare const getWarningWithoutIdStatusEditor: (warning: Warning) => Warning;
10
+ export declare const getWarningWithLinkedToId: (warning: Warning) => Warning;
11
+ export declare const getWarningWithProposalId: (warning: Warning) => Warning;
12
12
  export default function useOverflowCheck(text: string): OverflowCheckResult;
13
13
  export declare const getTranslationKey: (optionId: OptionKey<keyof PickedFilterState>, id: string) => string;
14
14
  export {};
@@ -1,9 +0,0 @@
1
- export declare const drawingModuleConfig: {
2
- reducersMap: {
3
- drawings: import("redux").Reducer<import("./drawings/types").DrawState>;
4
- publicWarningForm: import("redux").Reducer<import("./publicWarningForm/reducer").PublicWarningFormState>;
5
- publicWarnings: import("redux").Reducer<import("./publicWarnings/types").PublicWarningsState>;
6
- };
7
- middlewares: import("@reduxjs/toolkit").ListenerMiddleware<import("./types").WarningModuleStore, import("redux-thunk").ThunkDispatch<import("./types").WarningModuleStore, unknown, import("redux").AnyAction>, unknown>[];
8
- };
9
- export default drawingModuleConfig;
@@ -1,2 +0,0 @@
1
- export { reducer as warningsDrawingsReducer } from './reducer';
2
- export { drawingsListener as warningsDrawingsListener } from './listener';
@@ -1,2 +0,0 @@
1
- import { WarningModuleStore } from '../types';
2
- export declare const drawingsListener: import("@reduxjs/toolkit").ListenerMiddlewareInstance<WarningModuleStore, import("@reduxjs/toolkit").ThunkDispatch<WarningModuleStore, unknown, import("redux").AnyAction>, unknown>;
@@ -1,4 +0,0 @@
1
- import { Store } from '@reduxjs/toolkit';
2
- import { uiTypes, WebMapStateModuleState } from '@opengeoweb/store';
3
- import { WarningModuleStore } from '../store/types';
4
- export declare const createMockStore: (mockState: WarningModuleStore & uiTypes.UIModuleState & WebMapStateModuleState) => Store;