@opengeoweb/warnings 19.2.0 → 19.4.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 (48) hide show
  1. package/dist/index.esm.js +6785 -1992
  2. package/dist/src/index.d.ts +2 -0
  3. package/dist/src/lib/api/warning-api/api.d.ts +6 -1
  4. package/dist/src/lib/api/warning-api/hooks.d.ts +24 -3
  5. package/dist/src/lib/components/PublicWarningList/PublicWarningList.d.ts +1 -0
  6. package/dist/src/lib/components/PublicWarningList/PublicWarningListConnect.d.ts +0 -1
  7. package/dist/src/lib/components/PublicWarningList/WarningListItem.d.ts +1 -0
  8. package/dist/src/lib/components/PublicWarningList/WarningListItemMenu.d.ts +1 -1
  9. package/dist/src/lib/components/PublicWarningList/useWarningListFeatureSync.d.ts +15 -0
  10. package/dist/src/lib/components/PublicWarningList/warningListFeatureSyncUtils.d.ts +15 -0
  11. package/dist/src/lib/components/PublicWarningsForm/PublicWarningsForm.d.ts +0 -1
  12. package/dist/src/lib/components/PublicWarningsFormDialog/PublicWarningsFormDialogConnect.d.ts +0 -1
  13. package/dist/src/lib/components/WarningEvents/WarningEventDialog/WarningEventDialog.d.ts +16 -0
  14. package/dist/src/lib/components/WarningEvents/WarningEventDialog/WarningEventDialogConnect.d.ts +12 -0
  15. package/dist/src/lib/components/WarningEvents/WarningEventDialog/WarningEventFormDialog.d.ts +36 -0
  16. package/dist/src/lib/components/WarningEvents/WarningEventDialog/index.d.ts +7 -0
  17. package/dist/src/lib/components/WarningEvents/WarningEventDialog/utils.d.ts +16 -0
  18. package/dist/src/lib/components/WarningEvents/WarningEventForm/CollapseToggleButton.d.ts +9 -0
  19. package/dist/src/lib/components/WarningEvents/WarningEventForm/WarningEventFormContent.d.ts +20 -0
  20. package/dist/src/lib/components/WarningEvents/WarningEventForm/WarningEventItem.d.ts +10 -0
  21. package/dist/src/lib/components/WarningEvents/WarningEventForm/WarningEventTimeline/WarningEventTimeline.d.ts +21 -0
  22. package/dist/src/lib/components/WarningEvents/WarningEventForm/WarningEventTimeline/WarningEventTimelineBlock.d.ts +21 -0
  23. package/dist/src/lib/components/WarningEvents/WarningEventForm/WarningEventTimeline/WarningEventTimelineBlockControls.d.ts +15 -0
  24. package/dist/src/lib/components/WarningEvents/WarningEventForm/WarningEventTimeline/WarningEventTimelineContext.d.ts +7 -0
  25. package/dist/src/lib/components/WarningEvents/WarningEventForm/WarningEventTimeline/getTimelineRange.d.ts +5 -0
  26. package/dist/src/lib/components/WarningEvents/WarningEventForm/WarningEventTimeline/index.d.ts +3 -0
  27. package/dist/src/lib/components/WarningEvents/WarningEventForm/WarningEventTimeline/timelineTestUtils.d.ts +4 -0
  28. package/dist/src/lib/components/WarningEvents/WarningEventForm/WarningEventTimeline/useBlockDrag.d.ts +26 -0
  29. package/dist/src/lib/components/WarningEvents/WarningEventForm/WarningEventTimeline/useModifierKeyHeld.d.ts +1 -0
  30. package/dist/src/lib/components/WarningEvents/WarningEventForm/WarningEventTimeline/warningEventTimelineDragUtils.d.ts +37 -0
  31. package/dist/src/lib/components/WarningEvents/WarningEventForm/index.d.ts +2 -0
  32. package/dist/src/lib/components/WarningEvents/WarningEventForm/types.d.ts +22 -0
  33. package/dist/src/lib/components/WarningEvents/WarningEventForm/utils.d.ts +8 -0
  34. package/dist/src/lib/components/WarningEvents/WarningEventForm/warningEventStoryData.d.ts +15 -0
  35. package/dist/src/lib/components/WarningEvents/WarningEventSummaryDialog/WarningEventSummaryDialog.d.ts +16 -0
  36. package/dist/src/lib/components/WarningEvents/WarningEventSummaryDialog/WarningEventSummaryForm.d.ts +16 -0
  37. package/dist/src/lib/components/WarningEvents/WarningEventSummaryDialog/index.d.ts +1 -0
  38. package/dist/src/lib/store/types.d.ts +2 -0
  39. package/dist/src/lib/store/warningsEventForm/index.d.ts +2 -0
  40. package/dist/src/lib/store/warningsEventForm/listener.d.ts +2 -0
  41. package/dist/src/lib/store/warningsEventForm/reducer.d.ts +37 -0
  42. package/dist/src/lib/store/warningsEventForm/selectors.d.ts +66 -0
  43. package/dist/src/lib/store/warningsForm/types.d.ts +51 -5
  44. package/dist/src/lib/store/warningsForm/utils.d.ts +2 -0
  45. package/dist/src/lib/storybookUtils/testUtils.d.ts +1 -0
  46. package/dist/src/lib/utils/fakeApi/index.d.ts +4 -2
  47. package/dist/src/lib/utils/warningUtils.d.ts +10 -1
  48. package/package.json +2 -2
@@ -0,0 +1,66 @@
1
+ import type { WarningModuleStore } from '../types';
2
+ import type { WarningsEventFormState } from './reducer';
3
+ export declare const selectWarningsEventFormState: (store: WarningModuleStore) => WarningsEventFormState;
4
+ export declare const getWarningEvent: ((state: WarningModuleStore) => import("../warningsForm/types").WarningEvent | undefined) & {
5
+ clearCache: () => void;
6
+ resultsCount: () => number;
7
+ resetResultsCount: () => void;
8
+ } & {
9
+ resultFunc: (resultFuncArgs_0: WarningsEventFormState) => import("../warningsForm/types").WarningEvent | undefined;
10
+ memoizedResultFunc: ((resultFuncArgs_0: WarningsEventFormState) => import("../warningsForm/types").WarningEvent | undefined) & {
11
+ clearCache: () => void;
12
+ resultsCount: () => number;
13
+ resetResultsCount: () => void;
14
+ };
15
+ lastResult: () => import("../warningsForm/types").WarningEvent | undefined;
16
+ dependencies: [(store: WarningModuleStore) => WarningsEventFormState];
17
+ recomputations: () => number;
18
+ resetRecomputations: () => void;
19
+ dependencyRecomputations: () => number;
20
+ resetDependencyRecomputations: () => void;
21
+ } & {
22
+ argsMemoize: typeof import("reselect").weakMapMemoize;
23
+ memoize: typeof import("reselect").weakMapMemoize;
24
+ };
25
+ export declare const getSelectedEventId: ((state: WarningModuleStore) => string) & {
26
+ clearCache: () => void;
27
+ resultsCount: () => number;
28
+ resetResultsCount: () => void;
29
+ } & {
30
+ resultFunc: (resultFuncArgs_0: WarningsEventFormState) => string;
31
+ memoizedResultFunc: ((resultFuncArgs_0: WarningsEventFormState) => string) & {
32
+ clearCache: () => void;
33
+ resultsCount: () => number;
34
+ resetResultsCount: () => void;
35
+ };
36
+ lastResult: () => string;
37
+ dependencies: [(store: WarningModuleStore) => WarningsEventFormState];
38
+ recomputations: () => number;
39
+ resetRecomputations: () => void;
40
+ dependencyRecomputations: () => number;
41
+ resetDependencyRecomputations: () => void;
42
+ } & {
43
+ argsMemoize: typeof import("reselect").weakMapMemoize;
44
+ memoize: typeof import("reselect").weakMapMemoize;
45
+ };
46
+ export declare const getWarningsEventIsFormDirty: ((state: WarningModuleStore) => boolean) & {
47
+ clearCache: () => void;
48
+ resultsCount: () => number;
49
+ resetResultsCount: () => void;
50
+ } & {
51
+ resultFunc: (resultFuncArgs_0: WarningsEventFormState) => boolean;
52
+ memoizedResultFunc: ((resultFuncArgs_0: WarningsEventFormState) => boolean) & {
53
+ clearCache: () => void;
54
+ resultsCount: () => number;
55
+ resetResultsCount: () => void;
56
+ };
57
+ lastResult: () => boolean;
58
+ dependencies: [(store: WarningModuleStore) => WarningsEventFormState];
59
+ recomputations: () => number;
60
+ resetRecomputations: () => void;
61
+ dependencyRecomputations: () => number;
62
+ resetDependencyRecomputations: () => void;
63
+ } & {
64
+ argsMemoize: typeof import("reselect").weakMapMemoize;
65
+ memoize: typeof import("reselect").weakMapMemoize;
66
+ };
@@ -5,7 +5,7 @@ export interface Area {
5
5
  areaId?: string;
6
6
  published_warning_uuid?: string;
7
7
  }
8
- export interface PublicWarningDetail {
8
+ export interface WarningBodyBase {
9
9
  id?: string;
10
10
  phenomenon: string;
11
11
  areas?: Area[];
@@ -13,8 +13,6 @@ export interface PublicWarningDetail {
13
13
  validUntil: string;
14
14
  level: string;
15
15
  probability: number;
16
- descriptionOriginal: string;
17
- descriptionTranslation: string;
18
16
  domain?: string;
19
17
  warningProposalSource?: string;
20
18
  authority?: string;
@@ -22,6 +20,10 @@ export interface PublicWarningDetail {
22
20
  warning_handle_uuid?: string;
23
21
  proposal_id?: string;
24
22
  linked_to_id?: string;
23
+ }
24
+ export interface PublicWarningDetail extends WarningBodyBase {
25
+ descriptionOriginal: string;
26
+ descriptionTranslation: string;
25
27
  incident?: string;
26
28
  }
27
29
  export type AviationWarningDetails = Airmet | CancelAirmet | Sigmet | CancelSigmet;
@@ -40,7 +42,7 @@ export declare enum MaritimeWarningAction {
40
42
  EXTEND = "EXTEND"
41
43
  }
42
44
  export type MaritimeWarningsType = 'maritimeWarningCoastal' | 'maritimeWarningNorthSea';
43
- export type WarningType = 'public' | 'airmet' | 'sigmet' | MaritimeWarningsType;
45
+ export type WarningType = 'public' | 'airmet' | 'sigmet' | MaritimeWarningsType | 'warningsEvent';
44
46
  interface BaseWarning {
45
47
  status?: PublicWarningStatus;
46
48
  productStatus?: ProductStatus;
@@ -69,5 +71,49 @@ export interface MaritimeWarning extends BaseWarning {
69
71
  windDirectionTo?: string;
70
72
  };
71
73
  }
72
- export type Warning = PublicWarning | AirmetWarning | SigmetWarning | MaritimeWarning;
74
+ export interface EventWarningForWarningList extends BaseWarning {
75
+ type: 'warningsEvent';
76
+ eventId?: string;
77
+ warningDetail: PublicWarningDetail & {
78
+ eventId?: string;
79
+ };
80
+ }
81
+ export interface WarningEventBody extends WarningBodyBase {
82
+ incident: string;
83
+ eventId?: string;
84
+ status?: PublicWarningStatus;
85
+ }
86
+ export interface WarningEventTexts {
87
+ headlineOriginal: string;
88
+ headlineTranslation: string;
89
+ conciseSummaryOriginal: string;
90
+ conciseSummaryTranslation: string;
91
+ descriptionOriginal: string;
92
+ descriptionTranslation: string;
93
+ }
94
+ export declare enum WarningEventType {
95
+ WARNING = "WARNING",
96
+ EARLY_WARNING = "EARLY_WARNING"
97
+ }
98
+ export declare enum WarningEventMode {
99
+ ACTUAL = "ACTUAL",
100
+ TEST = "TEST"
101
+ }
102
+ export interface WarningEvent {
103
+ eventId?: string;
104
+ status?: PublicWarningStatus;
105
+ editor?: string;
106
+ lastUpdatedTime?: string;
107
+ phenomenon: string;
108
+ validFrom: string;
109
+ validUntil: string;
110
+ incident: string;
111
+ type?: 'warningsEvent';
112
+ warningEventType: WarningEventType;
113
+ warnings: WarningEventBody[];
114
+ texts: WarningEventTexts;
115
+ linked_to_id?: string;
116
+ mode: WarningEventMode;
117
+ }
118
+ export type Warning = PublicWarning | AirmetWarning | SigmetWarning | MaritimeWarning | EventWarningForWarningList;
73
119
  export {};
@@ -1,2 +1,4 @@
1
1
  import { uiTypes } from '@opengeoweb/store';
2
2
  export declare const publicWarningDialogType = uiTypes.DialogTypes.PublicWarnings;
3
+ export declare const warningEventDialogType = uiTypes.DialogTypes.WarningsEvent;
4
+ export declare const warningEventsSummaryDialogType = uiTypes.DialogTypes.WarningsEventSummary;
@@ -3,6 +3,7 @@ import type { PublicWarning } from '../store/warningsForm/types';
3
3
  export declare const testGeoJSON: GeoJSON.FeatureCollection;
4
4
  export declare function fakeErrorRequest<ReturnType>(error: string): Promise<ReturnType>;
5
5
  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'>])";
6
+ export declare const fakePostWarningEventError = "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'>])";
6
7
  export declare const testPublicWarning: PublicWarning;
7
8
  export declare const testDraftAirmet: Airmet | CancelAirmet;
8
9
  export declare const testPublishedAirmet: Airmet | CancelAirmet;
@@ -1,7 +1,7 @@
1
1
  import type { RequestHandler } from 'msw';
2
2
  import type { SigmetFromBackend } from '@opengeoweb/api';
3
3
  import type { DrawingFromBE, DrawingListItem } from '../../store/warningsDrawings/types';
4
- import type { AirmetWarning, MaritimeWarning, PublicWarning, SigmetWarning, Warning } from '../../store/warningsForm/types';
4
+ import type { AirmetWarning, MaritimeWarning, PublicWarning, SigmetWarning, Warning, WarningEvent } from '../../store/warningsForm/types';
5
5
  export declare const newSigmet: SigmetFromBackend;
6
6
  declare const drawingList: DrawingListItem[];
7
7
  declare const drawingsListFullContent: DrawingFromBE[];
@@ -11,11 +11,13 @@ declare const lengthWarningListWithoutExpiredWithdrawn: number;
11
11
  declare const sigmetList: SigmetWarning[];
12
12
  declare const airmetList: AirmetWarning[];
13
13
  declare const maritimeList: MaritimeWarning[];
14
+ declare const warningEventsList: WarningEvent[];
14
15
  declare const combinedWarnings: Warning[];
15
16
  declare const areaKeywordList: string[];
16
17
  export declare const publicWarningEndpoints: import("msw").HttpHandler[];
17
18
  export declare const maritimeWarningEndpoints: import("msw").HttpHandler[];
18
19
  export declare const drawingEndpoints: import("msw").HttpHandler[];
20
+ export declare const warningEventsEndpoints: import("msw").HttpHandler[];
19
21
  export declare const makeWarningsHandler: (result: Warning[]) => RequestHandler;
20
22
  declare const requestHandlers: import("msw").HttpHandler[];
21
- export { drawingList, predefinedAreaList, drawingsListFullContent, warningList, lengthWarningListWithoutExpiredWithdrawn, sigmetList, airmetList, combinedWarnings, areaKeywordList, requestHandlers, maritimeList, };
23
+ export { drawingList, predefinedAreaList, drawingsListFullContent, warningList, lengthWarningListWithoutExpiredWithdrawn, sigmetList, airmetList, combinedWarnings, areaKeywordList, requestHandlers, maritimeList, warningEventsList, };
@@ -1,7 +1,9 @@
1
1
  import type { RefObject } from 'react';
2
+ import React from 'react';
2
3
  import type { PickedFilterState, OptionKey } from '../components/FilterList/filter-hooks';
4
+ import type { FormError } from '../store/warningsEventForm/reducer';
3
5
  import { PublicWarningStatus } from '../store/warningsForm/types';
4
- import type { Warning } from '../store/warningsForm/types';
6
+ import type { Warning, WarningEvent, EventWarningForWarningList } from '../store/warningsForm/types';
5
7
  export declare const ERROR_NOT_FOUND = "Request failed with status code 400";
6
8
  export declare const MOCK_USERNAME = "user.name";
7
9
  interface OverflowCheckResult {
@@ -15,4 +17,11 @@ export declare const getWarningWithProposalId: (warning: Warning) => Warning;
15
17
  export default function useOverflowCheck(text: string): OverflowCheckResult;
16
18
  export declare const getTranslationKey: (optionId: OptionKey<keyof PickedFilterState>, id: string) => string;
17
19
  export declare const getIdFromUrl: (url: string) => string;
20
+ export declare const transformWarningEventsToWarningFormat: (warningEventFromBE: WarningEvent) => EventWarningForWarningList[];
21
+ export declare const useScrollTopOnError: (error: FormError) => React.RefObject<HTMLDivElement | null>;
22
+ interface FormErrors {
23
+ title: string;
24
+ errors: React.ReactElement[];
25
+ }
26
+ export declare const getErrors: (errors: string) => null | FormErrors;
18
27
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/warnings",
3
- "version": "19.2.0",
3
+ "version": "19.4.0",
4
4
  "description": "GeoWeb warinings library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -33,7 +33,7 @@
33
33
  "@reduxjs/toolkit": "^2.6.1",
34
34
  "@opengeoweb/snackbar": "*",
35
35
  "react-window": "^2.2.6",
36
- "axios": "^1.16.0",
36
+ "axios": "^1.18.0",
37
37
  "@opengeoweb/core": "*",
38
38
  "@opengeoweb/webmap": "*",
39
39
  "@opengeoweb/authentication": "*",