@opengeoweb/warnings 11.0.0 → 11.1.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 +573 -569
- package/package.json +2 -2
- package/src/lib/api/aviation-api/fakeApi.d.ts +1 -1
- package/src/lib/api/hooks.spec.d.ts +1 -0
- package/src/lib/api/warning-api/api.d.ts +3 -1
- package/src/lib/api/warning-api/hooks.d.ts +13 -4
- package/src/lib/components/FilterList/filter-hooks.d.ts +4 -5
- package/src/lib/components/FilterList/filter-utils.d.ts +3 -3
- package/src/lib/components/PublicWarningList/PublicWarningListConnect.stories.d.ts +3 -3
- package/src/lib/components/PublicWarningsForm/PublicWarningsForm.d.ts +5 -5
- package/src/lib/components/PublicWarningsForm/PublicWarningsForm.stories.d.ts +20 -28
- package/src/lib/components/PublicWarningsForm/PublicWarningsFormConnect.d.ts +0 -1
- package/src/lib/store/publicWarningForm/reducer.d.ts +1 -18
- package/src/lib/store/publicWarningForm/selectors.d.ts +5 -0
- package/src/lib/store/publicWarnings/reducer.d.ts +3 -4
- package/src/lib/store/publicWarnings/selectors.d.ts +5 -4
- package/src/lib/store/publicWarnings/types.d.ts +2 -2
- package/src/lib/storybookUtils/testUtils.d.ts +2 -2
- package/src/lib/utils/fakeApi/index.d.ts +4 -4
package/index.esm.js
CHANGED
|
@@ -3,8 +3,8 @@ import { useDispatch, useSelector } from 'react-redux';
|
|
|
3
3
|
import { Polygons, Share, ExitDomain, Edit, Delete, DrawPolygon, Visibility, Add, CoastalEvent, TemperatureLow, TemperatureHigh, Rain, Snow, Lightning, Fog, Wind, Thunderstorm, VulcanicEruption, Haze, FreezingPrecipitation, ModerateAircraftIcing, SevereAircraftIcing, ModerateTurbulence, SevereTurbulence, SandStorm, RadioactiveMaterials, breakpoints, Options, Close, ChevronDown, ChevronUp, Copy, Update, Success, Expire, Remove, ArrowUpCompact, ArrowDownCompact } from '@opengeoweb/theme';
|
|
4
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, isAxiosError
|
|
7
|
-
import { createEntityAdapter, createSlice, createSelector,
|
|
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 } from '@opengeoweb/shared';
|
|
7
|
+
import { createEntityAdapter, createSlice, createSelector, current, createListenerMiddleware, combineReducers, configureStore } from '@reduxjs/toolkit';
|
|
8
8
|
import 'i18next';
|
|
9
9
|
import { useTranslation } from 'react-i18next';
|
|
10
10
|
import '@opengeoweb/core';
|
|
@@ -17,13 +17,12 @@ import React__default, { useState, useEffect, useRef, useMemo, useCallback } fro
|
|
|
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, AirmetPhenomena, SigmetPhenomena, getHeaders, handleResponse, useAuthQuery, useAuthenticationContext,
|
|
21
|
-
import {
|
|
22
|
-
import { concat, isEqual, cloneDeep, clamp, groupBy, pick
|
|
20
|
+
import { getApi, createApiInstance, createNonAuthApiInstance, createFakeApiInstance, ApiProvider, AirmetPhenomena, SigmetPhenomena, getHeaders, handleResponse, useAuthQuery, useAuthenticationContext, optimisticUpdate, ProductStatus } from '@opengeoweb/api';
|
|
21
|
+
import { http, HttpResponse, passthrough, delay } from 'msw';
|
|
22
|
+
import { concat, isEqual, cloneDeep, clamp, groupBy, pick } from 'lodash';
|
|
23
23
|
import { useFormContext } from 'react-hook-form';
|
|
24
24
|
import { getConfig, useAuthenticationContext as useAuthenticationContext$1 } from '@opengeoweb/authentication';
|
|
25
25
|
import { useQueryClient, useMutation } from '@tanstack/react-query';
|
|
26
|
-
import { isAxiosError } from 'axios';
|
|
27
26
|
|
|
28
27
|
var en = {
|
|
29
28
|
"drawing-tool-form-tools": "Tools",
|
|
@@ -2166,36 +2165,6 @@ var slice$1 = createSlice({
|
|
|
2166
2165
|
draft.warningType = (warning == null ? void 0 : warning.type) || warningType;
|
|
2167
2166
|
draft.panelId = panelId;
|
|
2168
2167
|
},
|
|
2169
|
-
// publish warning
|
|
2170
|
-
publishWarning: function publishWarning(draft,
|
|
2171
|
-
// eslint-disable-next-line no-unused-vars
|
|
2172
|
-
action) {
|
|
2173
|
-
draft.formState = 'publishing';
|
|
2174
|
-
delete draft.error;
|
|
2175
|
-
},
|
|
2176
|
-
publishWarningSuccess: function publishWarningSuccess(draft, action) {
|
|
2177
|
-
var publicWarning = action.payload.publicWarning;
|
|
2178
|
-
draft.warning = publicWarning;
|
|
2179
|
-
// If form has been published, set form to readonly
|
|
2180
|
-
draft.formState = 'readonly';
|
|
2181
|
-
},
|
|
2182
|
-
// save warning
|
|
2183
|
-
saveWarning: function saveWarning(draft,
|
|
2184
|
-
// eslint-disable-next-line no-unused-vars
|
|
2185
|
-
action) {
|
|
2186
|
-
draft.formState = 'saving';
|
|
2187
|
-
delete draft.error;
|
|
2188
|
-
draft.warning = action.payload.publicWarning;
|
|
2189
|
-
},
|
|
2190
|
-
saveWarningSuccess: function saveWarningSuccess(draft, action) {
|
|
2191
|
-
var _publicWarning$warnin;
|
|
2192
|
-
var publicWarning = action.payload.publicWarning;
|
|
2193
|
-
draft.warning = publicWarning;
|
|
2194
|
-
if (publicWarning != null && (_publicWarning$warnin = publicWarning.warningDetail) != null && _publicWarning$warnin.id) {
|
|
2195
|
-
draft.selectedWarningId = publicWarning.warningDetail.id;
|
|
2196
|
-
}
|
|
2197
|
-
draft.formState = '';
|
|
2198
|
-
},
|
|
2199
2168
|
setFormError: function setFormError(draft, action) {
|
|
2200
2169
|
var _action$payload3 = action.payload,
|
|
2201
2170
|
message = _action$payload3.message,
|
|
@@ -7438,39 +7407,22 @@ var airmetList$1 = airmetListJSON;
|
|
|
7438
7407
|
var sigmetList$1 = sigmetListJSON;
|
|
7439
7408
|
var fakeSigmetTAC = 'EHAA SIGMET 1 VALID 121249/121449 EHDB- EHAA AMSTERDAM FIR FRQ TS OBS ENTIRE FIR FL010 STNR WKN';
|
|
7440
7409
|
var fakeAirmetTAC = 'EHAA AIRMET -1 VALID 310700/311100 EHDB- EHAA AMSTERDAM FIR ISOL CB OBS ENTIRE FIR FL020 STNR NC';
|
|
7441
|
-
[
|
|
7442
|
-
return
|
|
7443
|
-
}),
|
|
7444
|
-
return
|
|
7445
|
-
}),
|
|
7446
|
-
return
|
|
7447
|
-
}),
|
|
7448
|
-
return
|
|
7449
|
-
}),
|
|
7450
|
-
return
|
|
7451
|
-
}),
|
|
7452
|
-
return
|
|
7453
|
-
}),
|
|
7454
|
-
return
|
|
7410
|
+
[http.get(/^.*\/airmetlist$/, function () {
|
|
7411
|
+
return HttpResponse.json(airmetList$1);
|
|
7412
|
+
}), http.get(/^.*\/sigmetlist$/, function () {
|
|
7413
|
+
return HttpResponse.json(sigmetList$1);
|
|
7414
|
+
}), http.get(/^.*\/airmet-config$/, function () {
|
|
7415
|
+
return HttpResponse.json(airmetConfig);
|
|
7416
|
+
}), http.get(/^.*\/sigmet-config$/, function () {
|
|
7417
|
+
return HttpResponse.json(sigmetConfig);
|
|
7418
|
+
}), http.post(/^.*\/airmet2tac$/, function () {
|
|
7419
|
+
return HttpResponse.text(fakeAirmetTAC);
|
|
7420
|
+
}), http.post(/^.*\/sigmet2tac$/, function () {
|
|
7421
|
+
return HttpResponse.text(fakeSigmetTAC);
|
|
7422
|
+
}), http.get(/^(?!.*(sigmet|airmet)).*$/, function () {
|
|
7423
|
+
return passthrough();
|
|
7455
7424
|
})];
|
|
7456
7425
|
|
|
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
7426
|
var drawingList = drawingListJSON;
|
|
7475
7427
|
var drawingsListFullContent = drawingsListFullContentJSON;
|
|
7476
7428
|
var warningList = warningListJSON.map(function (pw) {
|
|
@@ -7481,24 +7433,35 @@ var warningList = warningListJSON.map(function (pw) {
|
|
|
7481
7433
|
warningList.filter(function (warning) {
|
|
7482
7434
|
return warning.status !== 'EXPIRED' && warning.status !== 'WITHDRAWN';
|
|
7483
7435
|
}).length;
|
|
7484
|
-
var sigmetList = sigmetListJSON$1.map(function (
|
|
7485
|
-
return Object.assign({},
|
|
7436
|
+
var sigmetList = sigmetListJSON$1.map(function (sig) {
|
|
7437
|
+
return Object.assign({}, sig, {
|
|
7486
7438
|
type: 'sigmet'
|
|
7487
7439
|
});
|
|
7488
7440
|
});
|
|
7489
|
-
var airmetList = airmetListJSON$1.map(function (
|
|
7490
|
-
return Object.assign({},
|
|
7441
|
+
var airmetList = airmetListJSON$1.map(function (air) {
|
|
7442
|
+
return Object.assign({}, air, {
|
|
7491
7443
|
type: 'airmet'
|
|
7492
7444
|
});
|
|
7493
7445
|
});
|
|
7494
7446
|
concat(warningList, sigmetList, airmetList);
|
|
7495
7447
|
var areaKeywordList = ['North Sea districts', 'Coastal Districts', 'KNMI Specific', 'Objects', 'Baltic areas', 'NL', 'FI', 'METNorway Specific', 'Provinces', 'FIR', 'Countries'];
|
|
7496
|
-
[
|
|
7448
|
+
[http.get(/^.*\/warnings$/, function () {
|
|
7497
7449
|
// respond using a mocked JSON body
|
|
7498
|
-
return
|
|
7499
|
-
}),
|
|
7500
|
-
return
|
|
7501
|
-
|
|
7450
|
+
return HttpResponse.json(warningList);
|
|
7451
|
+
}), http.post(/^.*\/warnings\/(.*)$/, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
7452
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
7453
|
+
while (1) switch (_context.prev = _context.next) {
|
|
7454
|
+
case 0:
|
|
7455
|
+
_context.next = 2;
|
|
7456
|
+
return delay();
|
|
7457
|
+
case 2:
|
|
7458
|
+
return _context.abrupt("return", HttpResponse.json(null));
|
|
7459
|
+
case 3:
|
|
7460
|
+
case "end":
|
|
7461
|
+
return _context.stop();
|
|
7462
|
+
}
|
|
7463
|
+
}, _callee);
|
|
7464
|
+
})))];
|
|
7502
7465
|
|
|
7503
7466
|
/* *
|
|
7504
7467
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -8736,12 +8699,15 @@ var domainLevels = {
|
|
|
8736
8699
|
};
|
|
8737
8700
|
var defaultLevelFilter = (_defaultLevelFilter = {}, _defaultLevelFilter[emptyFilterId] = true, _defaultLevelFilter.extreme = true, _defaultLevelFilter.moderate = true, _defaultLevelFilter.severe = true, _defaultLevelFilter.AIR = true, _defaultLevelFilter.SIG = true, _defaultLevelFilter);
|
|
8738
8701
|
var defaultEmptyFilter = (_defaultEmptyFilter = {}, _defaultEmptyFilter[emptyFilterId] = true, _defaultEmptyFilter);
|
|
8739
|
-
var makeFilterFromList = function makeFilterFromList(options) {
|
|
8702
|
+
var makeFilterFromList = function makeFilterFromList(options, value) {
|
|
8740
8703
|
var _options$reduce;
|
|
8704
|
+
if (value === void 0) {
|
|
8705
|
+
value = true;
|
|
8706
|
+
}
|
|
8741
8707
|
return options.reduce(function (acc, p) {
|
|
8742
8708
|
var _Object$assign;
|
|
8743
|
-
return p ? Object.assign({}, acc, (_Object$assign = {}, _Object$assign[p] =
|
|
8744
|
-
}, (_options$reduce = {}, _options$reduce[emptyFilterId] =
|
|
8709
|
+
return p ? Object.assign({}, acc, (_Object$assign = {}, _Object$assign[p] = value, _Object$assign)) : acc;
|
|
8710
|
+
}, (_options$reduce = {}, _options$reduce[emptyFilterId] = value, _options$reduce));
|
|
8745
8711
|
};
|
|
8746
8712
|
var AllPhenomena = Object.assign({}, AirmetPhenomena, SigmetPhenomena, Phenomenon$1);
|
|
8747
8713
|
var AllPhenomenaKeys = Object.fromEntries(Object.keys(AllPhenomena).map(function (key) {
|
|
@@ -8761,6 +8727,9 @@ var initialFilters = {
|
|
|
8761
8727
|
level: defaultLevelFilter
|
|
8762
8728
|
};
|
|
8763
8729
|
var getSelectedOptions = function getSelectedOptions(options) {
|
|
8730
|
+
if (options === void 0) {
|
|
8731
|
+
options = {};
|
|
8732
|
+
}
|
|
8764
8733
|
var selectedOptions = Object.keys(options).filter(function (k) {
|
|
8765
8734
|
return options[k];
|
|
8766
8735
|
});
|
|
@@ -9800,14 +9769,32 @@ var Form = function Form(_ref5) {
|
|
|
9800
9769
|
var _publicWarningDetails, _publicWarningDetails2;
|
|
9801
9770
|
var defaultMapPreset = _ref5.defaultMapPreset,
|
|
9802
9771
|
_ref5$onSaveForm = _ref5.onSaveForm,
|
|
9803
|
-
onSaveForm = _ref5$onSaveForm === void 0 ? function () {
|
|
9772
|
+
onSaveForm = _ref5$onSaveForm === void 0 ? /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
9773
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
9774
|
+
while (1) switch (_context.prev = _context.next) {
|
|
9775
|
+
case 0:
|
|
9776
|
+
return _context.abrupt("return", null);
|
|
9777
|
+
case 1:
|
|
9778
|
+
case "end":
|
|
9779
|
+
return _context.stop();
|
|
9780
|
+
}
|
|
9781
|
+
}, _callee);
|
|
9782
|
+
})) : _ref5$onSaveForm,
|
|
9804
9783
|
_ref5$onPublishForm = _ref5.onPublishForm,
|
|
9805
|
-
onPublishForm = _ref5$onPublishForm === void 0 ? function () {
|
|
9784
|
+
onPublishForm = _ref5$onPublishForm === void 0 ? /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
9785
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
9786
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
9787
|
+
case 0:
|
|
9788
|
+
return _context2.abrupt("return", null);
|
|
9789
|
+
case 1:
|
|
9790
|
+
case "end":
|
|
9791
|
+
return _context2.stop();
|
|
9792
|
+
}
|
|
9793
|
+
}, _callee2);
|
|
9794
|
+
})) : _ref5$onPublishForm,
|
|
9806
9795
|
_ref5$onClearForm = _ref5.onClearForm,
|
|
9807
9796
|
onClearForm = _ref5$onClearForm === void 0 ? function () {} : _ref5$onClearForm,
|
|
9808
9797
|
object = _ref5.object,
|
|
9809
|
-
_ref5$formAction = _ref5.formAction,
|
|
9810
|
-
formAction = _ref5$formAction === void 0 ? '' : _ref5$formAction,
|
|
9811
9798
|
publicWarningDetails = _ref5.publicWarningDetails,
|
|
9812
9799
|
_ref5$error = _ref5.error,
|
|
9813
9800
|
error = _ref5$error === void 0 ? {
|
|
@@ -9825,14 +9812,25 @@ var Form = function Form(_ref5) {
|
|
|
9825
9812
|
selectedAviationProduct = _ref5.selectedAviationProduct,
|
|
9826
9813
|
_ref5$warningType = _ref5.warningType,
|
|
9827
9814
|
warningType = _ref5$warningType === void 0 ? 'public' : _ref5$warningType,
|
|
9828
|
-
mode = _ref5.mode
|
|
9815
|
+
mode = _ref5.mode,
|
|
9816
|
+
_ref5$onSetViewModeRe = _ref5.onSetViewModeResetArea,
|
|
9817
|
+
onSetViewModeResetArea = _ref5$onSetViewModeRe === void 0 ? function () {} : _ref5$onSetViewModeRe;
|
|
9818
|
+
var _React$useState = React.useState(false),
|
|
9819
|
+
isPublishing = _React$useState[0],
|
|
9820
|
+
setIsPublishing = _React$useState[1];
|
|
9821
|
+
var _React$useState2 = React.useState(false),
|
|
9822
|
+
isSaving = _React$useState2[0],
|
|
9823
|
+
setIsSaving = _React$useState2[1];
|
|
9829
9824
|
var _useTACApi = useTACApi(),
|
|
9830
9825
|
fetchSigmetTAC = _useTACApi.fetchSigmetTAC,
|
|
9831
9826
|
fetchAirmetTAC = _useTACApi.fetchAirmetTAC;
|
|
9832
9827
|
var initialPublicWarningArea = (publicWarningDetails == null || (_publicWarningDetails = publicWarningDetails.areas) == null ? void 0 : _publicWarningDetails.length) && (publicWarningDetails == null || (_publicWarningDetails2 = publicWarningDetails.areas[0]) == null ? void 0 : _publicWarningDetails2.geoJSON);
|
|
9833
|
-
var _React$
|
|
9834
|
-
warningGeoJSONFeature = _React$
|
|
9835
|
-
setWarningGeoJSONFeature = _React$
|
|
9828
|
+
var _React$useState3 = React.useState(initialPublicWarningArea),
|
|
9829
|
+
warningGeoJSONFeature = _React$useState3[0],
|
|
9830
|
+
setWarningGeoJSONFeature = _React$useState3[1];
|
|
9831
|
+
var _React$useState4 = React.useState(publicWarningDetails == null ? void 0 : publicWarningDetails.areas),
|
|
9832
|
+
originalWarningAreas = _React$useState4[0],
|
|
9833
|
+
setOriginalWarningAreas = _React$useState4[1];
|
|
9836
9834
|
var _useWarningsTranslati = useWarningsTranslation(),
|
|
9837
9835
|
t = _useWarningsTranslati.t;
|
|
9838
9836
|
var _useFormContext = useFormContext(),
|
|
@@ -9844,8 +9842,6 @@ var Form = function Form(_ref5) {
|
|
|
9844
9842
|
var _useDraftFormHelpers = useDraftFormHelpers(),
|
|
9845
9843
|
toggleIsDraft = _useDraftFormHelpers.toggleIsDraft,
|
|
9846
9844
|
DraftFieldHelper = _useDraftFormHelpers.DraftFieldHelper;
|
|
9847
|
-
var isPublishing = formAction === 'publishing';
|
|
9848
|
-
var isSaving = formAction === 'saving';
|
|
9849
9845
|
var areFieldsDisabled = isPublishing || isSaving;
|
|
9850
9846
|
useFormDirty({
|
|
9851
9847
|
isDirty: Object.keys(dirtyFields).length > 0,
|
|
@@ -9861,19 +9857,23 @@ var Form = function Form(_ref5) {
|
|
|
9861
9857
|
if (!isPublishing) {
|
|
9862
9858
|
toggleIsDraft(false);
|
|
9863
9859
|
void handleSubmit( /*#__PURE__*/function () {
|
|
9864
|
-
var
|
|
9865
|
-
return _regeneratorRuntime().wrap(function
|
|
9866
|
-
while (1) switch (
|
|
9860
|
+
var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(data) {
|
|
9861
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
9862
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
9867
9863
|
case 0:
|
|
9868
|
-
|
|
9869
|
-
|
|
9864
|
+
setIsPublishing(true);
|
|
9865
|
+
_context3.next = 3;
|
|
9866
|
+
return onPublishForm(prepareFormValues(data))["catch"](function () {});
|
|
9867
|
+
case 3:
|
|
9868
|
+
setIsPublishing(false);
|
|
9869
|
+
case 4:
|
|
9870
9870
|
case "end":
|
|
9871
|
-
return
|
|
9871
|
+
return _context3.stop();
|
|
9872
9872
|
}
|
|
9873
|
-
},
|
|
9873
|
+
}, _callee3);
|
|
9874
9874
|
}));
|
|
9875
9875
|
return function (_x) {
|
|
9876
|
-
return
|
|
9876
|
+
return _ref8.apply(this, arguments);
|
|
9877
9877
|
};
|
|
9878
9878
|
}())();
|
|
9879
9879
|
}
|
|
@@ -9882,19 +9882,23 @@ var Form = function Form(_ref5) {
|
|
|
9882
9882
|
if (!isSaving) {
|
|
9883
9883
|
toggleIsDraft(true);
|
|
9884
9884
|
void handleSubmit( /*#__PURE__*/function () {
|
|
9885
|
-
var
|
|
9886
|
-
return _regeneratorRuntime().wrap(function
|
|
9887
|
-
while (1) switch (
|
|
9885
|
+
var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(data) {
|
|
9886
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
9887
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
9888
9888
|
case 0:
|
|
9889
|
-
|
|
9890
|
-
|
|
9889
|
+
setIsSaving(true);
|
|
9890
|
+
_context4.next = 3;
|
|
9891
|
+
return onSaveForm(prepareFormValues(data))["catch"](function () {});
|
|
9892
|
+
case 3:
|
|
9893
|
+
setIsSaving(false);
|
|
9894
|
+
case 4:
|
|
9891
9895
|
case "end":
|
|
9892
|
-
return
|
|
9896
|
+
return _context4.stop();
|
|
9893
9897
|
}
|
|
9894
|
-
},
|
|
9898
|
+
}, _callee4);
|
|
9895
9899
|
}));
|
|
9896
9900
|
return function (_x2) {
|
|
9897
|
-
return
|
|
9901
|
+
return _ref9.apply(this, arguments);
|
|
9898
9902
|
};
|
|
9899
9903
|
}())();
|
|
9900
9904
|
}
|
|
@@ -9904,6 +9908,7 @@ var Form = function Form(_ref5) {
|
|
|
9904
9908
|
setWarningGeoJSONFeature(undefined);
|
|
9905
9909
|
onClearForm();
|
|
9906
9910
|
};
|
|
9911
|
+
// When switching warning, reset the form to the new values
|
|
9907
9912
|
var publicWarningId = publicWarningDetails == null ? void 0 : publicWarningDetails.id;
|
|
9908
9913
|
React.useEffect(function () {
|
|
9909
9914
|
if (selectedAviationProduct) {
|
|
@@ -9911,8 +9916,27 @@ var Form = function Form(_ref5) {
|
|
|
9911
9916
|
}
|
|
9912
9917
|
// sync redux with react-hook-form
|
|
9913
9918
|
reset(getFormData(publicWarningDetails, object));
|
|
9919
|
+
setOriginalWarningAreas(publicWarningDetails == null ? void 0 : publicWarningDetails.areas);
|
|
9914
9920
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
9915
9921
|
}, [publicWarningId]);
|
|
9922
|
+
// When the editor gets set back to viewer and the form is dirty, reset any changes made
|
|
9923
|
+
React.useEffect(function () {
|
|
9924
|
+
if (selectedAviationProduct) {
|
|
9925
|
+
return;
|
|
9926
|
+
}
|
|
9927
|
+
if (isReadOnly && (Object.keys(dirtyFields).length > 0 || (publicWarningDetails == null ? void 0 : publicWarningDetails.areas) !== originalWarningAreas)) {
|
|
9928
|
+
// // sync redux with react-hook-form
|
|
9929
|
+
var oldPublicWarning = Object.assign({}, publicWarningDetails, {
|
|
9930
|
+
areas: originalWarningAreas
|
|
9931
|
+
});
|
|
9932
|
+
reset(getFormData(oldPublicWarning, object));
|
|
9933
|
+
if ((publicWarningDetails == null ? void 0 : publicWarningDetails.areas) !== originalWarningAreas) {
|
|
9934
|
+
// update the store to contain the original area again
|
|
9935
|
+
onSetViewModeResetArea(originalWarningAreas || []);
|
|
9936
|
+
}
|
|
9937
|
+
}
|
|
9938
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
9939
|
+
}, [isReadOnly]);
|
|
9916
9940
|
var areas = publicWarningDetails == null ? void 0 : publicWarningDetails.areas;
|
|
9917
9941
|
React.useEffect(function () {
|
|
9918
9942
|
if (selectedAviationProduct) {
|
|
@@ -9920,7 +9944,9 @@ var Form = function Form(_ref5) {
|
|
|
9920
9944
|
}
|
|
9921
9945
|
if (areas) {
|
|
9922
9946
|
// sync redux with react-hook-form
|
|
9923
|
-
setValue('areas', areas
|
|
9947
|
+
setValue('areas', areas, {
|
|
9948
|
+
shouldDirty: true
|
|
9949
|
+
});
|
|
9924
9950
|
}
|
|
9925
9951
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
9926
9952
|
}, [areas, setValue]);
|
|
@@ -10213,7 +10239,10 @@ var getPublicWarningStore = function getPublicWarningStore(store) {
|
|
|
10213
10239
|
}
|
|
10214
10240
|
return {};
|
|
10215
10241
|
};
|
|
10216
|
-
var
|
|
10242
|
+
var selectPublicWarningState = createSelector(getPublicWarningStore, function (state) {
|
|
10243
|
+
return state;
|
|
10244
|
+
});
|
|
10245
|
+
createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
10217
10246
|
return publicWarningStore.object;
|
|
10218
10247
|
});
|
|
10219
10248
|
var getPublicWarning = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
@@ -10234,7 +10263,7 @@ var getPublicWarningAreas = createSelector(getPublicWarningStore, function (publ
|
|
|
10234
10263
|
var getPublicWarningFormState = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
10235
10264
|
return (publicWarningStore == null ? void 0 : publicWarningStore.formState) || '';
|
|
10236
10265
|
});
|
|
10237
|
-
|
|
10266
|
+
createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
10238
10267
|
return publicWarningStore == null ? void 0 : publicWarningStore.error;
|
|
10239
10268
|
});
|
|
10240
10269
|
var getSelectedWarningId = createSelector(getPublicWarningStore, function (publicWarningStore) {
|
|
@@ -10275,51 +10304,298 @@ var PublicWarningStatus;
|
|
|
10275
10304
|
PublicWarningStatus["WITHDRAWN"] = "WITHDRAWN";
|
|
10276
10305
|
})(PublicWarningStatus || (PublicWarningStatus = {}));
|
|
10277
10306
|
|
|
10307
|
+
/* *
|
|
10308
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10309
|
+
* you may not use this file except in compliance with the License.
|
|
10310
|
+
* You may obtain a copy of the License at
|
|
10311
|
+
*
|
|
10312
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10313
|
+
*
|
|
10314
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10315
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
10316
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10317
|
+
* See the License for the specific language governing permissions and
|
|
10318
|
+
* limitations under the License.
|
|
10319
|
+
*
|
|
10320
|
+
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
10321
|
+
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
10322
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
10323
|
+
* */
|
|
10324
|
+
var config = getConfig();
|
|
10325
|
+
var publicWarningBaseUrl = config.GW_DRAWINGS_BASE_URL || '';
|
|
10326
|
+
// API
|
|
10327
|
+
var getPublicWarningList = function getPublicWarningList(auth) {
|
|
10328
|
+
return fetch(publicWarningBaseUrl + "/warnings", {
|
|
10329
|
+
headers: getHeaders(auth)
|
|
10330
|
+
}).then(handleResponse).then(function (warnings) {
|
|
10331
|
+
return warnings.map(function (warning) {
|
|
10332
|
+
return Object.assign({}, warning, {
|
|
10333
|
+
type: 'public'
|
|
10334
|
+
});
|
|
10335
|
+
});
|
|
10336
|
+
});
|
|
10337
|
+
};
|
|
10338
|
+
var updatePublicWarningEditor = function updatePublicWarningEditor(warningId, isEditor, auth) {
|
|
10339
|
+
return fetch(publicWarningBaseUrl + "/warnings/" + warningId + "?editor=" + (isEditor ? 'true' : 'false') + "&force=true", {
|
|
10340
|
+
headers: getHeaders(auth),
|
|
10341
|
+
method: 'POST'
|
|
10342
|
+
}).then(handleResponse);
|
|
10343
|
+
};
|
|
10344
|
+
var updatePublicWarning = function updatePublicWarning(warningId, auth, data) {
|
|
10345
|
+
return fetch(publicWarningBaseUrl + "/warnings/" + warningId, {
|
|
10346
|
+
headers: getHeaders(auth),
|
|
10347
|
+
method: 'POST',
|
|
10348
|
+
body: JSON.stringify(data)
|
|
10349
|
+
}).then(handleResponse);
|
|
10350
|
+
};
|
|
10351
|
+
var postPublicWarning = function postPublicWarning(auth, data) {
|
|
10352
|
+
return fetch(publicWarningBaseUrl + "/warnings/", {
|
|
10353
|
+
headers: getHeaders(auth),
|
|
10354
|
+
method: 'POST',
|
|
10355
|
+
body: JSON.stringify(data)
|
|
10356
|
+
}).then(handleResponse);
|
|
10357
|
+
};
|
|
10358
|
+
|
|
10359
|
+
/**
|
|
10360
|
+
* @param disabled - Disables fetching, but still returns cached values.
|
|
10361
|
+
* https://tanstack.com/query/v4/docs/framework/react/guides/disabling-queries
|
|
10362
|
+
*/
|
|
10363
|
+
var usePublicWarnings = function usePublicWarnings(disabled) {
|
|
10364
|
+
if (disabled === void 0) {
|
|
10365
|
+
disabled = false;
|
|
10366
|
+
}
|
|
10367
|
+
return useAuthQuery(['public-warning-list'], getPublicWarningList, disabled, 1000 * 60 * 5);
|
|
10368
|
+
};
|
|
10369
|
+
var useMutatePublicWarningEditor = function useMutatePublicWarningEditor() {
|
|
10370
|
+
var queryClient = useQueryClient();
|
|
10371
|
+
var _useAuthenticationCon = useAuthenticationContext(),
|
|
10372
|
+
auth = _useAuthenticationCon.auth;
|
|
10373
|
+
var dispatch = useDispatch();
|
|
10374
|
+
return useMutation(Object.assign({
|
|
10375
|
+
mutationFn: function mutationFn(_ref) {
|
|
10376
|
+
var id = _ref.id,
|
|
10377
|
+
isEditor = _ref.isEditor;
|
|
10378
|
+
if (!auth) {
|
|
10379
|
+
throw new Error('Authentication context not found');
|
|
10380
|
+
}
|
|
10381
|
+
return updatePublicWarningEditor(id, isEditor, auth);
|
|
10382
|
+
}
|
|
10383
|
+
}, optimisticUpdate(['public-warning-list'], queryClient, function (warning, _ref2) {
|
|
10384
|
+
var isEditor = _ref2.isEditor;
|
|
10385
|
+
return Object.assign({}, warning, {
|
|
10386
|
+
editor: isEditor ? auth.username : undefined
|
|
10387
|
+
});
|
|
10388
|
+
}, function (error) {
|
|
10389
|
+
dispatch(publicWarningFormActions.setFormError({
|
|
10390
|
+
message: error.message
|
|
10391
|
+
}));
|
|
10392
|
+
}), {
|
|
10393
|
+
onSuccess: function () {
|
|
10394
|
+
var _onSuccess = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(data, _ref3) {
|
|
10395
|
+
var isEditor;
|
|
10396
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
10397
|
+
while (1) switch (_context.prev = _context.next) {
|
|
10398
|
+
case 0:
|
|
10399
|
+
isEditor = _ref3.isEditor;
|
|
10400
|
+
dispatch(snackbarActions.openSnackbar({
|
|
10401
|
+
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
10402
|
+
key: isEditor ? 'warning-editor-add-editor' : 'warning-editor-remove-editor'
|
|
10403
|
+
}));
|
|
10404
|
+
case 2:
|
|
10405
|
+
case "end":
|
|
10406
|
+
return _context.stop();
|
|
10407
|
+
}
|
|
10408
|
+
}, _callee);
|
|
10409
|
+
}));
|
|
10410
|
+
function onSuccess(_x, _x2) {
|
|
10411
|
+
return _onSuccess.apply(this, arguments);
|
|
10412
|
+
}
|
|
10413
|
+
return onSuccess;
|
|
10414
|
+
}()
|
|
10415
|
+
}));
|
|
10416
|
+
};
|
|
10417
|
+
var useMutateWarning = function useMutateWarning(snackBarMessage) {
|
|
10418
|
+
var queryClient = useQueryClient();
|
|
10419
|
+
var _useAuthenticationCon2 = useAuthenticationContext(),
|
|
10420
|
+
auth = _useAuthenticationCon2.auth;
|
|
10421
|
+
var dispatch = useDispatch();
|
|
10422
|
+
return useMutation(Object.assign({
|
|
10423
|
+
mutationFn: function mutationFn(_ref4) {
|
|
10424
|
+
var id = _ref4.id,
|
|
10425
|
+
data = _ref4.data;
|
|
10426
|
+
if (!auth) {
|
|
10427
|
+
throw new Error('Authentication context not found');
|
|
10428
|
+
}
|
|
10429
|
+
if (id) {
|
|
10430
|
+
return updatePublicWarning(id, auth, data);
|
|
10431
|
+
}
|
|
10432
|
+
return postPublicWarning(auth, data);
|
|
10433
|
+
}
|
|
10434
|
+
}, optimisticUpdate(['public-warning-list'], queryClient, function (_, _ref5) {
|
|
10435
|
+
var data = _ref5.data,
|
|
10436
|
+
id = _ref5.id;
|
|
10437
|
+
return Object.assign({}, data, {
|
|
10438
|
+
id: id,
|
|
10439
|
+
lastUpdatedTime: new Date().toISOString()
|
|
10440
|
+
});
|
|
10441
|
+
}, function (error) {
|
|
10442
|
+
dispatch(publicWarningFormActions.setFormError({
|
|
10443
|
+
message: error.message
|
|
10444
|
+
}));
|
|
10445
|
+
}), {
|
|
10446
|
+
onSuccess: function () {
|
|
10447
|
+
var _onSuccess2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(data, variables) {
|
|
10448
|
+
var location, _variables$data, warningDetail, status, newId, newWarning;
|
|
10449
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
10450
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
10451
|
+
case 0:
|
|
10452
|
+
location = data == null ? void 0 : data.get('location');
|
|
10453
|
+
_variables$data = variables.data, warningDetail = _variables$data.warningDetail, status = _variables$data.status;
|
|
10454
|
+
if (
|
|
10455
|
+
// DRAFT_PUBLISHED warnings have linked_to_id to the published warning it is based on
|
|
10456
|
+
// When publishing a DRAFT_PUBLISHED warning we need to update the published warning and delete the draft
|
|
10457
|
+
warningDetail.linked_to_id && status === PublicWarningStatus.PUBLISHED) {
|
|
10458
|
+
queryClient.setQueryData(['public-warning-list'], function (old) {
|
|
10459
|
+
return old == null ? void 0 : old.reduce(function (acc, warning) {
|
|
10460
|
+
if (warning.id === warningDetail.linked_to_id) {
|
|
10461
|
+
return acc;
|
|
10462
|
+
}
|
|
10463
|
+
var id = warning.id === warningDetail.id ? warningDetail.linked_to_id : warningDetail.id;
|
|
10464
|
+
return [].concat(acc, [Object.assign({}, warning, {
|
|
10465
|
+
id: id,
|
|
10466
|
+
warningDetail: Object.assign({}, warningDetail, {
|
|
10467
|
+
id: id
|
|
10468
|
+
})
|
|
10469
|
+
})]);
|
|
10470
|
+
}, []);
|
|
10471
|
+
});
|
|
10472
|
+
}
|
|
10473
|
+
if (location) {
|
|
10474
|
+
// When making a new warning we get it's ID from the location header
|
|
10475
|
+
newId = getIdFromUrl(location);
|
|
10476
|
+
newWarning = Object.assign({}, variables.data, {
|
|
10477
|
+
id: newId,
|
|
10478
|
+
lastUpdatedTime: new Date().toISOString(),
|
|
10479
|
+
warningDetail: Object.assign({}, warningDetail, {
|
|
10480
|
+
id: newId,
|
|
10481
|
+
domain: 'public'
|
|
10482
|
+
})
|
|
10483
|
+
});
|
|
10484
|
+
queryClient.setQueryData(['public-warning-list'], function (old) {
|
|
10485
|
+
return [].concat(old || [], [newWarning]);
|
|
10486
|
+
});
|
|
10487
|
+
dispatch(publicWarningFormActions.openPublicWarningFormDialog({
|
|
10488
|
+
warning: newWarning,
|
|
10489
|
+
formState: '',
|
|
10490
|
+
panelId: variables.panelId
|
|
10491
|
+
}));
|
|
10492
|
+
}
|
|
10493
|
+
dispatch(snackbarActions.openSnackbar({
|
|
10494
|
+
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
10495
|
+
key: snackBarMessage
|
|
10496
|
+
}));
|
|
10497
|
+
if (variables.data.status === PublicWarningStatus.PUBLISHED) {
|
|
10498
|
+
dispatch(uiActions.setToggleOpenDialog({
|
|
10499
|
+
type: publicWarningDialogType,
|
|
10500
|
+
setOpen: false
|
|
10501
|
+
}));
|
|
10502
|
+
}
|
|
10503
|
+
case 6:
|
|
10504
|
+
case "end":
|
|
10505
|
+
return _context2.stop();
|
|
10506
|
+
}
|
|
10507
|
+
}, _callee2);
|
|
10508
|
+
}));
|
|
10509
|
+
function onSuccess(_x3, _x4) {
|
|
10510
|
+
return _onSuccess2.apply(this, arguments);
|
|
10511
|
+
}
|
|
10512
|
+
return onSuccess;
|
|
10513
|
+
}()
|
|
10514
|
+
}));
|
|
10515
|
+
};
|
|
10516
|
+
var usePublishWarning = function usePublishWarning() {
|
|
10517
|
+
return useMutateWarning('warning-publish-succes');
|
|
10518
|
+
};
|
|
10519
|
+
var useSaveWarning = function useSaveWarning() {
|
|
10520
|
+
return useMutateWarning('warning-save-succes');
|
|
10521
|
+
};
|
|
10522
|
+
|
|
10278
10523
|
var PublicWarningsFormConnect = function PublicWarningsFormConnect(_ref) {
|
|
10279
10524
|
var editor = _ref.editor,
|
|
10280
10525
|
defaultMapPreset = _ref.defaultMapPreset,
|
|
10281
10526
|
selectedAviationProduct = _ref.selectedAviationProduct,
|
|
10282
10527
|
_ref$warningType = _ref.warningType,
|
|
10283
10528
|
warningType = _ref$warningType === void 0 ? 'public' : _ref$warningType,
|
|
10284
|
-
mode = _ref.mode
|
|
10285
|
-
|
|
10286
|
-
|
|
10287
|
-
|
|
10288
|
-
|
|
10289
|
-
|
|
10529
|
+
mode = _ref.mode;
|
|
10530
|
+
var _useSelector = useSelector(selectPublicWarningState),
|
|
10531
|
+
warning = _useSelector.warning,
|
|
10532
|
+
object = _useSelector.object,
|
|
10533
|
+
formState = _useSelector.formState,
|
|
10534
|
+
error = _useSelector.error,
|
|
10535
|
+
panelId = _useSelector.panelId;
|
|
10536
|
+
var _usePublishWarning = usePublishWarning(),
|
|
10537
|
+
publishWarning = _usePublishWarning.mutateAsync;
|
|
10538
|
+
var _useSaveWarning = useSaveWarning(),
|
|
10539
|
+
saveWarning = _useSaveWarning.mutateAsync;
|
|
10290
10540
|
var _useAuthenticationCon = useAuthenticationContext$1(),
|
|
10291
10541
|
auth = _useAuthenticationCon.auth;
|
|
10292
10542
|
var isEditor = editor === (auth == null ? void 0 : auth.username) || false;
|
|
10293
10543
|
var dispatch = useDispatch();
|
|
10294
|
-
var publishForm = function
|
|
10295
|
-
|
|
10296
|
-
|
|
10297
|
-
|
|
10298
|
-
|
|
10299
|
-
|
|
10300
|
-
|
|
10301
|
-
|
|
10302
|
-
|
|
10303
|
-
|
|
10304
|
-
|
|
10305
|
-
|
|
10544
|
+
var publishForm = /*#__PURE__*/function () {
|
|
10545
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(newFormValues) {
|
|
10546
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
10547
|
+
while (1) switch (_context.prev = _context.next) {
|
|
10548
|
+
case 0:
|
|
10549
|
+
return _context.abrupt("return", publishWarning({
|
|
10550
|
+
id: newFormValues.id || newFormValues.linked_to_id || '',
|
|
10551
|
+
data: {
|
|
10552
|
+
warningDetail: newFormValues.id ? newFormValues : Object.assign({}, newFormValues, {
|
|
10553
|
+
id: newFormValues.linked_to_id
|
|
10554
|
+
}),
|
|
10555
|
+
status: PublicWarningStatus.PUBLISHED,
|
|
10556
|
+
type: 'public'
|
|
10557
|
+
}
|
|
10558
|
+
}));
|
|
10559
|
+
case 1:
|
|
10560
|
+
case "end":
|
|
10561
|
+
return _context.stop();
|
|
10562
|
+
}
|
|
10563
|
+
}, _callee);
|
|
10564
|
+
}));
|
|
10565
|
+
return function publishForm(_x) {
|
|
10566
|
+
return _ref2.apply(this, arguments);
|
|
10567
|
+
};
|
|
10568
|
+
}();
|
|
10306
10569
|
var clearForm = function clearForm() {
|
|
10307
10570
|
dispatch(publicWarningFormActions.removeAllAreas());
|
|
10308
10571
|
};
|
|
10309
|
-
var saveForm = function
|
|
10310
|
-
var
|
|
10311
|
-
|
|
10312
|
-
|
|
10313
|
-
|
|
10314
|
-
|
|
10315
|
-
|
|
10316
|
-
|
|
10317
|
-
|
|
10318
|
-
|
|
10319
|
-
|
|
10320
|
-
|
|
10321
|
-
|
|
10322
|
-
|
|
10572
|
+
var saveForm = /*#__PURE__*/function () {
|
|
10573
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(newFormValues) {
|
|
10574
|
+
var status;
|
|
10575
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
10576
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
10577
|
+
case 0:
|
|
10578
|
+
status = newFormValues.linked_to_id ? PublicWarningStatus.DRAFT_PUBLISHED : PublicWarningStatus.DRAFT;
|
|
10579
|
+
return _context2.abrupt("return", saveWarning({
|
|
10580
|
+
id: newFormValues.id,
|
|
10581
|
+
data: {
|
|
10582
|
+
warningDetail: newFormValues,
|
|
10583
|
+
status: status,
|
|
10584
|
+
editor: auth == null ? void 0 : auth.username,
|
|
10585
|
+
type: 'public'
|
|
10586
|
+
},
|
|
10587
|
+
panelId: panelId
|
|
10588
|
+
}));
|
|
10589
|
+
case 2:
|
|
10590
|
+
case "end":
|
|
10591
|
+
return _context2.stop();
|
|
10592
|
+
}
|
|
10593
|
+
}, _callee2);
|
|
10594
|
+
}));
|
|
10595
|
+
return function saveForm(_x2) {
|
|
10596
|
+
return _ref3.apply(this, arguments);
|
|
10597
|
+
};
|
|
10598
|
+
}();
|
|
10323
10599
|
var onFormDirty = function onFormDirty(isFormDirty) {
|
|
10324
10600
|
dispatch(publicWarningFormActions.setFormDirty({
|
|
10325
10601
|
isFormDirty: isFormDirty
|
|
@@ -10328,20 +10604,20 @@ var PublicWarningsFormConnect = function PublicWarningsFormConnect(_ref) {
|
|
|
10328
10604
|
var getIsReadOnly = function getIsReadOnly() {
|
|
10329
10605
|
// public warning related
|
|
10330
10606
|
if (warningType === 'public') {
|
|
10331
|
-
if (
|
|
10607
|
+
if (formState === 'readonly') {
|
|
10332
10608
|
return true;
|
|
10333
10609
|
}
|
|
10334
|
-
if ((
|
|
10610
|
+
if ((warning == null ? void 0 : warning.status) === 'TODO') {
|
|
10335
10611
|
return false;
|
|
10336
10612
|
}
|
|
10337
10613
|
// Readonly in case you are not creating a new warning and you are not set as the editor
|
|
10338
|
-
return !isEditor && (
|
|
10614
|
+
return !isEditor && (warning == null ? void 0 : warning.status) !== undefined;
|
|
10339
10615
|
}
|
|
10340
10616
|
// aviation related
|
|
10341
10617
|
if ((selectedAviationProduct == null ? void 0 : selectedAviationProduct.status) === 'DRAFT') {
|
|
10342
10618
|
return false;
|
|
10343
10619
|
}
|
|
10344
|
-
if (
|
|
10620
|
+
if (formState === 'edit') {
|
|
10345
10621
|
return false;
|
|
10346
10622
|
}
|
|
10347
10623
|
if (mode === 'new') {
|
|
@@ -10350,28 +10626,33 @@ var PublicWarningsFormConnect = function PublicWarningsFormConnect(_ref) {
|
|
|
10350
10626
|
return true;
|
|
10351
10627
|
};
|
|
10352
10628
|
var isReadOnly = getIsReadOnly();
|
|
10353
|
-
var formMode =
|
|
10629
|
+
var formMode = formState === 'edit' ? 'edit' : mode;
|
|
10354
10630
|
var onAddObject = function onAddObject() {
|
|
10355
10631
|
dispatch(uiActions.setToggleOpenDialog({
|
|
10356
10632
|
type: uiTypes.DialogTypes.AreaObjectLoader,
|
|
10357
10633
|
setOpen: true
|
|
10358
10634
|
}));
|
|
10359
10635
|
};
|
|
10636
|
+
var onSetViewModeResetArea = function onSetViewModeResetArea(area) {
|
|
10637
|
+
dispatch(publicWarningFormActions.addArea({
|
|
10638
|
+
area: area[0]
|
|
10639
|
+
}));
|
|
10640
|
+
};
|
|
10360
10641
|
return jsx(PublicWarningsForm, {
|
|
10361
|
-
object:
|
|
10362
|
-
publicWarningDetails:
|
|
10642
|
+
object: object,
|
|
10643
|
+
publicWarningDetails: warning == null ? void 0 : warning.warningDetail,
|
|
10363
10644
|
onPublishForm: publishForm,
|
|
10364
10645
|
onSaveForm: saveForm,
|
|
10365
10646
|
onClearForm: clearForm,
|
|
10366
|
-
formAction: publicWarningFormAction,
|
|
10367
10647
|
isReadOnly: isReadOnly,
|
|
10368
|
-
error:
|
|
10648
|
+
error: error,
|
|
10369
10649
|
onFormDirty: onFormDirty,
|
|
10370
10650
|
defaultMapPreset: defaultMapPreset,
|
|
10371
10651
|
onAddObject: onAddObject,
|
|
10372
10652
|
selectedAviationProduct: selectedAviationProduct,
|
|
10373
10653
|
warningType: warningType,
|
|
10374
|
-
mode: formMode
|
|
10654
|
+
mode: formMode,
|
|
10655
|
+
onSetViewModeResetArea: onSetViewModeResetArea
|
|
10375
10656
|
});
|
|
10376
10657
|
};
|
|
10377
10658
|
|
|
@@ -11296,103 +11577,6 @@ var duplicateAviationProduct = function duplicateAviationProduct(aviationWarning
|
|
|
11296
11577
|
});
|
|
11297
11578
|
};
|
|
11298
11579
|
|
|
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
11580
|
/* *
|
|
11397
11581
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11398
11582
|
* you may not use this file except in compliance with the License.
|
|
@@ -11602,12 +11786,16 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
11602
11786
|
dispatch(publicWarningFormActions.setFormValues({
|
|
11603
11787
|
formState: isReadOnly ? 'readonly' : ''
|
|
11604
11788
|
}));
|
|
11789
|
+
dispatch(uiActions.setToggleOpenDialog({
|
|
11790
|
+
type: uiTypes.DialogTypes.AreaObjectLoader,
|
|
11791
|
+
setOpen: false
|
|
11792
|
+
}));
|
|
11605
11793
|
updatePublicWarningEditor.mutate({
|
|
11606
11794
|
id: selectedWarningId,
|
|
11607
11795
|
isEditor: !isReadOnly
|
|
11608
11796
|
});
|
|
11609
11797
|
return _context2.abrupt("return", true);
|
|
11610
|
-
case
|
|
11798
|
+
case 15:
|
|
11611
11799
|
case "end":
|
|
11612
11800
|
return _context2.stop();
|
|
11613
11801
|
}
|
|
@@ -11729,10 +11917,7 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
11729
11917
|
defaultMapPreset: defaultMapPreset,
|
|
11730
11918
|
selectedAviationProduct: selectedAviationProduct,
|
|
11731
11919
|
warningType: updatedWarningType,
|
|
11732
|
-
mode: mode
|
|
11733
|
-
onFormSubmit: function onFormSubmit() {
|
|
11734
|
-
return refetchWarnings();
|
|
11735
|
-
}
|
|
11920
|
+
mode: mode
|
|
11736
11921
|
})
|
|
11737
11922
|
}), jsx(AreaObjectLoaderConnect, {})]
|
|
11738
11923
|
});
|
|
@@ -13174,7 +13359,9 @@ var slice = createSlice({
|
|
|
13174
13359
|
filterState = _action$payload.filterState,
|
|
13175
13360
|
panelId = _action$payload.panelId;
|
|
13176
13361
|
if (panelId) {
|
|
13177
|
-
|
|
13362
|
+
var _current;
|
|
13363
|
+
var currentFilterState = ((_current = current(draft)) == null ? void 0 : _current.filterState[panelId]) || initialFilters;
|
|
13364
|
+
draft.filterState[panelId] = Object.assign({}, currentFilterState, filterState);
|
|
13178
13365
|
}
|
|
13179
13366
|
}
|
|
13180
13367
|
}
|
|
@@ -13254,6 +13441,23 @@ var selectors = /*#__PURE__*/Object.freeze({
|
|
|
13254
13441
|
selectAllPublicWarnings: selectAllPublicWarnings
|
|
13255
13442
|
});
|
|
13256
13443
|
|
|
13444
|
+
/* *
|
|
13445
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13446
|
+
* you may not use this file except in compliance with the License.
|
|
13447
|
+
* You may obtain a copy of the License at
|
|
13448
|
+
*
|
|
13449
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
13450
|
+
*
|
|
13451
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13452
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13453
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13454
|
+
* See the License for the specific language governing permissions and
|
|
13455
|
+
* limitations under the License.
|
|
13456
|
+
*
|
|
13457
|
+
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
13458
|
+
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
13459
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
13460
|
+
* */
|
|
13257
13461
|
var getLevelsForDomainFilter = function getLevelsForDomainFilter(domainFilter) {
|
|
13258
13462
|
return Object.keys(domainFilter).flatMap(function (domain) {
|
|
13259
13463
|
return domainFilter[domain] ? domainLevels[domain] : [];
|
|
@@ -13264,31 +13468,36 @@ var getPhenomenaForDomainFilter = function getPhenomenaForDomainFilter(domainFil
|
|
|
13264
13468
|
return domainFilter[domain] ? domainPhenomena[domain] : [];
|
|
13265
13469
|
});
|
|
13266
13470
|
};
|
|
13267
|
-
|
|
13268
|
-
|
|
13269
|
-
|
|
13270
|
-
|
|
13271
|
-
|
|
13471
|
+
/** Get filter object
|
|
13472
|
+
* @param savedFilter The savedFilter with all options
|
|
13473
|
+
* @param visibleOptions The options that should be shown
|
|
13474
|
+
* @returns pickedFilterObject - The filter object with only the relevant options
|
|
13475
|
+
* @returns allSelected - A value for whether or not every visible option is selected
|
|
13476
|
+
*/
|
|
13477
|
+
var getFilterOptions = function getFilterOptions(savedFilter, visibleOptions) {
|
|
13478
|
+
var pickedFilterObject = pick(savedFilter, [emptyFilterId].concat(visibleOptions));
|
|
13479
|
+
var _getSelectedOptions = getSelectedOptions(pickedFilterObject),
|
|
13272
13480
|
allSelected = _getSelectedOptions.allSelected;
|
|
13273
|
-
return [
|
|
13481
|
+
return [pickedFilterObject, allSelected];
|
|
13274
13482
|
};
|
|
13275
13483
|
var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, savedFilterState, presetFilterState) {
|
|
13276
|
-
var
|
|
13277
|
-
|
|
13278
|
-
|
|
13279
|
-
|
|
13280
|
-
|
|
13281
|
-
|
|
13484
|
+
var savedDomainFilter = savedFilterState.domain,
|
|
13485
|
+
savedPhenomenonFilter = savedFilterState.phenomenon,
|
|
13486
|
+
savedLevelFilter = savedFilterState.level,
|
|
13487
|
+
savedSourceFilter = savedFilterState.source,
|
|
13488
|
+
savedIncidentFilter = savedFilterState.incident;
|
|
13489
|
+
/** Levels for selected domain(s) */
|
|
13282
13490
|
var relevantLevels = useMemo(function () {
|
|
13283
|
-
return getLevelsForDomainFilter(
|
|
13284
|
-
}, [
|
|
13285
|
-
var _getFilterOptions = getFilterOptions(
|
|
13286
|
-
|
|
13491
|
+
return getLevelsForDomainFilter(savedDomainFilter);
|
|
13492
|
+
}, [savedDomainFilter]);
|
|
13493
|
+
var _getFilterOptions = getFilterOptions(savedLevelFilter, relevantLevels),
|
|
13494
|
+
pickedLevelFilter = _getFilterOptions[0],
|
|
13287
13495
|
allLevelsSelected = _getFilterOptions[1];
|
|
13288
|
-
|
|
13496
|
+
/** Phenomena for selected domain(s) */
|
|
13289
13497
|
var domainPhenomena = useMemo(function () {
|
|
13290
|
-
return getPhenomenaForDomainFilter(
|
|
13291
|
-
}, [
|
|
13498
|
+
return getPhenomenaForDomainFilter(savedDomainFilter);
|
|
13499
|
+
}, [savedDomainFilter]);
|
|
13500
|
+
/** Phenomena in the warnings */
|
|
13292
13501
|
var warningsPhenomena = useMemo(function () {
|
|
13293
13502
|
return getFiltersFromWarnings(warnings, 'phenomenon');
|
|
13294
13503
|
}, [warnings]);
|
|
@@ -13297,9 +13506,8 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
13297
13506
|
return warningsPhenomena.includes(phenomenon);
|
|
13298
13507
|
});
|
|
13299
13508
|
}, [warningsPhenomena, domainPhenomena]);
|
|
13300
|
-
relevantPhenomena
|
|
13301
|
-
|
|
13302
|
-
updatedPickedPhenomena = _getFilterOptions2[0],
|
|
13509
|
+
var _getFilterOptions2 = getFilterOptions(savedPhenomenonFilter, relevantPhenomena),
|
|
13510
|
+
pickedPhenomenaFilter = _getFilterOptions2[0],
|
|
13303
13511
|
allPhenomenaSelected = _getFilterOptions2[1];
|
|
13304
13512
|
// source
|
|
13305
13513
|
var relevantSources = useMemo(function () {
|
|
@@ -13307,46 +13515,54 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
13307
13515
|
}, [warnings]);
|
|
13308
13516
|
var defaultSourceFilter = useMemo(function () {
|
|
13309
13517
|
return Object.fromEntries(relevantSources.map(function (key) {
|
|
13310
|
-
|
|
13518
|
+
var presetValue = presetFilterState == null ? void 0 : presetFilterState.source[key];
|
|
13519
|
+
return [key, presetValue === undefined ? true : presetValue];
|
|
13311
13520
|
}));
|
|
13312
|
-
},
|
|
13313
|
-
|
|
13314
|
-
|
|
13315
|
-
|
|
13316
|
-
|
|
13521
|
+
},
|
|
13522
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13523
|
+
[relevantSources]);
|
|
13524
|
+
var _getSelectedOptions2 = getSelectedOptions(savedSourceFilter),
|
|
13525
|
+
allSourcesSelected = _getSelectedOptions2.allSelected;
|
|
13526
|
+
/** Incidents in the warnings */
|
|
13317
13527
|
var relevantIncidents = useMemo(function () {
|
|
13318
13528
|
return getFiltersFromWarnings(warnings, 'incident');
|
|
13319
13529
|
}, [warnings]);
|
|
13530
|
+
/** FilterObject based on relevant incidents with values from the preset */
|
|
13320
13531
|
var defaultIncidentFilter = useMemo(function () {
|
|
13321
13532
|
return Object.fromEntries(relevantIncidents.map(function (key) {
|
|
13322
|
-
|
|
13533
|
+
var presetValue = presetFilterState == null ? void 0 : presetFilterState.incident[key];
|
|
13534
|
+
return [key, presetValue === undefined ? true : presetValue];
|
|
13323
13535
|
}));
|
|
13324
|
-
}, [relevantIncidents]);
|
|
13325
|
-
var
|
|
13326
|
-
|
|
13327
|
-
|
|
13536
|
+
}, [relevantIncidents, presetFilterState == null ? void 0 : presetFilterState.incident]);
|
|
13537
|
+
var _getSelectedOptions3 = getSelectedOptions(savedIncidentFilter),
|
|
13538
|
+
allIncidentsSelected = _getSelectedOptions3.allSelected;
|
|
13539
|
+
var populatedIncidentAndSourceFilter = useMemo(function () {
|
|
13540
|
+
return {
|
|
13541
|
+
incident: defaultIncidentFilter,
|
|
13542
|
+
source: defaultSourceFilter
|
|
13543
|
+
};
|
|
13544
|
+
}, [defaultIncidentFilter, defaultSourceFilter]);
|
|
13545
|
+
var initialFiltersWithPresets = useMemo(function () {
|
|
13546
|
+
return {
|
|
13547
|
+
incident: defaultIncidentFilter || defaultEmptyFilter,
|
|
13548
|
+
source: defaultSourceFilter || defaultEmptyFilter,
|
|
13549
|
+
domain: Object.assign({}, initialFilters.domain, presetFilterState == null ? void 0 : presetFilterState.domain),
|
|
13550
|
+
phenomenon: Object.assign({}, initialFilters.phenomenon, presetFilterState == null ? void 0 : presetFilterState.phenomenon),
|
|
13551
|
+
level: Object.assign({}, initialFilters.level, presetFilterState == null ? void 0 : presetFilterState.level)
|
|
13552
|
+
};
|
|
13553
|
+
},
|
|
13554
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13555
|
+
[presetFilterState]);
|
|
13556
|
+
useEffect(function () {
|
|
13557
|
+
onUpdateFilters(populatedIncidentAndSourceFilter, true);
|
|
13558
|
+
}, [populatedIncidentAndSourceFilter, onUpdateFilters]);
|
|
13328
13559
|
useEffect(function () {
|
|
13329
13560
|
// when the preset changes, update the filters
|
|
13330
|
-
|
|
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');
|
|
13339
|
-
} else {
|
|
13340
|
-
// for a preset without filters saved use the initial filters
|
|
13341
|
-
onUpdateFilters(Object.assign({}, initialFilters, {
|
|
13342
|
-
incident: makeFilterFromList(relevantIncidents),
|
|
13343
|
-
source: makeFilterFromList(relevantSources)
|
|
13344
|
-
}), 'system');
|
|
13345
|
-
}
|
|
13561
|
+
onUpdateFilters(initialFiltersWithPresets, true);
|
|
13346
13562
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13347
|
-
}, [
|
|
13348
|
-
var
|
|
13349
|
-
allDomainSelected =
|
|
13563
|
+
}, [initialFiltersWithPresets, onUpdateFilters]);
|
|
13564
|
+
var _getSelectedOptions4 = getSelectedOptions(savedDomainFilter),
|
|
13565
|
+
allDomainSelected = _getSelectedOptions4.allSelected;
|
|
13350
13566
|
var allSelected = allDomainSelected && allLevelsSelected && allPhenomenaSelected && allIncidentsSelected && allSourcesSelected;
|
|
13351
13567
|
/**
|
|
13352
13568
|
* @param filterKey - Name of the filter | "ALL" filters
|
|
@@ -13358,44 +13574,40 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
13358
13574
|
var levelFilter = value ? defaultLevelFilter : defaultEmptyFilter;
|
|
13359
13575
|
if (filterKey === 'ALL') {
|
|
13360
13576
|
onUpdateFilters({
|
|
13361
|
-
domain: updateState(
|
|
13577
|
+
domain: updateState(savedDomainFilter, 'ALL', value),
|
|
13362
13578
|
level: updateState(levelFilter, 'ALL', value),
|
|
13363
|
-
phenomenon: updateState(
|
|
13364
|
-
incident: updateState(
|
|
13365
|
-
source: updateState(
|
|
13366
|
-
}
|
|
13579
|
+
phenomenon: updateState(savedPhenomenonFilter, 'ALL', value),
|
|
13580
|
+
incident: updateState(savedIncidentFilter, 'ALL', value),
|
|
13581
|
+
source: updateState(savedSourceFilter, 'ALL', value)
|
|
13582
|
+
});
|
|
13367
13583
|
} else if (filterKey === 'domain') {
|
|
13368
|
-
var newDomain = updateState(
|
|
13369
|
-
|
|
13370
|
-
|
|
13371
|
-
|
|
13372
|
-
onUpdateFilters(Object.assign({}, savedFilterState, {
|
|
13373
|
-
domain: newDomain,
|
|
13374
|
-
level: newLevel // levels depend on selected domains
|
|
13375
|
-
}), 'user');
|
|
13584
|
+
var newDomain = updateState(savedDomainFilter, optionKey, value, only);
|
|
13585
|
+
onUpdateFilters({
|
|
13586
|
+
domain: newDomain
|
|
13587
|
+
});
|
|
13376
13588
|
} else if (filterKey === 'level') {
|
|
13377
|
-
onUpdateFilters(
|
|
13378
|
-
level: updateState(
|
|
13379
|
-
})
|
|
13589
|
+
onUpdateFilters({
|
|
13590
|
+
level: updateState(savedLevelFilter, optionKey, value, only)
|
|
13591
|
+
});
|
|
13380
13592
|
} else if (filterKey === 'phenomenon') {
|
|
13381
|
-
onUpdateFilters(
|
|
13382
|
-
phenomenon: updateState(
|
|
13383
|
-
})
|
|
13593
|
+
onUpdateFilters({
|
|
13594
|
+
phenomenon: updateState(savedPhenomenonFilter, optionKey, value, only)
|
|
13595
|
+
});
|
|
13384
13596
|
} else if (filterKey === 'source') {
|
|
13385
|
-
onUpdateFilters(
|
|
13386
|
-
source: updateState(
|
|
13387
|
-
})
|
|
13597
|
+
onUpdateFilters({
|
|
13598
|
+
source: updateState(savedSourceFilter, optionKey, value, only)
|
|
13599
|
+
});
|
|
13388
13600
|
} else if (filterKey === 'incident') {
|
|
13389
|
-
onUpdateFilters(
|
|
13390
|
-
incident: updateState(
|
|
13391
|
-
})
|
|
13601
|
+
onUpdateFilters({
|
|
13602
|
+
incident: updateState(savedIncidentFilter, optionKey, value, only)
|
|
13603
|
+
});
|
|
13392
13604
|
}
|
|
13393
13605
|
};
|
|
13394
13606
|
var byFilterState = useCallback(function (warning) {
|
|
13395
|
-
var levelDomain = ['SIG', 'AIR'].find(function (
|
|
13396
|
-
return
|
|
13607
|
+
var levelDomain = ['SIG', 'AIR'].find(function (dom) {
|
|
13608
|
+
return dom === warning.warningDetail.level;
|
|
13397
13609
|
}) ? Domain.aviation : Domain["public"];
|
|
13398
|
-
if (!
|
|
13610
|
+
if (!savedDomainFilter[levelDomain]) {
|
|
13399
13611
|
return false;
|
|
13400
13612
|
}
|
|
13401
13613
|
var level = getValue(Level, warning.warningDetail.level);
|
|
@@ -13403,33 +13615,33 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
13403
13615
|
return false;
|
|
13404
13616
|
}
|
|
13405
13617
|
var phenomenon = getValue(AllPhenomenaKeys, warning.warningDetail.phenomenon);
|
|
13406
|
-
if (!
|
|
13618
|
+
if (!pickedPhenomenaFilter[phenomenon]) {
|
|
13407
13619
|
return false;
|
|
13408
13620
|
}
|
|
13409
13621
|
var source = relevantSources.find(function (source) {
|
|
13410
13622
|
return source === warning.warningDetail.warningProposalSource;
|
|
13411
13623
|
}) || emptyFilterId;
|
|
13412
|
-
if (!
|
|
13624
|
+
if (!savedSourceFilter[source]) {
|
|
13413
13625
|
return false;
|
|
13414
13626
|
}
|
|
13415
13627
|
var incident = relevantIncidents.find(function (incident) {
|
|
13416
13628
|
return incident === warning.warningDetail.incident;
|
|
13417
13629
|
}) || emptyFilterId;
|
|
13418
|
-
if (!
|
|
13630
|
+
if (!savedIncidentFilter[incident]) {
|
|
13419
13631
|
return false;
|
|
13420
13632
|
}
|
|
13421
13633
|
return true;
|
|
13422
|
-
}, [
|
|
13634
|
+
}, [savedDomainFilter, pickedLevelFilter, pickedPhenomenaFilter, relevantSources, savedSourceFilter, relevantIncidents, savedIncidentFilter]);
|
|
13423
13635
|
return {
|
|
13424
13636
|
allSelected: allSelected,
|
|
13425
13637
|
updateFilter: updateFilter,
|
|
13426
13638
|
byFilterState: byFilterState,
|
|
13427
13639
|
filterState: {
|
|
13428
|
-
domain:
|
|
13429
|
-
level:
|
|
13430
|
-
phenomenon:
|
|
13431
|
-
incident:
|
|
13432
|
-
source:
|
|
13640
|
+
domain: savedDomainFilter,
|
|
13641
|
+
level: pickedLevelFilter,
|
|
13642
|
+
phenomenon: pickedPhenomenaFilter,
|
|
13643
|
+
incident: savedIncidentFilter,
|
|
13644
|
+
source: savedSourceFilter
|
|
13433
13645
|
}
|
|
13434
13646
|
};
|
|
13435
13647
|
};
|
|
@@ -13747,11 +13959,14 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
13747
13959
|
openSnackbar(snackbarMessage);
|
|
13748
13960
|
refetchWarnings();
|
|
13749
13961
|
};
|
|
13750
|
-
var onUpdateFilters = React__default.useCallback(function (filterState,
|
|
13962
|
+
var onUpdateFilters = React__default.useCallback(function (filterState, systemUpdate) {
|
|
13963
|
+
if (systemUpdate === void 0) {
|
|
13964
|
+
systemUpdate = false;
|
|
13965
|
+
}
|
|
13751
13966
|
dispatch(publicWarningActions.setWarningFilters({
|
|
13752
13967
|
filterState: filterState,
|
|
13753
13968
|
panelId: panelId,
|
|
13754
|
-
|
|
13969
|
+
systemUpdate: systemUpdate
|
|
13755
13970
|
}));
|
|
13756
13971
|
}, [dispatch, panelId]);
|
|
13757
13972
|
var filterHookState = useWarningFilters(combinedWarnings, onUpdateFilters, savedFilterState, presetFilterState);
|
|
@@ -13879,52 +14094,28 @@ var componentsLookUp = function componentsLookUp(payload, apiProps) {
|
|
|
13879
14094
|
}
|
|
13880
14095
|
};
|
|
13881
14096
|
|
|
13882
|
-
var getErrorMessage = function getErrorMessage(error) {
|
|
13883
|
-
return isAxiosError(error) ? getAxiosErrorMessage(error) : error.message;
|
|
13884
|
-
};
|
|
13885
14097
|
var publicWarningFormListener = createListenerMiddleware();
|
|
13886
14098
|
publicWarningFormListener.startListening({
|
|
13887
|
-
actionCreator: publicWarningFormActions.
|
|
14099
|
+
actionCreator: publicWarningFormActions.openPublicWarningFormDialog,
|
|
13888
14100
|
effect: function () {
|
|
13889
14101
|
var _effect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref, listenerApi) {
|
|
13890
|
-
var payload,
|
|
14102
|
+
var payload, panelId;
|
|
13891
14103
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
13892
14104
|
while (1) switch (_context.prev = _context.next) {
|
|
13893
14105
|
case 0:
|
|
13894
14106
|
payload = _ref.payload;
|
|
13895
14107
|
listenerApi.cancelActiveListeners();
|
|
13896
|
-
|
|
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,
|
|
13907
|
-
message: {
|
|
13908
|
-
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
13909
|
-
key: 'warning-publish-succes'
|
|
13910
|
-
}
|
|
13911
|
-
}));
|
|
14108
|
+
panelId = payload.panelId;
|
|
13912
14109
|
listenerApi.dispatch(uiActions.setToggleOpenDialog({
|
|
14110
|
+
setOpen: true,
|
|
13913
14111
|
type: publicWarningDialogType,
|
|
13914
|
-
|
|
14112
|
+
sourcePanelId: panelId
|
|
13915
14113
|
}));
|
|
13916
|
-
|
|
13917
|
-
break;
|
|
13918
|
-
case 12:
|
|
13919
|
-
_context.prev = 12;
|
|
13920
|
-
_context.t0 = _context["catch"](2);
|
|
13921
|
-
isDialogOpen = uiSelectors.getisDialogOpen(listenerApi.getState(), publicWarningDialogType);
|
|
13922
|
-
errorEffect(listenerApi.dispatch, getErrorMessage(_context.t0), isDialogOpen);
|
|
13923
|
-
case 16:
|
|
14114
|
+
case 4:
|
|
13924
14115
|
case "end":
|
|
13925
14116
|
return _context.stop();
|
|
13926
14117
|
}
|
|
13927
|
-
}, _callee
|
|
14118
|
+
}, _callee);
|
|
13928
14119
|
}));
|
|
13929
14120
|
function effect(_x, _x2) {
|
|
13930
14121
|
return _effect.apply(this, arguments);
|
|
@@ -13933,201 +14124,14 @@ publicWarningFormListener.startListening({
|
|
|
13933
14124
|
}()
|
|
13934
14125
|
});
|
|
13935
14126
|
publicWarningFormListener.startListening({
|
|
13936
|
-
actionCreator:
|
|
14127
|
+
actionCreator: uiActions.setToggleOpenDialog,
|
|
13937
14128
|
effect: function () {
|
|
13938
14129
|
var _effect2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2, listenerApi) {
|
|
13939
|
-
var payload
|
|
14130
|
+
var payload;
|
|
13940
14131
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
13941
14132
|
while (1) switch (_context2.prev = _context2.next) {
|
|
13942
14133
|
case 0:
|
|
13943
14134
|
payload = _ref2.payload;
|
|
13944
|
-
listenerApi.cancelActiveListeners();
|
|
13945
|
-
_context2.prev = 2;
|
|
13946
|
-
publicWarning = payload.publicWarning, refetchWarnings = payload.refetchWarnings;
|
|
13947
|
-
_context2.next = 6;
|
|
13948
|
-
return saveOrUpdateWarning(publicWarning);
|
|
13949
|
-
case 6:
|
|
13950
|
-
savedWarning = _context2.sent;
|
|
13951
|
-
if (refetchWarnings) {
|
|
13952
|
-
refetchWarnings();
|
|
13953
|
-
}
|
|
13954
|
-
listenerApi.dispatch(publicWarningFormActions.saveWarningSuccess({
|
|
13955
|
-
publicWarning: savedWarning,
|
|
13956
|
-
message: {
|
|
13957
|
-
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
13958
|
-
key: 'warning-save-succes'
|
|
13959
|
-
}
|
|
13960
|
-
}));
|
|
13961
|
-
_context2.next = 15;
|
|
13962
|
-
break;
|
|
13963
|
-
case 11:
|
|
13964
|
-
_context2.prev = 11;
|
|
13965
|
-
_context2.t0 = _context2["catch"](2);
|
|
13966
|
-
isDialogOpen = uiSelectors.getisDialogOpen(listenerApi.getState(), publicWarningDialogType);
|
|
13967
|
-
errorEffect(listenerApi.dispatch, getErrorMessage(_context2.t0), isDialogOpen);
|
|
13968
|
-
case 15:
|
|
13969
|
-
case "end":
|
|
13970
|
-
return _context2.stop();
|
|
13971
|
-
}
|
|
13972
|
-
}, _callee2, null, [[2, 11]]);
|
|
13973
|
-
}));
|
|
13974
|
-
function effect(_x3, _x4) {
|
|
13975
|
-
return _effect2.apply(this, arguments);
|
|
13976
|
-
}
|
|
13977
|
-
return effect;
|
|
13978
|
-
}()
|
|
13979
|
-
});
|
|
13980
|
-
// Side effects/snackbar listeners
|
|
13981
|
-
publicWarningFormListener.startListening({
|
|
13982
|
-
matcher: isAnyOf(publicWarningFormActions.publishWarningSuccess, publicWarningFormActions.saveWarningSuccess),
|
|
13983
|
-
effect: function () {
|
|
13984
|
-
var _effect3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref3, listenerApi) {
|
|
13985
|
-
var payload, message, isDialogOpen;
|
|
13986
|
-
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
13987
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
13988
|
-
case 0:
|
|
13989
|
-
payload = _ref3.payload;
|
|
13990
|
-
listenerApi.cancelActiveListeners();
|
|
13991
|
-
message = payload.message;
|
|
13992
|
-
listenerApi.dispatch(snackbarActions.openSnackbar(message));
|
|
13993
|
-
isDialogOpen = uiSelectors.getisDialogOpen(listenerApi.getState(), publicWarningDialogType);
|
|
13994
|
-
toggleDialogLoadingEffect(listenerApi.dispatch, isDialogOpen, false);
|
|
13995
|
-
case 6:
|
|
13996
|
-
case "end":
|
|
13997
|
-
return _context3.stop();
|
|
13998
|
-
}
|
|
13999
|
-
}, _callee3);
|
|
14000
|
-
}));
|
|
14001
|
-
function effect(_x5, _x6) {
|
|
14002
|
-
return _effect3.apply(this, arguments);
|
|
14003
|
-
}
|
|
14004
|
-
return effect;
|
|
14005
|
-
}()
|
|
14006
|
-
});
|
|
14007
|
-
publicWarningFormListener.startListening({
|
|
14008
|
-
matcher: isAnyOf(publicWarningFormActions.publishWarning, publicWarningFormActions.saveWarning),
|
|
14009
|
-
effect: function () {
|
|
14010
|
-
var _effect4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_, listenerApi) {
|
|
14011
|
-
var isDialogOpen;
|
|
14012
|
-
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
14013
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
14014
|
-
case 0:
|
|
14015
|
-
listenerApi.cancelActiveListeners();
|
|
14016
|
-
isDialogOpen = uiSelectors.getisDialogOpen(listenerApi.getState(), publicWarningDialogType);
|
|
14017
|
-
toggleDialogLoadingEffect(listenerApi.dispatch, isDialogOpen, true);
|
|
14018
|
-
case 3:
|
|
14019
|
-
case "end":
|
|
14020
|
-
return _context4.stop();
|
|
14021
|
-
}
|
|
14022
|
-
}, _callee4);
|
|
14023
|
-
}));
|
|
14024
|
-
function effect(_x7, _x8) {
|
|
14025
|
-
return _effect4.apply(this, arguments);
|
|
14026
|
-
}
|
|
14027
|
-
return effect;
|
|
14028
|
-
}()
|
|
14029
|
-
});
|
|
14030
|
-
publicWarningFormListener.startListening({
|
|
14031
|
-
actionCreator: publicWarningFormActions.openPublicWarningFormDialog,
|
|
14032
|
-
effect: function () {
|
|
14033
|
-
var _effect5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref4, listenerApi) {
|
|
14034
|
-
var payload, panelId;
|
|
14035
|
-
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
14036
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
14037
|
-
case 0:
|
|
14038
|
-
payload = _ref4.payload;
|
|
14039
|
-
listenerApi.cancelActiveListeners();
|
|
14040
|
-
panelId = payload.panelId;
|
|
14041
|
-
listenerApi.dispatch(uiActions.setToggleOpenDialog({
|
|
14042
|
-
setOpen: true,
|
|
14043
|
-
type: publicWarningDialogType,
|
|
14044
|
-
sourcePanelId: panelId
|
|
14045
|
-
}));
|
|
14046
|
-
case 4:
|
|
14047
|
-
case "end":
|
|
14048
|
-
return _context5.stop();
|
|
14049
|
-
}
|
|
14050
|
-
}, _callee5);
|
|
14051
|
-
}));
|
|
14052
|
-
function effect(_x9, _x10) {
|
|
14053
|
-
return _effect5.apply(this, arguments);
|
|
14054
|
-
}
|
|
14055
|
-
return effect;
|
|
14056
|
-
}()
|
|
14057
|
-
});
|
|
14058
|
-
var saveOrUpdateWarning = /*#__PURE__*/function () {
|
|
14059
|
-
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(publicWarning) {
|
|
14060
|
-
var warningsApi, warningDetail, status, warning, newWarningId;
|
|
14061
|
-
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
14062
|
-
while (1) switch (_context6.prev = _context6.next) {
|
|
14063
|
-
case 0:
|
|
14064
|
-
warningsApi = getWarningsApi();
|
|
14065
|
-
warningDetail = publicWarning.warningDetail, status = publicWarning.status;
|
|
14066
|
-
if (!warningDetail.id) {
|
|
14067
|
-
_context6.next = 6;
|
|
14068
|
-
break;
|
|
14069
|
-
}
|
|
14070
|
-
_context6.next = 5;
|
|
14071
|
-
return warningsApi.updateWarning(warningDetail.id, publicWarning);
|
|
14072
|
-
case 5:
|
|
14073
|
-
return _context6.abrupt("return", publicWarning);
|
|
14074
|
-
case 6:
|
|
14075
|
-
if (!(status === 'PUBLISHED' && warningDetail.linked_to_id)) {
|
|
14076
|
-
_context6.next = 11;
|
|
14077
|
-
break;
|
|
14078
|
-
}
|
|
14079
|
-
warning = Object.assign({}, publicWarning, {
|
|
14080
|
-
warningDetail: Object.assign({}, warningDetail, {
|
|
14081
|
-
id: warningDetail.linked_to_id
|
|
14082
|
-
})
|
|
14083
|
-
});
|
|
14084
|
-
_context6.next = 10;
|
|
14085
|
-
return warningsApi.updateWarning(warningDetail.linked_to_id, warning);
|
|
14086
|
-
case 10:
|
|
14087
|
-
return _context6.abrupt("return", warning);
|
|
14088
|
-
case 11:
|
|
14089
|
-
_context6.next = 13;
|
|
14090
|
-
return warningsApi.saveWarningAs(publicWarning);
|
|
14091
|
-
case 13:
|
|
14092
|
-
newWarningId = _context6.sent;
|
|
14093
|
-
return _context6.abrupt("return", Object.assign({}, publicWarning, {
|
|
14094
|
-
warningDetail: Object.assign({}, warningDetail, {
|
|
14095
|
-
id: newWarningId
|
|
14096
|
-
})
|
|
14097
|
-
}));
|
|
14098
|
-
case 15:
|
|
14099
|
-
case "end":
|
|
14100
|
-
return _context6.stop();
|
|
14101
|
-
}
|
|
14102
|
-
}, _callee6);
|
|
14103
|
-
}));
|
|
14104
|
-
return function saveOrUpdateWarning(_x11) {
|
|
14105
|
-
return _ref5.apply(this, arguments);
|
|
14106
|
-
};
|
|
14107
|
-
}();
|
|
14108
|
-
var toggleDialogLoadingEffect = function toggleDialogLoadingEffect(dispatch, isDialogOpen, isLoading) {
|
|
14109
|
-
if (isDialogOpen) {
|
|
14110
|
-
dispatch(uiActions.toggleIsLoadingDialog({
|
|
14111
|
-
isLoading: isLoading,
|
|
14112
|
-
type: publicWarningDialogType
|
|
14113
|
-
}));
|
|
14114
|
-
}
|
|
14115
|
-
};
|
|
14116
|
-
var errorEffect = function errorEffect(dispatch, message, isDialogOpen) {
|
|
14117
|
-
dispatch(publicWarningFormActions.setFormError({
|
|
14118
|
-
message: message
|
|
14119
|
-
}));
|
|
14120
|
-
toggleDialogLoadingEffect(dispatch, isDialogOpen, false);
|
|
14121
|
-
};
|
|
14122
|
-
publicWarningFormListener.startListening({
|
|
14123
|
-
actionCreator: uiActions.setToggleOpenDialog,
|
|
14124
|
-
effect: function () {
|
|
14125
|
-
var _effect6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(_ref6, listenerApi) {
|
|
14126
|
-
var payload;
|
|
14127
|
-
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
14128
|
-
while (1) switch (_context7.prev = _context7.next) {
|
|
14129
|
-
case 0:
|
|
14130
|
-
payload = _ref6.payload;
|
|
14131
14135
|
if (!payload.setOpen && payload.type === publicWarningDialogType) {
|
|
14132
14136
|
listenerApi.dispatch(uiActions.setToggleOpenDialog({
|
|
14133
14137
|
setOpen: false,
|
|
@@ -14136,12 +14140,12 @@ publicWarningFormListener.startListening({
|
|
|
14136
14140
|
}
|
|
14137
14141
|
case 2:
|
|
14138
14142
|
case "end":
|
|
14139
|
-
return
|
|
14143
|
+
return _context2.stop();
|
|
14140
14144
|
}
|
|
14141
|
-
},
|
|
14145
|
+
}, _callee2);
|
|
14142
14146
|
}));
|
|
14143
|
-
function effect(
|
|
14144
|
-
return
|
|
14147
|
+
function effect(_x3, _x4) {
|
|
14148
|
+
return _effect2.apply(this, arguments);
|
|
14145
14149
|
}
|
|
14146
14150
|
return effect;
|
|
14147
14151
|
}()
|
|
@@ -14215,7 +14219,7 @@ warningsDrawingsListener.startListening({
|
|
|
14215
14219
|
isLoading: false,
|
|
14216
14220
|
type: drawingDialogType
|
|
14217
14221
|
}));
|
|
14218
|
-
errorMessage = isAxiosError
|
|
14222
|
+
errorMessage = isAxiosError(taskError) ? getAxiosErrorMessage(taskError) : taskError.message;
|
|
14219
14223
|
listenerApi.dispatch(uiActions.setErrorDialog({
|
|
14220
14224
|
type: drawingDialogType,
|
|
14221
14225
|
error: errorMessage
|