@opengeoweb/warnings 10.0.0 → 10.2.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 +1126 -676
- package/package.json +1 -1
- package/src/lib/api/api-utils.d.ts +10 -0
- package/src/lib/{aviation-api → api/aviation-api}/hooks.d.ts +1 -1
- package/src/lib/api/warning-api/api.d.ts +4 -0
- package/src/lib/api/warning-api/hooks.d.ts +15 -0
- package/src/lib/components/DrawingToolForm/DrawingToolFormContents.d.ts +1 -1
- package/src/lib/components/FilterList/filter-hooks.d.ts +4 -3
- package/src/lib/components/FilterList/filter-utils.d.ts +6 -3
- package/src/lib/components/Providers/Providers.d.ts +3 -0
- package/src/lib/components/PublicWarningList/PublicWarningList.d.ts +6 -6
- package/src/lib/components/PublicWarningList/PublicWarningListConnect.stories.d.ts +37 -4
- package/src/lib/components/PublicWarningList/WarningListItem.d.ts +3 -3
- package/src/lib/components/PublicWarningList/WarningListItemMenu.d.ts +8 -7
- package/src/lib/components/PublicWarningsForm/PublicWarningsForm.d.ts +1 -0
- package/src/lib/components/PublicWarningsForm/PublicWarningsFormConnect.d.ts +2 -0
- package/src/lib/store/config.d.ts +1 -2
- package/src/lib/store/publicWarningForm/reducer.d.ts +30 -33
- package/src/lib/store/publicWarningForm/selectors.d.ts +12 -17
- package/src/lib/store/publicWarningForm/types.d.ts +5 -4
- package/src/lib/store/publicWarnings/reducer.d.ts +3 -14
- package/src/lib/store/publicWarnings/selectors.d.ts +2 -14
- package/src/lib/store/publicWarnings/types.d.ts +2 -2
- package/src/lib/store/types.d.ts +2 -2
- package/src/lib/utils/api.d.ts +3 -7
- package/src/lib/utils/fakeApi/index.d.ts +8 -5
- package/src/lib/utils/sig-airmet-util.d.ts +11 -7
- package/src/lib/utils/sig-airmet-util.spec.d.ts +1 -0
- package/src/lib/utils/warningUtils.d.ts +4 -4
- /package/src/lib/{aviation-api → api/aviation-api}/api.d.ts +0 -0
- /package/src/lib/{aviation-api → api/aviation-api}/fakeApi.d.ts +0 -0
- /package/src/lib/{store/publicWarnings/reducer.spec.d.ts → components/PublicWarningList/WarningListItemMenu.spec.d.ts} +0 -0
package/index.esm.js
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { useDispatch, useSelector } from 'react-redux';
|
|
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, Success, Expire, Remove, ArrowUpCompact, ArrowDownCompact } from '@opengeoweb/theme';
|
|
4
|
-
import { uiTypes, uiActions, getSingularDrawtoolDrawLayerId, drawtoolSelectors, layerSelectors, uiSelectors,
|
|
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, drawtoolSelectors, layerSelectors, uiSelectors, drawingToolActions, layerActions, useSetupDialog, selectorMemoizationOptions, useUpdateSharedData } from '@opengeoweb/store';
|
|
5
5
|
import { defaultPolygon, emptyGeoJSON, MapControlButton, getIcon, rewindGeometry, getGeoJSONPropertyValue, currentlySupportedDrawModes, defaultLayers, MapView, MapViewLayer, getFeatureExtent } from '@opengeoweb/webmap-react';
|
|
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,
|
|
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
7
|
import { createEntityAdapter, createSlice, createSelector, createListenerMiddleware, isAnyOf } 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 { SigmetForm, isInstanceOfCancelSigmet, AirmetForm, isInstanceOfCancelAirmet, getProductFormMode } from '@opengeoweb/sigmet-airmet';
|
|
13
|
+
import { airmetConfig, sigmetConfig, SigmetForm, isInstanceOfCancelSigmet, AirmetForm, isInstanceOfCancelAirmet, getDefaultValidUntilValue, getProductFormMode } from '@opengeoweb/sigmet-airmet';
|
|
14
14
|
import { snackbarActions, snackbarTypes } 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';
|
|
18
18
|
import { VariableSizeList } from 'react-window';
|
|
19
19
|
import AutoSizer from 'react-virtualized-auto-sizer';
|
|
20
|
-
import { getApi, createApiInstance, createNonAuthApiInstance, createFakeApiInstance, ApiProvider, getHeaders, useAuthQuery, useAuthenticationContext, ProductStatus } from '@opengeoweb/api';
|
|
20
|
+
import { getApi, createApiInstance, createNonAuthApiInstance, createFakeApiInstance, ApiProvider, AirmetPhenomena, SigmetPhenomena, getHeaders, handleResponse, useAuthQuery, useAuthenticationContext, ProductStatus, optimisticUpdate } from '@opengeoweb/api';
|
|
21
|
+
import { rest } from 'msw';
|
|
21
22
|
import { useFormContext } from 'react-hook-form';
|
|
22
23
|
import { isEqual, cloneDeep, clamp, groupBy, pick, assign } from 'lodash';
|
|
23
24
|
import { getConfig, useAuthenticationContext as useAuthenticationContext$1 } from '@opengeoweb/authentication';
|
|
24
|
-
import { useQueryClient } from '@tanstack/react-query';
|
|
25
|
+
import { useQueryClient, useMutation } from '@tanstack/react-query';
|
|
25
26
|
import { isAxiosError } from 'axios';
|
|
26
27
|
|
|
27
28
|
var en = {
|
|
@@ -199,7 +200,8 @@ var en = {
|
|
|
199
200
|
"warning-dialog-withdraw-title": "Withdraw warning",
|
|
200
201
|
"warning-dialog-withdraw-confirm": "Withdraw",
|
|
201
202
|
"warning-dialog-withdraw-description": "Are you sure you want to withdraw this warning?",
|
|
202
|
-
"tac-missing-data": "Missing data: no TAC can be generated"
|
|
203
|
+
"tac-missing-data": "Missing data: no TAC can be generated",
|
|
204
|
+
"warning-list-button-renew": "Renew"
|
|
203
205
|
};
|
|
204
206
|
var nl = {
|
|
205
207
|
"drawing-tool-form-tools": "Gereedschap",
|
|
@@ -337,7 +339,8 @@ var nl = {
|
|
|
337
339
|
"warning-domain-maritime": "Maritiem",
|
|
338
340
|
"warning-domain-public": "Publiek",
|
|
339
341
|
"error-title-retry": "Probeer opnieuw",
|
|
340
|
-
"tac-missing-data": "Ontbrekende gegevens: er kan geen TAC worden gegenereerd"
|
|
342
|
+
"tac-missing-data": "Ontbrekende gegevens: er kan geen TAC worden gegenereerd",
|
|
343
|
+
"warning-list-button-renew": "Hernieuwen"
|
|
341
344
|
};
|
|
342
345
|
var fi = {
|
|
343
346
|
"drawing-tool-form-tools": "Työkalut",
|
|
@@ -475,7 +478,8 @@ var fi = {
|
|
|
475
478
|
"warning-domain-maritime": "ei käännetty",
|
|
476
479
|
"warning-domain-public": "ei käännetty",
|
|
477
480
|
"error-title-retry": "Yritä uudelleen",
|
|
478
|
-
"tac-missing-data": "Tarvittavia tietoja puuttu, TAC:ia ei voida generoida"
|
|
481
|
+
"tac-missing-data": "Tarvittavia tietoja puuttu, TAC:ia ei voida generoida",
|
|
482
|
+
"warning-list-button-renew": "Renew"
|
|
479
483
|
};
|
|
480
484
|
var no = {
|
|
481
485
|
"drawing-tool-form-tools": "Verktøy",
|
|
@@ -613,7 +617,8 @@ var no = {
|
|
|
613
617
|
"warning-domain-maritime": "ikke oversatt",
|
|
614
618
|
"warning-domain-public": "ikke oversatt",
|
|
615
619
|
"error-title-retry": "Prøv igjen",
|
|
616
|
-
"tac-missing-data": "Mangler data: ingen TAC kan genereres"
|
|
620
|
+
"tac-missing-data": "Mangler data: ingen TAC kan genereres",
|
|
621
|
+
"warning-list-button-renew": "Renew"
|
|
617
622
|
};
|
|
618
623
|
var warningsTranslations = {
|
|
619
624
|
en: en,
|
|
@@ -1186,7 +1191,7 @@ var useCloseDrawDialog = function useCloseDrawDialog(_ref) {
|
|
|
1186
1191
|
drawMode: ''
|
|
1187
1192
|
}));
|
|
1188
1193
|
// reset active draw tool
|
|
1189
|
-
dispatch(
|
|
1194
|
+
dispatch(drawingToolActions.changeDrawToolMode({
|
|
1190
1195
|
drawToolId: drawingDialogType,
|
|
1191
1196
|
drawModeId: drawDialogActiveDrawModeId
|
|
1192
1197
|
}));
|
|
@@ -1213,7 +1218,7 @@ var useCloseDrawDialog = function useCloseDrawDialog(_ref) {
|
|
|
1213
1218
|
}
|
|
1214
1219
|
// clear existing geoJSON
|
|
1215
1220
|
if (featureLayerContainsGeoJSON) {
|
|
1216
|
-
dispatch(
|
|
1221
|
+
dispatch(layerActions.layerChangeGeojson({
|
|
1217
1222
|
layerId: drawLayerId,
|
|
1218
1223
|
geojson: emptyGeoJSON
|
|
1219
1224
|
}));
|
|
@@ -1260,7 +1265,7 @@ var useCloseObjectDialog = function useCloseObjectDialog(_ref3) {
|
|
|
1260
1265
|
source: source
|
|
1261
1266
|
}));
|
|
1262
1267
|
if (featureLayerContainsGeoJSON && shouldReset) {
|
|
1263
|
-
dispatch(
|
|
1268
|
+
dispatch(layerActions.layerChangeGeojson({
|
|
1264
1269
|
layerId: drawLayerId,
|
|
1265
1270
|
geojson: emptyGeoJSON
|
|
1266
1271
|
}));
|
|
@@ -1318,7 +1323,7 @@ var useObjectDrawDialogAction = function useObjectDrawDialogAction(_ref5) {
|
|
|
1318
1323
|
objectDialogLayerHasGeoJSON = _useDialogOptions2.hasGeoJSON,
|
|
1319
1324
|
objectDialogLayerId = _useDialogOptions2.dialogLayerId;
|
|
1320
1325
|
var clearGeoJSON = function clearGeoJSON(layerId) {
|
|
1321
|
-
dispatch(
|
|
1326
|
+
dispatch(layerActions.layerChangeGeojson({
|
|
1322
1327
|
layerId: layerId,
|
|
1323
1328
|
geojson: emptyGeoJSON
|
|
1324
1329
|
}));
|
|
@@ -1366,7 +1371,7 @@ var useObjectDrawDialogAction = function useObjectDrawDialogAction(_ref5) {
|
|
|
1366
1371
|
// move shape to screen
|
|
1367
1372
|
if (isObjectDialogOpen && objectDialogLayerHasGeoJSON) {
|
|
1368
1373
|
// update new shape
|
|
1369
|
-
dispatch(
|
|
1374
|
+
dispatch(layerActions.layerSetGeojsonFromLayer({
|
|
1370
1375
|
layerId: currentDrawLayerId,
|
|
1371
1376
|
sourceLayerId: objectDialogLayerId
|
|
1372
1377
|
}));
|
|
@@ -1399,13 +1404,13 @@ var useObjectDrawDialogAction = function useObjectDrawDialogAction(_ref5) {
|
|
|
1399
1404
|
source: source
|
|
1400
1405
|
}));
|
|
1401
1406
|
// activate draw tool
|
|
1402
|
-
dispatch(
|
|
1407
|
+
dispatch(drawingToolActions.updateGeoJSONLayerId({
|
|
1403
1408
|
drawToolId: drawingDialogType,
|
|
1404
1409
|
geoJSONLayerId: currentDrawLayerId
|
|
1405
1410
|
}));
|
|
1406
1411
|
// activate default draw mode
|
|
1407
1412
|
if (!drawDialogActiveDrawModeId && !isDrawDialogOpen) {
|
|
1408
|
-
dispatch(
|
|
1413
|
+
dispatch(drawingToolActions.changeDrawToolMode({
|
|
1409
1414
|
drawToolId: drawingDialogType,
|
|
1410
1415
|
drawModeId: defaultPolygon.drawModeId
|
|
1411
1416
|
}));
|
|
@@ -1413,7 +1418,7 @@ var useObjectDrawDialogAction = function useObjectDrawDialogAction(_ref5) {
|
|
|
1413
1418
|
// move shape to screen
|
|
1414
1419
|
if (isDrawDialogOpen && drawDialogLayerHasGeoJSON) {
|
|
1415
1420
|
// update new shape
|
|
1416
|
-
dispatch(
|
|
1421
|
+
dispatch(layerActions.layerSetGeojsonFromLayer({
|
|
1417
1422
|
layerId: currentDrawLayerId,
|
|
1418
1423
|
sourceLayerId: drawDialogLayerId
|
|
1419
1424
|
}));
|
|
@@ -1435,7 +1440,7 @@ var useObjectDrawDialogAction = function useObjectDrawDialogAction(_ref5) {
|
|
|
1435
1440
|
}));
|
|
1436
1441
|
}
|
|
1437
1442
|
if (newGeoJSON) {
|
|
1438
|
-
dispatch(
|
|
1443
|
+
dispatch(layerActions.layerChangeGeojson({
|
|
1439
1444
|
layerId: currentDrawLayerId,
|
|
1440
1445
|
geojson: newGeoJSON
|
|
1441
1446
|
}));
|
|
@@ -1589,7 +1594,7 @@ var Objects = function Objects(_ref2) {
|
|
|
1589
1594
|
var _useWarningsTranslati = useWarningsTranslation(),
|
|
1590
1595
|
t = _useWarningsTranslati.t;
|
|
1591
1596
|
var listRef = React__default.useRef(null);
|
|
1592
|
-
var _getListInclHeaders = getListInclHeaders$1(objects),
|
|
1597
|
+
var _getListInclHeaders = getListInclHeaders$1(objects || []),
|
|
1593
1598
|
listInclHeaders = _getListInclHeaders.listInclHeaders,
|
|
1594
1599
|
headerList = _getListInclHeaders.headerList;
|
|
1595
1600
|
var getItemSize = function getItemSize(width, index) {
|
|
@@ -1952,10 +1957,6 @@ var getApiRoutes$1 = function getApiRoutes(axiosInstance) {
|
|
|
1952
1957
|
getAreaKeywords: function getAreaKeywords() {
|
|
1953
1958
|
return axiosInstance.get("/area-keywords");
|
|
1954
1959
|
},
|
|
1955
|
-
// warnings
|
|
1956
|
-
getWarnings: function getWarnings() {
|
|
1957
|
-
return axiosInstance.get('/warnings');
|
|
1958
|
-
},
|
|
1959
1960
|
saveWarningAs: function saveWarningAs(data) {
|
|
1960
1961
|
return axiosInstance.post("/warnings/", data).then(function (response) {
|
|
1961
1962
|
var headerLocation = response == null ? void 0 : response.request.getResponseHeader('Location');
|
|
@@ -1967,9 +1968,6 @@ var getApiRoutes$1 = function getApiRoutes(axiosInstance) {
|
|
|
1967
1968
|
},
|
|
1968
1969
|
deleteWarning: function deleteWarning(warningId) {
|
|
1969
1970
|
return axiosInstance.post("/warnings/" + warningId + "?delete=true");
|
|
1970
|
-
},
|
|
1971
|
-
toggleEditorWarning: function toggleEditorWarning(warningId, isEditor) {
|
|
1972
|
-
return axiosInstance.post("/warnings/" + warningId + "?editor=" + (isEditor ? 'true' : 'false'));
|
|
1973
1971
|
}
|
|
1974
1972
|
};
|
|
1975
1973
|
};
|
|
@@ -2100,84 +2098,22 @@ var publicWarningDialogType = uiTypes.DialogTypes.PublicWarnings;
|
|
|
2100
2098
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
2101
2099
|
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
2102
2100
|
* */
|
|
2103
|
-
var
|
|
2104
|
-
|
|
2105
|
-
return warning.id;
|
|
2106
|
-
}
|
|
2107
|
-
});
|
|
2108
|
-
var initialState$1 = {
|
|
2109
|
-
warnings: publicWarningsAdapter.getInitialState(),
|
|
2110
|
-
isLoading: true,
|
|
2111
|
-
lastUpdatedTime: '',
|
|
2112
|
-
filterState: {}
|
|
2113
|
-
};
|
|
2101
|
+
var TAKEOVER_MESSAGE = 'You are no longer the editor of this warning';
|
|
2102
|
+
var initialState$1 = {};
|
|
2114
2103
|
var slice$1 = createSlice({
|
|
2115
2104
|
initialState: initialState$1,
|
|
2116
|
-
name: 'publicWarnings',
|
|
2117
|
-
reducers: {
|
|
2118
|
-
fetchWarnings: function fetchWarnings(draft) {
|
|
2119
|
-
draft.isLoading = true;
|
|
2120
|
-
delete draft.error;
|
|
2121
|
-
},
|
|
2122
|
-
fetchWarningsSuccess: function fetchWarningsSuccess(draft, action) {
|
|
2123
|
-
var _action$payload = action.payload,
|
|
2124
|
-
warnings = _action$payload.warnings,
|
|
2125
|
-
lastUpdatedTime = _action$payload.lastUpdatedTime;
|
|
2126
|
-
draft.isLoading = false;
|
|
2127
|
-
draft.lastUpdatedTime = lastUpdatedTime;
|
|
2128
|
-
publicWarningsAdapter.setAll(draft.warnings, warnings);
|
|
2129
|
-
},
|
|
2130
|
-
fetchWarningsError: function fetchWarningsError(draft, action) {
|
|
2131
|
-
var error = action.payload.error;
|
|
2132
|
-
draft.isLoading = false;
|
|
2133
|
-
draft.error = error;
|
|
2134
|
-
},
|
|
2135
|
-
setWarningFilters: function setWarningFilters(draft, action) {
|
|
2136
|
-
var _action$payload2 = action.payload,
|
|
2137
|
-
filterState = _action$payload2.filterState,
|
|
2138
|
-
panelId = _action$payload2.panelId;
|
|
2139
|
-
if (panelId) {
|
|
2140
|
-
draft.filterState[panelId] = filterState;
|
|
2141
|
-
}
|
|
2142
|
-
}
|
|
2143
|
-
}
|
|
2144
|
-
});
|
|
2145
|
-
var reducer$1 = slice$1.reducer;
|
|
2146
|
-
var publicWarningActions = slice$1.actions;
|
|
2147
|
-
|
|
2148
|
-
/* *
|
|
2149
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2150
|
-
* you may not use this file except in compliance with the License.
|
|
2151
|
-
* You may obtain a copy of the License at
|
|
2152
|
-
*
|
|
2153
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2154
|
-
*
|
|
2155
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
2156
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2157
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2158
|
-
* See the License for the specific language governing permissions and
|
|
2159
|
-
* limitations under the License.
|
|
2160
|
-
*
|
|
2161
|
-
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
2162
|
-
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
2163
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
2164
|
-
* */
|
|
2165
|
-
var TAKEOVER_MESSAGE = 'You are no longer the editor of this warning';
|
|
2166
|
-
var initialState = {};
|
|
2167
|
-
var slice = createSlice({
|
|
2168
|
-
initialState: initialState,
|
|
2169
2105
|
name: 'publicWarningForm',
|
|
2170
2106
|
reducers: {
|
|
2171
2107
|
setFormValues: function setFormValues(draft, action) {
|
|
2172
2108
|
var _action$payload = action.payload,
|
|
2173
2109
|
object = _action$payload.object,
|
|
2174
|
-
|
|
2110
|
+
warning = _action$payload.warning,
|
|
2175
2111
|
formState = _action$payload.formState;
|
|
2176
2112
|
if (object) {
|
|
2177
2113
|
draft.object = object;
|
|
2178
2114
|
}
|
|
2179
|
-
if (
|
|
2180
|
-
draft.
|
|
2115
|
+
if (warning) {
|
|
2116
|
+
draft.warning = warning;
|
|
2181
2117
|
}
|
|
2182
2118
|
if (formState !== undefined) {
|
|
2183
2119
|
draft.formState = formState;
|
|
@@ -2186,56 +2122,49 @@ var slice = createSlice({
|
|
|
2186
2122
|
addArea: function addArea(draft, action) {
|
|
2187
2123
|
var area = action.payload.area;
|
|
2188
2124
|
// only support 1 area (for now)
|
|
2189
|
-
if (draft.
|
|
2190
|
-
|
|
2125
|
+
if (draft.warning) {
|
|
2126
|
+
var _draft$warning$warnin;
|
|
2127
|
+
var areaWithPreservedUUID = Object.assign({}, (_draft$warning$warnin = draft.warning.warningDetail.areas) == null ? void 0 : _draft$warning$warnin.at(0), area);
|
|
2128
|
+
draft.warning.warningDetail.areas = [areaWithPreservedUUID];
|
|
2191
2129
|
} else {
|
|
2192
2130
|
var newWarning = {
|
|
2193
2131
|
warningDetail: {
|
|
2194
2132
|
areas: [area]
|
|
2195
2133
|
}
|
|
2196
2134
|
};
|
|
2197
|
-
draft.
|
|
2135
|
+
draft.warning = newWarning;
|
|
2198
2136
|
}
|
|
2199
2137
|
},
|
|
2200
2138
|
removeArea: function removeArea(draft, action) {
|
|
2201
2139
|
var area = action.payload.area;
|
|
2202
|
-
if (draft.
|
|
2203
|
-
var removeAreas = draft.
|
|
2140
|
+
if (draft.warning) {
|
|
2141
|
+
var removeAreas = draft.warning.warningDetail.areas.filter(function (existingArea) {
|
|
2204
2142
|
return existingArea.objectName !== area.objectName;
|
|
2205
2143
|
});
|
|
2206
|
-
draft.
|
|
2144
|
+
draft.warning.warningDetail.areas = removeAreas;
|
|
2145
|
+
}
|
|
2146
|
+
},
|
|
2147
|
+
removeAllAreas: function removeAllAreas(draft) {
|
|
2148
|
+
if (draft.warning) {
|
|
2149
|
+
draft.warning.warningDetail.areas = [];
|
|
2207
2150
|
}
|
|
2208
2151
|
},
|
|
2209
2152
|
openPublicWarningFormDialog: function openPublicWarningFormDialog(draft, action) {
|
|
2210
2153
|
var _action$payload2 = action.payload,
|
|
2211
2154
|
object = _action$payload2.object,
|
|
2212
|
-
|
|
2155
|
+
warning = _action$payload2.warning,
|
|
2213
2156
|
_action$payload2$form = _action$payload2.formState,
|
|
2214
2157
|
formState = _action$payload2$form === void 0 ? '' : _action$payload2$form,
|
|
2215
2158
|
_action$payload2$warn = _action$payload2.warningType,
|
|
2216
2159
|
warningType = _action$payload2$warn === void 0 ? 'public' : _action$payload2$warn,
|
|
2217
2160
|
panelId = _action$payload2.panelId;
|
|
2218
2161
|
draft.object = object;
|
|
2219
|
-
draft.
|
|
2220
|
-
draft.
|
|
2162
|
+
draft.warning = warning;
|
|
2163
|
+
draft.selectedWarningId = warning == null ? void 0 : warning.id;
|
|
2221
2164
|
draft.formState = formState;
|
|
2222
2165
|
draft.warningType = warningType;
|
|
2223
2166
|
draft.panelId = panelId;
|
|
2224
2167
|
},
|
|
2225
|
-
toggleEditorWarning: function toggleEditorWarning(draft,
|
|
2226
|
-
// eslint-disable-next-line no-unused-vars
|
|
2227
|
-
action) {
|
|
2228
|
-
delete draft.error;
|
|
2229
|
-
},
|
|
2230
|
-
toggleEditorWarningSuccess: function toggleEditorWarningSuccess(draft, action) {
|
|
2231
|
-
var _action$payload3 = action.payload,
|
|
2232
|
-
isEditor = _action$payload3.isEditor,
|
|
2233
|
-
username = _action$payload3.username;
|
|
2234
|
-
if (draft.publicWarning) {
|
|
2235
|
-
draft.publicWarning.editor = isEditor ? username : '';
|
|
2236
|
-
}
|
|
2237
|
-
draft.formState = isEditor ? '' : 'readonly';
|
|
2238
|
-
},
|
|
2239
2168
|
// publish warning
|
|
2240
2169
|
publishWarning: function publishWarning(draft,
|
|
2241
2170
|
// eslint-disable-next-line no-unused-vars
|
|
@@ -2245,7 +2174,7 @@ var slice = createSlice({
|
|
|
2245
2174
|
},
|
|
2246
2175
|
publishWarningSuccess: function publishWarningSuccess(draft, action) {
|
|
2247
2176
|
var publicWarning = action.payload.publicWarning;
|
|
2248
|
-
draft.
|
|
2177
|
+
draft.warning = publicWarning;
|
|
2249
2178
|
// If form has been published, set form to readonly
|
|
2250
2179
|
draft.formState = 'readonly';
|
|
2251
2180
|
},
|
|
@@ -2255,70 +2184,60 @@ var slice = createSlice({
|
|
|
2255
2184
|
action) {
|
|
2256
2185
|
draft.formState = 'saving';
|
|
2257
2186
|
delete draft.error;
|
|
2258
|
-
draft.
|
|
2187
|
+
draft.warning = action.payload.publicWarning;
|
|
2259
2188
|
},
|
|
2260
2189
|
saveWarningSuccess: function saveWarningSuccess(draft, action) {
|
|
2261
2190
|
var _publicWarning$warnin;
|
|
2262
2191
|
var publicWarning = action.payload.publicWarning;
|
|
2263
|
-
draft.
|
|
2192
|
+
draft.warning = publicWarning;
|
|
2264
2193
|
if (publicWarning != null && (_publicWarning$warnin = publicWarning.warningDetail) != null && _publicWarning$warnin.id) {
|
|
2265
|
-
draft.
|
|
2194
|
+
draft.selectedWarningId = publicWarning.warningDetail.id;
|
|
2266
2195
|
}
|
|
2267
2196
|
draft.formState = '';
|
|
2268
2197
|
},
|
|
2269
2198
|
setFormError: function setFormError(draft, action) {
|
|
2270
|
-
var _action$
|
|
2271
|
-
message = _action$
|
|
2272
|
-
_action$
|
|
2273
|
-
severity = _action$
|
|
2199
|
+
var _action$payload3 = action.payload,
|
|
2200
|
+
message = _action$payload3.message,
|
|
2201
|
+
_action$payload3$seve = _action$payload3.severity,
|
|
2202
|
+
severity = _action$payload3$seve === void 0 ? 'error' : _action$payload3$seve;
|
|
2274
2203
|
draft.formState = '';
|
|
2275
2204
|
draft.error = {
|
|
2276
2205
|
severity: severity,
|
|
2277
2206
|
message: message
|
|
2278
2207
|
};
|
|
2279
2208
|
},
|
|
2209
|
+
removeFormError: function removeFormError(draft) {
|
|
2210
|
+
delete draft.error;
|
|
2211
|
+
},
|
|
2280
2212
|
setFormDirty: function setFormDirty(draft, action) {
|
|
2281
2213
|
var isFormDirty = action.payload.isFormDirty;
|
|
2282
2214
|
draft.isFormDirty = isFormDirty;
|
|
2215
|
+
},
|
|
2216
|
+
setEditMode: function setEditMode(draft, action) {
|
|
2217
|
+
var warningId = action.payload.warningId;
|
|
2218
|
+
draft.selectedWarningId = warningId;
|
|
2219
|
+
draft.formState = 'edit';
|
|
2283
2220
|
}
|
|
2284
2221
|
},
|
|
2285
2222
|
extraReducers: function extraReducers(builder) {
|
|
2286
2223
|
builder.addCase(uiActions.setToggleOpenDialog, function (draft, action) {
|
|
2287
|
-
var _action$
|
|
2288
|
-
type = _action$
|
|
2289
|
-
setOpen = _action$
|
|
2224
|
+
var _action$payload4 = action.payload,
|
|
2225
|
+
type = _action$payload4.type,
|
|
2226
|
+
setOpen = _action$payload4.setOpen;
|
|
2290
2227
|
if (type === publicWarningDialogType && setOpen === false) {
|
|
2291
2228
|
delete draft.object;
|
|
2292
|
-
delete draft.
|
|
2229
|
+
delete draft.warning;
|
|
2293
2230
|
delete draft.formState;
|
|
2294
2231
|
delete draft.error;
|
|
2295
|
-
delete draft.
|
|
2232
|
+
delete draft.selectedWarningId;
|
|
2296
2233
|
delete draft.isFormDirty;
|
|
2297
2234
|
delete draft.warningType;
|
|
2298
2235
|
}
|
|
2299
|
-
}).addCase(publicWarningActions.fetchWarningsSuccess, function (draft, action) {
|
|
2300
|
-
var warnings = action.payload.warnings;
|
|
2301
|
-
if (draft.selectedPublicWarningId) {
|
|
2302
|
-
var _draft$publicWarning;
|
|
2303
|
-
var currentWarning = warnings.find(function (warning) {
|
|
2304
|
-
return warning.id === draft.selectedPublicWarningId;
|
|
2305
|
-
});
|
|
2306
|
-
if (currentWarning && ((_draft$publicWarning = draft.publicWarning) == null ? void 0 : _draft$publicWarning.editor) !== currentWarning.editor) {
|
|
2307
|
-
draft.publicWarning.editor = currentWarning.editor;
|
|
2308
|
-
// if form is in edit mode show warning
|
|
2309
|
-
if (draft.formState === '') {
|
|
2310
|
-
draft.error = {
|
|
2311
|
-
severity: 'warning',
|
|
2312
|
-
message: TAKEOVER_MESSAGE
|
|
2313
|
-
};
|
|
2314
|
-
}
|
|
2315
|
-
}
|
|
2316
|
-
}
|
|
2317
2236
|
});
|
|
2318
2237
|
}
|
|
2319
2238
|
});
|
|
2320
|
-
var reducer = slice.reducer;
|
|
2321
|
-
var publicWarningFormActions = slice.actions;
|
|
2239
|
+
var reducer$1 = slice$1.reducer;
|
|
2240
|
+
var publicWarningFormActions = slice$1.actions;
|
|
2322
2241
|
|
|
2323
2242
|
var ObjectManagerConnect = function ObjectManagerConnect(_ref) {
|
|
2324
2243
|
var bounds = _ref.bounds,
|
|
@@ -2396,7 +2315,7 @@ var ObjectManagerConnect = function ObjectManagerConnect(_ref) {
|
|
|
2396
2315
|
};
|
|
2397
2316
|
var showGeoJSONLayer = function showGeoJSONLayer(drawing) {
|
|
2398
2317
|
if (!currentLayer) {
|
|
2399
|
-
dispatch(
|
|
2318
|
+
dispatch(layerActions.addLayer({
|
|
2400
2319
|
mapId: mapId,
|
|
2401
2320
|
layer: {
|
|
2402
2321
|
geojson: drawing.geoJSON
|
|
@@ -2405,7 +2324,7 @@ var ObjectManagerConnect = function ObjectManagerConnect(_ref) {
|
|
|
2405
2324
|
origin: 'warnings-lib'
|
|
2406
2325
|
}));
|
|
2407
2326
|
} else {
|
|
2408
|
-
dispatch(
|
|
2327
|
+
dispatch(layerActions.layerChangeGeojson({
|
|
2409
2328
|
layerId: geoJSONLayerId,
|
|
2410
2329
|
geojson: drawing.geoJSON
|
|
2411
2330
|
}));
|
|
@@ -2477,10 +2396,12 @@ var ObjectManagerConnect = function ObjectManagerConnect(_ref) {
|
|
|
2477
2396
|
_context2.prev = 13;
|
|
2478
2397
|
_context2.t0 = _context2["catch"](2);
|
|
2479
2398
|
setLoading(false);
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2399
|
+
if (_context2.t0 instanceof Error) {
|
|
2400
|
+
dispatch(uiActions.setErrorDialog({
|
|
2401
|
+
error: _context2.t0.message,
|
|
2402
|
+
type: objectDialogType
|
|
2403
|
+
}));
|
|
2404
|
+
}
|
|
2484
2405
|
case 17:
|
|
2485
2406
|
case "end":
|
|
2486
2407
|
return _context2.stop();
|
|
@@ -2500,7 +2421,7 @@ var ObjectManagerConnect = function ObjectManagerConnect(_ref) {
|
|
|
2500
2421
|
var onShareObject = function onShareObject(object) {
|
|
2501
2422
|
dispatch(publicWarningFormActions.openPublicWarningFormDialog({
|
|
2502
2423
|
object: object,
|
|
2503
|
-
|
|
2424
|
+
warning: {
|
|
2504
2425
|
warningDetail: {
|
|
2505
2426
|
areas: [{
|
|
2506
2427
|
geoJSON: object.geoJSON,
|
|
@@ -6942,6 +6863,330 @@ var warningListJSON = [
|
|
|
6942
6863
|
}
|
|
6943
6864
|
];
|
|
6944
6865
|
|
|
6866
|
+
var airmetListJSON = [
|
|
6867
|
+
{
|
|
6868
|
+
uuid: "02d3727a-b190-11ef-ba31-067f7750936d",
|
|
6869
|
+
lastUpdateDate: "2024-12-03T16:02:35",
|
|
6870
|
+
creationDate: "2024-12-03T16:02:35",
|
|
6871
|
+
canbe: [
|
|
6872
|
+
"DRAFTED",
|
|
6873
|
+
"DISCARDED",
|
|
6874
|
+
"PUBLISHED"
|
|
6875
|
+
],
|
|
6876
|
+
airmet: {
|
|
6877
|
+
uuid: "02d3727a-b190-11ef-ba31-067f7750936d",
|
|
6878
|
+
phenomenon: "SFC_WIND",
|
|
6879
|
+
sequence: "-1",
|
|
6880
|
+
validDateStart: "2024-12-03T13:26:19Z",
|
|
6881
|
+
validDateEnd: "2024-12-03T15:26:19Z",
|
|
6882
|
+
firName: "AMSTERDAM FIR",
|
|
6883
|
+
locationIndicatorATSU: "EHAA",
|
|
6884
|
+
locationIndicatorATSR: "EHAA",
|
|
6885
|
+
locationIndicatorMWO: "EHDB",
|
|
6886
|
+
isObservationOrForecast: "OBS",
|
|
6887
|
+
observationOrForecastTime: "2024-12-03T11:26:19Z",
|
|
6888
|
+
movementType: "STATIONARY",
|
|
6889
|
+
change: "WKN",
|
|
6890
|
+
type: "NORMAL",
|
|
6891
|
+
status: "DRAFT",
|
|
6892
|
+
windDirection: 70,
|
|
6893
|
+
windSpeed: 35,
|
|
6894
|
+
windUnit: "KT",
|
|
6895
|
+
firGeometry: {
|
|
6896
|
+
},
|
|
6897
|
+
startGeometry: {
|
|
6898
|
+
type: "FeatureCollection",
|
|
6899
|
+
features: [
|
|
6900
|
+
{
|
|
6901
|
+
type: "Feature",
|
|
6902
|
+
geometry: {
|
|
6903
|
+
type: "Polygon",
|
|
6904
|
+
coordinates: [
|
|
6905
|
+
[
|
|
6906
|
+
[
|
|
6907
|
+
5,
|
|
6908
|
+
55
|
|
6909
|
+
],
|
|
6910
|
+
[
|
|
6911
|
+
4.331914,
|
|
6912
|
+
55.332644
|
|
6913
|
+
],
|
|
6914
|
+
[
|
|
6915
|
+
3.368817,
|
|
6916
|
+
55.764314
|
|
6917
|
+
],
|
|
6918
|
+
[
|
|
6919
|
+
2.761908,
|
|
6920
|
+
54.379261
|
|
6921
|
+
],
|
|
6922
|
+
[
|
|
6923
|
+
3.15576,
|
|
6924
|
+
52.913554
|
|
6925
|
+
],
|
|
6926
|
+
[
|
|
6927
|
+
2.000002,
|
|
6928
|
+
51.500002
|
|
6929
|
+
],
|
|
6930
|
+
[
|
|
6931
|
+
3.370001,
|
|
6932
|
+
51.369722
|
|
6933
|
+
],
|
|
6934
|
+
[
|
|
6935
|
+
3.370527,
|
|
6936
|
+
51.36867
|
|
6937
|
+
],
|
|
6938
|
+
[
|
|
6939
|
+
3.362223,
|
|
6940
|
+
51.320002
|
|
6941
|
+
],
|
|
6942
|
+
[
|
|
6943
|
+
3.36389,
|
|
6944
|
+
51.313608
|
|
6945
|
+
],
|
|
6946
|
+
[
|
|
6947
|
+
3.373613,
|
|
6948
|
+
51.309999
|
|
6949
|
+
],
|
|
6950
|
+
[
|
|
6951
|
+
3.952501,
|
|
6952
|
+
51.214441
|
|
6953
|
+
],
|
|
6954
|
+
[
|
|
6955
|
+
4.397501,
|
|
6956
|
+
51.452776
|
|
6957
|
+
],
|
|
6958
|
+
[
|
|
6959
|
+
5.078611,
|
|
6960
|
+
51.391665
|
|
6961
|
+
],
|
|
6962
|
+
[
|
|
6963
|
+
5.848333,
|
|
6964
|
+
51.139444
|
|
6965
|
+
],
|
|
6966
|
+
[
|
|
6967
|
+
5.651667,
|
|
6968
|
+
50.824717
|
|
6969
|
+
],
|
|
6970
|
+
[
|
|
6971
|
+
6.011797,
|
|
6972
|
+
50.757273
|
|
6973
|
+
],
|
|
6974
|
+
[
|
|
6975
|
+
5.934168,
|
|
6976
|
+
51.036386
|
|
6977
|
+
],
|
|
6978
|
+
[
|
|
6979
|
+
6.222223,
|
|
6980
|
+
51.361666
|
|
6981
|
+
],
|
|
6982
|
+
[
|
|
6983
|
+
5.94639,
|
|
6984
|
+
51.811663
|
|
6985
|
+
],
|
|
6986
|
+
[
|
|
6987
|
+
6.405001,
|
|
6988
|
+
51.830828
|
|
6989
|
+
],
|
|
6990
|
+
[
|
|
6991
|
+
7.053095,
|
|
6992
|
+
52.237764
|
|
6993
|
+
],
|
|
6994
|
+
[
|
|
6995
|
+
7.031389,
|
|
6996
|
+
52.268885
|
|
6997
|
+
],
|
|
6998
|
+
[
|
|
6999
|
+
7.063612,
|
|
7000
|
+
52.346109
|
|
7001
|
+
],
|
|
7002
|
+
[
|
|
7003
|
+
7.065557,
|
|
7004
|
+
52.385828
|
|
7005
|
+
],
|
|
7006
|
+
[
|
|
7007
|
+
7.133055,
|
|
7008
|
+
52.888887
|
|
7009
|
+
],
|
|
7010
|
+
[
|
|
7011
|
+
7.14218,
|
|
7012
|
+
52.898244
|
|
7013
|
+
],
|
|
7014
|
+
[
|
|
7015
|
+
7.191667,
|
|
7016
|
+
53.3
|
|
7017
|
+
],
|
|
7018
|
+
[
|
|
7019
|
+
6.5,
|
|
7020
|
+
53.666667
|
|
7021
|
+
],
|
|
7022
|
+
[
|
|
7023
|
+
6.500002,
|
|
7024
|
+
55.000002
|
|
7025
|
+
],
|
|
7026
|
+
[
|
|
7027
|
+
5,
|
|
7028
|
+
55
|
|
7029
|
+
]
|
|
7030
|
+
]
|
|
7031
|
+
]
|
|
7032
|
+
},
|
|
7033
|
+
properties: {
|
|
7034
|
+
selectionType: "fir"
|
|
7035
|
+
}
|
|
7036
|
+
}
|
|
7037
|
+
]
|
|
7038
|
+
}
|
|
7039
|
+
}
|
|
7040
|
+
}
|
|
7041
|
+
];
|
|
7042
|
+
|
|
7043
|
+
var sigmetListJSON = [
|
|
7044
|
+
{
|
|
7045
|
+
uuid: "someuniqueidprescibedbyBE2",
|
|
7046
|
+
lastUpdateDate: "2020-09-17T12:00:00Z",
|
|
7047
|
+
creationDate: "2020-09-17T12:00:00Z",
|
|
7048
|
+
canbe: [
|
|
7049
|
+
"CANCELLED"
|
|
7050
|
+
],
|
|
7051
|
+
sigmet: {
|
|
7052
|
+
uuid: "someuniqueidprescibedbyBE2",
|
|
7053
|
+
phenomenon: "VA_CLD",
|
|
7054
|
+
sequence: "A01V",
|
|
7055
|
+
issueDate: "2020-09-17T12:00:00Z",
|
|
7056
|
+
firName: "AMSTERDAM FIR",
|
|
7057
|
+
locationIndicatorATSU: "EHAA",
|
|
7058
|
+
locationIndicatorATSR: "EHAA",
|
|
7059
|
+
locationIndicatorMWO: "EHDB",
|
|
7060
|
+
isObservationOrForecast: "OBS",
|
|
7061
|
+
observationOrForecastTime: "",
|
|
7062
|
+
movementType: "STATIONARY",
|
|
7063
|
+
change: "WKN",
|
|
7064
|
+
type: "NORMAL",
|
|
7065
|
+
status: "PUBLISHED",
|
|
7066
|
+
levelInfoMode: "BETW",
|
|
7067
|
+
vaSigmetVolcanoName: "EYJAFJALLAJOKULL",
|
|
7068
|
+
vaSigmetVolcanoCoordinates: {
|
|
7069
|
+
latitude: 63.62,
|
|
7070
|
+
longitude: -19.61
|
|
7071
|
+
},
|
|
7072
|
+
level: {
|
|
7073
|
+
value: 2000,
|
|
7074
|
+
unit: "FT"
|
|
7075
|
+
},
|
|
7076
|
+
lowerLevel: {
|
|
7077
|
+
value: 1000,
|
|
7078
|
+
unit: "FT"
|
|
7079
|
+
},
|
|
7080
|
+
firGeometry: "",
|
|
7081
|
+
startGeometry: {
|
|
7082
|
+
type: "FeatureCollection",
|
|
7083
|
+
features: [
|
|
7084
|
+
{
|
|
7085
|
+
type: "Feature",
|
|
7086
|
+
properties: {
|
|
7087
|
+
selectionType: "poly"
|
|
7088
|
+
},
|
|
7089
|
+
geometry: {
|
|
7090
|
+
type: "Polygon",
|
|
7091
|
+
coordinates: [
|
|
7092
|
+
[
|
|
7093
|
+
[
|
|
7094
|
+
4.799062887514267,
|
|
7095
|
+
54.04327723979929
|
|
7096
|
+
],
|
|
7097
|
+
[
|
|
7098
|
+
6.006227982070749,
|
|
7099
|
+
53.64012115183787
|
|
7100
|
+
],
|
|
7101
|
+
[
|
|
7102
|
+
4.6168492883359304,
|
|
7103
|
+
53.32840097044425
|
|
7104
|
+
],
|
|
7105
|
+
[
|
|
7106
|
+
4.799062887514267,
|
|
7107
|
+
54.04327723979929
|
|
7108
|
+
]
|
|
7109
|
+
]
|
|
7110
|
+
]
|
|
7111
|
+
}
|
|
7112
|
+
}
|
|
7113
|
+
]
|
|
7114
|
+
},
|
|
7115
|
+
startGeometryIntersect: {
|
|
7116
|
+
type: "FeatureCollection",
|
|
7117
|
+
features: [
|
|
7118
|
+
{
|
|
7119
|
+
type: "Feature",
|
|
7120
|
+
properties: {
|
|
7121
|
+
selectionType: "poly"
|
|
7122
|
+
},
|
|
7123
|
+
geometry: {
|
|
7124
|
+
type: "Polygon",
|
|
7125
|
+
coordinates: [
|
|
7126
|
+
[
|
|
7127
|
+
[
|
|
7128
|
+
4.799062887514267,
|
|
7129
|
+
54.04327723979929
|
|
7130
|
+
],
|
|
7131
|
+
[
|
|
7132
|
+
6.006227982070749,
|
|
7133
|
+
53.64012115183787
|
|
7134
|
+
],
|
|
7135
|
+
[
|
|
7136
|
+
4.6168492883359304,
|
|
7137
|
+
53.32840097044425
|
|
7138
|
+
],
|
|
7139
|
+
[
|
|
7140
|
+
4.799062887514267,
|
|
7141
|
+
54.04327723979929
|
|
7142
|
+
]
|
|
7143
|
+
]
|
|
7144
|
+
]
|
|
7145
|
+
}
|
|
7146
|
+
}
|
|
7147
|
+
]
|
|
7148
|
+
}
|
|
7149
|
+
}
|
|
7150
|
+
}
|
|
7151
|
+
];
|
|
7152
|
+
|
|
7153
|
+
/* *
|
|
7154
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7155
|
+
* you may not use this file except in compliance with the License.
|
|
7156
|
+
* You may obtain a copy of the License at
|
|
7157
|
+
*
|
|
7158
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
7159
|
+
*
|
|
7160
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
7161
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
7162
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
7163
|
+
* See the License for the specific language governing permissions and
|
|
7164
|
+
* limitations under the License.
|
|
7165
|
+
*
|
|
7166
|
+
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
7167
|
+
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
7168
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
7169
|
+
* */
|
|
7170
|
+
var airmetList = airmetListJSON;
|
|
7171
|
+
var sigmetList = sigmetListJSON;
|
|
7172
|
+
var fakeSigmetTAC = 'EHAA SIGMET 1 VALID 121249/121449 EHDB- EHAA AMSTERDAM FIR FRQ TS OBS ENTIRE FIR FL010 STNR WKN';
|
|
7173
|
+
var fakeAirmetTAC = 'EHAA AIRMET -1 VALID 310700/311100 EHDB- EHAA AMSTERDAM FIR ISOL CB OBS ENTIRE FIR FL020 STNR NC';
|
|
7174
|
+
[rest.get(/^.*\/airmetlist$/, function (_, res, ctx) {
|
|
7175
|
+
return res(ctx.status(200), ctx.json(airmetList));
|
|
7176
|
+
}), rest.get(/^.*\/sigmetlist$/, function (_, res, ctx) {
|
|
7177
|
+
return res(ctx.status(200), ctx.json(sigmetList));
|
|
7178
|
+
}), rest.get(/^.*\/airmet-config$/, function (_, res, ctx) {
|
|
7179
|
+
return res(ctx.status(200), ctx.json(airmetConfig));
|
|
7180
|
+
}), rest.get(/^.*\/sigmet-config$/, function (_, res, ctx) {
|
|
7181
|
+
return res(ctx.status(200), ctx.json(sigmetConfig));
|
|
7182
|
+
}), rest.post(/^.*\/airmet2tac$/, function (_, res, ctx) {
|
|
7183
|
+
return res(ctx.status(200), ctx.text(fakeAirmetTAC));
|
|
7184
|
+
}), rest.post(/^.*\/sigmet2tac$/, function (_, res, ctx) {
|
|
7185
|
+
return res(ctx.status(200), ctx.text(fakeSigmetTAC));
|
|
7186
|
+
}), rest.get(/^(?!.*(sigmet|airmet)).*$/, function (req) {
|
|
7187
|
+
return req.passthrough();
|
|
7188
|
+
})];
|
|
7189
|
+
|
|
6945
7190
|
/* *
|
|
6946
7191
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6947
7192
|
* you may not use this file except in compliance with the License.
|
|
@@ -6966,6 +7211,12 @@ warningList.filter(function (warning) {
|
|
|
6966
7211
|
return warning.status !== 'EXPIRED' && warning.status !== 'WITHDRAWN';
|
|
6967
7212
|
}).length;
|
|
6968
7213
|
var areaKeywordList = ['North Sea districts', 'Coastal Districts', 'KNMI Specific', 'Objects', 'Baltic areas', 'NL', 'FI', 'METNorway Specific', 'Provinces', 'FIR', 'Countries'];
|
|
7214
|
+
[rest.get(/^.*\/warnings$/, function (req, res, ctx) {
|
|
7215
|
+
// respond using a mocked JSON body
|
|
7216
|
+
return res(ctx.json(warningList));
|
|
7217
|
+
}), rest.post(/^.*\/warnings\/(.*)$/, function (req, res, ctx) {
|
|
7218
|
+
return res(ctx.json({}));
|
|
7219
|
+
})];
|
|
6969
7220
|
|
|
6970
7221
|
/* *
|
|
6971
7222
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -6985,7 +7236,6 @@ var areaKeywordList = ['North Sea districts', 'Coastal Districts', 'KNMI Specifi
|
|
|
6985
7236
|
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
6986
7237
|
* */
|
|
6987
7238
|
var ERROR_NOT_FOUND = 'Request failed with status code 400';
|
|
6988
|
-
var MOCK_USERNAME = 'user.name';
|
|
6989
7239
|
var extractDrawingDetailsFromJSON = function extractDrawingDetailsFromJSON(drawingId) {
|
|
6990
7240
|
return drawingsListFullContent.find(function (element) {
|
|
6991
7241
|
return element.id === drawingId;
|
|
@@ -7061,14 +7311,6 @@ var getApiRoutes = function getApiRoutes(axiosInstance) {
|
|
|
7061
7311
|
};
|
|
7062
7312
|
});
|
|
7063
7313
|
},
|
|
7064
|
-
// public warnings
|
|
7065
|
-
getWarnings: function getWarnings() {
|
|
7066
|
-
return axiosInstance.get("/warnings/").then(function () {
|
|
7067
|
-
return {
|
|
7068
|
-
data: warningList
|
|
7069
|
-
};
|
|
7070
|
-
});
|
|
7071
|
-
},
|
|
7072
7314
|
saveWarningAs: function saveWarningAs(data) {
|
|
7073
7315
|
// eslint-disable-next-line no-console
|
|
7074
7316
|
console.log('api: save warning as', data);
|
|
@@ -7088,17 +7330,6 @@ var getApiRoutes = function getApiRoutes(axiosInstance) {
|
|
|
7088
7330
|
return warning.id === warningId;
|
|
7089
7331
|
}), 1);
|
|
7090
7332
|
return axiosInstance.post("/warnings/" + warningId + "?delete=true");
|
|
7091
|
-
},
|
|
7092
|
-
toggleEditorWarning: function toggleEditorWarning(warningId, isEditor) {
|
|
7093
|
-
// eslint-disable-next-line no-console
|
|
7094
|
-
console.log('api: toggle editor warning', warningId, isEditor);
|
|
7095
|
-
var index = warningList.findIndex(function (warning) {
|
|
7096
|
-
return warning.id === warningId;
|
|
7097
|
-
});
|
|
7098
|
-
warningList.splice(index, 1, Object.assign({}, warningList[index], {
|
|
7099
|
-
editor: isEditor ? MOCK_USERNAME : null
|
|
7100
|
-
}));
|
|
7101
|
-
return axiosInstance.post("/warnings/" + warningId + "?editor=" + (isEditor ? 'true' : 'false'));
|
|
7102
7333
|
}
|
|
7103
7334
|
};
|
|
7104
7335
|
};
|
|
@@ -7449,7 +7680,7 @@ var DrawingToolFormContentsNoMemo = function DrawingToolFormContentsNoMemo(_ref)
|
|
|
7449
7680
|
};
|
|
7450
7681
|
var DrawingToolFormContents = /*#__PURE__*/React__default.memo(DrawingToolFormContentsNoMemo, isEqual);
|
|
7451
7682
|
|
|
7452
|
-
var _excluded$
|
|
7683
|
+
var _excluded$9 = ["opacity", "geoJSON"];
|
|
7453
7684
|
var getObjectName$1 = function getObjectName(objectName) {
|
|
7454
7685
|
return objectName || dateUtils.dateToString(new Date(), dateUtils.DATE_FORMAT_DATEPICKER, true) + " UTC";
|
|
7455
7686
|
};
|
|
@@ -7519,7 +7750,7 @@ var DrawingToolForm = function DrawingToolForm(_ref) {
|
|
|
7519
7750
|
// remove unneeded properties
|
|
7520
7751
|
formValues.opacity;
|
|
7521
7752
|
var geoJSON = formValues.geoJSON,
|
|
7522
|
-
allFormValues = _objectWithoutPropertiesLoose(formValues, _excluded$
|
|
7753
|
+
allFormValues = _objectWithoutPropertiesLoose(formValues, _excluded$9);
|
|
7523
7754
|
// rewind geometry
|
|
7524
7755
|
var rewindedGeometry = rewindGeometry(geoJSON);
|
|
7525
7756
|
onSubmitForm(Object.assign({}, allFormValues, {
|
|
@@ -7533,7 +7764,8 @@ var DrawingToolForm = function DrawingToolForm(_ref) {
|
|
|
7533
7764
|
}));
|
|
7534
7765
|
}, [geoJSONProperties, drawModes]);
|
|
7535
7766
|
var onChangeOpacity = React.useCallback(function (event) {
|
|
7536
|
-
var
|
|
7767
|
+
var target = event.target;
|
|
7768
|
+
var value = target.value;
|
|
7537
7769
|
var newOpacity = parseInt(value, 10) / 100;
|
|
7538
7770
|
var additionalStrokeOpacity = 0.8;
|
|
7539
7771
|
onChangeProperties({
|
|
@@ -7620,7 +7852,7 @@ var DrawingToolFormConnect = function DrawingToolFormConnect() {
|
|
|
7620
7852
|
}));
|
|
7621
7853
|
}, [dispatch, drawTool == null ? void 0 : drawTool.geoJSONLayerId]);
|
|
7622
7854
|
var onChangeDrawMode = React.useCallback(function (tool) {
|
|
7623
|
-
dispatch(
|
|
7855
|
+
dispatch(drawingToolActions.changeDrawToolMode({
|
|
7624
7856
|
drawToolId: drawToolId,
|
|
7625
7857
|
drawModeId: tool.drawModeId
|
|
7626
7858
|
}));
|
|
@@ -7632,7 +7864,7 @@ var DrawingToolFormConnect = function DrawingToolFormConnect() {
|
|
|
7632
7864
|
drawMode: ''
|
|
7633
7865
|
}));
|
|
7634
7866
|
if (drawTool != null && drawTool.activeDrawModeId) {
|
|
7635
|
-
dispatch(
|
|
7867
|
+
dispatch(drawingToolActions.changeDrawToolMode({
|
|
7636
7868
|
drawToolId: drawToolId,
|
|
7637
7869
|
drawModeId: drawTool == null ? void 0 : drawTool.activeDrawModeId
|
|
7638
7870
|
}));
|
|
@@ -7724,12 +7956,12 @@ var DrawingToolConnect = function DrawingToolConnect(_ref) {
|
|
|
7724
7956
|
var dispatch = useDispatch();
|
|
7725
7957
|
React.useEffect(function () {
|
|
7726
7958
|
var defaultDrawModes = translateDrawModes(currentlySupportedDrawModes, t);
|
|
7727
|
-
dispatch(
|
|
7959
|
+
dispatch(drawingToolActions.registerDrawTool({
|
|
7728
7960
|
drawToolId: drawingDialogType,
|
|
7729
7961
|
defaultDrawModes: defaultDrawModes
|
|
7730
7962
|
}));
|
|
7731
7963
|
return function () {
|
|
7732
|
-
dispatch(
|
|
7964
|
+
dispatch(drawingToolActions.unregisterDrawTool({
|
|
7733
7965
|
drawToolId: drawingDialogType
|
|
7734
7966
|
}));
|
|
7735
7967
|
};
|
|
@@ -7927,7 +8159,7 @@ var PublicWarningsFormDialog = function PublicWarningsFormDialog(_ref) {
|
|
|
7927
8159
|
}));
|
|
7928
8160
|
};
|
|
7929
8161
|
|
|
7930
|
-
var _excluded$
|
|
8162
|
+
var _excluded$8 = ["children", "value", "index"];
|
|
7931
8163
|
function a11yProps(index) {
|
|
7932
8164
|
return {
|
|
7933
8165
|
id: "tab-" + index,
|
|
@@ -7948,7 +8180,7 @@ var CustomTabPanel = function CustomTabPanel(props) {
|
|
|
7948
8180
|
var children = props.children,
|
|
7949
8181
|
value = props.value,
|
|
7950
8182
|
index = props.index,
|
|
7951
|
-
other = _objectWithoutPropertiesLoose(props, _excluded$
|
|
8183
|
+
other = _objectWithoutPropertiesLoose(props, _excluded$8);
|
|
7952
8184
|
return jsx("div", Object.assign({
|
|
7953
8185
|
role: "tabpanel",
|
|
7954
8186
|
hidden: value !== index,
|
|
@@ -8195,24 +8427,7 @@ var AreaField = function AreaField(_ref) {
|
|
|
8195
8427
|
});
|
|
8196
8428
|
};
|
|
8197
8429
|
|
|
8198
|
-
var _defaultLevelFilter, _defaultEmptyFilter
|
|
8199
|
-
/* *
|
|
8200
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8201
|
-
* you may not use this file except in compliance with the License.
|
|
8202
|
-
* You may obtain a copy of the License at
|
|
8203
|
-
*
|
|
8204
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8205
|
-
*
|
|
8206
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
8207
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
8208
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
8209
|
-
* See the License for the specific language governing permissions and
|
|
8210
|
-
* limitations under the License.
|
|
8211
|
-
*
|
|
8212
|
-
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
8213
|
-
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
8214
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
8215
|
-
* */
|
|
8430
|
+
var _defaultLevelFilter, _defaultEmptyFilter;
|
|
8216
8431
|
var Domain;
|
|
8217
8432
|
(function (Domain) {
|
|
8218
8433
|
Domain["aviation"] = "aviation";
|
|
@@ -8251,12 +8466,28 @@ var domainLevels = {
|
|
|
8251
8466
|
};
|
|
8252
8467
|
var defaultLevelFilter = (_defaultLevelFilter = {}, _defaultLevelFilter[emptyFilterId] = true, _defaultLevelFilter.extreme = true, _defaultLevelFilter.moderate = true, _defaultLevelFilter.severe = true, _defaultLevelFilter.AIR = true, _defaultLevelFilter.SIG = true, _defaultLevelFilter);
|
|
8253
8468
|
var defaultEmptyFilter = (_defaultEmptyFilter = {}, _defaultEmptyFilter[emptyFilterId] = true, _defaultEmptyFilter);
|
|
8254
|
-
|
|
8469
|
+
var makeFilterFromList = function makeFilterFromList(options) {
|
|
8470
|
+
var _options$reduce;
|
|
8471
|
+
return options.reduce(function (acc, p) {
|
|
8472
|
+
var _Object$assign;
|
|
8473
|
+
return p ? Object.assign({}, acc, (_Object$assign = {}, _Object$assign[p] = true, _Object$assign)) : acc;
|
|
8474
|
+
}, (_options$reduce = {}, _options$reduce[emptyFilterId] = true, _options$reduce));
|
|
8475
|
+
};
|
|
8476
|
+
var AllPhenomena = Object.assign({}, AirmetPhenomena, SigmetPhenomena, Phenomenon$1);
|
|
8477
|
+
var AllPhenomenaKeys = Object.fromEntries(Object.keys(AllPhenomena).map(function (key) {
|
|
8478
|
+
return [key, key];
|
|
8479
|
+
}));
|
|
8480
|
+
var domainPhenomena = {
|
|
8481
|
+
aviation: [].concat(Object.keys(SigmetPhenomena), Object.keys(AirmetPhenomena)),
|
|
8482
|
+
maritime: [],
|
|
8483
|
+
"public": [].concat(Object.keys(Phenomenon$1))
|
|
8484
|
+
};
|
|
8485
|
+
var defaultPhenomenonFilter = makeFilterFromList(Object.keys(AllPhenomenaKeys));
|
|
8255
8486
|
var initialFilters = {
|
|
8256
8487
|
incident: defaultEmptyFilter,
|
|
8257
8488
|
source: defaultEmptyFilter,
|
|
8258
8489
|
domain: defaultDomainFilter,
|
|
8259
|
-
phenomenon:
|
|
8490
|
+
phenomenon: defaultPhenomenonFilter,
|
|
8260
8491
|
level: defaultLevelFilter
|
|
8261
8492
|
};
|
|
8262
8493
|
var getSelectedOptions = function getSelectedOptions(options) {
|
|
@@ -8270,11 +8501,11 @@ var getSelectedOptions = function getSelectedOptions(options) {
|
|
|
8270
8501
|
};
|
|
8271
8502
|
};
|
|
8272
8503
|
var updateState = function updateState(state, optionKey, value, only) {
|
|
8273
|
-
var _Object$
|
|
8504
|
+
var _Object$assign4;
|
|
8274
8505
|
if (only) {
|
|
8275
8506
|
return Object.keys(state).reduce(function (acc, k) {
|
|
8276
|
-
var _Object$
|
|
8277
|
-
return Object.assign({}, acc, (_Object$
|
|
8507
|
+
var _Object$assign2;
|
|
8508
|
+
return Object.assign({}, acc, (_Object$assign2 = {}, _Object$assign2[k] = k === optionKey, _Object$assign2));
|
|
8278
8509
|
}, {});
|
|
8279
8510
|
}
|
|
8280
8511
|
if (optionKey === 'ALL') {
|
|
@@ -8282,11 +8513,11 @@ var updateState = function updateState(state, optionKey, value, only) {
|
|
|
8282
8513
|
return state;
|
|
8283
8514
|
}
|
|
8284
8515
|
return Object.keys(state).reduce(function (acc, k) {
|
|
8285
|
-
var _Object$
|
|
8286
|
-
return Object.assign({}, acc, (_Object$
|
|
8516
|
+
var _Object$assign3;
|
|
8517
|
+
return Object.assign({}, acc, (_Object$assign3 = {}, _Object$assign3[k] = value, _Object$assign3));
|
|
8287
8518
|
}, {});
|
|
8288
8519
|
}
|
|
8289
|
-
return Object.assign({}, state, (_Object$
|
|
8520
|
+
return Object.assign({}, state, (_Object$assign4 = {}, _Object$assign4[optionKey] = value, _Object$assign4));
|
|
8290
8521
|
};
|
|
8291
8522
|
/** Make sure our value is in the filter */
|
|
8292
8523
|
var getValue = function getValue(values, value) {
|
|
@@ -8458,6 +8689,10 @@ var warningPhenomena = [{
|
|
|
8458
8689
|
translationKey: 'aviation-phenomenon-obscured-thunderstorm-with-hail',
|
|
8459
8690
|
key: 'OBSC_TSGR',
|
|
8460
8691
|
isAviation: true
|
|
8692
|
+
}, {
|
|
8693
|
+
translationKey: 'aviation-phenomenon-obscured-thunderstorm',
|
|
8694
|
+
key: 'OBSC_TS',
|
|
8695
|
+
isAviation: true
|
|
8461
8696
|
}, {
|
|
8462
8697
|
translationKey: 'aviation-phenomenon-squall-thunderstorm-with-hail',
|
|
8463
8698
|
key: 'SQL_TSGR',
|
|
@@ -8939,23 +9174,19 @@ var ProbabilityField = function ProbabilityField(_ref) {
|
|
|
8939
9174
|
});
|
|
8940
9175
|
};
|
|
8941
9176
|
|
|
8942
|
-
var config = getConfig();
|
|
8943
|
-
var airmetBaseUrl = config.GW_AIRMET_BASE_URL;
|
|
8944
|
-
var sigmetBaseUrl = config.GW_SIGMET_BASE_URL;
|
|
9177
|
+
var config$1 = getConfig();
|
|
9178
|
+
var airmetBaseUrl = config$1.GW_AIRMET_BASE_URL || '';
|
|
9179
|
+
var sigmetBaseUrl = config$1.GW_SIGMET_BASE_URL || '';
|
|
8945
9180
|
// API
|
|
8946
9181
|
var getAirmetList = function getAirmetList(auth) {
|
|
8947
9182
|
return fetch(airmetBaseUrl + "/airmetlist", {
|
|
8948
9183
|
headers: getHeaders(auth)
|
|
8949
|
-
}).then(
|
|
8950
|
-
return r.json();
|
|
8951
|
-
});
|
|
9184
|
+
}).then(handleResponse);
|
|
8952
9185
|
};
|
|
8953
9186
|
var getSigmetList = function getSigmetList(auth) {
|
|
8954
9187
|
return fetch(sigmetBaseUrl + "/sigmetlist", {
|
|
8955
9188
|
headers: getHeaders(auth)
|
|
8956
|
-
}).then(
|
|
8957
|
-
return r.json();
|
|
8958
|
-
});
|
|
9189
|
+
}).then(handleResponse);
|
|
8959
9190
|
};
|
|
8960
9191
|
var getAirmetConfig = function getAirmetConfig(auth) {
|
|
8961
9192
|
return fetch(airmetBaseUrl + "/airmet-config", {
|
|
@@ -9105,7 +9336,7 @@ var useTACApi = function useTACApi() {
|
|
|
9105
9336
|
};
|
|
9106
9337
|
};
|
|
9107
9338
|
|
|
9108
|
-
var _excluded$
|
|
9339
|
+
var _excluded$7 = ["IS_DRAFT", "object", "translation-select"];
|
|
9109
9340
|
var useScrollTopOnError = function useScrollTopOnError(error) {
|
|
9110
9341
|
var ref = React.useRef(null);
|
|
9111
9342
|
React.useEffect(function () {
|
|
@@ -9202,10 +9433,11 @@ var prepareFormValues = function prepareFormValues(data) {
|
|
|
9202
9433
|
data.IS_DRAFT;
|
|
9203
9434
|
data.object;
|
|
9204
9435
|
data['translation-select'];
|
|
9205
|
-
var productToPost = _objectWithoutPropertiesLoose(data, _excluded$
|
|
9436
|
+
var productToPost = _objectWithoutPropertiesLoose(data, _excluded$7);
|
|
9206
9437
|
// remove empty fields
|
|
9207
9438
|
return Object.keys(productToPost).reduce(function (warningDetail, fieldName) {
|
|
9208
|
-
var
|
|
9439
|
+
var key = fieldName;
|
|
9440
|
+
var fieldValue = productToPost[key];
|
|
9209
9441
|
if (Array.isArray(fieldValue)) {
|
|
9210
9442
|
if (!fieldValue.length || fieldValue[0].geoJSON === null) {
|
|
9211
9443
|
return warningDetail;
|
|
@@ -9213,7 +9445,7 @@ var prepareFormValues = function prepareFormValues(data) {
|
|
|
9213
9445
|
}
|
|
9214
9446
|
if (fieldValue) {
|
|
9215
9447
|
var _Object$assign;
|
|
9216
|
-
return Object.assign({}, warningDetail, (_Object$assign = {}, _Object$assign[
|
|
9448
|
+
return Object.assign({}, warningDetail, (_Object$assign = {}, _Object$assign[key] = fieldValue, _Object$assign));
|
|
9217
9449
|
}
|
|
9218
9450
|
return warningDetail;
|
|
9219
9451
|
}, {});
|
|
@@ -9301,6 +9533,8 @@ var Form = function Form(_ref5) {
|
|
|
9301
9533
|
onSaveForm = _ref5$onSaveForm === void 0 ? function () {} : _ref5$onSaveForm,
|
|
9302
9534
|
_ref5$onPublishForm = _ref5.onPublishForm,
|
|
9303
9535
|
onPublishForm = _ref5$onPublishForm === void 0 ? function () {} : _ref5$onPublishForm,
|
|
9536
|
+
_ref5$onClearForm = _ref5.onClearForm,
|
|
9537
|
+
onClearForm = _ref5$onClearForm === void 0 ? function () {} : _ref5$onClearForm,
|
|
9304
9538
|
object = _ref5.object,
|
|
9305
9539
|
_ref5$formAction = _ref5.formAction,
|
|
9306
9540
|
formAction = _ref5$formAction === void 0 ? '' : _ref5$formAction,
|
|
@@ -9398,6 +9632,7 @@ var Form = function Form(_ref5) {
|
|
|
9398
9632
|
var onPressClear = function onPressClear() {
|
|
9399
9633
|
reset(getEmptyPublicWarning());
|
|
9400
9634
|
setWarningGeoJSONFeature(undefined);
|
|
9635
|
+
onClearForm();
|
|
9401
9636
|
};
|
|
9402
9637
|
var publicWarningId = publicWarningDetails == null ? void 0 : publicWarningDetails.id;
|
|
9403
9638
|
React.useEffect(function () {
|
|
@@ -9706,29 +9941,25 @@ var getPublicWarningStore = function getPublicWarningStore(store) {
|
|
|
9706
9941
|
if (store && store.publicWarningForm) {
|
|
9707
9942
|
return store.publicWarningForm;
|
|
9708
9943
|
}
|
|
9709
|
-
return
|
|
9944
|
+
return {};
|
|
9710
9945
|
};
|
|
9711
9946
|
var getPublicWarningObject = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9712
9947
|
return publicWarningStore.object;
|
|
9713
9948
|
});
|
|
9714
9949
|
var getPublicWarning = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9715
|
-
return publicWarningStore.
|
|
9950
|
+
return publicWarningStore == null ? void 0 : publicWarningStore.warning;
|
|
9716
9951
|
});
|
|
9717
9952
|
var getPublicWarningStatus = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9718
|
-
var _publicWarningStore$
|
|
9719
|
-
return publicWarningStore == null || (_publicWarningStore$
|
|
9720
|
-
});
|
|
9721
|
-
var getPublicWarningEditor = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9722
|
-
var _publicWarningStore$p2;
|
|
9723
|
-
return publicWarningStore == null || (_publicWarningStore$p2 = publicWarningStore.publicWarning) == null ? void 0 : _publicWarningStore$p2.editor;
|
|
9953
|
+
var _publicWarningStore$w;
|
|
9954
|
+
return publicWarningStore == null || (_publicWarningStore$w = publicWarningStore.warning) == null ? void 0 : _publicWarningStore$w.status;
|
|
9724
9955
|
});
|
|
9725
9956
|
var getPublicWarningId = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9726
|
-
var _publicWarningStore$
|
|
9727
|
-
return publicWarningStore == null || (_publicWarningStore$
|
|
9957
|
+
var _publicWarningStore$w2;
|
|
9958
|
+
return publicWarningStore == null || (_publicWarningStore$w2 = publicWarningStore.warning) == null ? void 0 : _publicWarningStore$w2.warningDetail.id;
|
|
9728
9959
|
});
|
|
9729
9960
|
var getPublicWarningAreas = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9730
|
-
var _publicWarningStore$
|
|
9731
|
-
return (publicWarningStore == null || (_publicWarningStore$
|
|
9961
|
+
var _publicWarningStore$w3;
|
|
9962
|
+
return (publicWarningStore == null || (_publicWarningStore$w3 = publicWarningStore.warning) == null ? void 0 : _publicWarningStore$w3.warningDetail.areas) || [];
|
|
9732
9963
|
});
|
|
9733
9964
|
var getPublicWarningFormState = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9734
9965
|
return (publicWarningStore == null ? void 0 : publicWarningStore.formState) || '';
|
|
@@ -9736,8 +9967,8 @@ var getPublicWarningFormState = createSelector(getPublicWarningStore, function (
|
|
|
9736
9967
|
var getPublicWarningFormError = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9737
9968
|
return publicWarningStore == null ? void 0 : publicWarningStore.error;
|
|
9738
9969
|
});
|
|
9739
|
-
var
|
|
9740
|
-
return (publicWarningStore == null ? void 0 : publicWarningStore.
|
|
9970
|
+
var getSelectedWarningId = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9971
|
+
return (publicWarningStore == null ? void 0 : publicWarningStore.selectedWarningId) || '';
|
|
9741
9972
|
});
|
|
9742
9973
|
var getSelectedPublicIsFormDirty = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9743
9974
|
return (publicWarningStore == null ? void 0 : publicWarningStore.isFormDirty) || false;
|
|
@@ -9775,11 +10006,13 @@ var PublicWarningStatus;
|
|
|
9775
10006
|
})(PublicWarningStatus || (PublicWarningStatus = {}));
|
|
9776
10007
|
|
|
9777
10008
|
var PublicWarningsFormConnect = function PublicWarningsFormConnect(_ref) {
|
|
9778
|
-
var
|
|
10009
|
+
var editor = _ref.editor,
|
|
10010
|
+
defaultMapPreset = _ref.defaultMapPreset,
|
|
9779
10011
|
selectedAviationProduct = _ref.selectedAviationProduct,
|
|
9780
10012
|
_ref$warningType = _ref.warningType,
|
|
9781
10013
|
warningType = _ref$warningType === void 0 ? 'public' : _ref$warningType,
|
|
9782
|
-
mode = _ref.mode
|
|
10014
|
+
mode = _ref.mode,
|
|
10015
|
+
onFormSubmit = _ref.onFormSubmit;
|
|
9783
10016
|
var publicWarning = useSelector(function (store) {
|
|
9784
10017
|
return getPublicWarning(store);
|
|
9785
10018
|
});
|
|
@@ -9792,21 +10025,22 @@ var PublicWarningsFormConnect = function PublicWarningsFormConnect(_ref) {
|
|
|
9792
10025
|
var publicWarningFormError = useSelector(function (store) {
|
|
9793
10026
|
return getPublicWarningFormError(store);
|
|
9794
10027
|
});
|
|
9795
|
-
var publicWarningEditor = useSelector(function (store) {
|
|
9796
|
-
return getPublicWarningEditor(store);
|
|
9797
|
-
});
|
|
9798
10028
|
var _useAuthenticationCon = useAuthenticationContext$1(),
|
|
9799
10029
|
auth = _useAuthenticationCon.auth;
|
|
9800
|
-
var isEditor =
|
|
10030
|
+
var isEditor = editor === (auth == null ? void 0 : auth.username) || false;
|
|
9801
10031
|
var dispatch = useDispatch();
|
|
9802
10032
|
var publishForm = function publishForm(newFormValues) {
|
|
9803
10033
|
dispatch(publicWarningFormActions.publishWarning({
|
|
9804
10034
|
publicWarning: {
|
|
9805
10035
|
warningDetail: newFormValues,
|
|
9806
10036
|
status: PublicWarningStatus.PUBLISHED
|
|
9807
|
-
}
|
|
10037
|
+
},
|
|
10038
|
+
refetchWarnings: onFormSubmit
|
|
9808
10039
|
}));
|
|
9809
10040
|
};
|
|
10041
|
+
var clearForm = function clearForm() {
|
|
10042
|
+
dispatch(publicWarningFormActions.removeAllAreas());
|
|
10043
|
+
};
|
|
9810
10044
|
var saveForm = function saveForm(newFormValues) {
|
|
9811
10045
|
var status = newFormValues.linked_to_id ? PublicWarningStatus.DRAFT_PUBLISHED : PublicWarningStatus.DRAFT;
|
|
9812
10046
|
dispatch(publicWarningFormActions.saveWarning({
|
|
@@ -9814,7 +10048,8 @@ var PublicWarningsFormConnect = function PublicWarningsFormConnect(_ref) {
|
|
|
9814
10048
|
warningDetail: newFormValues,
|
|
9815
10049
|
status: status,
|
|
9816
10050
|
editor: auth == null ? void 0 : auth.username
|
|
9817
|
-
}
|
|
10051
|
+
},
|
|
10052
|
+
refetchWarnings: onFormSubmit
|
|
9818
10053
|
}));
|
|
9819
10054
|
};
|
|
9820
10055
|
var onFormDirty = function onFormDirty(isFormDirty) {
|
|
@@ -9838,12 +10073,16 @@ var PublicWarningsFormConnect = function PublicWarningsFormConnect(_ref) {
|
|
|
9838
10073
|
if ((selectedAviationProduct == null ? void 0 : selectedAviationProduct.status) === 'DRAFT') {
|
|
9839
10074
|
return false;
|
|
9840
10075
|
}
|
|
9841
|
-
if (
|
|
10076
|
+
if (publicWarningFormAction === 'edit') {
|
|
10077
|
+
return false;
|
|
10078
|
+
}
|
|
10079
|
+
if (mode === 'new') {
|
|
9842
10080
|
return false;
|
|
9843
10081
|
}
|
|
9844
10082
|
return true;
|
|
9845
10083
|
};
|
|
9846
10084
|
var isReadOnly = getIsReadOnly();
|
|
10085
|
+
var formMode = publicWarningFormAction === 'edit' ? 'edit' : mode;
|
|
9847
10086
|
var onAddObject = function onAddObject() {
|
|
9848
10087
|
dispatch(uiActions.setToggleOpenDialog({
|
|
9849
10088
|
type: uiTypes.DialogTypes.AreaObjectLoader,
|
|
@@ -9855,6 +10094,7 @@ var PublicWarningsFormConnect = function PublicWarningsFormConnect(_ref) {
|
|
|
9855
10094
|
publicWarningDetails: publicWarning == null ? void 0 : publicWarning.warningDetail,
|
|
9856
10095
|
onPublishForm: publishForm,
|
|
9857
10096
|
onSaveForm: saveForm,
|
|
10097
|
+
onClearForm: clearForm,
|
|
9858
10098
|
formAction: publicWarningFormAction,
|
|
9859
10099
|
isReadOnly: isReadOnly,
|
|
9860
10100
|
error: publicWarningFormError,
|
|
@@ -9863,7 +10103,7 @@ var PublicWarningsFormConnect = function PublicWarningsFormConnect(_ref) {
|
|
|
9863
10103
|
onAddObject: onAddObject,
|
|
9864
10104
|
selectedAviationProduct: selectedAviationProduct,
|
|
9865
10105
|
warningType: warningType,
|
|
9866
|
-
mode:
|
|
10106
|
+
mode: formMode
|
|
9867
10107
|
});
|
|
9868
10108
|
};
|
|
9869
10109
|
|
|
@@ -10371,6 +10611,9 @@ var AreaObjectLoaderConnect = function AreaObjectLoaderConnect(_ref) {
|
|
|
10371
10611
|
var warningId = useSelector(function (store) {
|
|
10372
10612
|
return getPublicWarningId(store);
|
|
10373
10613
|
});
|
|
10614
|
+
var warningStatus = useSelector(function (store) {
|
|
10615
|
+
return getPublicWarningStatus(store);
|
|
10616
|
+
});
|
|
10374
10617
|
var fetchItems = function fetchItems() {
|
|
10375
10618
|
dispatch(uiActions.setErrorDialog({
|
|
10376
10619
|
error: '',
|
|
@@ -10451,7 +10694,7 @@ var AreaObjectLoaderConnect = function AreaObjectLoaderConnect(_ref) {
|
|
|
10451
10694
|
}
|
|
10452
10695
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10453
10696
|
}, [areas, searchQuery]);
|
|
10454
|
-
var isChangeAreaDisabled = warningId !== undefined && typeof warningId === 'string' && warningId.length > 0;
|
|
10697
|
+
var isChangeAreaDisabled = warningId !== undefined && typeof warningId === 'string' && warningId.length > 0 && warningStatus !== PublicWarningStatus.DRAFT && warningStatus !== PublicWarningStatus.DRAFT_PUBLISHED;
|
|
10455
10698
|
var drawingError = uiError ? {
|
|
10456
10699
|
type: areaObjectLoaderType,
|
|
10457
10700
|
error: uiError
|
|
@@ -10484,26 +10727,25 @@ var AreaObjectLoaderConnect = function AreaObjectLoaderConnect(_ref) {
|
|
|
10484
10727
|
});
|
|
10485
10728
|
};
|
|
10486
10729
|
|
|
10487
|
-
|
|
10488
|
-
|
|
10489
|
-
|
|
10490
|
-
|
|
10491
|
-
|
|
10492
|
-
|
|
10493
|
-
|
|
10494
|
-
|
|
10495
|
-
|
|
10496
|
-
|
|
10497
|
-
|
|
10498
|
-
|
|
10499
|
-
|
|
10500
|
-
|
|
10501
|
-
|
|
10502
|
-
|
|
10503
|
-
|
|
10730
|
+
var _excluded$6 = ["sigmetAirmetDetail"];
|
|
10731
|
+
function isCancelAirmet(warningDetail) {
|
|
10732
|
+
return warningDetail.cancelsAirmetSequenceId !== undefined;
|
|
10733
|
+
}
|
|
10734
|
+
function isCancelSigmet(warningDetail) {
|
|
10735
|
+
return warningDetail.cancelsSigmetSequenceId !== undefined;
|
|
10736
|
+
}
|
|
10737
|
+
var flattenPublicWarning = function flattenPublicWarning(publicWarning) {
|
|
10738
|
+
if (!publicWarning) {
|
|
10739
|
+
return {};
|
|
10740
|
+
}
|
|
10741
|
+
var sigmetAirmetDetail = publicWarning.sigmetAirmetDetail,
|
|
10742
|
+
rest = _objectWithoutPropertiesLoose(publicWarning, _excluded$6);
|
|
10743
|
+
return Object.assign({}, rest, sigmetAirmetDetail || {}, {
|
|
10744
|
+
status: sigmetAirmetDetail == null ? void 0 : sigmetAirmetDetail.status
|
|
10745
|
+
});
|
|
10746
|
+
};
|
|
10504
10747
|
var transformAirmetToWarningFormat = function transformAirmetToWarningFormat(apiAirmet) {
|
|
10505
10748
|
var airmet = apiAirmet.airmet;
|
|
10506
|
-
var cancelAirmet = apiAirmet == null ? void 0 : apiAirmet.airmet;
|
|
10507
10749
|
var areas = [];
|
|
10508
10750
|
if (airmet.startGeometry) {
|
|
10509
10751
|
areas.push({
|
|
@@ -10524,23 +10766,22 @@ var transformAirmetToWarningFormat = function transformAirmetToWarningFormat(api
|
|
|
10524
10766
|
lastUpdatedTime: apiAirmet.lastUpdateDate,
|
|
10525
10767
|
productStatus: airmet.status,
|
|
10526
10768
|
warningDetail: {
|
|
10527
|
-
|
|
10528
|
-
descriptionTranslation: '',
|
|
10529
|
-
areas: areas,
|
|
10769
|
+
id: airmet.uuid,
|
|
10530
10770
|
phenomenon: airmet.phenomenon,
|
|
10771
|
+
areas: areas,
|
|
10531
10772
|
validFrom: airmet.validDateStart,
|
|
10532
10773
|
validUntil: airmet.validDateEnd,
|
|
10774
|
+
incident: airmet.sequence,
|
|
10533
10775
|
level: 'AIR',
|
|
10534
10776
|
probability: 0,
|
|
10535
|
-
|
|
10536
|
-
|
|
10537
|
-
|
|
10538
|
-
}
|
|
10777
|
+
descriptionOriginal: '',
|
|
10778
|
+
descriptionTranslation: ''
|
|
10779
|
+
},
|
|
10780
|
+
sigmetAirmetDetail: Object.assign({}, airmet)
|
|
10539
10781
|
};
|
|
10540
10782
|
};
|
|
10541
10783
|
var transformSigmetToWarningFormat = function transformSigmetToWarningFormat(apiSigmet) {
|
|
10542
10784
|
var sigmet = apiSigmet.sigmet;
|
|
10543
|
-
var cancelSigmet = apiSigmet == null ? void 0 : apiSigmet.sigmet;
|
|
10544
10785
|
var areas = [];
|
|
10545
10786
|
if (sigmet.startGeometry) {
|
|
10546
10787
|
areas.push({
|
|
@@ -10577,18 +10818,18 @@ var transformSigmetToWarningFormat = function transformSigmetToWarningFormat(api
|
|
|
10577
10818
|
lastUpdatedTime: apiSigmet.lastUpdateDate,
|
|
10578
10819
|
productStatus: sigmet.status,
|
|
10579
10820
|
warningDetail: {
|
|
10580
|
-
|
|
10581
|
-
descriptionTranslation: '',
|
|
10582
|
-
areas: areas,
|
|
10821
|
+
id: sigmet.uuid,
|
|
10583
10822
|
phenomenon: sigmet.phenomenon,
|
|
10823
|
+
areas: areas,
|
|
10584
10824
|
validFrom: sigmet.validDateStart,
|
|
10585
10825
|
validUntil: sigmet.validDateEnd,
|
|
10826
|
+
incident: sigmet.sequence,
|
|
10586
10827
|
level: 'SIG',
|
|
10587
10828
|
probability: 0,
|
|
10588
|
-
|
|
10589
|
-
|
|
10590
|
-
|
|
10591
|
-
}
|
|
10829
|
+
descriptionOriginal: '',
|
|
10830
|
+
descriptionTranslation: ''
|
|
10831
|
+
},
|
|
10832
|
+
sigmetAirmetDetail: Object.assign({}, sigmet)
|
|
10592
10833
|
};
|
|
10593
10834
|
};
|
|
10594
10835
|
var mapProductStatusToWarningStatus = function mapProductStatusToWarningStatus(productStatus) {
|
|
@@ -10604,15 +10845,9 @@ var mapProductStatusToWarningStatus = function mapProductStatusToWarningStatus(p
|
|
|
10604
10845
|
return PublicWarningStatus.EXPIRED;
|
|
10605
10846
|
}
|
|
10606
10847
|
};
|
|
10607
|
-
var transformSigmetToProductFormat = function transformSigmetToProductFormat(warning
|
|
10608
|
-
var _warning$sigmet;
|
|
10609
|
-
var fir = (warning == null || (_warning$sigmet = warning.sigmet) == null ? void 0 : _warning$sigmet.locationIndicatorATSR) || config.active_firs[0];
|
|
10610
|
-
var firConfig = config.fir_areas[fir];
|
|
10848
|
+
var transformSigmetToProductFormat = function transformSigmetToProductFormat(warning) {
|
|
10611
10849
|
var sigmet = warning == null ? void 0 : warning.sigmet;
|
|
10612
10850
|
var cancelSigmet = warning == null ? void 0 : warning.sigmet;
|
|
10613
|
-
if (!firConfig) {
|
|
10614
|
-
throw new Error("FIR " + fir + " not found in configuration");
|
|
10615
|
-
}
|
|
10616
10851
|
return Object.assign({
|
|
10617
10852
|
uuid: (sigmet == null ? void 0 : sigmet.uuid) || 'default',
|
|
10618
10853
|
// Use a fallback UUID or handle undefined
|
|
@@ -10653,15 +10888,9 @@ var transformSigmetToProductFormat = function transformSigmetToProductFormat(war
|
|
|
10653
10888
|
validDateEndOfSigmetToCancel: cancelSigmet.validDateEndOfSigmetToCancel
|
|
10654
10889
|
});
|
|
10655
10890
|
};
|
|
10656
|
-
var transformAirmetToProductFormat = function transformAirmetToProductFormat(warning
|
|
10657
|
-
var _warning$airmet;
|
|
10658
|
-
var fir = (warning == null || (_warning$airmet = warning.airmet) == null ? void 0 : _warning$airmet.locationIndicatorATSR) || config.active_firs[0];
|
|
10659
|
-
var firConfig = config.fir_areas[fir];
|
|
10891
|
+
var transformAirmetToProductFormat = function transformAirmetToProductFormat(warning) {
|
|
10660
10892
|
var airmet = warning == null ? void 0 : warning.airmet;
|
|
10661
10893
|
var cancelAirmet = warning == null ? void 0 : warning.airmet;
|
|
10662
|
-
if (!firConfig) {
|
|
10663
|
-
throw new Error("FIR " + fir + " not found in configuration");
|
|
10664
|
-
}
|
|
10665
10894
|
return Object.assign({
|
|
10666
10895
|
uuid: (airmet == null ? void 0 : airmet.uuid) || 'default',
|
|
10667
10896
|
// Use a fallback UUID or handle undefined
|
|
@@ -10774,6 +11003,172 @@ var getEmptyAirmetWarning = function getEmptyAirmetWarning() {
|
|
|
10774
11003
|
}
|
|
10775
11004
|
};
|
|
10776
11005
|
};
|
|
11006
|
+
var renewWarning = function renewWarning(warning, productConfig) {
|
|
11007
|
+
if (!warning.sigmetAirmetDetail) {
|
|
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
|
+
}
|
|
11017
|
+
var newValidUntil = 'phenomenon' in warningDetail ? getDefaultValidUntilValue(productConfig, warningDetail.phenomenon, warningDetail.locationIndicatorATSR, warningDetail.validDateEnd) : warningDetail.validDateEnd;
|
|
11018
|
+
var renewedWarningDetail = Object.assign({}, warningDetail, {
|
|
11019
|
+
validDateStart: warningDetail.validDateEnd,
|
|
11020
|
+
validDateEnd: newValidUntil,
|
|
11021
|
+
status: ProductStatus.DRAFT,
|
|
11022
|
+
uuid: undefined,
|
|
11023
|
+
sequence: '-1'
|
|
11024
|
+
});
|
|
11025
|
+
return Object.assign({}, oldWarning, {
|
|
11026
|
+
sigmetAirmetDetail: renewedWarningDetail
|
|
11027
|
+
});
|
|
11028
|
+
};
|
|
11029
|
+
|
|
11030
|
+
/* *
|
|
11031
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11032
|
+
* you may not use this file except in compliance with the License.
|
|
11033
|
+
* You may obtain a copy of the License at
|
|
11034
|
+
*
|
|
11035
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11036
|
+
*
|
|
11037
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11038
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11039
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11040
|
+
* See the License for the specific language governing permissions and
|
|
11041
|
+
* limitations under the License.
|
|
11042
|
+
*
|
|
11043
|
+
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
11044
|
+
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
11045
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
11046
|
+
* */
|
|
11047
|
+
var config = getConfig();
|
|
11048
|
+
var publicWarningBaseUrl = config.GW_DRAWINGS_BASE_URL || '';
|
|
11049
|
+
// API
|
|
11050
|
+
var getPublicWarningList = function getPublicWarningList(auth) {
|
|
11051
|
+
return fetch(publicWarningBaseUrl + "/warnings", {
|
|
11052
|
+
headers: getHeaders(auth)
|
|
11053
|
+
}).then(handleResponse);
|
|
11054
|
+
};
|
|
11055
|
+
var updatePublicWarningEditor = function updatePublicWarningEditor(warningId, isEditor, auth) {
|
|
11056
|
+
return fetch(publicWarningBaseUrl + "/warnings/" + warningId + "?editor=" + (isEditor ? 'true' : 'false'), {
|
|
11057
|
+
headers: getHeaders(auth),
|
|
11058
|
+
method: 'POST'
|
|
11059
|
+
}).then(handleResponse);
|
|
11060
|
+
};
|
|
11061
|
+
|
|
11062
|
+
/**
|
|
11063
|
+
* @param disabled - Disables fetching, but still returns cached values.
|
|
11064
|
+
* https://tanstack.com/query/v4/docs/framework/react/guides/disabling-queries
|
|
11065
|
+
*/
|
|
11066
|
+
var usePublicWarnings = function usePublicWarnings(disabled) {
|
|
11067
|
+
if (disabled === void 0) {
|
|
11068
|
+
disabled = false;
|
|
11069
|
+
}
|
|
11070
|
+
return useAuthQuery(['public-warning-list'], getPublicWarningList, disabled, 1000 * 60 * 5);
|
|
11071
|
+
};
|
|
11072
|
+
var useMutatePublicWarningEditor = function useMutatePublicWarningEditor() {
|
|
11073
|
+
var queryClient = useQueryClient();
|
|
11074
|
+
var _useAuthenticationCon = useAuthenticationContext(),
|
|
11075
|
+
auth = _useAuthenticationCon.auth;
|
|
11076
|
+
var dispatch = useDispatch();
|
|
11077
|
+
return useMutation(Object.assign({
|
|
11078
|
+
mutationFn: function mutationFn(_ref) {
|
|
11079
|
+
var id = _ref.id,
|
|
11080
|
+
isEditor = _ref.isEditor;
|
|
11081
|
+
if (!auth) {
|
|
11082
|
+
throw new Error('Authentication context not found');
|
|
11083
|
+
}
|
|
11084
|
+
return updatePublicWarningEditor(id, isEditor, auth);
|
|
11085
|
+
}
|
|
11086
|
+
}, optimisticUpdate(['public-warning-list'], queryClient, function (w, _ref2) {
|
|
11087
|
+
var isEditor = _ref2.isEditor;
|
|
11088
|
+
return Object.assign({}, w, {
|
|
11089
|
+
editor: isEditor ? auth.username : undefined
|
|
11090
|
+
});
|
|
11091
|
+
}, function (error) {
|
|
11092
|
+
dispatch(publicWarningFormActions.setFormError({
|
|
11093
|
+
message: error.message
|
|
11094
|
+
}));
|
|
11095
|
+
}), {
|
|
11096
|
+
onSettled: function () {
|
|
11097
|
+
var _onSettled = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(data, e, _ref3) {
|
|
11098
|
+
var isEditor;
|
|
11099
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
11100
|
+
while (1) switch (_context.prev = _context.next) {
|
|
11101
|
+
case 0:
|
|
11102
|
+
isEditor = _ref3.isEditor;
|
|
11103
|
+
dispatch(snackbarActions.openSnackbar({
|
|
11104
|
+
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
11105
|
+
key: isEditor ? 'warning-editor-add-editor' : 'warning-editor-remove-editor'
|
|
11106
|
+
}));
|
|
11107
|
+
case 2:
|
|
11108
|
+
case "end":
|
|
11109
|
+
return _context.stop();
|
|
11110
|
+
}
|
|
11111
|
+
}, _callee);
|
|
11112
|
+
}));
|
|
11113
|
+
function onSettled(_x, _x2, _x3) {
|
|
11114
|
+
return _onSettled.apply(this, arguments);
|
|
11115
|
+
}
|
|
11116
|
+
return onSettled;
|
|
11117
|
+
}()
|
|
11118
|
+
}));
|
|
11119
|
+
};
|
|
11120
|
+
|
|
11121
|
+
/* *
|
|
11122
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11123
|
+
* you may not use this file except in compliance with the License.
|
|
11124
|
+
* You may obtain a copy of the License at
|
|
11125
|
+
*
|
|
11126
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11127
|
+
*
|
|
11128
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11129
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11130
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11131
|
+
* See the License for the specific language governing permissions and
|
|
11132
|
+
* limitations under the License.
|
|
11133
|
+
*
|
|
11134
|
+
* Copyright 2025 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
11135
|
+
* Copyright 2025 - Finnish Meteorological Institute (FMI)
|
|
11136
|
+
* Copyright 2025 - The Norwegian Meteorological Institute (MET Norway)
|
|
11137
|
+
* */
|
|
11138
|
+
var useWarnings = function useWarnings(disabled) {
|
|
11139
|
+
var _usePublicWarnings = usePublicWarnings(disabled),
|
|
11140
|
+
publicWarnings = _usePublicWarnings.data,
|
|
11141
|
+
refetchPublicWarnings = _usePublicWarnings.refetch,
|
|
11142
|
+
isFetchingPublicWarnings = _usePublicWarnings.isFetching,
|
|
11143
|
+
publicWarningsError = _usePublicWarnings.error,
|
|
11144
|
+
dataUpdatedAt = _usePublicWarnings.dataUpdatedAt;
|
|
11145
|
+
var _useAirmetList = useAirmetList(disabled),
|
|
11146
|
+
airmetWarnings = _useAirmetList.data,
|
|
11147
|
+
refetchAirmet = _useAirmetList.refetch,
|
|
11148
|
+
isFetchingAirmet = _useAirmetList.isFetching;
|
|
11149
|
+
var _useSigmetList = useSigmetList(disabled),
|
|
11150
|
+
sigmetWarnings = _useSigmetList.data,
|
|
11151
|
+
refetchSigmet = _useSigmetList.refetch,
|
|
11152
|
+
isFetchingSigmet = _useSigmetList.isFetching;
|
|
11153
|
+
var combinedWarnings = useMemo(function () {
|
|
11154
|
+
var transformedSigmets = (sigmetWarnings == null ? void 0 : sigmetWarnings.map(transformSigmetToWarningFormat)) || [];
|
|
11155
|
+
var transformedAirmets = (airmetWarnings == null ? void 0 : airmetWarnings.map(transformAirmetToWarningFormat)) || [];
|
|
11156
|
+
return (publicWarnings || []).concat(transformedSigmets).concat(transformedAirmets);
|
|
11157
|
+
}, [publicWarnings, sigmetWarnings, airmetWarnings]);
|
|
11158
|
+
var refetchWarnings = function refetchWarnings() {
|
|
11159
|
+
void refetchPublicWarnings();
|
|
11160
|
+
void refetchAirmet();
|
|
11161
|
+
void refetchSigmet();
|
|
11162
|
+
};
|
|
11163
|
+
var isFetching = isFetchingPublicWarnings || isFetchingAirmet || isFetchingSigmet;
|
|
11164
|
+
return {
|
|
11165
|
+
combinedWarnings: combinedWarnings,
|
|
11166
|
+
refetchWarnings: refetchWarnings,
|
|
11167
|
+
isFetching: isFetching,
|
|
11168
|
+
error: publicWarningsError || undefined,
|
|
11169
|
+
dataUpdatedAt: dataUpdatedAt
|
|
11170
|
+
};
|
|
11171
|
+
};
|
|
10777
11172
|
|
|
10778
11173
|
var warningFormConfirmationOptions = function warningFormConfirmationOptions(t) {
|
|
10779
11174
|
return {
|
|
@@ -10793,7 +11188,6 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
10793
11188
|
source = _ref$source === void 0 ? 'app' : _ref$source,
|
|
10794
11189
|
startPosition = _ref.startPosition,
|
|
10795
11190
|
defaultMapPreset = _ref.defaultMapPreset;
|
|
10796
|
-
var warningsApi = getWarningsApi();
|
|
10797
11191
|
var _useSetupDialog = useSetupDialog(publicWarningDialogType, source),
|
|
10798
11192
|
dialogOrder = _useSetupDialog.dialogOrder,
|
|
10799
11193
|
setDialogOrder = _useSetupDialog.setDialogOrder,
|
|
@@ -10811,66 +11205,100 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
10811
11205
|
var isFormDirty = useSelector(function (store) {
|
|
10812
11206
|
return getSelectedPublicIsFormDirty(store);
|
|
10813
11207
|
});
|
|
10814
|
-
var
|
|
10815
|
-
|
|
10816
|
-
|
|
11208
|
+
var publicWarningState = useSelector(getPublicWarning);
|
|
11209
|
+
var _ref2 = publicWarningState || {},
|
|
11210
|
+
status = _ref2.status,
|
|
11211
|
+
editor = _ref2.editor;
|
|
11212
|
+
var _useWarnings = useWarnings(true),
|
|
11213
|
+
combinedWarnings = _useWarnings.combinedWarnings,
|
|
11214
|
+
refetchWarnings = _useWarnings.refetchWarnings,
|
|
11215
|
+
isFetching = _useWarnings.isFetching;
|
|
11216
|
+
var _React$useState = React__default.useState(isFetching),
|
|
11217
|
+
hasFetched = _React$useState[0],
|
|
11218
|
+
setHasFetched = _React$useState[1];
|
|
11219
|
+
React__default.useEffect(function () {
|
|
11220
|
+
if (isFetching) {
|
|
11221
|
+
setHasFetched(true);
|
|
11222
|
+
}
|
|
11223
|
+
}, [isFetching]);
|
|
10817
11224
|
var selectedWarningId = useSelector(function (store) {
|
|
10818
|
-
return
|
|
10819
|
-
});
|
|
10820
|
-
var publicWarningEditor = useSelector(function (store) {
|
|
10821
|
-
return getPublicWarningEditor(store);
|
|
11225
|
+
return getSelectedWarningId(store);
|
|
10822
11226
|
});
|
|
11227
|
+
var selectedWarningObject = useSelector(getPublicWarning);
|
|
10823
11228
|
var warningType = useSelector(getWarningType);
|
|
11229
|
+
var selectedWarning = combinedWarnings == null ? void 0 : combinedWarnings.find(function (w) {
|
|
11230
|
+
return w.id === selectedWarningId;
|
|
11231
|
+
});
|
|
10824
11232
|
var _useAuthenticationCon = useAuthenticationContext$1(),
|
|
10825
11233
|
auth = _useAuthenticationCon.auth;
|
|
10826
|
-
var isEditor =
|
|
10827
|
-
var
|
|
10828
|
-
var
|
|
10829
|
-
|
|
11234
|
+
var isEditor = (selectedWarning == null ? void 0 : selectedWarning.editor) === (auth == null ? void 0 : auth.username) || false;
|
|
11235
|
+
var shouldGiveEditorWarning = React__default.useCallback(function (newEditor, oldEditor) {
|
|
11236
|
+
var oldEditorIsYou = oldEditor && oldEditor === (auth == null ? void 0 : auth.username);
|
|
11237
|
+
if (oldEditorIsYou && newEditor !== oldEditor) {
|
|
11238
|
+
dispatch(publicWarningFormActions.setFormError({
|
|
11239
|
+
severity: 'warning',
|
|
11240
|
+
message: TAKEOVER_MESSAGE
|
|
11241
|
+
}));
|
|
11242
|
+
}
|
|
11243
|
+
}, [dispatch, auth == null ? void 0 : auth.username]);
|
|
11244
|
+
var previousSelectedWarning = usePrevious(selectedWarning);
|
|
11245
|
+
var refetchCurrentEditor = /*#__PURE__*/function () {
|
|
11246
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
11247
|
+
var newWarnings, newSelectedWarning;
|
|
10830
11248
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
10831
11249
|
while (1) switch (_context.prev = _context.next) {
|
|
10832
11250
|
case 0:
|
|
10833
11251
|
_context.next = 2;
|
|
10834
|
-
return
|
|
11252
|
+
return getPublicWarningList(auth);
|
|
10835
11253
|
case 2:
|
|
10836
|
-
|
|
10837
|
-
|
|
10838
|
-
return
|
|
11254
|
+
newWarnings = _context.sent;
|
|
11255
|
+
newSelectedWarning = newWarnings == null ? void 0 : newWarnings.find(function (w) {
|
|
11256
|
+
return w.id === selectedWarningId;
|
|
10839
11257
|
});
|
|
10840
|
-
return _context.abrupt("return", (
|
|
11258
|
+
return _context.abrupt("return", (newSelectedWarning == null ? void 0 : newSelectedWarning.editor) || '');
|
|
10841
11259
|
case 5:
|
|
10842
11260
|
case "end":
|
|
10843
11261
|
return _context.stop();
|
|
10844
11262
|
}
|
|
10845
11263
|
}, _callee);
|
|
10846
11264
|
}));
|
|
10847
|
-
return function
|
|
10848
|
-
return
|
|
11265
|
+
return function refetchCurrentEditor() {
|
|
11266
|
+
return _ref3.apply(this, arguments);
|
|
10849
11267
|
};
|
|
10850
11268
|
}();
|
|
11269
|
+
React__default.useEffect(function () {
|
|
11270
|
+
if (editor !== (selectedWarning == null ? void 0 : selectedWarning.editor) && status !== 'TODO') {
|
|
11271
|
+
void setIsEditor(editor !== (auth == null ? void 0 : auth.username));
|
|
11272
|
+
}
|
|
11273
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
11274
|
+
}, [editor]);
|
|
11275
|
+
React__default.useEffect(function () {
|
|
11276
|
+
if ((selectedWarning == null ? void 0 : selectedWarning.id) !== (previousSelectedWarning == null ? void 0 : previousSelectedWarning.id)) {
|
|
11277
|
+
dispatch(publicWarningFormActions.removeFormError());
|
|
11278
|
+
}
|
|
11279
|
+
}, [selectedWarning == null ? void 0 : selectedWarning.id, previousSelectedWarning == null ? void 0 : previousSelectedWarning.id, dispatch]);
|
|
11280
|
+
React__default.useEffect(function () {
|
|
11281
|
+
// Only give editor warning when the change in selectedWarning is from a refetch
|
|
11282
|
+
if (hasFetched) {
|
|
11283
|
+
setHasFetched(false);
|
|
11284
|
+
shouldGiveEditorWarning(selectedWarning == null ? void 0 : selectedWarning.editor, previousSelectedWarning == null ? void 0 : previousSelectedWarning.editor);
|
|
11285
|
+
}
|
|
11286
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
11287
|
+
}, [selectedWarning == null ? void 0 : selectedWarning.editor]);
|
|
11288
|
+
var updatePublicWarningEditor = useMutatePublicWarningEditor();
|
|
10851
11289
|
var setIsEditor = /*#__PURE__*/function () {
|
|
10852
|
-
var
|
|
11290
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(isReadOnly) {
|
|
10853
11291
|
var username, latestEditor;
|
|
10854
11292
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
10855
11293
|
while (1) switch (_context2.prev = _context2.next) {
|
|
10856
11294
|
case 0:
|
|
10857
11295
|
username = (auth == null ? void 0 : auth.username) || ''; // make sure to get the latest changes if you are editing an existing warning
|
|
10858
|
-
|
|
10859
|
-
|
|
10860
|
-
|
|
10861
|
-
|
|
10862
|
-
_context2.next = 4;
|
|
10863
|
-
return getLatestEditor();
|
|
10864
|
-
case 4:
|
|
10865
|
-
_context2.t0 = _context2.sent;
|
|
10866
|
-
_context2.next = 8;
|
|
10867
|
-
break;
|
|
10868
|
-
case 7:
|
|
10869
|
-
_context2.t0 = '';
|
|
10870
|
-
case 8:
|
|
10871
|
-
latestEditor = _context2.t0;
|
|
11296
|
+
_context2.next = 3;
|
|
11297
|
+
return refetchCurrentEditor();
|
|
11298
|
+
case 3:
|
|
11299
|
+
latestEditor = _context2.sent;
|
|
10872
11300
|
if (!(!selectedWarningId || !isReadOnly && username === latestEditor || isReadOnly && latestEditor !== username)) {
|
|
10873
|
-
_context2.next =
|
|
11301
|
+
_context2.next = 8;
|
|
10874
11302
|
break;
|
|
10875
11303
|
}
|
|
10876
11304
|
// currently editing a new warning or
|
|
@@ -10880,34 +11308,40 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
10880
11308
|
dispatch(publicWarningFormActions.setFormValues({
|
|
10881
11309
|
formState: isReadOnly ? 'readonly' : ''
|
|
10882
11310
|
}));
|
|
11311
|
+
// If the editor was changed in a different window, refetch the warnings
|
|
11312
|
+
if (latestEditor !== (selectedWarning == null ? void 0 : selectedWarning.editor)) {
|
|
11313
|
+
void refetchWarnings();
|
|
11314
|
+
}
|
|
10883
11315
|
return _context2.abrupt("return", true);
|
|
10884
|
-
case
|
|
11316
|
+
case 8:
|
|
10885
11317
|
if (!(!isReadOnly && isAlreadyEdited(latestEditor, username))) {
|
|
10886
|
-
_context2.next =
|
|
11318
|
+
_context2.next = 11;
|
|
10887
11319
|
break;
|
|
10888
11320
|
}
|
|
10889
|
-
_context2.next =
|
|
11321
|
+
_context2.next = 11;
|
|
10890
11322
|
return confirmDialog({
|
|
10891
11323
|
title: t('warning-edit-mode-title'),
|
|
10892
11324
|
description: t('warning-edit-mode-description'),
|
|
10893
11325
|
confirmLabel: t('warning-edit-mode-confirm'),
|
|
10894
11326
|
cancelLabel: t('warning-dialog-cancel')
|
|
10895
11327
|
});
|
|
10896
|
-
case
|
|
10897
|
-
dispatch(publicWarningFormActions.
|
|
10898
|
-
|
|
10899
|
-
isEditor: !isReadOnly,
|
|
10900
|
-
username: username
|
|
11328
|
+
case 11:
|
|
11329
|
+
dispatch(publicWarningFormActions.setFormValues({
|
|
11330
|
+
formState: isReadOnly ? 'readonly' : ''
|
|
10901
11331
|
}));
|
|
11332
|
+
updatePublicWarningEditor.mutate({
|
|
11333
|
+
id: selectedWarningId,
|
|
11334
|
+
isEditor: !isReadOnly
|
|
11335
|
+
});
|
|
10902
11336
|
return _context2.abrupt("return", true);
|
|
10903
|
-
case
|
|
11337
|
+
case 14:
|
|
10904
11338
|
case "end":
|
|
10905
11339
|
return _context2.stop();
|
|
10906
11340
|
}
|
|
10907
11341
|
}, _callee2);
|
|
10908
11342
|
}));
|
|
10909
11343
|
return function setIsEditor(_x) {
|
|
10910
|
-
return
|
|
11344
|
+
return _ref4.apply(this, arguments);
|
|
10911
11345
|
};
|
|
10912
11346
|
}();
|
|
10913
11347
|
var onChangeFormMode = function onChangeFormMode(isReadOnly) {
|
|
@@ -10934,7 +11368,7 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
10934
11368
|
}
|
|
10935
11369
|
};
|
|
10936
11370
|
var closeDialog = /*#__PURE__*/function () {
|
|
10937
|
-
var
|
|
11371
|
+
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
10938
11372
|
var mayProceed;
|
|
10939
11373
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
10940
11374
|
while (1) switch (_context4.prev = _context4.next) {
|
|
@@ -10965,7 +11399,7 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
10965
11399
|
}, _callee4);
|
|
10966
11400
|
}));
|
|
10967
11401
|
return function closeDialog() {
|
|
10968
|
-
return
|
|
11402
|
+
return _ref6.apply(this, arguments);
|
|
10969
11403
|
};
|
|
10970
11404
|
}();
|
|
10971
11405
|
var _useAirmetList = useAirmetList(true),
|
|
@@ -10981,15 +11415,26 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
10981
11415
|
var updatedWarningType = selectedSigmet ? 'sigmet' : selectedAirmet && 'airmet' || warningType;
|
|
10982
11416
|
var _useProductConfig = useProductConfig(updatedWarningType, !isDialogOpen),
|
|
10983
11417
|
aviationConfig = _useProductConfig.data;
|
|
10984
|
-
var selectedSigmetProduct = selectedSigmet && aviationConfig ? transformSigmetToProductFormat(selectedSigmet
|
|
10985
|
-
var selectedAirmetProduct = selectedAirmet && aviationConfig ? transformAirmetToProductFormat(selectedAirmet
|
|
10986
|
-
var selectedAviationProduct =
|
|
11418
|
+
var selectedSigmetProduct = selectedSigmet && aviationConfig ? transformSigmetToProductFormat(selectedSigmet) : getEmptySigmetWarning();
|
|
11419
|
+
var selectedAirmetProduct = selectedAirmet && aviationConfig ? transformAirmetToProductFormat(selectedAirmet) : getEmptyAirmetWarning();
|
|
11420
|
+
var selectedAviationProduct = React__default.useMemo(function () {
|
|
11421
|
+
if (selectedWarningObject && selectedWarningObject.sigmetAirmetDetail && aviationConfig) {
|
|
11422
|
+
return flattenPublicWarning(selectedWarningObject);
|
|
11423
|
+
}
|
|
11424
|
+
if (updatedWarningType === 'sigmet') {
|
|
11425
|
+
return selectedSigmetProduct;
|
|
11426
|
+
}
|
|
11427
|
+
if (updatedWarningType === 'airmet') {
|
|
11428
|
+
return selectedAirmetProduct;
|
|
11429
|
+
}
|
|
11430
|
+
return undefined;
|
|
11431
|
+
}, [selectedWarningObject, updatedWarningType, selectedSigmetProduct, selectedAirmetProduct, aviationConfig]);
|
|
10987
11432
|
var productCanBe = updatedWarningType === 'public' ? ['DRAFTED', 'DISCARDED', 'PUBLISHED'] : (selectedSigmet == null ? void 0 : selectedSigmet.canbe) || (selectedAirmet == null ? void 0 : selectedAirmet.canbe);
|
|
10988
11433
|
var mode = getProductFormMode(productCanBe, !selectedWarningId ? null : selectedAviationProduct);
|
|
10989
11434
|
// Readonly also in case you are not creating a new warning and you are not set as the editor
|
|
10990
|
-
var isReadOnly = formAction === 'readonly' || !isEditor &&
|
|
11435
|
+
var isReadOnly = formAction === 'readonly' || !isEditor && status !== undefined;
|
|
10991
11436
|
// Only show toggle if in draft status
|
|
10992
|
-
var shouldHideFormToggleMode =
|
|
11437
|
+
var shouldHideFormToggleMode = status !== 'DRAFT' && status !== 'DRAFT_PUBLISHED';
|
|
10993
11438
|
return jsxs(Fragment, {
|
|
10994
11439
|
children: [jsx(PublicWarningsFormDialog, {
|
|
10995
11440
|
isOpen: isDialogOpen,
|
|
@@ -11003,14 +11448,18 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
11003
11448
|
isReadOnly: isReadOnly,
|
|
11004
11449
|
onChangeFormMode: onChangeFormMode,
|
|
11005
11450
|
shouldHideFormMode: shouldHideFormToggleMode,
|
|
11006
|
-
publicWarningEditor:
|
|
11451
|
+
publicWarningEditor: (selectedWarning == null ? void 0 : selectedWarning.editor) || undefined,
|
|
11007
11452
|
selectedAviationProduct: selectedAviationProduct,
|
|
11008
11453
|
warningType: updatedWarningType,
|
|
11009
11454
|
children: jsx(PublicWarningsFormConnect, {
|
|
11455
|
+
editor: (selectedWarning == null ? void 0 : selectedWarning.editor) || undefined,
|
|
11010
11456
|
defaultMapPreset: defaultMapPreset,
|
|
11011
11457
|
selectedAviationProduct: selectedAviationProduct,
|
|
11012
11458
|
warningType: updatedWarningType,
|
|
11013
|
-
mode: mode
|
|
11459
|
+
mode: mode,
|
|
11460
|
+
onFormSubmit: function onFormSubmit() {
|
|
11461
|
+
return refetchWarnings();
|
|
11462
|
+
}
|
|
11014
11463
|
})
|
|
11015
11464
|
}), jsx(AreaObjectLoaderConnect, {})]
|
|
11016
11465
|
});
|
|
@@ -11037,9 +11486,10 @@ var warningColors = Object.assign({}, LevelColors);
|
|
|
11037
11486
|
|
|
11038
11487
|
var _excluded$5 = ["id", "warningDetail", "status", "editor"],
|
|
11039
11488
|
_excluded2 = ["id", "linked_to_id", "proposal_id", "warning_handle_uuid"],
|
|
11040
|
-
_excluded3 = ["
|
|
11041
|
-
_excluded4 = ["id"
|
|
11042
|
-
_excluded5 = ["id"]
|
|
11489
|
+
_excluded3 = ["published_warning_uuid"],
|
|
11490
|
+
_excluded4 = ["id"],
|
|
11491
|
+
_excluded5 = ["id", "warningDetail"],
|
|
11492
|
+
_excluded6 = ["id"];
|
|
11043
11493
|
var getSortedStatus = function getSortedStatus(status) {
|
|
11044
11494
|
switch (status) {
|
|
11045
11495
|
case 'DRAFT_PUBLISHED':
|
|
@@ -11053,6 +11503,7 @@ var getSortedStatus = function getSortedStatus(status) {
|
|
|
11053
11503
|
}
|
|
11054
11504
|
};
|
|
11055
11505
|
var getWarningWithoutIdStatusEditor = function getWarningWithoutIdStatusEditor(warning) {
|
|
11506
|
+
var _warningDetail$areas;
|
|
11056
11507
|
warning.id;
|
|
11057
11508
|
var warningDetail = warning.warningDetail;
|
|
11058
11509
|
warning.status;
|
|
@@ -11063,15 +11514,22 @@ var getWarningWithoutIdStatusEditor = function getWarningWithoutIdStatusEditor(w
|
|
|
11063
11514
|
warningDetail.proposal_id;
|
|
11064
11515
|
warningDetail.warning_handle_uuid;
|
|
11065
11516
|
var cleanWarningDetail = _objectWithoutPropertiesLoose(warningDetail, _excluded2);
|
|
11517
|
+
var areas = (_warningDetail$areas = warningDetail.areas) == null ? void 0 : _warningDetail$areas.map(function (_ref) {
|
|
11518
|
+
_ref.published_warning_uuid;
|
|
11519
|
+
var area = _objectWithoutPropertiesLoose(_ref, _excluded3);
|
|
11520
|
+
return area;
|
|
11521
|
+
});
|
|
11066
11522
|
return Object.assign({}, fullWarning, {
|
|
11067
|
-
warningDetail: cleanWarningDetail
|
|
11523
|
+
warningDetail: Object.assign({}, cleanWarningDetail, {
|
|
11524
|
+
areas: areas
|
|
11525
|
+
})
|
|
11068
11526
|
});
|
|
11069
11527
|
};
|
|
11070
11528
|
var getWarningWithLinkedToId = function getWarningWithLinkedToId(warning) {
|
|
11071
11529
|
var id = warning.id,
|
|
11072
11530
|
warningDetail = warning.warningDetail;
|
|
11073
11531
|
warningDetail.id;
|
|
11074
|
-
var cleanWarningDetail = _objectWithoutPropertiesLoose(warningDetail,
|
|
11532
|
+
var cleanWarningDetail = _objectWithoutPropertiesLoose(warningDetail, _excluded4);
|
|
11075
11533
|
return Object.assign({}, warning, {
|
|
11076
11534
|
warningDetail: Object.assign({}, cleanWarningDetail, {
|
|
11077
11535
|
linked_to_id: id
|
|
@@ -11082,9 +11540,9 @@ var getWarningWithLinkedToId = function getWarningWithLinkedToId(warning) {
|
|
|
11082
11540
|
var getWarningWithProposalId = function getWarningWithProposalId(warning) {
|
|
11083
11541
|
var id = warning.id,
|
|
11084
11542
|
warningDetail = warning.warningDetail,
|
|
11085
|
-
fullWarning = _objectWithoutPropertiesLoose(warning,
|
|
11543
|
+
fullWarning = _objectWithoutPropertiesLoose(warning, _excluded5);
|
|
11086
11544
|
warningDetail.id;
|
|
11087
|
-
var cleanWarningDetail = _objectWithoutPropertiesLoose(warningDetail,
|
|
11545
|
+
var cleanWarningDetail = _objectWithoutPropertiesLoose(warningDetail, _excluded6);
|
|
11088
11546
|
return Object.assign({}, fullWarning, {
|
|
11089
11547
|
warningDetail: Object.assign({}, cleanWarningDetail, {
|
|
11090
11548
|
proposal_id: id
|
|
@@ -11170,7 +11628,6 @@ var ExpandableFilterChip = function ExpandableFilterChip(_ref) {
|
|
|
11170
11628
|
})
|
|
11171
11629
|
})
|
|
11172
11630
|
}), jsxs(Menu, {
|
|
11173
|
-
title: t("filter-" + id),
|
|
11174
11631
|
open: Boolean(anchorEl),
|
|
11175
11632
|
onClose: function onClose() {
|
|
11176
11633
|
return setAnchorEl(null);
|
|
@@ -11244,11 +11701,7 @@ var ExpandableFilterChip = function ExpandableFilterChip(_ref) {
|
|
|
11244
11701
|
return updateFilter(id, emptyFilterId, checked, only);
|
|
11245
11702
|
},
|
|
11246
11703
|
labelStyle: {
|
|
11247
|
-
|
|
11248
|
-
fontSize: '16px',
|
|
11249
|
-
display: 'flex',
|
|
11250
|
-
alignItems: 'center',
|
|
11251
|
-
gap: 1
|
|
11704
|
+
fontSize: '16px'
|
|
11252
11705
|
},
|
|
11253
11706
|
label: jsx(Fragment, {
|
|
11254
11707
|
children: t(getTranslationKey(emptyFilterId, id))
|
|
@@ -11265,14 +11718,29 @@ var ExpandableFilterChip = function ExpandableFilterChip(_ref) {
|
|
|
11265
11718
|
return updateFilter(id, optionId, checked, only);
|
|
11266
11719
|
},
|
|
11267
11720
|
labelStyle: Object.assign({}, getLevelStyle(warningColor), {
|
|
11268
|
-
width: 'fit-content',
|
|
11269
|
-
fontSize: '16px'
|
|
11270
|
-
display: 'flex',
|
|
11271
|
-
alignItems: 'center',
|
|
11272
|
-
gap: 1
|
|
11721
|
+
width: LevelColors[optionId] ? 'fit-content' : '100%',
|
|
11722
|
+
fontSize: '16px'
|
|
11273
11723
|
}),
|
|
11274
|
-
label:
|
|
11275
|
-
|
|
11724
|
+
label: jsx(CustomTooltip, {
|
|
11725
|
+
title: t(getTranslationKey(optionId, id)),
|
|
11726
|
+
placement: "bottom",
|
|
11727
|
+
children: jsxs(Box, {
|
|
11728
|
+
"data-testid": "wrapper-" + optionId,
|
|
11729
|
+
sx: {
|
|
11730
|
+
display: 'flex',
|
|
11731
|
+
alignItems: 'center',
|
|
11732
|
+
gap: 1,
|
|
11733
|
+
maxWidth: 200
|
|
11734
|
+
},
|
|
11735
|
+
children: [getPhenomenaIcon(optionId), jsx(Typography, {
|
|
11736
|
+
noWrap: true,
|
|
11737
|
+
variant: "body2",
|
|
11738
|
+
sx: {
|
|
11739
|
+
fontSize: '16px'
|
|
11740
|
+
},
|
|
11741
|
+
children: t(getTranslationKey(optionId, id))
|
|
11742
|
+
})]
|
|
11743
|
+
})
|
|
11276
11744
|
})
|
|
11277
11745
|
}, id + "-" + optionId);
|
|
11278
11746
|
})]
|
|
@@ -11429,6 +11897,8 @@ var WarningListItemMenu = function WarningListItemMenu(_ref) {
|
|
|
11429
11897
|
onExpireWarning = _ref$onExpireWarning === void 0 ? function () {} : _ref$onExpireWarning,
|
|
11430
11898
|
_ref$onWithdrawWarnin = _ref.onWithdrawWarning,
|
|
11431
11899
|
onWithdrawWarning = _ref$onWithdrawWarnin === void 0 ? function () {} : _ref$onWithdrawWarnin,
|
|
11900
|
+
_ref$onRenewWarning = _ref.onRenewWarning,
|
|
11901
|
+
onRenewWarning = _ref$onRenewWarning === void 0 ? function () {} : _ref$onRenewWarning,
|
|
11432
11902
|
t = _ref.t;
|
|
11433
11903
|
var duplicate = {
|
|
11434
11904
|
text: t('warning-list-button-duplicate'),
|
|
@@ -11495,11 +11965,42 @@ var WarningListItemMenu = function WarningListItemMenu(_ref) {
|
|
|
11495
11965
|
icon: jsx(Delete, {})
|
|
11496
11966
|
}];
|
|
11497
11967
|
default:
|
|
11498
|
-
|
|
11968
|
+
switch (warning.productStatus) {
|
|
11969
|
+
case ProductStatus.PUBLISHED:
|
|
11970
|
+
if (warning.sigmetAirmetDetail && (isInstanceOfCancelSigmet(warning.sigmetAirmetDetail) || isInstanceOfCancelAirmet(warning.sigmetAirmetDetail))) {
|
|
11971
|
+
return [];
|
|
11972
|
+
}
|
|
11973
|
+
return [{
|
|
11974
|
+
text: t('warning-list-button-renew'),
|
|
11975
|
+
action: function action() {
|
|
11976
|
+
if (warning) {
|
|
11977
|
+
onRenewWarning(warning);
|
|
11978
|
+
}
|
|
11979
|
+
},
|
|
11980
|
+
icon: jsx(Update, {})
|
|
11981
|
+
}];
|
|
11982
|
+
case ProductStatus.CANCELLED:
|
|
11983
|
+
return [];
|
|
11984
|
+
case ProductStatus.EXPIRED:
|
|
11985
|
+
if (warning.sigmetAirmetDetail && (isInstanceOfCancelSigmet(warning.sigmetAirmetDetail) || isInstanceOfCancelAirmet(warning.sigmetAirmetDetail))) {
|
|
11986
|
+
return [];
|
|
11987
|
+
}
|
|
11988
|
+
return [{
|
|
11989
|
+
text: t('warning-list-button-renew'),
|
|
11990
|
+
action: function action() {
|
|
11991
|
+
if (warning) {
|
|
11992
|
+
onRenewWarning(warning);
|
|
11993
|
+
}
|
|
11994
|
+
},
|
|
11995
|
+
icon: jsx(Update, {})
|
|
11996
|
+
}];
|
|
11997
|
+
default:
|
|
11998
|
+
return [];
|
|
11999
|
+
}
|
|
11499
12000
|
}
|
|
11500
12001
|
};
|
|
11501
12002
|
|
|
11502
|
-
var _excluded$2 = ["warning", "activeWarningId", "highlightedItem", "onSelectWarning", "onEditWarning", "onDeleteWarning", "onDeleteReviewWarning", "onExpireWarning", "onWithdrawWarning"];
|
|
12003
|
+
var _excluded$2 = ["warning", "activeWarningId", "highlightedItem", "onSelectWarning", "onEditWarning", "onDeleteWarning", "onDeleteReviewWarning", "onExpireWarning", "onWithdrawWarning", "onRenewWarning"];
|
|
11503
12004
|
var renderLevelText = function renderLevelText(levelString) {
|
|
11504
12005
|
if (!levelString) {
|
|
11505
12006
|
return null;
|
|
@@ -11536,10 +12037,10 @@ var renderStatusIcon = function renderStatusIcon(warning, status) {
|
|
|
11536
12037
|
icon: icon
|
|
11537
12038
|
});
|
|
11538
12039
|
};
|
|
11539
|
-
if (warning.productStatus === ProductStatus.PUBLISHED && warning.
|
|
11540
|
-
return getStatusTag("Cnls " + warning.
|
|
12040
|
+
if (warning.productStatus === ProductStatus.PUBLISHED && warning.sigmetAirmetDetail && (isCancelAirmet(warning.sigmetAirmetDetail) || isCancelSigmet(warning.sigmetAirmetDetail))) {
|
|
12041
|
+
return getStatusTag("Cnls " + (isCancelAirmet(warning.sigmetAirmetDetail) ? warning.sigmetAirmetDetail.cancelsAirmetSequenceId : warning.sigmetAirmetDetail.cancelsSigmetSequenceId), 'red');
|
|
11541
12042
|
}
|
|
11542
|
-
if (warning.productStatus === ProductStatus.CANCELLED && warning.
|
|
12043
|
+
if (warning.productStatus === ProductStatus.CANCELLED && warning.sigmetAirmetDetail) {
|
|
11543
12044
|
return getStatusTag('Cnld', 'red');
|
|
11544
12045
|
}
|
|
11545
12046
|
switch (status) {
|
|
@@ -11578,7 +12079,7 @@ var renderStatusIcon = function renderStatusIcon(warning, status) {
|
|
|
11578
12079
|
}
|
|
11579
12080
|
};
|
|
11580
12081
|
var WarningListItem = function WarningListItem(_ref) {
|
|
11581
|
-
var _warning$warningDetai, _sx, _sx2, _Object$assign;
|
|
12082
|
+
var _warning$warningDetai, _warning$sigmetAirmet, _sx, _sx2, _Object$assign;
|
|
11582
12083
|
var warning = _ref.warning,
|
|
11583
12084
|
activeWarningId = _ref.activeWarningId,
|
|
11584
12085
|
highlightedItem = _ref.highlightedItem,
|
|
@@ -11594,12 +12095,14 @@ var WarningListItem = function WarningListItem(_ref) {
|
|
|
11594
12095
|
onExpireWarning = _ref$onExpireWarning === void 0 ? function () {} : _ref$onExpireWarning,
|
|
11595
12096
|
_ref$onWithdrawWarnin = _ref.onWithdrawWarning,
|
|
11596
12097
|
onWithdrawWarning = _ref$onWithdrawWarnin === void 0 ? function () {} : _ref$onWithdrawWarnin,
|
|
12098
|
+
_ref$onRenewWarning = _ref.onRenewWarning,
|
|
12099
|
+
onRenewWarning = _ref$onRenewWarning === void 0 ? function () {} : _ref$onRenewWarning,
|
|
11597
12100
|
props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
11598
12101
|
var _useWarningsTranslati = useWarningsTranslation(),
|
|
11599
12102
|
t = _useWarningsTranslati.t;
|
|
11600
12103
|
var phenomenonDetails = allPhenomenaDict[warning.warningDetail.phenomenon];
|
|
11601
12104
|
var objectNameText = ((_warning$warningDetai = warning.warningDetail.areas) == null || (_warning$warningDetai = _warning$warningDetai[0]) == null ? void 0 : _warning$warningDetai.objectName) || '-';
|
|
11602
|
-
var objectHoverText = warning.
|
|
12105
|
+
var objectHoverText = (_warning$sigmetAirmet = warning.sigmetAirmetDetail) != null && _warning$sigmetAirmet.firName ? warning.sigmetAirmetDetail.firName : objectNameText;
|
|
11603
12106
|
var _useOverflowCheck = useOverflowCheck(objectNameText),
|
|
11604
12107
|
objectNameRef = _useOverflowCheck.ref;
|
|
11605
12108
|
var phenomenonText = phenomenonDetails != null && phenomenonDetails.translationKey ? t(phenomenonDetails.translationKey) : '-';
|
|
@@ -11647,7 +12150,8 @@ var WarningListItem = function WarningListItem(_ref) {
|
|
|
11647
12150
|
onDeleteReviewWarning: onDeleteReviewWarning,
|
|
11648
12151
|
onDeleteWarning: onDeleteWarning,
|
|
11649
12152
|
onExpireWarning: onExpireWarning,
|
|
11650
|
-
onWithdrawWarning: onWithdrawWarning
|
|
12153
|
+
onWithdrawWarning: onWithdrawWarning,
|
|
12154
|
+
onRenewWarning: onRenewWarning
|
|
11651
12155
|
}),
|
|
11652
12156
|
buttonIcon: jsx(Options, {})
|
|
11653
12157
|
}),
|
|
@@ -12026,12 +12530,11 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
12026
12530
|
var _ref$warnings = _ref.warnings,
|
|
12027
12531
|
warnings = _ref$warnings === void 0 ? [] : _ref$warnings,
|
|
12028
12532
|
filterHookState = _ref.filterHookState,
|
|
12029
|
-
filterState = _ref.filterState,
|
|
12030
12533
|
_ref$isLoading = _ref.isLoading,
|
|
12031
12534
|
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
12032
12535
|
error = _ref.error,
|
|
12033
|
-
_ref$
|
|
12034
|
-
|
|
12536
|
+
_ref$selectedWarningI = _ref.selectedWarningId,
|
|
12537
|
+
selectedWarningId = _ref$selectedWarningI === void 0 ? '' : _ref$selectedWarningI,
|
|
12035
12538
|
lastUpdatedTime = _ref.lastUpdatedTime,
|
|
12036
12539
|
_ref$onSelectWarning = _ref.onSelectWarning,
|
|
12037
12540
|
onSelectWarning = _ref$onSelectWarning === void 0 ? function () {} : _ref$onSelectWarning,
|
|
@@ -12049,11 +12552,14 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
12049
12552
|
onExpireWarning = _ref$onExpireWarning === void 0 ? function () {} : _ref$onExpireWarning,
|
|
12050
12553
|
_ref$onWithdrawWarnin = _ref.onWithdrawWarning,
|
|
12051
12554
|
onWithdrawWarning = _ref$onWithdrawWarnin === void 0 ? function () {} : _ref$onWithdrawWarnin,
|
|
12555
|
+
_ref$onRenewWarning = _ref.onRenewWarning,
|
|
12556
|
+
onRenewWarning = _ref$onRenewWarning === void 0 ? function () {} : _ref$onRenewWarning,
|
|
12052
12557
|
hoveredFeatureId = _ref.hoveredFeatureId,
|
|
12053
12558
|
expandedSections = _ref.expandedSections,
|
|
12054
12559
|
setExpandedSections = _ref.setExpandedSections;
|
|
12055
12560
|
var updateFilter = filterHookState.updateFilter,
|
|
12056
|
-
allSelected = filterHookState.allSelected
|
|
12561
|
+
allSelected = filterHookState.allSelected,
|
|
12562
|
+
filterState = filterHookState.filterState;
|
|
12057
12563
|
var _useWarningsTranslati = useWarningsTranslation(),
|
|
12058
12564
|
t = _useWarningsTranslati.t;
|
|
12059
12565
|
var _React$useState = React__default.useState({
|
|
@@ -12335,9 +12841,10 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
12335
12841
|
onEditWarning: onEditWarning,
|
|
12336
12842
|
onDeleteWarning: onDeleteWarning,
|
|
12337
12843
|
onDeleteReviewWarning: onDeleteReviewWarning,
|
|
12338
|
-
activeWarningId:
|
|
12844
|
+
activeWarningId: selectedWarningId,
|
|
12339
12845
|
onExpireWarning: onExpireWarning,
|
|
12340
|
-
onWithdrawWarning: onWithdrawWarning
|
|
12846
|
+
onWithdrawWarning: onWithdrawWarning,
|
|
12847
|
+
onRenewWarning: onRenewWarning
|
|
12341
12848
|
}, key);
|
|
12342
12849
|
}
|
|
12343
12850
|
});
|
|
@@ -12348,6 +12855,51 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
12348
12855
|
});
|
|
12349
12856
|
};
|
|
12350
12857
|
|
|
12858
|
+
/* *
|
|
12859
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12860
|
+
* you may not use this file except in compliance with the License.
|
|
12861
|
+
* You may obtain a copy of the License at
|
|
12862
|
+
*
|
|
12863
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12864
|
+
*
|
|
12865
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12866
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12867
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12868
|
+
* See the License for the specific language governing permissions and
|
|
12869
|
+
* limitations under the License.
|
|
12870
|
+
*
|
|
12871
|
+
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12872
|
+
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
12873
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
12874
|
+
* */
|
|
12875
|
+
var publicWarningsAdapter = createEntityAdapter({
|
|
12876
|
+
selectId: function selectId(warning) {
|
|
12877
|
+
return warning.id;
|
|
12878
|
+
}
|
|
12879
|
+
});
|
|
12880
|
+
var initialState = {
|
|
12881
|
+
warnings: publicWarningsAdapter.getInitialState(),
|
|
12882
|
+
isLoading: true,
|
|
12883
|
+
lastUpdatedTime: '',
|
|
12884
|
+
filterState: {}
|
|
12885
|
+
};
|
|
12886
|
+
var slice = createSlice({
|
|
12887
|
+
initialState: initialState,
|
|
12888
|
+
name: 'publicWarnings',
|
|
12889
|
+
reducers: {
|
|
12890
|
+
setWarningFilters: function setWarningFilters(draft, action) {
|
|
12891
|
+
var _action$payload = action.payload,
|
|
12892
|
+
filterState = _action$payload.filterState,
|
|
12893
|
+
panelId = _action$payload.panelId;
|
|
12894
|
+
if (panelId) {
|
|
12895
|
+
draft.filterState[panelId] = filterState;
|
|
12896
|
+
}
|
|
12897
|
+
}
|
|
12898
|
+
}
|
|
12899
|
+
});
|
|
12900
|
+
var reducer = slice.reducer;
|
|
12901
|
+
var publicWarningActions = slice.actions;
|
|
12902
|
+
|
|
12351
12903
|
/* *
|
|
12352
12904
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12353
12905
|
* you may not use this file except in compliance with the License.
|
|
@@ -12520,6 +13072,11 @@ var getLevelsForDomainFilter = function getLevelsForDomainFilter(domainFilter) {
|
|
|
12520
13072
|
return domainFilter[domain] ? domainLevels[domain] : [];
|
|
12521
13073
|
});
|
|
12522
13074
|
};
|
|
13075
|
+
var getPhenomenaForDomainFilter = function getPhenomenaForDomainFilter(domainFilter) {
|
|
13076
|
+
return Object.keys(domainFilter).flatMap(function (domain) {
|
|
13077
|
+
return domainFilter[domain] ? domainPhenomena[domain] : [];
|
|
13078
|
+
});
|
|
13079
|
+
};
|
|
12523
13080
|
var getFilterOptions = function getFilterOptions(defaultFilter, allOptions, savedFilter) {
|
|
12524
13081
|
var pickedFilterOptions = pick(defaultFilter, [emptyFilterId].concat(allOptions));
|
|
12525
13082
|
// keep options state from savedFilter if it still exists
|
|
@@ -12528,7 +13085,7 @@ var getFilterOptions = function getFilterOptions(defaultFilter, allOptions, save
|
|
|
12528
13085
|
allSelected = _getSelectedOptions.allSelected;
|
|
12529
13086
|
return [updatedOptions, allSelected];
|
|
12530
13087
|
};
|
|
12531
|
-
var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, savedFilterState, presetFilterState
|
|
13088
|
+
var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, savedFilterState, presetFilterState) {
|
|
12532
13089
|
var pickedDomainFilter = savedFilterState.domain,
|
|
12533
13090
|
pickedPhenomenonFilter = savedFilterState.phenomenon,
|
|
12534
13091
|
pickedLevelFilter = savedFilterState.level,
|
|
@@ -12542,20 +13099,18 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
12542
13099
|
updatedPickedLevels = _getFilterOptions[0],
|
|
12543
13100
|
allLevelsSelected = _getFilterOptions[1];
|
|
12544
13101
|
// phenomenon
|
|
13102
|
+
var domainPhenomena = useMemo(function () {
|
|
13103
|
+
return getPhenomenaForDomainFilter(pickedDomainFilter);
|
|
13104
|
+
}, [pickedDomainFilter]);
|
|
12545
13105
|
var warningsPhenomena = useMemo(function () {
|
|
12546
13106
|
return getFiltersFromWarnings(warnings, 'phenomenon');
|
|
12547
13107
|
}, [warnings]);
|
|
12548
|
-
|
|
12549
|
-
|
|
12550
|
-
|
|
12551
|
-
|
|
12552
|
-
});
|
|
13108
|
+
var relevantPhenomena = useMemo(function () {
|
|
13109
|
+
return domainPhenomena.filter(function (phenomenon) {
|
|
13110
|
+
return warningsPhenomena.includes(phenomenon);
|
|
13111
|
+
});
|
|
13112
|
+
}, [warningsPhenomena, domainPhenomena]);
|
|
12553
13113
|
relevantPhenomena.push(emptyFilterId);
|
|
12554
|
-
var defaultPhenomenonFilter = useMemo(function () {
|
|
12555
|
-
return Object.fromEntries(relevantPhenomena.map(function (key) {
|
|
12556
|
-
return [key, true];
|
|
12557
|
-
}));
|
|
12558
|
-
}, [relevantPhenomena]);
|
|
12559
13114
|
var _getFilterOptions2 = getFilterOptions(defaultPhenomenonFilter, relevantPhenomena, pickedPhenomenonFilter),
|
|
12560
13115
|
updatedPickedPhenomena = _getFilterOptions2[0],
|
|
12561
13116
|
allPhenomenaSelected = _getFilterOptions2[1];
|
|
@@ -12583,28 +13138,25 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
12583
13138
|
var _getFilterOptions4 = getFilterOptions(defaultIncidentFilter, relevantIncidents, pickedIncidentFilter),
|
|
12584
13139
|
updatedPickedIncidents = _getFilterOptions4[0],
|
|
12585
13140
|
allIncidentsSelected = _getFilterOptions4[1];
|
|
12586
|
-
useEffect(function () {
|
|
12587
|
-
if (isLoading) {
|
|
12588
|
-
return;
|
|
12589
|
-
}
|
|
12590
|
-
// when the warnings change, update the filters
|
|
12591
|
-
onUpdateFilters({
|
|
12592
|
-
incident: updatedPickedIncidents,
|
|
12593
|
-
source: updatedPickedSources,
|
|
12594
|
-
domain: pickedDomainFilter,
|
|
12595
|
-
phenomenon: updatedPickedPhenomena,
|
|
12596
|
-
level: updatedPickedLevels
|
|
12597
|
-
}, 'system');
|
|
12598
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12599
|
-
}, [warnings]);
|
|
12600
13141
|
useEffect(function () {
|
|
12601
13142
|
// when the preset changes, update the filters
|
|
12602
13143
|
if (presetFilterState) {
|
|
12603
|
-
|
|
13144
|
+
var initialFiltersWithPresets = {
|
|
13145
|
+
incident: Object.assign({}, makeFilterFromList(relevantIncidents), presetFilterState.incident),
|
|
13146
|
+
source: Object.assign({}, makeFilterFromList(relevantSources), presetFilterState.source),
|
|
13147
|
+
domain: Object.assign({}, initialFilters.domain, presetFilterState.domain),
|
|
13148
|
+
phenomenon: Object.assign({}, initialFilters.phenomenon, presetFilterState.phenomenon),
|
|
13149
|
+
level: Object.assign({}, initialFilters.level, presetFilterState.level)
|
|
13150
|
+
};
|
|
13151
|
+
onUpdateFilters(initialFiltersWithPresets, 'system');
|
|
12604
13152
|
} else {
|
|
12605
13153
|
// for a preset without filters saved use the initial filters
|
|
12606
|
-
onUpdateFilters(initialFilters,
|
|
13154
|
+
onUpdateFilters(Object.assign({}, initialFilters, {
|
|
13155
|
+
incident: makeFilterFromList(relevantIncidents),
|
|
13156
|
+
source: makeFilterFromList(relevantSources)
|
|
13157
|
+
}), 'system');
|
|
12607
13158
|
}
|
|
13159
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12608
13160
|
}, [presetFilterState, onUpdateFilters]);
|
|
12609
13161
|
var _getSelectedOptions2 = getSelectedOptions(pickedDomainFilter),
|
|
12610
13162
|
allDomainSelected = _getSelectedOptions2.allSelected;
|
|
@@ -12663,63 +13215,66 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
12663
13215
|
if (!pickedLevelFilter[level]) {
|
|
12664
13216
|
return false;
|
|
12665
13217
|
}
|
|
12666
|
-
var phenomenon = getValue(
|
|
13218
|
+
var phenomenon = getValue(AllPhenomenaKeys, warning.warningDetail.phenomenon);
|
|
12667
13219
|
if (!pickedPhenomenonFilter[phenomenon]) {
|
|
12668
13220
|
return false;
|
|
12669
13221
|
}
|
|
12670
13222
|
var source = relevantSources.find(function (source) {
|
|
12671
13223
|
return source === warning.warningDetail.warningProposalSource;
|
|
12672
13224
|
}) || emptyFilterId;
|
|
12673
|
-
if (!
|
|
13225
|
+
if (!updatedPickedSources[source]) {
|
|
12674
13226
|
return false;
|
|
12675
13227
|
}
|
|
12676
13228
|
var incident = relevantIncidents.find(function (incident) {
|
|
12677
13229
|
return incident === warning.warningDetail.incident;
|
|
12678
13230
|
}) || emptyFilterId;
|
|
12679
|
-
if (!
|
|
13231
|
+
if (!updatedPickedIncidents[incident]) {
|
|
12680
13232
|
return false;
|
|
12681
13233
|
}
|
|
12682
13234
|
return true;
|
|
12683
|
-
}, [pickedDomainFilter, pickedLevelFilter, pickedPhenomenonFilter, relevantSources,
|
|
13235
|
+
}, [pickedDomainFilter, pickedLevelFilter, pickedPhenomenonFilter, relevantSources, updatedPickedSources, relevantIncidents, updatedPickedIncidents]);
|
|
12684
13236
|
return {
|
|
12685
13237
|
allSelected: allSelected,
|
|
12686
13238
|
updateFilter: updateFilter,
|
|
12687
|
-
byFilterState: byFilterState
|
|
13239
|
+
byFilterState: byFilterState,
|
|
13240
|
+
filterState: {
|
|
13241
|
+
domain: pickedDomainFilter,
|
|
13242
|
+
level: updatedPickedLevels,
|
|
13243
|
+
phenomenon: updatedPickedPhenomena,
|
|
13244
|
+
incident: updatedPickedIncidents,
|
|
13245
|
+
source: updatedPickedSources
|
|
13246
|
+
}
|
|
12688
13247
|
};
|
|
12689
13248
|
};
|
|
12690
13249
|
|
|
12691
13250
|
var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
12692
13251
|
var panelId = _ref.panelId,
|
|
12693
13252
|
presetFilterState = _ref.presetFilterState;
|
|
13253
|
+
var updatePublicWarningEditor = useMutatePublicWarningEditor();
|
|
12694
13254
|
var _useWarningsTranslati = useWarningsTranslation(),
|
|
12695
13255
|
t = _useWarningsTranslati.t;
|
|
12696
13256
|
var dispatch = useDispatch();
|
|
12697
13257
|
var confirmDialog = useConfirmationDialog();
|
|
12698
13258
|
var _useAuthenticationCon = useAuthenticationContext$1(),
|
|
12699
13259
|
auth = _useAuthenticationCon.auth;
|
|
12700
|
-
var
|
|
12701
|
-
|
|
12702
|
-
|
|
12703
|
-
|
|
12704
|
-
|
|
12705
|
-
|
|
12706
|
-
|
|
12707
|
-
isFetchingSigmet = _useSigmetList.isFetching;
|
|
13260
|
+
var _useWarnings = useWarnings(),
|
|
13261
|
+
combinedWarnings = _useWarnings.combinedWarnings,
|
|
13262
|
+
refetchWarnings = _useWarnings.refetchWarnings,
|
|
13263
|
+
isFetching = _useWarnings.isFetching,
|
|
13264
|
+
error = _useWarnings.error,
|
|
13265
|
+
dataUpdatedAt = _useWarnings.dataUpdatedAt;
|
|
13266
|
+
var lastUpdateTime = dateUtils.dateToString(new Date(dataUpdatedAt), dateUtils.DATE_FORMAT_HOURS);
|
|
12708
13267
|
var _React$useState = React__default.useState(undefined),
|
|
12709
13268
|
confirmDialogOptions = _React$useState[0],
|
|
12710
13269
|
setConfirmDialogOptions = _React$useState[1];
|
|
12711
|
-
var
|
|
12712
|
-
var selectedPublicWarningId = useSelector(getSelectedPublicWarningId);
|
|
12713
|
-
var isLoading = useSelector(isPublicWarningsLoading) || isFetchingAirmet || isFetchingSigmet;
|
|
12714
|
-
var error = useSelector(getPublicWarningsError);
|
|
12715
|
-
var isFormDirty = useSelector(getSelectedPublicIsFormDirty);
|
|
12716
|
-
var lastUpdatedTime = useSelector(getPublicWarningsLastUpdatedTime);
|
|
13270
|
+
var selectedWarningId = useSelector(getSelectedWarningId);
|
|
12717
13271
|
var savedFilterState = useSelector(function (store) {
|
|
12718
13272
|
return getWarningsFilterById(store, panelId);
|
|
12719
13273
|
});
|
|
13274
|
+
var isFormDirty = useSelector(getSelectedPublicIsFormDirty);
|
|
12720
13275
|
var warningsApi = getWarningsApi();
|
|
12721
13276
|
var openPublicWarningDialog = /*#__PURE__*/function () {
|
|
12722
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(formAction,
|
|
13277
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(formAction, warning, warningType) {
|
|
12723
13278
|
var mayProceed;
|
|
12724
13279
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
12725
13280
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -12742,8 +13297,8 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12742
13297
|
}
|
|
12743
13298
|
return _context.abrupt("return");
|
|
12744
13299
|
case 6:
|
|
12745
|
-
dispatch(publicWarningFormActions.openPublicWarningFormDialog(Object.assign({},
|
|
12746
|
-
|
|
13300
|
+
dispatch(publicWarningFormActions.openPublicWarningFormDialog(Object.assign({}, warning && {
|
|
13301
|
+
warning: warning
|
|
12747
13302
|
}, {
|
|
12748
13303
|
formState: formAction,
|
|
12749
13304
|
warningType: warningType,
|
|
@@ -12771,24 +13326,24 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12771
13326
|
while (1) switch (_context2.prev = _context2.next) {
|
|
12772
13327
|
case 0:
|
|
12773
13328
|
if (!(publicWarning.id && auth != null && auth.username && !publicWarning.editor)) {
|
|
12774
|
-
_context2.next =
|
|
13329
|
+
_context2.next = 7;
|
|
12775
13330
|
break;
|
|
12776
13331
|
}
|
|
12777
|
-
|
|
12778
|
-
|
|
12779
|
-
|
|
12780
|
-
|
|
12781
|
-
})
|
|
12782
|
-
_context2.next =
|
|
13332
|
+
refetchWarnings();
|
|
13333
|
+
updatePublicWarningEditor.mutate({
|
|
13334
|
+
id: publicWarning.id,
|
|
13335
|
+
isEditor: true
|
|
13336
|
+
});
|
|
13337
|
+
_context2.next = 5;
|
|
12783
13338
|
return openPublicWarningDialog('', Object.assign({}, publicWarning, {
|
|
12784
13339
|
editor: auth == null ? void 0 : auth.username
|
|
12785
13340
|
}));
|
|
12786
|
-
case
|
|
12787
|
-
_context2.next =
|
|
13341
|
+
case 5:
|
|
13342
|
+
_context2.next = 8;
|
|
12788
13343
|
break;
|
|
12789
|
-
case 6:
|
|
12790
|
-
void openPublicWarningDialog('', publicWarning);
|
|
12791
13344
|
case 7:
|
|
13345
|
+
void openPublicWarningDialog('', publicWarning);
|
|
13346
|
+
case 8:
|
|
12792
13347
|
case "end":
|
|
12793
13348
|
return _context2.stop();
|
|
12794
13349
|
}
|
|
@@ -12858,6 +13413,17 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12858
13413
|
return _ref5.apply(this, arguments);
|
|
12859
13414
|
};
|
|
12860
13415
|
}();
|
|
13416
|
+
var warningType = useSelector(getWarningType);
|
|
13417
|
+
var _useProductConfig = useProductConfig(warningType, false),
|
|
13418
|
+
aviationConfig = _useProductConfig.data;
|
|
13419
|
+
var handleRenewProductClick = function handleRenewProductClick(warning, warningType) {
|
|
13420
|
+
if (!warning) {
|
|
13421
|
+
return;
|
|
13422
|
+
}
|
|
13423
|
+
var type = warningType || (warning.warningDetail.level === 'SIG' ? 'sigmet' : 'airmet');
|
|
13424
|
+
var renewedWarning = renewWarning(warning, aviationConfig);
|
|
13425
|
+
void openPublicWarningDialog('edit', renewedWarning, type);
|
|
13426
|
+
};
|
|
12861
13427
|
var openSnackbar = function openSnackbar(message) {
|
|
12862
13428
|
dispatch(snackbarActions.openSnackbar({
|
|
12863
13429
|
type: snackbarTypes.SnackbarMessageType.VERBATIM_MESSAGE,
|
|
@@ -12899,29 +13465,15 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12899
13465
|
// close confirm dialog
|
|
12900
13466
|
setConfirmDialogOptions(undefined);
|
|
12901
13467
|
// Close warning dialog if needed
|
|
12902
|
-
if (
|
|
13468
|
+
if (selectedWarningId === warningId) {
|
|
12903
13469
|
dispatch(uiActions.setToggleOpenDialog({
|
|
12904
13470
|
setOpen: false,
|
|
12905
13471
|
type: publicWarningDialogType
|
|
12906
13472
|
}));
|
|
12907
13473
|
}
|
|
12908
13474
|
openSnackbar(snackbarMessage);
|
|
12909
|
-
|
|
13475
|
+
refetchWarnings();
|
|
12910
13476
|
};
|
|
12911
|
-
var fetchWarnings = React__default.useCallback(function () {
|
|
12912
|
-
void refetchAirmetList();
|
|
12913
|
-
void refetchSigmetList();
|
|
12914
|
-
dispatch(publicWarningActions.fetchWarnings());
|
|
12915
|
-
}, [dispatch, refetchAirmetList, refetchSigmetList]);
|
|
12916
|
-
React__default.useEffect(function () {
|
|
12917
|
-
// fetch warnings on mount
|
|
12918
|
-
fetchWarnings();
|
|
12919
|
-
}, [fetchWarnings]);
|
|
12920
|
-
var combinedWarnings = React__default.useMemo(function () {
|
|
12921
|
-
var transformedSigmets = (sigmetList == null ? void 0 : sigmetList.map(transformSigmetToWarningFormat)) || [];
|
|
12922
|
-
var transformedAirmets = (airmetList == null ? void 0 : airmetList.map(transformAirmetToWarningFormat)) || [];
|
|
12923
|
-
return publicWarnings.concat(transformedSigmets).concat(transformedAirmets);
|
|
12924
|
-
}, [publicWarnings, sigmetList, airmetList]);
|
|
12925
13477
|
var onUpdateFilters = React__default.useCallback(function (filterState, origin) {
|
|
12926
13478
|
dispatch(publicWarningActions.setWarningFilters({
|
|
12927
13479
|
filterState: filterState,
|
|
@@ -12929,7 +13481,7 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12929
13481
|
origin: origin
|
|
12930
13482
|
}));
|
|
12931
13483
|
}, [dispatch, panelId]);
|
|
12932
|
-
var filterHookState = useWarningFilters(combinedWarnings, onUpdateFilters, savedFilterState, presetFilterState
|
|
13484
|
+
var filterHookState = useWarningFilters(combinedWarnings, onUpdateFilters, savedFilterState, presetFilterState);
|
|
12933
13485
|
var filteredWarnings = React__default.useMemo(function () {
|
|
12934
13486
|
return combinedWarnings.filter(filterHookState.byFilterState);
|
|
12935
13487
|
}, [combinedWarnings, filterHookState.byFilterState]);
|
|
@@ -12948,8 +13500,7 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12948
13500
|
}, [filteredWarnings, expandedSections]);
|
|
12949
13501
|
var allFeatures = React__default.useMemo(function () {
|
|
12950
13502
|
return filteredWarningsByExpandedSections.flatMap(function (warning) {
|
|
12951
|
-
|
|
12952
|
-
return (warning == null ? void 0 : warning.id) && (warning == null || (_warning$warningDetai = warning.warningDetail) == null || (_warning$warningDetai = _warning$warningDetai.areas) == null ? void 0 : _warning$warningDetai.filter(function (area) {
|
|
13503
|
+
return (warning == null ? void 0 : warning.id) && (warning != null && warning.warningDetail && 'areas' in warning.warningDetail ? warning.warningDetail.areas.filter(function (area) {
|
|
12953
13504
|
return area.geoJSON;
|
|
12954
13505
|
}).map(function (area) {
|
|
12955
13506
|
var isAviationWarning = warning.warningDetail.level === 'SIG' || warning.warningDetail.level === 'AIR';
|
|
@@ -12959,7 +13510,7 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12959
13510
|
originalId: warning.id,
|
|
12960
13511
|
geoJSON: styledGeoJSON
|
|
12961
13512
|
};
|
|
12962
|
-
})) || [];
|
|
13513
|
+
}) : []) || [];
|
|
12963
13514
|
}).filter(function (feature) {
|
|
12964
13515
|
return feature.id;
|
|
12965
13516
|
});
|
|
@@ -12973,8 +13524,8 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12973
13524
|
warnings: filteredWarnings,
|
|
12974
13525
|
expandedSections: expandedSections,
|
|
12975
13526
|
setExpandedSections: setExpandedSections,
|
|
12976
|
-
isLoading:
|
|
12977
|
-
error: error,
|
|
13527
|
+
isLoading: isFetching,
|
|
13528
|
+
error: error || undefined,
|
|
12978
13529
|
onSelectWarning: selectWarning,
|
|
12979
13530
|
onCreateWarning: createWarning,
|
|
12980
13531
|
onEditWarning: editWarning,
|
|
@@ -12982,12 +13533,12 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12982
13533
|
onDeleteReviewWarning: deleteReviewWarning,
|
|
12983
13534
|
onExpireWarning: expireWarning,
|
|
12984
13535
|
onWithdrawWarning: withdrawWarning,
|
|
12985
|
-
|
|
12986
|
-
lastUpdatedTime:
|
|
12987
|
-
onRefetchWarnings:
|
|
13536
|
+
selectedWarningId: selectedWarningId,
|
|
13537
|
+
lastUpdatedTime: lastUpdateTime,
|
|
13538
|
+
onRefetchWarnings: refetchWarnings,
|
|
12988
13539
|
filterHookState: filterHookState,
|
|
12989
|
-
|
|
12990
|
-
|
|
13540
|
+
hoveredFeatureId: hoveredFeatureId,
|
|
13541
|
+
onRenewWarning: handleRenewProductClick
|
|
12991
13542
|
}), confirmDialogOptions && jsx(ConfirmDeleteWarningDialog, {
|
|
12992
13543
|
onClose: function onClose() {
|
|
12993
13544
|
return setConfirmDialogOptions(undefined);
|
|
@@ -13058,48 +13609,49 @@ var componentsLookUp = function componentsLookUp(payload, apiProps) {
|
|
|
13058
13609
|
var getErrorMessage = function getErrorMessage(error) {
|
|
13059
13610
|
return isAxiosError(error) ? getAxiosErrorMessage(error) : error.message;
|
|
13060
13611
|
};
|
|
13061
|
-
var getToggleEditorSuccessMessage = function getToggleEditorSuccessMessage(isEditor) {
|
|
13062
|
-
return isEditor ? 'warning-editor-add-editor' : 'warning-editor-remove-editor';
|
|
13063
|
-
};
|
|
13064
13612
|
var publicWarningFormListener = createListenerMiddleware();
|
|
13065
13613
|
publicWarningFormListener.startListening({
|
|
13066
|
-
actionCreator: publicWarningFormActions.
|
|
13614
|
+
actionCreator: publicWarningFormActions.publishWarning,
|
|
13067
13615
|
effect: function () {
|
|
13068
13616
|
var _effect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref, listenerApi) {
|
|
13069
|
-
var payload,
|
|
13617
|
+
var payload, publicWarning, refetchWarnings, publishedWarning, isDialogOpen;
|
|
13070
13618
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
13071
13619
|
while (1) switch (_context.prev = _context.next) {
|
|
13072
13620
|
case 0:
|
|
13073
13621
|
payload = _ref.payload;
|
|
13074
13622
|
listenerApi.cancelActiveListeners();
|
|
13075
13623
|
_context.prev = 2;
|
|
13076
|
-
|
|
13077
|
-
|
|
13078
|
-
|
|
13079
|
-
|
|
13080
|
-
|
|
13081
|
-
|
|
13082
|
-
|
|
13083
|
-
|
|
13084
|
-
|
|
13085
|
-
|
|
13624
|
+
publicWarning = payload.publicWarning, refetchWarnings = payload.refetchWarnings;
|
|
13625
|
+
_context.next = 6;
|
|
13626
|
+
return saveOrUpdateWarning(publicWarning);
|
|
13627
|
+
case 6:
|
|
13628
|
+
publishedWarning = _context.sent;
|
|
13629
|
+
if (refetchWarnings) {
|
|
13630
|
+
refetchWarnings();
|
|
13631
|
+
}
|
|
13632
|
+
listenerApi.dispatch(publicWarningFormActions.publishWarningSuccess({
|
|
13633
|
+
publicWarning: publishedWarning,
|
|
13086
13634
|
message: {
|
|
13087
13635
|
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
13088
|
-
key:
|
|
13636
|
+
key: 'warning-publish-succes'
|
|
13089
13637
|
}
|
|
13090
13638
|
}));
|
|
13091
|
-
|
|
13639
|
+
listenerApi.dispatch(uiActions.setToggleOpenDialog({
|
|
13640
|
+
type: publicWarningDialogType,
|
|
13641
|
+
setOpen: false
|
|
13642
|
+
}));
|
|
13643
|
+
_context.next = 16;
|
|
13092
13644
|
break;
|
|
13093
|
-
case
|
|
13094
|
-
_context.prev =
|
|
13645
|
+
case 12:
|
|
13646
|
+
_context.prev = 12;
|
|
13095
13647
|
_context.t0 = _context["catch"](2);
|
|
13096
13648
|
isDialogOpen = uiSelectors.getisDialogOpen(listenerApi.getState(), publicWarningDialogType);
|
|
13097
13649
|
errorEffect(listenerApi.dispatch, getErrorMessage(_context.t0), isDialogOpen);
|
|
13098
|
-
case
|
|
13650
|
+
case 16:
|
|
13099
13651
|
case "end":
|
|
13100
13652
|
return _context.stop();
|
|
13101
13653
|
}
|
|
13102
|
-
}, _callee, null, [[2,
|
|
13654
|
+
}, _callee, null, [[2, 12]]);
|
|
13103
13655
|
}));
|
|
13104
13656
|
function effect(_x, _x2) {
|
|
13105
13657
|
return _effect.apply(this, arguments);
|
|
@@ -13108,32 +13660,31 @@ publicWarningFormListener.startListening({
|
|
|
13108
13660
|
}()
|
|
13109
13661
|
});
|
|
13110
13662
|
publicWarningFormListener.startListening({
|
|
13111
|
-
actionCreator: publicWarningFormActions.
|
|
13663
|
+
actionCreator: publicWarningFormActions.saveWarning,
|
|
13112
13664
|
effect: function () {
|
|
13113
13665
|
var _effect2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2, listenerApi) {
|
|
13114
|
-
var payload, publicWarning,
|
|
13666
|
+
var payload, publicWarning, refetchWarnings, savedWarning, isDialogOpen;
|
|
13115
13667
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
13116
13668
|
while (1) switch (_context2.prev = _context2.next) {
|
|
13117
13669
|
case 0:
|
|
13118
13670
|
payload = _ref2.payload;
|
|
13119
13671
|
listenerApi.cancelActiveListeners();
|
|
13120
13672
|
_context2.prev = 2;
|
|
13121
|
-
publicWarning = payload.publicWarning;
|
|
13673
|
+
publicWarning = payload.publicWarning, refetchWarnings = payload.refetchWarnings;
|
|
13122
13674
|
_context2.next = 6;
|
|
13123
13675
|
return saveOrUpdateWarning(publicWarning);
|
|
13124
13676
|
case 6:
|
|
13125
|
-
|
|
13126
|
-
|
|
13127
|
-
|
|
13677
|
+
savedWarning = _context2.sent;
|
|
13678
|
+
if (refetchWarnings) {
|
|
13679
|
+
refetchWarnings();
|
|
13680
|
+
}
|
|
13681
|
+
listenerApi.dispatch(publicWarningFormActions.saveWarningSuccess({
|
|
13682
|
+
publicWarning: savedWarning,
|
|
13128
13683
|
message: {
|
|
13129
13684
|
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
13130
|
-
key: 'warning-
|
|
13685
|
+
key: 'warning-save-succes'
|
|
13131
13686
|
}
|
|
13132
13687
|
}));
|
|
13133
|
-
listenerApi.dispatch(uiActions.setToggleOpenDialog({
|
|
13134
|
-
type: publicWarningDialogType,
|
|
13135
|
-
setOpen: false
|
|
13136
|
-
}));
|
|
13137
13688
|
_context2.next = 15;
|
|
13138
13689
|
break;
|
|
13139
13690
|
case 11:
|
|
@@ -13153,41 +13704,26 @@ publicWarningFormListener.startListening({
|
|
|
13153
13704
|
return effect;
|
|
13154
13705
|
}()
|
|
13155
13706
|
});
|
|
13707
|
+
// Side effects/snackbar listeners
|
|
13156
13708
|
publicWarningFormListener.startListening({
|
|
13157
|
-
|
|
13709
|
+
matcher: isAnyOf(publicWarningFormActions.publishWarningSuccess, publicWarningFormActions.saveWarningSuccess),
|
|
13158
13710
|
effect: function () {
|
|
13159
13711
|
var _effect3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref3, listenerApi) {
|
|
13160
|
-
var payload,
|
|
13712
|
+
var payload, message, isDialogOpen;
|
|
13161
13713
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
13162
13714
|
while (1) switch (_context3.prev = _context3.next) {
|
|
13163
13715
|
case 0:
|
|
13164
13716
|
payload = _ref3.payload;
|
|
13165
13717
|
listenerApi.cancelActiveListeners();
|
|
13166
|
-
|
|
13167
|
-
|
|
13168
|
-
_context3.next = 6;
|
|
13169
|
-
return saveOrUpdateWarning(publicWarning);
|
|
13170
|
-
case 6:
|
|
13171
|
-
savedWarning = _context3.sent;
|
|
13172
|
-
listenerApi.dispatch(publicWarningFormActions.saveWarningSuccess({
|
|
13173
|
-
publicWarning: savedWarning,
|
|
13174
|
-
message: {
|
|
13175
|
-
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
13176
|
-
key: 'warning-save-succes'
|
|
13177
|
-
}
|
|
13178
|
-
}));
|
|
13179
|
-
_context3.next = 14;
|
|
13180
|
-
break;
|
|
13181
|
-
case 10:
|
|
13182
|
-
_context3.prev = 10;
|
|
13183
|
-
_context3.t0 = _context3["catch"](2);
|
|
13718
|
+
message = payload.message;
|
|
13719
|
+
listenerApi.dispatch(snackbarActions.openSnackbar(message));
|
|
13184
13720
|
isDialogOpen = uiSelectors.getisDialogOpen(listenerApi.getState(), publicWarningDialogType);
|
|
13185
|
-
|
|
13186
|
-
case
|
|
13721
|
+
toggleDialogLoadingEffect(listenerApi.dispatch, isDialogOpen, false);
|
|
13722
|
+
case 6:
|
|
13187
13723
|
case "end":
|
|
13188
13724
|
return _context3.stop();
|
|
13189
13725
|
}
|
|
13190
|
-
}, _callee3
|
|
13726
|
+
}, _callee3);
|
|
13191
13727
|
}));
|
|
13192
13728
|
function effect(_x5, _x6) {
|
|
13193
13729
|
return _effect3.apply(this, arguments);
|
|
@@ -13195,22 +13731,18 @@ publicWarningFormListener.startListening({
|
|
|
13195
13731
|
return effect;
|
|
13196
13732
|
}()
|
|
13197
13733
|
});
|
|
13198
|
-
// Side effects/snackbar listeners
|
|
13199
13734
|
publicWarningFormListener.startListening({
|
|
13200
|
-
matcher: isAnyOf(publicWarningFormActions.
|
|
13735
|
+
matcher: isAnyOf(publicWarningFormActions.publishWarning, publicWarningFormActions.saveWarning),
|
|
13201
13736
|
effect: function () {
|
|
13202
|
-
var _effect4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(
|
|
13203
|
-
var
|
|
13737
|
+
var _effect4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_, listenerApi) {
|
|
13738
|
+
var isDialogOpen;
|
|
13204
13739
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
13205
13740
|
while (1) switch (_context4.prev = _context4.next) {
|
|
13206
13741
|
case 0:
|
|
13207
|
-
payload = _ref4.payload;
|
|
13208
13742
|
listenerApi.cancelActiveListeners();
|
|
13209
|
-
message = payload.message;
|
|
13210
|
-
listenerApi.dispatch(snackbarActions.openSnackbar(message));
|
|
13211
13743
|
isDialogOpen = uiSelectors.getisDialogOpen(listenerApi.getState(), publicWarningDialogType);
|
|
13212
|
-
toggleDialogLoadingEffect(listenerApi.dispatch, isDialogOpen,
|
|
13213
|
-
case
|
|
13744
|
+
toggleDialogLoadingEffect(listenerApi.dispatch, isDialogOpen, true);
|
|
13745
|
+
case 3:
|
|
13214
13746
|
case "end":
|
|
13215
13747
|
return _context4.stop();
|
|
13216
13748
|
}
|
|
@@ -13222,38 +13754,15 @@ publicWarningFormListener.startListening({
|
|
|
13222
13754
|
return effect;
|
|
13223
13755
|
}()
|
|
13224
13756
|
});
|
|
13225
|
-
publicWarningFormListener.startListening({
|
|
13226
|
-
matcher: isAnyOf(publicWarningFormActions.publishWarning, publicWarningFormActions.saveWarning),
|
|
13227
|
-
effect: function () {
|
|
13228
|
-
var _effect5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_, listenerApi) {
|
|
13229
|
-
var isDialogOpen;
|
|
13230
|
-
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
13231
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
13232
|
-
case 0:
|
|
13233
|
-
listenerApi.cancelActiveListeners();
|
|
13234
|
-
isDialogOpen = uiSelectors.getisDialogOpen(listenerApi.getState(), publicWarningDialogType);
|
|
13235
|
-
toggleDialogLoadingEffect(listenerApi.dispatch, isDialogOpen, true);
|
|
13236
|
-
case 3:
|
|
13237
|
-
case "end":
|
|
13238
|
-
return _context5.stop();
|
|
13239
|
-
}
|
|
13240
|
-
}, _callee5);
|
|
13241
|
-
}));
|
|
13242
|
-
function effect(_x9, _x10) {
|
|
13243
|
-
return _effect5.apply(this, arguments);
|
|
13244
|
-
}
|
|
13245
|
-
return effect;
|
|
13246
|
-
}()
|
|
13247
|
-
});
|
|
13248
13757
|
publicWarningFormListener.startListening({
|
|
13249
13758
|
actionCreator: publicWarningFormActions.openPublicWarningFormDialog,
|
|
13250
13759
|
effect: function () {
|
|
13251
|
-
var
|
|
13760
|
+
var _effect5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref4, listenerApi) {
|
|
13252
13761
|
var payload, panelId;
|
|
13253
|
-
return _regeneratorRuntime().wrap(function
|
|
13254
|
-
while (1) switch (
|
|
13762
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
13763
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
13255
13764
|
case 0:
|
|
13256
|
-
payload =
|
|
13765
|
+
payload = _ref4.payload;
|
|
13257
13766
|
listenerApi.cancelActiveListeners();
|
|
13258
13767
|
panelId = payload.panelId;
|
|
13259
13768
|
listenerApi.dispatch(uiActions.setToggleOpenDialog({
|
|
@@ -13263,35 +13772,35 @@ publicWarningFormListener.startListening({
|
|
|
13263
13772
|
}));
|
|
13264
13773
|
case 4:
|
|
13265
13774
|
case "end":
|
|
13266
|
-
return
|
|
13775
|
+
return _context5.stop();
|
|
13267
13776
|
}
|
|
13268
|
-
},
|
|
13777
|
+
}, _callee5);
|
|
13269
13778
|
}));
|
|
13270
|
-
function effect(
|
|
13271
|
-
return
|
|
13779
|
+
function effect(_x9, _x10) {
|
|
13780
|
+
return _effect5.apply(this, arguments);
|
|
13272
13781
|
}
|
|
13273
13782
|
return effect;
|
|
13274
13783
|
}()
|
|
13275
13784
|
});
|
|
13276
13785
|
var saveOrUpdateWarning = /*#__PURE__*/function () {
|
|
13277
|
-
var
|
|
13786
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(publicWarning) {
|
|
13278
13787
|
var warningsApi, warningDetail, status, warning, newWarningId;
|
|
13279
|
-
return _regeneratorRuntime().wrap(function
|
|
13280
|
-
while (1) switch (
|
|
13788
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
13789
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
13281
13790
|
case 0:
|
|
13282
13791
|
warningsApi = getWarningsApi();
|
|
13283
13792
|
warningDetail = publicWarning.warningDetail, status = publicWarning.status;
|
|
13284
13793
|
if (!warningDetail.id) {
|
|
13285
|
-
|
|
13794
|
+
_context6.next = 6;
|
|
13286
13795
|
break;
|
|
13287
13796
|
}
|
|
13288
|
-
|
|
13797
|
+
_context6.next = 5;
|
|
13289
13798
|
return warningsApi.updateWarning(warningDetail.id, publicWarning);
|
|
13290
13799
|
case 5:
|
|
13291
|
-
return
|
|
13800
|
+
return _context6.abrupt("return", publicWarning);
|
|
13292
13801
|
case 6:
|
|
13293
13802
|
if (!(status === 'PUBLISHED' && warningDetail.linked_to_id)) {
|
|
13294
|
-
|
|
13803
|
+
_context6.next = 11;
|
|
13295
13804
|
break;
|
|
13296
13805
|
}
|
|
13297
13806
|
warning = Object.assign({}, publicWarning, {
|
|
@@ -13299,28 +13808,28 @@ var saveOrUpdateWarning = /*#__PURE__*/function () {
|
|
|
13299
13808
|
id: warningDetail.linked_to_id
|
|
13300
13809
|
})
|
|
13301
13810
|
});
|
|
13302
|
-
|
|
13811
|
+
_context6.next = 10;
|
|
13303
13812
|
return warningsApi.updateWarning(warningDetail.linked_to_id, warning);
|
|
13304
13813
|
case 10:
|
|
13305
|
-
return
|
|
13814
|
+
return _context6.abrupt("return", warning);
|
|
13306
13815
|
case 11:
|
|
13307
|
-
|
|
13816
|
+
_context6.next = 13;
|
|
13308
13817
|
return warningsApi.saveWarningAs(publicWarning);
|
|
13309
13818
|
case 13:
|
|
13310
|
-
newWarningId =
|
|
13311
|
-
return
|
|
13819
|
+
newWarningId = _context6.sent;
|
|
13820
|
+
return _context6.abrupt("return", Object.assign({}, publicWarning, {
|
|
13312
13821
|
warningDetail: Object.assign({}, warningDetail, {
|
|
13313
13822
|
id: newWarningId
|
|
13314
13823
|
})
|
|
13315
13824
|
}));
|
|
13316
13825
|
case 15:
|
|
13317
13826
|
case "end":
|
|
13318
|
-
return
|
|
13827
|
+
return _context6.stop();
|
|
13319
13828
|
}
|
|
13320
|
-
},
|
|
13829
|
+
}, _callee6);
|
|
13321
13830
|
}));
|
|
13322
|
-
return function saveOrUpdateWarning(
|
|
13323
|
-
return
|
|
13831
|
+
return function saveOrUpdateWarning(_x11) {
|
|
13832
|
+
return _ref5.apply(this, arguments);
|
|
13324
13833
|
};
|
|
13325
13834
|
}();
|
|
13326
13835
|
var toggleDialogLoadingEffect = function toggleDialogLoadingEffect(dispatch, isDialogOpen, isLoading) {
|
|
@@ -13340,12 +13849,12 @@ var errorEffect = function errorEffect(dispatch, message, isDialogOpen) {
|
|
|
13340
13849
|
publicWarningFormListener.startListening({
|
|
13341
13850
|
actionCreator: uiActions.setToggleOpenDialog,
|
|
13342
13851
|
effect: function () {
|
|
13343
|
-
var
|
|
13852
|
+
var _effect6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(_ref6, listenerApi) {
|
|
13344
13853
|
var payload;
|
|
13345
|
-
return _regeneratorRuntime().wrap(function
|
|
13346
|
-
while (1) switch (
|
|
13854
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
13855
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
13347
13856
|
case 0:
|
|
13348
|
-
payload =
|
|
13857
|
+
payload = _ref6.payload;
|
|
13349
13858
|
if (!payload.setOpen && payload.type === publicWarningDialogType) {
|
|
13350
13859
|
listenerApi.dispatch(uiActions.setToggleOpenDialog({
|
|
13351
13860
|
setOpen: false,
|
|
@@ -13354,93 +13863,35 @@ publicWarningFormListener.startListening({
|
|
|
13354
13863
|
}
|
|
13355
13864
|
case 2:
|
|
13356
13865
|
case "end":
|
|
13357
|
-
return
|
|
13866
|
+
return _context7.stop();
|
|
13358
13867
|
}
|
|
13359
|
-
},
|
|
13868
|
+
}, _callee7);
|
|
13360
13869
|
}));
|
|
13361
|
-
function effect(
|
|
13362
|
-
return
|
|
13870
|
+
function effect(_x12, _x13) {
|
|
13871
|
+
return _effect6.apply(this, arguments);
|
|
13363
13872
|
}
|
|
13364
13873
|
return effect;
|
|
13365
13874
|
}()
|
|
13366
13875
|
});
|
|
13367
13876
|
|
|
13368
|
-
|
|
13369
|
-
|
|
13370
|
-
|
|
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
|
+
* */
|
|
13371
13894
|
var publicWarningsListener = createListenerMiddleware();
|
|
13372
|
-
publicWarningsListener.startListening({
|
|
13373
|
-
actionCreator: publicWarningActions.fetchWarnings,
|
|
13374
|
-
effect: function () {
|
|
13375
|
-
var _effect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_, listenerApi) {
|
|
13376
|
-
var warningsApi, _yield$warningsApi$ge, warnings, lastUpdatedTime;
|
|
13377
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
13378
|
-
while (1) switch (_context.prev = _context.next) {
|
|
13379
|
-
case 0:
|
|
13380
|
-
listenerApi.cancelActiveListeners();
|
|
13381
|
-
_context.prev = 1;
|
|
13382
|
-
warningsApi = getWarningsApi();
|
|
13383
|
-
_context.next = 5;
|
|
13384
|
-
return warningsApi.getWarnings();
|
|
13385
|
-
case 5:
|
|
13386
|
-
_yield$warningsApi$ge = _context.sent;
|
|
13387
|
-
warnings = _yield$warningsApi$ge.data;
|
|
13388
|
-
lastUpdatedTime = getLastUpdatedTimeFormatted();
|
|
13389
|
-
listenerApi.dispatch(publicWarningActions.fetchWarningsSuccess({
|
|
13390
|
-
warnings: warnings,
|
|
13391
|
-
lastUpdatedTime: lastUpdatedTime
|
|
13392
|
-
}));
|
|
13393
|
-
_context.next = 11;
|
|
13394
|
-
return listenerApi.delay(pollingIntervalTimeout);
|
|
13395
|
-
case 11:
|
|
13396
|
-
listenerApi.dispatch(publicWarningActions.fetchWarnings());
|
|
13397
|
-
_context.next = 17;
|
|
13398
|
-
break;
|
|
13399
|
-
case 14:
|
|
13400
|
-
_context.prev = 14;
|
|
13401
|
-
_context.t0 = _context["catch"](1);
|
|
13402
|
-
// Don't set an error if the cancelActiveListeners was invoked (which throws a TaskAbortError)
|
|
13403
|
-
if ((_context.t0 == null ? void 0 : _context.t0.code) !== 'listener-cancelled') {
|
|
13404
|
-
listenerApi.dispatch(publicWarningActions.fetchWarningsError({
|
|
13405
|
-
error: {
|
|
13406
|
-
name: _context.t0.name,
|
|
13407
|
-
message: _context.t0.message
|
|
13408
|
-
}
|
|
13409
|
-
}));
|
|
13410
|
-
}
|
|
13411
|
-
case 17:
|
|
13412
|
-
case "end":
|
|
13413
|
-
return _context.stop();
|
|
13414
|
-
}
|
|
13415
|
-
}, _callee, null, [[1, 14]]);
|
|
13416
|
-
}));
|
|
13417
|
-
function effect(_x, _x2) {
|
|
13418
|
-
return _effect.apply(this, arguments);
|
|
13419
|
-
}
|
|
13420
|
-
return effect;
|
|
13421
|
-
}()
|
|
13422
|
-
});
|
|
13423
|
-
publicWarningsListener.startListening({
|
|
13424
|
-
matcher: isAnyOf(publicWarningFormActions.publishWarningSuccess, publicWarningFormActions.saveWarningSuccess),
|
|
13425
|
-
effect: function () {
|
|
13426
|
-
var _effect2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_, listenerApi) {
|
|
13427
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
13428
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
13429
|
-
case 0:
|
|
13430
|
-
listenerApi.cancelActiveListeners();
|
|
13431
|
-
listenerApi.dispatch(publicWarningActions.fetchWarnings());
|
|
13432
|
-
case 2:
|
|
13433
|
-
case "end":
|
|
13434
|
-
return _context2.stop();
|
|
13435
|
-
}
|
|
13436
|
-
}, _callee2);
|
|
13437
|
-
}));
|
|
13438
|
-
function effect(_x3, _x4) {
|
|
13439
|
-
return _effect2.apply(this, arguments);
|
|
13440
|
-
}
|
|
13441
|
-
return effect;
|
|
13442
|
-
}()
|
|
13443
|
-
});
|
|
13444
13895
|
|
|
13445
13896
|
var _excluded = ["id"];
|
|
13446
13897
|
var getSnackbarMessage = function getSnackbarMessage(objectName, id) {
|
|
@@ -13457,7 +13908,7 @@ drawingsListener.startListening({
|
|
|
13457
13908
|
actionCreator: drawActions.submitDrawValues,
|
|
13458
13909
|
effect: function () {
|
|
13459
13910
|
var _effect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref, listenerApi) {
|
|
13460
|
-
var payload, id, formValues, warningsApi, newID, errorMessage;
|
|
13911
|
+
var payload, id, formValues, warningsApi, newID, taskError, errorMessage;
|
|
13461
13912
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
13462
13913
|
while (1) switch (_context.prev = _context.next) {
|
|
13463
13914
|
case 0:
|
|
@@ -13498,24 +13949,25 @@ drawingsListener.startListening({
|
|
|
13498
13949
|
isLoading: false,
|
|
13499
13950
|
type: drawingDialogType
|
|
13500
13951
|
}));
|
|
13501
|
-
_context.next =
|
|
13952
|
+
_context.next = 24;
|
|
13502
13953
|
break;
|
|
13503
13954
|
case 20:
|
|
13504
13955
|
_context.prev = 20;
|
|
13505
13956
|
_context.t0 = _context["catch"](3);
|
|
13506
13957
|
// Don't do anything if the cancelActiveListeners was invoked (which throws a TaskAbortError)
|
|
13507
|
-
|
|
13958
|
+
taskError = _context.t0;
|
|
13959
|
+
if ((taskError == null ? void 0 : taskError.code) !== 'listener-cancelled') {
|
|
13508
13960
|
listenerApi.dispatch(uiActions.toggleIsLoadingDialog({
|
|
13509
13961
|
isLoading: false,
|
|
13510
13962
|
type: drawingDialogType
|
|
13511
13963
|
}));
|
|
13512
|
-
errorMessage = isAxiosError$1(
|
|
13964
|
+
errorMessage = isAxiosError$1(taskError) ? getAxiosErrorMessage(taskError) : taskError.message;
|
|
13513
13965
|
listenerApi.dispatch(uiActions.setErrorDialog({
|
|
13514
13966
|
type: drawingDialogType,
|
|
13515
13967
|
error: errorMessage
|
|
13516
13968
|
}));
|
|
13517
13969
|
}
|
|
13518
|
-
case
|
|
13970
|
+
case 24:
|
|
13519
13971
|
case "end":
|
|
13520
13972
|
return _context.stop();
|
|
13521
13973
|
}
|
|
@@ -13546,14 +13998,12 @@ drawingsListener.startListening({
|
|
|
13546
13998
|
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
13547
13999
|
* */
|
|
13548
14000
|
var drawingModuleConfig = {
|
|
13549
|
-
// TODO: remove id in https://gitlab.com/opengeoweb/opengeoweb/-/issues/5561
|
|
13550
|
-
id: 'drawing-module',
|
|
13551
14001
|
reducersMap: {
|
|
13552
14002
|
drawings: reducer$2,
|
|
13553
|
-
publicWarningForm: reducer,
|
|
13554
|
-
publicWarnings: reducer
|
|
14003
|
+
publicWarningForm: reducer$1,
|
|
14004
|
+
publicWarnings: reducer
|
|
13555
14005
|
},
|
|
13556
14006
|
middlewares: [drawingsListener.middleware, publicWarningsListener.middleware, publicWarningFormListener.middleware]
|
|
13557
14007
|
};
|
|
13558
14008
|
|
|
13559
|
-
export { DrawingToolConnect, Wrapper as DrawingToolForm, DrawingToolFormConnect, DrawingToolMapButtonConnect, ObjectManagerConnect, ObjectManagerMapButtonConnect, PublicWarningApiWrapper, PublicWarningsFormDialog, PublicWarningsFormDialogConnect, WARN_NAMESPACE, WarningsModuleProvider, componentsLookUp, drawingModuleConfig, initialState
|
|
14009
|
+
export { DrawingToolConnect, Wrapper as DrawingToolForm, DrawingToolFormConnect, DrawingToolMapButtonConnect, ObjectManagerConnect, ObjectManagerMapButtonConnect, PublicWarningApiWrapper, PublicWarningsFormDialog, PublicWarningsFormDialogConnect, WARN_NAMESPACE, WarningsModuleProvider, componentsLookUp, drawingModuleConfig, initialState, isAlreadyEdited, publicWarningActions, publicWarningFormListener, reducer$1 as publicWarningFormReducer, publicWarningsAdapter, publicWarningsListener, reducer as publicWarningsReducer, selectors as publicWarningsSelectors, reducer, useObjectDrawDialogAction, warningFormConfirmationOptions, drawingsListener as warningsDrawingsListener, reducer$2 as warningsDrawingsReducer, warningsTranslations };
|