@opengeoweb/warnings 14.1.0 → 14.2.2
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 +1074 -567
- package/package.json +14 -13
- package/src/lib/api/api-utils.d.ts +2 -1
- package/src/lib/api/aviation-api/api.d.ts +2 -2
- package/src/lib/api/aviation-api/hooks.d.ts +3 -2
- package/src/lib/components/FilterList/ExpandableFilterChip.d.ts +2 -2
- package/src/lib/components/FilterList/FilterList.d.ts +5 -2
- package/src/lib/components/FilterList/TimeFilterChip.d.ts +7 -0
- package/src/lib/components/FilterList/filter-hooks.d.ts +7 -2
- package/src/lib/components/FilterList/filter-utils.d.ts +22 -7
- package/src/lib/components/Providers/Providers.d.ts +2 -0
- package/src/lib/components/PublicWarningList/PublicWarningList.d.ts +3 -3
- package/src/lib/components/PublicWarningList/WarningListItemSeperator.d.ts +2 -0
- package/src/lib/utils/i18n.d.ts +1 -1
- package/src/lib/components/PublicWarningList/PublicWarningListConnect.aviation.createAndEdit.integration.spec.d.ts +0 -1
package/index.esm.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { useDispatch, useSelector } from 'react-redux';
|
|
3
|
-
import { Polygons, ExitDomain, Share, Edit, Delete, CoastalEvent, TemperatureLow, TemperatureHigh, Rain, Snow, Lightning, Fog, Wind, Thunderstorm, SevereMountainWaves, VulcanicEruption, Haze, FreezingPrecipitation, ModerateAircraftIcing, SevereAircraftIcing, ModerateTurbulence, SevereTurbulence, SandStorm, RadioactiveMaterials, DrawPolygon, Visibility, Add, ArrowUpCompact, ArrowDownCompact, breakpoints, DragHandle, Info,
|
|
3
|
+
import { Polygons, ExitDomain, Share, Edit, Delete, CoastalEvent, TemperatureLow, TemperatureHigh, Rain, Snow, Lightning, Fog, Wind, Thunderstorm, SevereMountainWaves, VulcanicEruption, Haze, FreezingPrecipitation, ModerateAircraftIcing, SevereAircraftIcing, ModerateTurbulence, SevereTurbulence, SandStorm, RadioactiveMaterials, DrawPolygon, Visibility, Add, ArrowUpCompact, ArrowDownCompact, breakpoints, DragHandle, Info, Copy, Update, Cancel, Success, Expire, Remove, Options, ChevronDown, ChevronUp, Close, Clock } from '@opengeoweb/theme';
|
|
4
4
|
import { uiTypes, uiActions, getSingularDrawtoolDrawLayerId, drawingToolSelectors, layerSelectors, uiSelectors, drawingToolActions, layerActions, mapListener, layersListener, drawingToolListener, syncGroupsListener, openlayersListener, syncGroupsReducer, drawingToolReducer, uiReducer, layerReducer, mapReducer, useSetupDialog, genericSelectors, useUpdateSharedData, genericActions, selectorMemoizationOptions } from '@opengeoweb/store';
|
|
5
5
|
import { defaultPolygon, emptyGeoJSON, MapControlButton, getIcon, rewindGeometry, getGeoJSONPropertyValue, currentlySupportedDrawModes, defaultLayers, viewUtils, OpenLayersMapView, MapControls, OpenLayersZoomControl, OpenLayersLayer, OpenLayersFeatureLayer, genericOpenLayersFeatureStyle } from '@opengeoweb/webmap-react';
|
|
6
|
-
import { SHARED_NAMESPACE, useConfirmationDialog, dateUtils, ToggleMenu, calculateStartSize, ToolContainerDraggable, AlertBanner, sessionStorageProvider, ConfirmationDialog, usePrevious, CustomIconButton, usePreventBrowserClose, CustomTooltip, Avatar, getInitials, SwitchButton, FilterChip, TooltipSelect, LastUpdateTime, CustomToggleButton, Filter,
|
|
6
|
+
import { SHARED_NAMESPACE, useConfirmationDialog, dateUtils, ToggleMenu, calculateStartSize, ToolContainerDraggable, AlertBanner, sessionStorageProvider, ConfirmationDialog, usePrevious, CustomIconButton, usePreventBrowserClose, CustomTooltip, Avatar, getInitials, SwitchButton, FilterChip, TooltipSelect, LastUpdateTime, CustomToggleButton, Filter, StatusTag, FilterOption, getAxiosErrorMessage, CustomDialog, ConfirmationButtons, ErrorBoundary } from '@opengeoweb/shared';
|
|
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';
|
|
@@ -14,7 +14,7 @@ import { useTranslation } from 'react-i18next';
|
|
|
14
14
|
import * as React from 'react';
|
|
15
15
|
import React__default, { useState, useEffect, useRef, useMemo, useCallback } from 'react';
|
|
16
16
|
import { useAuthenticationContext as useAuthenticationContext$1 } from '@opengeoweb/authentication';
|
|
17
|
-
import { styled, Box, Typography, ListItem, Paper, ListItemButton, Stack, Grid, LinearProgress, Button, MenuItem, FormHelperText, Card, CardContent, Tabs, Tab, useTheme, FormControl, CircularProgress, Menu, DialogTitle, DialogContent, Switch,
|
|
17
|
+
import { styled, Box, Typography, ListItem, Paper, ListItemButton, Stack, Grid, LinearProgress, Button, MenuItem, FormHelperText, Card, CardContent, Tabs, Tab, useTheme, FormControl, CircularProgress, Menu, ListItemText, DialogTitle, DialogContent, Switch, RadioGroup, FormControlLabel, Radio, InputAdornment, Collapse } from '@mui/material';
|
|
18
18
|
import { VariableSizeList } from 'react-window';
|
|
19
19
|
import AutoSizer from 'react-virtualized-auto-sizer';
|
|
20
20
|
import { getHeaders, handleResponse, AirmetPhenomena, SigmetPhenomena, useAuthQuery, useAuthenticationContext, optimisticUpdate, ProductStatus } from '@opengeoweb/api';
|
|
@@ -23,6 +23,9 @@ import { snackbarListener, snackbarReducer, snackbarActions, snackbarTypes } fro
|
|
|
23
23
|
import { useFormContext, useForm, FormProvider } from 'react-hook-form';
|
|
24
24
|
import { isEqual, cloneDeep, clamp, concat, groupBy, pick } from 'lodash';
|
|
25
25
|
import { ReactSortable } from 'react-sortablejs';
|
|
26
|
+
import { LocalizationProvider } from '@mui/x-date-pickers';
|
|
27
|
+
import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';
|
|
28
|
+
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
|
|
26
29
|
|
|
27
30
|
var en = {
|
|
28
31
|
"drawing-tool-form-tools": "Tools",
|
|
@@ -125,6 +128,7 @@ var en = {
|
|
|
125
128
|
"warning-list-status-published": "Published",
|
|
126
129
|
"warning-list-status-todo": "Reviews",
|
|
127
130
|
"warning-list-status-expired": "Expired & Withdrawn (last 24 hours)",
|
|
131
|
+
"warning-list-status-expired-custom-time": "Expired & Withdrawn",
|
|
128
132
|
"warning-list-header-incident": "Incident",
|
|
129
133
|
"warning-list-header-incidents": "Incidents",
|
|
130
134
|
"warning-list-header-last-update": "Last update",
|
|
@@ -159,6 +163,15 @@ var en = {
|
|
|
159
163
|
"filter-source": "Sources",
|
|
160
164
|
"filter-hide": "Hide {{subject}}",
|
|
161
165
|
"filter-show": "Show {{subject}}",
|
|
166
|
+
"filter-time": "Timefilter",
|
|
167
|
+
"filter-time-no-filter": "No filter",
|
|
168
|
+
"filter-time-today": "Today",
|
|
169
|
+
"filter-time-tomorrow": "Tomorrow",
|
|
170
|
+
"filter-time-custom": "Select time span",
|
|
171
|
+
"filter-time-apply": "Apply",
|
|
172
|
+
"filter-choose-date-time": "Choose a date and time",
|
|
173
|
+
"filter-start": "Start",
|
|
174
|
+
"filter-end": "End",
|
|
162
175
|
"warning-domain-aviation": "Aviation",
|
|
163
176
|
"warning-domain-maritime": "Maritime",
|
|
164
177
|
"warning-domain-public": "Public",
|
|
@@ -371,6 +384,7 @@ var nl = {
|
|
|
371
384
|
"warning-list-status-published": "Gepubliceerd",
|
|
372
385
|
"warning-list-status-todo": "Te doen",
|
|
373
386
|
"warning-list-status-expired": "Verlopen en Ingetrokken (laatste 24 uur)",
|
|
387
|
+
"warning-list-status-expired-custom-time": "Verlopen en Ingetrokken",
|
|
374
388
|
"warning-list-header-incident": "Incident",
|
|
375
389
|
"warning-list-header-incidents": "Incidenten",
|
|
376
390
|
"warning-list-header-last-update": "Laatste update",
|
|
@@ -403,6 +417,15 @@ var nl = {
|
|
|
403
417
|
"filter-phenomenon": "Fenomenen",
|
|
404
418
|
"filter-level": "Niveaus",
|
|
405
419
|
"filter-source": "Bronnen",
|
|
420
|
+
"filter-time": "Tijdsfilter",
|
|
421
|
+
"filter-time-no-filter": "Geen filter",
|
|
422
|
+
"filter-time-today": "Vandaag",
|
|
423
|
+
"filter-time-tomorrow": "Morgen",
|
|
424
|
+
"filter-time-custom": "Selecteer een tijdsspanne",
|
|
425
|
+
"filter-time-apply": "Pas toe",
|
|
426
|
+
"filter-choose-date-time": "Kies een datum en tijd",
|
|
427
|
+
"filter-start": "Start",
|
|
428
|
+
"filter-end": "Eind",
|
|
406
429
|
"warning-dialog-expire-succes": "Waarschuwing laten verlopen is succesvol",
|
|
407
430
|
"warning-dialog-expire-title": "Waarschuwing laten verlopen",
|
|
408
431
|
"warning-dialog-expire-confirm": "Verlopen",
|
|
@@ -575,6 +598,7 @@ var fi = {
|
|
|
575
598
|
"warning-list-status-published": "Julkaistua",
|
|
576
599
|
"warning-list-status-todo": "Arvostelua",
|
|
577
600
|
"warning-list-status-expired": "Vanhentunutta (viimeiset 24 tuntia)",
|
|
601
|
+
"warning-list-status-expired-custom-time": "Vanhentunutta",
|
|
578
602
|
"warning-list-header-incident": "Ongelmaa",
|
|
579
603
|
"warning-list-header-incidents": "Ongelmia",
|
|
580
604
|
"warning-list-header-last-update": "Viimeisin päivitys",
|
|
@@ -607,6 +631,15 @@ var fi = {
|
|
|
607
631
|
"filter-phenomenon": "ei käännetty",
|
|
608
632
|
"filter-level": "ei käännetty",
|
|
609
633
|
"filter-source": "ei käännetty",
|
|
634
|
+
"filter-time": "Aikarajaus",
|
|
635
|
+
"filter-time-no-filter": "Ei rajausta",
|
|
636
|
+
"filter-time-today": "Tänään",
|
|
637
|
+
"filter-time-tomorrow": "Huomenna",
|
|
638
|
+
"filter-time-custom": "Valitse aikaväli",
|
|
639
|
+
"filter-time-apply": "Käytä",
|
|
640
|
+
"filter-choose-date-time": "Valitse päivämäärä ja aika",
|
|
641
|
+
"filter-start": "Alku",
|
|
642
|
+
"filter-end": "Loppu",
|
|
610
643
|
"warning-dialog-expire-succes": "ei käännetty",
|
|
611
644
|
"warning-dialog-expire-title": "ei käännetty",
|
|
612
645
|
"warning-dialog-expire-confirm": "ei käännetty",
|
|
@@ -733,6 +766,7 @@ var no = {
|
|
|
733
766
|
"warning-list-status-published": "Publisert",
|
|
734
767
|
"warning-list-status-todo": "Til sjekk",
|
|
735
768
|
"warning-list-status-expired": "Utgått (siste 24 timer)",
|
|
769
|
+
"warning-list-status-expired-custom-time": "Utgått",
|
|
736
770
|
"warning-list-header-incident": "Hendelse",
|
|
737
771
|
"warning-list-header-incidents": "Hendelser",
|
|
738
772
|
"warning-list-header-last-update": "Sist oppdatert",
|
|
@@ -765,6 +799,15 @@ var no = {
|
|
|
765
799
|
"filter-phenomenon": "Fenomen",
|
|
766
800
|
"filter-level": "Grad",
|
|
767
801
|
"filter-source": "Kilder",
|
|
802
|
+
"filter-time": "Tidsfilter",
|
|
803
|
+
"filter-time-no-filter": "Ingen filter",
|
|
804
|
+
"filter-time-today": "I dag",
|
|
805
|
+
"filter-time-tomorrow": "I morgen",
|
|
806
|
+
"filter-time-custom": "Velg tidsintervall",
|
|
807
|
+
"filter-time-apply": "Bruk",
|
|
808
|
+
"filter-choose-date-time": "Velg data og tid",
|
|
809
|
+
"filter-start": "Start",
|
|
810
|
+
"filter-end": "Slutt",
|
|
768
811
|
"warning-dialog-expire-succes": "Varselet er utgått",
|
|
769
812
|
"warning-dialog-expire-title": "Opphør varsel",
|
|
770
813
|
"warning-dialog-expire-confirm": "Opphør",
|
|
@@ -2464,12 +2507,6 @@ var domainPhenomena = {
|
|
|
2464
2507
|
"public": [].concat(Object.keys(Phenomenon$1))
|
|
2465
2508
|
};
|
|
2466
2509
|
var defaultPhenomenonFilter = makeFilterFromList(Object.keys(AllPhenomenaKeys));
|
|
2467
|
-
var initialFilters = {
|
|
2468
|
-
source: defaultEmptyFilter,
|
|
2469
|
-
domain: defaultDomainFilter,
|
|
2470
|
-
phenomenon: defaultPhenomenonFilter,
|
|
2471
|
-
level: defaultLevelFilter
|
|
2472
|
-
};
|
|
2473
2510
|
var getSelectedOptions = function getSelectedOptions(options) {
|
|
2474
2511
|
if (options === void 0) {
|
|
2475
2512
|
options = {};
|
|
@@ -2504,13 +2541,14 @@ var updateState = function updateState(state, optionKey, value, only) {
|
|
|
2504
2541
|
};
|
|
2505
2542
|
/** Make sure our value is in the filter */
|
|
2506
2543
|
var getValue = function getValue(values, value) {
|
|
2507
|
-
|
|
2544
|
+
var _Object$values$find;
|
|
2545
|
+
return (_Object$values$find = Object.values(values).find(function (existingValue) {
|
|
2508
2546
|
return existingValue === value;
|
|
2509
|
-
})
|
|
2547
|
+
})) != null ? _Object$values$find : emptyFilterId;
|
|
2510
2548
|
};
|
|
2511
2549
|
var getFiltersFromWarnings = function getFiltersFromWarnings(warnings, filterKey) {
|
|
2512
2550
|
var filterOptions = [emptyFilterId];
|
|
2513
|
-
if (!warnings
|
|
2551
|
+
if (!(warnings != null && warnings.length)) {
|
|
2514
2552
|
// return default list
|
|
2515
2553
|
return filterOptions;
|
|
2516
2554
|
}
|
|
@@ -2524,6 +2562,84 @@ var getFiltersFromWarnings = function getFiltersFromWarnings(warnings, filterKey
|
|
|
2524
2562
|
});
|
|
2525
2563
|
return filterOptions;
|
|
2526
2564
|
};
|
|
2565
|
+
var TimeFilterMode;
|
|
2566
|
+
(function (TimeFilterMode) {
|
|
2567
|
+
TimeFilterMode["all"] = "all";
|
|
2568
|
+
TimeFilterMode["today"] = "today";
|
|
2569
|
+
TimeFilterMode["tomorrow"] = "tomorrow";
|
|
2570
|
+
TimeFilterMode["custom"] = "custom";
|
|
2571
|
+
})(TimeFilterMode || (TimeFilterMode = {}));
|
|
2572
|
+
var defaultTimeFilter = {
|
|
2573
|
+
mode: TimeFilterMode.all
|
|
2574
|
+
};
|
|
2575
|
+
var isWarningWithinInterval = function isWarningWithinInterval(warning, timeFilter) {
|
|
2576
|
+
// "NO FILTER"
|
|
2577
|
+
if (timeFilter.mode === TimeFilterMode.all) {
|
|
2578
|
+
return true;
|
|
2579
|
+
}
|
|
2580
|
+
var warningStart = new Date(warning.warningDetail.validFrom);
|
|
2581
|
+
var warningEnd = new Date(warning.warningDetail.validUntil);
|
|
2582
|
+
// CUSTOM TIME SPAN
|
|
2583
|
+
if (timeFilter.mode === TimeFilterMode.custom) {
|
|
2584
|
+
if (!timeFilter.customStart || !timeFilter.customEnd) {
|
|
2585
|
+
return true;
|
|
2586
|
+
}
|
|
2587
|
+
var filterStart = new Date(timeFilter.customStart);
|
|
2588
|
+
var filterEnd = new Date(timeFilter.customEnd);
|
|
2589
|
+
return warningEnd >= filterStart && warningStart <= filterEnd;
|
|
2590
|
+
}
|
|
2591
|
+
// TODAY or TOMORROW
|
|
2592
|
+
var now = new Date();
|
|
2593
|
+
var rangeStart;
|
|
2594
|
+
var rangeEnd;
|
|
2595
|
+
if (timeFilter.mode === TimeFilterMode.today) {
|
|
2596
|
+
// TODAY
|
|
2597
|
+
rangeStart = dateUtils.startOfDayUTC(now);
|
|
2598
|
+
rangeEnd = dateUtils.set(rangeStart, {
|
|
2599
|
+
date: rangeStart.getUTCDate() + 1,
|
|
2600
|
+
hours: 0,
|
|
2601
|
+
minutes: 0,
|
|
2602
|
+
seconds: 0
|
|
2603
|
+
});
|
|
2604
|
+
} else {
|
|
2605
|
+
// TOMORROW
|
|
2606
|
+
rangeStart = dateUtils.set(now, {
|
|
2607
|
+
date: now.getUTCDate() + 1,
|
|
2608
|
+
hours: 0,
|
|
2609
|
+
minutes: 0,
|
|
2610
|
+
seconds: 0
|
|
2611
|
+
});
|
|
2612
|
+
rangeEnd = dateUtils.set(rangeStart, {
|
|
2613
|
+
date: rangeStart.getUTCDate() + 1,
|
|
2614
|
+
hours: 0,
|
|
2615
|
+
minutes: 0,
|
|
2616
|
+
seconds: 0
|
|
2617
|
+
});
|
|
2618
|
+
}
|
|
2619
|
+
return warningEnd >= rangeStart && warningStart <= rangeEnd;
|
|
2620
|
+
};
|
|
2621
|
+
var getApiParams = function getApiParams(timeFilter) {
|
|
2622
|
+
if (timeFilter.mode === TimeFilterMode.all) {
|
|
2623
|
+
return {};
|
|
2624
|
+
}
|
|
2625
|
+
if (timeFilter.mode === TimeFilterMode.custom) {
|
|
2626
|
+
if (!timeFilter.customStart || !timeFilter.customEnd) {
|
|
2627
|
+
return {};
|
|
2628
|
+
}
|
|
2629
|
+
return {
|
|
2630
|
+
start_time: new Date(timeFilter.customStart).toISOString(),
|
|
2631
|
+
end_time: new Date(timeFilter.customEnd).toISOString()
|
|
2632
|
+
};
|
|
2633
|
+
}
|
|
2634
|
+
return {};
|
|
2635
|
+
};
|
|
2636
|
+
var initialFilters = {
|
|
2637
|
+
source: defaultEmptyFilter,
|
|
2638
|
+
domain: defaultDomainFilter,
|
|
2639
|
+
phenomenon: defaultPhenomenonFilter,
|
|
2640
|
+
level: defaultLevelFilter,
|
|
2641
|
+
time: defaultTimeFilter
|
|
2642
|
+
};
|
|
2527
2643
|
|
|
2528
2644
|
/* *
|
|
2529
2645
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -4509,16 +4625,70 @@ var config = sessionStorageProvider.getConfig();
|
|
|
4509
4625
|
var airmetBaseUrl = config.GW_AIRMET_BASE_URL || '';
|
|
4510
4626
|
var sigmetBaseUrl = config.GW_SIGMET_BASE_URL || '';
|
|
4511
4627
|
// API
|
|
4512
|
-
var getAirmetList = function
|
|
4513
|
-
|
|
4514
|
-
|
|
4515
|
-
|
|
4516
|
-
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4628
|
+
var getAirmetList = /*#__PURE__*/function () {
|
|
4629
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(auth, params) {
|
|
4630
|
+
var queryParams, url, response, data;
|
|
4631
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
4632
|
+
while (1) switch (_context.prev = _context.next) {
|
|
4633
|
+
case 0:
|
|
4634
|
+
if (params === void 0) {
|
|
4635
|
+
params = {};
|
|
4636
|
+
}
|
|
4637
|
+
queryParams = new URLSearchParams(params);
|
|
4638
|
+
url = airmetBaseUrl + "/airmetlist" + (queryParams.toString() ? "?" + queryParams.toString() : '');
|
|
4639
|
+
_context.next = 5;
|
|
4640
|
+
return fetch(url, {
|
|
4641
|
+
headers: getHeaders(auth)
|
|
4642
|
+
});
|
|
4643
|
+
case 5:
|
|
4644
|
+
response = _context.sent;
|
|
4645
|
+
_context.next = 8;
|
|
4646
|
+
return handleResponse(response);
|
|
4647
|
+
case 8:
|
|
4648
|
+
data = _context.sent;
|
|
4649
|
+
return _context.abrupt("return", data);
|
|
4650
|
+
case 10:
|
|
4651
|
+
case "end":
|
|
4652
|
+
return _context.stop();
|
|
4653
|
+
}
|
|
4654
|
+
}, _callee);
|
|
4655
|
+
}));
|
|
4656
|
+
return function getAirmetList(_x, _x2) {
|
|
4657
|
+
return _ref.apply(this, arguments);
|
|
4658
|
+
};
|
|
4659
|
+
}();
|
|
4660
|
+
var getSigmetList = /*#__PURE__*/function () {
|
|
4661
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(auth, params) {
|
|
4662
|
+
var queryParams, url, response, data;
|
|
4663
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
4664
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
4665
|
+
case 0:
|
|
4666
|
+
if (params === void 0) {
|
|
4667
|
+
params = {};
|
|
4668
|
+
}
|
|
4669
|
+
queryParams = new URLSearchParams(params);
|
|
4670
|
+
url = sigmetBaseUrl + "/sigmetlist" + (queryParams.toString() ? "?" + queryParams.toString() : '');
|
|
4671
|
+
_context2.next = 5;
|
|
4672
|
+
return fetch(url, {
|
|
4673
|
+
headers: getHeaders(auth)
|
|
4674
|
+
});
|
|
4675
|
+
case 5:
|
|
4676
|
+
response = _context2.sent;
|
|
4677
|
+
_context2.next = 8;
|
|
4678
|
+
return handleResponse(response);
|
|
4679
|
+
case 8:
|
|
4680
|
+
data = _context2.sent;
|
|
4681
|
+
return _context2.abrupt("return", data);
|
|
4682
|
+
case 10:
|
|
4683
|
+
case "end":
|
|
4684
|
+
return _context2.stop();
|
|
4685
|
+
}
|
|
4686
|
+
}, _callee2);
|
|
4687
|
+
}));
|
|
4688
|
+
return function getSigmetList(_x3, _x4) {
|
|
4689
|
+
return _ref2.apply(this, arguments);
|
|
4690
|
+
};
|
|
4691
|
+
}();
|
|
4522
4692
|
var getAirmetConfig = function getAirmetConfig(auth) {
|
|
4523
4693
|
return fetch(airmetBaseUrl + "/airmet-config", {
|
|
4524
4694
|
headers: getHeaders(auth)
|
|
@@ -4539,32 +4709,32 @@ var getAirmetTAC = function getAirmetTAC(product, auth) {
|
|
|
4539
4709
|
method: 'POST',
|
|
4540
4710
|
headers: getHeaders(auth)
|
|
4541
4711
|
}).then(/*#__PURE__*/function () {
|
|
4542
|
-
var
|
|
4712
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(result) {
|
|
4543
4713
|
var textData;
|
|
4544
|
-
return _regeneratorRuntime().wrap(function
|
|
4545
|
-
while (1) switch (
|
|
4714
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
4715
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
4546
4716
|
case 0:
|
|
4547
4717
|
if (!(result.status === 200)) {
|
|
4548
|
-
|
|
4718
|
+
_context3.next = 5;
|
|
4549
4719
|
break;
|
|
4550
4720
|
}
|
|
4551
|
-
|
|
4721
|
+
_context3.next = 3;
|
|
4552
4722
|
return result.text();
|
|
4553
4723
|
case 3:
|
|
4554
|
-
textData =
|
|
4555
|
-
return
|
|
4724
|
+
textData = _context3.sent;
|
|
4725
|
+
return _context3.abrupt("return", {
|
|
4556
4726
|
data: textData
|
|
4557
4727
|
});
|
|
4558
4728
|
case 5:
|
|
4559
4729
|
throw new Error("Failed to fetch TAC data: " + result.statusText);
|
|
4560
4730
|
case 6:
|
|
4561
4731
|
case "end":
|
|
4562
|
-
return
|
|
4732
|
+
return _context3.stop();
|
|
4563
4733
|
}
|
|
4564
|
-
},
|
|
4734
|
+
}, _callee3);
|
|
4565
4735
|
}));
|
|
4566
|
-
return function (
|
|
4567
|
-
return
|
|
4736
|
+
return function (_x5) {
|
|
4737
|
+
return _ref3.apply(this, arguments);
|
|
4568
4738
|
};
|
|
4569
4739
|
}());
|
|
4570
4740
|
};
|
|
@@ -4574,32 +4744,32 @@ var getSigmetTAC = function getSigmetTAC(product, auth) {
|
|
|
4574
4744
|
method: 'POST',
|
|
4575
4745
|
headers: getHeaders(auth)
|
|
4576
4746
|
}).then(/*#__PURE__*/function () {
|
|
4577
|
-
var
|
|
4747
|
+
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(result) {
|
|
4578
4748
|
var textData;
|
|
4579
|
-
return _regeneratorRuntime().wrap(function
|
|
4580
|
-
while (1) switch (
|
|
4749
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
4750
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
4581
4751
|
case 0:
|
|
4582
4752
|
if (!(result.status === 200)) {
|
|
4583
|
-
|
|
4753
|
+
_context4.next = 5;
|
|
4584
4754
|
break;
|
|
4585
4755
|
}
|
|
4586
|
-
|
|
4756
|
+
_context4.next = 3;
|
|
4587
4757
|
return result.text();
|
|
4588
4758
|
case 3:
|
|
4589
|
-
textData =
|
|
4590
|
-
return
|
|
4759
|
+
textData = _context4.sent;
|
|
4760
|
+
return _context4.abrupt("return", {
|
|
4591
4761
|
data: textData
|
|
4592
4762
|
});
|
|
4593
4763
|
case 5:
|
|
4594
4764
|
throw new Error("Failed to fetch TAC data: " + result.statusText);
|
|
4595
4765
|
case 6:
|
|
4596
4766
|
case "end":
|
|
4597
|
-
return
|
|
4767
|
+
return _context4.stop();
|
|
4598
4768
|
}
|
|
4599
|
-
},
|
|
4769
|
+
}, _callee4);
|
|
4600
4770
|
}));
|
|
4601
|
-
return function (
|
|
4602
|
-
return
|
|
4771
|
+
return function (_x6) {
|
|
4772
|
+
return _ref4.apply(this, arguments);
|
|
4603
4773
|
};
|
|
4604
4774
|
}());
|
|
4605
4775
|
};
|
|
@@ -4610,32 +4780,32 @@ var getAirmetCancelTAC = function getAirmetCancelTAC(product, auth) {
|
|
|
4610
4780
|
method: 'POST',
|
|
4611
4781
|
headers: getHeaders(auth)
|
|
4612
4782
|
}).then(/*#__PURE__*/function () {
|
|
4613
|
-
var
|
|
4783
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(result) {
|
|
4614
4784
|
var textData;
|
|
4615
|
-
return _regeneratorRuntime().wrap(function
|
|
4616
|
-
while (1) switch (
|
|
4785
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
4786
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
4617
4787
|
case 0:
|
|
4618
4788
|
if (!(result.status === 200)) {
|
|
4619
|
-
|
|
4789
|
+
_context5.next = 5;
|
|
4620
4790
|
break;
|
|
4621
4791
|
}
|
|
4622
|
-
|
|
4792
|
+
_context5.next = 3;
|
|
4623
4793
|
return result.text();
|
|
4624
4794
|
case 3:
|
|
4625
|
-
textData =
|
|
4626
|
-
return
|
|
4795
|
+
textData = _context5.sent;
|
|
4796
|
+
return _context5.abrupt("return", {
|
|
4627
4797
|
data: textData
|
|
4628
4798
|
});
|
|
4629
4799
|
case 5:
|
|
4630
4800
|
throw new Error("Failed to fetch Cancel TAC data: " + result.statusText);
|
|
4631
4801
|
case 6:
|
|
4632
4802
|
case "end":
|
|
4633
|
-
return
|
|
4803
|
+
return _context5.stop();
|
|
4634
4804
|
}
|
|
4635
|
-
},
|
|
4805
|
+
}, _callee5);
|
|
4636
4806
|
}));
|
|
4637
|
-
return function (
|
|
4638
|
-
return
|
|
4807
|
+
return function (_x7) {
|
|
4808
|
+
return _ref5.apply(this, arguments);
|
|
4639
4809
|
};
|
|
4640
4810
|
}());
|
|
4641
4811
|
};
|
|
@@ -4645,32 +4815,32 @@ var getSigmetCancelTAC = function getSigmetCancelTAC(product, auth) {
|
|
|
4645
4815
|
method: 'POST',
|
|
4646
4816
|
headers: getHeaders(auth)
|
|
4647
4817
|
}).then(/*#__PURE__*/function () {
|
|
4648
|
-
var
|
|
4818
|
+
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(result) {
|
|
4649
4819
|
var textData;
|
|
4650
|
-
return _regeneratorRuntime().wrap(function
|
|
4651
|
-
while (1) switch (
|
|
4820
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
4821
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
4652
4822
|
case 0:
|
|
4653
4823
|
if (!(result.status === 200)) {
|
|
4654
|
-
|
|
4824
|
+
_context6.next = 5;
|
|
4655
4825
|
break;
|
|
4656
4826
|
}
|
|
4657
|
-
|
|
4827
|
+
_context6.next = 3;
|
|
4658
4828
|
return result.text();
|
|
4659
4829
|
case 3:
|
|
4660
|
-
textData =
|
|
4661
|
-
return
|
|
4830
|
+
textData = _context6.sent;
|
|
4831
|
+
return _context6.abrupt("return", {
|
|
4662
4832
|
data: textData
|
|
4663
4833
|
});
|
|
4664
4834
|
case 5:
|
|
4665
4835
|
throw new Error("Failed to fetch Cancel TAC data: " + result.statusText);
|
|
4666
4836
|
case 6:
|
|
4667
4837
|
case "end":
|
|
4668
|
-
return
|
|
4838
|
+
return _context6.stop();
|
|
4669
4839
|
}
|
|
4670
|
-
},
|
|
4840
|
+
}, _callee6);
|
|
4671
4841
|
}));
|
|
4672
|
-
return function (
|
|
4673
|
-
return
|
|
4842
|
+
return function (_x8) {
|
|
4843
|
+
return _ref6.apply(this, arguments);
|
|
4674
4844
|
};
|
|
4675
4845
|
}());
|
|
4676
4846
|
};
|
|
@@ -4832,17 +5002,23 @@ var getAviationSnackbarKey = function getAviationSnackbarKey(status) {
|
|
|
4832
5002
|
return 'aviation-save-success';
|
|
4833
5003
|
}
|
|
4834
5004
|
};
|
|
4835
|
-
var useAirmetList = function useAirmetList(disabled) {
|
|
5005
|
+
var useAirmetList = function useAirmetList(disabled, timeFilter) {
|
|
4836
5006
|
if (disabled === void 0) {
|
|
4837
5007
|
disabled = false;
|
|
4838
5008
|
}
|
|
4839
|
-
|
|
5009
|
+
var apiParams = timeFilter ? getApiParams(timeFilter) : {};
|
|
5010
|
+
return useAuthQuery(['airmet-list', JSON.stringify(apiParams)], function (auth) {
|
|
5011
|
+
return getAirmetList(auth, apiParams);
|
|
5012
|
+
}, disabled);
|
|
4840
5013
|
};
|
|
4841
|
-
var useSigmetList = function useSigmetList(disabled) {
|
|
5014
|
+
var useSigmetList = function useSigmetList(disabled, timeFilter) {
|
|
4842
5015
|
if (disabled === void 0) {
|
|
4843
5016
|
disabled = false;
|
|
4844
5017
|
}
|
|
4845
|
-
|
|
5018
|
+
var apiParams = timeFilter ? getApiParams(timeFilter) : {};
|
|
5019
|
+
return useAuthQuery(['sigmet-list', JSON.stringify(apiParams)], function (auth) {
|
|
5020
|
+
return getSigmetList(auth, apiParams);
|
|
5021
|
+
}, disabled);
|
|
4846
5022
|
};
|
|
4847
5023
|
var useAviationWarnings = function useAviationWarnings() {
|
|
4848
5024
|
var _useAirmetList = useAirmetList(),
|
|
@@ -5424,8 +5600,13 @@ var renewAviationProduct = function renewAviationProduct(aviationWarning, produc
|
|
|
5424
5600
|
};
|
|
5425
5601
|
var amendAviationProduct = function amendAviationProduct(aviationWarning, productConfig) {
|
|
5426
5602
|
var warningDetail = aviationWarning.sigmetAirmetDetails;
|
|
5427
|
-
|
|
5428
|
-
var
|
|
5603
|
+
// Use your shared util to get an ISO "now" in UTC
|
|
5604
|
+
var nowIso = dateUtils.getCurrentTimeAsString();
|
|
5605
|
+
// Active if published start has passed (you can also include end > now if you prefer)
|
|
5606
|
+
var hasStarted = !!warningDetail.validDateStart && new Date(warningDetail.validDateStart).getTime() <= new Date(nowIso).getTime();
|
|
5607
|
+
// Only when already active do we snap start to now and recompute end
|
|
5608
|
+
var newValidStart = hasStarted ? nowIso : warningDetail.validDateStart;
|
|
5609
|
+
var newValidUntil = hasStarted && 'phenomenon' in warningDetail ? getDefaultValidUntilValue(productConfig, warningDetail.phenomenon, warningDetail.locationIndicatorATSR, newValidStart) : warningDetail.validDateEnd;
|
|
5429
5610
|
var amendedWarningDetail = Object.assign({}, warningDetail, {
|
|
5430
5611
|
validDateStart: newValidStart,
|
|
5431
5612
|
validDateEnd: newValidUntil,
|
|
@@ -8519,6 +8700,9 @@ var Form = function Form(_ref5) {
|
|
|
8519
8700
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
8520
8701
|
}, [initialPublicWarningArea]);
|
|
8521
8702
|
var aviationId = selectedAviationProduct == null ? void 0 : selectedAviationProduct.uuid;
|
|
8703
|
+
var publishedStart = publicWarningDetails == null ? void 0 : publicWarningDetails.validFrom;
|
|
8704
|
+
var nowIso = dateUtils.getCurrentTimeAsString();
|
|
8705
|
+
var lockValidFrom = formState === 'amending' && !!publishedStart && new Date(publishedStart).getTime() <= new Date(nowIso).getTime();
|
|
8522
8706
|
React.useEffect(function () {
|
|
8523
8707
|
if (!selectedAviationProduct) {
|
|
8524
8708
|
return;
|
|
@@ -8559,7 +8743,7 @@ var Form = function Form(_ref5) {
|
|
|
8559
8743
|
},
|
|
8560
8744
|
storedGeoJSON: storedStartGeoJSON,
|
|
8561
8745
|
storedEndGeoJSON: storedEndGeoJSON,
|
|
8562
|
-
|
|
8746
|
+
lockValidFrom: lockValidFrom
|
|
8563
8747
|
})
|
|
8564
8748
|
});
|
|
8565
8749
|
}
|
|
@@ -8583,7 +8767,7 @@ var Form = function Form(_ref5) {
|
|
|
8583
8767
|
return fetchAirmetTAC(product);
|
|
8584
8768
|
},
|
|
8585
8769
|
storedGeoJSON: storedStartGeoJSON,
|
|
8586
|
-
|
|
8770
|
+
lockValidFrom: lockValidFrom
|
|
8587
8771
|
})
|
|
8588
8772
|
});
|
|
8589
8773
|
}
|
|
@@ -9843,18 +10027,18 @@ var AreaObjectLoaderConnect = function AreaObjectLoaderConnect(_ref) {
|
|
|
9843
10027
|
* Copyright 2025 - Finnish Meteorological Institute (FMI)
|
|
9844
10028
|
* Copyright 2025 - The Norwegian Meteorological Institute (MET Norway)
|
|
9845
10029
|
* */
|
|
9846
|
-
var useWarnings = function useWarnings(disabled) {
|
|
10030
|
+
var useWarnings = function useWarnings(disabled, timeFilter) {
|
|
9847
10031
|
var _usePublicWarnings = usePublicWarnings(disabled),
|
|
9848
10032
|
publicWarnings = _usePublicWarnings.data,
|
|
9849
10033
|
refetchPublicWarnings = _usePublicWarnings.refetch,
|
|
9850
10034
|
isFetchingPublicWarnings = _usePublicWarnings.isFetching,
|
|
9851
10035
|
publicWarningsError = _usePublicWarnings.error,
|
|
9852
10036
|
dataUpdatedAt = _usePublicWarnings.dataUpdatedAt;
|
|
9853
|
-
var _useAirmetList = useAirmetList(disabled),
|
|
10037
|
+
var _useAirmetList = useAirmetList(disabled, timeFilter),
|
|
9854
10038
|
airmetWarnings = _useAirmetList.data,
|
|
9855
10039
|
refetchAirmet = _useAirmetList.refetch,
|
|
9856
10040
|
isFetchingAirmet = _useAirmetList.isFetching;
|
|
9857
|
-
var _useSigmetList = useSigmetList(disabled),
|
|
10041
|
+
var _useSigmetList = useSigmetList(disabled, timeFilter),
|
|
9858
10042
|
sigmetWarnings = _useSigmetList.data,
|
|
9859
10043
|
refetchSigmet = _useSigmetList.refetch,
|
|
9860
10044
|
isFetchingSigmet = _useSigmetList.isFetching;
|
|
@@ -9995,6 +10179,9 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
9995
10179
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
9996
10180
|
}, [dispatch, linkedMaps == null ? void 0 : linkedMaps.join(',')]);
|
|
9997
10181
|
React__default.useEffect(function () {
|
|
10182
|
+
if (updatedWarningType === 'airmet' || updatedWarningType === 'sigmet') {
|
|
10183
|
+
return;
|
|
10184
|
+
}
|
|
9998
10185
|
if (editor !== (selectedWarning == null ? void 0 : selectedWarning.editor) && status !== 'TODO') {
|
|
9999
10186
|
void setIsEditor(editor !== (auth == null ? void 0 : auth.username));
|
|
10000
10187
|
}
|
|
@@ -10219,300 +10406,133 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
10219
10406
|
});
|
|
10220
10407
|
};
|
|
10221
10408
|
|
|
10222
|
-
|
|
10223
|
-
|
|
10224
|
-
|
|
10225
|
-
|
|
10226
|
-
|
|
10227
|
-
|
|
10228
|
-
*
|
|
10229
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
10230
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
10231
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10232
|
-
* See the License for the specific language governing permissions and
|
|
10233
|
-
* limitations under the License.
|
|
10234
|
-
*
|
|
10235
|
-
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
10236
|
-
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
10237
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
10238
|
-
* */
|
|
10239
|
-
var warningColors = Object.assign({}, LevelColors);
|
|
10240
|
-
|
|
10241
|
-
var ExpandableFilterChip = function ExpandableFilterChip(_ref) {
|
|
10242
|
-
var id = _ref.id,
|
|
10243
|
-
options = _ref.options,
|
|
10244
|
-
updateFilter = _ref.updateFilter;
|
|
10409
|
+
var BUTTON_AIRMET = 'AIRMET';
|
|
10410
|
+
var BUTTON_SIGMET = 'SIGMET';
|
|
10411
|
+
var NewWarningButton = function NewWarningButton(_ref) {
|
|
10412
|
+
var onCreateWarning = _ref.onCreateWarning,
|
|
10413
|
+
_ref$isDefaultOpen = _ref.isDefaultOpen,
|
|
10414
|
+
isDefaultOpen = _ref$isDefaultOpen === void 0 ? false : _ref$isDefaultOpen;
|
|
10245
10415
|
var _useWarningsTranslati = useWarningsTranslation(),
|
|
10246
10416
|
t = _useWarningsTranslati.t;
|
|
10247
|
-
var
|
|
10248
|
-
|
|
10249
|
-
|
|
10250
|
-
|
|
10251
|
-
|
|
10252
|
-
|
|
10253
|
-
var
|
|
10417
|
+
var config = sessionStorageProvider.getConfig();
|
|
10418
|
+
var showMartimeWarningOption = !!config.GW_WARNINGS_MARITIME_WARNINGS;
|
|
10419
|
+
var _React$useState = React__default.useState(null),
|
|
10420
|
+
anchorEl = _React$useState[0],
|
|
10421
|
+
setAnchorEl = _React$useState[1];
|
|
10422
|
+
var isOpen = Boolean(anchorEl);
|
|
10423
|
+
var handleClick = function handleClick(event) {
|
|
10424
|
+
event.stopPropagation();
|
|
10425
|
+
setAnchorEl(event.currentTarget);
|
|
10426
|
+
};
|
|
10427
|
+
var handleClose = function handleClose(event) {
|
|
10428
|
+
event.stopPropagation();
|
|
10429
|
+
setAnchorEl(null);
|
|
10430
|
+
};
|
|
10431
|
+
var onCreateNewWarning = function onCreateNewWarning(warningType, event) {
|
|
10432
|
+
onCreateWarning(warningType);
|
|
10433
|
+
handleClose(event);
|
|
10434
|
+
};
|
|
10435
|
+
var buttonId = 'newWarningButton';
|
|
10436
|
+
React__default.useEffect(function () {
|
|
10437
|
+
if (isDefaultOpen) {
|
|
10438
|
+
setAnchorEl(document.getElementById(buttonId));
|
|
10439
|
+
}
|
|
10440
|
+
}, [isDefaultOpen, buttonId]);
|
|
10254
10441
|
return jsxs(Fragment, {
|
|
10255
|
-
children: [
|
|
10256
|
-
|
|
10257
|
-
|
|
10258
|
-
|
|
10259
|
-
|
|
10260
|
-
|
|
10261
|
-
|
|
10262
|
-
|
|
10263
|
-
|
|
10264
|
-
|
|
10265
|
-
|
|
10266
|
-
|
|
10267
|
-
|
|
10268
|
-
|
|
10269
|
-
|
|
10270
|
-
|
|
10271
|
-
|
|
10272
|
-
isDisabled: isDisabled,
|
|
10273
|
-
size: "medium",
|
|
10274
|
-
actionIcon: jsxs(Grid, {
|
|
10275
|
-
container: true,
|
|
10276
|
-
alignItems: "center",
|
|
10277
|
-
style: {
|
|
10278
|
-
marginRight: '8px',
|
|
10279
|
-
minWidth: '36px'
|
|
10280
|
-
},
|
|
10281
|
-
children: [jsx(Options, {}), jsx(Typography, {
|
|
10282
|
-
variant: "body2",
|
|
10283
|
-
sx: {
|
|
10284
|
-
paddingLeft: 0.5
|
|
10285
|
-
},
|
|
10286
|
-
children: !isDisabled && noSelectedOptions > 0 && noSelectedOptions
|
|
10287
|
-
})]
|
|
10288
|
-
})
|
|
10289
|
-
})
|
|
10290
|
-
})
|
|
10442
|
+
children: [jsxs(CustomToggleButton, {
|
|
10443
|
+
id: buttonId,
|
|
10444
|
+
onClick: handleClick,
|
|
10445
|
+
sx: Object.assign({
|
|
10446
|
+
textTransform: 'initial!important',
|
|
10447
|
+
marginBottom: '8px',
|
|
10448
|
+
fontSize: '12px',
|
|
10449
|
+
height: '32px!important',
|
|
10450
|
+
whiteSpace: 'nowrap',
|
|
10451
|
+
minWidth: 'auto',
|
|
10452
|
+
paddingRight: '12px!important'
|
|
10453
|
+
}, isOpen ? {
|
|
10454
|
+
'&.MuiToggleButton-root.primary': {
|
|
10455
|
+
backgroundColor: 'geowebColors.buttons.primary.mouseOver.fill'
|
|
10456
|
+
}
|
|
10457
|
+
} : {}),
|
|
10458
|
+
children: [jsx(Add, {}), t('warning-list-button_create')]
|
|
10291
10459
|
}), jsxs(Menu, {
|
|
10292
|
-
open: Boolean(anchorEl),
|
|
10293
|
-
onClose: function onClose() {
|
|
10294
|
-
return setAnchorEl(null);
|
|
10295
|
-
},
|
|
10296
10460
|
anchorEl: anchorEl,
|
|
10297
|
-
|
|
10298
|
-
|
|
10299
|
-
|
|
10300
|
-
|
|
10301
|
-
transition: 'none'
|
|
10302
|
-
}
|
|
10461
|
+
open: isOpen,
|
|
10462
|
+
onClose: function onClose(event, reason) {
|
|
10463
|
+
if (reason === 'tabKeyDown') {
|
|
10464
|
+
return;
|
|
10303
10465
|
}
|
|
10466
|
+
handleClose(event);
|
|
10304
10467
|
},
|
|
10305
|
-
|
|
10306
|
-
|
|
10468
|
+
anchorOrigin: {
|
|
10469
|
+
vertical: 'bottom',
|
|
10470
|
+
horizontal: 'center'
|
|
10307
10471
|
},
|
|
10308
|
-
|
|
10309
|
-
|
|
10310
|
-
|
|
10311
|
-
|
|
10312
|
-
|
|
10313
|
-
|
|
10314
|
-
|
|
10315
|
-
|
|
10316
|
-
|
|
10317
|
-
|
|
10318
|
-
|
|
10319
|
-
fontSize: '20px',
|
|
10320
|
-
fontWeight: 500,
|
|
10321
|
-
paddingRight: 1
|
|
10322
|
-
},
|
|
10323
|
-
"data-testid": "customDialog-title",
|
|
10324
|
-
component: "span",
|
|
10325
|
-
children: t("filter-" + id)
|
|
10326
|
-
}), jsx(CustomIconButton, {
|
|
10327
|
-
"aria-label": t('close-dialog-confirm'),
|
|
10328
|
-
onClick: function onClick() {
|
|
10329
|
-
return setAnchorEl(null);
|
|
10330
|
-
},
|
|
10331
|
-
sx: {
|
|
10332
|
-
'&.MuiIconButton-root': {
|
|
10333
|
-
color: 'geowebColors.greys.accessible'
|
|
10334
|
-
}
|
|
10335
|
-
},
|
|
10336
|
-
children: jsx(Close, {})
|
|
10337
|
-
})]
|
|
10338
|
-
}), jsxs(DialogContent, {
|
|
10339
|
-
sx: {
|
|
10340
|
-
padding: '0px 24px 16px 24px'
|
|
10341
|
-
},
|
|
10342
|
-
children: [jsxs(Grid, {
|
|
10343
|
-
container: true,
|
|
10344
|
-
justifyContent: "space-between",
|
|
10345
|
-
alignItems: "center",
|
|
10346
|
-
children: [t('filter-select-all'), jsx(Switch, {
|
|
10347
|
-
slotProps: {
|
|
10348
|
-
input: {
|
|
10349
|
-
'aria-label': t('filter-select-all')
|
|
10472
|
+
transformOrigin: {
|
|
10473
|
+
vertical: 'top',
|
|
10474
|
+
horizontal: 'center'
|
|
10475
|
+
},
|
|
10476
|
+
slotProps: {
|
|
10477
|
+
root: {
|
|
10478
|
+
slotProps: {
|
|
10479
|
+
backdrop: {
|
|
10480
|
+
style: {
|
|
10481
|
+
opacity: 0,
|
|
10482
|
+
transition: 'none'
|
|
10350
10483
|
}
|
|
10351
|
-
},
|
|
10352
|
-
checked: allSelected,
|
|
10353
|
-
onChange: function onChange() {
|
|
10354
|
-
return updateFilter(id, 'ALL', !allSelected);
|
|
10355
|
-
},
|
|
10356
|
-
sx: {
|
|
10357
|
-
marginRight: '-12px',
|
|
10358
|
-
marginTop: '-6px'
|
|
10359
|
-
}
|
|
10360
|
-
})]
|
|
10361
|
-
}), jsxs(Box, {
|
|
10362
|
-
children: [options[emptyFilterId] !== undefined && jsx(FilterOption, {
|
|
10363
|
-
optionId: emptyFilterId,
|
|
10364
|
-
checked: options[emptyFilterId],
|
|
10365
|
-
onClick: function onClick(checked, only) {
|
|
10366
|
-
return updateFilter(id, emptyFilterId, checked, only);
|
|
10367
|
-
},
|
|
10368
|
-
labelStyle: {
|
|
10369
|
-
fontSize: '16px'
|
|
10370
|
-
},
|
|
10371
|
-
label: jsx(Fragment, {
|
|
10372
|
-
children: t(getTranslationKey(emptyFilterId, id))
|
|
10373
|
-
})
|
|
10374
|
-
}, id + "-" + emptyFilterId), Object.keys(options).map(function (optionId) {
|
|
10375
|
-
if (optionId === emptyFilterId) {
|
|
10376
|
-
return null;
|
|
10377
10484
|
}
|
|
10378
|
-
|
|
10379
|
-
return jsx(FilterOption, {
|
|
10380
|
-
optionId: optionId,
|
|
10381
|
-
checked: options[optionId],
|
|
10382
|
-
onClick: function onClick(checked, only) {
|
|
10383
|
-
return updateFilter(id, optionId, checked, only);
|
|
10384
|
-
},
|
|
10385
|
-
labelStyle: Object.assign({}, getLevelStyle(warningColor), {
|
|
10386
|
-
width: LevelColors[optionId] ? 'fit-content' : '100%',
|
|
10387
|
-
fontSize: '16px'
|
|
10388
|
-
}),
|
|
10389
|
-
label: jsx(CustomTooltip, {
|
|
10390
|
-
title: t(getTranslationKey(optionId, id)),
|
|
10391
|
-
placement: "bottom",
|
|
10392
|
-
children: jsxs(Box, {
|
|
10393
|
-
"data-testid": "wrapper-" + optionId,
|
|
10394
|
-
sx: {
|
|
10395
|
-
display: 'flex',
|
|
10396
|
-
alignItems: 'center',
|
|
10397
|
-
gap: 1,
|
|
10398
|
-
maxWidth: 200
|
|
10399
|
-
},
|
|
10400
|
-
children: [getPhenomenaIcon(optionId), jsx(Typography, {
|
|
10401
|
-
noWrap: true,
|
|
10402
|
-
variant: "body2",
|
|
10403
|
-
sx: {
|
|
10404
|
-
fontSize: '16px'
|
|
10405
|
-
},
|
|
10406
|
-
children: t(getTranslationKey(optionId, id))
|
|
10407
|
-
})]
|
|
10408
|
-
})
|
|
10409
|
-
})
|
|
10410
|
-
}, id + "-" + optionId);
|
|
10411
|
-
})]
|
|
10412
|
-
})]
|
|
10413
|
-
})]
|
|
10414
|
-
})]
|
|
10415
|
-
});
|
|
10416
|
-
};
|
|
10417
|
-
|
|
10418
|
-
var filterOrder = ['source', 'domain', 'phenomenon', 'level'];
|
|
10419
|
-
var FilterList = function FilterList(_ref) {
|
|
10420
|
-
var _ref$onClickAll = _ref.onClickAll,
|
|
10421
|
-
onClickAll = _ref$onClickAll === void 0 ? function () {} : _ref$onClickAll,
|
|
10422
|
-
_ref$isAllSelected = _ref.isAllSelected,
|
|
10423
|
-
isAllSelected = _ref$isAllSelected === void 0 ? true : _ref$isAllSelected,
|
|
10424
|
-
filterState = _ref.filterState,
|
|
10425
|
-
updateFilter = _ref.updateFilter;
|
|
10426
|
-
var _useWarningsTranslati = useWarningsTranslation(),
|
|
10427
|
-
t = _useWarningsTranslati.t;
|
|
10428
|
-
return jsxs(Stack, {
|
|
10429
|
-
direction: "row",
|
|
10430
|
-
spacing: 1,
|
|
10431
|
-
sx: {
|
|
10432
|
-
display: 'block',
|
|
10433
|
-
'.MuiChip-root': {
|
|
10434
|
-
margin: 0,
|
|
10435
|
-
marginRight: 1,
|
|
10436
|
-
marginBottom: 1
|
|
10437
|
-
}
|
|
10438
|
-
},
|
|
10439
|
-
children: [jsx(CustomTooltip, {
|
|
10440
|
-
title: isAllSelected ? t('filter-hide-all') : t('filter-show-all'),
|
|
10441
|
-
placement: "bottom",
|
|
10442
|
-
children: jsx("span", {
|
|
10443
|
-
style: {
|
|
10444
|
-
margin: 0
|
|
10485
|
+
}
|
|
10445
10486
|
},
|
|
10446
|
-
|
|
10447
|
-
|
|
10448
|
-
|
|
10449
|
-
|
|
10450
|
-
|
|
10451
|
-
|
|
10452
|
-
|
|
10453
|
-
|
|
10487
|
+
list: {
|
|
10488
|
+
style: {
|
|
10489
|
+
padding: '0px'
|
|
10490
|
+
}
|
|
10491
|
+
}
|
|
10492
|
+
},
|
|
10493
|
+
children: [jsx(MenuItem, {
|
|
10494
|
+
onClick: function onClick(event) {
|
|
10495
|
+
onCreateNewWarning('public', event);
|
|
10496
|
+
},
|
|
10497
|
+
children: jsx(ListItemText, {
|
|
10498
|
+
children: t('public-warning-title').toUpperCase()
|
|
10454
10499
|
})
|
|
10455
|
-
})
|
|
10456
|
-
|
|
10457
|
-
|
|
10458
|
-
|
|
10459
|
-
|
|
10460
|
-
|
|
10461
|
-
|
|
10500
|
+
}, "Public"), jsx(MenuItem, {
|
|
10501
|
+
onClick: function onClick(event) {
|
|
10502
|
+
onCreateNewWarning('airmet', event);
|
|
10503
|
+
},
|
|
10504
|
+
children: jsx(ListItemText, {
|
|
10505
|
+
children: BUTTON_AIRMET
|
|
10506
|
+
})
|
|
10507
|
+
}, "Airmet"), jsx(MenuItem, {
|
|
10508
|
+
onClick: function onClick(event) {
|
|
10509
|
+
onCreateNewWarning('sigmet', event);
|
|
10510
|
+
},
|
|
10511
|
+
children: jsx(ListItemText, {
|
|
10512
|
+
children: BUTTON_SIGMET
|
|
10513
|
+
})
|
|
10514
|
+
}, "Sigmet"), showMartimeWarningOption ? jsxs(Fragment, {
|
|
10515
|
+
children: [jsx(MenuItem, {
|
|
10516
|
+
onClick: function onClick(event) {
|
|
10517
|
+
onCreateNewWarning('maritimeWarningCoastal', event);
|
|
10518
|
+
},
|
|
10519
|
+
children: jsx(ListItemText, {
|
|
10520
|
+
children: t('maritime-warning-coastal-title').toUpperCase()
|
|
10521
|
+
})
|
|
10522
|
+
}, "MaritimeWarningCoastal"), jsx(MenuItem, {
|
|
10523
|
+
onClick: function onClick(event) {
|
|
10524
|
+
onCreateNewWarning('maritimeWarningNorthSea', event);
|
|
10525
|
+
},
|
|
10526
|
+
children: jsx(ListItemText, {
|
|
10527
|
+
children: t('maritime-warning-northsea-title').toUpperCase()
|
|
10528
|
+
})
|
|
10529
|
+
}, "MaritimeWarningNorthSea")]
|
|
10530
|
+
}) : null]
|
|
10462
10531
|
})]
|
|
10463
10532
|
});
|
|
10464
10533
|
};
|
|
10465
10534
|
|
|
10466
|
-
var _excluded$2 = ["
|
|
10467
|
-
var HEADER_SIZE = 32;
|
|
10468
|
-
var WarningListItemSeperator = function WarningListItemSeperator(_ref) {
|
|
10469
|
-
var totalWarnings = _ref.totalWarnings,
|
|
10470
|
-
status = _ref.status,
|
|
10471
|
-
isExpanded = _ref.isExpanded,
|
|
10472
|
-
onClick = _ref.onClick,
|
|
10473
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
10474
|
-
var _useWarningsTranslati = useWarningsTranslation(),
|
|
10475
|
-
t = _useWarningsTranslati.t;
|
|
10476
|
-
var getStatus = function getStatus(status) {
|
|
10477
|
-
switch (status) {
|
|
10478
|
-
case 'DRAFT':
|
|
10479
|
-
return t('warning-list-status-draft');
|
|
10480
|
-
case 'PUBLISHED':
|
|
10481
|
-
return t('warning-list-status-published');
|
|
10482
|
-
case 'TODO':
|
|
10483
|
-
return t('warning-list-status-todo');
|
|
10484
|
-
default:
|
|
10485
|
-
return t('warning-list-status-expired');
|
|
10486
|
-
}
|
|
10487
|
-
};
|
|
10488
|
-
var headerText = totalWarnings + " " + getStatus(status);
|
|
10489
|
-
return jsx(ListItem, Object.assign({}, props, {
|
|
10490
|
-
sx: {
|
|
10491
|
-
height: HEADER_SIZE,
|
|
10492
|
-
padding: 0
|
|
10493
|
-
},
|
|
10494
|
-
"aria-label": "warninglist " + status,
|
|
10495
|
-
children: jsxs(ListItemButton, {
|
|
10496
|
-
sx: {
|
|
10497
|
-
height: HEADER_SIZE,
|
|
10498
|
-
padding: 0
|
|
10499
|
-
},
|
|
10500
|
-
onClick: onClick,
|
|
10501
|
-
"data-testid": "warninglist-" + status,
|
|
10502
|
-
"aria-expanded": isExpanded,
|
|
10503
|
-
children: [isExpanded ? jsx(ChevronDown, {}) : jsx(ChevronUp, {}), jsx(Typography, {
|
|
10504
|
-
variant: "caption",
|
|
10505
|
-
sx: {
|
|
10506
|
-
opacity: 0.67,
|
|
10507
|
-
marginLeft: 1
|
|
10508
|
-
},
|
|
10509
|
-
children: headerText
|
|
10510
|
-
})]
|
|
10511
|
-
})
|
|
10512
|
-
}));
|
|
10513
|
-
};
|
|
10514
|
-
|
|
10515
|
-
var _excluded$1 = ["title", "status", "children", "width"];
|
|
10535
|
+
var _excluded$2 = ["title", "status", "children", "width"];
|
|
10516
10536
|
var WarningListColumnContent = function WarningListColumnContent(_ref) {
|
|
10517
10537
|
var _sx;
|
|
10518
10538
|
var title = _ref.title,
|
|
@@ -10520,7 +10540,7 @@ var WarningListColumnContent = function WarningListColumnContent(_ref) {
|
|
|
10520
10540
|
children = _ref.children,
|
|
10521
10541
|
_ref$width = _ref.width,
|
|
10522
10542
|
width = _ref$width === void 0 ? 76 : _ref$width,
|
|
10523
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
10543
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
10524
10544
|
return jsxs(Grid, {
|
|
10525
10545
|
sx: Object.assign({}, props.sx, {
|
|
10526
10546
|
width: width
|
|
@@ -10708,7 +10728,7 @@ var WarningListItemMenu = function WarningListItemMenu(_ref) {
|
|
|
10708
10728
|
}
|
|
10709
10729
|
};
|
|
10710
10730
|
|
|
10711
|
-
var _excluded = ["warning", "activeWarningId", "highlightedItem", "onSelectWarning", "onEditWarning", "onDeleteWarning", "onDeleteReviewWarning", "onExpireWarning", "onWithdrawWarning", "onActionAviationWarning", "onActionMaritimeWarning"];
|
|
10731
|
+
var _excluded$1 = ["warning", "activeWarningId", "highlightedItem", "onSelectWarning", "onEditWarning", "onDeleteWarning", "onDeleteReviewWarning", "onExpireWarning", "onWithdrawWarning", "onActionAviationWarning", "onActionMaritimeWarning"];
|
|
10712
10732
|
var renderLevelText = function renderLevelText(levelString) {
|
|
10713
10733
|
if (!levelString) {
|
|
10714
10734
|
return null;
|
|
@@ -10807,7 +10827,7 @@ var WarningListItem = function WarningListItem(_ref) {
|
|
|
10807
10827
|
onActionAviationWarning = _ref$onActionAviation === void 0 ? function () {} : _ref$onActionAviation,
|
|
10808
10828
|
_ref$onActionMaritime = _ref.onActionMaritimeWarning,
|
|
10809
10829
|
onActionMaritimeWarning = _ref$onActionMaritime === void 0 ? function () {} : _ref$onActionMaritime,
|
|
10810
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
10830
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
10811
10831
|
var _useWarningsTranslati = useWarningsTranslation(),
|
|
10812
10832
|
t = _useWarningsTranslati.t;
|
|
10813
10833
|
var phenomenonDetails = allPhenomenaDict[warning.warningDetail.phenomenon];
|
|
@@ -11017,162 +11037,641 @@ var WarningListItem = function WarningListItem(_ref) {
|
|
|
11017
11037
|
title: objectHoverText,
|
|
11018
11038
|
placement: "top",
|
|
11019
11039
|
sx: {
|
|
11020
|
-
zIndex: 1000
|
|
11040
|
+
zIndex: 1000
|
|
11041
|
+
},
|
|
11042
|
+
children: jsx("span", {
|
|
11043
|
+
children: objectNameText
|
|
11044
|
+
})
|
|
11045
|
+
})
|
|
11046
|
+
})
|
|
11047
|
+
}), jsx(WarningListColumnContent, {
|
|
11048
|
+
title: t('warning-list-header-status'),
|
|
11049
|
+
status: status,
|
|
11050
|
+
width: 96,
|
|
11051
|
+
children: jsxs(Box, {
|
|
11052
|
+
sx: {
|
|
11053
|
+
position: 'relative'
|
|
11054
|
+
},
|
|
11055
|
+
children: [renderStatusIcon(warning, status), warning.editor && jsx(Box, {
|
|
11056
|
+
sx: {
|
|
11057
|
+
width: '16px',
|
|
11058
|
+
position: 'absolute',
|
|
11059
|
+
top: '1px',
|
|
11060
|
+
right: '4px'
|
|
11061
|
+
},
|
|
11062
|
+
children: jsx(WarningAvatar, {
|
|
11063
|
+
editor: warning.editor,
|
|
11064
|
+
status: warning.productStatus
|
|
11065
|
+
})
|
|
11066
|
+
})]
|
|
11067
|
+
})
|
|
11068
|
+
})]
|
|
11069
|
+
})
|
|
11070
|
+
})
|
|
11071
|
+
}), warning.id);
|
|
11072
|
+
};
|
|
11073
|
+
|
|
11074
|
+
var _excluded = ["totalWarnings", "status", "isExpanded", "timeFilter", "onClick"];
|
|
11075
|
+
var HEADER_SIZE = 32;
|
|
11076
|
+
var WarningListItemSeperator = function WarningListItemSeperator(_ref) {
|
|
11077
|
+
var totalWarnings = _ref.totalWarnings,
|
|
11078
|
+
status = _ref.status,
|
|
11079
|
+
isExpanded = _ref.isExpanded,
|
|
11080
|
+
timeFilter = _ref.timeFilter,
|
|
11081
|
+
onClick = _ref.onClick,
|
|
11082
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
11083
|
+
var _useWarningsTranslati = useWarningsTranslation(),
|
|
11084
|
+
t = _useWarningsTranslati.t;
|
|
11085
|
+
var getStatus = function getStatus(status) {
|
|
11086
|
+
switch (status) {
|
|
11087
|
+
case 'DRAFT':
|
|
11088
|
+
return t('warning-list-status-draft');
|
|
11089
|
+
case 'PUBLISHED':
|
|
11090
|
+
return t('warning-list-status-published');
|
|
11091
|
+
case 'TODO':
|
|
11092
|
+
return t('warning-list-status-todo');
|
|
11093
|
+
default:
|
|
11094
|
+
return timeFilter.mode === 'custom' ? t('warning-list-status-expired-custom-time') : t('warning-list-status-expired');
|
|
11095
|
+
}
|
|
11096
|
+
};
|
|
11097
|
+
var headerText = totalWarnings + " " + getStatus(status);
|
|
11098
|
+
return jsx(ListItem, Object.assign({}, props, {
|
|
11099
|
+
sx: {
|
|
11100
|
+
height: HEADER_SIZE,
|
|
11101
|
+
padding: 0
|
|
11102
|
+
},
|
|
11103
|
+
"aria-label": "warninglist " + status,
|
|
11104
|
+
children: jsxs(ListItemButton, {
|
|
11105
|
+
sx: {
|
|
11106
|
+
height: HEADER_SIZE,
|
|
11107
|
+
padding: 0
|
|
11108
|
+
},
|
|
11109
|
+
onClick: onClick,
|
|
11110
|
+
"data-testid": "warninglist-" + status,
|
|
11111
|
+
"aria-expanded": isExpanded,
|
|
11112
|
+
children: [isExpanded ? jsx(ChevronDown, {}) : jsx(ChevronUp, {}), jsx(Typography, {
|
|
11113
|
+
variant: "caption",
|
|
11114
|
+
sx: {
|
|
11115
|
+
opacity: 0.67,
|
|
11116
|
+
marginLeft: 1
|
|
11117
|
+
},
|
|
11118
|
+
children: headerText
|
|
11119
|
+
})]
|
|
11120
|
+
})
|
|
11121
|
+
}));
|
|
11122
|
+
};
|
|
11123
|
+
|
|
11124
|
+
/* *
|
|
11125
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11126
|
+
* you may not use this file except in compliance with the License.
|
|
11127
|
+
* You may obtain a copy of the License at
|
|
11128
|
+
*
|
|
11129
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11130
|
+
*
|
|
11131
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11132
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11133
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11134
|
+
* See the License for the specific language governing permissions and
|
|
11135
|
+
* limitations under the License.
|
|
11136
|
+
*
|
|
11137
|
+
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
11138
|
+
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
11139
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
11140
|
+
* */
|
|
11141
|
+
var warningColors = Object.assign({}, LevelColors);
|
|
11142
|
+
|
|
11143
|
+
var ExpandableFilterChip = function ExpandableFilterChip(_ref) {
|
|
11144
|
+
var id = _ref.id,
|
|
11145
|
+
options = _ref.options,
|
|
11146
|
+
updateFilter = _ref.updateFilter;
|
|
11147
|
+
var _useWarningsTranslati = useWarningsTranslation(),
|
|
11148
|
+
t = _useWarningsTranslati.t;
|
|
11149
|
+
var _useState = useState(null),
|
|
11150
|
+
anchorEl = _useState[0],
|
|
11151
|
+
setAnchorEl = _useState[1];
|
|
11152
|
+
var _getSelectedOptions = getSelectedOptions(options),
|
|
11153
|
+
noSelectedOptions = _getSelectedOptions.noSelectedOptions,
|
|
11154
|
+
allSelected = _getSelectedOptions.allSelected;
|
|
11155
|
+
var isDisabled = Object.keys(options).length < 2;
|
|
11156
|
+
return jsxs(Fragment, {
|
|
11157
|
+
children: [jsx(CustomTooltip, {
|
|
11158
|
+
title: isDisabled ? t('filter-no-results') : t('filter-options'),
|
|
11159
|
+
placement: "bottom",
|
|
11160
|
+
children: jsx("span", {
|
|
11161
|
+
style: {
|
|
11162
|
+
margin: 0
|
|
11163
|
+
},
|
|
11164
|
+
children: jsx(FilterChip, {
|
|
11165
|
+
id: id,
|
|
11166
|
+
label: t("filter-" + id),
|
|
11167
|
+
isSelected: !isDisabled && noSelectedOptions > 0,
|
|
11168
|
+
onClick: function onClick(ref) {
|
|
11169
|
+
return setAnchorEl(ref);
|
|
11170
|
+
},
|
|
11171
|
+
onClickIcon: function onClickIcon(ref) {
|
|
11172
|
+
return setAnchorEl(ref);
|
|
11173
|
+
},
|
|
11174
|
+
isDisabled: isDisabled,
|
|
11175
|
+
size: "medium",
|
|
11176
|
+
actionIcon: jsxs(Grid, {
|
|
11177
|
+
container: true,
|
|
11178
|
+
alignItems: "center",
|
|
11179
|
+
style: {
|
|
11180
|
+
marginRight: '8px',
|
|
11181
|
+
minWidth: '36px'
|
|
11182
|
+
},
|
|
11183
|
+
children: [jsx(Options, {}), jsx(Typography, {
|
|
11184
|
+
variant: "body2",
|
|
11185
|
+
sx: {
|
|
11186
|
+
paddingLeft: 0.5
|
|
11187
|
+
},
|
|
11188
|
+
children: !isDisabled && noSelectedOptions > 0 && noSelectedOptions
|
|
11189
|
+
})]
|
|
11190
|
+
})
|
|
11191
|
+
})
|
|
11192
|
+
})
|
|
11193
|
+
}), jsxs(Menu, {
|
|
11194
|
+
open: Boolean(anchorEl),
|
|
11195
|
+
onClose: function onClose() {
|
|
11196
|
+
return setAnchorEl(null);
|
|
11197
|
+
},
|
|
11198
|
+
anchorEl: anchorEl,
|
|
11199
|
+
slotProps: {
|
|
11200
|
+
backdrop: {
|
|
11201
|
+
style: {
|
|
11202
|
+
opacity: 0,
|
|
11203
|
+
transition: 'none'
|
|
11204
|
+
}
|
|
11205
|
+
}
|
|
11206
|
+
},
|
|
11207
|
+
sx: {
|
|
11208
|
+
padding: 3
|
|
11209
|
+
},
|
|
11210
|
+
children: [jsxs(DialogTitle, {
|
|
11211
|
+
id: "dialog-title",
|
|
11212
|
+
sx: {
|
|
11213
|
+
zIndex: 1,
|
|
11214
|
+
padding: '8px 18px 16px 24px',
|
|
11215
|
+
display: 'flex',
|
|
11216
|
+
justifyContent: 'space-between',
|
|
11217
|
+
alignItems: 'center'
|
|
11218
|
+
},
|
|
11219
|
+
children: [jsx(Typography, {
|
|
11220
|
+
sx: {
|
|
11221
|
+
fontSize: '20px',
|
|
11222
|
+
fontWeight: 500,
|
|
11223
|
+
paddingRight: 1
|
|
11224
|
+
},
|
|
11225
|
+
"data-testid": "customDialog-title",
|
|
11226
|
+
component: "span",
|
|
11227
|
+
children: t("filter-" + id)
|
|
11228
|
+
}), jsx(CustomIconButton, {
|
|
11229
|
+
"aria-label": t('close-dialog-confirm'),
|
|
11230
|
+
onClick: function onClick() {
|
|
11231
|
+
return setAnchorEl(null);
|
|
11232
|
+
},
|
|
11233
|
+
sx: {
|
|
11234
|
+
'&.MuiIconButton-root': {
|
|
11235
|
+
color: 'geowebColors.greys.accessible'
|
|
11236
|
+
}
|
|
11237
|
+
},
|
|
11238
|
+
children: jsx(Close, {})
|
|
11239
|
+
})]
|
|
11240
|
+
}), jsxs(DialogContent, {
|
|
11241
|
+
sx: {
|
|
11242
|
+
padding: '0px 24px 16px 24px'
|
|
11243
|
+
},
|
|
11244
|
+
children: [jsxs(Grid, {
|
|
11245
|
+
container: true,
|
|
11246
|
+
justifyContent: "space-between",
|
|
11247
|
+
alignItems: "center",
|
|
11248
|
+
children: [t('filter-select-all'), jsx(Switch, {
|
|
11249
|
+
slotProps: {
|
|
11250
|
+
input: {
|
|
11251
|
+
'aria-label': t('filter-select-all')
|
|
11252
|
+
}
|
|
11253
|
+
},
|
|
11254
|
+
checked: allSelected,
|
|
11255
|
+
onChange: function onChange() {
|
|
11256
|
+
return updateFilter(id, 'ALL', !allSelected);
|
|
11257
|
+
},
|
|
11258
|
+
sx: {
|
|
11259
|
+
marginRight: '-12px',
|
|
11260
|
+
marginTop: '-6px'
|
|
11261
|
+
}
|
|
11262
|
+
})]
|
|
11263
|
+
}), jsxs(Box, {
|
|
11264
|
+
children: [options[emptyFilterId] !== undefined && jsx(FilterOption, {
|
|
11265
|
+
optionId: emptyFilterId,
|
|
11266
|
+
checked: options[emptyFilterId],
|
|
11267
|
+
onClick: function onClick(checked, only) {
|
|
11268
|
+
return updateFilter(id, emptyFilterId, checked, only);
|
|
11269
|
+
},
|
|
11270
|
+
labelStyle: {
|
|
11271
|
+
fontSize: '16px'
|
|
11272
|
+
},
|
|
11273
|
+
label: jsx(Fragment, {
|
|
11274
|
+
children: t(getTranslationKey(emptyFilterId, id))
|
|
11275
|
+
})
|
|
11276
|
+
}, id + "-" + emptyFilterId), Object.keys(options).map(function (optionId) {
|
|
11277
|
+
if (optionId === emptyFilterId) {
|
|
11278
|
+
return null;
|
|
11279
|
+
}
|
|
11280
|
+
var warningColor = warningColors[optionId];
|
|
11281
|
+
return jsx(FilterOption, {
|
|
11282
|
+
optionId: optionId,
|
|
11283
|
+
checked: options[optionId],
|
|
11284
|
+
onClick: function onClick(checked, only) {
|
|
11285
|
+
return updateFilter(id, optionId, checked, only);
|
|
11286
|
+
},
|
|
11287
|
+
labelStyle: Object.assign({}, getLevelStyle(warningColor), {
|
|
11288
|
+
width: LevelColors[optionId] ? 'fit-content' : '100%',
|
|
11289
|
+
fontSize: '16px'
|
|
11290
|
+
}),
|
|
11291
|
+
label: jsx(CustomTooltip, {
|
|
11292
|
+
title: t(getTranslationKey(optionId, id)),
|
|
11293
|
+
placement: "bottom",
|
|
11294
|
+
children: jsxs(Box, {
|
|
11295
|
+
"data-testid": "wrapper-" + optionId,
|
|
11296
|
+
sx: {
|
|
11297
|
+
display: 'flex',
|
|
11298
|
+
alignItems: 'center',
|
|
11299
|
+
gap: 1,
|
|
11300
|
+
maxWidth: 200
|
|
11301
|
+
},
|
|
11302
|
+
children: [getPhenomenaIcon(optionId), jsx(Typography, {
|
|
11303
|
+
noWrap: true,
|
|
11304
|
+
variant: "body2",
|
|
11305
|
+
sx: {
|
|
11306
|
+
fontSize: '16px'
|
|
11307
|
+
},
|
|
11308
|
+
children: t(getTranslationKey(optionId, id))
|
|
11309
|
+
})]
|
|
11310
|
+
})
|
|
11311
|
+
})
|
|
11312
|
+
}, id + "-" + optionId);
|
|
11313
|
+
})]
|
|
11314
|
+
})]
|
|
11315
|
+
})]
|
|
11316
|
+
})]
|
|
11317
|
+
});
|
|
11318
|
+
};
|
|
11319
|
+
|
|
11320
|
+
var TimeFilterChip = function TimeFilterChip(_ref) {
|
|
11321
|
+
var _getPickerValue;
|
|
11322
|
+
var timeFilter = _ref.timeFilter,
|
|
11323
|
+
onUpdateTimeFilter = _ref.onUpdateTimeFilter;
|
|
11324
|
+
var _useWarningsTranslati = useWarningsTranslation(),
|
|
11325
|
+
t = _useWarningsTranslati.t;
|
|
11326
|
+
var _useState = useState(null),
|
|
11327
|
+
anchorEl = _useState[0],
|
|
11328
|
+
setAnchorEl = _useState[1];
|
|
11329
|
+
var _useState2 = useState(),
|
|
11330
|
+
tempCustomStart = _useState2[0],
|
|
11331
|
+
setTempCustomStart = _useState2[1];
|
|
11332
|
+
var _useState3 = useState(),
|
|
11333
|
+
tempCustomEnd = _useState3[0],
|
|
11334
|
+
setTempCustomEnd = _useState3[1];
|
|
11335
|
+
var isSelected = timeFilter.mode !== TimeFilterMode.all;
|
|
11336
|
+
var pickerStartValue = tempCustomStart != null ? tempCustomStart : timeFilter.customStart;
|
|
11337
|
+
var pickerEndValue = tempCustomEnd != null ? tempCustomEnd : timeFilter.customEnd;
|
|
11338
|
+
var handleModeChange = function handleModeChange(mode) {
|
|
11339
|
+
if (mode === TimeFilterMode.custom) {
|
|
11340
|
+
var _timeFilter$customSta, _timeFilter$customEnd;
|
|
11341
|
+
setTempCustomStart((_timeFilter$customSta = timeFilter.customStart) != null ? _timeFilter$customSta : new Date(Date.now()).toISOString());
|
|
11342
|
+
setTempCustomEnd((_timeFilter$customEnd = timeFilter.customEnd) != null ? _timeFilter$customEnd : new Date(Date.now()).toISOString());
|
|
11343
|
+
}
|
|
11344
|
+
var newFilter = {
|
|
11345
|
+
mode: mode,
|
|
11346
|
+
customStart: mode === TimeFilterMode.custom ? timeFilter.customStart : undefined,
|
|
11347
|
+
customEnd: mode === TimeFilterMode.custom ? timeFilter.customEnd : undefined
|
|
11348
|
+
};
|
|
11349
|
+
onUpdateTimeFilter(newFilter);
|
|
11350
|
+
};
|
|
11351
|
+
var handleTempTimeChange = function handleTempTimeChange(field, value) {
|
|
11352
|
+
var _dateUtils$setUTCDate;
|
|
11353
|
+
if (!value) {
|
|
11354
|
+
if (field === 'customStart') {
|
|
11355
|
+
setTempCustomStart(undefined);
|
|
11356
|
+
} else {
|
|
11357
|
+
setTempCustomEnd(undefined);
|
|
11358
|
+
}
|
|
11359
|
+
return;
|
|
11360
|
+
}
|
|
11361
|
+
var isoString = (_dateUtils$setUTCDate = dateUtils.setUTCDate(value)) == null ? void 0 : _dateUtils$setUTCDate.toISOString();
|
|
11362
|
+
if (field === 'customStart') {
|
|
11363
|
+
setTempCustomStart(isoString);
|
|
11364
|
+
} else {
|
|
11365
|
+
setTempCustomEnd(isoString);
|
|
11366
|
+
}
|
|
11367
|
+
};
|
|
11368
|
+
var getPickerValue = function getPickerValue(isoString) {
|
|
11369
|
+
if (!isoString) {
|
|
11370
|
+
return null;
|
|
11371
|
+
}
|
|
11372
|
+
var utc = new Date(isoString);
|
|
11373
|
+
return new Date(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate(), utc.getUTCHours(), utc.getUTCMinutes());
|
|
11374
|
+
};
|
|
11375
|
+
var handleApply = function handleApply() {
|
|
11376
|
+
onUpdateTimeFilter({
|
|
11377
|
+
mode: TimeFilterMode.custom,
|
|
11378
|
+
customStart: tempCustomStart,
|
|
11379
|
+
customEnd: tempCustomEnd
|
|
11380
|
+
});
|
|
11381
|
+
setAnchorEl(null);
|
|
11382
|
+
};
|
|
11383
|
+
var getTimeFilterLabel = function getTimeFilterLabel(mode, t) {
|
|
11384
|
+
var baseLabel = t('filter-time');
|
|
11385
|
+
if (mode === TimeFilterMode.all) {
|
|
11386
|
+
return baseLabel;
|
|
11387
|
+
}
|
|
11388
|
+
if (mode === TimeFilterMode.custom) {
|
|
11389
|
+
if (!timeFilter.customStart || !timeFilter.customEnd) {
|
|
11390
|
+
return baseLabel + " (" + t('filter-time-custom') + ")";
|
|
11391
|
+
}
|
|
11392
|
+
var currentYear = new Date().getUTCFullYear();
|
|
11393
|
+
var startYear = dateUtils.getYear(timeFilter.customStart);
|
|
11394
|
+
var endYear = dateUtils.getYear(timeFilter.customEnd);
|
|
11395
|
+
var includeYear = startYear !== currentYear || endYear !== currentYear;
|
|
11396
|
+
var dateFormat = includeYear ? dateUtils.DATE_FORMAT_DATEPICKER : dateUtils.DATE_FORMAT_DATEPICKER_NO_YEAR;
|
|
11397
|
+
var start = dateUtils.dateToString(new Date(timeFilter.customStart), dateFormat);
|
|
11398
|
+
var end = dateUtils.dateToString(new Date(timeFilter.customEnd), dateFormat);
|
|
11399
|
+
return baseLabel + " (" + start + " - " + end + ")";
|
|
11400
|
+
}
|
|
11401
|
+
return baseLabel + " (" + t("filter-time-" + mode) + ")";
|
|
11402
|
+
};
|
|
11403
|
+
return jsxs(Fragment, {
|
|
11404
|
+
children: [jsx(CustomTooltip, {
|
|
11405
|
+
title: t('filter-time'),
|
|
11406
|
+
placement: "bottom",
|
|
11407
|
+
children: jsx(Box, {
|
|
11408
|
+
children: jsx(FilterChip, {
|
|
11409
|
+
id: "time",
|
|
11410
|
+
label: jsxs(Box, {
|
|
11411
|
+
sx: {
|
|
11412
|
+
display: 'flex',
|
|
11413
|
+
alignItems: 'center',
|
|
11414
|
+
gap: 0.5
|
|
11415
|
+
},
|
|
11416
|
+
children: [jsx(Clock, {
|
|
11417
|
+
sx: {
|
|
11418
|
+
mr: 1
|
|
11419
|
+
}
|
|
11420
|
+
}), getTimeFilterLabel(timeFilter.mode, t)]
|
|
11421
|
+
}),
|
|
11422
|
+
isSelected: isSelected,
|
|
11423
|
+
onClick: function onClick(ref) {
|
|
11424
|
+
return setAnchorEl(ref);
|
|
11425
|
+
},
|
|
11426
|
+
size: "medium",
|
|
11427
|
+
actionIcon: jsx(Grid, {
|
|
11428
|
+
container: true,
|
|
11429
|
+
alignItems: "center",
|
|
11430
|
+
style: {
|
|
11431
|
+
marginRight: '8px',
|
|
11432
|
+
minWidth: '24px'
|
|
11433
|
+
},
|
|
11434
|
+
children: jsx(ChevronDown, {
|
|
11435
|
+
fontSize: "small",
|
|
11436
|
+
sx: {
|
|
11437
|
+
ml: 1
|
|
11438
|
+
}
|
|
11439
|
+
})
|
|
11440
|
+
}),
|
|
11441
|
+
onClickIcon: function onClickIcon(ref) {
|
|
11442
|
+
return setAnchorEl(ref);
|
|
11443
|
+
}
|
|
11444
|
+
})
|
|
11445
|
+
})
|
|
11446
|
+
}), jsxs(Menu, {
|
|
11447
|
+
open: Boolean(anchorEl),
|
|
11448
|
+
onClose: function onClose() {
|
|
11449
|
+
return setAnchorEl(null);
|
|
11450
|
+
},
|
|
11451
|
+
anchorEl: anchorEl,
|
|
11452
|
+
slotProps: {
|
|
11453
|
+
backdrop: {
|
|
11454
|
+
style: {
|
|
11455
|
+
opacity: 0,
|
|
11456
|
+
transition: 'none'
|
|
11457
|
+
}
|
|
11458
|
+
}
|
|
11459
|
+
},
|
|
11460
|
+
sx: {
|
|
11461
|
+
padding: 3
|
|
11462
|
+
},
|
|
11463
|
+
children: [jsxs(DialogTitle, {
|
|
11464
|
+
id: "dialog-title",
|
|
11465
|
+
sx: {
|
|
11466
|
+
zIndex: 1,
|
|
11467
|
+
padding: '8px 18px 16px 24px',
|
|
11468
|
+
display: 'flex',
|
|
11469
|
+
justifyContent: 'space-between',
|
|
11470
|
+
alignItems: 'center'
|
|
11471
|
+
},
|
|
11472
|
+
children: [jsx(Typography, {
|
|
11473
|
+
sx: {
|
|
11474
|
+
fontSize: '20px',
|
|
11475
|
+
fontWeight: 500,
|
|
11476
|
+
paddingRight: 1
|
|
11477
|
+
},
|
|
11478
|
+
component: "span",
|
|
11479
|
+
children: t('filter-time')
|
|
11480
|
+
}), jsx(CustomIconButton, {
|
|
11481
|
+
"aria-label": t('close-dialog-confirm'),
|
|
11482
|
+
onClick: function onClick() {
|
|
11483
|
+
return setAnchorEl(null);
|
|
11484
|
+
},
|
|
11485
|
+
sx: {
|
|
11486
|
+
'&.MuiIconButton-root': {
|
|
11487
|
+
color: 'geowebColors.greys.accessible'
|
|
11488
|
+
}
|
|
11489
|
+
},
|
|
11490
|
+
children: jsx(Close, {})
|
|
11491
|
+
})]
|
|
11492
|
+
}), jsxs(DialogContent, {
|
|
11493
|
+
sx: {
|
|
11494
|
+
padding: '0px 24px 16px 24px'
|
|
11495
|
+
},
|
|
11496
|
+
children: [jsxs(RadioGroup, {
|
|
11497
|
+
value: timeFilter.mode,
|
|
11498
|
+
onChange: function onChange(e) {
|
|
11499
|
+
return handleModeChange(e.target.value);
|
|
11500
|
+
},
|
|
11501
|
+
children: [jsx(FormControlLabel, {
|
|
11502
|
+
value: TimeFilterMode.all,
|
|
11503
|
+
control: jsx(Radio, {}),
|
|
11504
|
+
label: t('filter-time-no-filter')
|
|
11505
|
+
}), jsx(FormControlLabel, {
|
|
11506
|
+
value: TimeFilterMode.today,
|
|
11507
|
+
control: jsx(Radio, {}),
|
|
11508
|
+
label: t('filter-time-today')
|
|
11509
|
+
}), jsx(FormControlLabel, {
|
|
11510
|
+
value: TimeFilterMode.tomorrow,
|
|
11511
|
+
control: jsx(Radio, {}),
|
|
11512
|
+
label: t('filter-time-tomorrow')
|
|
11513
|
+
}), jsx(FormControlLabel, {
|
|
11514
|
+
value: TimeFilterMode.custom,
|
|
11515
|
+
control: jsx(Radio, {}),
|
|
11516
|
+
label: t('filter-time-custom')
|
|
11517
|
+
})]
|
|
11518
|
+
}), timeFilter.mode === TimeFilterMode.custom && jsxs(Box, {
|
|
11519
|
+
sx: {
|
|
11520
|
+
mt: 2,
|
|
11521
|
+
display: 'flex',
|
|
11522
|
+
flexDirection: 'column',
|
|
11523
|
+
gap: 2
|
|
11524
|
+
},
|
|
11525
|
+
children: [jsxs(LocalizationProvider, {
|
|
11526
|
+
dateAdapter: AdapterDateFns,
|
|
11527
|
+
children: [jsxs(Box, {
|
|
11528
|
+
sx: {
|
|
11529
|
+
display: 'flex',
|
|
11530
|
+
justifyContent: 'space-between',
|
|
11531
|
+
alignItems: 'center'
|
|
11021
11532
|
},
|
|
11022
|
-
children: jsx(
|
|
11023
|
-
|
|
11024
|
-
|
|
11025
|
-
|
|
11026
|
-
|
|
11027
|
-
|
|
11028
|
-
|
|
11029
|
-
|
|
11030
|
-
|
|
11031
|
-
|
|
11533
|
+
children: [jsx(Typography, {
|
|
11534
|
+
sx: {
|
|
11535
|
+
mr: 1
|
|
11536
|
+
},
|
|
11537
|
+
children: t('filter-start')
|
|
11538
|
+
}), jsx(DateTimePicker, {
|
|
11539
|
+
label: t('filter-choose-date-time'),
|
|
11540
|
+
ampm: false,
|
|
11541
|
+
value: (_getPickerValue = getPickerValue(pickerStartValue)) != null ? _getPickerValue : new Date(Date.now()),
|
|
11542
|
+
onChange: function onChange(value) {
|
|
11543
|
+
return handleTempTimeChange('customStart', value);
|
|
11544
|
+
},
|
|
11545
|
+
format: dateUtils.DATE_FORMAT_DATEPICKER,
|
|
11546
|
+
slotProps: {
|
|
11547
|
+
textField: {
|
|
11548
|
+
variant: 'filled',
|
|
11549
|
+
InputProps: {
|
|
11550
|
+
endAdornment: jsx(InputAdornment, {
|
|
11551
|
+
position: "end",
|
|
11552
|
+
children: "UTC"
|
|
11553
|
+
})
|
|
11554
|
+
}
|
|
11555
|
+
},
|
|
11556
|
+
field: {
|
|
11557
|
+
clearable: true,
|
|
11558
|
+
openPickerButtonPosition: 'start'
|
|
11559
|
+
}
|
|
11560
|
+
},
|
|
11561
|
+
timeSteps: {
|
|
11562
|
+
minutes: 1
|
|
11563
|
+
}
|
|
11564
|
+
})]
|
|
11565
|
+
}), jsxs(Box, {
|
|
11566
|
+
sx: {
|
|
11567
|
+
display: 'flex',
|
|
11568
|
+
justifyContent: 'space-between',
|
|
11569
|
+
alignItems: 'center'
|
|
11570
|
+
},
|
|
11571
|
+
children: [jsx(Typography, {
|
|
11572
|
+
sx: {
|
|
11573
|
+
mr: 1
|
|
11574
|
+
},
|
|
11575
|
+
children: t('filter-end')
|
|
11576
|
+
}), jsx(DateTimePicker, {
|
|
11577
|
+
label: t('filter-choose-date-time'),
|
|
11578
|
+
ampm: false,
|
|
11579
|
+
value: getPickerValue(pickerEndValue),
|
|
11580
|
+
onChange: function onChange(value) {
|
|
11581
|
+
return handleTempTimeChange('customEnd', value);
|
|
11582
|
+
},
|
|
11583
|
+
format: dateUtils.DATE_FORMAT_DATEPICKER,
|
|
11584
|
+
slotProps: {
|
|
11585
|
+
textField: {
|
|
11586
|
+
variant: 'filled',
|
|
11587
|
+
InputProps: {
|
|
11588
|
+
endAdornment: jsx(InputAdornment, {
|
|
11589
|
+
position: "end",
|
|
11590
|
+
children: "UTC"
|
|
11591
|
+
})
|
|
11592
|
+
}
|
|
11593
|
+
},
|
|
11594
|
+
field: {
|
|
11595
|
+
clearable: true,
|
|
11596
|
+
openPickerButtonPosition: 'start'
|
|
11597
|
+
}
|
|
11598
|
+
},
|
|
11599
|
+
timeSteps: {
|
|
11600
|
+
minutes: 1
|
|
11601
|
+
}
|
|
11602
|
+
})]
|
|
11603
|
+
})]
|
|
11604
|
+
}), jsx(Box, {
|
|
11032
11605
|
sx: {
|
|
11033
|
-
|
|
11606
|
+
display: 'flex',
|
|
11607
|
+
justifyContent: 'flex-end'
|
|
11034
11608
|
},
|
|
11035
|
-
children:
|
|
11609
|
+
children: jsx(Button, {
|
|
11610
|
+
onClick: handleApply,
|
|
11036
11611
|
sx: {
|
|
11037
|
-
|
|
11038
|
-
|
|
11039
|
-
|
|
11040
|
-
|
|
11612
|
+
textTransform: 'none',
|
|
11613
|
+
px: 6,
|
|
11614
|
+
py: 1,
|
|
11615
|
+
backgroundColor: 'geowebColors.buttons.tool.active.fill',
|
|
11616
|
+
color: 'white'
|
|
11041
11617
|
},
|
|
11042
|
-
children:
|
|
11043
|
-
|
|
11044
|
-
|
|
11045
|
-
})
|
|
11046
|
-
})]
|
|
11047
|
-
})
|
|
11618
|
+
children: t('filter-time-apply')
|
|
11619
|
+
})
|
|
11620
|
+
})]
|
|
11048
11621
|
})]
|
|
11049
|
-
})
|
|
11050
|
-
})
|
|
11051
|
-
})
|
|
11622
|
+
})]
|
|
11623
|
+
})]
|
|
11624
|
+
});
|
|
11052
11625
|
};
|
|
11053
11626
|
|
|
11054
|
-
var
|
|
11055
|
-
var
|
|
11056
|
-
var
|
|
11057
|
-
|
|
11058
|
-
_ref$
|
|
11059
|
-
|
|
11627
|
+
var filterOrder = ['source', 'domain', 'phenomenon', 'level'];
|
|
11628
|
+
var FilterList = function FilterList(_ref) {
|
|
11629
|
+
var _ref$onClickAll = _ref.onClickAll,
|
|
11630
|
+
onClickAll = _ref$onClickAll === void 0 ? function () {} : _ref$onClickAll,
|
|
11631
|
+
_ref$isAllSelected = _ref.isAllSelected,
|
|
11632
|
+
isAllSelected = _ref$isAllSelected === void 0 ? true : _ref$isAllSelected,
|
|
11633
|
+
filterState = _ref.filterState,
|
|
11634
|
+
updateFilter = _ref.updateFilter,
|
|
11635
|
+
timeFilter = _ref.timeFilter,
|
|
11636
|
+
onUpdateTimeFilter = _ref.onUpdateTimeFilter;
|
|
11060
11637
|
var _useWarningsTranslati = useWarningsTranslation(),
|
|
11061
11638
|
t = _useWarningsTranslati.t;
|
|
11062
|
-
|
|
11063
|
-
|
|
11064
|
-
|
|
11065
|
-
|
|
11066
|
-
|
|
11067
|
-
|
|
11068
|
-
|
|
11069
|
-
|
|
11070
|
-
|
|
11071
|
-
|
|
11072
|
-
|
|
11073
|
-
|
|
11074
|
-
|
|
11075
|
-
|
|
11076
|
-
|
|
11077
|
-
|
|
11078
|
-
|
|
11079
|
-
|
|
11080
|
-
var buttonId = 'newWarningButton';
|
|
11081
|
-
React__default.useEffect(function () {
|
|
11082
|
-
if (isDefaultOpen) {
|
|
11083
|
-
setAnchorEl(document.getElementById(buttonId));
|
|
11084
|
-
}
|
|
11085
|
-
}, [isDefaultOpen, buttonId]);
|
|
11086
|
-
return jsxs(Fragment, {
|
|
11087
|
-
children: [jsxs(CustomToggleButton, {
|
|
11088
|
-
id: buttonId,
|
|
11089
|
-
onClick: handleClick,
|
|
11090
|
-
sx: Object.assign({
|
|
11091
|
-
textTransform: 'initial!important',
|
|
11092
|
-
marginBottom: '8px',
|
|
11093
|
-
fontSize: '12px',
|
|
11094
|
-
height: '32px!important',
|
|
11095
|
-
whiteSpace: 'nowrap',
|
|
11096
|
-
minWidth: 'auto',
|
|
11097
|
-
paddingRight: '12px!important'
|
|
11098
|
-
}, isOpen ? {
|
|
11099
|
-
'&.MuiToggleButton-root.primary': {
|
|
11100
|
-
backgroundColor: 'geowebColors.buttons.primary.mouseOver.fill'
|
|
11101
|
-
}
|
|
11102
|
-
} : {}),
|
|
11103
|
-
children: [jsx(Add, {}), t('warning-list-button_create')]
|
|
11104
|
-
}), jsxs(Menu, {
|
|
11105
|
-
anchorEl: anchorEl,
|
|
11106
|
-
open: isOpen,
|
|
11107
|
-
onClose: function onClose(event, reason) {
|
|
11108
|
-
if (reason === 'tabKeyDown') {
|
|
11109
|
-
return;
|
|
11110
|
-
}
|
|
11111
|
-
handleClose(event);
|
|
11112
|
-
},
|
|
11113
|
-
anchorOrigin: {
|
|
11114
|
-
vertical: 'bottom',
|
|
11115
|
-
horizontal: 'center'
|
|
11116
|
-
},
|
|
11117
|
-
transformOrigin: {
|
|
11118
|
-
vertical: 'top',
|
|
11119
|
-
horizontal: 'center'
|
|
11120
|
-
},
|
|
11121
|
-
slotProps: {
|
|
11122
|
-
root: {
|
|
11123
|
-
slotProps: {
|
|
11124
|
-
backdrop: {
|
|
11125
|
-
style: {
|
|
11126
|
-
opacity: 0,
|
|
11127
|
-
transition: 'none'
|
|
11128
|
-
}
|
|
11129
|
-
}
|
|
11130
|
-
}
|
|
11131
|
-
},
|
|
11132
|
-
list: {
|
|
11133
|
-
style: {
|
|
11134
|
-
padding: '0px'
|
|
11135
|
-
}
|
|
11136
|
-
}
|
|
11137
|
-
},
|
|
11138
|
-
children: [jsx(MenuItem, {
|
|
11139
|
-
onClick: function onClick(event) {
|
|
11140
|
-
onCreateNewWarning('public', event);
|
|
11141
|
-
},
|
|
11142
|
-
children: jsx(ListItemText, {
|
|
11143
|
-
children: t('public-warning-title').toUpperCase()
|
|
11144
|
-
})
|
|
11145
|
-
}, "Public"), jsx(MenuItem, {
|
|
11146
|
-
onClick: function onClick(event) {
|
|
11147
|
-
onCreateNewWarning('airmet', event);
|
|
11148
|
-
},
|
|
11149
|
-
children: jsx(ListItemText, {
|
|
11150
|
-
children: BUTTON_AIRMET
|
|
11151
|
-
})
|
|
11152
|
-
}, "Airmet"), jsx(MenuItem, {
|
|
11153
|
-
onClick: function onClick(event) {
|
|
11154
|
-
onCreateNewWarning('sigmet', event);
|
|
11155
|
-
},
|
|
11156
|
-
children: jsx(ListItemText, {
|
|
11157
|
-
children: BUTTON_SIGMET
|
|
11158
|
-
})
|
|
11159
|
-
}, "Sigmet"), showMartimeWarningOption ? jsxs(Fragment, {
|
|
11160
|
-
children: [jsx(MenuItem, {
|
|
11161
|
-
onClick: function onClick(event) {
|
|
11162
|
-
onCreateNewWarning('maritimeWarningCoastal', event);
|
|
11163
|
-
},
|
|
11164
|
-
children: jsx(ListItemText, {
|
|
11165
|
-
children: t('maritime-warning-coastal-title').toUpperCase()
|
|
11166
|
-
})
|
|
11167
|
-
}, "MaritimeWarningCoastal"), jsx(MenuItem, {
|
|
11168
|
-
onClick: function onClick(event) {
|
|
11169
|
-
onCreateNewWarning('maritimeWarningNorthSea', event);
|
|
11639
|
+
return jsxs(Box, {
|
|
11640
|
+
sx: {
|
|
11641
|
+
display: 'flex',
|
|
11642
|
+
flexWrap: 'wrap',
|
|
11643
|
+
alignItems: 'center',
|
|
11644
|
+
gap: 1,
|
|
11645
|
+
pb: 4
|
|
11646
|
+
},
|
|
11647
|
+
children: [jsx(CustomTooltip, {
|
|
11648
|
+
title: isAllSelected ? t('filter-hide-all') : t('filter-show-all'),
|
|
11649
|
+
placement: "bottom",
|
|
11650
|
+
children: jsx("div", {
|
|
11651
|
+
children: jsx(FilterChip, {
|
|
11652
|
+
id: "all",
|
|
11653
|
+
label: t('filter-all'),
|
|
11654
|
+
isSelected: isAllSelected,
|
|
11655
|
+
handleClick: function handleClick() {
|
|
11656
|
+
return onClickAll(isAllSelected);
|
|
11170
11657
|
},
|
|
11171
|
-
|
|
11172
|
-
|
|
11173
|
-
|
|
11174
|
-
|
|
11175
|
-
|
|
11658
|
+
size: "medium"
|
|
11659
|
+
})
|
|
11660
|
+
})
|
|
11661
|
+
}), filterOrder.map(function (filterId) {
|
|
11662
|
+
return jsx(ExpandableFilterChip, {
|
|
11663
|
+
id: filterId,
|
|
11664
|
+
options: filterState[filterId],
|
|
11665
|
+
updateFilter: updateFilter
|
|
11666
|
+
}, filterId);
|
|
11667
|
+
}), jsx(Box, {
|
|
11668
|
+
sx: {
|
|
11669
|
+
marginLeft: 'auto'
|
|
11670
|
+
},
|
|
11671
|
+
children: jsx(TimeFilterChip, {
|
|
11672
|
+
timeFilter: timeFilter,
|
|
11673
|
+
onUpdateTimeFilter: onUpdateTimeFilter
|
|
11674
|
+
})
|
|
11176
11675
|
})]
|
|
11177
11676
|
});
|
|
11178
11677
|
};
|
|
@@ -11181,15 +11680,17 @@ var groupWarningsOnStatus = function groupWarningsOnStatus(warnings, sortState)
|
|
|
11181
11680
|
var key = sortState.key,
|
|
11182
11681
|
direction = sortState.direction;
|
|
11183
11682
|
var sortedWarnings = warnings.sort(function (warningA, warningB) {
|
|
11683
|
+
var _dateStringB$localeCo;
|
|
11184
11684
|
var dateStringA = key === 'lastUpdatedTime' ? warningA[key] : warningA.warningDetail[key];
|
|
11185
11685
|
var dateStringB = key === 'lastUpdatedTime' ? warningB[key] : warningB.warningDetail[key];
|
|
11186
|
-
return (dateStringB == null ? void 0 : dateStringB.localeCompare(dateStringA
|
|
11686
|
+
return (_dateStringB$localeCo = dateStringB == null ? void 0 : dateStringB.localeCompare(dateStringA != null ? dateStringA : '')) != null ? _dateStringB$localeCo : 0;
|
|
11187
11687
|
});
|
|
11188
11688
|
if (direction === 'asc') {
|
|
11189
11689
|
sortedWarnings.reverse();
|
|
11190
11690
|
}
|
|
11191
11691
|
var groupedWarnings = groupBy(sortedWarnings, function (warning) {
|
|
11192
|
-
var status
|
|
11692
|
+
var _warning$status;
|
|
11693
|
+
var status = (_warning$status = warning.status) != null ? _warning$status : mapProductStatusToWarningStatus(warning.productStatus);
|
|
11193
11694
|
switch (status) {
|
|
11194
11695
|
case PublicWarningStatus.DRAFT:
|
|
11195
11696
|
case PublicWarningStatus.DRAFT_PUBLISHED:
|
|
@@ -11213,7 +11714,7 @@ var groupWarningsOnStatus = function groupWarningsOnStatus(warnings, sortState)
|
|
|
11213
11714
|
}, groupedWarnings);
|
|
11214
11715
|
};
|
|
11215
11716
|
var PublicWarningList = function PublicWarningList(_ref) {
|
|
11216
|
-
var _sx, _sx2
|
|
11717
|
+
var _sx, _sx2;
|
|
11217
11718
|
var _ref$warnings = _ref.warnings,
|
|
11218
11719
|
warnings = _ref$warnings === void 0 ? [] : _ref$warnings,
|
|
11219
11720
|
filterHookState = _ref.filterHookState,
|
|
@@ -11248,7 +11749,9 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
11248
11749
|
setExpandedSections = _ref.setExpandedSections;
|
|
11249
11750
|
var updateFilter = filterHookState.updateFilter,
|
|
11250
11751
|
allSelected = filterHookState.allSelected,
|
|
11251
|
-
filterState = filterHookState.filterState
|
|
11752
|
+
filterState = filterHookState.filterState,
|
|
11753
|
+
timeFilter = filterHookState.timeFilter,
|
|
11754
|
+
updateTimeFilter = filterHookState.updateTimeFilter;
|
|
11252
11755
|
var _useWarningsTranslati = useWarningsTranslation(),
|
|
11253
11756
|
t = _useWarningsTranslati.t;
|
|
11254
11757
|
var _React$useState = React__default.useState({
|
|
@@ -11333,7 +11836,7 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
11333
11836
|
}
|
|
11334
11837
|
}, [hoveredFeatureId, items]);
|
|
11335
11838
|
return jsxs(Fragment, {
|
|
11336
|
-
children: [isLoading
|
|
11839
|
+
children: [isLoading ? jsx(LinearProgress, {
|
|
11337
11840
|
"data-testid": "loading-bar",
|
|
11338
11841
|
color: "secondary",
|
|
11339
11842
|
sx: {
|
|
@@ -11341,7 +11844,7 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
11341
11844
|
width: '100%',
|
|
11342
11845
|
top: 0
|
|
11343
11846
|
}
|
|
11344
|
-
}), jsxs(Box, {
|
|
11847
|
+
}) : null, jsxs(Box, {
|
|
11345
11848
|
sx: {
|
|
11346
11849
|
padding: 3,
|
|
11347
11850
|
height: '100%',
|
|
@@ -11352,67 +11855,50 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
11352
11855
|
"data-testid": "publicWarningList",
|
|
11353
11856
|
children: [jsxs(Box, {
|
|
11354
11857
|
ref: filterRef,
|
|
11355
|
-
sx:
|
|
11858
|
+
sx: {
|
|
11356
11859
|
display: 'flex',
|
|
11357
|
-
|
|
11358
|
-
|
|
11359
|
-
|
|
11360
|
-
|
|
11361
|
-
flexDirection: 'row',
|
|
11362
|
-
' .create-warning': {
|
|
11363
|
-
order: 2
|
|
11364
|
-
}
|
|
11365
|
-
}, _sx),
|
|
11366
|
-
children: [jsx(Box, {
|
|
11367
|
-
className: "warning-filter",
|
|
11860
|
+
flexDirection: 'column',
|
|
11861
|
+
gap: 2
|
|
11862
|
+
},
|
|
11863
|
+
children: [jsxs(Box, {
|
|
11368
11864
|
sx: {
|
|
11369
|
-
|
|
11370
|
-
|
|
11371
|
-
|
|
11372
|
-
alignSelf: 'flex-start'
|
|
11865
|
+
display: 'flex',
|
|
11866
|
+
justifyContent: 'flex-end',
|
|
11867
|
+
alignItems: 'center'
|
|
11373
11868
|
},
|
|
11869
|
+
children: [lastUpdatedTime ? jsx(LastUpdateTime, {
|
|
11870
|
+
onPressRefresh: onRefetchWarnings,
|
|
11871
|
+
lastUpdateTime: lastUpdatedTime
|
|
11872
|
+
}) : jsx(Box, {}), jsx(NewWarningButton, {
|
|
11873
|
+
onCreateWarning: onCreateWarning
|
|
11874
|
+
})]
|
|
11875
|
+
}), jsx(Box, {
|
|
11374
11876
|
children: jsx(FilterList, {
|
|
11375
11877
|
isAllSelected: allSelected,
|
|
11376
11878
|
onClickAll: onClickAll,
|
|
11377
11879
|
filterState: filterState,
|
|
11378
|
-
updateFilter: updateFilter
|
|
11880
|
+
updateFilter: updateFilter,
|
|
11881
|
+
timeFilter: timeFilter,
|
|
11882
|
+
onUpdateTimeFilter: updateTimeFilter
|
|
11379
11883
|
})
|
|
11380
|
-
}), jsxs(Box, {
|
|
11381
|
-
className: "create-warning",
|
|
11382
|
-
sx: {
|
|
11383
|
-
order: 1
|
|
11384
|
-
},
|
|
11385
|
-
children: [lastUpdatedTime && jsx(Box, {
|
|
11386
|
-
sx: {
|
|
11387
|
-
"float": 'left',
|
|
11388
|
-
minWidth: 140,
|
|
11389
|
-
paddingTop: 0.5
|
|
11390
|
-
},
|
|
11391
|
-
children: jsx(LastUpdateTime, {
|
|
11392
|
-
onPressRefresh: onRefetchWarnings,
|
|
11393
|
-
lastUpdateTime: lastUpdatedTime
|
|
11394
|
-
})
|
|
11395
|
-
}), jsx(NewWarningButton, {
|
|
11396
|
-
onCreateWarning: onCreateWarning
|
|
11397
|
-
})]
|
|
11398
11884
|
})]
|
|
11399
|
-
}), error
|
|
11885
|
+
}), error ? jsx(AlertBanner, {
|
|
11400
11886
|
title: error.message,
|
|
11401
11887
|
shouldClose: true
|
|
11402
|
-
}), !error && jsxs(Grid, {
|
|
11888
|
+
}) : null, !error && jsxs(Grid, {
|
|
11403
11889
|
container: true,
|
|
11404
11890
|
rowSpacing: 0,
|
|
11405
11891
|
columnSpacing: 0,
|
|
11406
11892
|
alignItems: "center",
|
|
11407
11893
|
justifyContent: "space-between",
|
|
11408
11894
|
size: "grow",
|
|
11409
|
-
sx: (
|
|
11895
|
+
sx: (_sx = {
|
|
11410
11896
|
maxWidth: '100%',
|
|
11411
11897
|
display: 'none',
|
|
11412
11898
|
marginTop: '4px'
|
|
11413
|
-
},
|
|
11899
|
+
}, _sx["@container publicWarningList (min-width: " + breakpoints.desktop + "px)"] = {
|
|
11414
11900
|
display: 'flex'
|
|
11415
|
-
},
|
|
11901
|
+
}, _sx),
|
|
11416
11902
|
children: [jsx(WarningListHeaderContent, {
|
|
11417
11903
|
title: t('warning-list-header-incidents'),
|
|
11418
11904
|
sx: {
|
|
@@ -11452,9 +11938,9 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
11452
11938
|
width: 140
|
|
11453
11939
|
}), jsx(WarningListHeaderContent, {
|
|
11454
11940
|
title: t('warning-list-header-levels'),
|
|
11455
|
-
sx: (
|
|
11941
|
+
sx: (_sx2 = {}, _sx2["@container publicWarningList (min-width: " + breakpoints.desktop + "px)"] = {
|
|
11456
11942
|
width: 56
|
|
11457
|
-
},
|
|
11943
|
+
}, _sx2)
|
|
11458
11944
|
}), jsx(WarningListHeaderContent, {
|
|
11459
11945
|
title: t('areas'),
|
|
11460
11946
|
width: 100
|
|
@@ -11465,7 +11951,7 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
11465
11951
|
marginRight: '48px'
|
|
11466
11952
|
}
|
|
11467
11953
|
})]
|
|
11468
|
-
}), sortedWarnings && !error
|
|
11954
|
+
}), sortedWarnings && !error ? jsx(Box, {
|
|
11469
11955
|
"data-testid": "warnings-list",
|
|
11470
11956
|
sx: {
|
|
11471
11957
|
height: "calc(100% - " + filterHeight + "px)",
|
|
@@ -11494,6 +11980,7 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
11494
11980
|
if (warning.totalWarnings !== undefined) {
|
|
11495
11981
|
var header = warning;
|
|
11496
11982
|
return jsx(WarningListItemSeperator, {
|
|
11983
|
+
timeFilter: timeFilter,
|
|
11497
11984
|
status: header.status,
|
|
11498
11985
|
totalWarnings: header.totalWarnings,
|
|
11499
11986
|
style: style,
|
|
@@ -11523,7 +12010,7 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
11523
12010
|
});
|
|
11524
12011
|
}
|
|
11525
12012
|
})
|
|
11526
|
-
})]
|
|
12013
|
+
}) : null]
|
|
11527
12014
|
})]
|
|
11528
12015
|
});
|
|
11529
12016
|
};
|
|
@@ -11718,7 +12205,8 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
11718
12205
|
var savedDomainFilter = savedFilterState.domain,
|
|
11719
12206
|
savedPhenomenonFilter = savedFilterState.phenomenon,
|
|
11720
12207
|
savedLevelFilter = savedFilterState.level,
|
|
11721
|
-
savedSourceFilter = savedFilterState.source
|
|
12208
|
+
savedSourceFilter = savedFilterState.source,
|
|
12209
|
+
savedTimeFilter = savedFilterState.time;
|
|
11722
12210
|
/** Levels for selected domain(s) */
|
|
11723
12211
|
var relevantLevels = useMemo(function () {
|
|
11724
12212
|
return getLevelsForDomainFilter(savedDomainFilter);
|
|
@@ -11749,7 +12237,7 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
11749
12237
|
var defaultSourceFilter = useMemo(function () {
|
|
11750
12238
|
return Object.fromEntries(relevantSources.map(function (key) {
|
|
11751
12239
|
var presetValue = presetFilterState == null ? void 0 : presetFilterState.source[key];
|
|
11752
|
-
return [key, presetValue
|
|
12240
|
+
return [key, presetValue != null ? presetValue : true];
|
|
11753
12241
|
}));
|
|
11754
12242
|
},
|
|
11755
12243
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -11763,11 +12251,13 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
11763
12251
|
};
|
|
11764
12252
|
}, [defaultSourceFilter]);
|
|
11765
12253
|
var initialFiltersWithPresets = useMemo(function () {
|
|
12254
|
+
var _presetFilterState$ti;
|
|
11766
12255
|
return {
|
|
11767
12256
|
source: defaultSourceFilter || defaultEmptyFilter,
|
|
11768
12257
|
domain: Object.assign({}, initialFilters.domain, presetFilterState == null ? void 0 : presetFilterState.domain),
|
|
11769
12258
|
phenomenon: Object.assign({}, initialFilters.phenomenon, presetFilterState == null ? void 0 : presetFilterState.phenomenon),
|
|
11770
|
-
level: Object.assign({}, initialFilters.level, presetFilterState == null ? void 0 : presetFilterState.level)
|
|
12259
|
+
level: Object.assign({}, initialFilters.level, presetFilterState == null ? void 0 : presetFilterState.level),
|
|
12260
|
+
time: (_presetFilterState$ti = presetFilterState == null ? void 0 : presetFilterState.time) != null ? _presetFilterState$ti : defaultTimeFilter
|
|
11771
12261
|
};
|
|
11772
12262
|
},
|
|
11773
12263
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -11817,7 +12307,16 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
11817
12307
|
});
|
|
11818
12308
|
}
|
|
11819
12309
|
};
|
|
12310
|
+
var updateTimeFilter = useCallback(function (timeFilter) {
|
|
12311
|
+
onUpdateFilters({
|
|
12312
|
+
time: timeFilter
|
|
12313
|
+
});
|
|
12314
|
+
}, [onUpdateFilters]);
|
|
11820
12315
|
var byFilterState = useCallback(function (warning) {
|
|
12316
|
+
var _relevantSources$find;
|
|
12317
|
+
if (!isWarningWithinInterval(warning, savedTimeFilter)) {
|
|
12318
|
+
return false;
|
|
12319
|
+
}
|
|
11821
12320
|
var levelDomain = function () {
|
|
11822
12321
|
if (['SIG', 'AIR'].includes(warning.warningDetail.level)) {
|
|
11823
12322
|
return Domain.aviation;
|
|
@@ -11838,24 +12337,27 @@ var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, sa
|
|
|
11838
12337
|
if (!pickedPhenomenaFilter[phenomenon]) {
|
|
11839
12338
|
return false;
|
|
11840
12339
|
}
|
|
11841
|
-
var source = relevantSources.find(function (source) {
|
|
12340
|
+
var source = (_relevantSources$find = relevantSources.find(function (source) {
|
|
11842
12341
|
return source === warning.warningDetail.warningProposalSource;
|
|
11843
|
-
})
|
|
12342
|
+
})) != null ? _relevantSources$find : emptyFilterId;
|
|
11844
12343
|
if (!savedSourceFilter[source]) {
|
|
11845
12344
|
return false;
|
|
11846
12345
|
}
|
|
11847
12346
|
return true;
|
|
11848
|
-
}, [savedDomainFilter, pickedLevelFilter, pickedPhenomenaFilter, relevantSources, savedSourceFilter]);
|
|
12347
|
+
}, [savedDomainFilter, pickedLevelFilter, pickedPhenomenaFilter, relevantSources, savedSourceFilter, savedTimeFilter]);
|
|
11849
12348
|
return {
|
|
11850
12349
|
allSelected: allSelected,
|
|
11851
12350
|
updateFilter: updateFilter,
|
|
12351
|
+
updateTimeFilter: updateTimeFilter,
|
|
11852
12352
|
byFilterState: byFilterState,
|
|
11853
12353
|
filterState: {
|
|
11854
12354
|
domain: savedDomainFilter,
|
|
11855
12355
|
level: pickedLevelFilter,
|
|
11856
12356
|
phenomenon: pickedPhenomenaFilter,
|
|
11857
|
-
source: savedSourceFilter
|
|
11858
|
-
|
|
12357
|
+
source: savedSourceFilter,
|
|
12358
|
+
time: savedTimeFilter
|
|
12359
|
+
},
|
|
12360
|
+
timeFilter: savedTimeFilter
|
|
11859
12361
|
};
|
|
11860
12362
|
};
|
|
11861
12363
|
|
|
@@ -12103,8 +12605,12 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12103
12605
|
var dispatch = useDispatch();
|
|
12104
12606
|
var confirmDialog = useConfirmationDialog();
|
|
12105
12607
|
var _useAuthenticationCon = useAuthenticationContext$1(),
|
|
12106
|
-
auth = _useAuthenticationCon.auth
|
|
12107
|
-
|
|
12608
|
+
auth = _useAuthenticationCon.auth,
|
|
12609
|
+
isLoggedIn = _useAuthenticationCon.isLoggedIn;
|
|
12610
|
+
var savedFilterState = useSelector(function (store) {
|
|
12611
|
+
return getWarningsFilterById(store, panelId);
|
|
12612
|
+
});
|
|
12613
|
+
var _useWarnings = useWarnings(false, savedFilterState.time),
|
|
12108
12614
|
combinedWarnings = _useWarnings.combinedWarnings,
|
|
12109
12615
|
refetchWarnings = _useWarnings.refetchWarnings,
|
|
12110
12616
|
isFetching = _useWarnings.isFetching,
|
|
@@ -12116,9 +12622,6 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12116
12622
|
confirmDialogOptions = _React$useState[0],
|
|
12117
12623
|
setConfirmDialogOptions = _React$useState[1];
|
|
12118
12624
|
var selectedWarningId = useSelector(getSelectedWarningId);
|
|
12119
|
-
var savedFilterState = useSelector(function (store) {
|
|
12120
|
-
return getWarningsFilterById(store, panelId);
|
|
12121
|
-
});
|
|
12122
12625
|
var isFormDirty = useSelector(getSelectedPublicIsFormDirty);
|
|
12123
12626
|
var openPublicWarningDialog = /*#__PURE__*/function () {
|
|
12124
12627
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(formAction, warning, warningType) {
|
|
@@ -12635,7 +13138,7 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12635
13138
|
features: allFeatures
|
|
12636
13139
|
}, panelId),
|
|
12637
13140
|
hoveredFeatureId = _useUpdateSharedData.hoverId;
|
|
12638
|
-
return jsxs(Fragment, {
|
|
13141
|
+
return isLoggedIn ? jsxs(Fragment, {
|
|
12639
13142
|
children: [jsx(PublicWarningList, {
|
|
12640
13143
|
error: error != null ? error : undefined,
|
|
12641
13144
|
expandedSections: expandedSections,
|
|
@@ -12694,6 +13197,10 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12694
13197
|
return cancelAviationProduct;
|
|
12695
13198
|
}()
|
|
12696
13199
|
})]
|
|
13200
|
+
}) : jsx(AlertBanner, {
|
|
13201
|
+
severity: "error",
|
|
13202
|
+
title: t('error-auth-login'),
|
|
13203
|
+
dataTestId: "public-warning-list-auth-error"
|
|
12697
13204
|
});
|
|
12698
13205
|
};
|
|
12699
13206
|
|