@opengeoweb/warnings 10.2.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.
- package/index.esm.js +540 -253
- package/package.json +1 -1
- package/src/index.d.ts +0 -2
- package/src/lib/api/warning-api/api.d.ts +2 -2
- package/src/lib/api/warning-api/hooks.d.ts +3 -3
- package/src/lib/components/AreaObjectLoader/AreaObjectLoader.d.ts +1 -1
- package/src/lib/components/AreaObjectLoader/AreasObjects.d.ts +1 -1
- package/src/lib/components/FilterList/filter-hooks.d.ts +2 -2
- package/src/lib/components/ObjectManager/ObjectManager.d.ts +1 -1
- package/src/lib/components/ObjectManager/Objects.d.ts +1 -1
- package/src/lib/components/PublicWarningList/PublicWarningList.d.ts +1 -1
- package/src/lib/components/PublicWarningList/WarningListItemMenu.d.ts +4 -3
- package/src/lib/components/PublicWarningsForm/PublicWarningsForm.d.ts +1 -1
- package/src/lib/components/WarningsModuleProvider/WarningsModuleProvider.spec.d.ts +1 -0
- package/src/lib/store/index.d.ts +2 -1
- package/src/lib/store/publicWarningForm/index.d.ts +1 -1
- package/src/lib/store/publicWarningForm/reducer.d.ts +6 -7
- package/src/lib/store/publicWarningForm/selectors.d.ts +1 -1
- package/src/lib/store/publicWarningForm/types.d.ts +16 -4
- package/src/lib/store/publicWarnings/index.d.ts +1 -1
- package/src/lib/store/publicWarnings/reducer.d.ts +5 -5
- package/src/lib/store/store.d.ts +15 -0
- package/src/lib/store/types.d.ts +1 -1
- package/src/lib/store/warningsDrawings/index.d.ts +2 -0
- package/src/lib/store/warningsDrawings/listener.d.ts +2 -0
- package/src/lib/store/{drawings → warningsDrawings}/reducer.d.ts +1 -2
- package/src/lib/store/warningsDrawings/reducer.spec.d.ts +1 -0
- package/src/lib/store/warningsDrawings/selectors.spec.d.ts +1 -0
- package/src/lib/storybookUtils/testUtils.d.ts +2 -0
- package/src/lib/utils/api.d.ts +1 -1
- package/src/lib/utils/fakeApi/index.d.ts +11 -9
- package/src/lib/utils/fakeApi.d.ts +1 -1
- package/src/lib/utils/sig-airmet-util.d.ts +7 -4
- package/src/lib/store/config.d.ts +0 -9
- package/src/lib/store/drawings/index.d.ts +0 -2
- package/src/lib/store/drawings/listener.d.ts +0 -2
- package/src/lib/utils/testUtils.d.ts +0 -4
- /package/src/lib/{store/drawings/reducer.spec.d.ts → components/PublicWarningList/PublicWarningListConnect.confirmation.integration.spec.d.ts} +0 -0
- /package/src/lib/{store/drawings/selectors.spec.d.ts → components/PublicWarningList/PublicWarningListConnect.draft.integration.spec.d.ts} +0 -0
- /package/src/lib/store/{drawings → warningsDrawings}/selectors.d.ts +0 -0
- /package/src/lib/store/{drawings → warningsDrawings}/types.d.ts +0 -0
- /package/src/lib/store/{drawings → warningsDrawings}/utils.d.ts +0 -0
package/index.esm.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { useDispatch, useSelector } from 'react-redux';
|
|
3
3
|
import { Polygons, Share, ExitDomain, Edit, Delete, DrawPolygon, Visibility, Add, CoastalEvent, TemperatureLow, TemperatureHigh, Rain, Snow, Lightning, Fog, Wind, Thunderstorm, VulcanicEruption, Haze, FreezingPrecipitation, ModerateAircraftIcing, SevereAircraftIcing, ModerateTurbulence, SevereTurbulence, SandStorm, RadioactiveMaterials, breakpoints, Options, Close, ChevronDown, ChevronUp, Copy, Update, Success, Expire, Remove, ArrowUpCompact, ArrowDownCompact } from '@opengeoweb/theme';
|
|
4
|
-
import { uiTypes, uiActions, getSingularDrawtoolDrawLayerId,
|
|
4
|
+
import { uiTypes, uiActions, getSingularDrawtoolDrawLayerId, drawingToolSelectors, layerSelectors, uiSelectors, drawingToolActions, layerActions, useSetupDialog, selectorMemoizationOptions, useUpdateSharedData, layersListener, drawingToolListener, layerReducer, uiReducer, drawingToolReducer } from '@opengeoweb/store';
|
|
5
5
|
import { defaultPolygon, emptyGeoJSON, MapControlButton, getIcon, rewindGeometry, getGeoJSONPropertyValue, currentlySupportedDrawModes, defaultLayers, MapView, MapViewLayer, getFeatureExtent } from '@opengeoweb/webmap-react';
|
|
6
6
|
import { SHARED_NAMESPACE, useConfirmationDialog, ToggleMenu, dateUtils, calculateStartSize, ToolContainerDraggable, AlertBanner, ConfirmationDialog, getAxiosErrorMessage, usePrevious, CustomIconButton, CustomTooltip, Avatar, getInitials, SwitchButton, CustomToggleButton, Filter, FilterChip, FilterOption, StatusTag, LastUpdateTime, ErrorBoundary, isAxiosError as isAxiosError$1 } from '@opengeoweb/shared';
|
|
7
|
-
import { createEntityAdapter, createSlice, createSelector, createListenerMiddleware, isAnyOf } from '@reduxjs/toolkit';
|
|
7
|
+
import { createEntityAdapter, createSlice, createSelector, createListenerMiddleware, isAnyOf, combineReducers, configureStore } from '@reduxjs/toolkit';
|
|
8
8
|
import 'i18next';
|
|
9
9
|
import { useTranslation } from 'react-i18next';
|
|
10
10
|
import '@opengeoweb/core';
|
|
11
11
|
import { FORM_FIELDS_NAMESPACE, ReactHookFormHiddenInput, isValidGeoJsonCoordinates, ReactHookFormSelect, ReactHookFormTextField, ReactHookFormProvider, defaultFormOptions, useDraftFormHelpers, errorMessages, ReactHookFormDateTime, isXHoursBefore, isXHoursAfter, isEmpty } from '@opengeoweb/form-fields';
|
|
12
12
|
import { LayerType, generateMapId, getWMJSMapById, getGeoCoordFromLatLong, WMBBOX } from '@opengeoweb/webmap';
|
|
13
|
-
import { airmetConfig, sigmetConfig, SigmetForm, isInstanceOfCancelSigmet, AirmetForm, isInstanceOfCancelAirmet, getDefaultValidUntilValue, getProductFormMode } from '@opengeoweb/sigmet-airmet';
|
|
14
|
-
import { snackbarActions, snackbarTypes } from '@opengeoweb/snackbar';
|
|
13
|
+
import { airmetConfig, sigmetConfig, SigmetForm, isInstanceOfCancelSigmet, AirmetForm, isInstanceOfCancelAirmet, getDefaultValidUntilValue, getProductFormMode, ProductAction } from '@opengeoweb/sigmet-airmet';
|
|
14
|
+
import { snackbarActions, snackbarTypes, snackbarListener, snackbarReducer } from '@opengeoweb/snackbar';
|
|
15
15
|
import * as React from 'react';
|
|
16
16
|
import React__default, { useState, useEffect, useRef, useMemo, useCallback } from 'react';
|
|
17
17
|
import { styled, Box, Typography, ListItem, Grid2, Paper, ListItemButton, Stack, LinearProgress, Button, FormHelperText, MenuItem, Tabs, Tab, Card, CardContent, CircularProgress, Menu, DialogTitle, DialogContent, Switch, ListItemText } from '@mui/material';
|
|
@@ -19,8 +19,8 @@ import { VariableSizeList } from 'react-window';
|
|
|
19
19
|
import AutoSizer from 'react-virtualized-auto-sizer';
|
|
20
20
|
import { getApi, createApiInstance, createNonAuthApiInstance, createFakeApiInstance, ApiProvider, AirmetPhenomena, SigmetPhenomena, getHeaders, handleResponse, useAuthQuery, useAuthenticationContext, ProductStatus, optimisticUpdate } from '@opengeoweb/api';
|
|
21
21
|
import { rest } from 'msw';
|
|
22
|
+
import { concat, isEqual, cloneDeep, clamp, groupBy, pick, assign } from 'lodash';
|
|
22
23
|
import { useFormContext } from 'react-hook-form';
|
|
23
|
-
import { isEqual, cloneDeep, clamp, groupBy, pick, assign } from 'lodash';
|
|
24
24
|
import { getConfig, useAuthenticationContext as useAuthenticationContext$1 } from '@opengeoweb/authentication';
|
|
25
25
|
import { useQueryClient, useMutation } from '@tanstack/react-query';
|
|
26
26
|
import { isAxiosError } from 'axios';
|
|
@@ -1072,8 +1072,8 @@ var slice$2 = createSlice({
|
|
|
1072
1072
|
});
|
|
1073
1073
|
}
|
|
1074
1074
|
});
|
|
1075
|
-
var
|
|
1076
|
-
|
|
1075
|
+
var warningsDrawingsReducer = slice$2.reducer,
|
|
1076
|
+
warningsDrawingsActions = slice$2.actions;
|
|
1077
1077
|
|
|
1078
1078
|
/* *
|
|
1079
1079
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -1144,7 +1144,7 @@ var useCloseDrawDialog = function useCloseDrawDialog(_ref) {
|
|
|
1144
1144
|
var dispatch = useDispatch();
|
|
1145
1145
|
var drawLayerId = getSingularDrawtoolDrawLayerId(mapId);
|
|
1146
1146
|
var drawDialogActiveDrawModeId = useSelector(function (store) {
|
|
1147
|
-
return
|
|
1147
|
+
return drawingToolSelectors.getActiveDrawModeId(store, drawingDialogType);
|
|
1148
1148
|
});
|
|
1149
1149
|
var featureLayerContainsGeoJSON = useSelector(function (store) {
|
|
1150
1150
|
return layerSelectors.getHasFeatureLayerGeoJSON(store, drawLayerId);
|
|
@@ -1204,7 +1204,7 @@ var useCloseDrawDialog = function useCloseDrawDialog(_ref) {
|
|
|
1204
1204
|
source: source
|
|
1205
1205
|
}));
|
|
1206
1206
|
// reset all drawings fields
|
|
1207
|
-
dispatch(
|
|
1207
|
+
dispatch(warningsDrawingsActions.setDrawValues({
|
|
1208
1208
|
drawingInstanceId: drawingDialogType,
|
|
1209
1209
|
objectName: '',
|
|
1210
1210
|
id: ''
|
|
@@ -1251,7 +1251,7 @@ var useCloseObjectDialog = function useCloseObjectDialog(_ref3) {
|
|
|
1251
1251
|
}
|
|
1252
1252
|
// reset active object
|
|
1253
1253
|
if (shouldReset) {
|
|
1254
|
-
dispatch(
|
|
1254
|
+
dispatch(warningsDrawingsActions.setDrawValues({
|
|
1255
1255
|
drawingInstanceId: drawingDialogType,
|
|
1256
1256
|
objectName: '',
|
|
1257
1257
|
id: ''
|
|
@@ -1310,7 +1310,7 @@ var useObjectDrawDialogAction = function useObjectDrawDialogAction(_ref5) {
|
|
|
1310
1310
|
drawDialogLayerHasGeoJSON = _useDialogOptions.hasGeoJSON,
|
|
1311
1311
|
drawDialogLayerId = _useDialogOptions.dialogLayerId;
|
|
1312
1312
|
var drawDialogActiveDrawModeId = useSelector(function (store) {
|
|
1313
|
-
return
|
|
1313
|
+
return drawingToolSelectors.getActiveDrawModeId(store, drawingDialogType);
|
|
1314
1314
|
});
|
|
1315
1315
|
var isFormDirty = useSelector(function (store) {
|
|
1316
1316
|
return getWarningFormDirty(store, drawingDialogType);
|
|
@@ -2138,7 +2138,8 @@ var slice$1 = createSlice({
|
|
|
2138
2138
|
removeArea: function removeArea(draft, action) {
|
|
2139
2139
|
var area = action.payload.area;
|
|
2140
2140
|
if (draft.warning) {
|
|
2141
|
-
var
|
|
2141
|
+
var _draft$warning$warnin2;
|
|
2142
|
+
var removeAreas = (_draft$warning$warnin2 = draft.warning.warningDetail.areas) == null ? void 0 : _draft$warning$warnin2.filter(function (existingArea) {
|
|
2142
2143
|
return existingArea.objectName !== area.objectName;
|
|
2143
2144
|
});
|
|
2144
2145
|
draft.warning.warningDetail.areas = removeAreas;
|
|
@@ -2162,7 +2163,7 @@ var slice$1 = createSlice({
|
|
|
2162
2163
|
draft.warning = warning;
|
|
2163
2164
|
draft.selectedWarningId = warning == null ? void 0 : warning.id;
|
|
2164
2165
|
draft.formState = formState;
|
|
2165
|
-
draft.warningType = warningType;
|
|
2166
|
+
draft.warningType = (warning == null ? void 0 : warning.type) || warningType;
|
|
2166
2167
|
draft.panelId = panelId;
|
|
2167
2168
|
},
|
|
2168
2169
|
// publish warning
|
|
@@ -2236,8 +2237,8 @@ var slice$1 = createSlice({
|
|
|
2236
2237
|
});
|
|
2237
2238
|
}
|
|
2238
2239
|
});
|
|
2239
|
-
var
|
|
2240
|
-
|
|
2240
|
+
var publicWarningFormReducer = slice$1.reducer,
|
|
2241
|
+
publicWarningFormActions = slice$1.actions;
|
|
2241
2242
|
|
|
2242
2243
|
var ObjectManagerConnect = function ObjectManagerConnect(_ref) {
|
|
2243
2244
|
var bounds = _ref.bounds,
|
|
@@ -2337,7 +2338,7 @@ var ObjectManagerConnect = function ObjectManagerConnect(_ref) {
|
|
|
2337
2338
|
while (1) switch (_context.prev = _context.next) {
|
|
2338
2339
|
case 0:
|
|
2339
2340
|
isActive = drawing.id === (currrentDrawing == null ? void 0 : currrentDrawing.id);
|
|
2340
|
-
dispatch(
|
|
2341
|
+
dispatch(warningsDrawingsActions.setDrawValues({
|
|
2341
2342
|
objectName: drawing.objectName,
|
|
2342
2343
|
drawingInstanceId: drawingDialogType,
|
|
2343
2344
|
id: !isActive ? drawing.id : ''
|
|
@@ -2383,7 +2384,7 @@ var ObjectManagerConnect = function ObjectManagerConnect(_ref) {
|
|
|
2383
2384
|
_yield$warningsApi$ge = _context2.sent;
|
|
2384
2385
|
data = _yield$warningsApi$ge.data;
|
|
2385
2386
|
// update draw tool values
|
|
2386
|
-
dispatch(
|
|
2387
|
+
dispatch(warningsDrawingsActions.setDrawValues({
|
|
2387
2388
|
objectName: data.objectName,
|
|
2388
2389
|
id: drawingId,
|
|
2389
2390
|
drawingInstanceId: drawingDialogType
|
|
@@ -2427,7 +2428,8 @@ var ObjectManagerConnect = function ObjectManagerConnect(_ref) {
|
|
|
2427
2428
|
geoJSON: object.geoJSON,
|
|
2428
2429
|
objectName: object.objectName
|
|
2429
2430
|
}]
|
|
2430
|
-
}
|
|
2431
|
+
},
|
|
2432
|
+
type: 'public'
|
|
2431
2433
|
}
|
|
2432
2434
|
}));
|
|
2433
2435
|
};
|
|
@@ -6863,6 +6865,271 @@ var warningListJSON = [
|
|
|
6863
6865
|
}
|
|
6864
6866
|
];
|
|
6865
6867
|
|
|
6868
|
+
var sigmetListJSON$1 = [
|
|
6869
|
+
{
|
|
6870
|
+
id: "57eaf6c8-a247-11ef-ac05-12e0cc025418",
|
|
6871
|
+
lastUpdatedTime: "2024-11-14T05:14:37",
|
|
6872
|
+
productStatus: "DRAFT",
|
|
6873
|
+
sigmetAirmetDetails: {
|
|
6874
|
+
},
|
|
6875
|
+
warningDetail: {
|
|
6876
|
+
areas: [
|
|
6877
|
+
{
|
|
6878
|
+
geoJSON: {
|
|
6879
|
+
features: [
|
|
6880
|
+
{
|
|
6881
|
+
geometry: {
|
|
6882
|
+
type: "Polygon",
|
|
6883
|
+
coordinates: [
|
|
6884
|
+
[
|
|
6885
|
+
[
|
|
6886
|
+
10,
|
|
6887
|
+
20
|
|
6888
|
+
],
|
|
6889
|
+
[
|
|
6890
|
+
15,
|
|
6891
|
+
25
|
|
6892
|
+
],
|
|
6893
|
+
[
|
|
6894
|
+
20,
|
|
6895
|
+
20
|
|
6896
|
+
],
|
|
6897
|
+
[
|
|
6898
|
+
10,
|
|
6899
|
+
20
|
|
6900
|
+
]
|
|
6901
|
+
]
|
|
6902
|
+
]
|
|
6903
|
+
},
|
|
6904
|
+
properties: {
|
|
6905
|
+
selectionType: "fir",
|
|
6906
|
+
stroke: "#0075a9",
|
|
6907
|
+
"stroke-width": 1.5,
|
|
6908
|
+
"stroke-opacity": 1,
|
|
6909
|
+
fill: "#0075a9",
|
|
6910
|
+
"fill-opacity": 0.4
|
|
6911
|
+
},
|
|
6912
|
+
type: "Feature"
|
|
6913
|
+
}
|
|
6914
|
+
],
|
|
6915
|
+
type: "FeatureCollection"
|
|
6916
|
+
},
|
|
6917
|
+
objectName: "ENOB"
|
|
6918
|
+
}
|
|
6919
|
+
],
|
|
6920
|
+
descriptionOriginal: "",
|
|
6921
|
+
descriptionTranslation: "",
|
|
6922
|
+
firName: "BODOE OCEANIC FIR",
|
|
6923
|
+
incident: "-1",
|
|
6924
|
+
level: "SIG",
|
|
6925
|
+
phenomenon: "EMBD_TSGR",
|
|
6926
|
+
probability: "0",
|
|
6927
|
+
validFrom: "2024-11-14T05:30:14Z",
|
|
6928
|
+
validUntil: "2024-11-14T07:30:14Z"
|
|
6929
|
+
}
|
|
6930
|
+
},
|
|
6931
|
+
{
|
|
6932
|
+
id: "fc4c0002-8d32-11ef-888b-ee87a1644661",
|
|
6933
|
+
lastUpdatedTime: "2024-11-14T05:14:06",
|
|
6934
|
+
productStatus: "EXPIRED",
|
|
6935
|
+
sigmetAirmetDetails: {
|
|
6936
|
+
},
|
|
6937
|
+
warningDetail: {
|
|
6938
|
+
areas: [
|
|
6939
|
+
{
|
|
6940
|
+
geoJSON: null,
|
|
6941
|
+
objectName: "EFIN"
|
|
6942
|
+
}
|
|
6943
|
+
],
|
|
6944
|
+
descriptionOriginal: "",
|
|
6945
|
+
descriptionTranslation: "",
|
|
6946
|
+
firName: "HELSINKI FIR",
|
|
6947
|
+
incident: "T01",
|
|
6948
|
+
level: "SIG",
|
|
6949
|
+
phenomenon: "OBSC_TS",
|
|
6950
|
+
probability: "0",
|
|
6951
|
+
validFrom: "2024-11-13T05:30:14Z",
|
|
6952
|
+
validUntil: "2024-11-13T07:30:14Z"
|
|
6953
|
+
}
|
|
6954
|
+
},
|
|
6955
|
+
{
|
|
6956
|
+
id: "fe4a14bc-8a90-11ef-9090-6c08d8abf452",
|
|
6957
|
+
lastUpdatedTime: "2024-10-08T08:10:30",
|
|
6958
|
+
productStatus: "PUBLISHED",
|
|
6959
|
+
sigmetAirmetDetails: {
|
|
6960
|
+
},
|
|
6961
|
+
warningDetail: {
|
|
6962
|
+
areas: [
|
|
6963
|
+
{
|
|
6964
|
+
geoJSON: null,
|
|
6965
|
+
objectName: "EHAA"
|
|
6966
|
+
}
|
|
6967
|
+
],
|
|
6968
|
+
descriptionOriginal: "",
|
|
6969
|
+
descriptionTranslation: "",
|
|
6970
|
+
firName: "AMSTERDAM FIR",
|
|
6971
|
+
incident: "Z01",
|
|
6972
|
+
level: "SIG",
|
|
6973
|
+
phenomenon: "SEV_ICE",
|
|
6974
|
+
probability: "0",
|
|
6975
|
+
validFrom: "2024-10-08T05:30:14Z",
|
|
6976
|
+
validUntil: "2024-10-08T09:30:14Z"
|
|
6977
|
+
}
|
|
6978
|
+
},
|
|
6979
|
+
{
|
|
6980
|
+
id: "fe4a14bc-8a90-11ef-9090-6c08d8abf453",
|
|
6981
|
+
lastUpdatedTime: "2024-10-08T08:10:30",
|
|
6982
|
+
productStatus: "CANCELLED",
|
|
6983
|
+
warningDetail: {
|
|
6984
|
+
areas: [
|
|
6985
|
+
{
|
|
6986
|
+
geoJSON: null,
|
|
6987
|
+
objectName: "ENOR"
|
|
6988
|
+
}
|
|
6989
|
+
],
|
|
6990
|
+
descriptionOriginal: "",
|
|
6991
|
+
descriptionTranslation: "",
|
|
6992
|
+
firName: "POLARIS FIR",
|
|
6993
|
+
incident: "U01",
|
|
6994
|
+
level: "SIG",
|
|
6995
|
+
phenomenon: "SEV_TURB",
|
|
6996
|
+
probability: "0",
|
|
6997
|
+
validFrom: "2024-10-08T05:30:14Z",
|
|
6998
|
+
validUntil: "2024-10-08T09:30:14Z"
|
|
6999
|
+
},
|
|
7000
|
+
sigmetAirmetDetails: {
|
|
7001
|
+
sequence: "U01",
|
|
7002
|
+
productStatus: "CANCELLED"
|
|
7003
|
+
}
|
|
7004
|
+
},
|
|
7005
|
+
{
|
|
7006
|
+
id: "fe4a14bc-8a90-11ef-9090-6c08d8abf454",
|
|
7007
|
+
lastUpdatedTime: "2024-10-08T08:10:30",
|
|
7008
|
+
productStatus: "PUBLISHED",
|
|
7009
|
+
warningDetail: {
|
|
7010
|
+
areas: [
|
|
7011
|
+
{
|
|
7012
|
+
geoJSON: null,
|
|
7013
|
+
objectName: "ENOR"
|
|
7014
|
+
}
|
|
7015
|
+
],
|
|
7016
|
+
descriptionOriginal: "",
|
|
7017
|
+
descriptionTranslation: "",
|
|
7018
|
+
firName: "POLARIS FIR",
|
|
7019
|
+
incident: "U02",
|
|
7020
|
+
level: "SIG",
|
|
7021
|
+
phenomenon: "SEV_TURB",
|
|
7022
|
+
probability: "0",
|
|
7023
|
+
validFrom: "2024-10-08T05:30:14Z",
|
|
7024
|
+
validUntil: "2024-10-08T09:30:14Z"
|
|
7025
|
+
},
|
|
7026
|
+
sigmetAirmetDetails: {
|
|
7027
|
+
cancelsSigmetSequenceId: "U01",
|
|
7028
|
+
sequence: "U02",
|
|
7029
|
+
productStatus: "PUBLISHED"
|
|
7030
|
+
}
|
|
7031
|
+
}
|
|
7032
|
+
];
|
|
7033
|
+
|
|
7034
|
+
var airmetListJSON$1 = [
|
|
7035
|
+
{
|
|
7036
|
+
id: "02d3727a-b190-11ef-ba31-067f7750936d",
|
|
7037
|
+
lastUpdatedTime: "2024-12-03T16:02:35",
|
|
7038
|
+
productStatus: "DRAFT",
|
|
7039
|
+
sigmetAirmetDetails: {
|
|
7040
|
+
},
|
|
7041
|
+
warningDetail: {
|
|
7042
|
+
areas: [
|
|
7043
|
+
{
|
|
7044
|
+
geoJSON: null,
|
|
7045
|
+
objectName: "EHAA"
|
|
7046
|
+
}
|
|
7047
|
+
],
|
|
7048
|
+
descriptionOriginal: "",
|
|
7049
|
+
descriptionTranslation: "",
|
|
7050
|
+
firName: "AMSTERDAM FIR",
|
|
7051
|
+
incident: "-1",
|
|
7052
|
+
level: "AIR",
|
|
7053
|
+
phenomenon: "SFC_WIND",
|
|
7054
|
+
probability: "0",
|
|
7055
|
+
validFrom: "2024-12-03T17:00:09Z",
|
|
7056
|
+
validUntil: "2024-12-03T21:00:09Z"
|
|
7057
|
+
}
|
|
7058
|
+
},
|
|
7059
|
+
{
|
|
7060
|
+
id: "1a868884-9076-11ef-8e82-5a063b90cdf6",
|
|
7061
|
+
lastUpdatedTime: "2024-10-22T13:03:56",
|
|
7062
|
+
productStatus: "DRAFT",
|
|
7063
|
+
sigmetAirmetDetails: {
|
|
7064
|
+
},
|
|
7065
|
+
warningDetail: {
|
|
7066
|
+
areas: [
|
|
7067
|
+
{
|
|
7068
|
+
geoJSON: null,
|
|
7069
|
+
objectName: "EHAA"
|
|
7070
|
+
}
|
|
7071
|
+
],
|
|
7072
|
+
descriptionOriginal: "",
|
|
7073
|
+
descriptionTranslation: "",
|
|
7074
|
+
firName: "AMSTERDAM FIR",
|
|
7075
|
+
incident: "-1",
|
|
7076
|
+
level: "AIR",
|
|
7077
|
+
phenomenon: "MOD_TURB",
|
|
7078
|
+
probability: "0",
|
|
7079
|
+
validFrom: "2024-10-22T15:00:09Z",
|
|
7080
|
+
validUntil: "2024-10-22T18:00:09Z"
|
|
7081
|
+
}
|
|
7082
|
+
},
|
|
7083
|
+
{
|
|
7084
|
+
id: "4ac7fc94-c670-11ee-8ace-92491e683685",
|
|
7085
|
+
lastUpdatedTime: "2024-02-08T12:26:31.803468",
|
|
7086
|
+
productStatus: "EXPIRED",
|
|
7087
|
+
sigmetAirmetDetails: {
|
|
7088
|
+
},
|
|
7089
|
+
warningDetail: {
|
|
7090
|
+
areas: [
|
|
7091
|
+
{
|
|
7092
|
+
geoJSON: null,
|
|
7093
|
+
objectName: "ENOR"
|
|
7094
|
+
}
|
|
7095
|
+
],
|
|
7096
|
+
descriptionOriginal: "",
|
|
7097
|
+
descriptionTranslation: "",
|
|
7098
|
+
firName: "POLARIS FIR",
|
|
7099
|
+
incident: "T01",
|
|
7100
|
+
level: "AIR",
|
|
7101
|
+
phenomenon: "OBSC_TS",
|
|
7102
|
+
probability: "0",
|
|
7103
|
+
validFrom: "2024-02-08T09:00:09Z",
|
|
7104
|
+
validUntil: "2024-02-08T11:00:09Z"
|
|
7105
|
+
}
|
|
7106
|
+
},
|
|
7107
|
+
{
|
|
7108
|
+
id: "9dbcd4c6-c4c0-11ee-a0e9-9e39e246af14",
|
|
7109
|
+
lastUpdatedTime: "2024-02-06T07:15:18.166785",
|
|
7110
|
+
productStatus: "PUBLISHED",
|
|
7111
|
+
sigmetAirmetDetails: {
|
|
7112
|
+
},
|
|
7113
|
+
warningDetail: {
|
|
7114
|
+
areas: [
|
|
7115
|
+
{
|
|
7116
|
+
geoJSON: null,
|
|
7117
|
+
objectName: "EHAA"
|
|
7118
|
+
}
|
|
7119
|
+
],
|
|
7120
|
+
descriptionOriginal: "",
|
|
7121
|
+
descriptionTranslation: "",
|
|
7122
|
+
firName: "AMSTERDAM FIR",
|
|
7123
|
+
incident: "Z01",
|
|
7124
|
+
level: "AIR",
|
|
7125
|
+
phenomenon: "SEV_ICE",
|
|
7126
|
+
probability: "0",
|
|
7127
|
+
validFrom: "2024-02-06T08:00:09Z",
|
|
7128
|
+
validUntil: "2024-02-06T12:00:09Z"
|
|
7129
|
+
}
|
|
7130
|
+
}
|
|
7131
|
+
];
|
|
7132
|
+
|
|
6866
7133
|
var airmetListJSON = [
|
|
6867
7134
|
{
|
|
6868
7135
|
uuid: "02d3727a-b190-11ef-ba31-067f7750936d",
|
|
@@ -7167,14 +7434,14 @@ var sigmetListJSON = [
|
|
|
7167
7434
|
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
7168
7435
|
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
7169
7436
|
* */
|
|
7170
|
-
var airmetList = airmetListJSON;
|
|
7171
|
-
var sigmetList = sigmetListJSON;
|
|
7437
|
+
var airmetList$1 = airmetListJSON;
|
|
7438
|
+
var sigmetList$1 = sigmetListJSON;
|
|
7172
7439
|
var fakeSigmetTAC = 'EHAA SIGMET 1 VALID 121249/121449 EHDB- EHAA AMSTERDAM FIR FRQ TS OBS ENTIRE FIR FL010 STNR WKN';
|
|
7173
7440
|
var fakeAirmetTAC = 'EHAA AIRMET -1 VALID 310700/311100 EHDB- EHAA AMSTERDAM FIR ISOL CB OBS ENTIRE FIR FL020 STNR NC';
|
|
7174
7441
|
[rest.get(/^.*\/airmetlist$/, function (_, res, ctx) {
|
|
7175
|
-
return res(ctx.status(200), ctx.json(airmetList));
|
|
7442
|
+
return res(ctx.status(200), ctx.json(airmetList$1));
|
|
7176
7443
|
}), rest.get(/^.*\/sigmetlist$/, function (_, res, ctx) {
|
|
7177
|
-
return res(ctx.status(200), ctx.json(sigmetList));
|
|
7444
|
+
return res(ctx.status(200), ctx.json(sigmetList$1));
|
|
7178
7445
|
}), rest.get(/^.*\/airmet-config$/, function (_, res, ctx) {
|
|
7179
7446
|
return res(ctx.status(200), ctx.json(airmetConfig));
|
|
7180
7447
|
}), rest.get(/^.*\/sigmet-config$/, function (_, res, ctx) {
|
|
@@ -7206,16 +7473,31 @@ var fakeAirmetTAC = 'EHAA AIRMET -1 VALID 310700/311100 EHDB- EHAA AMSTERDAM FIR
|
|
|
7206
7473
|
* */
|
|
7207
7474
|
var drawingList = drawingListJSON;
|
|
7208
7475
|
var drawingsListFullContent = drawingsListFullContentJSON;
|
|
7209
|
-
var warningList = warningListJSON
|
|
7476
|
+
var warningList = warningListJSON.map(function (pw) {
|
|
7477
|
+
return Object.assign({}, pw, {
|
|
7478
|
+
type: 'public'
|
|
7479
|
+
});
|
|
7480
|
+
});
|
|
7210
7481
|
warningList.filter(function (warning) {
|
|
7211
7482
|
return warning.status !== 'EXPIRED' && warning.status !== 'WITHDRAWN';
|
|
7212
7483
|
}).length;
|
|
7484
|
+
var sigmetList = sigmetListJSON$1.map(function (s) {
|
|
7485
|
+
return Object.assign({}, s, {
|
|
7486
|
+
type: 'sigmet'
|
|
7487
|
+
});
|
|
7488
|
+
});
|
|
7489
|
+
var airmetList = airmetListJSON$1.map(function (a) {
|
|
7490
|
+
return Object.assign({}, a, {
|
|
7491
|
+
type: 'airmet'
|
|
7492
|
+
});
|
|
7493
|
+
});
|
|
7494
|
+
concat(warningList, sigmetList, airmetList);
|
|
7213
7495
|
var areaKeywordList = ['North Sea districts', 'Coastal Districts', 'KNMI Specific', 'Objects', 'Baltic areas', 'NL', 'FI', 'METNorway Specific', 'Provinces', 'FIR', 'Countries'];
|
|
7214
7496
|
[rest.get(/^.*\/warnings$/, function (req, res, ctx) {
|
|
7215
7497
|
// respond using a mocked JSON body
|
|
7216
|
-
return res(ctx.json(warningList));
|
|
7498
|
+
return res(ctx.status(200), ctx.json(warningList));
|
|
7217
7499
|
}), rest.post(/^.*\/warnings\/(.*)$/, function (req, res, ctx) {
|
|
7218
|
-
return res(ctx.json({}));
|
|
7500
|
+
return res(ctx.status(200), ctx.json({}));
|
|
7219
7501
|
})];
|
|
7220
7502
|
|
|
7221
7503
|
/* *
|
|
@@ -7285,20 +7567,14 @@ var getApiRoutes = function getApiRoutes(axiosInstance) {
|
|
|
7285
7567
|
});
|
|
7286
7568
|
},
|
|
7287
7569
|
updateDrawing: function updateDrawing(drawingId, data) {
|
|
7288
|
-
// eslint-disable-next-line no-console
|
|
7289
|
-
console.log('api: save drawing', drawingId, data);
|
|
7290
7570
|
return axiosInstance.post("/drawings/" + drawingId + "/", data);
|
|
7291
7571
|
},
|
|
7292
7572
|
saveDrawingAs: function saveDrawingAs(data) {
|
|
7293
|
-
// eslint-disable-next-line no-console
|
|
7294
|
-
console.log('api: save drawing as', data);
|
|
7295
7573
|
return axiosInstance.post("/drawings/", data).then(function () {
|
|
7296
7574
|
return 'new-drawing-id';
|
|
7297
7575
|
});
|
|
7298
7576
|
},
|
|
7299
7577
|
deleteDrawing: function deleteDrawing(drawingId) {
|
|
7300
|
-
// eslint-disable-next-line no-console
|
|
7301
|
-
console.log('api: delete drawing', drawingId);
|
|
7302
7578
|
drawingList.splice(drawingList.findIndex(function (drawing) {
|
|
7303
7579
|
return drawing.id === drawingId;
|
|
7304
7580
|
}), 1);
|
|
@@ -7312,20 +7588,14 @@ var getApiRoutes = function getApiRoutes(axiosInstance) {
|
|
|
7312
7588
|
});
|
|
7313
7589
|
},
|
|
7314
7590
|
saveWarningAs: function saveWarningAs(data) {
|
|
7315
|
-
// eslint-disable-next-line no-console
|
|
7316
|
-
console.log('api: save warning as', data);
|
|
7317
7591
|
return axiosInstance.post("/warnings/", data).then(function () {
|
|
7318
7592
|
return 'new-warning-id';
|
|
7319
7593
|
});
|
|
7320
7594
|
},
|
|
7321
7595
|
updateWarning: function updateWarning(warningId, data) {
|
|
7322
|
-
// eslint-disable-next-line no-console
|
|
7323
|
-
console.log("api: update warning " + warningId, data);
|
|
7324
7596
|
return axiosInstance.post("/warnings/" + warningId + "/", data);
|
|
7325
7597
|
},
|
|
7326
7598
|
deleteWarning: function deleteWarning(warningId) {
|
|
7327
|
-
// eslint-disable-next-line no-console
|
|
7328
|
-
console.log('api: delete warning', warningId);
|
|
7329
7599
|
warningList.splice(warningList.findIndex(function (warning) {
|
|
7330
7600
|
return warning.id === warningId;
|
|
7331
7601
|
}), 1);
|
|
@@ -7333,7 +7603,7 @@ var getApiRoutes = function getApiRoutes(axiosInstance) {
|
|
|
7333
7603
|
}
|
|
7334
7604
|
};
|
|
7335
7605
|
};
|
|
7336
|
-
// used in storybook
|
|
7606
|
+
// used in storybook and tests
|
|
7337
7607
|
var createApi = function createApi() {
|
|
7338
7608
|
var instance = createFakeApiInstance();
|
|
7339
7609
|
return getApiRoutes(instance);
|
|
@@ -7819,7 +8089,7 @@ var DrawingToolFormConnect = function DrawingToolFormConnect() {
|
|
|
7819
8089
|
});
|
|
7820
8090
|
var drawToolId = drawingDialogType;
|
|
7821
8091
|
var drawTool = useSelector(function (store) {
|
|
7822
|
-
return
|
|
8092
|
+
return drawingToolSelectors.selectDrawToolById(store, drawToolId);
|
|
7823
8093
|
});
|
|
7824
8094
|
var layerFeatureGeoJSON = useSelector(function (store) {
|
|
7825
8095
|
return layerSelectors.getFeatureLayerGeoJSON(store, drawTool == null ? void 0 : drawTool.geoJSONLayerId);
|
|
@@ -7837,7 +8107,7 @@ var DrawingToolFormConnect = function DrawingToolFormConnect() {
|
|
|
7837
8107
|
return uiSelectors.getDialogError(store, drawToolId);
|
|
7838
8108
|
});
|
|
7839
8109
|
var onSubmitForm = React.useCallback(function (formValues) {
|
|
7840
|
-
dispatch(
|
|
8110
|
+
dispatch(warningsDrawingsActions.submitDrawValues({
|
|
7841
8111
|
geoJSON: formValues.geoJSON,
|
|
7842
8112
|
objectName: formValues.objectName,
|
|
7843
8113
|
scope: 'user',
|
|
@@ -7871,7 +8141,7 @@ var DrawingToolFormConnect = function DrawingToolFormConnect() {
|
|
|
7871
8141
|
}
|
|
7872
8142
|
}, [dispatch, drawTool == null ? void 0 : drawTool.activeDrawModeId, drawTool == null ? void 0 : drawTool.geoJSONLayerId, drawToolId]);
|
|
7873
8143
|
var onChangeName = React.useCallback(function (newName) {
|
|
7874
|
-
dispatch(
|
|
8144
|
+
dispatch(warningsDrawingsActions.setDrawValues({
|
|
7875
8145
|
objectName: newName,
|
|
7876
8146
|
id: (drawing == null ? void 0 : drawing.id) || '',
|
|
7877
8147
|
drawingInstanceId: drawingDialogType,
|
|
@@ -7879,7 +8149,7 @@ var DrawingToolFormConnect = function DrawingToolFormConnect() {
|
|
|
7879
8149
|
}));
|
|
7880
8150
|
}, [dispatch, drawing == null ? void 0 : drawing.id, drawing == null ? void 0 : drawing.isFormDirty]);
|
|
7881
8151
|
var onChangeFormDirty = React.useCallback(function (isFormDirty) {
|
|
7882
|
-
dispatch(
|
|
8152
|
+
dispatch(warningsDrawingsActions.setFormDirty({
|
|
7883
8153
|
drawingInstanceId: drawingDialogType,
|
|
7884
8154
|
isFormDirty: isFormDirty
|
|
7885
8155
|
}));
|
|
@@ -9527,7 +9797,7 @@ isAviationWarning) {
|
|
|
9527
9797
|
});
|
|
9528
9798
|
}
|
|
9529
9799
|
var Form = function Form(_ref5) {
|
|
9530
|
-
var _publicWarningDetails;
|
|
9800
|
+
var _publicWarningDetails, _publicWarningDetails2;
|
|
9531
9801
|
var defaultMapPreset = _ref5.defaultMapPreset,
|
|
9532
9802
|
_ref5$onSaveForm = _ref5.onSaveForm,
|
|
9533
9803
|
onSaveForm = _ref5$onSaveForm === void 0 ? function () {} : _ref5$onSaveForm,
|
|
@@ -9559,7 +9829,7 @@ var Form = function Form(_ref5) {
|
|
|
9559
9829
|
var _useTACApi = useTACApi(),
|
|
9560
9830
|
fetchSigmetTAC = _useTACApi.fetchSigmetTAC,
|
|
9561
9831
|
fetchAirmetTAC = _useTACApi.fetchAirmetTAC;
|
|
9562
|
-
var initialPublicWarningArea =
|
|
9832
|
+
var initialPublicWarningArea = (publicWarningDetails == null || (_publicWarningDetails = publicWarningDetails.areas) == null ? void 0 : _publicWarningDetails.length) && (publicWarningDetails == null || (_publicWarningDetails2 = publicWarningDetails.areas[0]) == null ? void 0 : _publicWarningDetails2.geoJSON);
|
|
9563
9833
|
var _React$useState = React.useState(initialPublicWarningArea),
|
|
9564
9834
|
warningGeoJSONFeature = _React$useState[0],
|
|
9565
9835
|
setWarningGeoJSONFeature = _React$useState[1];
|
|
@@ -10013,44 +10283,42 @@ var PublicWarningsFormConnect = function PublicWarningsFormConnect(_ref) {
|
|
|
10013
10283
|
warningType = _ref$warningType === void 0 ? 'public' : _ref$warningType,
|
|
10014
10284
|
mode = _ref.mode,
|
|
10015
10285
|
onFormSubmit = _ref.onFormSubmit;
|
|
10016
|
-
var publicWarning = useSelector(
|
|
10017
|
-
|
|
10018
|
-
|
|
10019
|
-
var
|
|
10020
|
-
return getPublicWarningObject(store);
|
|
10021
|
-
});
|
|
10022
|
-
var publicWarningFormAction = useSelector(function (store) {
|
|
10023
|
-
return getPublicWarningFormState(store);
|
|
10024
|
-
});
|
|
10025
|
-
var publicWarningFormError = useSelector(function (store) {
|
|
10026
|
-
return getPublicWarningFormError(store);
|
|
10027
|
-
});
|
|
10286
|
+
var publicWarning = useSelector(getPublicWarning);
|
|
10287
|
+
var publicWarningObject = useSelector(getPublicWarningObject);
|
|
10288
|
+
var publicWarningFormAction = useSelector(getPublicWarningFormState);
|
|
10289
|
+
var publicWarningFormError = useSelector(getPublicWarningFormError);
|
|
10028
10290
|
var _useAuthenticationCon = useAuthenticationContext$1(),
|
|
10029
10291
|
auth = _useAuthenticationCon.auth;
|
|
10030
10292
|
var isEditor = editor === (auth == null ? void 0 : auth.username) || false;
|
|
10031
10293
|
var dispatch = useDispatch();
|
|
10032
10294
|
var publishForm = function publishForm(newFormValues) {
|
|
10033
|
-
|
|
10034
|
-
|
|
10035
|
-
|
|
10036
|
-
|
|
10037
|
-
|
|
10038
|
-
|
|
10039
|
-
|
|
10295
|
+
if (warningType === 'public') {
|
|
10296
|
+
dispatch(publicWarningFormActions.publishWarning({
|
|
10297
|
+
publicWarning: {
|
|
10298
|
+
warningDetail: newFormValues,
|
|
10299
|
+
status: PublicWarningStatus.PUBLISHED,
|
|
10300
|
+
type: warningType
|
|
10301
|
+
},
|
|
10302
|
+
refetchWarnings: onFormSubmit
|
|
10303
|
+
}));
|
|
10304
|
+
}
|
|
10040
10305
|
};
|
|
10041
10306
|
var clearForm = function clearForm() {
|
|
10042
10307
|
dispatch(publicWarningFormActions.removeAllAreas());
|
|
10043
10308
|
};
|
|
10044
10309
|
var saveForm = function saveForm(newFormValues) {
|
|
10045
10310
|
var status = newFormValues.linked_to_id ? PublicWarningStatus.DRAFT_PUBLISHED : PublicWarningStatus.DRAFT;
|
|
10046
|
-
|
|
10047
|
-
|
|
10048
|
-
|
|
10049
|
-
|
|
10050
|
-
|
|
10051
|
-
|
|
10052
|
-
|
|
10053
|
-
|
|
10311
|
+
if (warningType === 'public') {
|
|
10312
|
+
dispatch(publicWarningFormActions.saveWarning({
|
|
10313
|
+
publicWarning: {
|
|
10314
|
+
warningDetail: newFormValues,
|
|
10315
|
+
status: status,
|
|
10316
|
+
editor: auth == null ? void 0 : auth.username,
|
|
10317
|
+
type: warningType
|
|
10318
|
+
},
|
|
10319
|
+
refetchWarnings: onFormSubmit
|
|
10320
|
+
}));
|
|
10321
|
+
}
|
|
10054
10322
|
};
|
|
10055
10323
|
var onFormDirty = function onFormDirty(isFormDirty) {
|
|
10056
10324
|
dispatch(publicWarningFormActions.setFormDirty({
|
|
@@ -10727,7 +10995,7 @@ var AreaObjectLoaderConnect = function AreaObjectLoaderConnect(_ref) {
|
|
|
10727
10995
|
});
|
|
10728
10996
|
};
|
|
10729
10997
|
|
|
10730
|
-
var _excluded$6 = ["
|
|
10998
|
+
var _excluded$6 = ["sigmetAirmetDetails"];
|
|
10731
10999
|
function isCancelAirmet(warningDetail) {
|
|
10732
11000
|
return warningDetail.cancelsAirmetSequenceId !== undefined;
|
|
10733
11001
|
}
|
|
@@ -10735,14 +11003,12 @@ function isCancelSigmet(warningDetail) {
|
|
|
10735
11003
|
return warningDetail.cancelsSigmetSequenceId !== undefined;
|
|
10736
11004
|
}
|
|
10737
11005
|
var flattenPublicWarning = function flattenPublicWarning(publicWarning) {
|
|
10738
|
-
if (
|
|
11006
|
+
if (publicWarning.type === 'public') {
|
|
10739
11007
|
return {};
|
|
10740
11008
|
}
|
|
10741
|
-
var
|
|
11009
|
+
var sigmetAirmetDetails = publicWarning.sigmetAirmetDetails,
|
|
10742
11010
|
rest = _objectWithoutPropertiesLoose(publicWarning, _excluded$6);
|
|
10743
|
-
return Object.assign({}, rest,
|
|
10744
|
-
status: sigmetAirmetDetail == null ? void 0 : sigmetAirmetDetail.status
|
|
10745
|
-
});
|
|
11011
|
+
return Object.assign({}, rest, sigmetAirmetDetails);
|
|
10746
11012
|
};
|
|
10747
11013
|
var transformAirmetToWarningFormat = function transformAirmetToWarningFormat(apiAirmet) {
|
|
10748
11014
|
var airmet = apiAirmet.airmet;
|
|
@@ -10777,7 +11043,8 @@ var transformAirmetToWarningFormat = function transformAirmetToWarningFormat(api
|
|
|
10777
11043
|
descriptionOriginal: '',
|
|
10778
11044
|
descriptionTranslation: ''
|
|
10779
11045
|
},
|
|
10780
|
-
|
|
11046
|
+
sigmetAirmetDetails: Object.assign({}, airmet),
|
|
11047
|
+
type: 'airmet'
|
|
10781
11048
|
};
|
|
10782
11049
|
};
|
|
10783
11050
|
var transformSigmetToWarningFormat = function transformSigmetToWarningFormat(apiSigmet) {
|
|
@@ -10829,7 +11096,8 @@ var transformSigmetToWarningFormat = function transformSigmetToWarningFormat(api
|
|
|
10829
11096
|
descriptionOriginal: '',
|
|
10830
11097
|
descriptionTranslation: ''
|
|
10831
11098
|
},
|
|
10832
|
-
|
|
11099
|
+
sigmetAirmetDetails: Object.assign({}, sigmet),
|
|
11100
|
+
type: 'sigmet'
|
|
10833
11101
|
};
|
|
10834
11102
|
};
|
|
10835
11103
|
var mapProductStatusToWarningStatus = function mapProductStatusToWarningStatus(productStatus) {
|
|
@@ -11003,17 +11271,8 @@ var getEmptyAirmetWarning = function getEmptyAirmetWarning() {
|
|
|
11003
11271
|
}
|
|
11004
11272
|
};
|
|
11005
11273
|
};
|
|
11006
|
-
var
|
|
11007
|
-
|
|
11008
|
-
return warning;
|
|
11009
|
-
}
|
|
11010
|
-
return renewAviationProduct(warning, productConfig);
|
|
11011
|
-
};
|
|
11012
|
-
var renewAviationProduct = function renewAviationProduct(oldWarning, productConfig) {
|
|
11013
|
-
var warningDetail = oldWarning.sigmetAirmetDetail;
|
|
11014
|
-
if (!warningDetail) {
|
|
11015
|
-
return oldWarning;
|
|
11016
|
-
}
|
|
11274
|
+
var renewAviationProduct = function renewAviationProduct(aviationWarning, productConfig) {
|
|
11275
|
+
var warningDetail = aviationWarning.sigmetAirmetDetails;
|
|
11017
11276
|
var newValidUntil = 'phenomenon' in warningDetail ? getDefaultValidUntilValue(productConfig, warningDetail.phenomenon, warningDetail.locationIndicatorATSR, warningDetail.validDateEnd) : warningDetail.validDateEnd;
|
|
11018
11277
|
var renewedWarningDetail = Object.assign({}, warningDetail, {
|
|
11019
11278
|
validDateStart: warningDetail.validDateEnd,
|
|
@@ -11022,8 +11281,18 @@ var renewAviationProduct = function renewAviationProduct(oldWarning, productConf
|
|
|
11022
11281
|
uuid: undefined,
|
|
11023
11282
|
sequence: '-1'
|
|
11024
11283
|
});
|
|
11025
|
-
return Object.assign({},
|
|
11026
|
-
|
|
11284
|
+
return Object.assign({}, aviationWarning, {
|
|
11285
|
+
sigmetAirmetDetails: renewedWarningDetail
|
|
11286
|
+
});
|
|
11287
|
+
};
|
|
11288
|
+
var duplicateAviationProduct = function duplicateAviationProduct(aviationWarning) {
|
|
11289
|
+
var duplicatedWarningDetail = Object.assign({}, aviationWarning.sigmetAirmetDetails, {
|
|
11290
|
+
status: ProductStatus.DRAFT,
|
|
11291
|
+
uuid: undefined,
|
|
11292
|
+
sequence: '-1'
|
|
11293
|
+
});
|
|
11294
|
+
return Object.assign({}, aviationWarning, {
|
|
11295
|
+
sigmetAirmetDetails: duplicatedWarningDetail
|
|
11027
11296
|
});
|
|
11028
11297
|
};
|
|
11029
11298
|
|
|
@@ -11050,10 +11319,16 @@ var publicWarningBaseUrl = config.GW_DRAWINGS_BASE_URL || '';
|
|
|
11050
11319
|
var getPublicWarningList = function getPublicWarningList(auth) {
|
|
11051
11320
|
return fetch(publicWarningBaseUrl + "/warnings", {
|
|
11052
11321
|
headers: getHeaders(auth)
|
|
11053
|
-
}).then(handleResponse)
|
|
11322
|
+
}).then(handleResponse).then(function (warnings) {
|
|
11323
|
+
return warnings.map(function (warning) {
|
|
11324
|
+
return Object.assign({}, warning, {
|
|
11325
|
+
type: 'public'
|
|
11326
|
+
});
|
|
11327
|
+
});
|
|
11328
|
+
});
|
|
11054
11329
|
};
|
|
11055
11330
|
var updatePublicWarningEditor = function updatePublicWarningEditor(warningId, isEditor, auth) {
|
|
11056
|
-
return fetch(publicWarningBaseUrl + "/warnings/" + warningId + "?editor=" + (isEditor ? 'true' : 'false'), {
|
|
11331
|
+
return fetch(publicWarningBaseUrl + "/warnings/" + warningId + "?editor=" + (isEditor ? 'true' : 'false') + "&force=true", {
|
|
11057
11332
|
headers: getHeaders(auth),
|
|
11058
11333
|
method: 'POST'
|
|
11059
11334
|
}).then(handleResponse);
|
|
@@ -11153,7 +11428,7 @@ var useWarnings = function useWarnings(disabled) {
|
|
|
11153
11428
|
var combinedWarnings = useMemo(function () {
|
|
11154
11429
|
var transformedSigmets = (sigmetWarnings == null ? void 0 : sigmetWarnings.map(transformSigmetToWarningFormat)) || [];
|
|
11155
11430
|
var transformedAirmets = (airmetWarnings == null ? void 0 : airmetWarnings.map(transformAirmetToWarningFormat)) || [];
|
|
11156
|
-
return (publicWarnings || []
|
|
11431
|
+
return concat(publicWarnings || [], transformedSigmets, transformedAirmets);
|
|
11157
11432
|
}, [publicWarnings, sigmetWarnings, airmetWarnings]);
|
|
11158
11433
|
var refetchWarnings = function refetchWarnings() {
|
|
11159
11434
|
void refetchPublicWarnings();
|
|
@@ -11221,9 +11496,7 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
11221
11496
|
setHasFetched(true);
|
|
11222
11497
|
}
|
|
11223
11498
|
}, [isFetching]);
|
|
11224
|
-
var selectedWarningId = useSelector(
|
|
11225
|
-
return getSelectedWarningId(store);
|
|
11226
|
-
});
|
|
11499
|
+
var selectedWarningId = useSelector(getSelectedWarningId);
|
|
11227
11500
|
var selectedWarningObject = useSelector(getPublicWarning);
|
|
11228
11501
|
var warningType = useSelector(getWarningType);
|
|
11229
11502
|
var selectedWarning = combinedWarnings == null ? void 0 : combinedWarnings.find(function (w) {
|
|
@@ -11418,7 +11691,7 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
11418
11691
|
var selectedSigmetProduct = selectedSigmet && aviationConfig ? transformSigmetToProductFormat(selectedSigmet) : getEmptySigmetWarning();
|
|
11419
11692
|
var selectedAirmetProduct = selectedAirmet && aviationConfig ? transformAirmetToProductFormat(selectedAirmet) : getEmptyAirmetWarning();
|
|
11420
11693
|
var selectedAviationProduct = React__default.useMemo(function () {
|
|
11421
|
-
if (selectedWarningObject
|
|
11694
|
+
if (['sigmet', 'airmet'].includes((selectedWarningObject == null ? void 0 : selectedWarningObject.type) || '') && aviationConfig) {
|
|
11422
11695
|
return flattenPublicWarning(selectedWarningObject);
|
|
11423
11696
|
}
|
|
11424
11697
|
if (updatedWarningType === 'sigmet') {
|
|
@@ -11897,8 +12170,8 @@ var WarningListItemMenu = function WarningListItemMenu(_ref) {
|
|
|
11897
12170
|
onExpireWarning = _ref$onExpireWarning === void 0 ? function () {} : _ref$onExpireWarning,
|
|
11898
12171
|
_ref$onWithdrawWarnin = _ref.onWithdrawWarning,
|
|
11899
12172
|
onWithdrawWarning = _ref$onWithdrawWarnin === void 0 ? function () {} : _ref$onWithdrawWarnin,
|
|
11900
|
-
_ref$
|
|
11901
|
-
|
|
12173
|
+
_ref$onActionAviation = _ref.onActionAviationWarning,
|
|
12174
|
+
onActionAviationWarning = _ref$onActionAviation === void 0 ? function () {} : _ref$onActionAviation,
|
|
11902
12175
|
t = _ref.t;
|
|
11903
12176
|
var duplicate = {
|
|
11904
12177
|
text: t('warning-list-button-duplicate'),
|
|
@@ -11907,6 +12180,13 @@ var WarningListItemMenu = function WarningListItemMenu(_ref) {
|
|
|
11907
12180
|
},
|
|
11908
12181
|
icon: jsx(Copy, {})
|
|
11909
12182
|
};
|
|
12183
|
+
var aviationDuplicate = {
|
|
12184
|
+
text: t('warning-list-button-duplicate'),
|
|
12185
|
+
action: function action() {
|
|
12186
|
+
return onActionAviationWarning(warning, ProductAction.DUPLICATE);
|
|
12187
|
+
},
|
|
12188
|
+
icon: jsx(Copy, {})
|
|
12189
|
+
};
|
|
11910
12190
|
// disable Expire option if warning is not active
|
|
11911
12191
|
var shouldDisableExpire = !dateUtils.isBetween(dateUtils.getNowUtc(), dateUtils.createDate(warning.warningDetail.validFrom), dateUtils.createDate(warning.warningDetail.validUntil), '[]');
|
|
11912
12192
|
switch (warning.status) {
|
|
@@ -11966,41 +12246,43 @@ var WarningListItemMenu = function WarningListItemMenu(_ref) {
|
|
|
11966
12246
|
}];
|
|
11967
12247
|
default:
|
|
11968
12248
|
switch (warning.productStatus) {
|
|
12249
|
+
case ProductStatus.DRAFT:
|
|
12250
|
+
return [aviationDuplicate];
|
|
11969
12251
|
case ProductStatus.PUBLISHED:
|
|
11970
|
-
if (warning.
|
|
12252
|
+
if (warning.type !== 'public' && (isInstanceOfCancelSigmet(warning.sigmetAirmetDetails) || isInstanceOfCancelAirmet(warning.sigmetAirmetDetails))) {
|
|
11971
12253
|
return [];
|
|
11972
12254
|
}
|
|
11973
12255
|
return [{
|
|
11974
12256
|
text: t('warning-list-button-renew'),
|
|
11975
12257
|
action: function action() {
|
|
11976
12258
|
if (warning) {
|
|
11977
|
-
|
|
12259
|
+
onActionAviationWarning(warning);
|
|
11978
12260
|
}
|
|
11979
12261
|
},
|
|
11980
12262
|
icon: jsx(Update, {})
|
|
11981
|
-
}];
|
|
12263
|
+
}, aviationDuplicate];
|
|
11982
12264
|
case ProductStatus.CANCELLED:
|
|
11983
12265
|
return [];
|
|
11984
12266
|
case ProductStatus.EXPIRED:
|
|
11985
|
-
if (warning.
|
|
12267
|
+
if (warning.type !== 'public' && (isInstanceOfCancelSigmet(warning.sigmetAirmetDetails) || isInstanceOfCancelAirmet(warning.sigmetAirmetDetails))) {
|
|
11986
12268
|
return [];
|
|
11987
12269
|
}
|
|
11988
12270
|
return [{
|
|
11989
12271
|
text: t('warning-list-button-renew'),
|
|
11990
12272
|
action: function action() {
|
|
11991
12273
|
if (warning) {
|
|
11992
|
-
|
|
12274
|
+
onActionAviationWarning(warning, ProductAction.RENEW);
|
|
11993
12275
|
}
|
|
11994
12276
|
},
|
|
11995
12277
|
icon: jsx(Update, {})
|
|
11996
|
-
}];
|
|
12278
|
+
}, aviationDuplicate];
|
|
11997
12279
|
default:
|
|
11998
12280
|
return [];
|
|
11999
12281
|
}
|
|
12000
12282
|
}
|
|
12001
12283
|
};
|
|
12002
12284
|
|
|
12003
|
-
var _excluded$2 = ["warning", "activeWarningId", "highlightedItem", "onSelectWarning", "onEditWarning", "onDeleteWarning", "onDeleteReviewWarning", "onExpireWarning", "onWithdrawWarning", "
|
|
12285
|
+
var _excluded$2 = ["warning", "activeWarningId", "highlightedItem", "onSelectWarning", "onEditWarning", "onDeleteWarning", "onDeleteReviewWarning", "onExpireWarning", "onWithdrawWarning", "onActionAviationWarning"];
|
|
12004
12286
|
var renderLevelText = function renderLevelText(levelString) {
|
|
12005
12287
|
if (!levelString) {
|
|
12006
12288
|
return null;
|
|
@@ -12037,10 +12319,10 @@ var renderStatusIcon = function renderStatusIcon(warning, status) {
|
|
|
12037
12319
|
icon: icon
|
|
12038
12320
|
});
|
|
12039
12321
|
};
|
|
12040
|
-
if (warning.productStatus === ProductStatus.PUBLISHED && warning.
|
|
12041
|
-
return getStatusTag("Cnls " + (isCancelAirmet(warning.
|
|
12322
|
+
if (warning.productStatus === ProductStatus.PUBLISHED && warning.type !== 'public' && (isCancelAirmet(warning.sigmetAirmetDetails) || isCancelSigmet(warning.sigmetAirmetDetails))) {
|
|
12323
|
+
return getStatusTag("Cnls " + (isCancelAirmet(warning.sigmetAirmetDetails) ? warning.sigmetAirmetDetails.cancelsAirmetSequenceId : warning.sigmetAirmetDetails.cancelsSigmetSequenceId), 'red');
|
|
12042
12324
|
}
|
|
12043
|
-
if (warning.productStatus === ProductStatus.CANCELLED && warning.
|
|
12325
|
+
if (warning.productStatus === ProductStatus.CANCELLED && warning.type !== 'public') {
|
|
12044
12326
|
return getStatusTag('Cnld', 'red');
|
|
12045
12327
|
}
|
|
12046
12328
|
switch (status) {
|
|
@@ -12079,7 +12361,7 @@ var renderStatusIcon = function renderStatusIcon(warning, status) {
|
|
|
12079
12361
|
}
|
|
12080
12362
|
};
|
|
12081
12363
|
var WarningListItem = function WarningListItem(_ref) {
|
|
12082
|
-
var _warning$warningDetai,
|
|
12364
|
+
var _warning$warningDetai, _sx, _sx2, _Object$assign;
|
|
12083
12365
|
var warning = _ref.warning,
|
|
12084
12366
|
activeWarningId = _ref.activeWarningId,
|
|
12085
12367
|
highlightedItem = _ref.highlightedItem,
|
|
@@ -12095,14 +12377,14 @@ var WarningListItem = function WarningListItem(_ref) {
|
|
|
12095
12377
|
onExpireWarning = _ref$onExpireWarning === void 0 ? function () {} : _ref$onExpireWarning,
|
|
12096
12378
|
_ref$onWithdrawWarnin = _ref.onWithdrawWarning,
|
|
12097
12379
|
onWithdrawWarning = _ref$onWithdrawWarnin === void 0 ? function () {} : _ref$onWithdrawWarnin,
|
|
12098
|
-
_ref$
|
|
12099
|
-
|
|
12380
|
+
_ref$onActionAviation = _ref.onActionAviationWarning,
|
|
12381
|
+
onActionAviationWarning = _ref$onActionAviation === void 0 ? function () {} : _ref$onActionAviation,
|
|
12100
12382
|
props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
12101
12383
|
var _useWarningsTranslati = useWarningsTranslation(),
|
|
12102
12384
|
t = _useWarningsTranslati.t;
|
|
12103
12385
|
var phenomenonDetails = allPhenomenaDict[warning.warningDetail.phenomenon];
|
|
12104
12386
|
var objectNameText = ((_warning$warningDetai = warning.warningDetail.areas) == null || (_warning$warningDetai = _warning$warningDetai[0]) == null ? void 0 : _warning$warningDetai.objectName) || '-';
|
|
12105
|
-
var objectHoverText =
|
|
12387
|
+
var objectHoverText = warning.type !== 'public' ? warning.sigmetAirmetDetails.firName : objectNameText;
|
|
12106
12388
|
var _useOverflowCheck = useOverflowCheck(objectNameText),
|
|
12107
12389
|
objectNameRef = _useOverflowCheck.ref;
|
|
12108
12390
|
var phenomenonText = phenomenonDetails != null && phenomenonDetails.translationKey ? t(phenomenonDetails.translationKey) : '-';
|
|
@@ -12151,7 +12433,7 @@ var WarningListItem = function WarningListItem(_ref) {
|
|
|
12151
12433
|
onDeleteWarning: onDeleteWarning,
|
|
12152
12434
|
onExpireWarning: onExpireWarning,
|
|
12153
12435
|
onWithdrawWarning: onWithdrawWarning,
|
|
12154
|
-
|
|
12436
|
+
onActionAviationWarning: onActionAviationWarning
|
|
12155
12437
|
}),
|
|
12156
12438
|
buttonIcon: jsx(Options, {})
|
|
12157
12439
|
}),
|
|
@@ -12552,8 +12834,8 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
12552
12834
|
onExpireWarning = _ref$onExpireWarning === void 0 ? function () {} : _ref$onExpireWarning,
|
|
12553
12835
|
_ref$onWithdrawWarnin = _ref.onWithdrawWarning,
|
|
12554
12836
|
onWithdrawWarning = _ref$onWithdrawWarnin === void 0 ? function () {} : _ref$onWithdrawWarnin,
|
|
12555
|
-
_ref$
|
|
12556
|
-
|
|
12837
|
+
_ref$onActionAviation = _ref.onActionAviationWarning,
|
|
12838
|
+
onActionAviationWarning = _ref$onActionAviation === void 0 ? function () {} : _ref$onActionAviation,
|
|
12557
12839
|
hoveredFeatureId = _ref.hoveredFeatureId,
|
|
12558
12840
|
expandedSections = _ref.expandedSections,
|
|
12559
12841
|
setExpandedSections = _ref.setExpandedSections;
|
|
@@ -12844,7 +13126,7 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
12844
13126
|
activeWarningId: selectedWarningId,
|
|
12845
13127
|
onExpireWarning: onExpireWarning,
|
|
12846
13128
|
onWithdrawWarning: onWithdrawWarning,
|
|
12847
|
-
|
|
13129
|
+
onActionAviationWarning: onActionAviationWarning
|
|
12848
13130
|
}, key);
|
|
12849
13131
|
}
|
|
12850
13132
|
});
|
|
@@ -12897,8 +13179,8 @@ var slice = createSlice({
|
|
|
12897
13179
|
}
|
|
12898
13180
|
}
|
|
12899
13181
|
});
|
|
12900
|
-
var
|
|
12901
|
-
|
|
13182
|
+
var publicWarningsReducer = slice.reducer,
|
|
13183
|
+
publicWarningActions = slice.actions;
|
|
12902
13184
|
|
|
12903
13185
|
/* *
|
|
12904
13186
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -12972,101 +13254,6 @@ var selectors = /*#__PURE__*/Object.freeze({
|
|
|
12972
13254
|
selectAllPublicWarnings: selectAllPublicWarnings
|
|
12973
13255
|
});
|
|
12974
13256
|
|
|
12975
|
-
var ConfirmDeleteWarningDialog = function ConfirmDeleteWarningDialog(_ref) {
|
|
12976
|
-
var _ref$onClose = _ref.onClose,
|
|
12977
|
-
onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose,
|
|
12978
|
-
title = _ref.title,
|
|
12979
|
-
description = _ref.description,
|
|
12980
|
-
request = _ref.request,
|
|
12981
|
-
confirmLabel = _ref.confirmLabel,
|
|
12982
|
-
callback = _ref.callback,
|
|
12983
|
-
isLocked = _ref.isLocked;
|
|
12984
|
-
var _useWarningsTranslati = useWarningsTranslation(),
|
|
12985
|
-
t = _useWarningsTranslati.t;
|
|
12986
|
-
var defaultError = isLocked ? t('warning-dialog-delete-islocked') : undefined;
|
|
12987
|
-
var _React$useState = React__default.useState(false),
|
|
12988
|
-
isLoading = _React$useState[0],
|
|
12989
|
-
setIsLoading = _React$useState[1];
|
|
12990
|
-
var _React$useState2 = React__default.useState(defaultError),
|
|
12991
|
-
error = _React$useState2[0],
|
|
12992
|
-
setError = _React$useState2[1];
|
|
12993
|
-
var onSubmit = /*#__PURE__*/function () {
|
|
12994
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
12995
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
12996
|
-
while (1) switch (_context.prev = _context.next) {
|
|
12997
|
-
case 0:
|
|
12998
|
-
setIsLoading(true);
|
|
12999
|
-
_context.prev = 1;
|
|
13000
|
-
_context.next = 4;
|
|
13001
|
-
return request();
|
|
13002
|
-
case 4:
|
|
13003
|
-
callback();
|
|
13004
|
-
setIsLoading(false);
|
|
13005
|
-
_context.next = 12;
|
|
13006
|
-
break;
|
|
13007
|
-
case 8:
|
|
13008
|
-
_context.prev = 8;
|
|
13009
|
-
_context.t0 = _context["catch"](1);
|
|
13010
|
-
setError(getAxiosErrorMessage(_context.t0));
|
|
13011
|
-
setIsLoading(false);
|
|
13012
|
-
case 12:
|
|
13013
|
-
case "end":
|
|
13014
|
-
return _context.stop();
|
|
13015
|
-
}
|
|
13016
|
-
}, _callee, null, [[1, 8]]);
|
|
13017
|
-
}));
|
|
13018
|
-
return function onSubmit() {
|
|
13019
|
-
return _ref2.apply(this, arguments);
|
|
13020
|
-
};
|
|
13021
|
-
}();
|
|
13022
|
-
return jsx(ConfirmationDialog, Object.assign({
|
|
13023
|
-
title: title,
|
|
13024
|
-
open: true,
|
|
13025
|
-
confirmLabel: confirmLabel,
|
|
13026
|
-
cancelLabel: t('warning-dialog-cancel'),
|
|
13027
|
-
description: !error ? description : '',
|
|
13028
|
-
onClose: onClose,
|
|
13029
|
-
onSubmit: onSubmit,
|
|
13030
|
-
isLoading: isLoading,
|
|
13031
|
-
sx: {
|
|
13032
|
-
width: 330
|
|
13033
|
-
}
|
|
13034
|
-
}, error && {
|
|
13035
|
-
content: jsxs(Box, {
|
|
13036
|
-
sx: {
|
|
13037
|
-
marginBottom: 0
|
|
13038
|
-
},
|
|
13039
|
-
children: [jsx(AlertBanner, {
|
|
13040
|
-
title: error,
|
|
13041
|
-
severity: isLocked ? 'warning' : 'error'
|
|
13042
|
-
}), jsx(Typography, {
|
|
13043
|
-
variant: "body1",
|
|
13044
|
-
sx: {
|
|
13045
|
-
marginTop: 1
|
|
13046
|
-
},
|
|
13047
|
-
children: description
|
|
13048
|
-
})]
|
|
13049
|
-
})
|
|
13050
|
-
}));
|
|
13051
|
-
};
|
|
13052
|
-
|
|
13053
|
-
/* *
|
|
13054
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13055
|
-
* you may not use this file except in compliance with the License.
|
|
13056
|
-
* You may obtain a copy of the License at
|
|
13057
|
-
*
|
|
13058
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
13059
|
-
*
|
|
13060
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
13061
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13062
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13063
|
-
* See the License for the specific language governing permissions and
|
|
13064
|
-
* limitations under the License.
|
|
13065
|
-
*
|
|
13066
|
-
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
13067
|
-
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
13068
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
13069
|
-
* */
|
|
13070
13257
|
var getLevelsForDomainFilter = function getLevelsForDomainFilter(domainFilter) {
|
|
13071
13258
|
return Object.keys(domainFilter).flatMap(function (domain) {
|
|
13072
13259
|
return domainFilter[domain] ? domainLevels[domain] : [];
|
|
@@ -13247,6 +13434,84 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
13247
13434
|
};
|
|
13248
13435
|
};
|
|
13249
13436
|
|
|
13437
|
+
var ConfirmDeleteWarningDialog = function ConfirmDeleteWarningDialog(_ref) {
|
|
13438
|
+
var _ref$onClose = _ref.onClose,
|
|
13439
|
+
onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose,
|
|
13440
|
+
title = _ref.title,
|
|
13441
|
+
description = _ref.description,
|
|
13442
|
+
request = _ref.request,
|
|
13443
|
+
confirmLabel = _ref.confirmLabel,
|
|
13444
|
+
callback = _ref.callback,
|
|
13445
|
+
isLocked = _ref.isLocked;
|
|
13446
|
+
var _useWarningsTranslati = useWarningsTranslation(),
|
|
13447
|
+
t = _useWarningsTranslati.t;
|
|
13448
|
+
var defaultError = isLocked ? t('warning-dialog-delete-islocked') : undefined;
|
|
13449
|
+
var _React$useState = React__default.useState(false),
|
|
13450
|
+
isLoading = _React$useState[0],
|
|
13451
|
+
setIsLoading = _React$useState[1];
|
|
13452
|
+
var _React$useState2 = React__default.useState(defaultError),
|
|
13453
|
+
error = _React$useState2[0],
|
|
13454
|
+
setError = _React$useState2[1];
|
|
13455
|
+
var onSubmit = /*#__PURE__*/function () {
|
|
13456
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
13457
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
13458
|
+
while (1) switch (_context.prev = _context.next) {
|
|
13459
|
+
case 0:
|
|
13460
|
+
setIsLoading(true);
|
|
13461
|
+
_context.prev = 1;
|
|
13462
|
+
_context.next = 4;
|
|
13463
|
+
return request();
|
|
13464
|
+
case 4:
|
|
13465
|
+
callback();
|
|
13466
|
+
setIsLoading(false);
|
|
13467
|
+
_context.next = 12;
|
|
13468
|
+
break;
|
|
13469
|
+
case 8:
|
|
13470
|
+
_context.prev = 8;
|
|
13471
|
+
_context.t0 = _context["catch"](1);
|
|
13472
|
+
setError(getAxiosErrorMessage(_context.t0));
|
|
13473
|
+
setIsLoading(false);
|
|
13474
|
+
case 12:
|
|
13475
|
+
case "end":
|
|
13476
|
+
return _context.stop();
|
|
13477
|
+
}
|
|
13478
|
+
}, _callee, null, [[1, 8]]);
|
|
13479
|
+
}));
|
|
13480
|
+
return function onSubmit() {
|
|
13481
|
+
return _ref2.apply(this, arguments);
|
|
13482
|
+
};
|
|
13483
|
+
}();
|
|
13484
|
+
return jsx(ConfirmationDialog, Object.assign({
|
|
13485
|
+
title: title,
|
|
13486
|
+
open: true,
|
|
13487
|
+
confirmLabel: confirmLabel,
|
|
13488
|
+
cancelLabel: t('warning-dialog-cancel'),
|
|
13489
|
+
description: !error ? description : '',
|
|
13490
|
+
onClose: onClose,
|
|
13491
|
+
onSubmit: onSubmit,
|
|
13492
|
+
isLoading: isLoading,
|
|
13493
|
+
sx: {
|
|
13494
|
+
width: 330
|
|
13495
|
+
}
|
|
13496
|
+
}, error && {
|
|
13497
|
+
content: jsxs(Box, {
|
|
13498
|
+
sx: {
|
|
13499
|
+
marginBottom: 0
|
|
13500
|
+
},
|
|
13501
|
+
children: [jsx(AlertBanner, {
|
|
13502
|
+
title: error,
|
|
13503
|
+
severity: isLocked ? 'warning' : 'error'
|
|
13504
|
+
}), jsx(Typography, {
|
|
13505
|
+
variant: "body1",
|
|
13506
|
+
sx: {
|
|
13507
|
+
marginTop: 1
|
|
13508
|
+
},
|
|
13509
|
+
children: description
|
|
13510
|
+
})]
|
|
13511
|
+
})
|
|
13512
|
+
}));
|
|
13513
|
+
};
|
|
13514
|
+
|
|
13250
13515
|
var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
13251
13516
|
var panelId = _ref.panelId,
|
|
13252
13517
|
presetFilterState = _ref.presetFilterState;
|
|
@@ -13416,13 +13681,21 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
13416
13681
|
var warningType = useSelector(getWarningType);
|
|
13417
13682
|
var _useProductConfig = useProductConfig(warningType, false),
|
|
13418
13683
|
aviationConfig = _useProductConfig.data;
|
|
13419
|
-
var
|
|
13684
|
+
var handleAviationProductClick = function handleAviationProductClick(warning, actionType) {
|
|
13420
13685
|
if (!warning) {
|
|
13421
13686
|
return;
|
|
13422
13687
|
}
|
|
13423
|
-
var type =
|
|
13424
|
-
var
|
|
13425
|
-
|
|
13688
|
+
var type = warning.warningDetail.level === 'SIG' ? 'sigmet' : 'airmet';
|
|
13689
|
+
var updatedWarning;
|
|
13690
|
+
switch (actionType) {
|
|
13691
|
+
case 'RENEW':
|
|
13692
|
+
updatedWarning = renewAviationProduct(warning, aviationConfig);
|
|
13693
|
+
break;
|
|
13694
|
+
case 'DUPLICATE':
|
|
13695
|
+
updatedWarning = duplicateAviationProduct(warning);
|
|
13696
|
+
break;
|
|
13697
|
+
}
|
|
13698
|
+
void openPublicWarningDialog('edit', updatedWarning, type);
|
|
13426
13699
|
};
|
|
13427
13700
|
var openSnackbar = function openSnackbar(message) {
|
|
13428
13701
|
dispatch(snackbarActions.openSnackbar({
|
|
@@ -13500,7 +13773,7 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
13500
13773
|
}, [filteredWarnings, expandedSections]);
|
|
13501
13774
|
var allFeatures = React__default.useMemo(function () {
|
|
13502
13775
|
return filteredWarningsByExpandedSections.flatMap(function (warning) {
|
|
13503
|
-
return (warning == null ? void 0 : warning.id) && (warning != null && warning.warningDetail &&
|
|
13776
|
+
return (warning == null ? void 0 : warning.id) && (warning != null && warning.warningDetail && warning.warningDetail.areas ? warning.warningDetail.areas.filter(function (area) {
|
|
13504
13777
|
return area.geoJSON;
|
|
13505
13778
|
}).map(function (area) {
|
|
13506
13779
|
var isAviationWarning = warning.warningDetail.level === 'SIG' || warning.warningDetail.level === 'AIR';
|
|
@@ -13538,7 +13811,7 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
13538
13811
|
onRefetchWarnings: refetchWarnings,
|
|
13539
13812
|
filterHookState: filterHookState,
|
|
13540
13813
|
hoveredFeatureId: hoveredFeatureId,
|
|
13541
|
-
|
|
13814
|
+
onActionAviationWarning: handleAviationProductClick
|
|
13542
13815
|
}), confirmDialogOptions && jsx(ConfirmDeleteWarningDialog, {
|
|
13543
13816
|
onClose: function onClose() {
|
|
13544
13817
|
return setConfirmDialogOptions(undefined);
|
|
@@ -13874,25 +14147,6 @@ publicWarningFormListener.startListening({
|
|
|
13874
14147
|
}()
|
|
13875
14148
|
});
|
|
13876
14149
|
|
|
13877
|
-
/* *
|
|
13878
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13879
|
-
* you may not use this file except in compliance with the License.
|
|
13880
|
-
* You may obtain a copy of the License at
|
|
13881
|
-
*
|
|
13882
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
13883
|
-
*
|
|
13884
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
13885
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13886
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13887
|
-
* See the License for the specific language governing permissions and
|
|
13888
|
-
* limitations under the License.
|
|
13889
|
-
*
|
|
13890
|
-
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
13891
|
-
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
13892
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
13893
|
-
* */
|
|
13894
|
-
var publicWarningsListener = createListenerMiddleware();
|
|
13895
|
-
|
|
13896
14150
|
var _excluded = ["id"];
|
|
13897
14151
|
var getSnackbarMessage = function getSnackbarMessage(objectName, id) {
|
|
13898
14152
|
return {
|
|
@@ -13903,9 +14157,9 @@ var getSnackbarMessage = function getSnackbarMessage(objectName, id) {
|
|
|
13903
14157
|
}
|
|
13904
14158
|
};
|
|
13905
14159
|
};
|
|
13906
|
-
var
|
|
13907
|
-
|
|
13908
|
-
actionCreator:
|
|
14160
|
+
var warningsDrawingsListener = createListenerMiddleware();
|
|
14161
|
+
warningsDrawingsListener.startListening({
|
|
14162
|
+
actionCreator: warningsDrawingsActions.submitDrawValues,
|
|
13909
14163
|
effect: function () {
|
|
13910
14164
|
var _effect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref, listenerApi) {
|
|
13911
14165
|
var payload, id, formValues, warningsApi, newID, taskError, errorMessage;
|
|
@@ -13929,7 +14183,7 @@ drawingsListener.startListening({
|
|
|
13929
14183
|
return warningsApi.saveDrawingAs(formValues);
|
|
13930
14184
|
case 9:
|
|
13931
14185
|
newID = _context.sent;
|
|
13932
|
-
listenerApi.dispatch(
|
|
14186
|
+
listenerApi.dispatch(warningsDrawingsActions.setDrawValues({
|
|
13933
14187
|
drawingInstanceId: drawingDialogType,
|
|
13934
14188
|
id: newID,
|
|
13935
14189
|
objectName: formValues.objectName
|
|
@@ -13997,13 +14251,46 @@ drawingsListener.startListening({
|
|
|
13997
14251
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
13998
14252
|
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
13999
14253
|
* */
|
|
14000
|
-
var
|
|
14001
|
-
|
|
14002
|
-
|
|
14003
|
-
|
|
14004
|
-
|
|
14005
|
-
|
|
14006
|
-
|
|
14254
|
+
var publicWarningsListener = createListenerMiddleware();
|
|
14255
|
+
|
|
14256
|
+
/* *
|
|
14257
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
14258
|
+
* you may not use this file except in compliance with the License.
|
|
14259
|
+
* You may obtain a copy of the License at
|
|
14260
|
+
*
|
|
14261
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
14262
|
+
*
|
|
14263
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14264
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14265
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14266
|
+
* See the License for the specific language governing permissions and
|
|
14267
|
+
* limitations under the License.
|
|
14268
|
+
*
|
|
14269
|
+
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
14270
|
+
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
14271
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
14272
|
+
* */
|
|
14273
|
+
var warningsReducersMap = {
|
|
14274
|
+
layers: layerReducer,
|
|
14275
|
+
ui: uiReducer,
|
|
14276
|
+
drawingtools: drawingToolReducer,
|
|
14277
|
+
drawings: warningsDrawingsReducer,
|
|
14278
|
+
publicWarningForm: publicWarningFormReducer,
|
|
14279
|
+
publicWarnings: publicWarningsReducer,
|
|
14280
|
+
snackbar: snackbarReducer
|
|
14281
|
+
};
|
|
14282
|
+
var warningsMiddlewares = [layersListener.middleware, drawingToolListener.middleware, warningsDrawingsListener.middleware, publicWarningsListener.middleware, publicWarningFormListener.middleware, snackbarListener.middleware];
|
|
14283
|
+
var warningsRootReducer = combineReducers(warningsReducersMap);
|
|
14284
|
+
var createMockStore = function createMockStore(mockState) {
|
|
14285
|
+
return configureStore({
|
|
14286
|
+
reducer: warningsRootReducer,
|
|
14287
|
+
preloadedState: mockState,
|
|
14288
|
+
middleware: warningsMiddlewares
|
|
14289
|
+
});
|
|
14007
14290
|
};
|
|
14291
|
+
/* _____ NOTE --> We should use the middlwares like this down below, but as it will be more strict, it exposes errors from the code itself, which won´t be fixed in this MR ______
|
|
14292
|
+
middleware: (getDefaultMiddleware) =>
|
|
14293
|
+
getDefaultMiddleware().concat(warningsMiddlewares),
|
|
14294
|
+
*/
|
|
14008
14295
|
|
|
14009
|
-
export { DrawingToolConnect, Wrapper as DrawingToolForm, DrawingToolFormConnect, DrawingToolMapButtonConnect, ObjectManagerConnect, ObjectManagerMapButtonConnect, PublicWarningApiWrapper, PublicWarningsFormDialog, PublicWarningsFormDialogConnect, WARN_NAMESPACE, WarningsModuleProvider, componentsLookUp,
|
|
14296
|
+
export { DrawingToolConnect, Wrapper as DrawingToolForm, DrawingToolFormConnect, DrawingToolMapButtonConnect, ObjectManagerConnect, ObjectManagerMapButtonConnect, PublicWarningApiWrapper, PublicWarningsFormDialog, PublicWarningsFormDialogConnect, WARN_NAMESPACE, WarningsModuleProvider, componentsLookUp, createMockStore, isAlreadyEdited, publicWarningActions, publicWarningFormActions, publicWarningFormListener, publicWarningFormReducer, publicWarningsListener, publicWarningsReducer, selectors as publicWarningsSelectors, useObjectDrawDialogAction, warningFormConfirmationOptions, warningsDrawingsActions, warningsDrawingsListener, warningsDrawingsReducer, warningsMiddlewares, warningsReducersMap, warningsTranslations };
|