@opengeoweb/warnings 10.1.0 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.esm.js +1599 -892
- package/package.json +1 -1
- package/src/index.d.ts +0 -2
- 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/AreaObjectLoader/AreaObjectLoader.d.ts +1 -1
- package/src/lib/components/AreaObjectLoader/AreasObjects.d.ts +1 -1
- package/src/lib/components/FilterList/filter-hooks.d.ts +4 -4
- package/src/lib/components/FilterList/filter-utils.d.ts +6 -4
- package/src/lib/components/ObjectManager/ObjectManager.d.ts +1 -1
- package/src/lib/components/ObjectManager/Objects.d.ts +1 -1
- package/src/lib/components/Providers/Providers.d.ts +3 -0
- package/src/lib/components/PublicWarningList/PublicWarningList.d.ts +5 -4
- 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 +9 -7
- package/src/lib/components/PublicWarningsForm/PublicWarningsForm.d.ts +1 -1
- package/src/lib/components/PublicWarningsForm/PublicWarningsFormConnect.d.ts +2 -0
- package/src/lib/components/WarningsModuleProvider/WarningsModuleProvider.spec.d.ts +1 -0
- package/src/lib/store/index.d.ts +2 -1
- package/src/lib/store/publicWarningForm/index.d.ts +1 -1
- package/src/lib/store/publicWarningForm/reducer.d.ts +28 -33
- package/src/lib/store/publicWarningForm/selectors.d.ts +12 -17
- package/src/lib/store/publicWarningForm/types.d.ts +18 -6
- package/src/lib/store/publicWarnings/index.d.ts +1 -1
- package/src/lib/store/publicWarnings/reducer.d.ts +7 -18
- package/src/lib/store/publicWarnings/selectors.d.ts +1 -1
- package/src/lib/store/publicWarnings/types.d.ts +2 -2
- package/src/lib/store/store.d.ts +15 -0
- package/src/lib/store/types.d.ts +3 -3
- package/src/lib/store/warningsDrawings/index.d.ts +2 -0
- package/src/lib/store/warningsDrawings/listener.d.ts +2 -0
- package/src/lib/store/{drawings → warningsDrawings}/reducer.d.ts +1 -2
- package/src/lib/store/warningsDrawings/reducer.spec.d.ts +1 -0
- package/src/lib/store/warningsDrawings/selectors.spec.d.ts +1 -0
- package/src/lib/storybookUtils/testUtils.d.ts +2 -0
- package/src/lib/utils/api.d.ts +4 -8
- package/src/lib/utils/fakeApi/index.d.ts +10 -5
- package/src/lib/utils/fakeApi.d.ts +1 -1
- package/src/lib/utils/sig-airmet-util.d.ts +14 -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/store/config.d.ts +0 -9
- package/src/lib/store/drawings/index.d.ts +0 -2
- package/src/lib/store/drawings/listener.d.ts +0 -2
- package/src/lib/utils/testUtils.d.ts +0 -4
- /package/src/lib/{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/drawings/reducer.spec.d.ts → components/PublicWarningList/PublicWarningListConnect.confirmation.integration.spec.d.ts} +0 -0
- /package/src/lib/{store/drawings/selectors.spec.d.ts → components/PublicWarningList/PublicWarningListConnect.draft.integration.spec.d.ts} +0 -0
- /package/src/lib/{store/publicWarnings/reducer.spec.d.ts → components/PublicWarningList/WarningListItemMenu.spec.d.ts} +0 -0
- /package/src/lib/store/{drawings → warningsDrawings}/selectors.d.ts +0 -0
- /package/src/lib/store/{drawings → warningsDrawings}/types.d.ts +0 -0
- /package/src/lib/store/{drawings → warningsDrawings}/utils.d.ts +0 -0
package/index.esm.js
CHANGED
|
@@ -1,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,
|
|
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, drawingToolSelectors, layerSelectors, uiSelectors, drawingToolActions, layerActions, useSetupDialog, selectorMemoizationOptions, useUpdateSharedData, layersListener, drawingToolListener, layerReducer, uiReducer, drawingToolReducer } from '@opengeoweb/store';
|
|
5
5
|
import { defaultPolygon, emptyGeoJSON, MapControlButton, getIcon, rewindGeometry, getGeoJSONPropertyValue, currentlySupportedDrawModes, defaultLayers, MapView, MapViewLayer, getFeatureExtent } from '@opengeoweb/webmap-react';
|
|
6
|
-
import { SHARED_NAMESPACE, useConfirmationDialog, ToggleMenu, dateUtils, calculateStartSize, ToolContainerDraggable, AlertBanner, ConfirmationDialog, getAxiosErrorMessage, usePrevious, CustomIconButton, CustomTooltip, Avatar, getInitials, SwitchButton, CustomToggleButton, Filter, FilterChip, FilterOption, StatusTag, LastUpdateTime, ErrorBoundary,
|
|
7
|
-
import { createEntityAdapter, createSlice, createSelector, createListenerMiddleware, isAnyOf } from '@reduxjs/toolkit';
|
|
6
|
+
import { SHARED_NAMESPACE, useConfirmationDialog, ToggleMenu, dateUtils, calculateStartSize, ToolContainerDraggable, AlertBanner, ConfirmationDialog, getAxiosErrorMessage, usePrevious, CustomIconButton, CustomTooltip, Avatar, getInitials, SwitchButton, CustomToggleButton, Filter, FilterChip, FilterOption, StatusTag, LastUpdateTime, ErrorBoundary, isAxiosError as isAxiosError$1 } from '@opengeoweb/shared';
|
|
7
|
+
import { createEntityAdapter, createSlice, createSelector, createListenerMiddleware, isAnyOf, combineReducers, configureStore } from '@reduxjs/toolkit';
|
|
8
8
|
import 'i18next';
|
|
9
9
|
import { useTranslation } from 'react-i18next';
|
|
10
10
|
import '@opengeoweb/core';
|
|
11
11
|
import { FORM_FIELDS_NAMESPACE, ReactHookFormHiddenInput, isValidGeoJsonCoordinates, ReactHookFormSelect, ReactHookFormTextField, ReactHookFormProvider, defaultFormOptions, useDraftFormHelpers, errorMessages, ReactHookFormDateTime, isXHoursBefore, isXHoursAfter, isEmpty } from '@opengeoweb/form-fields';
|
|
12
12
|
import { LayerType, generateMapId, getWMJSMapById, getGeoCoordFromLatLong, WMBBOX } from '@opengeoweb/webmap';
|
|
13
|
-
import { SigmetForm, isInstanceOfCancelSigmet, AirmetForm, isInstanceOfCancelAirmet, getProductFormMode } from '@opengeoweb/sigmet-airmet';
|
|
14
|
-
import { snackbarActions, snackbarTypes } from '@opengeoweb/snackbar';
|
|
13
|
+
import { airmetConfig, sigmetConfig, SigmetForm, isInstanceOfCancelSigmet, AirmetForm, isInstanceOfCancelAirmet, getDefaultValidUntilValue, getProductFormMode, ProductAction } from '@opengeoweb/sigmet-airmet';
|
|
14
|
+
import { snackbarActions, snackbarTypes, snackbarListener, snackbarReducer } from '@opengeoweb/snackbar';
|
|
15
15
|
import * as React from 'react';
|
|
16
16
|
import React__default, { useState, useEffect, useRef, useMemo, useCallback } from 'react';
|
|
17
17
|
import { styled, Box, Typography, ListItem, Grid2, Paper, ListItemButton, Stack, LinearProgress, Button, FormHelperText, MenuItem, Tabs, Tab, Card, CardContent, CircularProgress, Menu, DialogTitle, DialogContent, Switch, ListItemText } from '@mui/material';
|
|
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';
|
|
22
|
+
import { concat, isEqual, cloneDeep, clamp, groupBy, pick, assign } from 'lodash';
|
|
21
23
|
import { useFormContext } from 'react-hook-form';
|
|
22
|
-
import { isEqual, cloneDeep, clamp, groupBy, assign, pick } 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,
|
|
@@ -1067,8 +1072,8 @@ var slice$2 = createSlice({
|
|
|
1067
1072
|
});
|
|
1068
1073
|
}
|
|
1069
1074
|
});
|
|
1070
|
-
var
|
|
1071
|
-
|
|
1075
|
+
var warningsDrawingsReducer = slice$2.reducer,
|
|
1076
|
+
warningsDrawingsActions = slice$2.actions;
|
|
1072
1077
|
|
|
1073
1078
|
/* *
|
|
1074
1079
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -1139,7 +1144,7 @@ var useCloseDrawDialog = function useCloseDrawDialog(_ref) {
|
|
|
1139
1144
|
var dispatch = useDispatch();
|
|
1140
1145
|
var drawLayerId = getSingularDrawtoolDrawLayerId(mapId);
|
|
1141
1146
|
var drawDialogActiveDrawModeId = useSelector(function (store) {
|
|
1142
|
-
return
|
|
1147
|
+
return drawingToolSelectors.getActiveDrawModeId(store, drawingDialogType);
|
|
1143
1148
|
});
|
|
1144
1149
|
var featureLayerContainsGeoJSON = useSelector(function (store) {
|
|
1145
1150
|
return layerSelectors.getHasFeatureLayerGeoJSON(store, drawLayerId);
|
|
@@ -1199,7 +1204,7 @@ var useCloseDrawDialog = function useCloseDrawDialog(_ref) {
|
|
|
1199
1204
|
source: source
|
|
1200
1205
|
}));
|
|
1201
1206
|
// reset all drawings fields
|
|
1202
|
-
dispatch(
|
|
1207
|
+
dispatch(warningsDrawingsActions.setDrawValues({
|
|
1203
1208
|
drawingInstanceId: drawingDialogType,
|
|
1204
1209
|
objectName: '',
|
|
1205
1210
|
id: ''
|
|
@@ -1246,7 +1251,7 @@ var useCloseObjectDialog = function useCloseObjectDialog(_ref3) {
|
|
|
1246
1251
|
}
|
|
1247
1252
|
// reset active object
|
|
1248
1253
|
if (shouldReset) {
|
|
1249
|
-
dispatch(
|
|
1254
|
+
dispatch(warningsDrawingsActions.setDrawValues({
|
|
1250
1255
|
drawingInstanceId: drawingDialogType,
|
|
1251
1256
|
objectName: '',
|
|
1252
1257
|
id: ''
|
|
@@ -1305,7 +1310,7 @@ var useObjectDrawDialogAction = function useObjectDrawDialogAction(_ref5) {
|
|
|
1305
1310
|
drawDialogLayerHasGeoJSON = _useDialogOptions.hasGeoJSON,
|
|
1306
1311
|
drawDialogLayerId = _useDialogOptions.dialogLayerId;
|
|
1307
1312
|
var drawDialogActiveDrawModeId = useSelector(function (store) {
|
|
1308
|
-
return
|
|
1313
|
+
return drawingToolSelectors.getActiveDrawModeId(store, drawingDialogType);
|
|
1309
1314
|
});
|
|
1310
1315
|
var isFormDirty = useSelector(function (store) {
|
|
1311
1316
|
return getWarningFormDirty(store, drawingDialogType);
|
|
@@ -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,62 +2122,50 @@ 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
|
-
var
|
|
2191
|
-
draft.
|
|
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];
|
|
2192
2129
|
} else {
|
|
2193
2130
|
var newWarning = {
|
|
2194
2131
|
warningDetail: {
|
|
2195
2132
|
areas: [area]
|
|
2196
2133
|
}
|
|
2197
2134
|
};
|
|
2198
|
-
draft.
|
|
2135
|
+
draft.warning = newWarning;
|
|
2199
2136
|
}
|
|
2200
2137
|
},
|
|
2201
2138
|
removeArea: function removeArea(draft, action) {
|
|
2202
2139
|
var area = action.payload.area;
|
|
2203
|
-
if (draft.
|
|
2204
|
-
var
|
|
2140
|
+
if (draft.warning) {
|
|
2141
|
+
var _draft$warning$warnin2;
|
|
2142
|
+
var removeAreas = (_draft$warning$warnin2 = draft.warning.warningDetail.areas) == null ? void 0 : _draft$warning$warnin2.filter(function (existingArea) {
|
|
2205
2143
|
return existingArea.objectName !== area.objectName;
|
|
2206
2144
|
});
|
|
2207
|
-
draft.
|
|
2145
|
+
draft.warning.warningDetail.areas = removeAreas;
|
|
2208
2146
|
}
|
|
2209
2147
|
},
|
|
2210
2148
|
removeAllAreas: function removeAllAreas(draft) {
|
|
2211
|
-
if (draft.
|
|
2212
|
-
draft.
|
|
2149
|
+
if (draft.warning) {
|
|
2150
|
+
draft.warning.warningDetail.areas = [];
|
|
2213
2151
|
}
|
|
2214
2152
|
},
|
|
2215
2153
|
openPublicWarningFormDialog: function openPublicWarningFormDialog(draft, action) {
|
|
2216
2154
|
var _action$payload2 = action.payload,
|
|
2217
2155
|
object = _action$payload2.object,
|
|
2218
|
-
|
|
2156
|
+
warning = _action$payload2.warning,
|
|
2219
2157
|
_action$payload2$form = _action$payload2.formState,
|
|
2220
2158
|
formState = _action$payload2$form === void 0 ? '' : _action$payload2$form,
|
|
2221
2159
|
_action$payload2$warn = _action$payload2.warningType,
|
|
2222
2160
|
warningType = _action$payload2$warn === void 0 ? 'public' : _action$payload2$warn,
|
|
2223
2161
|
panelId = _action$payload2.panelId;
|
|
2224
2162
|
draft.object = object;
|
|
2225
|
-
draft.
|
|
2226
|
-
draft.
|
|
2163
|
+
draft.warning = warning;
|
|
2164
|
+
draft.selectedWarningId = warning == null ? void 0 : warning.id;
|
|
2227
2165
|
draft.formState = formState;
|
|
2228
|
-
draft.warningType = warningType;
|
|
2166
|
+
draft.warningType = (warning == null ? void 0 : warning.type) || warningType;
|
|
2229
2167
|
draft.panelId = panelId;
|
|
2230
2168
|
},
|
|
2231
|
-
toggleEditorWarning: function toggleEditorWarning(draft,
|
|
2232
|
-
// eslint-disable-next-line no-unused-vars
|
|
2233
|
-
action) {
|
|
2234
|
-
delete draft.error;
|
|
2235
|
-
},
|
|
2236
|
-
toggleEditorWarningSuccess: function toggleEditorWarningSuccess(draft, action) {
|
|
2237
|
-
var _action$payload3 = action.payload,
|
|
2238
|
-
isEditor = _action$payload3.isEditor,
|
|
2239
|
-
username = _action$payload3.username;
|
|
2240
|
-
if (draft.publicWarning) {
|
|
2241
|
-
draft.publicWarning.editor = isEditor ? username : '';
|
|
2242
|
-
}
|
|
2243
|
-
draft.formState = isEditor ? '' : 'readonly';
|
|
2244
|
-
},
|
|
2245
2169
|
// publish warning
|
|
2246
2170
|
publishWarning: function publishWarning(draft,
|
|
2247
2171
|
// eslint-disable-next-line no-unused-vars
|
|
@@ -2251,7 +2175,7 @@ var slice = createSlice({
|
|
|
2251
2175
|
},
|
|
2252
2176
|
publishWarningSuccess: function publishWarningSuccess(draft, action) {
|
|
2253
2177
|
var publicWarning = action.payload.publicWarning;
|
|
2254
|
-
draft.
|
|
2178
|
+
draft.warning = publicWarning;
|
|
2255
2179
|
// If form has been published, set form to readonly
|
|
2256
2180
|
draft.formState = 'readonly';
|
|
2257
2181
|
},
|
|
@@ -2261,70 +2185,60 @@ var slice = createSlice({
|
|
|
2261
2185
|
action) {
|
|
2262
2186
|
draft.formState = 'saving';
|
|
2263
2187
|
delete draft.error;
|
|
2264
|
-
draft.
|
|
2188
|
+
draft.warning = action.payload.publicWarning;
|
|
2265
2189
|
},
|
|
2266
2190
|
saveWarningSuccess: function saveWarningSuccess(draft, action) {
|
|
2267
2191
|
var _publicWarning$warnin;
|
|
2268
2192
|
var publicWarning = action.payload.publicWarning;
|
|
2269
|
-
draft.
|
|
2193
|
+
draft.warning = publicWarning;
|
|
2270
2194
|
if (publicWarning != null && (_publicWarning$warnin = publicWarning.warningDetail) != null && _publicWarning$warnin.id) {
|
|
2271
|
-
draft.
|
|
2195
|
+
draft.selectedWarningId = publicWarning.warningDetail.id;
|
|
2272
2196
|
}
|
|
2273
2197
|
draft.formState = '';
|
|
2274
2198
|
},
|
|
2275
2199
|
setFormError: function setFormError(draft, action) {
|
|
2276
|
-
var _action$
|
|
2277
|
-
message = _action$
|
|
2278
|
-
_action$
|
|
2279
|
-
severity = _action$
|
|
2200
|
+
var _action$payload3 = action.payload,
|
|
2201
|
+
message = _action$payload3.message,
|
|
2202
|
+
_action$payload3$seve = _action$payload3.severity,
|
|
2203
|
+
severity = _action$payload3$seve === void 0 ? 'error' : _action$payload3$seve;
|
|
2280
2204
|
draft.formState = '';
|
|
2281
2205
|
draft.error = {
|
|
2282
2206
|
severity: severity,
|
|
2283
2207
|
message: message
|
|
2284
2208
|
};
|
|
2285
2209
|
},
|
|
2210
|
+
removeFormError: function removeFormError(draft) {
|
|
2211
|
+
delete draft.error;
|
|
2212
|
+
},
|
|
2286
2213
|
setFormDirty: function setFormDirty(draft, action) {
|
|
2287
2214
|
var isFormDirty = action.payload.isFormDirty;
|
|
2288
2215
|
draft.isFormDirty = isFormDirty;
|
|
2216
|
+
},
|
|
2217
|
+
setEditMode: function setEditMode(draft, action) {
|
|
2218
|
+
var warningId = action.payload.warningId;
|
|
2219
|
+
draft.selectedWarningId = warningId;
|
|
2220
|
+
draft.formState = 'edit';
|
|
2289
2221
|
}
|
|
2290
2222
|
},
|
|
2291
2223
|
extraReducers: function extraReducers(builder) {
|
|
2292
2224
|
builder.addCase(uiActions.setToggleOpenDialog, function (draft, action) {
|
|
2293
|
-
var _action$
|
|
2294
|
-
type = _action$
|
|
2295
|
-
setOpen = _action$
|
|
2225
|
+
var _action$payload4 = action.payload,
|
|
2226
|
+
type = _action$payload4.type,
|
|
2227
|
+
setOpen = _action$payload4.setOpen;
|
|
2296
2228
|
if (type === publicWarningDialogType && setOpen === false) {
|
|
2297
2229
|
delete draft.object;
|
|
2298
|
-
delete draft.
|
|
2230
|
+
delete draft.warning;
|
|
2299
2231
|
delete draft.formState;
|
|
2300
2232
|
delete draft.error;
|
|
2301
|
-
delete draft.
|
|
2233
|
+
delete draft.selectedWarningId;
|
|
2302
2234
|
delete draft.isFormDirty;
|
|
2303
2235
|
delete draft.warningType;
|
|
2304
2236
|
}
|
|
2305
|
-
}).addCase(publicWarningActions.fetchWarningsSuccess, function (draft, action) {
|
|
2306
|
-
var warnings = action.payload.warnings;
|
|
2307
|
-
if (draft.selectedPublicWarningId) {
|
|
2308
|
-
var _draft$publicWarning;
|
|
2309
|
-
var currentWarning = warnings.find(function (warning) {
|
|
2310
|
-
return warning.id === draft.selectedPublicWarningId;
|
|
2311
|
-
});
|
|
2312
|
-
if (currentWarning && ((_draft$publicWarning = draft.publicWarning) == null ? void 0 : _draft$publicWarning.editor) !== currentWarning.editor) {
|
|
2313
|
-
draft.publicWarning.editor = currentWarning.editor;
|
|
2314
|
-
// if form is in edit mode show warning
|
|
2315
|
-
if (draft.formState === '') {
|
|
2316
|
-
draft.error = {
|
|
2317
|
-
severity: 'warning',
|
|
2318
|
-
message: TAKEOVER_MESSAGE
|
|
2319
|
-
};
|
|
2320
|
-
}
|
|
2321
|
-
}
|
|
2322
|
-
}
|
|
2323
2237
|
});
|
|
2324
2238
|
}
|
|
2325
2239
|
});
|
|
2326
|
-
var
|
|
2327
|
-
|
|
2240
|
+
var publicWarningFormReducer = slice$1.reducer,
|
|
2241
|
+
publicWarningFormActions = slice$1.actions;
|
|
2328
2242
|
|
|
2329
2243
|
var ObjectManagerConnect = function ObjectManagerConnect(_ref) {
|
|
2330
2244
|
var bounds = _ref.bounds,
|
|
@@ -2424,7 +2338,7 @@ var ObjectManagerConnect = function ObjectManagerConnect(_ref) {
|
|
|
2424
2338
|
while (1) switch (_context.prev = _context.next) {
|
|
2425
2339
|
case 0:
|
|
2426
2340
|
isActive = drawing.id === (currrentDrawing == null ? void 0 : currrentDrawing.id);
|
|
2427
|
-
dispatch(
|
|
2341
|
+
dispatch(warningsDrawingsActions.setDrawValues({
|
|
2428
2342
|
objectName: drawing.objectName,
|
|
2429
2343
|
drawingInstanceId: drawingDialogType,
|
|
2430
2344
|
id: !isActive ? drawing.id : ''
|
|
@@ -2470,7 +2384,7 @@ var ObjectManagerConnect = function ObjectManagerConnect(_ref) {
|
|
|
2470
2384
|
_yield$warningsApi$ge = _context2.sent;
|
|
2471
2385
|
data = _yield$warningsApi$ge.data;
|
|
2472
2386
|
// update draw tool values
|
|
2473
|
-
dispatch(
|
|
2387
|
+
dispatch(warningsDrawingsActions.setDrawValues({
|
|
2474
2388
|
objectName: data.objectName,
|
|
2475
2389
|
id: drawingId,
|
|
2476
2390
|
drawingInstanceId: drawingDialogType
|
|
@@ -2508,13 +2422,14 @@ var ObjectManagerConnect = function ObjectManagerConnect(_ref) {
|
|
|
2508
2422
|
var onShareObject = function onShareObject(object) {
|
|
2509
2423
|
dispatch(publicWarningFormActions.openPublicWarningFormDialog({
|
|
2510
2424
|
object: object,
|
|
2511
|
-
|
|
2425
|
+
warning: {
|
|
2512
2426
|
warningDetail: {
|
|
2513
2427
|
areas: [{
|
|
2514
2428
|
geoJSON: object.geoJSON,
|
|
2515
2429
|
objectName: object.objectName
|
|
2516
2430
|
}]
|
|
2517
|
-
}
|
|
2431
|
+
},
|
|
2432
|
+
type: 'public'
|
|
2518
2433
|
}
|
|
2519
2434
|
}));
|
|
2520
2435
|
};
|
|
@@ -6950,167 +6865,745 @@ var warningListJSON = [
|
|
|
6950
6865
|
}
|
|
6951
6866
|
];
|
|
6952
6867
|
|
|
6953
|
-
|
|
6954
|
-
|
|
6955
|
-
|
|
6956
|
-
|
|
6957
|
-
|
|
6958
|
-
|
|
6959
|
-
|
|
6960
|
-
|
|
6961
|
-
|
|
6962
|
-
|
|
6963
|
-
|
|
6964
|
-
|
|
6965
|
-
|
|
6966
|
-
|
|
6967
|
-
|
|
6968
|
-
|
|
6969
|
-
|
|
6970
|
-
|
|
6971
|
-
|
|
6972
|
-
|
|
6973
|
-
|
|
6974
|
-
|
|
6975
|
-
|
|
6976
|
-
|
|
6868
|
+
var sigmetListJSON$1 = [
|
|
6869
|
+
{
|
|
6870
|
+
id: "57eaf6c8-a247-11ef-ac05-12e0cc025418",
|
|
6871
|
+
lastUpdatedTime: "2024-11-14T05:14:37",
|
|
6872
|
+
productStatus: "DRAFT",
|
|
6873
|
+
sigmetAirmetDetails: {
|
|
6874
|
+
},
|
|
6875
|
+
warningDetail: {
|
|
6876
|
+
areas: [
|
|
6877
|
+
{
|
|
6878
|
+
geoJSON: {
|
|
6879
|
+
features: [
|
|
6880
|
+
{
|
|
6881
|
+
geometry: {
|
|
6882
|
+
type: "Polygon",
|
|
6883
|
+
coordinates: [
|
|
6884
|
+
[
|
|
6885
|
+
[
|
|
6886
|
+
10,
|
|
6887
|
+
20
|
|
6888
|
+
],
|
|
6889
|
+
[
|
|
6890
|
+
15,
|
|
6891
|
+
25
|
|
6892
|
+
],
|
|
6893
|
+
[
|
|
6894
|
+
20,
|
|
6895
|
+
20
|
|
6896
|
+
],
|
|
6897
|
+
[
|
|
6898
|
+
10,
|
|
6899
|
+
20
|
|
6900
|
+
]
|
|
6901
|
+
]
|
|
6902
|
+
]
|
|
6903
|
+
},
|
|
6904
|
+
properties: {
|
|
6905
|
+
selectionType: "fir",
|
|
6906
|
+
stroke: "#0075a9",
|
|
6907
|
+
"stroke-width": 1.5,
|
|
6908
|
+
"stroke-opacity": 1,
|
|
6909
|
+
fill: "#0075a9",
|
|
6910
|
+
"fill-opacity": 0.4
|
|
6911
|
+
},
|
|
6912
|
+
type: "Feature"
|
|
6913
|
+
}
|
|
6914
|
+
],
|
|
6915
|
+
type: "FeatureCollection"
|
|
6916
|
+
},
|
|
6917
|
+
objectName: "ENOB"
|
|
6918
|
+
}
|
|
6919
|
+
],
|
|
6920
|
+
descriptionOriginal: "",
|
|
6921
|
+
descriptionTranslation: "",
|
|
6922
|
+
firName: "BODOE OCEANIC FIR",
|
|
6923
|
+
incident: "-1",
|
|
6924
|
+
level: "SIG",
|
|
6925
|
+
phenomenon: "EMBD_TSGR",
|
|
6926
|
+
probability: "0",
|
|
6927
|
+
validFrom: "2024-11-14T05:30:14Z",
|
|
6928
|
+
validUntil: "2024-11-14T07:30:14Z"
|
|
6929
|
+
}
|
|
6930
|
+
},
|
|
6931
|
+
{
|
|
6932
|
+
id: "fc4c0002-8d32-11ef-888b-ee87a1644661",
|
|
6933
|
+
lastUpdatedTime: "2024-11-14T05:14:06",
|
|
6934
|
+
productStatus: "EXPIRED",
|
|
6935
|
+
sigmetAirmetDetails: {
|
|
6936
|
+
},
|
|
6937
|
+
warningDetail: {
|
|
6938
|
+
areas: [
|
|
6939
|
+
{
|
|
6940
|
+
geoJSON: null,
|
|
6941
|
+
objectName: "EFIN"
|
|
6942
|
+
}
|
|
6943
|
+
],
|
|
6944
|
+
descriptionOriginal: "",
|
|
6945
|
+
descriptionTranslation: "",
|
|
6946
|
+
firName: "HELSINKI FIR",
|
|
6947
|
+
incident: "T01",
|
|
6948
|
+
level: "SIG",
|
|
6949
|
+
phenomenon: "OBSC_TS",
|
|
6950
|
+
probability: "0",
|
|
6951
|
+
validFrom: "2024-11-13T05:30:14Z",
|
|
6952
|
+
validUntil: "2024-11-13T07:30:14Z"
|
|
6953
|
+
}
|
|
6954
|
+
},
|
|
6955
|
+
{
|
|
6956
|
+
id: "fe4a14bc-8a90-11ef-9090-6c08d8abf452",
|
|
6957
|
+
lastUpdatedTime: "2024-10-08T08:10:30",
|
|
6958
|
+
productStatus: "PUBLISHED",
|
|
6959
|
+
sigmetAirmetDetails: {
|
|
6960
|
+
},
|
|
6961
|
+
warningDetail: {
|
|
6962
|
+
areas: [
|
|
6963
|
+
{
|
|
6964
|
+
geoJSON: null,
|
|
6965
|
+
objectName: "EHAA"
|
|
6966
|
+
}
|
|
6967
|
+
],
|
|
6968
|
+
descriptionOriginal: "",
|
|
6969
|
+
descriptionTranslation: "",
|
|
6970
|
+
firName: "AMSTERDAM FIR",
|
|
6971
|
+
incident: "Z01",
|
|
6972
|
+
level: "SIG",
|
|
6973
|
+
phenomenon: "SEV_ICE",
|
|
6974
|
+
probability: "0",
|
|
6975
|
+
validFrom: "2024-10-08T05:30:14Z",
|
|
6976
|
+
validUntil: "2024-10-08T09:30:14Z"
|
|
6977
|
+
}
|
|
6978
|
+
},
|
|
6979
|
+
{
|
|
6980
|
+
id: "fe4a14bc-8a90-11ef-9090-6c08d8abf453",
|
|
6981
|
+
lastUpdatedTime: "2024-10-08T08:10:30",
|
|
6982
|
+
productStatus: "CANCELLED",
|
|
6983
|
+
warningDetail: {
|
|
6984
|
+
areas: [
|
|
6985
|
+
{
|
|
6986
|
+
geoJSON: null,
|
|
6987
|
+
objectName: "ENOR"
|
|
6988
|
+
}
|
|
6989
|
+
],
|
|
6990
|
+
descriptionOriginal: "",
|
|
6991
|
+
descriptionTranslation: "",
|
|
6992
|
+
firName: "POLARIS FIR",
|
|
6993
|
+
incident: "U01",
|
|
6994
|
+
level: "SIG",
|
|
6995
|
+
phenomenon: "SEV_TURB",
|
|
6996
|
+
probability: "0",
|
|
6997
|
+
validFrom: "2024-10-08T05:30:14Z",
|
|
6998
|
+
validUntil: "2024-10-08T09:30:14Z"
|
|
6999
|
+
},
|
|
7000
|
+
sigmetAirmetDetails: {
|
|
7001
|
+
sequence: "U01",
|
|
7002
|
+
productStatus: "CANCELLED"
|
|
7003
|
+
}
|
|
7004
|
+
},
|
|
7005
|
+
{
|
|
7006
|
+
id: "fe4a14bc-8a90-11ef-9090-6c08d8abf454",
|
|
7007
|
+
lastUpdatedTime: "2024-10-08T08:10:30",
|
|
7008
|
+
productStatus: "PUBLISHED",
|
|
7009
|
+
warningDetail: {
|
|
7010
|
+
areas: [
|
|
7011
|
+
{
|
|
7012
|
+
geoJSON: null,
|
|
7013
|
+
objectName: "ENOR"
|
|
7014
|
+
}
|
|
7015
|
+
],
|
|
7016
|
+
descriptionOriginal: "",
|
|
7017
|
+
descriptionTranslation: "",
|
|
7018
|
+
firName: "POLARIS FIR",
|
|
7019
|
+
incident: "U02",
|
|
7020
|
+
level: "SIG",
|
|
7021
|
+
phenomenon: "SEV_TURB",
|
|
7022
|
+
probability: "0",
|
|
7023
|
+
validFrom: "2024-10-08T05:30:14Z",
|
|
7024
|
+
validUntil: "2024-10-08T09:30:14Z"
|
|
7025
|
+
},
|
|
7026
|
+
sigmetAirmetDetails: {
|
|
7027
|
+
cancelsSigmetSequenceId: "U01",
|
|
7028
|
+
sequence: "U02",
|
|
7029
|
+
productStatus: "PUBLISHED"
|
|
7030
|
+
}
|
|
7031
|
+
}
|
|
7032
|
+
];
|
|
6977
7033
|
|
|
6978
|
-
|
|
6979
|
-
|
|
6980
|
-
|
|
6981
|
-
|
|
6982
|
-
|
|
6983
|
-
|
|
6984
|
-
|
|
6985
|
-
|
|
6986
|
-
|
|
6987
|
-
|
|
6988
|
-
|
|
6989
|
-
|
|
6990
|
-
|
|
6991
|
-
|
|
6992
|
-
|
|
6993
|
-
|
|
6994
|
-
|
|
6995
|
-
|
|
6996
|
-
|
|
6997
|
-
|
|
6998
|
-
|
|
6999
|
-
|
|
7000
|
-
|
|
7001
|
-
}
|
|
7002
|
-
|
|
7003
|
-
|
|
7004
|
-
|
|
7005
|
-
|
|
7006
|
-
|
|
7007
|
-
|
|
7008
|
-
|
|
7009
|
-
|
|
7010
|
-
|
|
7011
|
-
|
|
7012
|
-
|
|
7013
|
-
|
|
7014
|
-
|
|
7015
|
-
|
|
7016
|
-
|
|
7017
|
-
|
|
7018
|
-
|
|
7019
|
-
|
|
7020
|
-
|
|
7021
|
-
|
|
7022
|
-
|
|
7023
|
-
|
|
7024
|
-
|
|
7025
|
-
|
|
7026
|
-
|
|
7027
|
-
|
|
7028
|
-
|
|
7029
|
-
|
|
7030
|
-
|
|
7031
|
-
|
|
7032
|
-
|
|
7033
|
-
|
|
7034
|
-
|
|
7035
|
-
|
|
7036
|
-
|
|
7037
|
-
|
|
7038
|
-
|
|
7039
|
-
|
|
7040
|
-
|
|
7041
|
-
|
|
7042
|
-
|
|
7043
|
-
|
|
7044
|
-
|
|
7045
|
-
|
|
7046
|
-
|
|
7047
|
-
|
|
7048
|
-
|
|
7049
|
-
|
|
7050
|
-
|
|
7051
|
-
|
|
7052
|
-
|
|
7053
|
-
|
|
7054
|
-
|
|
7055
|
-
|
|
7056
|
-
|
|
7057
|
-
|
|
7058
|
-
|
|
7059
|
-
|
|
7060
|
-
|
|
7061
|
-
|
|
7062
|
-
|
|
7063
|
-
|
|
7064
|
-
|
|
7065
|
-
|
|
7066
|
-
|
|
7067
|
-
|
|
7068
|
-
|
|
7069
|
-
|
|
7070
|
-
|
|
7071
|
-
|
|
7072
|
-
|
|
7073
|
-
|
|
7074
|
-
|
|
7075
|
-
|
|
7076
|
-
|
|
7077
|
-
|
|
7078
|
-
|
|
7079
|
-
|
|
7080
|
-
|
|
7081
|
-
|
|
7082
|
-
|
|
7083
|
-
|
|
7084
|
-
|
|
7085
|
-
|
|
7086
|
-
|
|
7034
|
+
var airmetListJSON$1 = [
|
|
7035
|
+
{
|
|
7036
|
+
id: "02d3727a-b190-11ef-ba31-067f7750936d",
|
|
7037
|
+
lastUpdatedTime: "2024-12-03T16:02:35",
|
|
7038
|
+
productStatus: "DRAFT",
|
|
7039
|
+
sigmetAirmetDetails: {
|
|
7040
|
+
},
|
|
7041
|
+
warningDetail: {
|
|
7042
|
+
areas: [
|
|
7043
|
+
{
|
|
7044
|
+
geoJSON: null,
|
|
7045
|
+
objectName: "EHAA"
|
|
7046
|
+
}
|
|
7047
|
+
],
|
|
7048
|
+
descriptionOriginal: "",
|
|
7049
|
+
descriptionTranslation: "",
|
|
7050
|
+
firName: "AMSTERDAM FIR",
|
|
7051
|
+
incident: "-1",
|
|
7052
|
+
level: "AIR",
|
|
7053
|
+
phenomenon: "SFC_WIND",
|
|
7054
|
+
probability: "0",
|
|
7055
|
+
validFrom: "2024-12-03T17:00:09Z",
|
|
7056
|
+
validUntil: "2024-12-03T21:00:09Z"
|
|
7057
|
+
}
|
|
7058
|
+
},
|
|
7059
|
+
{
|
|
7060
|
+
id: "1a868884-9076-11ef-8e82-5a063b90cdf6",
|
|
7061
|
+
lastUpdatedTime: "2024-10-22T13:03:56",
|
|
7062
|
+
productStatus: "DRAFT",
|
|
7063
|
+
sigmetAirmetDetails: {
|
|
7064
|
+
},
|
|
7065
|
+
warningDetail: {
|
|
7066
|
+
areas: [
|
|
7067
|
+
{
|
|
7068
|
+
geoJSON: null,
|
|
7069
|
+
objectName: "EHAA"
|
|
7070
|
+
}
|
|
7071
|
+
],
|
|
7072
|
+
descriptionOriginal: "",
|
|
7073
|
+
descriptionTranslation: "",
|
|
7074
|
+
firName: "AMSTERDAM FIR",
|
|
7075
|
+
incident: "-1",
|
|
7076
|
+
level: "AIR",
|
|
7077
|
+
phenomenon: "MOD_TURB",
|
|
7078
|
+
probability: "0",
|
|
7079
|
+
validFrom: "2024-10-22T15:00:09Z",
|
|
7080
|
+
validUntil: "2024-10-22T18:00:09Z"
|
|
7081
|
+
}
|
|
7082
|
+
},
|
|
7083
|
+
{
|
|
7084
|
+
id: "4ac7fc94-c670-11ee-8ace-92491e683685",
|
|
7085
|
+
lastUpdatedTime: "2024-02-08T12:26:31.803468",
|
|
7086
|
+
productStatus: "EXPIRED",
|
|
7087
|
+
sigmetAirmetDetails: {
|
|
7088
|
+
},
|
|
7089
|
+
warningDetail: {
|
|
7090
|
+
areas: [
|
|
7091
|
+
{
|
|
7092
|
+
geoJSON: null,
|
|
7093
|
+
objectName: "ENOR"
|
|
7094
|
+
}
|
|
7095
|
+
],
|
|
7096
|
+
descriptionOriginal: "",
|
|
7097
|
+
descriptionTranslation: "",
|
|
7098
|
+
firName: "POLARIS FIR",
|
|
7099
|
+
incident: "T01",
|
|
7100
|
+
level: "AIR",
|
|
7101
|
+
phenomenon: "OBSC_TS",
|
|
7102
|
+
probability: "0",
|
|
7103
|
+
validFrom: "2024-02-08T09:00:09Z",
|
|
7104
|
+
validUntil: "2024-02-08T11:00:09Z"
|
|
7105
|
+
}
|
|
7106
|
+
},
|
|
7107
|
+
{
|
|
7108
|
+
id: "9dbcd4c6-c4c0-11ee-a0e9-9e39e246af14",
|
|
7109
|
+
lastUpdatedTime: "2024-02-06T07:15:18.166785",
|
|
7110
|
+
productStatus: "PUBLISHED",
|
|
7111
|
+
sigmetAirmetDetails: {
|
|
7112
|
+
},
|
|
7113
|
+
warningDetail: {
|
|
7114
|
+
areas: [
|
|
7115
|
+
{
|
|
7116
|
+
geoJSON: null,
|
|
7117
|
+
objectName: "EHAA"
|
|
7118
|
+
}
|
|
7119
|
+
],
|
|
7120
|
+
descriptionOriginal: "",
|
|
7121
|
+
descriptionTranslation: "",
|
|
7122
|
+
firName: "AMSTERDAM FIR",
|
|
7123
|
+
incident: "Z01",
|
|
7124
|
+
level: "AIR",
|
|
7125
|
+
phenomenon: "SEV_ICE",
|
|
7126
|
+
probability: "0",
|
|
7127
|
+
validFrom: "2024-02-06T08:00:09Z",
|
|
7128
|
+
validUntil: "2024-02-06T12:00:09Z"
|
|
7129
|
+
}
|
|
7130
|
+
}
|
|
7131
|
+
];
|
|
7132
|
+
|
|
7133
|
+
var airmetListJSON = [
|
|
7134
|
+
{
|
|
7135
|
+
uuid: "02d3727a-b190-11ef-ba31-067f7750936d",
|
|
7136
|
+
lastUpdateDate: "2024-12-03T16:02:35",
|
|
7137
|
+
creationDate: "2024-12-03T16:02:35",
|
|
7138
|
+
canbe: [
|
|
7139
|
+
"DRAFTED",
|
|
7140
|
+
"DISCARDED",
|
|
7141
|
+
"PUBLISHED"
|
|
7142
|
+
],
|
|
7143
|
+
airmet: {
|
|
7144
|
+
uuid: "02d3727a-b190-11ef-ba31-067f7750936d",
|
|
7145
|
+
phenomenon: "SFC_WIND",
|
|
7146
|
+
sequence: "-1",
|
|
7147
|
+
validDateStart: "2024-12-03T13:26:19Z",
|
|
7148
|
+
validDateEnd: "2024-12-03T15:26:19Z",
|
|
7149
|
+
firName: "AMSTERDAM FIR",
|
|
7150
|
+
locationIndicatorATSU: "EHAA",
|
|
7151
|
+
locationIndicatorATSR: "EHAA",
|
|
7152
|
+
locationIndicatorMWO: "EHDB",
|
|
7153
|
+
isObservationOrForecast: "OBS",
|
|
7154
|
+
observationOrForecastTime: "2024-12-03T11:26:19Z",
|
|
7155
|
+
movementType: "STATIONARY",
|
|
7156
|
+
change: "WKN",
|
|
7157
|
+
type: "NORMAL",
|
|
7158
|
+
status: "DRAFT",
|
|
7159
|
+
windDirection: 70,
|
|
7160
|
+
windSpeed: 35,
|
|
7161
|
+
windUnit: "KT",
|
|
7162
|
+
firGeometry: {
|
|
7163
|
+
},
|
|
7164
|
+
startGeometry: {
|
|
7165
|
+
type: "FeatureCollection",
|
|
7166
|
+
features: [
|
|
7167
|
+
{
|
|
7168
|
+
type: "Feature",
|
|
7169
|
+
geometry: {
|
|
7170
|
+
type: "Polygon",
|
|
7171
|
+
coordinates: [
|
|
7172
|
+
[
|
|
7173
|
+
[
|
|
7174
|
+
5,
|
|
7175
|
+
55
|
|
7176
|
+
],
|
|
7177
|
+
[
|
|
7178
|
+
4.331914,
|
|
7179
|
+
55.332644
|
|
7180
|
+
],
|
|
7181
|
+
[
|
|
7182
|
+
3.368817,
|
|
7183
|
+
55.764314
|
|
7184
|
+
],
|
|
7185
|
+
[
|
|
7186
|
+
2.761908,
|
|
7187
|
+
54.379261
|
|
7188
|
+
],
|
|
7189
|
+
[
|
|
7190
|
+
3.15576,
|
|
7191
|
+
52.913554
|
|
7192
|
+
],
|
|
7193
|
+
[
|
|
7194
|
+
2.000002,
|
|
7195
|
+
51.500002
|
|
7196
|
+
],
|
|
7197
|
+
[
|
|
7198
|
+
3.370001,
|
|
7199
|
+
51.369722
|
|
7200
|
+
],
|
|
7201
|
+
[
|
|
7202
|
+
3.370527,
|
|
7203
|
+
51.36867
|
|
7204
|
+
],
|
|
7205
|
+
[
|
|
7206
|
+
3.362223,
|
|
7207
|
+
51.320002
|
|
7208
|
+
],
|
|
7209
|
+
[
|
|
7210
|
+
3.36389,
|
|
7211
|
+
51.313608
|
|
7212
|
+
],
|
|
7213
|
+
[
|
|
7214
|
+
3.373613,
|
|
7215
|
+
51.309999
|
|
7216
|
+
],
|
|
7217
|
+
[
|
|
7218
|
+
3.952501,
|
|
7219
|
+
51.214441
|
|
7220
|
+
],
|
|
7221
|
+
[
|
|
7222
|
+
4.397501,
|
|
7223
|
+
51.452776
|
|
7224
|
+
],
|
|
7225
|
+
[
|
|
7226
|
+
5.078611,
|
|
7227
|
+
51.391665
|
|
7228
|
+
],
|
|
7229
|
+
[
|
|
7230
|
+
5.848333,
|
|
7231
|
+
51.139444
|
|
7232
|
+
],
|
|
7233
|
+
[
|
|
7234
|
+
5.651667,
|
|
7235
|
+
50.824717
|
|
7236
|
+
],
|
|
7237
|
+
[
|
|
7238
|
+
6.011797,
|
|
7239
|
+
50.757273
|
|
7240
|
+
],
|
|
7241
|
+
[
|
|
7242
|
+
5.934168,
|
|
7243
|
+
51.036386
|
|
7244
|
+
],
|
|
7245
|
+
[
|
|
7246
|
+
6.222223,
|
|
7247
|
+
51.361666
|
|
7248
|
+
],
|
|
7249
|
+
[
|
|
7250
|
+
5.94639,
|
|
7251
|
+
51.811663
|
|
7252
|
+
],
|
|
7253
|
+
[
|
|
7254
|
+
6.405001,
|
|
7255
|
+
51.830828
|
|
7256
|
+
],
|
|
7257
|
+
[
|
|
7258
|
+
7.053095,
|
|
7259
|
+
52.237764
|
|
7260
|
+
],
|
|
7261
|
+
[
|
|
7262
|
+
7.031389,
|
|
7263
|
+
52.268885
|
|
7264
|
+
],
|
|
7265
|
+
[
|
|
7266
|
+
7.063612,
|
|
7267
|
+
52.346109
|
|
7268
|
+
],
|
|
7269
|
+
[
|
|
7270
|
+
7.065557,
|
|
7271
|
+
52.385828
|
|
7272
|
+
],
|
|
7273
|
+
[
|
|
7274
|
+
7.133055,
|
|
7275
|
+
52.888887
|
|
7276
|
+
],
|
|
7277
|
+
[
|
|
7278
|
+
7.14218,
|
|
7279
|
+
52.898244
|
|
7280
|
+
],
|
|
7281
|
+
[
|
|
7282
|
+
7.191667,
|
|
7283
|
+
53.3
|
|
7284
|
+
],
|
|
7285
|
+
[
|
|
7286
|
+
6.5,
|
|
7287
|
+
53.666667
|
|
7288
|
+
],
|
|
7289
|
+
[
|
|
7290
|
+
6.500002,
|
|
7291
|
+
55.000002
|
|
7292
|
+
],
|
|
7293
|
+
[
|
|
7294
|
+
5,
|
|
7295
|
+
55
|
|
7296
|
+
]
|
|
7297
|
+
]
|
|
7298
|
+
]
|
|
7299
|
+
},
|
|
7300
|
+
properties: {
|
|
7301
|
+
selectionType: "fir"
|
|
7302
|
+
}
|
|
7303
|
+
}
|
|
7304
|
+
]
|
|
7305
|
+
}
|
|
7306
|
+
}
|
|
7307
|
+
}
|
|
7308
|
+
];
|
|
7309
|
+
|
|
7310
|
+
var sigmetListJSON = [
|
|
7311
|
+
{
|
|
7312
|
+
uuid: "someuniqueidprescibedbyBE2",
|
|
7313
|
+
lastUpdateDate: "2020-09-17T12:00:00Z",
|
|
7314
|
+
creationDate: "2020-09-17T12:00:00Z",
|
|
7315
|
+
canbe: [
|
|
7316
|
+
"CANCELLED"
|
|
7317
|
+
],
|
|
7318
|
+
sigmet: {
|
|
7319
|
+
uuid: "someuniqueidprescibedbyBE2",
|
|
7320
|
+
phenomenon: "VA_CLD",
|
|
7321
|
+
sequence: "A01V",
|
|
7322
|
+
issueDate: "2020-09-17T12:00:00Z",
|
|
7323
|
+
firName: "AMSTERDAM FIR",
|
|
7324
|
+
locationIndicatorATSU: "EHAA",
|
|
7325
|
+
locationIndicatorATSR: "EHAA",
|
|
7326
|
+
locationIndicatorMWO: "EHDB",
|
|
7327
|
+
isObservationOrForecast: "OBS",
|
|
7328
|
+
observationOrForecastTime: "",
|
|
7329
|
+
movementType: "STATIONARY",
|
|
7330
|
+
change: "WKN",
|
|
7331
|
+
type: "NORMAL",
|
|
7332
|
+
status: "PUBLISHED",
|
|
7333
|
+
levelInfoMode: "BETW",
|
|
7334
|
+
vaSigmetVolcanoName: "EYJAFJALLAJOKULL",
|
|
7335
|
+
vaSigmetVolcanoCoordinates: {
|
|
7336
|
+
latitude: 63.62,
|
|
7337
|
+
longitude: -19.61
|
|
7338
|
+
},
|
|
7339
|
+
level: {
|
|
7340
|
+
value: 2000,
|
|
7341
|
+
unit: "FT"
|
|
7342
|
+
},
|
|
7343
|
+
lowerLevel: {
|
|
7344
|
+
value: 1000,
|
|
7345
|
+
unit: "FT"
|
|
7346
|
+
},
|
|
7347
|
+
firGeometry: "",
|
|
7348
|
+
startGeometry: {
|
|
7349
|
+
type: "FeatureCollection",
|
|
7350
|
+
features: [
|
|
7351
|
+
{
|
|
7352
|
+
type: "Feature",
|
|
7353
|
+
properties: {
|
|
7354
|
+
selectionType: "poly"
|
|
7355
|
+
},
|
|
7356
|
+
geometry: {
|
|
7357
|
+
type: "Polygon",
|
|
7358
|
+
coordinates: [
|
|
7359
|
+
[
|
|
7360
|
+
[
|
|
7361
|
+
4.799062887514267,
|
|
7362
|
+
54.04327723979929
|
|
7363
|
+
],
|
|
7364
|
+
[
|
|
7365
|
+
6.006227982070749,
|
|
7366
|
+
53.64012115183787
|
|
7367
|
+
],
|
|
7368
|
+
[
|
|
7369
|
+
4.6168492883359304,
|
|
7370
|
+
53.32840097044425
|
|
7371
|
+
],
|
|
7372
|
+
[
|
|
7373
|
+
4.799062887514267,
|
|
7374
|
+
54.04327723979929
|
|
7375
|
+
]
|
|
7376
|
+
]
|
|
7377
|
+
]
|
|
7378
|
+
}
|
|
7379
|
+
}
|
|
7380
|
+
]
|
|
7381
|
+
},
|
|
7382
|
+
startGeometryIntersect: {
|
|
7383
|
+
type: "FeatureCollection",
|
|
7384
|
+
features: [
|
|
7385
|
+
{
|
|
7386
|
+
type: "Feature",
|
|
7387
|
+
properties: {
|
|
7388
|
+
selectionType: "poly"
|
|
7389
|
+
},
|
|
7390
|
+
geometry: {
|
|
7391
|
+
type: "Polygon",
|
|
7392
|
+
coordinates: [
|
|
7393
|
+
[
|
|
7394
|
+
[
|
|
7395
|
+
4.799062887514267,
|
|
7396
|
+
54.04327723979929
|
|
7397
|
+
],
|
|
7398
|
+
[
|
|
7399
|
+
6.006227982070749,
|
|
7400
|
+
53.64012115183787
|
|
7401
|
+
],
|
|
7402
|
+
[
|
|
7403
|
+
4.6168492883359304,
|
|
7404
|
+
53.32840097044425
|
|
7405
|
+
],
|
|
7406
|
+
[
|
|
7407
|
+
4.799062887514267,
|
|
7408
|
+
54.04327723979929
|
|
7409
|
+
]
|
|
7410
|
+
]
|
|
7411
|
+
]
|
|
7412
|
+
}
|
|
7413
|
+
}
|
|
7414
|
+
]
|
|
7415
|
+
}
|
|
7416
|
+
}
|
|
7417
|
+
}
|
|
7418
|
+
];
|
|
7419
|
+
|
|
7420
|
+
/* *
|
|
7421
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7422
|
+
* you may not use this file except in compliance with the License.
|
|
7423
|
+
* You may obtain a copy of the License at
|
|
7424
|
+
*
|
|
7425
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
7426
|
+
*
|
|
7427
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
7428
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
7429
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
7430
|
+
* See the License for the specific language governing permissions and
|
|
7431
|
+
* limitations under the License.
|
|
7432
|
+
*
|
|
7433
|
+
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
7434
|
+
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
7435
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
7436
|
+
* */
|
|
7437
|
+
var airmetList$1 = airmetListJSON;
|
|
7438
|
+
var sigmetList$1 = sigmetListJSON;
|
|
7439
|
+
var fakeSigmetTAC = 'EHAA SIGMET 1 VALID 121249/121449 EHDB- EHAA AMSTERDAM FIR FRQ TS OBS ENTIRE FIR FL010 STNR WKN';
|
|
7440
|
+
var fakeAirmetTAC = 'EHAA AIRMET -1 VALID 310700/311100 EHDB- EHAA AMSTERDAM FIR ISOL CB OBS ENTIRE FIR FL020 STNR NC';
|
|
7441
|
+
[rest.get(/^.*\/airmetlist$/, function (_, res, ctx) {
|
|
7442
|
+
return res(ctx.status(200), ctx.json(airmetList$1));
|
|
7443
|
+
}), rest.get(/^.*\/sigmetlist$/, function (_, res, ctx) {
|
|
7444
|
+
return res(ctx.status(200), ctx.json(sigmetList$1));
|
|
7445
|
+
}), rest.get(/^.*\/airmet-config$/, function (_, res, ctx) {
|
|
7446
|
+
return res(ctx.status(200), ctx.json(airmetConfig));
|
|
7447
|
+
}), rest.get(/^.*\/sigmet-config$/, function (_, res, ctx) {
|
|
7448
|
+
return res(ctx.status(200), ctx.json(sigmetConfig));
|
|
7449
|
+
}), rest.post(/^.*\/airmet2tac$/, function (_, res, ctx) {
|
|
7450
|
+
return res(ctx.status(200), ctx.text(fakeAirmetTAC));
|
|
7451
|
+
}), rest.post(/^.*\/sigmet2tac$/, function (_, res, ctx) {
|
|
7452
|
+
return res(ctx.status(200), ctx.text(fakeSigmetTAC));
|
|
7453
|
+
}), rest.get(/^(?!.*(sigmet|airmet)).*$/, function (req) {
|
|
7454
|
+
return req.passthrough();
|
|
7455
|
+
})];
|
|
7456
|
+
|
|
7457
|
+
/* *
|
|
7458
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7459
|
+
* you may not use this file except in compliance with the License.
|
|
7460
|
+
* You may obtain a copy of the License at
|
|
7461
|
+
*
|
|
7462
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
7463
|
+
*
|
|
7464
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
7465
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
7466
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
7467
|
+
* See the License for the specific language governing permissions and
|
|
7468
|
+
* limitations under the License.
|
|
7469
|
+
*
|
|
7470
|
+
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
7471
|
+
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
7472
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
7473
|
+
* */
|
|
7474
|
+
var drawingList = drawingListJSON;
|
|
7475
|
+
var drawingsListFullContent = drawingsListFullContentJSON;
|
|
7476
|
+
var warningList = warningListJSON.map(function (pw) {
|
|
7477
|
+
return Object.assign({}, pw, {
|
|
7478
|
+
type: 'public'
|
|
7479
|
+
});
|
|
7480
|
+
});
|
|
7481
|
+
warningList.filter(function (warning) {
|
|
7482
|
+
return warning.status !== 'EXPIRED' && warning.status !== 'WITHDRAWN';
|
|
7483
|
+
}).length;
|
|
7484
|
+
var sigmetList = sigmetListJSON$1.map(function (s) {
|
|
7485
|
+
return Object.assign({}, s, {
|
|
7486
|
+
type: 'sigmet'
|
|
7487
|
+
});
|
|
7488
|
+
});
|
|
7489
|
+
var airmetList = airmetListJSON$1.map(function (a) {
|
|
7490
|
+
return Object.assign({}, a, {
|
|
7491
|
+
type: 'airmet'
|
|
7492
|
+
});
|
|
7493
|
+
});
|
|
7494
|
+
concat(warningList, sigmetList, airmetList);
|
|
7495
|
+
var areaKeywordList = ['North Sea districts', 'Coastal Districts', 'KNMI Specific', 'Objects', 'Baltic areas', 'NL', 'FI', 'METNorway Specific', 'Provinces', 'FIR', 'Countries'];
|
|
7496
|
+
[rest.get(/^.*\/warnings$/, function (req, res, ctx) {
|
|
7497
|
+
// respond using a mocked JSON body
|
|
7498
|
+
return res(ctx.status(200), ctx.json(warningList));
|
|
7499
|
+
}), rest.post(/^.*\/warnings\/(.*)$/, function (req, res, ctx) {
|
|
7500
|
+
return res(ctx.status(200), ctx.json({}));
|
|
7501
|
+
})];
|
|
7502
|
+
|
|
7503
|
+
/* *
|
|
7504
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7505
|
+
* you may not use this file except in compliance with the License.
|
|
7506
|
+
* You may obtain a copy of the License at
|
|
7507
|
+
*
|
|
7508
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
7509
|
+
*
|
|
7510
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
7511
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
7512
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
7513
|
+
* See the License for the specific language governing permissions and
|
|
7514
|
+
* limitations under the License.
|
|
7515
|
+
*
|
|
7516
|
+
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
7517
|
+
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
7518
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
7519
|
+
* */
|
|
7520
|
+
var ERROR_NOT_FOUND = 'Request failed with status code 400';
|
|
7521
|
+
var extractDrawingDetailsFromJSON = function extractDrawingDetailsFromJSON(drawingId) {
|
|
7522
|
+
return drawingsListFullContent.find(function (element) {
|
|
7523
|
+
return element.id === drawingId;
|
|
7524
|
+
});
|
|
7525
|
+
};
|
|
7526
|
+
// to copy
|
|
7527
|
+
var getCleanSearchQuery = function getCleanSearchQuery(searchQuery) {
|
|
7528
|
+
return searchQuery.trim().split(/\s+/).join();
|
|
7529
|
+
};
|
|
7530
|
+
var getApiRoutes = function getApiRoutes(axiosInstance) {
|
|
7531
|
+
return {
|
|
7532
|
+
// drawings
|
|
7533
|
+
getDrawings: function getDrawings(params) {
|
|
7534
|
+
return axiosInstance.get('/drawings', {
|
|
7535
|
+
params: params
|
|
7536
|
+
}).then(function () {
|
|
7537
|
+
var result = drawingList.filter(function (element) {
|
|
7538
|
+
if (params != null && params.search || params != null && params.keywords) {
|
|
7539
|
+
var _params$keywords;
|
|
7540
|
+
var searchQuery = getCleanSearchQuery(params.search || '').split(',');
|
|
7541
|
+
var keyWordsQuery = ((_params$keywords = params.keywords) == null ? void 0 : _params$keywords.split(',')) || [];
|
|
7542
|
+
var hasResult = [].concat(searchQuery, keyWordsQuery).every(function (query) {
|
|
7543
|
+
var _element$keywords;
|
|
7544
|
+
return element.objectName.toLowerCase().includes(query.toLowerCase()) || ((_element$keywords = element.keywords) == null ? void 0 : _element$keywords.toLowerCase().includes(query.toLowerCase()));
|
|
7545
|
+
});
|
|
7546
|
+
if (hasResult) {
|
|
7547
|
+
return element;
|
|
7548
|
+
}
|
|
7549
|
+
} else {
|
|
7550
|
+
return element;
|
|
7551
|
+
}
|
|
7552
|
+
return null;
|
|
7553
|
+
});
|
|
7554
|
+
return {
|
|
7555
|
+
data: result
|
|
7556
|
+
};
|
|
7557
|
+
});
|
|
7558
|
+
},
|
|
7559
|
+
getDrawingDetails: function getDrawingDetails(drawingId) {
|
|
7560
|
+
return axiosInstance.get("/drawings/" + drawingId).then(function () {
|
|
7561
|
+
if (!extractDrawingDetailsFromJSON(drawingId)) {
|
|
7562
|
+
throw new Error(ERROR_NOT_FOUND);
|
|
7563
|
+
}
|
|
7564
|
+
return {
|
|
7565
|
+
data: extractDrawingDetailsFromJSON(drawingId)
|
|
7566
|
+
};
|
|
7567
|
+
});
|
|
7568
|
+
},
|
|
7569
|
+
updateDrawing: function updateDrawing(drawingId, data) {
|
|
7570
|
+
return axiosInstance.post("/drawings/" + drawingId + "/", data);
|
|
7571
|
+
},
|
|
7572
|
+
saveDrawingAs: function saveDrawingAs(data) {
|
|
7573
|
+
return axiosInstance.post("/drawings/", data).then(function () {
|
|
7574
|
+
return 'new-drawing-id';
|
|
7575
|
+
});
|
|
7576
|
+
},
|
|
7577
|
+
deleteDrawing: function deleteDrawing(drawingId) {
|
|
7578
|
+
drawingList.splice(drawingList.findIndex(function (drawing) {
|
|
7579
|
+
return drawing.id === drawingId;
|
|
7580
|
+
}), 1);
|
|
7581
|
+
return axiosInstance.post("/drawings/" + drawingId + "?delete=true");
|
|
7582
|
+
},
|
|
7583
|
+
getAreaKeywords: function getAreaKeywords() {
|
|
7584
|
+
return axiosInstance.get('/area-keywords').then(function () {
|
|
7585
|
+
return {
|
|
7586
|
+
data: areaKeywordList
|
|
7587
|
+
};
|
|
7588
|
+
});
|
|
7589
|
+
},
|
|
7590
|
+
saveWarningAs: function saveWarningAs(data) {
|
|
7591
|
+
return axiosInstance.post("/warnings/", data).then(function () {
|
|
7592
|
+
return 'new-warning-id';
|
|
7593
|
+
});
|
|
7594
|
+
},
|
|
7087
7595
|
updateWarning: function updateWarning(warningId, data) {
|
|
7088
|
-
// eslint-disable-next-line no-console
|
|
7089
|
-
console.log("api: update warning " + warningId, data);
|
|
7090
7596
|
return axiosInstance.post("/warnings/" + warningId + "/", data);
|
|
7091
7597
|
},
|
|
7092
7598
|
deleteWarning: function deleteWarning(warningId) {
|
|
7093
|
-
// eslint-disable-next-line no-console
|
|
7094
|
-
console.log('api: delete warning', warningId);
|
|
7095
7599
|
warningList.splice(warningList.findIndex(function (warning) {
|
|
7096
7600
|
return warning.id === warningId;
|
|
7097
7601
|
}), 1);
|
|
7098
7602
|
return axiosInstance.post("/warnings/" + warningId + "?delete=true");
|
|
7099
|
-
},
|
|
7100
|
-
toggleEditorWarning: function toggleEditorWarning(warningId, isEditor) {
|
|
7101
|
-
// eslint-disable-next-line no-console
|
|
7102
|
-
console.log('api: toggle editor warning', warningId, isEditor);
|
|
7103
|
-
var index = warningList.findIndex(function (warning) {
|
|
7104
|
-
return warning.id === warningId;
|
|
7105
|
-
});
|
|
7106
|
-
warningList.splice(index, 1, Object.assign({}, warningList[index], {
|
|
7107
|
-
editor: isEditor ? MOCK_USERNAME : null
|
|
7108
|
-
}));
|
|
7109
|
-
return axiosInstance.post("/warnings/" + warningId + "?editor=" + (isEditor ? 'true' : 'false'));
|
|
7110
7603
|
}
|
|
7111
7604
|
};
|
|
7112
7605
|
};
|
|
7113
|
-
// used in storybook
|
|
7606
|
+
// used in storybook and tests
|
|
7114
7607
|
var createApi = function createApi() {
|
|
7115
7608
|
var instance = createFakeApiInstance();
|
|
7116
7609
|
return getApiRoutes(instance);
|
|
@@ -7457,7 +7950,7 @@ var DrawingToolFormContentsNoMemo = function DrawingToolFormContentsNoMemo(_ref)
|
|
|
7457
7950
|
};
|
|
7458
7951
|
var DrawingToolFormContents = /*#__PURE__*/React__default.memo(DrawingToolFormContentsNoMemo, isEqual);
|
|
7459
7952
|
|
|
7460
|
-
var _excluded$
|
|
7953
|
+
var _excluded$9 = ["opacity", "geoJSON"];
|
|
7461
7954
|
var getObjectName$1 = function getObjectName(objectName) {
|
|
7462
7955
|
return objectName || dateUtils.dateToString(new Date(), dateUtils.DATE_FORMAT_DATEPICKER, true) + " UTC";
|
|
7463
7956
|
};
|
|
@@ -7527,7 +8020,7 @@ var DrawingToolForm = function DrawingToolForm(_ref) {
|
|
|
7527
8020
|
// remove unneeded properties
|
|
7528
8021
|
formValues.opacity;
|
|
7529
8022
|
var geoJSON = formValues.geoJSON,
|
|
7530
|
-
allFormValues = _objectWithoutPropertiesLoose(formValues, _excluded$
|
|
8023
|
+
allFormValues = _objectWithoutPropertiesLoose(formValues, _excluded$9);
|
|
7531
8024
|
// rewind geometry
|
|
7532
8025
|
var rewindedGeometry = rewindGeometry(geoJSON);
|
|
7533
8026
|
onSubmitForm(Object.assign({}, allFormValues, {
|
|
@@ -7596,7 +8089,7 @@ var DrawingToolFormConnect = function DrawingToolFormConnect() {
|
|
|
7596
8089
|
});
|
|
7597
8090
|
var drawToolId = drawingDialogType;
|
|
7598
8091
|
var drawTool = useSelector(function (store) {
|
|
7599
|
-
return
|
|
8092
|
+
return drawingToolSelectors.selectDrawToolById(store, drawToolId);
|
|
7600
8093
|
});
|
|
7601
8094
|
var layerFeatureGeoJSON = useSelector(function (store) {
|
|
7602
8095
|
return layerSelectors.getFeatureLayerGeoJSON(store, drawTool == null ? void 0 : drawTool.geoJSONLayerId);
|
|
@@ -7614,7 +8107,7 @@ var DrawingToolFormConnect = function DrawingToolFormConnect() {
|
|
|
7614
8107
|
return uiSelectors.getDialogError(store, drawToolId);
|
|
7615
8108
|
});
|
|
7616
8109
|
var onSubmitForm = React.useCallback(function (formValues) {
|
|
7617
|
-
dispatch(
|
|
8110
|
+
dispatch(warningsDrawingsActions.submitDrawValues({
|
|
7618
8111
|
geoJSON: formValues.geoJSON,
|
|
7619
8112
|
objectName: formValues.objectName,
|
|
7620
8113
|
scope: 'user',
|
|
@@ -7648,7 +8141,7 @@ var DrawingToolFormConnect = function DrawingToolFormConnect() {
|
|
|
7648
8141
|
}
|
|
7649
8142
|
}, [dispatch, drawTool == null ? void 0 : drawTool.activeDrawModeId, drawTool == null ? void 0 : drawTool.geoJSONLayerId, drawToolId]);
|
|
7650
8143
|
var onChangeName = React.useCallback(function (newName) {
|
|
7651
|
-
dispatch(
|
|
8144
|
+
dispatch(warningsDrawingsActions.setDrawValues({
|
|
7652
8145
|
objectName: newName,
|
|
7653
8146
|
id: (drawing == null ? void 0 : drawing.id) || '',
|
|
7654
8147
|
drawingInstanceId: drawingDialogType,
|
|
@@ -7656,7 +8149,7 @@ var DrawingToolFormConnect = function DrawingToolFormConnect() {
|
|
|
7656
8149
|
}));
|
|
7657
8150
|
}, [dispatch, drawing == null ? void 0 : drawing.id, drawing == null ? void 0 : drawing.isFormDirty]);
|
|
7658
8151
|
var onChangeFormDirty = React.useCallback(function (isFormDirty) {
|
|
7659
|
-
dispatch(
|
|
8152
|
+
dispatch(warningsDrawingsActions.setFormDirty({
|
|
7660
8153
|
drawingInstanceId: drawingDialogType,
|
|
7661
8154
|
isFormDirty: isFormDirty
|
|
7662
8155
|
}));
|
|
@@ -7936,7 +8429,7 @@ var PublicWarningsFormDialog = function PublicWarningsFormDialog(_ref) {
|
|
|
7936
8429
|
}));
|
|
7937
8430
|
};
|
|
7938
8431
|
|
|
7939
|
-
var _excluded$
|
|
8432
|
+
var _excluded$8 = ["children", "value", "index"];
|
|
7940
8433
|
function a11yProps(index) {
|
|
7941
8434
|
return {
|
|
7942
8435
|
id: "tab-" + index,
|
|
@@ -7957,7 +8450,7 @@ var CustomTabPanel = function CustomTabPanel(props) {
|
|
|
7957
8450
|
var children = props.children,
|
|
7958
8451
|
value = props.value,
|
|
7959
8452
|
index = props.index,
|
|
7960
|
-
other = _objectWithoutPropertiesLoose(props, _excluded$
|
|
8453
|
+
other = _objectWithoutPropertiesLoose(props, _excluded$8);
|
|
7961
8454
|
return jsx("div", Object.assign({
|
|
7962
8455
|
role: "tabpanel",
|
|
7963
8456
|
hidden: value !== index,
|
|
@@ -8205,23 +8698,6 @@ var AreaField = function AreaField(_ref) {
|
|
|
8205
8698
|
};
|
|
8206
8699
|
|
|
8207
8700
|
var _defaultLevelFilter, _defaultEmptyFilter;
|
|
8208
|
-
/* *
|
|
8209
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8210
|
-
* you may not use this file except in compliance with the License.
|
|
8211
|
-
* You may obtain a copy of the License at
|
|
8212
|
-
*
|
|
8213
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8214
|
-
*
|
|
8215
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
8216
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
8217
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
8218
|
-
* See the License for the specific language governing permissions and
|
|
8219
|
-
* limitations under the License.
|
|
8220
|
-
*
|
|
8221
|
-
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
8222
|
-
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
8223
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
8224
|
-
* */
|
|
8225
8701
|
var Domain;
|
|
8226
8702
|
(function (Domain) {
|
|
8227
8703
|
Domain["aviation"] = "aviation";
|
|
@@ -8267,7 +8743,16 @@ var makeFilterFromList = function makeFilterFromList(options) {
|
|
|
8267
8743
|
return p ? Object.assign({}, acc, (_Object$assign = {}, _Object$assign[p] = true, _Object$assign)) : acc;
|
|
8268
8744
|
}, (_options$reduce = {}, _options$reduce[emptyFilterId] = true, _options$reduce));
|
|
8269
8745
|
};
|
|
8270
|
-
var
|
|
8746
|
+
var AllPhenomena = Object.assign({}, AirmetPhenomena, SigmetPhenomena, Phenomenon$1);
|
|
8747
|
+
var AllPhenomenaKeys = Object.fromEntries(Object.keys(AllPhenomena).map(function (key) {
|
|
8748
|
+
return [key, key];
|
|
8749
|
+
}));
|
|
8750
|
+
var domainPhenomena = {
|
|
8751
|
+
aviation: [].concat(Object.keys(SigmetPhenomena), Object.keys(AirmetPhenomena)),
|
|
8752
|
+
maritime: [],
|
|
8753
|
+
"public": [].concat(Object.keys(Phenomenon$1))
|
|
8754
|
+
};
|
|
8755
|
+
var defaultPhenomenonFilter = makeFilterFromList(Object.keys(AllPhenomenaKeys));
|
|
8271
8756
|
var initialFilters = {
|
|
8272
8757
|
incident: defaultEmptyFilter,
|
|
8273
8758
|
source: defaultEmptyFilter,
|
|
@@ -8474,6 +8959,10 @@ var warningPhenomena = [{
|
|
|
8474
8959
|
translationKey: 'aviation-phenomenon-obscured-thunderstorm-with-hail',
|
|
8475
8960
|
key: 'OBSC_TSGR',
|
|
8476
8961
|
isAviation: true
|
|
8962
|
+
}, {
|
|
8963
|
+
translationKey: 'aviation-phenomenon-obscured-thunderstorm',
|
|
8964
|
+
key: 'OBSC_TS',
|
|
8965
|
+
isAviation: true
|
|
8477
8966
|
}, {
|
|
8478
8967
|
translationKey: 'aviation-phenomenon-squall-thunderstorm-with-hail',
|
|
8479
8968
|
key: 'SQL_TSGR',
|
|
@@ -8955,23 +9444,19 @@ var ProbabilityField = function ProbabilityField(_ref) {
|
|
|
8955
9444
|
});
|
|
8956
9445
|
};
|
|
8957
9446
|
|
|
8958
|
-
var config = getConfig();
|
|
8959
|
-
var airmetBaseUrl = config.GW_AIRMET_BASE_URL;
|
|
8960
|
-
var sigmetBaseUrl = config.GW_SIGMET_BASE_URL;
|
|
9447
|
+
var config$1 = getConfig();
|
|
9448
|
+
var airmetBaseUrl = config$1.GW_AIRMET_BASE_URL || '';
|
|
9449
|
+
var sigmetBaseUrl = config$1.GW_SIGMET_BASE_URL || '';
|
|
8961
9450
|
// API
|
|
8962
9451
|
var getAirmetList = function getAirmetList(auth) {
|
|
8963
9452
|
return fetch(airmetBaseUrl + "/airmetlist", {
|
|
8964
9453
|
headers: getHeaders(auth)
|
|
8965
|
-
}).then(
|
|
8966
|
-
return r.json();
|
|
8967
|
-
});
|
|
9454
|
+
}).then(handleResponse);
|
|
8968
9455
|
};
|
|
8969
9456
|
var getSigmetList = function getSigmetList(auth) {
|
|
8970
9457
|
return fetch(sigmetBaseUrl + "/sigmetlist", {
|
|
8971
9458
|
headers: getHeaders(auth)
|
|
8972
|
-
}).then(
|
|
8973
|
-
return r.json();
|
|
8974
|
-
});
|
|
9459
|
+
}).then(handleResponse);
|
|
8975
9460
|
};
|
|
8976
9461
|
var getAirmetConfig = function getAirmetConfig(auth) {
|
|
8977
9462
|
return fetch(airmetBaseUrl + "/airmet-config", {
|
|
@@ -9121,7 +9606,7 @@ var useTACApi = function useTACApi() {
|
|
|
9121
9606
|
};
|
|
9122
9607
|
};
|
|
9123
9608
|
|
|
9124
|
-
var _excluded$
|
|
9609
|
+
var _excluded$7 = ["IS_DRAFT", "object", "translation-select"];
|
|
9125
9610
|
var useScrollTopOnError = function useScrollTopOnError(error) {
|
|
9126
9611
|
var ref = React.useRef(null);
|
|
9127
9612
|
React.useEffect(function () {
|
|
@@ -9218,7 +9703,7 @@ var prepareFormValues = function prepareFormValues(data) {
|
|
|
9218
9703
|
data.IS_DRAFT;
|
|
9219
9704
|
data.object;
|
|
9220
9705
|
data['translation-select'];
|
|
9221
|
-
var productToPost = _objectWithoutPropertiesLoose(data, _excluded$
|
|
9706
|
+
var productToPost = _objectWithoutPropertiesLoose(data, _excluded$7);
|
|
9222
9707
|
// remove empty fields
|
|
9223
9708
|
return Object.keys(productToPost).reduce(function (warningDetail, fieldName) {
|
|
9224
9709
|
var key = fieldName;
|
|
@@ -9312,7 +9797,7 @@ isAviationWarning) {
|
|
|
9312
9797
|
});
|
|
9313
9798
|
}
|
|
9314
9799
|
var Form = function Form(_ref5) {
|
|
9315
|
-
var _publicWarningDetails;
|
|
9800
|
+
var _publicWarningDetails, _publicWarningDetails2;
|
|
9316
9801
|
var defaultMapPreset = _ref5.defaultMapPreset,
|
|
9317
9802
|
_ref5$onSaveForm = _ref5.onSaveForm,
|
|
9318
9803
|
onSaveForm = _ref5$onSaveForm === void 0 ? function () {} : _ref5$onSaveForm,
|
|
@@ -9344,7 +9829,7 @@ var Form = function Form(_ref5) {
|
|
|
9344
9829
|
var _useTACApi = useTACApi(),
|
|
9345
9830
|
fetchSigmetTAC = _useTACApi.fetchSigmetTAC,
|
|
9346
9831
|
fetchAirmetTAC = _useTACApi.fetchAirmetTAC;
|
|
9347
|
-
var initialPublicWarningArea =
|
|
9832
|
+
var initialPublicWarningArea = (publicWarningDetails == null || (_publicWarningDetails = publicWarningDetails.areas) == null ? void 0 : _publicWarningDetails.length) && (publicWarningDetails == null || (_publicWarningDetails2 = publicWarningDetails.areas[0]) == null ? void 0 : _publicWarningDetails2.geoJSON);
|
|
9348
9833
|
var _React$useState = React.useState(initialPublicWarningArea),
|
|
9349
9834
|
warningGeoJSONFeature = _React$useState[0],
|
|
9350
9835
|
setWarningGeoJSONFeature = _React$useState[1];
|
|
@@ -9726,29 +10211,25 @@ var getPublicWarningStore = function getPublicWarningStore(store) {
|
|
|
9726
10211
|
if (store && store.publicWarningForm) {
|
|
9727
10212
|
return store.publicWarningForm;
|
|
9728
10213
|
}
|
|
9729
|
-
return
|
|
10214
|
+
return {};
|
|
9730
10215
|
};
|
|
9731
10216
|
var getPublicWarningObject = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9732
10217
|
return publicWarningStore.object;
|
|
9733
10218
|
});
|
|
9734
10219
|
var getPublicWarning = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9735
|
-
return publicWarningStore.
|
|
10220
|
+
return publicWarningStore == null ? void 0 : publicWarningStore.warning;
|
|
9736
10221
|
});
|
|
9737
10222
|
var getPublicWarningStatus = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9738
|
-
var _publicWarningStore$
|
|
9739
|
-
return publicWarningStore == null || (_publicWarningStore$
|
|
9740
|
-
});
|
|
9741
|
-
var getPublicWarningEditor = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9742
|
-
var _publicWarningStore$p2;
|
|
9743
|
-
return publicWarningStore == null || (_publicWarningStore$p2 = publicWarningStore.publicWarning) == null ? void 0 : _publicWarningStore$p2.editor;
|
|
10223
|
+
var _publicWarningStore$w;
|
|
10224
|
+
return publicWarningStore == null || (_publicWarningStore$w = publicWarningStore.warning) == null ? void 0 : _publicWarningStore$w.status;
|
|
9744
10225
|
});
|
|
9745
10226
|
var getPublicWarningId = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9746
|
-
var _publicWarningStore$
|
|
9747
|
-
return publicWarningStore == null || (_publicWarningStore$
|
|
10227
|
+
var _publicWarningStore$w2;
|
|
10228
|
+
return publicWarningStore == null || (_publicWarningStore$w2 = publicWarningStore.warning) == null ? void 0 : _publicWarningStore$w2.warningDetail.id;
|
|
9748
10229
|
});
|
|
9749
10230
|
var getPublicWarningAreas = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9750
|
-
var _publicWarningStore$
|
|
9751
|
-
return (publicWarningStore == null || (_publicWarningStore$
|
|
10231
|
+
var _publicWarningStore$w3;
|
|
10232
|
+
return (publicWarningStore == null || (_publicWarningStore$w3 = publicWarningStore.warning) == null ? void 0 : _publicWarningStore$w3.warningDetail.areas) || [];
|
|
9752
10233
|
});
|
|
9753
10234
|
var getPublicWarningFormState = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9754
10235
|
return (publicWarningStore == null ? void 0 : publicWarningStore.formState) || '';
|
|
@@ -9756,8 +10237,8 @@ var getPublicWarningFormState = createSelector(getPublicWarningStore, function (
|
|
|
9756
10237
|
var getPublicWarningFormError = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9757
10238
|
return publicWarningStore == null ? void 0 : publicWarningStore.error;
|
|
9758
10239
|
});
|
|
9759
|
-
var
|
|
9760
|
-
return (publicWarningStore == null ? void 0 : publicWarningStore.
|
|
10240
|
+
var getSelectedWarningId = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
10241
|
+
return (publicWarningStore == null ? void 0 : publicWarningStore.selectedWarningId) || '';
|
|
9761
10242
|
});
|
|
9762
10243
|
var getSelectedPublicIsFormDirty = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
9763
10244
|
return (publicWarningStore == null ? void 0 : publicWarningStore.isFormDirty) || false;
|
|
@@ -9795,50 +10276,49 @@ var PublicWarningStatus;
|
|
|
9795
10276
|
})(PublicWarningStatus || (PublicWarningStatus = {}));
|
|
9796
10277
|
|
|
9797
10278
|
var PublicWarningsFormConnect = function PublicWarningsFormConnect(_ref) {
|
|
9798
|
-
var
|
|
10279
|
+
var editor = _ref.editor,
|
|
10280
|
+
defaultMapPreset = _ref.defaultMapPreset,
|
|
9799
10281
|
selectedAviationProduct = _ref.selectedAviationProduct,
|
|
9800
10282
|
_ref$warningType = _ref.warningType,
|
|
9801
10283
|
warningType = _ref$warningType === void 0 ? 'public' : _ref$warningType,
|
|
9802
|
-
mode = _ref.mode
|
|
9803
|
-
|
|
9804
|
-
|
|
9805
|
-
|
|
9806
|
-
var
|
|
9807
|
-
|
|
9808
|
-
});
|
|
9809
|
-
var publicWarningFormAction = useSelector(function (store) {
|
|
9810
|
-
return getPublicWarningFormState(store);
|
|
9811
|
-
});
|
|
9812
|
-
var publicWarningFormError = useSelector(function (store) {
|
|
9813
|
-
return getPublicWarningFormError(store);
|
|
9814
|
-
});
|
|
9815
|
-
var publicWarningEditor = useSelector(function (store) {
|
|
9816
|
-
return getPublicWarningEditor(store);
|
|
9817
|
-
});
|
|
10284
|
+
mode = _ref.mode,
|
|
10285
|
+
onFormSubmit = _ref.onFormSubmit;
|
|
10286
|
+
var publicWarning = useSelector(getPublicWarning);
|
|
10287
|
+
var publicWarningObject = useSelector(getPublicWarningObject);
|
|
10288
|
+
var publicWarningFormAction = useSelector(getPublicWarningFormState);
|
|
10289
|
+
var publicWarningFormError = useSelector(getPublicWarningFormError);
|
|
9818
10290
|
var _useAuthenticationCon = useAuthenticationContext$1(),
|
|
9819
10291
|
auth = _useAuthenticationCon.auth;
|
|
9820
|
-
var isEditor =
|
|
10292
|
+
var isEditor = editor === (auth == null ? void 0 : auth.username) || false;
|
|
9821
10293
|
var dispatch = useDispatch();
|
|
9822
10294
|
var publishForm = function publishForm(newFormValues) {
|
|
9823
|
-
|
|
9824
|
-
|
|
9825
|
-
|
|
9826
|
-
|
|
9827
|
-
|
|
9828
|
-
|
|
10295
|
+
if (warningType === 'public') {
|
|
10296
|
+
dispatch(publicWarningFormActions.publishWarning({
|
|
10297
|
+
publicWarning: {
|
|
10298
|
+
warningDetail: newFormValues,
|
|
10299
|
+
status: PublicWarningStatus.PUBLISHED,
|
|
10300
|
+
type: warningType
|
|
10301
|
+
},
|
|
10302
|
+
refetchWarnings: onFormSubmit
|
|
10303
|
+
}));
|
|
10304
|
+
}
|
|
9829
10305
|
};
|
|
9830
10306
|
var clearForm = function clearForm() {
|
|
9831
10307
|
dispatch(publicWarningFormActions.removeAllAreas());
|
|
9832
10308
|
};
|
|
9833
10309
|
var saveForm = function saveForm(newFormValues) {
|
|
9834
10310
|
var status = newFormValues.linked_to_id ? PublicWarningStatus.DRAFT_PUBLISHED : PublicWarningStatus.DRAFT;
|
|
9835
|
-
|
|
9836
|
-
|
|
9837
|
-
|
|
9838
|
-
|
|
9839
|
-
|
|
9840
|
-
|
|
9841
|
-
|
|
10311
|
+
if (warningType === 'public') {
|
|
10312
|
+
dispatch(publicWarningFormActions.saveWarning({
|
|
10313
|
+
publicWarning: {
|
|
10314
|
+
warningDetail: newFormValues,
|
|
10315
|
+
status: status,
|
|
10316
|
+
editor: auth == null ? void 0 : auth.username,
|
|
10317
|
+
type: warningType
|
|
10318
|
+
},
|
|
10319
|
+
refetchWarnings: onFormSubmit
|
|
10320
|
+
}));
|
|
10321
|
+
}
|
|
9842
10322
|
};
|
|
9843
10323
|
var onFormDirty = function onFormDirty(isFormDirty) {
|
|
9844
10324
|
dispatch(publicWarningFormActions.setFormDirty({
|
|
@@ -9861,12 +10341,16 @@ var PublicWarningsFormConnect = function PublicWarningsFormConnect(_ref) {
|
|
|
9861
10341
|
if ((selectedAviationProduct == null ? void 0 : selectedAviationProduct.status) === 'DRAFT') {
|
|
9862
10342
|
return false;
|
|
9863
10343
|
}
|
|
10344
|
+
if (publicWarningFormAction === 'edit') {
|
|
10345
|
+
return false;
|
|
10346
|
+
}
|
|
9864
10347
|
if (mode === 'new') {
|
|
9865
10348
|
return false;
|
|
9866
10349
|
}
|
|
9867
10350
|
return true;
|
|
9868
10351
|
};
|
|
9869
10352
|
var isReadOnly = getIsReadOnly();
|
|
10353
|
+
var formMode = publicWarningFormAction === 'edit' ? 'edit' : mode;
|
|
9870
10354
|
var onAddObject = function onAddObject() {
|
|
9871
10355
|
dispatch(uiActions.setToggleOpenDialog({
|
|
9872
10356
|
type: uiTypes.DialogTypes.AreaObjectLoader,
|
|
@@ -9887,7 +10371,7 @@ var PublicWarningsFormConnect = function PublicWarningsFormConnect(_ref) {
|
|
|
9887
10371
|
onAddObject: onAddObject,
|
|
9888
10372
|
selectedAviationProduct: selectedAviationProduct,
|
|
9889
10373
|
warningType: warningType,
|
|
9890
|
-
mode:
|
|
10374
|
+
mode: formMode
|
|
9891
10375
|
});
|
|
9892
10376
|
};
|
|
9893
10377
|
|
|
@@ -10511,26 +10995,23 @@ var AreaObjectLoaderConnect = function AreaObjectLoaderConnect(_ref) {
|
|
|
10511
10995
|
});
|
|
10512
10996
|
};
|
|
10513
10997
|
|
|
10514
|
-
|
|
10515
|
-
|
|
10516
|
-
|
|
10517
|
-
|
|
10518
|
-
|
|
10519
|
-
|
|
10520
|
-
|
|
10521
|
-
|
|
10522
|
-
|
|
10523
|
-
|
|
10524
|
-
|
|
10525
|
-
|
|
10526
|
-
|
|
10527
|
-
|
|
10528
|
-
|
|
10529
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
10530
|
-
* */
|
|
10998
|
+
var _excluded$6 = ["sigmetAirmetDetails"];
|
|
10999
|
+
function isCancelAirmet(warningDetail) {
|
|
11000
|
+
return warningDetail.cancelsAirmetSequenceId !== undefined;
|
|
11001
|
+
}
|
|
11002
|
+
function isCancelSigmet(warningDetail) {
|
|
11003
|
+
return warningDetail.cancelsSigmetSequenceId !== undefined;
|
|
11004
|
+
}
|
|
11005
|
+
var flattenPublicWarning = function flattenPublicWarning(publicWarning) {
|
|
11006
|
+
if (publicWarning.type === 'public') {
|
|
11007
|
+
return {};
|
|
11008
|
+
}
|
|
11009
|
+
var sigmetAirmetDetails = publicWarning.sigmetAirmetDetails,
|
|
11010
|
+
rest = _objectWithoutPropertiesLoose(publicWarning, _excluded$6);
|
|
11011
|
+
return Object.assign({}, rest, sigmetAirmetDetails);
|
|
11012
|
+
};
|
|
10531
11013
|
var transformAirmetToWarningFormat = function transformAirmetToWarningFormat(apiAirmet) {
|
|
10532
11014
|
var airmet = apiAirmet.airmet;
|
|
10533
|
-
var cancelAirmet = apiAirmet == null ? void 0 : apiAirmet.airmet;
|
|
10534
11015
|
var areas = [];
|
|
10535
11016
|
if (airmet.startGeometry) {
|
|
10536
11017
|
areas.push({
|
|
@@ -10551,23 +11032,23 @@ var transformAirmetToWarningFormat = function transformAirmetToWarningFormat(api
|
|
|
10551
11032
|
lastUpdatedTime: apiAirmet.lastUpdateDate,
|
|
10552
11033
|
productStatus: airmet.status,
|
|
10553
11034
|
warningDetail: {
|
|
10554
|
-
|
|
10555
|
-
descriptionTranslation: '',
|
|
10556
|
-
areas: areas,
|
|
11035
|
+
id: airmet.uuid,
|
|
10557
11036
|
phenomenon: airmet.phenomenon,
|
|
11037
|
+
areas: areas,
|
|
10558
11038
|
validFrom: airmet.validDateStart,
|
|
10559
11039
|
validUntil: airmet.validDateEnd,
|
|
11040
|
+
incident: airmet.sequence,
|
|
10560
11041
|
level: 'AIR',
|
|
10561
11042
|
probability: 0,
|
|
10562
|
-
|
|
10563
|
-
|
|
10564
|
-
|
|
10565
|
-
}
|
|
11043
|
+
descriptionOriginal: '',
|
|
11044
|
+
descriptionTranslation: ''
|
|
11045
|
+
},
|
|
11046
|
+
sigmetAirmetDetails: Object.assign({}, airmet),
|
|
11047
|
+
type: 'airmet'
|
|
10566
11048
|
};
|
|
10567
11049
|
};
|
|
10568
11050
|
var transformSigmetToWarningFormat = function transformSigmetToWarningFormat(apiSigmet) {
|
|
10569
11051
|
var sigmet = apiSigmet.sigmet;
|
|
10570
|
-
var cancelSigmet = apiSigmet == null ? void 0 : apiSigmet.sigmet;
|
|
10571
11052
|
var areas = [];
|
|
10572
11053
|
if (sigmet.startGeometry) {
|
|
10573
11054
|
areas.push({
|
|
@@ -10604,18 +11085,19 @@ var transformSigmetToWarningFormat = function transformSigmetToWarningFormat(api
|
|
|
10604
11085
|
lastUpdatedTime: apiSigmet.lastUpdateDate,
|
|
10605
11086
|
productStatus: sigmet.status,
|
|
10606
11087
|
warningDetail: {
|
|
10607
|
-
|
|
10608
|
-
descriptionTranslation: '',
|
|
10609
|
-
areas: areas,
|
|
11088
|
+
id: sigmet.uuid,
|
|
10610
11089
|
phenomenon: sigmet.phenomenon,
|
|
11090
|
+
areas: areas,
|
|
10611
11091
|
validFrom: sigmet.validDateStart,
|
|
10612
11092
|
validUntil: sigmet.validDateEnd,
|
|
11093
|
+
incident: sigmet.sequence,
|
|
10613
11094
|
level: 'SIG',
|
|
10614
11095
|
probability: 0,
|
|
10615
|
-
|
|
10616
|
-
|
|
10617
|
-
|
|
10618
|
-
}
|
|
11096
|
+
descriptionOriginal: '',
|
|
11097
|
+
descriptionTranslation: ''
|
|
11098
|
+
},
|
|
11099
|
+
sigmetAirmetDetails: Object.assign({}, sigmet),
|
|
11100
|
+
type: 'sigmet'
|
|
10619
11101
|
};
|
|
10620
11102
|
};
|
|
10621
11103
|
var mapProductStatusToWarningStatus = function mapProductStatusToWarningStatus(productStatus) {
|
|
@@ -10631,15 +11113,9 @@ var mapProductStatusToWarningStatus = function mapProductStatusToWarningStatus(p
|
|
|
10631
11113
|
return PublicWarningStatus.EXPIRED;
|
|
10632
11114
|
}
|
|
10633
11115
|
};
|
|
10634
|
-
var transformSigmetToProductFormat = function transformSigmetToProductFormat(warning
|
|
10635
|
-
var _warning$sigmet;
|
|
10636
|
-
var fir = (warning == null || (_warning$sigmet = warning.sigmet) == null ? void 0 : _warning$sigmet.locationIndicatorATSR) || config.active_firs[0];
|
|
10637
|
-
var firConfig = config.fir_areas[fir];
|
|
11116
|
+
var transformSigmetToProductFormat = function transformSigmetToProductFormat(warning) {
|
|
10638
11117
|
var sigmet = warning == null ? void 0 : warning.sigmet;
|
|
10639
11118
|
var cancelSigmet = warning == null ? void 0 : warning.sigmet;
|
|
10640
|
-
if (!firConfig) {
|
|
10641
|
-
throw new Error("FIR " + fir + " not found in configuration");
|
|
10642
|
-
}
|
|
10643
11119
|
return Object.assign({
|
|
10644
11120
|
uuid: (sigmet == null ? void 0 : sigmet.uuid) || 'default',
|
|
10645
11121
|
// Use a fallback UUID or handle undefined
|
|
@@ -10680,15 +11156,9 @@ var transformSigmetToProductFormat = function transformSigmetToProductFormat(war
|
|
|
10680
11156
|
validDateEndOfSigmetToCancel: cancelSigmet.validDateEndOfSigmetToCancel
|
|
10681
11157
|
});
|
|
10682
11158
|
};
|
|
10683
|
-
var transformAirmetToProductFormat = function transformAirmetToProductFormat(warning
|
|
10684
|
-
var _warning$airmet;
|
|
10685
|
-
var fir = (warning == null || (_warning$airmet = warning.airmet) == null ? void 0 : _warning$airmet.locationIndicatorATSR) || config.active_firs[0];
|
|
10686
|
-
var firConfig = config.fir_areas[fir];
|
|
11159
|
+
var transformAirmetToProductFormat = function transformAirmetToProductFormat(warning) {
|
|
10687
11160
|
var airmet = warning == null ? void 0 : warning.airmet;
|
|
10688
11161
|
var cancelAirmet = warning == null ? void 0 : warning.airmet;
|
|
10689
|
-
if (!firConfig) {
|
|
10690
|
-
throw new Error("FIR " + fir + " not found in configuration");
|
|
10691
|
-
}
|
|
10692
11162
|
return Object.assign({
|
|
10693
11163
|
uuid: (airmet == null ? void 0 : airmet.uuid) || 'default',
|
|
10694
11164
|
// Use a fallback UUID or handle undefined
|
|
@@ -10801,6 +11271,179 @@ var getEmptyAirmetWarning = function getEmptyAirmetWarning() {
|
|
|
10801
11271
|
}
|
|
10802
11272
|
};
|
|
10803
11273
|
};
|
|
11274
|
+
var renewAviationProduct = function renewAviationProduct(aviationWarning, productConfig) {
|
|
11275
|
+
var warningDetail = aviationWarning.sigmetAirmetDetails;
|
|
11276
|
+
var newValidUntil = 'phenomenon' in warningDetail ? getDefaultValidUntilValue(productConfig, warningDetail.phenomenon, warningDetail.locationIndicatorATSR, warningDetail.validDateEnd) : warningDetail.validDateEnd;
|
|
11277
|
+
var renewedWarningDetail = Object.assign({}, warningDetail, {
|
|
11278
|
+
validDateStart: warningDetail.validDateEnd,
|
|
11279
|
+
validDateEnd: newValidUntil,
|
|
11280
|
+
status: ProductStatus.DRAFT,
|
|
11281
|
+
uuid: undefined,
|
|
11282
|
+
sequence: '-1'
|
|
11283
|
+
});
|
|
11284
|
+
return Object.assign({}, aviationWarning, {
|
|
11285
|
+
sigmetAirmetDetails: renewedWarningDetail
|
|
11286
|
+
});
|
|
11287
|
+
};
|
|
11288
|
+
var duplicateAviationProduct = function duplicateAviationProduct(aviationWarning) {
|
|
11289
|
+
var duplicatedWarningDetail = Object.assign({}, aviationWarning.sigmetAirmetDetails, {
|
|
11290
|
+
status: ProductStatus.DRAFT,
|
|
11291
|
+
uuid: undefined,
|
|
11292
|
+
sequence: '-1'
|
|
11293
|
+
});
|
|
11294
|
+
return Object.assign({}, aviationWarning, {
|
|
11295
|
+
sigmetAirmetDetails: duplicatedWarningDetail
|
|
11296
|
+
});
|
|
11297
|
+
};
|
|
11298
|
+
|
|
11299
|
+
/* *
|
|
11300
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11301
|
+
* you may not use this file except in compliance with the License.
|
|
11302
|
+
* You may obtain a copy of the License at
|
|
11303
|
+
*
|
|
11304
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11305
|
+
*
|
|
11306
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11307
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11308
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11309
|
+
* See the License for the specific language governing permissions and
|
|
11310
|
+
* limitations under the License.
|
|
11311
|
+
*
|
|
11312
|
+
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
11313
|
+
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
11314
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
11315
|
+
* */
|
|
11316
|
+
var config = getConfig();
|
|
11317
|
+
var publicWarningBaseUrl = config.GW_DRAWINGS_BASE_URL || '';
|
|
11318
|
+
// API
|
|
11319
|
+
var getPublicWarningList = function getPublicWarningList(auth) {
|
|
11320
|
+
return fetch(publicWarningBaseUrl + "/warnings", {
|
|
11321
|
+
headers: getHeaders(auth)
|
|
11322
|
+
}).then(handleResponse).then(function (warnings) {
|
|
11323
|
+
return warnings.map(function (warning) {
|
|
11324
|
+
return Object.assign({}, warning, {
|
|
11325
|
+
type: 'public'
|
|
11326
|
+
});
|
|
11327
|
+
});
|
|
11328
|
+
});
|
|
11329
|
+
};
|
|
11330
|
+
var updatePublicWarningEditor = function updatePublicWarningEditor(warningId, isEditor, auth) {
|
|
11331
|
+
return fetch(publicWarningBaseUrl + "/warnings/" + warningId + "?editor=" + (isEditor ? 'true' : 'false') + "&force=true", {
|
|
11332
|
+
headers: getHeaders(auth),
|
|
11333
|
+
method: 'POST'
|
|
11334
|
+
}).then(handleResponse);
|
|
11335
|
+
};
|
|
11336
|
+
|
|
11337
|
+
/**
|
|
11338
|
+
* @param disabled - Disables fetching, but still returns cached values.
|
|
11339
|
+
* https://tanstack.com/query/v4/docs/framework/react/guides/disabling-queries
|
|
11340
|
+
*/
|
|
11341
|
+
var usePublicWarnings = function usePublicWarnings(disabled) {
|
|
11342
|
+
if (disabled === void 0) {
|
|
11343
|
+
disabled = false;
|
|
11344
|
+
}
|
|
11345
|
+
return useAuthQuery(['public-warning-list'], getPublicWarningList, disabled, 1000 * 60 * 5);
|
|
11346
|
+
};
|
|
11347
|
+
var useMutatePublicWarningEditor = function useMutatePublicWarningEditor() {
|
|
11348
|
+
var queryClient = useQueryClient();
|
|
11349
|
+
var _useAuthenticationCon = useAuthenticationContext(),
|
|
11350
|
+
auth = _useAuthenticationCon.auth;
|
|
11351
|
+
var dispatch = useDispatch();
|
|
11352
|
+
return useMutation(Object.assign({
|
|
11353
|
+
mutationFn: function mutationFn(_ref) {
|
|
11354
|
+
var id = _ref.id,
|
|
11355
|
+
isEditor = _ref.isEditor;
|
|
11356
|
+
if (!auth) {
|
|
11357
|
+
throw new Error('Authentication context not found');
|
|
11358
|
+
}
|
|
11359
|
+
return updatePublicWarningEditor(id, isEditor, auth);
|
|
11360
|
+
}
|
|
11361
|
+
}, optimisticUpdate(['public-warning-list'], queryClient, function (w, _ref2) {
|
|
11362
|
+
var isEditor = _ref2.isEditor;
|
|
11363
|
+
return Object.assign({}, w, {
|
|
11364
|
+
editor: isEditor ? auth.username : undefined
|
|
11365
|
+
});
|
|
11366
|
+
}, function (error) {
|
|
11367
|
+
dispatch(publicWarningFormActions.setFormError({
|
|
11368
|
+
message: error.message
|
|
11369
|
+
}));
|
|
11370
|
+
}), {
|
|
11371
|
+
onSettled: function () {
|
|
11372
|
+
var _onSettled = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(data, e, _ref3) {
|
|
11373
|
+
var isEditor;
|
|
11374
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
11375
|
+
while (1) switch (_context.prev = _context.next) {
|
|
11376
|
+
case 0:
|
|
11377
|
+
isEditor = _ref3.isEditor;
|
|
11378
|
+
dispatch(snackbarActions.openSnackbar({
|
|
11379
|
+
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
11380
|
+
key: isEditor ? 'warning-editor-add-editor' : 'warning-editor-remove-editor'
|
|
11381
|
+
}));
|
|
11382
|
+
case 2:
|
|
11383
|
+
case "end":
|
|
11384
|
+
return _context.stop();
|
|
11385
|
+
}
|
|
11386
|
+
}, _callee);
|
|
11387
|
+
}));
|
|
11388
|
+
function onSettled(_x, _x2, _x3) {
|
|
11389
|
+
return _onSettled.apply(this, arguments);
|
|
11390
|
+
}
|
|
11391
|
+
return onSettled;
|
|
11392
|
+
}()
|
|
11393
|
+
}));
|
|
11394
|
+
};
|
|
11395
|
+
|
|
11396
|
+
/* *
|
|
11397
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11398
|
+
* you may not use this file except in compliance with the License.
|
|
11399
|
+
* You may obtain a copy of the License at
|
|
11400
|
+
*
|
|
11401
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11402
|
+
*
|
|
11403
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11404
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11405
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11406
|
+
* See the License for the specific language governing permissions and
|
|
11407
|
+
* limitations under the License.
|
|
11408
|
+
*
|
|
11409
|
+
* Copyright 2025 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
11410
|
+
* Copyright 2025 - Finnish Meteorological Institute (FMI)
|
|
11411
|
+
* Copyright 2025 - The Norwegian Meteorological Institute (MET Norway)
|
|
11412
|
+
* */
|
|
11413
|
+
var useWarnings = function useWarnings(disabled) {
|
|
11414
|
+
var _usePublicWarnings = usePublicWarnings(disabled),
|
|
11415
|
+
publicWarnings = _usePublicWarnings.data,
|
|
11416
|
+
refetchPublicWarnings = _usePublicWarnings.refetch,
|
|
11417
|
+
isFetchingPublicWarnings = _usePublicWarnings.isFetching,
|
|
11418
|
+
publicWarningsError = _usePublicWarnings.error,
|
|
11419
|
+
dataUpdatedAt = _usePublicWarnings.dataUpdatedAt;
|
|
11420
|
+
var _useAirmetList = useAirmetList(disabled),
|
|
11421
|
+
airmetWarnings = _useAirmetList.data,
|
|
11422
|
+
refetchAirmet = _useAirmetList.refetch,
|
|
11423
|
+
isFetchingAirmet = _useAirmetList.isFetching;
|
|
11424
|
+
var _useSigmetList = useSigmetList(disabled),
|
|
11425
|
+
sigmetWarnings = _useSigmetList.data,
|
|
11426
|
+
refetchSigmet = _useSigmetList.refetch,
|
|
11427
|
+
isFetchingSigmet = _useSigmetList.isFetching;
|
|
11428
|
+
var combinedWarnings = useMemo(function () {
|
|
11429
|
+
var transformedSigmets = (sigmetWarnings == null ? void 0 : sigmetWarnings.map(transformSigmetToWarningFormat)) || [];
|
|
11430
|
+
var transformedAirmets = (airmetWarnings == null ? void 0 : airmetWarnings.map(transformAirmetToWarningFormat)) || [];
|
|
11431
|
+
return concat(publicWarnings || [], transformedSigmets, transformedAirmets);
|
|
11432
|
+
}, [publicWarnings, sigmetWarnings, airmetWarnings]);
|
|
11433
|
+
var refetchWarnings = function refetchWarnings() {
|
|
11434
|
+
void refetchPublicWarnings();
|
|
11435
|
+
void refetchAirmet();
|
|
11436
|
+
void refetchSigmet();
|
|
11437
|
+
};
|
|
11438
|
+
var isFetching = isFetchingPublicWarnings || isFetchingAirmet || isFetchingSigmet;
|
|
11439
|
+
return {
|
|
11440
|
+
combinedWarnings: combinedWarnings,
|
|
11441
|
+
refetchWarnings: refetchWarnings,
|
|
11442
|
+
isFetching: isFetching,
|
|
11443
|
+
error: publicWarningsError || undefined,
|
|
11444
|
+
dataUpdatedAt: dataUpdatedAt
|
|
11445
|
+
};
|
|
11446
|
+
};
|
|
10804
11447
|
|
|
10805
11448
|
var warningFormConfirmationOptions = function warningFormConfirmationOptions(t) {
|
|
10806
11449
|
return {
|
|
@@ -10820,7 +11463,6 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
10820
11463
|
source = _ref$source === void 0 ? 'app' : _ref$source,
|
|
10821
11464
|
startPosition = _ref.startPosition,
|
|
10822
11465
|
defaultMapPreset = _ref.defaultMapPreset;
|
|
10823
|
-
var warningsApi = getWarningsApi();
|
|
10824
11466
|
var _useSetupDialog = useSetupDialog(publicWarningDialogType, source),
|
|
10825
11467
|
dialogOrder = _useSetupDialog.dialogOrder,
|
|
10826
11468
|
setDialogOrder = _useSetupDialog.setDialogOrder,
|
|
@@ -10838,66 +11480,98 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
10838
11480
|
var isFormDirty = useSelector(function (store) {
|
|
10839
11481
|
return getSelectedPublicIsFormDirty(store);
|
|
10840
11482
|
});
|
|
10841
|
-
var
|
|
10842
|
-
|
|
10843
|
-
|
|
10844
|
-
|
|
10845
|
-
|
|
10846
|
-
|
|
10847
|
-
|
|
10848
|
-
|
|
10849
|
-
|
|
11483
|
+
var publicWarningState = useSelector(getPublicWarning);
|
|
11484
|
+
var _ref2 = publicWarningState || {},
|
|
11485
|
+
status = _ref2.status,
|
|
11486
|
+
editor = _ref2.editor;
|
|
11487
|
+
var _useWarnings = useWarnings(true),
|
|
11488
|
+
combinedWarnings = _useWarnings.combinedWarnings,
|
|
11489
|
+
refetchWarnings = _useWarnings.refetchWarnings,
|
|
11490
|
+
isFetching = _useWarnings.isFetching;
|
|
11491
|
+
var _React$useState = React__default.useState(isFetching),
|
|
11492
|
+
hasFetched = _React$useState[0],
|
|
11493
|
+
setHasFetched = _React$useState[1];
|
|
11494
|
+
React__default.useEffect(function () {
|
|
11495
|
+
if (isFetching) {
|
|
11496
|
+
setHasFetched(true);
|
|
11497
|
+
}
|
|
11498
|
+
}, [isFetching]);
|
|
11499
|
+
var selectedWarningId = useSelector(getSelectedWarningId);
|
|
11500
|
+
var selectedWarningObject = useSelector(getPublicWarning);
|
|
10850
11501
|
var warningType = useSelector(getWarningType);
|
|
11502
|
+
var selectedWarning = combinedWarnings == null ? void 0 : combinedWarnings.find(function (w) {
|
|
11503
|
+
return w.id === selectedWarningId;
|
|
11504
|
+
});
|
|
10851
11505
|
var _useAuthenticationCon = useAuthenticationContext$1(),
|
|
10852
11506
|
auth = _useAuthenticationCon.auth;
|
|
10853
|
-
var isEditor =
|
|
10854
|
-
var
|
|
10855
|
-
var
|
|
10856
|
-
|
|
11507
|
+
var isEditor = (selectedWarning == null ? void 0 : selectedWarning.editor) === (auth == null ? void 0 : auth.username) || false;
|
|
11508
|
+
var shouldGiveEditorWarning = React__default.useCallback(function (newEditor, oldEditor) {
|
|
11509
|
+
var oldEditorIsYou = oldEditor && oldEditor === (auth == null ? void 0 : auth.username);
|
|
11510
|
+
if (oldEditorIsYou && newEditor !== oldEditor) {
|
|
11511
|
+
dispatch(publicWarningFormActions.setFormError({
|
|
11512
|
+
severity: 'warning',
|
|
11513
|
+
message: TAKEOVER_MESSAGE
|
|
11514
|
+
}));
|
|
11515
|
+
}
|
|
11516
|
+
}, [dispatch, auth == null ? void 0 : auth.username]);
|
|
11517
|
+
var previousSelectedWarning = usePrevious(selectedWarning);
|
|
11518
|
+
var refetchCurrentEditor = /*#__PURE__*/function () {
|
|
11519
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
11520
|
+
var newWarnings, newSelectedWarning;
|
|
10857
11521
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
10858
11522
|
while (1) switch (_context.prev = _context.next) {
|
|
10859
11523
|
case 0:
|
|
10860
11524
|
_context.next = 2;
|
|
10861
|
-
return
|
|
11525
|
+
return getPublicWarningList(auth);
|
|
10862
11526
|
case 2:
|
|
10863
|
-
|
|
10864
|
-
|
|
10865
|
-
return
|
|
11527
|
+
newWarnings = _context.sent;
|
|
11528
|
+
newSelectedWarning = newWarnings == null ? void 0 : newWarnings.find(function (w) {
|
|
11529
|
+
return w.id === selectedWarningId;
|
|
10866
11530
|
});
|
|
10867
|
-
return _context.abrupt("return", (
|
|
11531
|
+
return _context.abrupt("return", (newSelectedWarning == null ? void 0 : newSelectedWarning.editor) || '');
|
|
10868
11532
|
case 5:
|
|
10869
11533
|
case "end":
|
|
10870
11534
|
return _context.stop();
|
|
10871
11535
|
}
|
|
10872
11536
|
}, _callee);
|
|
10873
11537
|
}));
|
|
10874
|
-
return function
|
|
10875
|
-
return
|
|
11538
|
+
return function refetchCurrentEditor() {
|
|
11539
|
+
return _ref3.apply(this, arguments);
|
|
10876
11540
|
};
|
|
10877
11541
|
}();
|
|
11542
|
+
React__default.useEffect(function () {
|
|
11543
|
+
if (editor !== (selectedWarning == null ? void 0 : selectedWarning.editor) && status !== 'TODO') {
|
|
11544
|
+
void setIsEditor(editor !== (auth == null ? void 0 : auth.username));
|
|
11545
|
+
}
|
|
11546
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
11547
|
+
}, [editor]);
|
|
11548
|
+
React__default.useEffect(function () {
|
|
11549
|
+
if ((selectedWarning == null ? void 0 : selectedWarning.id) !== (previousSelectedWarning == null ? void 0 : previousSelectedWarning.id)) {
|
|
11550
|
+
dispatch(publicWarningFormActions.removeFormError());
|
|
11551
|
+
}
|
|
11552
|
+
}, [selectedWarning == null ? void 0 : selectedWarning.id, previousSelectedWarning == null ? void 0 : previousSelectedWarning.id, dispatch]);
|
|
11553
|
+
React__default.useEffect(function () {
|
|
11554
|
+
// Only give editor warning when the change in selectedWarning is from a refetch
|
|
11555
|
+
if (hasFetched) {
|
|
11556
|
+
setHasFetched(false);
|
|
11557
|
+
shouldGiveEditorWarning(selectedWarning == null ? void 0 : selectedWarning.editor, previousSelectedWarning == null ? void 0 : previousSelectedWarning.editor);
|
|
11558
|
+
}
|
|
11559
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
11560
|
+
}, [selectedWarning == null ? void 0 : selectedWarning.editor]);
|
|
11561
|
+
var updatePublicWarningEditor = useMutatePublicWarningEditor();
|
|
10878
11562
|
var setIsEditor = /*#__PURE__*/function () {
|
|
10879
|
-
var
|
|
11563
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(isReadOnly) {
|
|
10880
11564
|
var username, latestEditor;
|
|
10881
11565
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
10882
11566
|
while (1) switch (_context2.prev = _context2.next) {
|
|
10883
11567
|
case 0:
|
|
10884
11568
|
username = (auth == null ? void 0 : auth.username) || ''; // make sure to get the latest changes if you are editing an existing warning
|
|
10885
|
-
|
|
10886
|
-
|
|
10887
|
-
|
|
10888
|
-
|
|
10889
|
-
_context2.next = 4;
|
|
10890
|
-
return getLatestEditor();
|
|
10891
|
-
case 4:
|
|
10892
|
-
_context2.t0 = _context2.sent;
|
|
10893
|
-
_context2.next = 8;
|
|
10894
|
-
break;
|
|
10895
|
-
case 7:
|
|
10896
|
-
_context2.t0 = '';
|
|
10897
|
-
case 8:
|
|
10898
|
-
latestEditor = _context2.t0;
|
|
11569
|
+
_context2.next = 3;
|
|
11570
|
+
return refetchCurrentEditor();
|
|
11571
|
+
case 3:
|
|
11572
|
+
latestEditor = _context2.sent;
|
|
10899
11573
|
if (!(!selectedWarningId || !isReadOnly && username === latestEditor || isReadOnly && latestEditor !== username)) {
|
|
10900
|
-
_context2.next =
|
|
11574
|
+
_context2.next = 8;
|
|
10901
11575
|
break;
|
|
10902
11576
|
}
|
|
10903
11577
|
// currently editing a new warning or
|
|
@@ -10907,34 +11581,40 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
10907
11581
|
dispatch(publicWarningFormActions.setFormValues({
|
|
10908
11582
|
formState: isReadOnly ? 'readonly' : ''
|
|
10909
11583
|
}));
|
|
11584
|
+
// If the editor was changed in a different window, refetch the warnings
|
|
11585
|
+
if (latestEditor !== (selectedWarning == null ? void 0 : selectedWarning.editor)) {
|
|
11586
|
+
void refetchWarnings();
|
|
11587
|
+
}
|
|
10910
11588
|
return _context2.abrupt("return", true);
|
|
10911
|
-
case
|
|
11589
|
+
case 8:
|
|
10912
11590
|
if (!(!isReadOnly && isAlreadyEdited(latestEditor, username))) {
|
|
10913
|
-
_context2.next =
|
|
11591
|
+
_context2.next = 11;
|
|
10914
11592
|
break;
|
|
10915
11593
|
}
|
|
10916
|
-
_context2.next =
|
|
11594
|
+
_context2.next = 11;
|
|
10917
11595
|
return confirmDialog({
|
|
10918
11596
|
title: t('warning-edit-mode-title'),
|
|
10919
11597
|
description: t('warning-edit-mode-description'),
|
|
10920
11598
|
confirmLabel: t('warning-edit-mode-confirm'),
|
|
10921
11599
|
cancelLabel: t('warning-dialog-cancel')
|
|
10922
11600
|
});
|
|
10923
|
-
case
|
|
10924
|
-
dispatch(publicWarningFormActions.
|
|
10925
|
-
|
|
10926
|
-
isEditor: !isReadOnly,
|
|
10927
|
-
username: username
|
|
11601
|
+
case 11:
|
|
11602
|
+
dispatch(publicWarningFormActions.setFormValues({
|
|
11603
|
+
formState: isReadOnly ? 'readonly' : ''
|
|
10928
11604
|
}));
|
|
11605
|
+
updatePublicWarningEditor.mutate({
|
|
11606
|
+
id: selectedWarningId,
|
|
11607
|
+
isEditor: !isReadOnly
|
|
11608
|
+
});
|
|
10929
11609
|
return _context2.abrupt("return", true);
|
|
10930
|
-
case
|
|
11610
|
+
case 14:
|
|
10931
11611
|
case "end":
|
|
10932
11612
|
return _context2.stop();
|
|
10933
11613
|
}
|
|
10934
11614
|
}, _callee2);
|
|
10935
11615
|
}));
|
|
10936
11616
|
return function setIsEditor(_x) {
|
|
10937
|
-
return
|
|
11617
|
+
return _ref4.apply(this, arguments);
|
|
10938
11618
|
};
|
|
10939
11619
|
}();
|
|
10940
11620
|
var onChangeFormMode = function onChangeFormMode(isReadOnly) {
|
|
@@ -10961,7 +11641,7 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
10961
11641
|
}
|
|
10962
11642
|
};
|
|
10963
11643
|
var closeDialog = /*#__PURE__*/function () {
|
|
10964
|
-
var
|
|
11644
|
+
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
10965
11645
|
var mayProceed;
|
|
10966
11646
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
10967
11647
|
while (1) switch (_context4.prev = _context4.next) {
|
|
@@ -10992,7 +11672,7 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
10992
11672
|
}, _callee4);
|
|
10993
11673
|
}));
|
|
10994
11674
|
return function closeDialog() {
|
|
10995
|
-
return
|
|
11675
|
+
return _ref6.apply(this, arguments);
|
|
10996
11676
|
};
|
|
10997
11677
|
}();
|
|
10998
11678
|
var _useAirmetList = useAirmetList(true),
|
|
@@ -11008,15 +11688,26 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
11008
11688
|
var updatedWarningType = selectedSigmet ? 'sigmet' : selectedAirmet && 'airmet' || warningType;
|
|
11009
11689
|
var _useProductConfig = useProductConfig(updatedWarningType, !isDialogOpen),
|
|
11010
11690
|
aviationConfig = _useProductConfig.data;
|
|
11011
|
-
var selectedSigmetProduct = selectedSigmet && aviationConfig ? transformSigmetToProductFormat(selectedSigmet
|
|
11012
|
-
var selectedAirmetProduct = selectedAirmet && aviationConfig ? transformAirmetToProductFormat(selectedAirmet
|
|
11013
|
-
var selectedAviationProduct =
|
|
11691
|
+
var selectedSigmetProduct = selectedSigmet && aviationConfig ? transformSigmetToProductFormat(selectedSigmet) : getEmptySigmetWarning();
|
|
11692
|
+
var selectedAirmetProduct = selectedAirmet && aviationConfig ? transformAirmetToProductFormat(selectedAirmet) : getEmptyAirmetWarning();
|
|
11693
|
+
var selectedAviationProduct = React__default.useMemo(function () {
|
|
11694
|
+
if (['sigmet', 'airmet'].includes((selectedWarningObject == null ? void 0 : selectedWarningObject.type) || '') && aviationConfig) {
|
|
11695
|
+
return flattenPublicWarning(selectedWarningObject);
|
|
11696
|
+
}
|
|
11697
|
+
if (updatedWarningType === 'sigmet') {
|
|
11698
|
+
return selectedSigmetProduct;
|
|
11699
|
+
}
|
|
11700
|
+
if (updatedWarningType === 'airmet') {
|
|
11701
|
+
return selectedAirmetProduct;
|
|
11702
|
+
}
|
|
11703
|
+
return undefined;
|
|
11704
|
+
}, [selectedWarningObject, updatedWarningType, selectedSigmetProduct, selectedAirmetProduct, aviationConfig]);
|
|
11014
11705
|
var productCanBe = updatedWarningType === 'public' ? ['DRAFTED', 'DISCARDED', 'PUBLISHED'] : (selectedSigmet == null ? void 0 : selectedSigmet.canbe) || (selectedAirmet == null ? void 0 : selectedAirmet.canbe);
|
|
11015
11706
|
var mode = getProductFormMode(productCanBe, !selectedWarningId ? null : selectedAviationProduct);
|
|
11016
11707
|
// Readonly also in case you are not creating a new warning and you are not set as the editor
|
|
11017
|
-
var isReadOnly = formAction === 'readonly' || !isEditor &&
|
|
11708
|
+
var isReadOnly = formAction === 'readonly' || !isEditor && status !== undefined;
|
|
11018
11709
|
// Only show toggle if in draft status
|
|
11019
|
-
var shouldHideFormToggleMode =
|
|
11710
|
+
var shouldHideFormToggleMode = status !== 'DRAFT' && status !== 'DRAFT_PUBLISHED';
|
|
11020
11711
|
return jsxs(Fragment, {
|
|
11021
11712
|
children: [jsx(PublicWarningsFormDialog, {
|
|
11022
11713
|
isOpen: isDialogOpen,
|
|
@@ -11030,14 +11721,18 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
11030
11721
|
isReadOnly: isReadOnly,
|
|
11031
11722
|
onChangeFormMode: onChangeFormMode,
|
|
11032
11723
|
shouldHideFormMode: shouldHideFormToggleMode,
|
|
11033
|
-
publicWarningEditor:
|
|
11724
|
+
publicWarningEditor: (selectedWarning == null ? void 0 : selectedWarning.editor) || undefined,
|
|
11034
11725
|
selectedAviationProduct: selectedAviationProduct,
|
|
11035
11726
|
warningType: updatedWarningType,
|
|
11036
11727
|
children: jsx(PublicWarningsFormConnect, {
|
|
11728
|
+
editor: (selectedWarning == null ? void 0 : selectedWarning.editor) || undefined,
|
|
11037
11729
|
defaultMapPreset: defaultMapPreset,
|
|
11038
11730
|
selectedAviationProduct: selectedAviationProduct,
|
|
11039
11731
|
warningType: updatedWarningType,
|
|
11040
|
-
mode: mode
|
|
11732
|
+
mode: mode,
|
|
11733
|
+
onFormSubmit: function onFormSubmit() {
|
|
11734
|
+
return refetchWarnings();
|
|
11735
|
+
}
|
|
11041
11736
|
})
|
|
11042
11737
|
}), jsx(AreaObjectLoaderConnect, {})]
|
|
11043
11738
|
});
|
|
@@ -11081,6 +11776,7 @@ var getSortedStatus = function getSortedStatus(status) {
|
|
|
11081
11776
|
}
|
|
11082
11777
|
};
|
|
11083
11778
|
var getWarningWithoutIdStatusEditor = function getWarningWithoutIdStatusEditor(warning) {
|
|
11779
|
+
var _warningDetail$areas;
|
|
11084
11780
|
warning.id;
|
|
11085
11781
|
var warningDetail = warning.warningDetail;
|
|
11086
11782
|
warning.status;
|
|
@@ -11091,7 +11787,7 @@ var getWarningWithoutIdStatusEditor = function getWarningWithoutIdStatusEditor(w
|
|
|
11091
11787
|
warningDetail.proposal_id;
|
|
11092
11788
|
warningDetail.warning_handle_uuid;
|
|
11093
11789
|
var cleanWarningDetail = _objectWithoutPropertiesLoose(warningDetail, _excluded2);
|
|
11094
|
-
var areas = warningDetail.areas.map(function (_ref) {
|
|
11790
|
+
var areas = (_warningDetail$areas = warningDetail.areas) == null ? void 0 : _warningDetail$areas.map(function (_ref) {
|
|
11095
11791
|
_ref.published_warning_uuid;
|
|
11096
11792
|
var area = _objectWithoutPropertiesLoose(_ref, _excluded3);
|
|
11097
11793
|
return area;
|
|
@@ -11205,7 +11901,6 @@ var ExpandableFilterChip = function ExpandableFilterChip(_ref) {
|
|
|
11205
11901
|
})
|
|
11206
11902
|
})
|
|
11207
11903
|
}), jsxs(Menu, {
|
|
11208
|
-
title: t("filter-" + id),
|
|
11209
11904
|
open: Boolean(anchorEl),
|
|
11210
11905
|
onClose: function onClose() {
|
|
11211
11906
|
return setAnchorEl(null);
|
|
@@ -11279,17 +11974,12 @@ var ExpandableFilterChip = function ExpandableFilterChip(_ref) {
|
|
|
11279
11974
|
return updateFilter(id, emptyFilterId, checked, only);
|
|
11280
11975
|
},
|
|
11281
11976
|
labelStyle: {
|
|
11282
|
-
|
|
11283
|
-
fontSize: '16px',
|
|
11284
|
-
display: 'flex',
|
|
11285
|
-
alignItems: 'center',
|
|
11286
|
-
gap: 1
|
|
11977
|
+
fontSize: '16px'
|
|
11287
11978
|
},
|
|
11288
11979
|
label: jsx(Fragment, {
|
|
11289
11980
|
children: t(getTranslationKey(emptyFilterId, id))
|
|
11290
11981
|
})
|
|
11291
|
-
}, id + "-" + emptyFilterId), Object.keys(options).map(function (
|
|
11292
|
-
var optionId = _optionId;
|
|
11982
|
+
}, id + "-" + emptyFilterId), Object.keys(options).map(function (optionId) {
|
|
11293
11983
|
if (optionId === emptyFilterId) {
|
|
11294
11984
|
return null;
|
|
11295
11985
|
}
|
|
@@ -11301,14 +11991,29 @@ var ExpandableFilterChip = function ExpandableFilterChip(_ref) {
|
|
|
11301
11991
|
return updateFilter(id, optionId, checked, only);
|
|
11302
11992
|
},
|
|
11303
11993
|
labelStyle: Object.assign({}, getLevelStyle(warningColor), {
|
|
11304
|
-
width: 'fit-content',
|
|
11305
|
-
fontSize: '16px'
|
|
11306
|
-
display: 'flex',
|
|
11307
|
-
alignItems: 'center',
|
|
11308
|
-
gap: 1
|
|
11994
|
+
width: LevelColors[optionId] ? 'fit-content' : '100%',
|
|
11995
|
+
fontSize: '16px'
|
|
11309
11996
|
}),
|
|
11310
|
-
label:
|
|
11311
|
-
|
|
11997
|
+
label: jsx(CustomTooltip, {
|
|
11998
|
+
title: t(getTranslationKey(optionId, id)),
|
|
11999
|
+
placement: "bottom",
|
|
12000
|
+
children: jsxs(Box, {
|
|
12001
|
+
"data-testid": "wrapper-" + optionId,
|
|
12002
|
+
sx: {
|
|
12003
|
+
display: 'flex',
|
|
12004
|
+
alignItems: 'center',
|
|
12005
|
+
gap: 1,
|
|
12006
|
+
maxWidth: 200
|
|
12007
|
+
},
|
|
12008
|
+
children: [getPhenomenaIcon(optionId), jsx(Typography, {
|
|
12009
|
+
noWrap: true,
|
|
12010
|
+
variant: "body2",
|
|
12011
|
+
sx: {
|
|
12012
|
+
fontSize: '16px'
|
|
12013
|
+
},
|
|
12014
|
+
children: t(getTranslationKey(optionId, id))
|
|
12015
|
+
})]
|
|
12016
|
+
})
|
|
11312
12017
|
})
|
|
11313
12018
|
}, id + "-" + optionId);
|
|
11314
12019
|
})]
|
|
@@ -11465,6 +12170,8 @@ var WarningListItemMenu = function WarningListItemMenu(_ref) {
|
|
|
11465
12170
|
onExpireWarning = _ref$onExpireWarning === void 0 ? function () {} : _ref$onExpireWarning,
|
|
11466
12171
|
_ref$onWithdrawWarnin = _ref.onWithdrawWarning,
|
|
11467
12172
|
onWithdrawWarning = _ref$onWithdrawWarnin === void 0 ? function () {} : _ref$onWithdrawWarnin,
|
|
12173
|
+
_ref$onActionAviation = _ref.onActionAviationWarning,
|
|
12174
|
+
onActionAviationWarning = _ref$onActionAviation === void 0 ? function () {} : _ref$onActionAviation,
|
|
11468
12175
|
t = _ref.t;
|
|
11469
12176
|
var duplicate = {
|
|
11470
12177
|
text: t('warning-list-button-duplicate'),
|
|
@@ -11473,6 +12180,13 @@ var WarningListItemMenu = function WarningListItemMenu(_ref) {
|
|
|
11473
12180
|
},
|
|
11474
12181
|
icon: jsx(Copy, {})
|
|
11475
12182
|
};
|
|
12183
|
+
var aviationDuplicate = {
|
|
12184
|
+
text: t('warning-list-button-duplicate'),
|
|
12185
|
+
action: function action() {
|
|
12186
|
+
return onActionAviationWarning(warning, ProductAction.DUPLICATE);
|
|
12187
|
+
},
|
|
12188
|
+
icon: jsx(Copy, {})
|
|
12189
|
+
};
|
|
11476
12190
|
// disable Expire option if warning is not active
|
|
11477
12191
|
var shouldDisableExpire = !dateUtils.isBetween(dateUtils.getNowUtc(), dateUtils.createDate(warning.warningDetail.validFrom), dateUtils.createDate(warning.warningDetail.validUntil), '[]');
|
|
11478
12192
|
switch (warning.status) {
|
|
@@ -11531,11 +12245,44 @@ var WarningListItemMenu = function WarningListItemMenu(_ref) {
|
|
|
11531
12245
|
icon: jsx(Delete, {})
|
|
11532
12246
|
}];
|
|
11533
12247
|
default:
|
|
11534
|
-
|
|
12248
|
+
switch (warning.productStatus) {
|
|
12249
|
+
case ProductStatus.DRAFT:
|
|
12250
|
+
return [aviationDuplicate];
|
|
12251
|
+
case ProductStatus.PUBLISHED:
|
|
12252
|
+
if (warning.type !== 'public' && (isInstanceOfCancelSigmet(warning.sigmetAirmetDetails) || isInstanceOfCancelAirmet(warning.sigmetAirmetDetails))) {
|
|
12253
|
+
return [];
|
|
12254
|
+
}
|
|
12255
|
+
return [{
|
|
12256
|
+
text: t('warning-list-button-renew'),
|
|
12257
|
+
action: function action() {
|
|
12258
|
+
if (warning) {
|
|
12259
|
+
onActionAviationWarning(warning);
|
|
12260
|
+
}
|
|
12261
|
+
},
|
|
12262
|
+
icon: jsx(Update, {})
|
|
12263
|
+
}, aviationDuplicate];
|
|
12264
|
+
case ProductStatus.CANCELLED:
|
|
12265
|
+
return [];
|
|
12266
|
+
case ProductStatus.EXPIRED:
|
|
12267
|
+
if (warning.type !== 'public' && (isInstanceOfCancelSigmet(warning.sigmetAirmetDetails) || isInstanceOfCancelAirmet(warning.sigmetAirmetDetails))) {
|
|
12268
|
+
return [];
|
|
12269
|
+
}
|
|
12270
|
+
return [{
|
|
12271
|
+
text: t('warning-list-button-renew'),
|
|
12272
|
+
action: function action() {
|
|
12273
|
+
if (warning) {
|
|
12274
|
+
onActionAviationWarning(warning, ProductAction.RENEW);
|
|
12275
|
+
}
|
|
12276
|
+
},
|
|
12277
|
+
icon: jsx(Update, {})
|
|
12278
|
+
}, aviationDuplicate];
|
|
12279
|
+
default:
|
|
12280
|
+
return [];
|
|
12281
|
+
}
|
|
11535
12282
|
}
|
|
11536
12283
|
};
|
|
11537
12284
|
|
|
11538
|
-
var _excluded$2 = ["warning", "activeWarningId", "highlightedItem", "onSelectWarning", "onEditWarning", "onDeleteWarning", "onDeleteReviewWarning", "onExpireWarning", "onWithdrawWarning"];
|
|
12285
|
+
var _excluded$2 = ["warning", "activeWarningId", "highlightedItem", "onSelectWarning", "onEditWarning", "onDeleteWarning", "onDeleteReviewWarning", "onExpireWarning", "onWithdrawWarning", "onActionAviationWarning"];
|
|
11539
12286
|
var renderLevelText = function renderLevelText(levelString) {
|
|
11540
12287
|
if (!levelString) {
|
|
11541
12288
|
return null;
|
|
@@ -11572,10 +12319,10 @@ var renderStatusIcon = function renderStatusIcon(warning, status) {
|
|
|
11572
12319
|
icon: icon
|
|
11573
12320
|
});
|
|
11574
12321
|
};
|
|
11575
|
-
if (warning.productStatus === ProductStatus.PUBLISHED && warning.
|
|
11576
|
-
return getStatusTag("Cnls " + warning.
|
|
12322
|
+
if (warning.productStatus === ProductStatus.PUBLISHED && warning.type !== 'public' && (isCancelAirmet(warning.sigmetAirmetDetails) || isCancelSigmet(warning.sigmetAirmetDetails))) {
|
|
12323
|
+
return getStatusTag("Cnls " + (isCancelAirmet(warning.sigmetAirmetDetails) ? warning.sigmetAirmetDetails.cancelsAirmetSequenceId : warning.sigmetAirmetDetails.cancelsSigmetSequenceId), 'red');
|
|
11577
12324
|
}
|
|
11578
|
-
if (warning.productStatus === ProductStatus.CANCELLED && warning.
|
|
12325
|
+
if (warning.productStatus === ProductStatus.CANCELLED && warning.type !== 'public') {
|
|
11579
12326
|
return getStatusTag('Cnld', 'red');
|
|
11580
12327
|
}
|
|
11581
12328
|
switch (status) {
|
|
@@ -11630,12 +12377,14 @@ var WarningListItem = function WarningListItem(_ref) {
|
|
|
11630
12377
|
onExpireWarning = _ref$onExpireWarning === void 0 ? function () {} : _ref$onExpireWarning,
|
|
11631
12378
|
_ref$onWithdrawWarnin = _ref.onWithdrawWarning,
|
|
11632
12379
|
onWithdrawWarning = _ref$onWithdrawWarnin === void 0 ? function () {} : _ref$onWithdrawWarnin,
|
|
12380
|
+
_ref$onActionAviation = _ref.onActionAviationWarning,
|
|
12381
|
+
onActionAviationWarning = _ref$onActionAviation === void 0 ? function () {} : _ref$onActionAviation,
|
|
11633
12382
|
props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
11634
12383
|
var _useWarningsTranslati = useWarningsTranslation(),
|
|
11635
12384
|
t = _useWarningsTranslati.t;
|
|
11636
12385
|
var phenomenonDetails = allPhenomenaDict[warning.warningDetail.phenomenon];
|
|
11637
12386
|
var objectNameText = ((_warning$warningDetai = warning.warningDetail.areas) == null || (_warning$warningDetai = _warning$warningDetai[0]) == null ? void 0 : _warning$warningDetai.objectName) || '-';
|
|
11638
|
-
var objectHoverText = warning.
|
|
12387
|
+
var objectHoverText = warning.type !== 'public' ? warning.sigmetAirmetDetails.firName : objectNameText;
|
|
11639
12388
|
var _useOverflowCheck = useOverflowCheck(objectNameText),
|
|
11640
12389
|
objectNameRef = _useOverflowCheck.ref;
|
|
11641
12390
|
var phenomenonText = phenomenonDetails != null && phenomenonDetails.translationKey ? t(phenomenonDetails.translationKey) : '-';
|
|
@@ -11683,7 +12432,8 @@ var WarningListItem = function WarningListItem(_ref) {
|
|
|
11683
12432
|
onDeleteReviewWarning: onDeleteReviewWarning,
|
|
11684
12433
|
onDeleteWarning: onDeleteWarning,
|
|
11685
12434
|
onExpireWarning: onExpireWarning,
|
|
11686
|
-
onWithdrawWarning: onWithdrawWarning
|
|
12435
|
+
onWithdrawWarning: onWithdrawWarning,
|
|
12436
|
+
onActionAviationWarning: onActionAviationWarning
|
|
11687
12437
|
}),
|
|
11688
12438
|
buttonIcon: jsx(Options, {})
|
|
11689
12439
|
}),
|
|
@@ -12065,8 +12815,8 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
12065
12815
|
_ref$isLoading = _ref.isLoading,
|
|
12066
12816
|
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
12067
12817
|
error = _ref.error,
|
|
12068
|
-
_ref$
|
|
12069
|
-
|
|
12818
|
+
_ref$selectedWarningI = _ref.selectedWarningId,
|
|
12819
|
+
selectedWarningId = _ref$selectedWarningI === void 0 ? '' : _ref$selectedWarningI,
|
|
12070
12820
|
lastUpdatedTime = _ref.lastUpdatedTime,
|
|
12071
12821
|
_ref$onSelectWarning = _ref.onSelectWarning,
|
|
12072
12822
|
onSelectWarning = _ref$onSelectWarning === void 0 ? function () {} : _ref$onSelectWarning,
|
|
@@ -12084,11 +12834,14 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
12084
12834
|
onExpireWarning = _ref$onExpireWarning === void 0 ? function () {} : _ref$onExpireWarning,
|
|
12085
12835
|
_ref$onWithdrawWarnin = _ref.onWithdrawWarning,
|
|
12086
12836
|
onWithdrawWarning = _ref$onWithdrawWarnin === void 0 ? function () {} : _ref$onWithdrawWarnin,
|
|
12837
|
+
_ref$onActionAviation = _ref.onActionAviationWarning,
|
|
12838
|
+
onActionAviationWarning = _ref$onActionAviation === void 0 ? function () {} : _ref$onActionAviation,
|
|
12087
12839
|
hoveredFeatureId = _ref.hoveredFeatureId,
|
|
12088
12840
|
expandedSections = _ref.expandedSections,
|
|
12089
12841
|
setExpandedSections = _ref.setExpandedSections;
|
|
12090
12842
|
var updateFilter = filterHookState.updateFilter,
|
|
12091
|
-
allSelected = filterHookState.allSelected
|
|
12843
|
+
allSelected = filterHookState.allSelected,
|
|
12844
|
+
filterState = filterHookState.filterState;
|
|
12092
12845
|
var _useWarningsTranslati = useWarningsTranslation(),
|
|
12093
12846
|
t = _useWarningsTranslati.t;
|
|
12094
12847
|
var _React$useState = React__default.useState({
|
|
@@ -12220,7 +12973,7 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
12220
12973
|
children: jsx(FilterList, {
|
|
12221
12974
|
isAllSelected: allSelected,
|
|
12222
12975
|
onClickAll: onClickAll,
|
|
12223
|
-
filterState:
|
|
12976
|
+
filterState: filterState,
|
|
12224
12977
|
updateFilter: updateFilter
|
|
12225
12978
|
})
|
|
12226
12979
|
}), jsxs(Grid2, {
|
|
@@ -12370,9 +13123,10 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
12370
13123
|
onEditWarning: onEditWarning,
|
|
12371
13124
|
onDeleteWarning: onDeleteWarning,
|
|
12372
13125
|
onDeleteReviewWarning: onDeleteReviewWarning,
|
|
12373
|
-
activeWarningId:
|
|
13126
|
+
activeWarningId: selectedWarningId,
|
|
12374
13127
|
onExpireWarning: onExpireWarning,
|
|
12375
|
-
onWithdrawWarning: onWithdrawWarning
|
|
13128
|
+
onWithdrawWarning: onWithdrawWarning,
|
|
13129
|
+
onActionAviationWarning: onActionAviationWarning
|
|
12376
13130
|
}, key);
|
|
12377
13131
|
}
|
|
12378
13132
|
});
|
|
@@ -12383,6 +13137,51 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
12383
13137
|
});
|
|
12384
13138
|
};
|
|
12385
13139
|
|
|
13140
|
+
/* *
|
|
13141
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13142
|
+
* you may not use this file except in compliance with the License.
|
|
13143
|
+
* You may obtain a copy of the License at
|
|
13144
|
+
*
|
|
13145
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
13146
|
+
*
|
|
13147
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13148
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13149
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13150
|
+
* See the License for the specific language governing permissions and
|
|
13151
|
+
* limitations under the License.
|
|
13152
|
+
*
|
|
13153
|
+
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
13154
|
+
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
13155
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
13156
|
+
* */
|
|
13157
|
+
var publicWarningsAdapter = createEntityAdapter({
|
|
13158
|
+
selectId: function selectId(warning) {
|
|
13159
|
+
return warning.id;
|
|
13160
|
+
}
|
|
13161
|
+
});
|
|
13162
|
+
var initialState = {
|
|
13163
|
+
warnings: publicWarningsAdapter.getInitialState(),
|
|
13164
|
+
isLoading: true,
|
|
13165
|
+
lastUpdatedTime: '',
|
|
13166
|
+
filterState: {}
|
|
13167
|
+
};
|
|
13168
|
+
var slice = createSlice({
|
|
13169
|
+
initialState: initialState,
|
|
13170
|
+
name: 'publicWarnings',
|
|
13171
|
+
reducers: {
|
|
13172
|
+
setWarningFilters: function setWarningFilters(draft, action) {
|
|
13173
|
+
var _action$payload = action.payload,
|
|
13174
|
+
filterState = _action$payload.filterState,
|
|
13175
|
+
panelId = _action$payload.panelId;
|
|
13176
|
+
if (panelId) {
|
|
13177
|
+
draft.filterState[panelId] = filterState;
|
|
13178
|
+
}
|
|
13179
|
+
}
|
|
13180
|
+
}
|
|
13181
|
+
});
|
|
13182
|
+
var publicWarningsReducer = slice.reducer,
|
|
13183
|
+
publicWarningActions = slice.actions;
|
|
13184
|
+
|
|
12386
13185
|
/* *
|
|
12387
13186
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12388
13187
|
* you may not use this file except in compliance with the License.
|
|
@@ -12455,106 +13254,16 @@ var selectors = /*#__PURE__*/Object.freeze({
|
|
|
12455
13254
|
selectAllPublicWarnings: selectAllPublicWarnings
|
|
12456
13255
|
});
|
|
12457
13256
|
|
|
12458
|
-
var ConfirmDeleteWarningDialog = function ConfirmDeleteWarningDialog(_ref) {
|
|
12459
|
-
var _ref$onClose = _ref.onClose,
|
|
12460
|
-
onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose,
|
|
12461
|
-
title = _ref.title,
|
|
12462
|
-
description = _ref.description,
|
|
12463
|
-
request = _ref.request,
|
|
12464
|
-
confirmLabel = _ref.confirmLabel,
|
|
12465
|
-
callback = _ref.callback,
|
|
12466
|
-
isLocked = _ref.isLocked;
|
|
12467
|
-
var _useWarningsTranslati = useWarningsTranslation(),
|
|
12468
|
-
t = _useWarningsTranslati.t;
|
|
12469
|
-
var defaultError = isLocked ? t('warning-dialog-delete-islocked') : undefined;
|
|
12470
|
-
var _React$useState = React__default.useState(false),
|
|
12471
|
-
isLoading = _React$useState[0],
|
|
12472
|
-
setIsLoading = _React$useState[1];
|
|
12473
|
-
var _React$useState2 = React__default.useState(defaultError),
|
|
12474
|
-
error = _React$useState2[0],
|
|
12475
|
-
setError = _React$useState2[1];
|
|
12476
|
-
var onSubmit = /*#__PURE__*/function () {
|
|
12477
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
12478
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
12479
|
-
while (1) switch (_context.prev = _context.next) {
|
|
12480
|
-
case 0:
|
|
12481
|
-
setIsLoading(true);
|
|
12482
|
-
_context.prev = 1;
|
|
12483
|
-
_context.next = 4;
|
|
12484
|
-
return request();
|
|
12485
|
-
case 4:
|
|
12486
|
-
callback();
|
|
12487
|
-
setIsLoading(false);
|
|
12488
|
-
_context.next = 12;
|
|
12489
|
-
break;
|
|
12490
|
-
case 8:
|
|
12491
|
-
_context.prev = 8;
|
|
12492
|
-
_context.t0 = _context["catch"](1);
|
|
12493
|
-
setError(getAxiosErrorMessage(_context.t0));
|
|
12494
|
-
setIsLoading(false);
|
|
12495
|
-
case 12:
|
|
12496
|
-
case "end":
|
|
12497
|
-
return _context.stop();
|
|
12498
|
-
}
|
|
12499
|
-
}, _callee, null, [[1, 8]]);
|
|
12500
|
-
}));
|
|
12501
|
-
return function onSubmit() {
|
|
12502
|
-
return _ref2.apply(this, arguments);
|
|
12503
|
-
};
|
|
12504
|
-
}();
|
|
12505
|
-
return jsx(ConfirmationDialog, Object.assign({
|
|
12506
|
-
title: title,
|
|
12507
|
-
open: true,
|
|
12508
|
-
confirmLabel: confirmLabel,
|
|
12509
|
-
cancelLabel: t('warning-dialog-cancel'),
|
|
12510
|
-
description: !error ? description : '',
|
|
12511
|
-
onClose: onClose,
|
|
12512
|
-
onSubmit: onSubmit,
|
|
12513
|
-
isLoading: isLoading,
|
|
12514
|
-
sx: {
|
|
12515
|
-
width: 330
|
|
12516
|
-
}
|
|
12517
|
-
}, error && {
|
|
12518
|
-
content: jsxs(Box, {
|
|
12519
|
-
sx: {
|
|
12520
|
-
marginBottom: 0
|
|
12521
|
-
},
|
|
12522
|
-
children: [jsx(AlertBanner, {
|
|
12523
|
-
title: error,
|
|
12524
|
-
severity: isLocked ? 'warning' : 'error'
|
|
12525
|
-
}), jsx(Typography, {
|
|
12526
|
-
variant: "body1",
|
|
12527
|
-
sx: {
|
|
12528
|
-
marginTop: 1
|
|
12529
|
-
},
|
|
12530
|
-
children: description
|
|
12531
|
-
})]
|
|
12532
|
-
})
|
|
12533
|
-
}));
|
|
12534
|
-
};
|
|
12535
|
-
|
|
12536
|
-
/* *
|
|
12537
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12538
|
-
* you may not use this file except in compliance with the License.
|
|
12539
|
-
* You may obtain a copy of the License at
|
|
12540
|
-
*
|
|
12541
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12542
|
-
*
|
|
12543
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12544
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12545
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12546
|
-
* See the License for the specific language governing permissions and
|
|
12547
|
-
* limitations under the License.
|
|
12548
|
-
*
|
|
12549
|
-
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12550
|
-
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
12551
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
12552
|
-
* */
|
|
12553
13257
|
var getLevelsForDomainFilter = function getLevelsForDomainFilter(domainFilter) {
|
|
12554
13258
|
return Object.keys(domainFilter).flatMap(function (domain) {
|
|
12555
13259
|
return domainFilter[domain] ? domainLevels[domain] : [];
|
|
12556
13260
|
});
|
|
12557
13261
|
};
|
|
13262
|
+
var getPhenomenaForDomainFilter = function getPhenomenaForDomainFilter(domainFilter) {
|
|
13263
|
+
return Object.keys(domainFilter).flatMap(function (domain) {
|
|
13264
|
+
return domainFilter[domain] ? domainPhenomena[domain] : [];
|
|
13265
|
+
});
|
|
13266
|
+
};
|
|
12558
13267
|
var getFilterOptions = function getFilterOptions(defaultFilter, allOptions, savedFilter) {
|
|
12559
13268
|
var pickedFilterOptions = pick(defaultFilter, [emptyFilterId].concat(allOptions));
|
|
12560
13269
|
// keep options state from savedFilter if it still exists
|
|
@@ -12577,20 +13286,18 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
12577
13286
|
updatedPickedLevels = _getFilterOptions[0],
|
|
12578
13287
|
allLevelsSelected = _getFilterOptions[1];
|
|
12579
13288
|
// phenomenon
|
|
13289
|
+
var domainPhenomena = useMemo(function () {
|
|
13290
|
+
return getPhenomenaForDomainFilter(pickedDomainFilter);
|
|
13291
|
+
}, [pickedDomainFilter]);
|
|
12580
13292
|
var warningsPhenomena = useMemo(function () {
|
|
12581
13293
|
return getFiltersFromWarnings(warnings, 'phenomenon');
|
|
12582
13294
|
}, [warnings]);
|
|
12583
|
-
|
|
12584
|
-
|
|
12585
|
-
|
|
12586
|
-
|
|
12587
|
-
});
|
|
13295
|
+
var relevantPhenomena = useMemo(function () {
|
|
13296
|
+
return domainPhenomena.filter(function (phenomenon) {
|
|
13297
|
+
return warningsPhenomena.includes(phenomenon);
|
|
13298
|
+
});
|
|
13299
|
+
}, [warningsPhenomena, domainPhenomena]);
|
|
12588
13300
|
relevantPhenomena.push(emptyFilterId);
|
|
12589
|
-
var defaultPhenomenonFilter = useMemo(function () {
|
|
12590
|
-
return Object.fromEntries(relevantPhenomena.map(function (key) {
|
|
12591
|
-
return [key, true];
|
|
12592
|
-
}));
|
|
12593
|
-
}, [relevantPhenomena]);
|
|
12594
13301
|
var _getFilterOptions2 = getFilterOptions(defaultPhenomenonFilter, relevantPhenomena, pickedPhenomenonFilter),
|
|
12595
13302
|
updatedPickedPhenomena = _getFilterOptions2[0],
|
|
12596
13303
|
allPhenomenaSelected = _getFilterOptions2[1];
|
|
@@ -12621,7 +13328,14 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
12621
13328
|
useEffect(function () {
|
|
12622
13329
|
// when the preset changes, update the filters
|
|
12623
13330
|
if (presetFilterState) {
|
|
12624
|
-
|
|
13331
|
+
var initialFiltersWithPresets = {
|
|
13332
|
+
incident: Object.assign({}, makeFilterFromList(relevantIncidents), presetFilterState.incident),
|
|
13333
|
+
source: Object.assign({}, makeFilterFromList(relevantSources), presetFilterState.source),
|
|
13334
|
+
domain: Object.assign({}, initialFilters.domain, presetFilterState.domain),
|
|
13335
|
+
phenomenon: Object.assign({}, initialFilters.phenomenon, presetFilterState.phenomenon),
|
|
13336
|
+
level: Object.assign({}, initialFilters.level, presetFilterState.level)
|
|
13337
|
+
};
|
|
13338
|
+
onUpdateFilters(initialFiltersWithPresets, 'system');
|
|
12625
13339
|
} else {
|
|
12626
13340
|
// for a preset without filters saved use the initial filters
|
|
12627
13341
|
onUpdateFilters(Object.assign({}, initialFilters, {
|
|
@@ -12688,7 +13402,7 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
12688
13402
|
if (!pickedLevelFilter[level]) {
|
|
12689
13403
|
return false;
|
|
12690
13404
|
}
|
|
12691
|
-
var phenomenon = getValue(
|
|
13405
|
+
var phenomenon = getValue(AllPhenomenaKeys, warning.warningDetail.phenomenon);
|
|
12692
13406
|
if (!pickedPhenomenonFilter[phenomenon]) {
|
|
12693
13407
|
return false;
|
|
12694
13408
|
}
|
|
@@ -12717,41 +13431,115 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
12717
13431
|
incident: updatedPickedIncidents,
|
|
12718
13432
|
source: updatedPickedSources
|
|
12719
13433
|
}
|
|
12720
|
-
};
|
|
13434
|
+
};
|
|
13435
|
+
};
|
|
13436
|
+
|
|
13437
|
+
var ConfirmDeleteWarningDialog = function ConfirmDeleteWarningDialog(_ref) {
|
|
13438
|
+
var _ref$onClose = _ref.onClose,
|
|
13439
|
+
onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose,
|
|
13440
|
+
title = _ref.title,
|
|
13441
|
+
description = _ref.description,
|
|
13442
|
+
request = _ref.request,
|
|
13443
|
+
confirmLabel = _ref.confirmLabel,
|
|
13444
|
+
callback = _ref.callback,
|
|
13445
|
+
isLocked = _ref.isLocked;
|
|
13446
|
+
var _useWarningsTranslati = useWarningsTranslation(),
|
|
13447
|
+
t = _useWarningsTranslati.t;
|
|
13448
|
+
var defaultError = isLocked ? t('warning-dialog-delete-islocked') : undefined;
|
|
13449
|
+
var _React$useState = React__default.useState(false),
|
|
13450
|
+
isLoading = _React$useState[0],
|
|
13451
|
+
setIsLoading = _React$useState[1];
|
|
13452
|
+
var _React$useState2 = React__default.useState(defaultError),
|
|
13453
|
+
error = _React$useState2[0],
|
|
13454
|
+
setError = _React$useState2[1];
|
|
13455
|
+
var onSubmit = /*#__PURE__*/function () {
|
|
13456
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
13457
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
13458
|
+
while (1) switch (_context.prev = _context.next) {
|
|
13459
|
+
case 0:
|
|
13460
|
+
setIsLoading(true);
|
|
13461
|
+
_context.prev = 1;
|
|
13462
|
+
_context.next = 4;
|
|
13463
|
+
return request();
|
|
13464
|
+
case 4:
|
|
13465
|
+
callback();
|
|
13466
|
+
setIsLoading(false);
|
|
13467
|
+
_context.next = 12;
|
|
13468
|
+
break;
|
|
13469
|
+
case 8:
|
|
13470
|
+
_context.prev = 8;
|
|
13471
|
+
_context.t0 = _context["catch"](1);
|
|
13472
|
+
setError(getAxiosErrorMessage(_context.t0));
|
|
13473
|
+
setIsLoading(false);
|
|
13474
|
+
case 12:
|
|
13475
|
+
case "end":
|
|
13476
|
+
return _context.stop();
|
|
13477
|
+
}
|
|
13478
|
+
}, _callee, null, [[1, 8]]);
|
|
13479
|
+
}));
|
|
13480
|
+
return function onSubmit() {
|
|
13481
|
+
return _ref2.apply(this, arguments);
|
|
13482
|
+
};
|
|
13483
|
+
}();
|
|
13484
|
+
return jsx(ConfirmationDialog, Object.assign({
|
|
13485
|
+
title: title,
|
|
13486
|
+
open: true,
|
|
13487
|
+
confirmLabel: confirmLabel,
|
|
13488
|
+
cancelLabel: t('warning-dialog-cancel'),
|
|
13489
|
+
description: !error ? description : '',
|
|
13490
|
+
onClose: onClose,
|
|
13491
|
+
onSubmit: onSubmit,
|
|
13492
|
+
isLoading: isLoading,
|
|
13493
|
+
sx: {
|
|
13494
|
+
width: 330
|
|
13495
|
+
}
|
|
13496
|
+
}, error && {
|
|
13497
|
+
content: jsxs(Box, {
|
|
13498
|
+
sx: {
|
|
13499
|
+
marginBottom: 0
|
|
13500
|
+
},
|
|
13501
|
+
children: [jsx(AlertBanner, {
|
|
13502
|
+
title: error,
|
|
13503
|
+
severity: isLocked ? 'warning' : 'error'
|
|
13504
|
+
}), jsx(Typography, {
|
|
13505
|
+
variant: "body1",
|
|
13506
|
+
sx: {
|
|
13507
|
+
marginTop: 1
|
|
13508
|
+
},
|
|
13509
|
+
children: description
|
|
13510
|
+
})]
|
|
13511
|
+
})
|
|
13512
|
+
}));
|
|
12721
13513
|
};
|
|
12722
13514
|
|
|
12723
13515
|
var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
12724
13516
|
var panelId = _ref.panelId,
|
|
12725
13517
|
presetFilterState = _ref.presetFilterState;
|
|
13518
|
+
var updatePublicWarningEditor = useMutatePublicWarningEditor();
|
|
12726
13519
|
var _useWarningsTranslati = useWarningsTranslation(),
|
|
12727
13520
|
t = _useWarningsTranslati.t;
|
|
12728
13521
|
var dispatch = useDispatch();
|
|
12729
13522
|
var confirmDialog = useConfirmationDialog();
|
|
12730
13523
|
var _useAuthenticationCon = useAuthenticationContext$1(),
|
|
12731
13524
|
auth = _useAuthenticationCon.auth;
|
|
12732
|
-
var
|
|
12733
|
-
|
|
12734
|
-
|
|
12735
|
-
|
|
12736
|
-
|
|
12737
|
-
|
|
12738
|
-
|
|
12739
|
-
isFetchingSigmet = _useSigmetList.isFetching;
|
|
13525
|
+
var _useWarnings = useWarnings(),
|
|
13526
|
+
combinedWarnings = _useWarnings.combinedWarnings,
|
|
13527
|
+
refetchWarnings = _useWarnings.refetchWarnings,
|
|
13528
|
+
isFetching = _useWarnings.isFetching,
|
|
13529
|
+
error = _useWarnings.error,
|
|
13530
|
+
dataUpdatedAt = _useWarnings.dataUpdatedAt;
|
|
13531
|
+
var lastUpdateTime = dateUtils.dateToString(new Date(dataUpdatedAt), dateUtils.DATE_FORMAT_HOURS);
|
|
12740
13532
|
var _React$useState = React__default.useState(undefined),
|
|
12741
13533
|
confirmDialogOptions = _React$useState[0],
|
|
12742
13534
|
setConfirmDialogOptions = _React$useState[1];
|
|
12743
|
-
var
|
|
12744
|
-
var selectedPublicWarningId = useSelector(getSelectedPublicWarningId);
|
|
12745
|
-
var isLoading = useSelector(isPublicWarningsLoading) || isFetchingAirmet || isFetchingSigmet;
|
|
12746
|
-
var error = useSelector(getPublicWarningsError);
|
|
12747
|
-
var isFormDirty = useSelector(getSelectedPublicIsFormDirty);
|
|
12748
|
-
var lastUpdatedTime = useSelector(getPublicWarningsLastUpdatedTime);
|
|
13535
|
+
var selectedWarningId = useSelector(getSelectedWarningId);
|
|
12749
13536
|
var savedFilterState = useSelector(function (store) {
|
|
12750
13537
|
return getWarningsFilterById(store, panelId);
|
|
12751
13538
|
});
|
|
13539
|
+
var isFormDirty = useSelector(getSelectedPublicIsFormDirty);
|
|
12752
13540
|
var warningsApi = getWarningsApi();
|
|
12753
13541
|
var openPublicWarningDialog = /*#__PURE__*/function () {
|
|
12754
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(formAction,
|
|
13542
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(formAction, warning, warningType) {
|
|
12755
13543
|
var mayProceed;
|
|
12756
13544
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
12757
13545
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -12774,8 +13562,8 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12774
13562
|
}
|
|
12775
13563
|
return _context.abrupt("return");
|
|
12776
13564
|
case 6:
|
|
12777
|
-
dispatch(publicWarningFormActions.openPublicWarningFormDialog(Object.assign({},
|
|
12778
|
-
|
|
13565
|
+
dispatch(publicWarningFormActions.openPublicWarningFormDialog(Object.assign({}, warning && {
|
|
13566
|
+
warning: warning
|
|
12779
13567
|
}, {
|
|
12780
13568
|
formState: formAction,
|
|
12781
13569
|
warningType: warningType,
|
|
@@ -12803,24 +13591,24 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12803
13591
|
while (1) switch (_context2.prev = _context2.next) {
|
|
12804
13592
|
case 0:
|
|
12805
13593
|
if (!(publicWarning.id && auth != null && auth.username && !publicWarning.editor)) {
|
|
12806
|
-
_context2.next =
|
|
13594
|
+
_context2.next = 7;
|
|
12807
13595
|
break;
|
|
12808
13596
|
}
|
|
12809
|
-
|
|
12810
|
-
|
|
12811
|
-
|
|
12812
|
-
|
|
12813
|
-
})
|
|
12814
|
-
_context2.next =
|
|
13597
|
+
refetchWarnings();
|
|
13598
|
+
updatePublicWarningEditor.mutate({
|
|
13599
|
+
id: publicWarning.id,
|
|
13600
|
+
isEditor: true
|
|
13601
|
+
});
|
|
13602
|
+
_context2.next = 5;
|
|
12815
13603
|
return openPublicWarningDialog('', Object.assign({}, publicWarning, {
|
|
12816
13604
|
editor: auth == null ? void 0 : auth.username
|
|
12817
13605
|
}));
|
|
12818
|
-
case
|
|
12819
|
-
_context2.next =
|
|
13606
|
+
case 5:
|
|
13607
|
+
_context2.next = 8;
|
|
12820
13608
|
break;
|
|
12821
|
-
case 6:
|
|
12822
|
-
void openPublicWarningDialog('', publicWarning);
|
|
12823
13609
|
case 7:
|
|
13610
|
+
void openPublicWarningDialog('', publicWarning);
|
|
13611
|
+
case 8:
|
|
12824
13612
|
case "end":
|
|
12825
13613
|
return _context2.stop();
|
|
12826
13614
|
}
|
|
@@ -12890,6 +13678,25 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12890
13678
|
return _ref5.apply(this, arguments);
|
|
12891
13679
|
};
|
|
12892
13680
|
}();
|
|
13681
|
+
var warningType = useSelector(getWarningType);
|
|
13682
|
+
var _useProductConfig = useProductConfig(warningType, false),
|
|
13683
|
+
aviationConfig = _useProductConfig.data;
|
|
13684
|
+
var handleAviationProductClick = function handleAviationProductClick(warning, actionType) {
|
|
13685
|
+
if (!warning) {
|
|
13686
|
+
return;
|
|
13687
|
+
}
|
|
13688
|
+
var type = warning.warningDetail.level === 'SIG' ? 'sigmet' : 'airmet';
|
|
13689
|
+
var updatedWarning;
|
|
13690
|
+
switch (actionType) {
|
|
13691
|
+
case 'RENEW':
|
|
13692
|
+
updatedWarning = renewAviationProduct(warning, aviationConfig);
|
|
13693
|
+
break;
|
|
13694
|
+
case 'DUPLICATE':
|
|
13695
|
+
updatedWarning = duplicateAviationProduct(warning);
|
|
13696
|
+
break;
|
|
13697
|
+
}
|
|
13698
|
+
void openPublicWarningDialog('edit', updatedWarning, type);
|
|
13699
|
+
};
|
|
12893
13700
|
var openSnackbar = function openSnackbar(message) {
|
|
12894
13701
|
dispatch(snackbarActions.openSnackbar({
|
|
12895
13702
|
type: snackbarTypes.SnackbarMessageType.VERBATIM_MESSAGE,
|
|
@@ -12931,29 +13738,15 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12931
13738
|
// close confirm dialog
|
|
12932
13739
|
setConfirmDialogOptions(undefined);
|
|
12933
13740
|
// Close warning dialog if needed
|
|
12934
|
-
if (
|
|
13741
|
+
if (selectedWarningId === warningId) {
|
|
12935
13742
|
dispatch(uiActions.setToggleOpenDialog({
|
|
12936
13743
|
setOpen: false,
|
|
12937
13744
|
type: publicWarningDialogType
|
|
12938
13745
|
}));
|
|
12939
13746
|
}
|
|
12940
13747
|
openSnackbar(snackbarMessage);
|
|
12941
|
-
|
|
13748
|
+
refetchWarnings();
|
|
12942
13749
|
};
|
|
12943
|
-
var fetchWarnings = React__default.useCallback(function () {
|
|
12944
|
-
void refetchAirmetList();
|
|
12945
|
-
void refetchSigmetList();
|
|
12946
|
-
dispatch(publicWarningActions.fetchWarnings());
|
|
12947
|
-
}, [dispatch, refetchAirmetList, refetchSigmetList]);
|
|
12948
|
-
React__default.useEffect(function () {
|
|
12949
|
-
// fetch warnings on mount
|
|
12950
|
-
fetchWarnings();
|
|
12951
|
-
}, [fetchWarnings]);
|
|
12952
|
-
var combinedWarnings = React__default.useMemo(function () {
|
|
12953
|
-
var transformedSigmets = (sigmetList == null ? void 0 : sigmetList.map(transformSigmetToWarningFormat)) || [];
|
|
12954
|
-
var transformedAirmets = (airmetList == null ? void 0 : airmetList.map(transformAirmetToWarningFormat)) || [];
|
|
12955
|
-
return publicWarnings.concat(transformedSigmets).concat(transformedAirmets);
|
|
12956
|
-
}, [publicWarnings, sigmetList, airmetList]);
|
|
12957
13750
|
var onUpdateFilters = React__default.useCallback(function (filterState, origin) {
|
|
12958
13751
|
dispatch(publicWarningActions.setWarningFilters({
|
|
12959
13752
|
filterState: filterState,
|
|
@@ -12980,8 +13773,7 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12980
13773
|
}, [filteredWarnings, expandedSections]);
|
|
12981
13774
|
var allFeatures = React__default.useMemo(function () {
|
|
12982
13775
|
return filteredWarningsByExpandedSections.flatMap(function (warning) {
|
|
12983
|
-
|
|
12984
|
-
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) {
|
|
13776
|
+
return (warning == null ? void 0 : warning.id) && (warning != null && warning.warningDetail && warning.warningDetail.areas ? warning.warningDetail.areas.filter(function (area) {
|
|
12985
13777
|
return area.geoJSON;
|
|
12986
13778
|
}).map(function (area) {
|
|
12987
13779
|
var isAviationWarning = warning.warningDetail.level === 'SIG' || warning.warningDetail.level === 'AIR';
|
|
@@ -12991,7 +13783,7 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12991
13783
|
originalId: warning.id,
|
|
12992
13784
|
geoJSON: styledGeoJSON
|
|
12993
13785
|
};
|
|
12994
|
-
})) || [];
|
|
13786
|
+
}) : []) || [];
|
|
12995
13787
|
}).filter(function (feature) {
|
|
12996
13788
|
return feature.id;
|
|
12997
13789
|
});
|
|
@@ -13005,8 +13797,8 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
13005
13797
|
warnings: filteredWarnings,
|
|
13006
13798
|
expandedSections: expandedSections,
|
|
13007
13799
|
setExpandedSections: setExpandedSections,
|
|
13008
|
-
isLoading:
|
|
13009
|
-
error: error,
|
|
13800
|
+
isLoading: isFetching,
|
|
13801
|
+
error: error || undefined,
|
|
13010
13802
|
onSelectWarning: selectWarning,
|
|
13011
13803
|
onCreateWarning: createWarning,
|
|
13012
13804
|
onEditWarning: editWarning,
|
|
@@ -13014,11 +13806,12 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
13014
13806
|
onDeleteReviewWarning: deleteReviewWarning,
|
|
13015
13807
|
onExpireWarning: expireWarning,
|
|
13016
13808
|
onWithdrawWarning: withdrawWarning,
|
|
13017
|
-
|
|
13018
|
-
lastUpdatedTime:
|
|
13019
|
-
onRefetchWarnings:
|
|
13809
|
+
selectedWarningId: selectedWarningId,
|
|
13810
|
+
lastUpdatedTime: lastUpdateTime,
|
|
13811
|
+
onRefetchWarnings: refetchWarnings,
|
|
13020
13812
|
filterHookState: filterHookState,
|
|
13021
|
-
hoveredFeatureId: hoveredFeatureId
|
|
13813
|
+
hoveredFeatureId: hoveredFeatureId,
|
|
13814
|
+
onActionAviationWarning: handleAviationProductClick
|
|
13022
13815
|
}), confirmDialogOptions && jsx(ConfirmDeleteWarningDialog, {
|
|
13023
13816
|
onClose: function onClose() {
|
|
13024
13817
|
return setConfirmDialogOptions(undefined);
|
|
@@ -13089,48 +13882,49 @@ var componentsLookUp = function componentsLookUp(payload, apiProps) {
|
|
|
13089
13882
|
var getErrorMessage = function getErrorMessage(error) {
|
|
13090
13883
|
return isAxiosError(error) ? getAxiosErrorMessage(error) : error.message;
|
|
13091
13884
|
};
|
|
13092
|
-
var getToggleEditorSuccessMessage = function getToggleEditorSuccessMessage(isEditor) {
|
|
13093
|
-
return isEditor ? 'warning-editor-add-editor' : 'warning-editor-remove-editor';
|
|
13094
|
-
};
|
|
13095
13885
|
var publicWarningFormListener = createListenerMiddleware();
|
|
13096
13886
|
publicWarningFormListener.startListening({
|
|
13097
|
-
actionCreator: publicWarningFormActions.
|
|
13887
|
+
actionCreator: publicWarningFormActions.publishWarning,
|
|
13098
13888
|
effect: function () {
|
|
13099
13889
|
var _effect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref, listenerApi) {
|
|
13100
|
-
var payload,
|
|
13890
|
+
var payload, publicWarning, refetchWarnings, publishedWarning, isDialogOpen;
|
|
13101
13891
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
13102
13892
|
while (1) switch (_context.prev = _context.next) {
|
|
13103
13893
|
case 0:
|
|
13104
13894
|
payload = _ref.payload;
|
|
13105
13895
|
listenerApi.cancelActiveListeners();
|
|
13106
13896
|
_context.prev = 2;
|
|
13107
|
-
|
|
13108
|
-
|
|
13109
|
-
|
|
13110
|
-
|
|
13111
|
-
|
|
13112
|
-
|
|
13113
|
-
|
|
13114
|
-
|
|
13115
|
-
|
|
13116
|
-
|
|
13897
|
+
publicWarning = payload.publicWarning, refetchWarnings = payload.refetchWarnings;
|
|
13898
|
+
_context.next = 6;
|
|
13899
|
+
return saveOrUpdateWarning(publicWarning);
|
|
13900
|
+
case 6:
|
|
13901
|
+
publishedWarning = _context.sent;
|
|
13902
|
+
if (refetchWarnings) {
|
|
13903
|
+
refetchWarnings();
|
|
13904
|
+
}
|
|
13905
|
+
listenerApi.dispatch(publicWarningFormActions.publishWarningSuccess({
|
|
13906
|
+
publicWarning: publishedWarning,
|
|
13117
13907
|
message: {
|
|
13118
13908
|
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
13119
|
-
key:
|
|
13909
|
+
key: 'warning-publish-succes'
|
|
13120
13910
|
}
|
|
13121
13911
|
}));
|
|
13122
|
-
|
|
13912
|
+
listenerApi.dispatch(uiActions.setToggleOpenDialog({
|
|
13913
|
+
type: publicWarningDialogType,
|
|
13914
|
+
setOpen: false
|
|
13915
|
+
}));
|
|
13916
|
+
_context.next = 16;
|
|
13123
13917
|
break;
|
|
13124
|
-
case
|
|
13125
|
-
_context.prev =
|
|
13918
|
+
case 12:
|
|
13919
|
+
_context.prev = 12;
|
|
13126
13920
|
_context.t0 = _context["catch"](2);
|
|
13127
13921
|
isDialogOpen = uiSelectors.getisDialogOpen(listenerApi.getState(), publicWarningDialogType);
|
|
13128
13922
|
errorEffect(listenerApi.dispatch, getErrorMessage(_context.t0), isDialogOpen);
|
|
13129
|
-
case
|
|
13923
|
+
case 16:
|
|
13130
13924
|
case "end":
|
|
13131
13925
|
return _context.stop();
|
|
13132
13926
|
}
|
|
13133
|
-
}, _callee, null, [[2,
|
|
13927
|
+
}, _callee, null, [[2, 12]]);
|
|
13134
13928
|
}));
|
|
13135
13929
|
function effect(_x, _x2) {
|
|
13136
13930
|
return _effect.apply(this, arguments);
|
|
@@ -13139,32 +13933,31 @@ publicWarningFormListener.startListening({
|
|
|
13139
13933
|
}()
|
|
13140
13934
|
});
|
|
13141
13935
|
publicWarningFormListener.startListening({
|
|
13142
|
-
actionCreator: publicWarningFormActions.
|
|
13936
|
+
actionCreator: publicWarningFormActions.saveWarning,
|
|
13143
13937
|
effect: function () {
|
|
13144
13938
|
var _effect2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2, listenerApi) {
|
|
13145
|
-
var payload, publicWarning,
|
|
13939
|
+
var payload, publicWarning, refetchWarnings, savedWarning, isDialogOpen;
|
|
13146
13940
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
13147
13941
|
while (1) switch (_context2.prev = _context2.next) {
|
|
13148
13942
|
case 0:
|
|
13149
13943
|
payload = _ref2.payload;
|
|
13150
13944
|
listenerApi.cancelActiveListeners();
|
|
13151
13945
|
_context2.prev = 2;
|
|
13152
|
-
publicWarning = payload.publicWarning;
|
|
13946
|
+
publicWarning = payload.publicWarning, refetchWarnings = payload.refetchWarnings;
|
|
13153
13947
|
_context2.next = 6;
|
|
13154
13948
|
return saveOrUpdateWarning(publicWarning);
|
|
13155
13949
|
case 6:
|
|
13156
|
-
|
|
13157
|
-
|
|
13158
|
-
|
|
13950
|
+
savedWarning = _context2.sent;
|
|
13951
|
+
if (refetchWarnings) {
|
|
13952
|
+
refetchWarnings();
|
|
13953
|
+
}
|
|
13954
|
+
listenerApi.dispatch(publicWarningFormActions.saveWarningSuccess({
|
|
13955
|
+
publicWarning: savedWarning,
|
|
13159
13956
|
message: {
|
|
13160
13957
|
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
13161
|
-
key: 'warning-
|
|
13958
|
+
key: 'warning-save-succes'
|
|
13162
13959
|
}
|
|
13163
13960
|
}));
|
|
13164
|
-
listenerApi.dispatch(uiActions.setToggleOpenDialog({
|
|
13165
|
-
type: publicWarningDialogType,
|
|
13166
|
-
setOpen: false
|
|
13167
|
-
}));
|
|
13168
13961
|
_context2.next = 15;
|
|
13169
13962
|
break;
|
|
13170
13963
|
case 11:
|
|
@@ -13184,41 +13977,26 @@ publicWarningFormListener.startListening({
|
|
|
13184
13977
|
return effect;
|
|
13185
13978
|
}()
|
|
13186
13979
|
});
|
|
13980
|
+
// Side effects/snackbar listeners
|
|
13187
13981
|
publicWarningFormListener.startListening({
|
|
13188
|
-
|
|
13982
|
+
matcher: isAnyOf(publicWarningFormActions.publishWarningSuccess, publicWarningFormActions.saveWarningSuccess),
|
|
13189
13983
|
effect: function () {
|
|
13190
13984
|
var _effect3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref3, listenerApi) {
|
|
13191
|
-
var payload,
|
|
13985
|
+
var payload, message, isDialogOpen;
|
|
13192
13986
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
13193
13987
|
while (1) switch (_context3.prev = _context3.next) {
|
|
13194
13988
|
case 0:
|
|
13195
13989
|
payload = _ref3.payload;
|
|
13196
13990
|
listenerApi.cancelActiveListeners();
|
|
13197
|
-
|
|
13198
|
-
|
|
13199
|
-
_context3.next = 6;
|
|
13200
|
-
return saveOrUpdateWarning(publicWarning);
|
|
13201
|
-
case 6:
|
|
13202
|
-
savedWarning = _context3.sent;
|
|
13203
|
-
listenerApi.dispatch(publicWarningFormActions.saveWarningSuccess({
|
|
13204
|
-
publicWarning: savedWarning,
|
|
13205
|
-
message: {
|
|
13206
|
-
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
13207
|
-
key: 'warning-save-succes'
|
|
13208
|
-
}
|
|
13209
|
-
}));
|
|
13210
|
-
_context3.next = 14;
|
|
13211
|
-
break;
|
|
13212
|
-
case 10:
|
|
13213
|
-
_context3.prev = 10;
|
|
13214
|
-
_context3.t0 = _context3["catch"](2);
|
|
13991
|
+
message = payload.message;
|
|
13992
|
+
listenerApi.dispatch(snackbarActions.openSnackbar(message));
|
|
13215
13993
|
isDialogOpen = uiSelectors.getisDialogOpen(listenerApi.getState(), publicWarningDialogType);
|
|
13216
|
-
|
|
13217
|
-
case
|
|
13994
|
+
toggleDialogLoadingEffect(listenerApi.dispatch, isDialogOpen, false);
|
|
13995
|
+
case 6:
|
|
13218
13996
|
case "end":
|
|
13219
13997
|
return _context3.stop();
|
|
13220
13998
|
}
|
|
13221
|
-
}, _callee3
|
|
13999
|
+
}, _callee3);
|
|
13222
14000
|
}));
|
|
13223
14001
|
function effect(_x5, _x6) {
|
|
13224
14002
|
return _effect3.apply(this, arguments);
|
|
@@ -13226,22 +14004,18 @@ publicWarningFormListener.startListening({
|
|
|
13226
14004
|
return effect;
|
|
13227
14005
|
}()
|
|
13228
14006
|
});
|
|
13229
|
-
// Side effects/snackbar listeners
|
|
13230
14007
|
publicWarningFormListener.startListening({
|
|
13231
|
-
matcher: isAnyOf(publicWarningFormActions.
|
|
14008
|
+
matcher: isAnyOf(publicWarningFormActions.publishWarning, publicWarningFormActions.saveWarning),
|
|
13232
14009
|
effect: function () {
|
|
13233
|
-
var _effect4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(
|
|
13234
|
-
var
|
|
14010
|
+
var _effect4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_, listenerApi) {
|
|
14011
|
+
var isDialogOpen;
|
|
13235
14012
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
13236
14013
|
while (1) switch (_context4.prev = _context4.next) {
|
|
13237
14014
|
case 0:
|
|
13238
|
-
payload = _ref4.payload;
|
|
13239
14015
|
listenerApi.cancelActiveListeners();
|
|
13240
|
-
message = payload.message;
|
|
13241
|
-
listenerApi.dispatch(snackbarActions.openSnackbar(message));
|
|
13242
14016
|
isDialogOpen = uiSelectors.getisDialogOpen(listenerApi.getState(), publicWarningDialogType);
|
|
13243
|
-
toggleDialogLoadingEffect(listenerApi.dispatch, isDialogOpen,
|
|
13244
|
-
case
|
|
14017
|
+
toggleDialogLoadingEffect(listenerApi.dispatch, isDialogOpen, true);
|
|
14018
|
+
case 3:
|
|
13245
14019
|
case "end":
|
|
13246
14020
|
return _context4.stop();
|
|
13247
14021
|
}
|
|
@@ -13253,38 +14027,15 @@ publicWarningFormListener.startListening({
|
|
|
13253
14027
|
return effect;
|
|
13254
14028
|
}()
|
|
13255
14029
|
});
|
|
13256
|
-
publicWarningFormListener.startListening({
|
|
13257
|
-
matcher: isAnyOf(publicWarningFormActions.publishWarning, publicWarningFormActions.saveWarning),
|
|
13258
|
-
effect: function () {
|
|
13259
|
-
var _effect5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_, listenerApi) {
|
|
13260
|
-
var isDialogOpen;
|
|
13261
|
-
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
13262
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
13263
|
-
case 0:
|
|
13264
|
-
listenerApi.cancelActiveListeners();
|
|
13265
|
-
isDialogOpen = uiSelectors.getisDialogOpen(listenerApi.getState(), publicWarningDialogType);
|
|
13266
|
-
toggleDialogLoadingEffect(listenerApi.dispatch, isDialogOpen, true);
|
|
13267
|
-
case 3:
|
|
13268
|
-
case "end":
|
|
13269
|
-
return _context5.stop();
|
|
13270
|
-
}
|
|
13271
|
-
}, _callee5);
|
|
13272
|
-
}));
|
|
13273
|
-
function effect(_x9, _x10) {
|
|
13274
|
-
return _effect5.apply(this, arguments);
|
|
13275
|
-
}
|
|
13276
|
-
return effect;
|
|
13277
|
-
}()
|
|
13278
|
-
});
|
|
13279
14030
|
publicWarningFormListener.startListening({
|
|
13280
14031
|
actionCreator: publicWarningFormActions.openPublicWarningFormDialog,
|
|
13281
14032
|
effect: function () {
|
|
13282
|
-
var
|
|
14033
|
+
var _effect5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref4, listenerApi) {
|
|
13283
14034
|
var payload, panelId;
|
|
13284
|
-
return _regeneratorRuntime().wrap(function
|
|
13285
|
-
while (1) switch (
|
|
14035
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
14036
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
13286
14037
|
case 0:
|
|
13287
|
-
payload =
|
|
14038
|
+
payload = _ref4.payload;
|
|
13288
14039
|
listenerApi.cancelActiveListeners();
|
|
13289
14040
|
panelId = payload.panelId;
|
|
13290
14041
|
listenerApi.dispatch(uiActions.setToggleOpenDialog({
|
|
@@ -13294,35 +14045,35 @@ publicWarningFormListener.startListening({
|
|
|
13294
14045
|
}));
|
|
13295
14046
|
case 4:
|
|
13296
14047
|
case "end":
|
|
13297
|
-
return
|
|
14048
|
+
return _context5.stop();
|
|
13298
14049
|
}
|
|
13299
|
-
},
|
|
14050
|
+
}, _callee5);
|
|
13300
14051
|
}));
|
|
13301
|
-
function effect(
|
|
13302
|
-
return
|
|
14052
|
+
function effect(_x9, _x10) {
|
|
14053
|
+
return _effect5.apply(this, arguments);
|
|
13303
14054
|
}
|
|
13304
14055
|
return effect;
|
|
13305
14056
|
}()
|
|
13306
14057
|
});
|
|
13307
14058
|
var saveOrUpdateWarning = /*#__PURE__*/function () {
|
|
13308
|
-
var
|
|
14059
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(publicWarning) {
|
|
13309
14060
|
var warningsApi, warningDetail, status, warning, newWarningId;
|
|
13310
|
-
return _regeneratorRuntime().wrap(function
|
|
13311
|
-
while (1) switch (
|
|
14061
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
14062
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
13312
14063
|
case 0:
|
|
13313
14064
|
warningsApi = getWarningsApi();
|
|
13314
14065
|
warningDetail = publicWarning.warningDetail, status = publicWarning.status;
|
|
13315
14066
|
if (!warningDetail.id) {
|
|
13316
|
-
|
|
14067
|
+
_context6.next = 6;
|
|
13317
14068
|
break;
|
|
13318
14069
|
}
|
|
13319
|
-
|
|
14070
|
+
_context6.next = 5;
|
|
13320
14071
|
return warningsApi.updateWarning(warningDetail.id, publicWarning);
|
|
13321
14072
|
case 5:
|
|
13322
|
-
return
|
|
14073
|
+
return _context6.abrupt("return", publicWarning);
|
|
13323
14074
|
case 6:
|
|
13324
14075
|
if (!(status === 'PUBLISHED' && warningDetail.linked_to_id)) {
|
|
13325
|
-
|
|
14076
|
+
_context6.next = 11;
|
|
13326
14077
|
break;
|
|
13327
14078
|
}
|
|
13328
14079
|
warning = Object.assign({}, publicWarning, {
|
|
@@ -13330,28 +14081,28 @@ var saveOrUpdateWarning = /*#__PURE__*/function () {
|
|
|
13330
14081
|
id: warningDetail.linked_to_id
|
|
13331
14082
|
})
|
|
13332
14083
|
});
|
|
13333
|
-
|
|
14084
|
+
_context6.next = 10;
|
|
13334
14085
|
return warningsApi.updateWarning(warningDetail.linked_to_id, warning);
|
|
13335
14086
|
case 10:
|
|
13336
|
-
return
|
|
14087
|
+
return _context6.abrupt("return", warning);
|
|
13337
14088
|
case 11:
|
|
13338
|
-
|
|
14089
|
+
_context6.next = 13;
|
|
13339
14090
|
return warningsApi.saveWarningAs(publicWarning);
|
|
13340
14091
|
case 13:
|
|
13341
|
-
newWarningId =
|
|
13342
|
-
return
|
|
14092
|
+
newWarningId = _context6.sent;
|
|
14093
|
+
return _context6.abrupt("return", Object.assign({}, publicWarning, {
|
|
13343
14094
|
warningDetail: Object.assign({}, warningDetail, {
|
|
13344
14095
|
id: newWarningId
|
|
13345
14096
|
})
|
|
13346
14097
|
}));
|
|
13347
14098
|
case 15:
|
|
13348
14099
|
case "end":
|
|
13349
|
-
return
|
|
14100
|
+
return _context6.stop();
|
|
13350
14101
|
}
|
|
13351
|
-
},
|
|
14102
|
+
}, _callee6);
|
|
13352
14103
|
}));
|
|
13353
|
-
return function saveOrUpdateWarning(
|
|
13354
|
-
return
|
|
14104
|
+
return function saveOrUpdateWarning(_x11) {
|
|
14105
|
+
return _ref5.apply(this, arguments);
|
|
13355
14106
|
};
|
|
13356
14107
|
}();
|
|
13357
14108
|
var toggleDialogLoadingEffect = function toggleDialogLoadingEffect(dispatch, isDialogOpen, isLoading) {
|
|
@@ -13371,12 +14122,12 @@ var errorEffect = function errorEffect(dispatch, message, isDialogOpen) {
|
|
|
13371
14122
|
publicWarningFormListener.startListening({
|
|
13372
14123
|
actionCreator: uiActions.setToggleOpenDialog,
|
|
13373
14124
|
effect: function () {
|
|
13374
|
-
var
|
|
14125
|
+
var _effect6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(_ref6, listenerApi) {
|
|
13375
14126
|
var payload;
|
|
13376
|
-
return _regeneratorRuntime().wrap(function
|
|
13377
|
-
while (1) switch (
|
|
14127
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
14128
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
13378
14129
|
case 0:
|
|
13379
|
-
payload =
|
|
14130
|
+
payload = _ref6.payload;
|
|
13380
14131
|
if (!payload.setOpen && payload.type === publicWarningDialogType) {
|
|
13381
14132
|
listenerApi.dispatch(uiActions.setToggleOpenDialog({
|
|
13382
14133
|
setOpen: false,
|
|
@@ -13385,89 +14136,12 @@ publicWarningFormListener.startListening({
|
|
|
13385
14136
|
}
|
|
13386
14137
|
case 2:
|
|
13387
14138
|
case "end":
|
|
13388
|
-
return
|
|
13389
|
-
}
|
|
13390
|
-
}, _callee8);
|
|
13391
|
-
}));
|
|
13392
|
-
function effect(_x14, _x15) {
|
|
13393
|
-
return _effect7.apply(this, arguments);
|
|
13394
|
-
}
|
|
13395
|
-
return effect;
|
|
13396
|
-
}()
|
|
13397
|
-
});
|
|
13398
|
-
|
|
13399
|
-
var getLastUpdatedTimeFormatted = function getLastUpdatedTimeFormatted() {
|
|
13400
|
-
return dateUtils.dateToString(dateUtils.utc(), dateUtils.DATE_FORMAT_HOURS);
|
|
13401
|
-
};
|
|
13402
|
-
var publicWarningsListener = createListenerMiddleware();
|
|
13403
|
-
publicWarningsListener.startListening({
|
|
13404
|
-
actionCreator: publicWarningActions.fetchWarnings,
|
|
13405
|
-
effect: function () {
|
|
13406
|
-
var _effect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_, listenerApi) {
|
|
13407
|
-
var warningsApi, _yield$warningsApi$ge, warnings, lastUpdatedTime, taskError;
|
|
13408
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
13409
|
-
while (1) switch (_context.prev = _context.next) {
|
|
13410
|
-
case 0:
|
|
13411
|
-
listenerApi.cancelActiveListeners();
|
|
13412
|
-
_context.prev = 1;
|
|
13413
|
-
warningsApi = getWarningsApi();
|
|
13414
|
-
_context.next = 5;
|
|
13415
|
-
return warningsApi.getWarnings();
|
|
13416
|
-
case 5:
|
|
13417
|
-
_yield$warningsApi$ge = _context.sent;
|
|
13418
|
-
warnings = _yield$warningsApi$ge.data;
|
|
13419
|
-
lastUpdatedTime = getLastUpdatedTimeFormatted();
|
|
13420
|
-
listenerApi.dispatch(publicWarningActions.fetchWarningsSuccess({
|
|
13421
|
-
warnings: warnings,
|
|
13422
|
-
lastUpdatedTime: lastUpdatedTime
|
|
13423
|
-
}));
|
|
13424
|
-
_context.next = 11;
|
|
13425
|
-
return listenerApi.delay(pollingIntervalTimeout);
|
|
13426
|
-
case 11:
|
|
13427
|
-
listenerApi.dispatch(publicWarningActions.fetchWarnings());
|
|
13428
|
-
_context.next = 18;
|
|
13429
|
-
break;
|
|
13430
|
-
case 14:
|
|
13431
|
-
_context.prev = 14;
|
|
13432
|
-
_context.t0 = _context["catch"](1);
|
|
13433
|
-
taskError = _context.t0; // Don't set an error if the cancelActiveListeners was invoked (which throws a TaskAbortError)
|
|
13434
|
-
if ((taskError == null ? void 0 : taskError.code) !== 'listener-cancelled') {
|
|
13435
|
-
listenerApi.dispatch(publicWarningActions.fetchWarningsError({
|
|
13436
|
-
error: {
|
|
13437
|
-
name: taskError.name,
|
|
13438
|
-
message: taskError.message
|
|
13439
|
-
}
|
|
13440
|
-
}));
|
|
13441
|
-
}
|
|
13442
|
-
case 18:
|
|
13443
|
-
case "end":
|
|
13444
|
-
return _context.stop();
|
|
13445
|
-
}
|
|
13446
|
-
}, _callee, null, [[1, 14]]);
|
|
13447
|
-
}));
|
|
13448
|
-
function effect(_x, _x2) {
|
|
13449
|
-
return _effect.apply(this, arguments);
|
|
13450
|
-
}
|
|
13451
|
-
return effect;
|
|
13452
|
-
}()
|
|
13453
|
-
});
|
|
13454
|
-
publicWarningsListener.startListening({
|
|
13455
|
-
matcher: isAnyOf(publicWarningFormActions.publishWarningSuccess, publicWarningFormActions.saveWarningSuccess),
|
|
13456
|
-
effect: function () {
|
|
13457
|
-
var _effect2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_, listenerApi) {
|
|
13458
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
13459
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
13460
|
-
case 0:
|
|
13461
|
-
listenerApi.cancelActiveListeners();
|
|
13462
|
-
listenerApi.dispatch(publicWarningActions.fetchWarnings());
|
|
13463
|
-
case 2:
|
|
13464
|
-
case "end":
|
|
13465
|
-
return _context2.stop();
|
|
14139
|
+
return _context7.stop();
|
|
13466
14140
|
}
|
|
13467
|
-
},
|
|
14141
|
+
}, _callee7);
|
|
13468
14142
|
}));
|
|
13469
|
-
function effect(
|
|
13470
|
-
return
|
|
14143
|
+
function effect(_x12, _x13) {
|
|
14144
|
+
return _effect6.apply(this, arguments);
|
|
13471
14145
|
}
|
|
13472
14146
|
return effect;
|
|
13473
14147
|
}()
|
|
@@ -13483,9 +14157,9 @@ var getSnackbarMessage = function getSnackbarMessage(objectName, id) {
|
|
|
13483
14157
|
}
|
|
13484
14158
|
};
|
|
13485
14159
|
};
|
|
13486
|
-
var
|
|
13487
|
-
|
|
13488
|
-
actionCreator:
|
|
14160
|
+
var warningsDrawingsListener = createListenerMiddleware();
|
|
14161
|
+
warningsDrawingsListener.startListening({
|
|
14162
|
+
actionCreator: warningsDrawingsActions.submitDrawValues,
|
|
13489
14163
|
effect: function () {
|
|
13490
14164
|
var _effect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref, listenerApi) {
|
|
13491
14165
|
var payload, id, formValues, warningsApi, newID, taskError, errorMessage;
|
|
@@ -13509,7 +14183,7 @@ drawingsListener.startListening({
|
|
|
13509
14183
|
return warningsApi.saveDrawingAs(formValues);
|
|
13510
14184
|
case 9:
|
|
13511
14185
|
newID = _context.sent;
|
|
13512
|
-
listenerApi.dispatch(
|
|
14186
|
+
listenerApi.dispatch(warningsDrawingsActions.setDrawValues({
|
|
13513
14187
|
drawingInstanceId: drawingDialogType,
|
|
13514
14188
|
id: newID,
|
|
13515
14189
|
objectName: formValues.objectName
|
|
@@ -13577,13 +14251,46 @@ drawingsListener.startListening({
|
|
|
13577
14251
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
13578
14252
|
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
13579
14253
|
* */
|
|
13580
|
-
var
|
|
13581
|
-
|
|
13582
|
-
|
|
13583
|
-
|
|
13584
|
-
|
|
13585
|
-
|
|
13586
|
-
|
|
14254
|
+
var publicWarningsListener = createListenerMiddleware();
|
|
14255
|
+
|
|
14256
|
+
/* *
|
|
14257
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
14258
|
+
* you may not use this file except in compliance with the License.
|
|
14259
|
+
* You may obtain a copy of the License at
|
|
14260
|
+
*
|
|
14261
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
14262
|
+
*
|
|
14263
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14264
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14265
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14266
|
+
* See the License for the specific language governing permissions and
|
|
14267
|
+
* limitations under the License.
|
|
14268
|
+
*
|
|
14269
|
+
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
14270
|
+
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
14271
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
14272
|
+
* */
|
|
14273
|
+
var warningsReducersMap = {
|
|
14274
|
+
layers: layerReducer,
|
|
14275
|
+
ui: uiReducer,
|
|
14276
|
+
drawingtools: drawingToolReducer,
|
|
14277
|
+
drawings: warningsDrawingsReducer,
|
|
14278
|
+
publicWarningForm: publicWarningFormReducer,
|
|
14279
|
+
publicWarnings: publicWarningsReducer,
|
|
14280
|
+
snackbar: snackbarReducer
|
|
14281
|
+
};
|
|
14282
|
+
var warningsMiddlewares = [layersListener.middleware, drawingToolListener.middleware, warningsDrawingsListener.middleware, publicWarningsListener.middleware, publicWarningFormListener.middleware, snackbarListener.middleware];
|
|
14283
|
+
var warningsRootReducer = combineReducers(warningsReducersMap);
|
|
14284
|
+
var createMockStore = function createMockStore(mockState) {
|
|
14285
|
+
return configureStore({
|
|
14286
|
+
reducer: warningsRootReducer,
|
|
14287
|
+
preloadedState: mockState,
|
|
14288
|
+
middleware: warningsMiddlewares
|
|
14289
|
+
});
|
|
13587
14290
|
};
|
|
14291
|
+
/* _____ NOTE --> We should use the middlwares like this down below, but as it will be more strict, it exposes errors from the code itself, which won´t be fixed in this MR ______
|
|
14292
|
+
middleware: (getDefaultMiddleware) =>
|
|
14293
|
+
getDefaultMiddleware().concat(warningsMiddlewares),
|
|
14294
|
+
*/
|
|
13588
14295
|
|
|
13589
|
-
export { DrawingToolConnect, Wrapper as DrawingToolForm, DrawingToolFormConnect, DrawingToolMapButtonConnect, ObjectManagerConnect, ObjectManagerMapButtonConnect, PublicWarningApiWrapper, PublicWarningsFormDialog, PublicWarningsFormDialogConnect, WARN_NAMESPACE, WarningsModuleProvider, componentsLookUp,
|
|
14296
|
+
export { DrawingToolConnect, Wrapper as DrawingToolForm, DrawingToolFormConnect, DrawingToolMapButtonConnect, ObjectManagerConnect, ObjectManagerMapButtonConnect, PublicWarningApiWrapper, PublicWarningsFormDialog, PublicWarningsFormDialogConnect, WARN_NAMESPACE, WarningsModuleProvider, componentsLookUp, createMockStore, isAlreadyEdited, publicWarningActions, publicWarningFormActions, publicWarningFormListener, publicWarningFormReducer, publicWarningsListener, publicWarningsReducer, selectors as publicWarningsSelectors, useObjectDrawDialogAction, warningFormConfirmationOptions, warningsDrawingsActions, warningsDrawingsListener, warningsDrawingsReducer, warningsMiddlewares, warningsReducersMap, warningsTranslations };
|