@opengeoweb/warnings 13.2.1 → 14.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 +432 -118
- package/package.json +12 -12
- package/src/lib/api/aviation-api/api.d.ts +6 -0
- package/src/lib/api/aviation-api/fakeApi.d.ts +2 -0
- package/src/lib/api/aviation-api/hooks.d.ts +2 -0
- package/src/lib/api/warning-api/hooks.d.ts +1 -1
- package/src/lib/components/AreaObjectLoader/AreaObjectLoader.d.ts +1 -0
- package/src/lib/components/AreaObjectLoader/AreasObjects.d.ts +2 -0
- package/src/lib/components/FilterList/filter-hooks.d.ts +0 -2
- package/src/lib/components/FilterList/filter-utils.d.ts +0 -1
- package/src/lib/components/MaritimeWarningsForm/{useConfirmRetractDialog.d.ts → useConfirmDeleteDialog.d.ts} +3 -3
- package/src/lib/components/PublicWarningsForm/PublicWarningsForm.stories.d.ts +8 -0
- package/src/lib/components/PublicWarningsForm/ValidFromField/ValidFromField.d.ts +10 -0
- package/src/lib/components/PublicWarningsFormDialog/AviationWarningCancelDialogContent.d.ts +7 -0
- package/src/lib/components/PublicWarningsFormDialog/AviationWarningCancelDialogContent.spec.d.ts +1 -0
package/index.esm.js
CHANGED
|
@@ -7,7 +7,7 @@ import { SHARED_NAMESPACE, useConfirmationDialog, dateUtils, ToggleMenu, calcula
|
|
|
7
7
|
import { createEntityAdapter, createSlice, createSelector, createListenerMiddleware, current, combineReducers, configureStore } from '@reduxjs/toolkit';
|
|
8
8
|
import { defaultBbox } from '@opengeoweb/core';
|
|
9
9
|
import { FORM_FIELDS_NAMESPACE, useDraftFormHelpers, ReactHookFormSelect, ReactHookFormHiddenInput, isValidGeoJsonCoordinates, ReactHookFormTextField, ReactHookFormProvider, defaultFormOptions, errorMessages, isEmpty, ReactHookFormDateTime, isXHoursAfter, isXHoursBefore } from '@opengeoweb/form-fields';
|
|
10
|
-
import { SA_NAMESPACE, isInstanceOfCancelSigmet, getDefaultValidFromValue, isInstanceOfCancelAirmet, getDefaultValidUntilValue, useShortTestHelpers, ProductAction, SigmetForm, AirmetForm, getConfirmationDialogCancelLabel, getConfirmationDialogButtonLabel, getConfirmationDialogContent, getConfirmationDialogTitle, isVAPhenomenon, CancelSigmetVolcanicMovements, createAirmetPostParameter, createSigmetPostParameter, prepareCancelSigmet, getProductFormMode } from '@opengeoweb/sigmet-airmet';
|
|
10
|
+
import { SA_NAMESPACE, isInstanceOfCancelSigmet, getDefaultValidFromValue, isInstanceOfCancelAirmet, getDefaultValidUntilValue, findSequenceNumber, getSequenceStyling, useShortTestHelpers, ProductAction, SigmetForm, AirmetForm, getConfirmationDialogCancelLabel, getConfirmationDialogButtonLabel, getConfirmationDialogContent, getConfirmationDialogTitle, isVAPhenomenon, CancelSigmetVolcanicMovements, createAirmetPostParameter, createSigmetPostParameter, prepareCancelSigmet, getProductFormMode } from '@opengeoweb/sigmet-airmet';
|
|
11
11
|
import { LayerType, generateMapId } from '@opengeoweb/webmap';
|
|
12
12
|
import { t } from 'i18next';
|
|
13
13
|
import { useTranslation } from 'react-i18next';
|
|
@@ -74,6 +74,7 @@ var en = {
|
|
|
74
74
|
"warning-button-publishing": "Publishing",
|
|
75
75
|
"warning-area": "Area",
|
|
76
76
|
"warning-button-add-object": "Add Areas & Objects",
|
|
77
|
+
"warning-button-replace-object": "Replace Areas & Objects",
|
|
77
78
|
"warning-description-original": "Description original",
|
|
78
79
|
"warning-description-translation": "Description translation",
|
|
79
80
|
"warning-unspecified": "(not specified)",
|
|
@@ -137,9 +138,11 @@ var en = {
|
|
|
137
138
|
"warning-list-header-levels": "Levels",
|
|
138
139
|
"warning-list-header-status": "Status",
|
|
139
140
|
"warning-list-header-draft": "DRAFT",
|
|
140
|
-
"area-object-loader-title": "
|
|
141
|
+
"area-object-loader-title": "Areas & Objects",
|
|
141
142
|
"add-button": "Add",
|
|
143
|
+
"replace-button": "Replace",
|
|
142
144
|
"remove-button": "Remove",
|
|
145
|
+
"disabled-button-tooltip": "Removing an area/object is only allowed for draft warnings",
|
|
143
146
|
"area-object-loader-no-areas-objects": "No areas or objects found",
|
|
144
147
|
objects: "Objects",
|
|
145
148
|
areas: "Areas",
|
|
@@ -209,6 +212,9 @@ var en = {
|
|
|
209
212
|
"publish-this-product": "Are you sure you want to publish this {{product}}?",
|
|
210
213
|
"yes-cancel": "Yes, cancel {{product}}",
|
|
211
214
|
"cancel-this-product": "Are you sure you want to cancel this {{product}}?",
|
|
215
|
+
"cancel-message": "Cancel message",
|
|
216
|
+
"will-cancel-message": "Will cancel warning",
|
|
217
|
+
"tac-label": "TAC:",
|
|
212
218
|
"aviation-cancel-success": "{{warningType}} has succesfully been cancelled!",
|
|
213
219
|
"aviation-discard-success": "{{warningType}} has been discarded!",
|
|
214
220
|
"error-auth-login": "This feature is protected by authentication. Please log in to proceed",
|
|
@@ -247,12 +253,11 @@ var en = {
|
|
|
247
253
|
"maritime-change-BACKING": "Backing",
|
|
248
254
|
"maritime-change-VEERING": "Veering",
|
|
249
255
|
"maritime-delete-button": "Delete",
|
|
250
|
-
"maritime-
|
|
251
|
-
"maritime-no-change
|
|
252
|
-
"maritime-
|
|
253
|
-
"maritime-
|
|
254
|
-
"maritime-
|
|
255
|
-
"maritime-retract-dialog-confirm": "Retract",
|
|
256
|
+
"maritime-delete-warning": "Delete warning",
|
|
257
|
+
"maritime-delete-dialog-no-change": "(no change in direction)",
|
|
258
|
+
"maritime-delete-dialog-description-suffix": "will be removed",
|
|
259
|
+
"maritime-delete-dialog-empty-warning-description": "The warning will be deleted",
|
|
260
|
+
"maritime-delete-dialog-confirm": "Delete",
|
|
256
261
|
"maritime-clear-dialog-title": "Clear all",
|
|
257
262
|
"maritime-clear-dialog-description": "All warnings will be removed from the list",
|
|
258
263
|
"maritime-warning-title-coastal": "Warning Maritime - Coastal Waters",
|
|
@@ -316,6 +321,7 @@ var nl = {
|
|
|
316
321
|
"warning-button-publishing": "Publiceren",
|
|
317
322
|
"warning-area": "Gebied",
|
|
318
323
|
"warning-button-add-object": "Gebieden & Objecten toevoegen",
|
|
324
|
+
"warning-button-replace-object": "Vervang Gebieden & Objecten",
|
|
319
325
|
"warning-description-original": "Beschrijving origineel",
|
|
320
326
|
"warning-description-translation": "Beschrijving vertaling",
|
|
321
327
|
"warning-level": "Niveau",
|
|
@@ -376,9 +382,11 @@ var nl = {
|
|
|
376
382
|
"warning-list-header-levels": "Niveaus",
|
|
377
383
|
"warning-list-header-status": "Status",
|
|
378
384
|
"warning-list-header-draft": "CONCEPT",
|
|
379
|
-
"area-object-loader-title": "Gebieden & Objecten
|
|
385
|
+
"area-object-loader-title": "Gebieden & Objecten",
|
|
380
386
|
"add-button": "Toevoegen",
|
|
387
|
+
"replace-button": "Vervangen",
|
|
381
388
|
"remove-button": "Verwijderen",
|
|
389
|
+
"disabled-button-tooltip": "Het verwijderen van een gebied/object is alleen toegestaan voor CONCEPT waarschuwingen",
|
|
382
390
|
"area-object-loader-no-areas-objects": "Geen gebieden of objecten gevonden",
|
|
383
391
|
objects: "Objecten",
|
|
384
392
|
areas: "Gebieden",
|
|
@@ -450,11 +458,11 @@ var nl = {
|
|
|
450
458
|
"maritime-direction-NW": "Noordwest",
|
|
451
459
|
"maritime-direction-NNW": "Noord tot noordwest",
|
|
452
460
|
"maritime-delete-button": "Verwijderen",
|
|
453
|
-
"maritime-
|
|
454
|
-
"maritime-
|
|
455
|
-
"maritime-
|
|
456
|
-
"maritime-
|
|
457
|
-
"maritime-
|
|
461
|
+
"maritime-delete-warning": "Waarschuwing verwijderen",
|
|
462
|
+
"maritime-delete-dialog-no-change": "(geen wijziging in richting)",
|
|
463
|
+
"maritime-delete-dialog-empty-warning-description": "De waarschuwing wordt verwijderd",
|
|
464
|
+
"maritime-delete-dialog-description-suffix": "wordt verwijderd",
|
|
465
|
+
"maritime-delete-dialog-confirm": "Verwijderen",
|
|
458
466
|
"maritime-clear-dialog-title": "Wissen",
|
|
459
467
|
"maritime-clear-dialog-description": "Alle waarschuwingen worden verwijderd",
|
|
460
468
|
"maritime-warning-title-coastal": "Maritieme Waarschuwing - Kustgebieden",
|
|
@@ -514,6 +522,7 @@ var fi = {
|
|
|
514
522
|
"warning-button-publishing": "Julkaisu",
|
|
515
523
|
"warning-area": "Alue",
|
|
516
524
|
"warning-button-add-object": "Lisää objekti",
|
|
525
|
+
"warning-button-replace-object": "ei käännetty",
|
|
517
526
|
"warning-description-original": "Alkuperäinen kuvaus",
|
|
518
527
|
"warning-description-translation": "Kuvauksen käännös",
|
|
519
528
|
"warning-level": "Taso",
|
|
@@ -576,7 +585,9 @@ var fi = {
|
|
|
576
585
|
"warning-list-header-draft": "LUONNOS",
|
|
577
586
|
"area-object-loader-title": "ei käännetty",
|
|
578
587
|
"add-button": "ei käännetty",
|
|
588
|
+
"replace-button": "ei käännetty",
|
|
579
589
|
"remove-button": "Poista",
|
|
590
|
+
"disabled-button-tooltip": "Alueen tai objektin poistaminen on sallittua vain luonnosvaroituksille",
|
|
580
591
|
"area-object-loader-no-areas-objects": "ei käännetty",
|
|
581
592
|
objects: "ei käännetty",
|
|
582
593
|
areas: "ei käännetty",
|
|
@@ -668,6 +679,7 @@ var no = {
|
|
|
668
679
|
"warning-button-publishing": "Publiserer",
|
|
669
680
|
"warning-area": "Område",
|
|
670
681
|
"warning-button-add-object": "Legg til objekt",
|
|
682
|
+
"warning-button-replace-object": "Legg til objekt",
|
|
671
683
|
"warning-description-original": "Original beskrivelse",
|
|
672
684
|
"warning-description-translation": "Oversatt beskrivelse",
|
|
673
685
|
"warning-level": "Grad",
|
|
@@ -728,9 +740,11 @@ var no = {
|
|
|
728
740
|
"warning-list-header-levels": "Grad",
|
|
729
741
|
"warning-list-header-status": "Status",
|
|
730
742
|
"warning-list-header-draft": "UTKAST",
|
|
731
|
-
"area-object-loader-title": "
|
|
743
|
+
"area-object-loader-title": "Områder og objekter",
|
|
732
744
|
"add-button": "Legg til",
|
|
745
|
+
"replace-button": "Bytt ut",
|
|
733
746
|
"remove-button": "Fjerne",
|
|
747
|
+
"disabled-button-tooltip": "Fjerning av et område/objekt er kun tillatt for kladdvarsler",
|
|
734
748
|
"area-object-loader-no-areas-objects": "Ingen områder eller objekter funnet",
|
|
735
749
|
objects: "Objekter",
|
|
736
750
|
areas: "Områder",
|
|
@@ -1112,11 +1126,7 @@ var slice$2 = createSlice({
|
|
|
1112
1126
|
}
|
|
1113
1127
|
},
|
|
1114
1128
|
// action caught in drawings/listener
|
|
1115
|
-
submitDrawValues: function submitDrawValues(
|
|
1116
|
-
// eslint-disable-next-line no-unused-vars
|
|
1117
|
-
draft,
|
|
1118
|
-
// eslint-disable-next-line no-unused-vars
|
|
1119
|
-
action) {},
|
|
1129
|
+
submitDrawValues: function submitDrawValues(draft, action) {},
|
|
1120
1130
|
setFormDirty: function setFormDirty(draft, action) {
|
|
1121
1131
|
var _action$payload = action.payload,
|
|
1122
1132
|
drawingInstanceId = _action$payload.drawingInstanceId,
|
|
@@ -2448,7 +2458,6 @@ var domainPhenomena = {
|
|
|
2448
2458
|
};
|
|
2449
2459
|
var defaultPhenomenonFilter = makeFilterFromList(Object.keys(AllPhenomenaKeys));
|
|
2450
2460
|
var initialFilters = {
|
|
2451
|
-
incident: defaultEmptyFilter,
|
|
2452
2461
|
source: defaultEmptyFilter,
|
|
2453
2462
|
domain: defaultDomainFilter,
|
|
2454
2463
|
phenomenon: defaultPhenomenonFilter,
|
|
@@ -3206,15 +3215,12 @@ var useDrawings = function useDrawings(params, enabled) {
|
|
|
3206
3215
|
}
|
|
3207
3216
|
return useAuthQuery(['drawings', JSON.stringify(params)], function (auth) {
|
|
3208
3217
|
return getDrawings(auth, params);
|
|
3209
|
-
}, enabled);
|
|
3218
|
+
}, !enabled);
|
|
3210
3219
|
};
|
|
3211
|
-
var useDrawingDetails = function useDrawingDetails(drawingId
|
|
3212
|
-
if (enabled === void 0) {
|
|
3213
|
-
enabled = true;
|
|
3214
|
-
}
|
|
3220
|
+
var useDrawingDetails = function useDrawingDetails(drawingId) {
|
|
3215
3221
|
return useAuthQuery(['drawing-details', JSON.stringify(drawingId)], function (auth) {
|
|
3216
3222
|
return getDrawingDetails(auth, drawingId);
|
|
3217
|
-
},
|
|
3223
|
+
}, !drawingId);
|
|
3218
3224
|
};
|
|
3219
3225
|
var useAreaKeywords = function useAreaKeywords(enabled) {
|
|
3220
3226
|
if (enabled === void 0) {
|
|
@@ -3469,9 +3475,9 @@ var ObjectManagerConnect = function ObjectManagerConnect(_ref) {
|
|
|
3469
3475
|
var _useState = useState(),
|
|
3470
3476
|
selectedDrawingId = _useState[0],
|
|
3471
3477
|
setSelectedDrawingId = _useState[1];
|
|
3472
|
-
var _useDrawingDetails = useDrawingDetails(selectedDrawingId
|
|
3478
|
+
var _useDrawingDetails = useDrawingDetails(selectedDrawingId),
|
|
3473
3479
|
drawingDetails = _useDrawingDetails.data,
|
|
3474
|
-
|
|
3480
|
+
isFetchingDetails = _useDrawingDetails.isFetching,
|
|
3475
3481
|
drawingError = _useDrawingDetails.error;
|
|
3476
3482
|
var dispatch = useDispatch();
|
|
3477
3483
|
var mapId = useSelector(function (store) {
|
|
@@ -3494,7 +3500,8 @@ var ObjectManagerConnect = function ObjectManagerConnect(_ref) {
|
|
|
3494
3500
|
var _useDrawings = useDrawings({}, isDialogOpen),
|
|
3495
3501
|
_useDrawings$data = _useDrawings.data,
|
|
3496
3502
|
drawings = _useDrawings$data === void 0 ? [] : _useDrawings$data,
|
|
3497
|
-
error = _useDrawings.error
|
|
3503
|
+
error = _useDrawings.error,
|
|
3504
|
+
isFetchingList = _useDrawings.isFetching;
|
|
3498
3505
|
useEffect(function () {
|
|
3499
3506
|
if (error || !isLoggedIn) {
|
|
3500
3507
|
var _error$message;
|
|
@@ -3655,7 +3662,7 @@ var ObjectManagerConnect = function ObjectManagerConnect(_ref) {
|
|
|
3655
3662
|
onCreateNewObject: onCreateNewObject,
|
|
3656
3663
|
activeDrawingId: activeDrawingId,
|
|
3657
3664
|
error: uiError,
|
|
3658
|
-
isLoading:
|
|
3665
|
+
isLoading: isFetchingDetails || isFetchingList
|
|
3659
3666
|
}), confirmDialogOptions && jsx(ConfirmDeleteDialog, Object.assign({}, confirmDialogOptions, {
|
|
3660
3667
|
onDeleteSucces: onDeleteSuccess,
|
|
3661
3668
|
onClose: function onClose() {
|
|
@@ -4585,6 +4592,77 @@ var getSigmetTAC = function getSigmetTAC(auth, product) {
|
|
|
4585
4592
|
};
|
|
4586
4593
|
}());
|
|
4587
4594
|
};
|
|
4595
|
+
// For cancel TAC (not normal TAC)
|
|
4596
|
+
var getAirmetCancelTAC = function getAirmetCancelTAC(auth, product) {
|
|
4597
|
+
return fetch(airmetBaseUrl + "/airmet2cancel2tac", {
|
|
4598
|
+
body: JSON.stringify(product),
|
|
4599
|
+
method: 'POST',
|
|
4600
|
+
headers: getHeaders(auth)
|
|
4601
|
+
}).then(/*#__PURE__*/function () {
|
|
4602
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(result) {
|
|
4603
|
+
var textData;
|
|
4604
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
4605
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
4606
|
+
case 0:
|
|
4607
|
+
if (!(result.status === 200)) {
|
|
4608
|
+
_context3.next = 5;
|
|
4609
|
+
break;
|
|
4610
|
+
}
|
|
4611
|
+
_context3.next = 3;
|
|
4612
|
+
return result.text();
|
|
4613
|
+
case 3:
|
|
4614
|
+
textData = _context3.sent;
|
|
4615
|
+
return _context3.abrupt("return", {
|
|
4616
|
+
data: textData
|
|
4617
|
+
});
|
|
4618
|
+
case 5:
|
|
4619
|
+
throw new Error("Failed to fetch Cancel TAC data: " + result.statusText);
|
|
4620
|
+
case 6:
|
|
4621
|
+
case "end":
|
|
4622
|
+
return _context3.stop();
|
|
4623
|
+
}
|
|
4624
|
+
}, _callee3);
|
|
4625
|
+
}));
|
|
4626
|
+
return function (_x3) {
|
|
4627
|
+
return _ref3.apply(this, arguments);
|
|
4628
|
+
};
|
|
4629
|
+
}());
|
|
4630
|
+
};
|
|
4631
|
+
var getSigmetCancelTAC = function getSigmetCancelTAC(auth, product) {
|
|
4632
|
+
return fetch(sigmetBaseUrl + "/sigmet2cancel2tac", {
|
|
4633
|
+
body: JSON.stringify(product),
|
|
4634
|
+
method: 'POST',
|
|
4635
|
+
headers: getHeaders(auth)
|
|
4636
|
+
}).then(/*#__PURE__*/function () {
|
|
4637
|
+
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(result) {
|
|
4638
|
+
var textData;
|
|
4639
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
4640
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
4641
|
+
case 0:
|
|
4642
|
+
if (!(result.status === 200)) {
|
|
4643
|
+
_context4.next = 5;
|
|
4644
|
+
break;
|
|
4645
|
+
}
|
|
4646
|
+
_context4.next = 3;
|
|
4647
|
+
return result.text();
|
|
4648
|
+
case 3:
|
|
4649
|
+
textData = _context4.sent;
|
|
4650
|
+
return _context4.abrupt("return", {
|
|
4651
|
+
data: textData
|
|
4652
|
+
});
|
|
4653
|
+
case 5:
|
|
4654
|
+
throw new Error("Failed to fetch Cancel TAC data: " + result.statusText);
|
|
4655
|
+
case 6:
|
|
4656
|
+
case "end":
|
|
4657
|
+
return _context4.stop();
|
|
4658
|
+
}
|
|
4659
|
+
}, _callee4);
|
|
4660
|
+
}));
|
|
4661
|
+
return function (_x4) {
|
|
4662
|
+
return _ref4.apply(this, arguments);
|
|
4663
|
+
};
|
|
4664
|
+
}());
|
|
4665
|
+
};
|
|
4588
4666
|
var postSigmet = function postSigmet(auth, data) {
|
|
4589
4667
|
return fetch(sigmetBaseUrl + "/sigmet", {
|
|
4590
4668
|
headers: getHeaders(auth),
|
|
@@ -4661,9 +4739,29 @@ var useTACApi = function useTACApi() {
|
|
|
4661
4739
|
staleTime: 1000 * 15
|
|
4662
4740
|
});
|
|
4663
4741
|
};
|
|
4742
|
+
var fetchSigmetCancelTAC = function fetchSigmetCancelTAC(product) {
|
|
4743
|
+
return queryClient.fetchQuery({
|
|
4744
|
+
queryKey: ['sigmet-cancel-tac', product],
|
|
4745
|
+
queryFn: function queryFn() {
|
|
4746
|
+
return getSigmetCancelTAC(auth, product);
|
|
4747
|
+
},
|
|
4748
|
+
staleTime: 1000 * 15
|
|
4749
|
+
});
|
|
4750
|
+
};
|
|
4751
|
+
var fetchAirmetCancelTAC = function fetchAirmetCancelTAC(product) {
|
|
4752
|
+
return queryClient.fetchQuery({
|
|
4753
|
+
queryKey: ['airmet-cancel-tac', product],
|
|
4754
|
+
queryFn: function queryFn() {
|
|
4755
|
+
return getAirmetCancelTAC(auth, product);
|
|
4756
|
+
},
|
|
4757
|
+
staleTime: 1000 * 15
|
|
4758
|
+
});
|
|
4759
|
+
};
|
|
4664
4760
|
return {
|
|
4665
4761
|
fetchSigmetTAC: fetchSigmetTAC,
|
|
4666
|
-
fetchAirmetTAC: fetchAirmetTAC
|
|
4762
|
+
fetchAirmetTAC: fetchAirmetTAC,
|
|
4763
|
+
fetchSigmetCancelTAC: fetchSigmetCancelTAC,
|
|
4764
|
+
fetchAirmetCancelTAC: fetchAirmetCancelTAC
|
|
4667
4765
|
};
|
|
4668
4766
|
};
|
|
4669
4767
|
/**
|
|
@@ -5194,6 +5292,8 @@ var AreaField = function AreaField(_ref) {
|
|
|
5194
5292
|
var geoJSON = getValues('areas[0].geoJSON');
|
|
5195
5293
|
var objectName = getObjectName(geoJSON, getValues('areas[0].objectName'), t);
|
|
5196
5294
|
var hasErrors = (errors == null ? void 0 : errors.areas) !== undefined;
|
|
5295
|
+
var hasExistingGeoJSON = geoJSON !== undefined && geoJSON !== null;
|
|
5296
|
+
var areaButtonTitle = t(!hasExistingGeoJSON ? 'warning-button-add-object' : 'warning-button-replace-object');
|
|
5197
5297
|
return jsxs(Fragment, {
|
|
5198
5298
|
children: [jsx(Typography, Object.assign({
|
|
5199
5299
|
variant: "h3",
|
|
@@ -5283,7 +5383,7 @@ var AreaField = function AreaField(_ref) {
|
|
|
5283
5383
|
size: "small",
|
|
5284
5384
|
onClick: onAddObject,
|
|
5285
5385
|
disabled: isDisabled,
|
|
5286
|
-
children:
|
|
5386
|
+
children: areaButtonTitle
|
|
5287
5387
|
})]
|
|
5288
5388
|
});
|
|
5289
5389
|
};
|
|
@@ -5596,6 +5696,7 @@ var ProbabilityField = function ProbabilityField(_ref) {
|
|
|
5596
5696
|
};
|
|
5597
5697
|
|
|
5598
5698
|
var VALID_FROM_MAX_HOURS_AFTER_CURRENT = 192;
|
|
5699
|
+
var VALID_UNTIL_DEFAULT_OFFSET = 6;
|
|
5599
5700
|
var _isValueBeforeCurrentTime$1 = function isValueBeforeCurrentTime(value, t) {
|
|
5600
5701
|
return isXHoursBefore(value, dateUtils.getCurrentTimeAsString(), 0) || t('warning-valid-from-error-before-current');
|
|
5601
5702
|
};
|
|
@@ -5605,6 +5706,16 @@ var _isMaxHoursAfterCurrentTime$1 = function isMaxHoursAfterCurrentTime(value, t
|
|
|
5605
5706
|
MAX_HOURS: VALID_FROM_MAX_HOURS_AFTER_CURRENT
|
|
5606
5707
|
});
|
|
5607
5708
|
};
|
|
5709
|
+
var offsetTimeValidUntilField = function offsetTimeValidUntilField(validFrom, validUntil) {
|
|
5710
|
+
var validUntilValue = dateUtils.getUtcFromString(validUntil);
|
|
5711
|
+
var valueFrom = dateUtils.getUtcFromString(validFrom);
|
|
5712
|
+
if (valueFrom && validUntilValue && dateUtils.isAfter(valueFrom, validUntilValue)) {
|
|
5713
|
+
return dateUtils.add(valueFrom, {
|
|
5714
|
+
hours: VALID_UNTIL_DEFAULT_OFFSET
|
|
5715
|
+
}).toISOString();
|
|
5716
|
+
}
|
|
5717
|
+
return null;
|
|
5718
|
+
};
|
|
5608
5719
|
var ValidFrom = function ValidFrom(_ref) {
|
|
5609
5720
|
var isDisabled = _ref.isDisabled,
|
|
5610
5721
|
isReadOnly = _ref.isReadOnly;
|
|
@@ -5613,8 +5724,22 @@ var ValidFrom = function ValidFrom(_ref) {
|
|
|
5613
5724
|
var _useDraftFormHelpers = useDraftFormHelpers(),
|
|
5614
5725
|
isRequired = _useDraftFormHelpers.isRequired;
|
|
5615
5726
|
var _useFormContext = useFormContext(),
|
|
5616
|
-
trigger = _useFormContext.trigger
|
|
5617
|
-
|
|
5727
|
+
trigger = _useFormContext.trigger,
|
|
5728
|
+
getValues = _useFormContext.getValues,
|
|
5729
|
+
setValue = _useFormContext.setValue;
|
|
5730
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5731
|
+
var onChangeValidFrom = function onChangeValidFrom(value) {
|
|
5732
|
+
if (!value) {
|
|
5733
|
+
return;
|
|
5734
|
+
}
|
|
5735
|
+
var newValidUntilOffset = offsetTimeValidUntilField(value, getValues('validUntil'));
|
|
5736
|
+
if (newValidUntilOffset) {
|
|
5737
|
+
setValue('validUntil', newValidUntilOffset, {
|
|
5738
|
+
shouldValidate: true,
|
|
5739
|
+
shouldDirty: true
|
|
5740
|
+
});
|
|
5741
|
+
}
|
|
5742
|
+
// If the new value is after the current valid until, trigger validation
|
|
5618
5743
|
void trigger(['validFrom', 'validUntil']);
|
|
5619
5744
|
};
|
|
5620
5745
|
return jsx(ReactHookFormDateTime, {
|
|
@@ -6335,7 +6460,7 @@ var WarningListItem$1 = /*#__PURE__*/React__default.memo(function (_ref) {
|
|
|
6335
6460
|
return onRemove(warning.id);
|
|
6336
6461
|
},
|
|
6337
6462
|
"aria-label": t('maritime-delete-button'),
|
|
6338
|
-
tooltipTitle: t('maritime-
|
|
6463
|
+
tooltipTitle: t('maritime-delete-warning'),
|
|
6339
6464
|
children: jsx(Delete, {})
|
|
6340
6465
|
})]
|
|
6341
6466
|
});
|
|
@@ -6654,7 +6779,7 @@ function useMaritimeWarningsFormState() {
|
|
|
6654
6779
|
return React__default.useReducer(reducer, initialState);
|
|
6655
6780
|
}
|
|
6656
6781
|
|
|
6657
|
-
function
|
|
6782
|
+
function useConfirmDeleteDialog(_ref) {
|
|
6658
6783
|
var areas = _ref.areas,
|
|
6659
6784
|
warnings = _ref.warnings,
|
|
6660
6785
|
maritimeConfig = _ref.maritimeConfig,
|
|
@@ -6682,7 +6807,7 @@ function useConfirmRetractDialog(_ref) {
|
|
|
6682
6807
|
}, [t]);
|
|
6683
6808
|
var getWarningDescription = React__default.useCallback(function (warning) {
|
|
6684
6809
|
if (!isPublishedWarning(warning)) {
|
|
6685
|
-
return t('maritime-
|
|
6810
|
+
return t('maritime-delete-dialog-empty-warning-description');
|
|
6686
6811
|
}
|
|
6687
6812
|
var windDirectionFromLabel = getLabelFromWindDirectionConfig(maritimeConfig.windDirectionDefinition, warning.windDirectionFrom);
|
|
6688
6813
|
var areasById = new Map(areas.map(function (area) {
|
|
@@ -6691,11 +6816,11 @@ function useConfirmRetractDialog(_ref) {
|
|
|
6691
6816
|
var areaLabels = warning.assignedAreaIds.map(function (areaId) {
|
|
6692
6817
|
return areasById.get(areaId).districtName;
|
|
6693
6818
|
});
|
|
6694
|
-
var changeToLabel = warning.changeType === 'NO_CHANGE' ? t('maritime-
|
|
6819
|
+
var changeToLabel = warning.changeType === 'NO_CHANGE' ? t('maritime-delete-dialog-no-change') : getLabelFromChangeConfig(maritimeConfig.changeType, warning.changeType) + " " + getLabelFromWindDirectionConfig(maritimeConfig.windDirectionDefinition, warning.windDirectionTo);
|
|
6695
6820
|
var warningDescription = [windDirectionFromLabel + " " + t('maritime-windforce', {
|
|
6696
6821
|
value: warning.windForce
|
|
6697
6822
|
})].concat(areaLabels, [changeToLabel]).join(', ');
|
|
6698
|
-
return warningDescription + ". " + t('maritime-
|
|
6823
|
+
return warningDescription + ". " + t('maritime-delete-dialog-description-suffix');
|
|
6699
6824
|
}, [getLabelFromWindDirectionConfig, maritimeConfig.windDirectionDefinition, maritimeConfig.changeType, areas, t, getLabelFromChangeConfig]);
|
|
6700
6825
|
return {
|
|
6701
6826
|
onRemoveWarningWithConfirmation: React__default.useCallback(/*#__PURE__*/function () {
|
|
@@ -6709,9 +6834,9 @@ function useConfirmRetractDialog(_ref) {
|
|
|
6709
6834
|
});
|
|
6710
6835
|
_context.next = 3;
|
|
6711
6836
|
return confirmDialog({
|
|
6712
|
-
title: t('maritime-
|
|
6837
|
+
title: t('maritime-delete-warning'),
|
|
6713
6838
|
description: '',
|
|
6714
|
-
confirmLabel: t('maritime-
|
|
6839
|
+
confirmLabel: t('maritime-delete-dialog-confirm'),
|
|
6715
6840
|
cancelLabel: t('close-dialog-cancel'),
|
|
6716
6841
|
content: getWarningDescription(warning)
|
|
6717
6842
|
});
|
|
@@ -6932,13 +7057,13 @@ var MaritimeWarningsForm = function MaritimeWarningsForm(_ref) {
|
|
|
6932
7057
|
var disabledAreaIds = warnings.flatMap(function (warning) {
|
|
6933
7058
|
return warning.assignedAreaIds;
|
|
6934
7059
|
});
|
|
6935
|
-
var
|
|
7060
|
+
var _useConfirmDeleteDial = useConfirmDeleteDialog({
|
|
6936
7061
|
areas: areas,
|
|
6937
7062
|
warnings: warnings,
|
|
6938
7063
|
maritimeConfig: maritimeConfig,
|
|
6939
7064
|
onRemoveWarning: onRemoveWarning
|
|
6940
7065
|
}),
|
|
6941
|
-
onRemoveWarningWithConfirmation =
|
|
7066
|
+
onRemoveWarningWithConfirmation = _useConfirmDeleteDial.onRemoveWarningWithConfirmation;
|
|
6942
7067
|
var onClearWithConfirmation = React__default.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
6943
7068
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
6944
7069
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -7489,6 +7614,173 @@ var MaritimeWarningsFormConnect = function MaritimeWarningsFormConnect(_ref) {
|
|
|
7489
7614
|
});
|
|
7490
7615
|
};
|
|
7491
7616
|
|
|
7617
|
+
var CancelAviationDialogContent = function CancelAviationDialogContent(_ref) {
|
|
7618
|
+
var product = _ref.product,
|
|
7619
|
+
warningType = _ref.warningType;
|
|
7620
|
+
var _useTACApi = useTACApi(),
|
|
7621
|
+
fetchSigmetCancelTAC = _useTACApi.fetchSigmetCancelTAC,
|
|
7622
|
+
fetchAirmetCancelTAC = _useTACApi.fetchAirmetCancelTAC,
|
|
7623
|
+
fetchSigmetTAC = _useTACApi.fetchSigmetTAC,
|
|
7624
|
+
fetchAirmetTAC = _useTACApi.fetchAirmetTAC;
|
|
7625
|
+
var _React$useState = React__default.useState(null),
|
|
7626
|
+
cancelTAC = _React$useState[0],
|
|
7627
|
+
setCancelTAC = _React$useState[1];
|
|
7628
|
+
var _React$useState2 = React__default.useState(null),
|
|
7629
|
+
currentTAC = _React$useState2[0],
|
|
7630
|
+
setCurrentTAC = _React$useState2[1];
|
|
7631
|
+
var _useWarningsTranslati = useWarningsTranslation(),
|
|
7632
|
+
t = _useWarningsTranslati.t;
|
|
7633
|
+
React__default.useEffect(function () {
|
|
7634
|
+
var fetchData = /*#__PURE__*/function () {
|
|
7635
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
7636
|
+
var cancelResult, currentResult;
|
|
7637
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
7638
|
+
while (1) switch (_context.prev = _context.next) {
|
|
7639
|
+
case 0:
|
|
7640
|
+
_context.prev = 0;
|
|
7641
|
+
if (!(warningType === 'sigmet')) {
|
|
7642
|
+
_context.next = 7;
|
|
7643
|
+
break;
|
|
7644
|
+
}
|
|
7645
|
+
_context.next = 4;
|
|
7646
|
+
return fetchSigmetCancelTAC(product);
|
|
7647
|
+
case 4:
|
|
7648
|
+
_context.t0 = _context.sent;
|
|
7649
|
+
_context.next = 10;
|
|
7650
|
+
break;
|
|
7651
|
+
case 7:
|
|
7652
|
+
_context.next = 9;
|
|
7653
|
+
return fetchAirmetCancelTAC(product);
|
|
7654
|
+
case 9:
|
|
7655
|
+
_context.t0 = _context.sent;
|
|
7656
|
+
case 10:
|
|
7657
|
+
cancelResult = _context.t0;
|
|
7658
|
+
setCancelTAC(cancelResult.data);
|
|
7659
|
+
if (!(warningType === 'sigmet')) {
|
|
7660
|
+
_context.next = 18;
|
|
7661
|
+
break;
|
|
7662
|
+
}
|
|
7663
|
+
_context.next = 15;
|
|
7664
|
+
return fetchSigmetTAC(product);
|
|
7665
|
+
case 15:
|
|
7666
|
+
_context.t1 = _context.sent;
|
|
7667
|
+
_context.next = 21;
|
|
7668
|
+
break;
|
|
7669
|
+
case 18:
|
|
7670
|
+
_context.next = 20;
|
|
7671
|
+
return fetchAirmetTAC(product);
|
|
7672
|
+
case 20:
|
|
7673
|
+
_context.t1 = _context.sent;
|
|
7674
|
+
case 21:
|
|
7675
|
+
currentResult = _context.t1;
|
|
7676
|
+
setCurrentTAC(currentResult.data);
|
|
7677
|
+
_context.next = 27;
|
|
7678
|
+
break;
|
|
7679
|
+
case 25:
|
|
7680
|
+
_context.prev = 25;
|
|
7681
|
+
_context.t2 = _context["catch"](0);
|
|
7682
|
+
case 27:
|
|
7683
|
+
case "end":
|
|
7684
|
+
return _context.stop();
|
|
7685
|
+
}
|
|
7686
|
+
}, _callee, null, [[0, 25]]);
|
|
7687
|
+
}));
|
|
7688
|
+
return function fetchData() {
|
|
7689
|
+
return _ref2.apply(this, arguments);
|
|
7690
|
+
};
|
|
7691
|
+
}();
|
|
7692
|
+
void fetchData();
|
|
7693
|
+
}, [fetchAirmetCancelTAC, fetchAirmetTAC, fetchSigmetCancelTAC, fetchSigmetTAC, product, warningType]);
|
|
7694
|
+
var tacBlockStyle = {
|
|
7695
|
+
whiteSpace: 'pre-wrap',
|
|
7696
|
+
wordBreak: 'break-word',
|
|
7697
|
+
overflowX: 'auto',
|
|
7698
|
+
overflowY: 'auto',
|
|
7699
|
+
maxWidth: '100%',
|
|
7700
|
+
fontFamily: 'monospace',
|
|
7701
|
+
fontSize: '0.9rem',
|
|
7702
|
+
minHeight: 120,
|
|
7703
|
+
maxHeight: 140
|
|
7704
|
+
};
|
|
7705
|
+
var renderTacWithSequence = function renderTacWithSequence(tac, noTacKey, product) {
|
|
7706
|
+
if (!tac) {
|
|
7707
|
+
return jsx(Box, {
|
|
7708
|
+
component: "pre",
|
|
7709
|
+
sx: tacBlockStyle,
|
|
7710
|
+
children: t(noTacKey)
|
|
7711
|
+
});
|
|
7712
|
+
}
|
|
7713
|
+
var noTac = t(noTacKey);
|
|
7714
|
+
var hasTac = tac.split('\n').length > 0 && tac !== noTac;
|
|
7715
|
+
var sequenceNumberInTac = findSequenceNumber(tac, noTac);
|
|
7716
|
+
var sequenceStyle = getSequenceStyling(product, hasTac);
|
|
7717
|
+
var words = tac.split(' ');
|
|
7718
|
+
return jsxs(Box, {
|
|
7719
|
+
component: "pre",
|
|
7720
|
+
sx: tacBlockStyle,
|
|
7721
|
+
children: [jsx(Box, {
|
|
7722
|
+
component: "span",
|
|
7723
|
+
sx: {
|
|
7724
|
+
fontWeight: 'bold',
|
|
7725
|
+
fontSize: 12,
|
|
7726
|
+
mr: 1.5
|
|
7727
|
+
},
|
|
7728
|
+
children: t('tac-label')
|
|
7729
|
+
}), words.map(function (word, i) {
|
|
7730
|
+
return jsx(Box
|
|
7731
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
7732
|
+
, {
|
|
7733
|
+
component: "span",
|
|
7734
|
+
sx: hasTac && word === sequenceNumberInTac ? sequenceStyle : {},
|
|
7735
|
+
children: word + (i < words.length - 1 ? ' ' : '')
|
|
7736
|
+
}, word + "-" + i);
|
|
7737
|
+
})]
|
|
7738
|
+
});
|
|
7739
|
+
};
|
|
7740
|
+
return jsxs(Box, {
|
|
7741
|
+
sx: {
|
|
7742
|
+
width: '500px',
|
|
7743
|
+
maxWidth: '600px'
|
|
7744
|
+
},
|
|
7745
|
+
children: [jsx(Typography, {
|
|
7746
|
+
variant: "subtitle2",
|
|
7747
|
+
marginTop: "15px",
|
|
7748
|
+
children: jsx("strong", {
|
|
7749
|
+
children: t('cancel-message')
|
|
7750
|
+
})
|
|
7751
|
+
}), jsx("div", {
|
|
7752
|
+
style: {
|
|
7753
|
+
display: 'flex',
|
|
7754
|
+
alignItems: 'flex-start'
|
|
7755
|
+
},
|
|
7756
|
+
children: renderTacWithSequence(cancelTAC, 'tac-missing-data')
|
|
7757
|
+
}), jsx(Typography, {
|
|
7758
|
+
variant: "subtitle2",
|
|
7759
|
+
children: jsx("strong", {
|
|
7760
|
+
children: t('will-cancel-message')
|
|
7761
|
+
})
|
|
7762
|
+
}), jsx("div", {
|
|
7763
|
+
style: {
|
|
7764
|
+
display: 'flex',
|
|
7765
|
+
alignItems: 'flex-start'
|
|
7766
|
+
},
|
|
7767
|
+
children: jsxs(Box, {
|
|
7768
|
+
component: "pre",
|
|
7769
|
+
sx: tacBlockStyle,
|
|
7770
|
+
children: [jsx(Box, {
|
|
7771
|
+
component: "span",
|
|
7772
|
+
sx: {
|
|
7773
|
+
fontWeight: 'bold',
|
|
7774
|
+
fontSize: 12,
|
|
7775
|
+
mr: 1.5
|
|
7776
|
+
},
|
|
7777
|
+
children: t('tac-label')
|
|
7778
|
+
}), currentTAC != null ? currentTAC : t('tac-missing-data')]
|
|
7779
|
+
})
|
|
7780
|
+
})]
|
|
7781
|
+
});
|
|
7782
|
+
};
|
|
7783
|
+
|
|
7492
7784
|
var _excluded$3 = ["IS_DRAFT", "object", "translation-select"];
|
|
7493
7785
|
var useScrollTopOnError = function useScrollTopOnError(error) {
|
|
7494
7786
|
var ref = React.useRef(null);
|
|
@@ -7760,12 +8052,12 @@ var Form = function Form(_ref5) {
|
|
|
7760
8052
|
var _useTACApi = useTACApi(),
|
|
7761
8053
|
fetchSigmetTAC = _useTACApi.fetchSigmetTAC,
|
|
7762
8054
|
fetchAirmetTAC = _useTACApi.fetchAirmetTAC;
|
|
7763
|
-
var _useShortTestHelpers = useShortTestHelpers(),
|
|
7764
|
-
isShortTest = _useShortTestHelpers.isShortTest;
|
|
7765
8055
|
var confirmationDialog = useConfirmationDialog();
|
|
7766
8056
|
var formMethods = useForm({
|
|
7767
8057
|
defaultValues: {}
|
|
7768
8058
|
});
|
|
8059
|
+
var _useShortTestHelpers = useShortTestHelpers(),
|
|
8060
|
+
isShortTest = _useShortTestHelpers.isShortTest;
|
|
7769
8061
|
var endOfWarningValidity = publicWarningDetails == null ? void 0 : publicWarningDetails.validUntil;
|
|
7770
8062
|
React.useEffect(function () {
|
|
7771
8063
|
if (!endOfWarningValidity || formState !== 'amending') {
|
|
@@ -7872,7 +8164,12 @@ var Form = function Form(_ref5) {
|
|
|
7872
8164
|
confirmLabel: getConfirmationDialogButtonLabel(t, action, warningType || 'airmet'),
|
|
7873
8165
|
cancelLabel: getConfirmationDialogCancelLabel(t, action),
|
|
7874
8166
|
catchOnCancel: action === ProductAction.CLOSE,
|
|
7875
|
-
content:
|
|
8167
|
+
content:
|
|
8168
|
+
// eslint-disable-next-line no-nested-ternary
|
|
8169
|
+
action === ProductAction.CANCEL ? jsx(CancelAviationDialogContent, {
|
|
8170
|
+
product: selectedAviationProduct,
|
|
8171
|
+
warningType: warningType
|
|
8172
|
+
}) : isVAPhenomenon(selectedAviationProduct, action) && !isShortTest() ? jsx(FormProvider, Object.assign({}, formMethods, {
|
|
7876
8173
|
children: jsx(CancelSigmetVolcanicMovements, {
|
|
7877
8174
|
sigmet: selectedAviationProduct,
|
|
7878
8175
|
productConfig: aviationConfig
|
|
@@ -8798,6 +9095,12 @@ var getListInclHeaders = function getListInclHeaders(items, translateFn) {
|
|
|
8798
9095
|
}
|
|
8799
9096
|
};
|
|
8800
9097
|
};
|
|
9098
|
+
var getLabel = function getLabel(selectedAreas, isAreaSelected) {
|
|
9099
|
+
if (isAreaSelected) {
|
|
9100
|
+
return 'remove-button';
|
|
9101
|
+
}
|
|
9102
|
+
return selectedAreas.length === 0 ? 'add-button' : 'replace-button';
|
|
9103
|
+
};
|
|
8801
9104
|
var getDisplayDate = function getDisplayDate(date) {
|
|
8802
9105
|
return dateUtils.dateToString(dateUtils.utc(date), dateUtils.DATE_FORMAT_NAME_OF_DAY) + " UTC";
|
|
8803
9106
|
};
|
|
@@ -8807,26 +9110,41 @@ var ListItemAction = function ListItemAction(_ref2) {
|
|
|
8807
9110
|
onAddArea = _ref2.onAddArea,
|
|
8808
9111
|
onRemoveArea = _ref2.onRemoveArea,
|
|
8809
9112
|
isDisabled = _ref2.isDisabled,
|
|
8810
|
-
t = _ref2.t
|
|
9113
|
+
t = _ref2.t,
|
|
9114
|
+
_ref2$shouldDisableRe = _ref2.shouldDisableRemoveWarning,
|
|
9115
|
+
shouldDisableRemoveWarning = _ref2$shouldDisableRe === void 0 ? false : _ref2$shouldDisableRe;
|
|
8811
9116
|
var isAreaSelected = !!selectedAreas.find(function (area) {
|
|
8812
9117
|
return area.objectName === listItem.objectName;
|
|
8813
9118
|
});
|
|
8814
|
-
var label = t(
|
|
9119
|
+
var label = t(getLabel(selectedAreas, isAreaSelected));
|
|
8815
9120
|
var onClick = function onClick() {
|
|
8816
9121
|
isAreaSelected ? onRemoveArea(listItem) : onAddArea(listItem);
|
|
8817
9122
|
};
|
|
8818
|
-
|
|
8819
|
-
|
|
8820
|
-
|
|
8821
|
-
|
|
8822
|
-
|
|
8823
|
-
|
|
8824
|
-
|
|
8825
|
-
|
|
8826
|
-
|
|
8827
|
-
|
|
8828
|
-
|
|
8829
|
-
|
|
9123
|
+
var shouldDisableRemove = shouldDisableRemoveWarning && isAreaSelected;
|
|
9124
|
+
var render = function render() {
|
|
9125
|
+
return jsx(CustomToggleButton, {
|
|
9126
|
+
sx: {
|
|
9127
|
+
fontSize: '12px',
|
|
9128
|
+
height: '22px!important',
|
|
9129
|
+
minWidth: '60px'
|
|
9130
|
+
},
|
|
9131
|
+
variant: "tool",
|
|
9132
|
+
onClick: onClick,
|
|
9133
|
+
selected: isAreaSelected,
|
|
9134
|
+
disabled: isDisabled || shouldDisableRemove,
|
|
9135
|
+
children: label
|
|
9136
|
+
});
|
|
9137
|
+
};
|
|
9138
|
+
if (shouldDisableRemove) {
|
|
9139
|
+
return jsx(CustomTooltip, {
|
|
9140
|
+
title: t('disabled-button-tooltip'),
|
|
9141
|
+
placement: "top",
|
|
9142
|
+
children: jsx("span", {
|
|
9143
|
+
children: render()
|
|
9144
|
+
})
|
|
9145
|
+
});
|
|
9146
|
+
}
|
|
9147
|
+
return render();
|
|
8830
9148
|
};
|
|
8831
9149
|
var ContainerDiv = styled('div')(function () {
|
|
8832
9150
|
return {
|
|
@@ -8864,7 +9182,9 @@ var AreasObjects = function AreasObjects(_ref3) {
|
|
|
8864
9182
|
_ref3$selectedAreas = _ref3.selectedAreas,
|
|
8865
9183
|
selectedAreas = _ref3$selectedAreas === void 0 ? [] : _ref3$selectedAreas,
|
|
8866
9184
|
_ref3$isChangeAreaDis = _ref3.isChangeAreaDisabled,
|
|
8867
|
-
isChangeAreaDisabled = _ref3$isChangeAreaDis === void 0 ? true : _ref3$isChangeAreaDis
|
|
9185
|
+
isChangeAreaDisabled = _ref3$isChangeAreaDis === void 0 ? true : _ref3$isChangeAreaDis,
|
|
9186
|
+
_ref3$shouldDisableRe = _ref3.shouldDisableRemoveWarning,
|
|
9187
|
+
shouldDisableRemoveWarning = _ref3$shouldDisableRe === void 0 ? false : _ref3$shouldDisableRe;
|
|
8868
9188
|
var _useWarningsTranslati = useWarningsTranslation(),
|
|
8869
9189
|
t = _useWarningsTranslati.t;
|
|
8870
9190
|
var listRef = React__default.useRef(null);
|
|
@@ -8951,7 +9271,8 @@ var AreasObjects = function AreasObjects(_ref3) {
|
|
|
8951
9271
|
onAddArea: onAddArea,
|
|
8952
9272
|
onRemoveArea: onRemoveArea,
|
|
8953
9273
|
t: t,
|
|
8954
|
-
isDisabled: isChangeAreaDisabled
|
|
9274
|
+
isDisabled: isChangeAreaDisabled,
|
|
9275
|
+
shouldDisableRemoveWarning: shouldDisableRemoveWarning
|
|
8955
9276
|
}),
|
|
8956
9277
|
children: jsx(Paper, {
|
|
8957
9278
|
elevation: 0,
|
|
@@ -9069,7 +9390,9 @@ var AreaObjectLoader = function AreaObjectLoader(_ref) {
|
|
|
9069
9390
|
_ref$onRetryRequest = _ref.onRetryRequest,
|
|
9070
9391
|
onRetryRequest = _ref$onRetryRequest === void 0 ? function () {} : _ref$onRetryRequest,
|
|
9071
9392
|
_ref$isChangeAreaDisa = _ref.isChangeAreaDisabled,
|
|
9072
|
-
isChangeAreaDisabled = _ref$isChangeAreaDisa === void 0 ? true : _ref$isChangeAreaDisa
|
|
9393
|
+
isChangeAreaDisabled = _ref$isChangeAreaDisa === void 0 ? true : _ref$isChangeAreaDisa,
|
|
9394
|
+
_ref$shouldDisableRem = _ref.shouldDisableRemoveWarning,
|
|
9395
|
+
shouldDisableRemoveWarning = _ref$shouldDisableRem === void 0 ? false : _ref$shouldDisableRem;
|
|
9073
9396
|
var _useWarningsTranslati = useWarningsTranslation(),
|
|
9074
9397
|
t = _useWarningsTranslati.t;
|
|
9075
9398
|
var minSize = DEFAULT_LOADER_MIN_SIZE;
|
|
@@ -9146,7 +9469,8 @@ var AreaObjectLoader = function AreaObjectLoader(_ref) {
|
|
|
9146
9469
|
onAddArea: onAddArea,
|
|
9147
9470
|
onRemoveArea: onRemoveArea,
|
|
9148
9471
|
selectedAreas: selectedAreas,
|
|
9149
|
-
isChangeAreaDisabled: isChangeAreaDisabled
|
|
9472
|
+
isChangeAreaDisabled: isChangeAreaDisabled,
|
|
9473
|
+
shouldDisableRemoveWarning: shouldDisableRemoveWarning
|
|
9150
9474
|
})]
|
|
9151
9475
|
})]
|
|
9152
9476
|
});
|
|
@@ -9357,6 +9681,7 @@ var AreaObjectLoaderConnect = function AreaObjectLoaderConnect(_ref) {
|
|
|
9357
9681
|
type: areaObjectLoaderType,
|
|
9358
9682
|
error: uiError
|
|
9359
9683
|
} : undefined;
|
|
9684
|
+
var shouldDisableRemoveWarning = warningStatus !== undefined && warningStatus !== PublicWarningStatus.DRAFT && areas.length > 0;
|
|
9360
9685
|
return jsx(AreaObjectLoader, {
|
|
9361
9686
|
title: t('area-object-loader-title'),
|
|
9362
9687
|
bounds: bounds,
|
|
@@ -9381,7 +9706,8 @@ var AreaObjectLoaderConnect = function AreaObjectLoaderConnect(_ref) {
|
|
|
9381
9706
|
onRemoveArea: onRemoveArea,
|
|
9382
9707
|
selectedAreas: selectedAreas,
|
|
9383
9708
|
isChangeAreaDisabled: isChangeAreaDisabled,
|
|
9384
|
-
onRetryRequest: onRetryRequest
|
|
9709
|
+
onRetryRequest: onRetryRequest,
|
|
9710
|
+
shouldDisableRemoveWarning: shouldDisableRemoveWarning
|
|
9385
9711
|
});
|
|
9386
9712
|
};
|
|
9387
9713
|
|
|
@@ -9852,10 +10178,12 @@ var ExpandableFilterChip = function ExpandableFilterChip(_ref) {
|
|
|
9852
10178
|
return setAnchorEl(null);
|
|
9853
10179
|
},
|
|
9854
10180
|
anchorEl: anchorEl,
|
|
9855
|
-
|
|
9856
|
-
|
|
9857
|
-
|
|
9858
|
-
|
|
10181
|
+
slotProps: {
|
|
10182
|
+
backdrop: {
|
|
10183
|
+
style: {
|
|
10184
|
+
opacity: 0,
|
|
10185
|
+
transition: 'none'
|
|
10186
|
+
}
|
|
9859
10187
|
}
|
|
9860
10188
|
},
|
|
9861
10189
|
sx: {
|
|
@@ -9900,8 +10228,10 @@ var ExpandableFilterChip = function ExpandableFilterChip(_ref) {
|
|
|
9900
10228
|
justifyContent: "space-between",
|
|
9901
10229
|
alignItems: "center",
|
|
9902
10230
|
children: [t('filter-select-all'), jsx(Switch, {
|
|
9903
|
-
|
|
9904
|
-
|
|
10231
|
+
slotProps: {
|
|
10232
|
+
input: {
|
|
10233
|
+
'aria-label': t('filter-select-all')
|
|
10234
|
+
}
|
|
9905
10235
|
},
|
|
9906
10236
|
checked: allSelected,
|
|
9907
10237
|
onChange: function onChange() {
|
|
@@ -9969,7 +10299,7 @@ var ExpandableFilterChip = function ExpandableFilterChip(_ref) {
|
|
|
9969
10299
|
});
|
|
9970
10300
|
};
|
|
9971
10301
|
|
|
9972
|
-
var filterOrder = ['
|
|
10302
|
+
var filterOrder = ['source', 'domain', 'phenomenon', 'level'];
|
|
9973
10303
|
var FilterList = function FilterList(_ref) {
|
|
9974
10304
|
var _ref$onClickAll = _ref.onClickAll,
|
|
9975
10305
|
onClickAll = _ref$onClickAll === void 0 ? function () {} : _ref$onClickAll,
|
|
@@ -10053,6 +10383,7 @@ var WarningListItemSeperator = function WarningListItemSeperator(_ref) {
|
|
|
10053
10383
|
},
|
|
10054
10384
|
onClick: onClick,
|
|
10055
10385
|
"data-testid": "warninglist-" + status,
|
|
10386
|
+
"aria-expanded": isExpanded,
|
|
10056
10387
|
children: [isExpanded ? jsx(ChevronDown, {}) : jsx(ChevronUp, {}), jsx(Typography, {
|
|
10057
10388
|
variant: "caption",
|
|
10058
10389
|
sx: {
|
|
@@ -10390,6 +10721,16 @@ var WarningListItem = function WarningListItem(_ref) {
|
|
|
10390
10721
|
}
|
|
10391
10722
|
return 'geowebColors.cards.cardContainer';
|
|
10392
10723
|
}, [highlightedItem, status]);
|
|
10724
|
+
var domain = React__default.useMemo(function () {
|
|
10725
|
+
var _warning$warningDetai2;
|
|
10726
|
+
if ((_warning$warningDetai2 = warning.warningDetail.domain) != null && _warning$warningDetai2.includes(Domain.maritime)) {
|
|
10727
|
+
return t('warning-domain-maritime');
|
|
10728
|
+
}
|
|
10729
|
+
if (warning.warningDetail.domain === Domain["public"]) {
|
|
10730
|
+
return t('warning-domain-public');
|
|
10731
|
+
}
|
|
10732
|
+
return t('warning-domain-aviation');
|
|
10733
|
+
}, [t, warning.warningDetail.domain]);
|
|
10393
10734
|
return jsx(ListItem, Object.assign({
|
|
10394
10735
|
sx: {
|
|
10395
10736
|
marginBottom: 0.25,
|
|
@@ -10467,7 +10808,7 @@ var WarningListItem = function WarningListItem(_ref) {
|
|
|
10467
10808
|
}), jsx(WarningListColumnContent, {
|
|
10468
10809
|
title: t('warning-list-header-domain'),
|
|
10469
10810
|
status: status,
|
|
10470
|
-
children:
|
|
10811
|
+
children: domain
|
|
10471
10812
|
}), jsx(WarningListColumnContent, {
|
|
10472
10813
|
title: t('warning-list-header-phenomenon'),
|
|
10473
10814
|
status: status,
|
|
@@ -10535,8 +10876,8 @@ var WarningListItem = function WarningListItem(_ref) {
|
|
|
10535
10876
|
display: 'none'
|
|
10536
10877
|
}
|
|
10537
10878
|
}, _Object$assign)),
|
|
10538
|
-
children: function (_warning$
|
|
10539
|
-
if ((_warning$
|
|
10879
|
+
children: function (_warning$warningDetai3) {
|
|
10880
|
+
if ((_warning$warningDetai3 = warning.warningDetail) != null && _warning$warningDetai3.level && !levelTranslation) {
|
|
10540
10881
|
// Show sigmet-airmet level
|
|
10541
10882
|
return warning.warningDetail.level;
|
|
10542
10883
|
}
|
|
@@ -10671,11 +11012,11 @@ var NewWarningButton = function NewWarningButton(_ref) {
|
|
|
10671
11012
|
}
|
|
10672
11013
|
}
|
|
10673
11014
|
}
|
|
10674
|
-
}
|
|
10675
|
-
|
|
10676
|
-
|
|
10677
|
-
|
|
10678
|
-
|
|
11015
|
+
},
|
|
11016
|
+
list: {
|
|
11017
|
+
style: {
|
|
11018
|
+
padding: '0px'
|
|
11019
|
+
}
|
|
10679
11020
|
}
|
|
10680
11021
|
},
|
|
10681
11022
|
children: [jsx(MenuItem, {
|
|
@@ -11186,8 +11527,7 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
11186
11527
|
var savedDomainFilter = savedFilterState.domain,
|
|
11187
11528
|
savedPhenomenonFilter = savedFilterState.phenomenon,
|
|
11188
11529
|
savedLevelFilter = savedFilterState.level,
|
|
11189
|
-
savedSourceFilter = savedFilterState.source
|
|
11190
|
-
savedIncidentFilter = savedFilterState.incident;
|
|
11530
|
+
savedSourceFilter = savedFilterState.source;
|
|
11191
11531
|
/** Levels for selected domain(s) */
|
|
11192
11532
|
var relevantLevels = useMemo(function () {
|
|
11193
11533
|
return getLevelsForDomainFilter(savedDomainFilter);
|
|
@@ -11225,28 +11565,14 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
11225
11565
|
[relevantSources]);
|
|
11226
11566
|
var _getSelectedOptions2 = getSelectedOptions(savedSourceFilter),
|
|
11227
11567
|
allSourcesSelected = _getSelectedOptions2.allSelected;
|
|
11228
|
-
/** Incidents in the warnings */
|
|
11229
|
-
var relevantIncidents = useMemo(function () {
|
|
11230
|
-
return getFiltersFromWarnings(warnings, 'incident');
|
|
11231
|
-
}, [warnings]);
|
|
11232
|
-
/** FilterObject based on relevant incidents with values from the preset */
|
|
11233
|
-
var defaultIncidentFilter = useMemo(function () {
|
|
11234
|
-
return Object.fromEntries(relevantIncidents.map(function (key) {
|
|
11235
|
-
var presetValue = presetFilterState == null ? void 0 : presetFilterState.incident[key];
|
|
11236
|
-
return [key, presetValue === undefined ? true : presetValue];
|
|
11237
|
-
}));
|
|
11238
|
-
}, [relevantIncidents, presetFilterState == null ? void 0 : presetFilterState.incident]);
|
|
11239
|
-
var _getSelectedOptions3 = getSelectedOptions(savedIncidentFilter),
|
|
11240
|
-
allIncidentsSelected = _getSelectedOptions3.allSelected;
|
|
11241
11568
|
var populatedIncidentAndSourceFilter = useMemo(function () {
|
|
11242
11569
|
return {
|
|
11243
|
-
incident: defaultIncidentFilter,
|
|
11570
|
+
// incident: defaultIncidentFilter,
|
|
11244
11571
|
source: defaultSourceFilter
|
|
11245
11572
|
};
|
|
11246
|
-
}, [
|
|
11573
|
+
}, [defaultSourceFilter]);
|
|
11247
11574
|
var initialFiltersWithPresets = useMemo(function () {
|
|
11248
11575
|
return {
|
|
11249
|
-
incident: defaultIncidentFilter || defaultEmptyFilter,
|
|
11250
11576
|
source: defaultSourceFilter || defaultEmptyFilter,
|
|
11251
11577
|
domain: Object.assign({}, initialFilters.domain, presetFilterState == null ? void 0 : presetFilterState.domain),
|
|
11252
11578
|
phenomenon: Object.assign({}, initialFilters.phenomenon, presetFilterState == null ? void 0 : presetFilterState.phenomenon),
|
|
@@ -11261,11 +11587,10 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
11261
11587
|
useEffect(function () {
|
|
11262
11588
|
// when the preset changes, update the filters
|
|
11263
11589
|
onUpdateFilters(initialFiltersWithPresets, true);
|
|
11264
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
11265
11590
|
}, [initialFiltersWithPresets, onUpdateFilters]);
|
|
11266
|
-
var
|
|
11267
|
-
allDomainSelected =
|
|
11268
|
-
var allSelected = allDomainSelected && allLevelsSelected && allPhenomenaSelected &&
|
|
11591
|
+
var _getSelectedOptions3 = getSelectedOptions(savedDomainFilter),
|
|
11592
|
+
allDomainSelected = _getSelectedOptions3.allSelected;
|
|
11593
|
+
var allSelected = allDomainSelected && allLevelsSelected && allPhenomenaSelected && allSourcesSelected;
|
|
11269
11594
|
/**
|
|
11270
11595
|
* @param filterKey - Name of the filter | "ALL" filters
|
|
11271
11596
|
* @param optionKey - Name of the option | "ALL" options
|
|
@@ -11279,7 +11604,7 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
11279
11604
|
domain: updateState(savedDomainFilter, 'ALL', value),
|
|
11280
11605
|
level: updateState(levelFilter, 'ALL', value),
|
|
11281
11606
|
phenomenon: updateState(savedPhenomenonFilter, 'ALL', value),
|
|
11282
|
-
incident: updateState(savedIncidentFilter, 'ALL', value),
|
|
11607
|
+
// incident: updateState(savedIncidentFilter, 'ALL', value),
|
|
11283
11608
|
source: updateState(savedSourceFilter, 'ALL', value)
|
|
11284
11609
|
});
|
|
11285
11610
|
} else if (filterKey === 'domain') {
|
|
@@ -11299,10 +11624,6 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
11299
11624
|
onUpdateFilters({
|
|
11300
11625
|
source: updateState(savedSourceFilter, optionKey, value, only)
|
|
11301
11626
|
});
|
|
11302
|
-
} else if (filterKey === 'incident') {
|
|
11303
|
-
onUpdateFilters({
|
|
11304
|
-
incident: updateState(savedIncidentFilter, optionKey, value, only)
|
|
11305
|
-
});
|
|
11306
11627
|
}
|
|
11307
11628
|
};
|
|
11308
11629
|
var byFilterState = useCallback(function (warning) {
|
|
@@ -11332,14 +11653,8 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
11332
11653
|
if (!savedSourceFilter[source]) {
|
|
11333
11654
|
return false;
|
|
11334
11655
|
}
|
|
11335
|
-
var incident = relevantIncidents.find(function (incident) {
|
|
11336
|
-
return incident === warning.warningDetail.incident;
|
|
11337
|
-
}) || emptyFilterId;
|
|
11338
|
-
if (!savedIncidentFilter[incident]) {
|
|
11339
|
-
return false;
|
|
11340
|
-
}
|
|
11341
11656
|
return true;
|
|
11342
|
-
}, [savedDomainFilter, pickedLevelFilter, pickedPhenomenaFilter, relevantSources, savedSourceFilter
|
|
11657
|
+
}, [savedDomainFilter, pickedLevelFilter, pickedPhenomenaFilter, relevantSources, savedSourceFilter]);
|
|
11343
11658
|
return {
|
|
11344
11659
|
allSelected: allSelected,
|
|
11345
11660
|
updateFilter: updateFilter,
|
|
@@ -11348,7 +11663,6 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
11348
11663
|
domain: savedDomainFilter,
|
|
11349
11664
|
level: pickedLevelFilter,
|
|
11350
11665
|
phenomenon: pickedPhenomenaFilter,
|
|
11351
|
-
incident: savedIncidentFilter,
|
|
11352
11666
|
source: savedSourceFilter
|
|
11353
11667
|
}
|
|
11354
11668
|
};
|
|
@@ -11813,8 +12127,8 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
11813
12127
|
return combinedWarnings.filter(filterHookState.byFilterState);
|
|
11814
12128
|
}, [combinedWarnings, filterHookState.byFilterState]);
|
|
11815
12129
|
var _React$useState2 = React__default.useState({
|
|
11816
|
-
TODO:
|
|
11817
|
-
DRAFT:
|
|
12130
|
+
TODO: false,
|
|
12131
|
+
DRAFT: false,
|
|
11818
12132
|
PUBLISHED: true,
|
|
11819
12133
|
EXPIRED: false
|
|
11820
12134
|
}),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeoweb/warnings",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "14.0.0",
|
|
4
4
|
"description": "GeoWeb warinings library for the opengeoweb project",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -8,25 +8,25 @@
|
|
|
8
8
|
"url": "git@gitlab.com:opengeoweb/opengeoweb.git"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@opengeoweb/api": "
|
|
12
|
-
"@opengeoweb/shared": "
|
|
13
|
-
"@opengeoweb/store": "
|
|
14
|
-
"@opengeoweb/webmap-react": "
|
|
11
|
+
"@opengeoweb/api": "14.0.0",
|
|
12
|
+
"@opengeoweb/shared": "14.0.0",
|
|
13
|
+
"@opengeoweb/store": "14.0.0",
|
|
14
|
+
"@opengeoweb/webmap-react": "14.0.0",
|
|
15
15
|
"@tanstack/react-query": "^5.85.5",
|
|
16
16
|
"react-redux": "^9.2.0",
|
|
17
|
-
"@opengeoweb/theme": "
|
|
18
|
-
"@opengeoweb/form-fields": "
|
|
17
|
+
"@opengeoweb/theme": "14.0.0",
|
|
18
|
+
"@opengeoweb/form-fields": "14.0.0",
|
|
19
19
|
"react-hook-form": "^7.50.1",
|
|
20
20
|
"lodash": "^4.17.21",
|
|
21
21
|
"@reduxjs/toolkit": "^2.6.1",
|
|
22
|
-
"@opengeoweb/snackbar": "
|
|
22
|
+
"@opengeoweb/snackbar": "14.0.0",
|
|
23
23
|
"react-window": "^1.8.10",
|
|
24
24
|
"react-virtualized-auto-sizer": "^1.0.20",
|
|
25
25
|
"axios": "^1.7.7",
|
|
26
|
-
"@opengeoweb/core": "
|
|
27
|
-
"@opengeoweb/webmap": "
|
|
28
|
-
"@opengeoweb/authentication": "
|
|
29
|
-
"@opengeoweb/sigmet-airmet": "
|
|
26
|
+
"@opengeoweb/core": "14.0.0",
|
|
27
|
+
"@opengeoweb/webmap": "14.0.0",
|
|
28
|
+
"@opengeoweb/authentication": "14.0.0",
|
|
29
|
+
"@opengeoweb/sigmet-airmet": "14.0.0",
|
|
30
30
|
"react-i18next": "^15.1.1",
|
|
31
31
|
"i18next": "^25.0.1",
|
|
32
32
|
"@mui/material": "^7.0.1",
|
|
@@ -13,5 +13,11 @@ export declare const getAirmetTAC: (auth: Credentials, product: AviationProduct)
|
|
|
13
13
|
export declare const getSigmetTAC: (auth: Credentials, product: AviationProduct) => Promise<{
|
|
14
14
|
data: string;
|
|
15
15
|
}>;
|
|
16
|
+
export declare const getAirmetCancelTAC: (auth: Credentials, product: AviationProduct) => Promise<{
|
|
17
|
+
data: string;
|
|
18
|
+
}>;
|
|
19
|
+
export declare const getSigmetCancelTAC: (auth: Credentials, product: AviationProduct) => Promise<{
|
|
20
|
+
data: string;
|
|
21
|
+
}>;
|
|
16
22
|
export declare const postSigmet: (auth: Credentials, data: SigmetFromFrontend) => Promise<SigmetFromBackend>;
|
|
17
23
|
export declare const postAirmet: (auth: Credentials, data: AirmetFromFrontend) => Promise<AirmetFromBackend>;
|
|
@@ -3,4 +3,6 @@ export declare const airmetList: AirmetFromBackend[];
|
|
|
3
3
|
export declare const sigmetList: SigmetFromBackend[];
|
|
4
4
|
export declare const fakeSigmetTAC = "EHAA SIGMET 1 VALID 121249/121449 EHDB- EHAA AMSTERDAM FIR FRQ TS OBS ENTIRE FIR FL010 STNR WKN";
|
|
5
5
|
export declare const fakeAirmetTAC = "EHAA AIRMET -1 VALID 310700/311100 EHDB- EHAA AMSTERDAM FIR ISOL CB OBS ENTIRE FIR FL020 STNR NC";
|
|
6
|
+
export declare const fakeDraftCancelSigmetTAC = "EHAA SIGMET 2 121249/121449 EHDB- EHAA AMSTERDAM FIR";
|
|
7
|
+
export declare const fakeDraftCancelAirmetTAC = "EHAA AIRMET 2 310700/311100 EHDB- EHAA AMSTERDAM FIR ";
|
|
6
8
|
export declare const aviationEndpoints: import("msw").HttpHandler[];
|
|
@@ -12,6 +12,8 @@ type FetchTACData = Promise<{
|
|
|
12
12
|
export declare const useTACApi: () => {
|
|
13
13
|
fetchSigmetTAC: (product: AviationProduct) => FetchTACData;
|
|
14
14
|
fetchAirmetTAC: (product: AviationProduct) => FetchTACData;
|
|
15
|
+
fetchSigmetCancelTAC: (product: AviationProduct) => FetchTACData;
|
|
16
|
+
fetchAirmetCancelTAC: (product: AviationProduct) => FetchTACData;
|
|
15
17
|
};
|
|
16
18
|
/**
|
|
17
19
|
* Hook for posting a SIGMET, with feedback.
|
|
@@ -31,7 +31,7 @@ export declare const useMutateDeleteWarning: () => MutationReturnType<{
|
|
|
31
31
|
export declare const usePublishWarning: () => MutationReturnType<UpdateWarningProps>;
|
|
32
32
|
export declare const useSaveWarning: () => MutationReturnType<UpdateWarningProps>;
|
|
33
33
|
export declare const useDrawings: (params?: FetchDrawingParams, enabled?: boolean) => UseQueryResult<DrawingListItem[]>;
|
|
34
|
-
export declare const useDrawingDetails: (drawingId: string
|
|
34
|
+
export declare const useDrawingDetails: (drawingId: string) => UseQueryResult<DrawingFromBE>;
|
|
35
35
|
export declare const useAreaKeywords: (enabled?: boolean) => UseQueryResult<string[]>;
|
|
36
36
|
export declare const useMutateSaveOrUpdateDrawing: () => DrawingMutationReturnType<{
|
|
37
37
|
data: DrawingFromFE;
|
|
@@ -11,6 +11,7 @@ export declare const getListInclHeaders: (items: DrawingListItem[], translateFn:
|
|
|
11
11
|
objects: ObjectAreaList;
|
|
12
12
|
areas: ObjectAreaList;
|
|
13
13
|
};
|
|
14
|
+
export declare const getLabel: (selectedAreas: Area[], isAreaSelected: boolean) => string;
|
|
14
15
|
export declare const getDisplayDate: (date: string) => string;
|
|
15
16
|
export declare const AreasObjects: FC<{
|
|
16
17
|
drawingListItems: DrawingListItem[];
|
|
@@ -21,5 +22,6 @@ export declare const AreasObjects: FC<{
|
|
|
21
22
|
onRemoveArea?: (drawingListItem: DrawingListItem) => void;
|
|
22
23
|
selectedAreas?: Area[];
|
|
23
24
|
isChangeAreaDisabled?: boolean;
|
|
25
|
+
shouldDisableRemoveWarning?: boolean;
|
|
24
26
|
}>;
|
|
25
27
|
export {};
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { Warning } from '../../store/publicWarningForm/types';
|
|
2
2
|
import { AllPhenomenaKeys, defaultDomainFilter, defaultEmptyFilter, defaultLevelFilter, defaultPhenomenonFilter, Domain } from './filter-utils';
|
|
3
3
|
export interface PickedFilterState {
|
|
4
|
-
incident: Partial<typeof defaultEmptyFilter>;
|
|
5
4
|
source: Partial<typeof defaultEmptyFilter>;
|
|
6
5
|
domain: Partial<typeof defaultDomainFilter>;
|
|
7
6
|
phenomenon: Partial<typeof defaultPhenomenonFilter>;
|
|
8
7
|
level: Partial<typeof defaultLevelFilter>;
|
|
9
8
|
}
|
|
10
9
|
export interface FilterState extends PickedFilterState {
|
|
11
|
-
incident: typeof defaultEmptyFilter;
|
|
12
10
|
source: typeof defaultEmptyFilter;
|
|
13
11
|
domain: typeof defaultDomainFilter;
|
|
14
12
|
phenomenon: typeof defaultPhenomenonFilter;
|
|
@@ -76,7 +76,6 @@ export declare const AllPhenomenaKeys: Record<keyof typeof AllPhenomena, keyof t
|
|
|
76
76
|
export declare const domainPhenomena: Record<Domain, Partial<keyof typeof AllPhenomenaKeys>[]>;
|
|
77
77
|
export declare const defaultPhenomenonFilter: Record<string, boolean>;
|
|
78
78
|
export declare const initialFilters: {
|
|
79
|
-
incident: Record<string, boolean>;
|
|
80
79
|
source: Record<string, boolean>;
|
|
81
80
|
domain: Record<Domain, boolean>;
|
|
82
81
|
phenomenon: Record<string, boolean>;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { DistrictsType, MaritimeWarningItem, MaritimeWarningsConfig } from './types';
|
|
2
|
-
interface
|
|
2
|
+
interface UseConfirmDeleteDialogProps {
|
|
3
3
|
areas: DistrictsType[];
|
|
4
4
|
warnings: MaritimeWarningItem[];
|
|
5
5
|
maritimeConfig: MaritimeWarningsConfig;
|
|
6
6
|
onRemoveWarning: (id: string) => void;
|
|
7
7
|
}
|
|
8
|
-
interface
|
|
8
|
+
interface UseConfirmDeleteDialog {
|
|
9
9
|
onRemoveWarningWithConfirmation(id: string): Promise<void>;
|
|
10
10
|
}
|
|
11
|
-
export declare function
|
|
11
|
+
export declare function useConfirmDeleteDialog({ areas, warnings, maritimeConfig, onRemoveWarning, }: UseConfirmDeleteDialogProps): UseConfirmDeleteDialog;
|
|
12
12
|
export {};
|
|
@@ -25,3 +25,11 @@ export declare const PublicWarningsFormAirmetCancels: () => React.ReactElement;
|
|
|
25
25
|
export declare const PublicWarningsFormAirmetCancelled: () => React.ReactElement;
|
|
26
26
|
export declare const PublicWarningsFormSigmetCancels: () => React.ReactElement;
|
|
27
27
|
export declare const PublicWarningsFormSigmetCancelled: () => React.ReactElement;
|
|
28
|
+
export declare const PublicWarningsFormCancelAirmet: {
|
|
29
|
+
(): React.ReactElement;
|
|
30
|
+
tags: string[];
|
|
31
|
+
};
|
|
32
|
+
export declare const PublicWarningsFormCancelSigmet: {
|
|
33
|
+
(): React.ReactElement;
|
|
34
|
+
tags: string[];
|
|
35
|
+
};
|
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { TFunction } from 'i18next';
|
|
3
3
|
export declare const VALID_FROM_MAX_HOURS_AFTER_CURRENT = 192;
|
|
4
|
+
export declare const VALID_UNTIL_DEFAULT_OFFSET = 6;
|
|
4
5
|
export declare const isValueBeforeCurrentTime: (value: string, t: TFunction) => boolean | string;
|
|
5
6
|
export declare const isMaxHoursAfterCurrentTime: (value: string, t: TFunction) => boolean | string;
|
|
7
|
+
/**
|
|
8
|
+
* Automatically adjusts the valid until field when valid from is changed
|
|
9
|
+
* If the new valid from time is after the current valid until time,
|
|
10
|
+
* it sets valid until to 6 hours after valid from
|
|
11
|
+
* @param validFrom - The new valid from ISO date string
|
|
12
|
+
* @param validUntil - The current valid until ISO date string
|
|
13
|
+
* @returns The adjusted valid until ISO date string, or null if no adjustment needed
|
|
14
|
+
*/
|
|
15
|
+
export declare const offsetTimeValidUntilField: (validFrom: string, validUntil: string) => string | null;
|
|
6
16
|
export declare const ValidFrom: React.FC<{
|
|
7
17
|
isDisabled?: boolean;
|
|
8
18
|
isReadOnly?: boolean;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AviationProduct } from '@opengeoweb/sigmet-airmet';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { WarningType } from '../../store/publicWarningForm/types';
|
|
4
|
+
export declare const CancelAviationDialogContent: ({ product, warningType, }: {
|
|
5
|
+
product: AviationProduct;
|
|
6
|
+
warningType: WarningType;
|
|
7
|
+
}) => React.ReactElement;
|
package/src/lib/components/PublicWarningsFormDialog/AviationWarningCancelDialogContent.spec.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|