@opengeoweb/warnings 9.36.0 → 10.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/README.md +4 -0
- package/index.esm.js +235 -335
- package/package.json +3 -2
- package/src/index.d.ts +4 -0
- package/src/lib/aviation-api/api.d.ts +0 -1
- package/src/lib/aviation-api/fakeApi.d.ts +3 -0
- package/src/lib/components/ComponentsLookUp/ComponentsLookUp.d.ts +3 -3
- package/src/lib/components/FilterList/filter-hooks.d.ts +2 -2
- package/src/lib/components/FilterList/filter-utils.d.ts +9 -2
- package/src/lib/components/PublicWarningList/PublicWarningList.d.ts +2 -1
- package/src/lib/components/PublicWarningList/PublicWarningListConnect.d.ts +5 -3
- package/src/lib/store/drawings/index.d.ts +2 -0
- package/src/lib/store/index.d.ts +3 -0
- package/src/lib/store/publicWarningForm/index.d.ts +2 -0
- package/src/lib/store/publicWarningForm/reducer.d.ts +2 -0
- package/src/lib/store/publicWarningForm/types.d.ts +1 -0
- package/src/lib/store/publicWarnings/index.d.ts +2 -0
- package/src/lib/store/publicWarnings/reducer.d.ts +6 -0
- package/src/lib/store/publicWarnings/selectors.d.ts +30 -0
- package/src/lib/store/publicWarnings/types.d.ts +2 -0
package/README.md
CHANGED
|
@@ -5,3 +5,7 @@ This library was generated with [Nx](https://nx.dev).
|
|
|
5
5
|
## Running unit tests
|
|
6
6
|
|
|
7
7
|
Run `nx test warnings` to execute the unit tests via [Jest](https://jestjs.io).
|
|
8
|
+
|
|
9
|
+
### TypeScript Documentation
|
|
10
|
+
|
|
11
|
+
- [TypeScript Docs](https://opengeoweb.gitlab.io/opengeoweb/typescript-docs/warnings/)
|
package/index.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { useDispatch, useSelector } from 'react-redux';
|
|
3
3
|
import { Polygons, Share, ExitDomain, Edit, Delete, DrawPolygon, Visibility, Add, CoastalEvent, TemperatureLow, TemperatureHigh, Rain, Snow, Lightning, Fog, Wind, Thunderstorm, VulcanicEruption, Haze, FreezingPrecipitation, ModerateAircraftIcing, SevereAircraftIcing, ModerateTurbulence, SevereTurbulence, SandStorm, RadioactiveMaterials, breakpoints, Options, Close, ChevronDown, ChevronUp, Copy, Success, Expire, Remove, ArrowUpCompact, ArrowDownCompact } from '@opengeoweb/theme';
|
|
4
|
-
import { uiTypes, uiActions, getSingularDrawtoolDrawLayerId, drawtoolSelectors, layerSelectors, uiSelectors, drawtoolActions, mapStoreActions, layerActions, useSetupDialog, useUpdateSharedData } from '@opengeoweb/store';
|
|
4
|
+
import { uiTypes, uiActions, getSingularDrawtoolDrawLayerId, drawtoolSelectors, layerSelectors, uiSelectors, drawtoolActions, mapStoreActions, layerActions, useSetupDialog, selectorMemoizationOptions, useUpdateSharedData } from '@opengeoweb/store';
|
|
5
5
|
import { defaultPolygon, emptyGeoJSON, MapControlButton, getIcon, rewindGeometry, getGeoJSONPropertyValue, currentlySupportedDrawModes, defaultLayers, MapView, MapViewLayer, getFeatureExtent } from '@opengeoweb/webmap-react';
|
|
6
6
|
import { SHARED_NAMESPACE, useConfirmationDialog, ToggleMenu, dateUtils, calculateStartSize, ToolContainerDraggable, AlertBanner, ConfirmationDialog, getAxiosErrorMessage, usePrevious, CustomIconButton, CustomTooltip, Avatar, getInitials, SwitchButton, CustomToggleButton, Filter, FilterChip, FilterOption, StatusTag, LastUpdateTime, ErrorBoundary, pollingIntervalTimeout, isAxiosError as isAxiosError$1 } from '@opengeoweb/shared';
|
|
7
7
|
import { createEntityAdapter, createSlice, createSelector, createListenerMiddleware, isAnyOf } from '@reduxjs/toolkit';
|
|
@@ -19,7 +19,7 @@ import { VariableSizeList } from 'react-window';
|
|
|
19
19
|
import AutoSizer from 'react-virtualized-auto-sizer';
|
|
20
20
|
import { getApi, createApiInstance, createNonAuthApiInstance, createFakeApiInstance, ApiProvider, getHeaders, useAuthQuery, useAuthenticationContext, ProductStatus } from '@opengeoweb/api';
|
|
21
21
|
import { useFormContext } from 'react-hook-form';
|
|
22
|
-
import { isEqual, cloneDeep, clamp, groupBy, pick } from 'lodash';
|
|
22
|
+
import { isEqual, cloneDeep, clamp, groupBy, pick, assign } from 'lodash';
|
|
23
23
|
import { getConfig, useAuthenticationContext as useAuthenticationContext$1 } from '@opengeoweb/authentication';
|
|
24
24
|
import { useQueryClient } from '@tanstack/react-query';
|
|
25
25
|
import { isAxiosError } from 'axios';
|
|
@@ -2108,7 +2108,8 @@ var publicWarningsAdapter = createEntityAdapter({
|
|
|
2108
2108
|
var initialState$1 = {
|
|
2109
2109
|
warnings: publicWarningsAdapter.getInitialState(),
|
|
2110
2110
|
isLoading: true,
|
|
2111
|
-
lastUpdatedTime: ''
|
|
2111
|
+
lastUpdatedTime: '',
|
|
2112
|
+
filterState: {}
|
|
2112
2113
|
};
|
|
2113
2114
|
var slice$1 = createSlice({
|
|
2114
2115
|
initialState: initialState$1,
|
|
@@ -2130,6 +2131,14 @@ var slice$1 = createSlice({
|
|
|
2130
2131
|
var error = action.payload.error;
|
|
2131
2132
|
draft.isLoading = false;
|
|
2132
2133
|
draft.error = error;
|
|
2134
|
+
},
|
|
2135
|
+
setWarningFilters: function setWarningFilters(draft, action) {
|
|
2136
|
+
var _action$payload2 = action.payload,
|
|
2137
|
+
filterState = _action$payload2.filterState,
|
|
2138
|
+
panelId = _action$payload2.panelId;
|
|
2139
|
+
if (panelId) {
|
|
2140
|
+
draft.filterState[panelId] = filterState;
|
|
2141
|
+
}
|
|
2133
2142
|
}
|
|
2134
2143
|
}
|
|
2135
2144
|
});
|
|
@@ -2204,12 +2213,14 @@ var slice = createSlice({
|
|
|
2204
2213
|
_action$payload2$form = _action$payload2.formState,
|
|
2205
2214
|
formState = _action$payload2$form === void 0 ? '' : _action$payload2$form,
|
|
2206
2215
|
_action$payload2$warn = _action$payload2.warningType,
|
|
2207
|
-
warningType = _action$payload2$warn === void 0 ? 'public' : _action$payload2$warn
|
|
2216
|
+
warningType = _action$payload2$warn === void 0 ? 'public' : _action$payload2$warn,
|
|
2217
|
+
panelId = _action$payload2.panelId;
|
|
2208
2218
|
draft.object = object;
|
|
2209
2219
|
draft.publicWarning = publicWarning;
|
|
2210
2220
|
draft.selectedPublicWarningId = publicWarning == null ? void 0 : publicWarning.id;
|
|
2211
2221
|
draft.formState = formState;
|
|
2212
2222
|
draft.warningType = warningType;
|
|
2223
|
+
draft.panelId = panelId;
|
|
2213
2224
|
},
|
|
2214
2225
|
toggleEditorWarning: function toggleEditorWarning(draft,
|
|
2215
2226
|
// eslint-disable-next-line no-unused-vars
|
|
@@ -6931,204 +6942,6 @@ var warningListJSON = [
|
|
|
6931
6942
|
}
|
|
6932
6943
|
];
|
|
6933
6944
|
|
|
6934
|
-
var sigmetListJSON = [
|
|
6935
|
-
{
|
|
6936
|
-
id: "57eaf6c8-a247-11ef-ac05-12e0cc025418",
|
|
6937
|
-
lastUpdatedTime: "2024-11-14T05:14:37",
|
|
6938
|
-
productStatus: "DRAFT",
|
|
6939
|
-
warningDetail: {
|
|
6940
|
-
areas: [
|
|
6941
|
-
{
|
|
6942
|
-
geoJSON: {
|
|
6943
|
-
features: [
|
|
6944
|
-
{
|
|
6945
|
-
geometry: {
|
|
6946
|
-
type: "Polygon",
|
|
6947
|
-
coordinates: [
|
|
6948
|
-
[
|
|
6949
|
-
[
|
|
6950
|
-
10,
|
|
6951
|
-
20
|
|
6952
|
-
],
|
|
6953
|
-
[
|
|
6954
|
-
15,
|
|
6955
|
-
25
|
|
6956
|
-
],
|
|
6957
|
-
[
|
|
6958
|
-
20,
|
|
6959
|
-
20
|
|
6960
|
-
],
|
|
6961
|
-
[
|
|
6962
|
-
10,
|
|
6963
|
-
20
|
|
6964
|
-
]
|
|
6965
|
-
]
|
|
6966
|
-
]
|
|
6967
|
-
},
|
|
6968
|
-
properties: {
|
|
6969
|
-
selectionType: "fir",
|
|
6970
|
-
stroke: "#0075a9",
|
|
6971
|
-
"stroke-width": 1.5,
|
|
6972
|
-
"stroke-opacity": 1,
|
|
6973
|
-
fill: "#0075a9",
|
|
6974
|
-
"fill-opacity": 0.4
|
|
6975
|
-
},
|
|
6976
|
-
type: "Feature"
|
|
6977
|
-
}
|
|
6978
|
-
],
|
|
6979
|
-
type: "FeatureCollection"
|
|
6980
|
-
},
|
|
6981
|
-
objectName: "ENOB"
|
|
6982
|
-
}
|
|
6983
|
-
],
|
|
6984
|
-
descriptionOriginal: "",
|
|
6985
|
-
descriptionTranslation: "",
|
|
6986
|
-
firName: "BODOE OCEANIC FIR",
|
|
6987
|
-
incident: "-1",
|
|
6988
|
-
level: "SIG",
|
|
6989
|
-
phenomenon: "EMBD_TSGR",
|
|
6990
|
-
probability: "0",
|
|
6991
|
-
validFrom: "2024-11-14T05:30:14Z",
|
|
6992
|
-
validUntil: "2024-11-14T07:30:14Z"
|
|
6993
|
-
}
|
|
6994
|
-
},
|
|
6995
|
-
{
|
|
6996
|
-
id: "fc4c0002-8d32-11ef-888b-ee87a1644661",
|
|
6997
|
-
lastUpdatedTime: "2024-11-14T05:14:06",
|
|
6998
|
-
productStatus: "EXPIRED",
|
|
6999
|
-
warningDetail: {
|
|
7000
|
-
areas: [
|
|
7001
|
-
{
|
|
7002
|
-
geoJSON: null,
|
|
7003
|
-
objectName: "EFIN"
|
|
7004
|
-
}
|
|
7005
|
-
],
|
|
7006
|
-
descriptionOriginal: "",
|
|
7007
|
-
descriptionTranslation: "",
|
|
7008
|
-
firName: "HELSINKI FIR",
|
|
7009
|
-
incident: "T01",
|
|
7010
|
-
level: "SIG",
|
|
7011
|
-
phenomenon: "OBSC_TS",
|
|
7012
|
-
probability: "0",
|
|
7013
|
-
validFrom: "2024-11-13T05:30:14Z",
|
|
7014
|
-
validUntil: "2024-11-13T07:30:14Z"
|
|
7015
|
-
}
|
|
7016
|
-
},
|
|
7017
|
-
{
|
|
7018
|
-
id: "fe4a14bc-8a90-11ef-9090-6c08d8abf452",
|
|
7019
|
-
lastUpdatedTime: "2024-10-08T08:10:30",
|
|
7020
|
-
productStatus: "PUBLISHED",
|
|
7021
|
-
warningDetail: {
|
|
7022
|
-
areas: [
|
|
7023
|
-
{
|
|
7024
|
-
geoJSON: null,
|
|
7025
|
-
objectName: "EHAA"
|
|
7026
|
-
}
|
|
7027
|
-
],
|
|
7028
|
-
descriptionOriginal: "",
|
|
7029
|
-
descriptionTranslation: "",
|
|
7030
|
-
firName: "AMSTERDAM FIR",
|
|
7031
|
-
incident: "Z01",
|
|
7032
|
-
level: "SIG",
|
|
7033
|
-
phenomenon: "SEV_ICE",
|
|
7034
|
-
probability: "0",
|
|
7035
|
-
validFrom: "2024-10-08T05:30:14Z",
|
|
7036
|
-
validUntil: "2024-10-08T09:30:14Z"
|
|
7037
|
-
}
|
|
7038
|
-
}
|
|
7039
|
-
];
|
|
7040
|
-
|
|
7041
|
-
var airmetListJSON = [
|
|
7042
|
-
{
|
|
7043
|
-
id: "02d3727a-b190-11ef-ba31-067f7750936d",
|
|
7044
|
-
lastUpdatedTime: "2024-12-03T16:02:35",
|
|
7045
|
-
productStatus: "DRAFT",
|
|
7046
|
-
warningDetail: {
|
|
7047
|
-
areas: [
|
|
7048
|
-
{
|
|
7049
|
-
geoJSON: null,
|
|
7050
|
-
objectName: "EHAA"
|
|
7051
|
-
}
|
|
7052
|
-
],
|
|
7053
|
-
descriptionOriginal: "",
|
|
7054
|
-
descriptionTranslation: "",
|
|
7055
|
-
firName: "AMSTERDAM FIR",
|
|
7056
|
-
incident: "-1",
|
|
7057
|
-
level: "AIR",
|
|
7058
|
-
phenomenon: "SFC_WIND",
|
|
7059
|
-
probability: "0",
|
|
7060
|
-
validFrom: "2024-12-03T17:00:09Z",
|
|
7061
|
-
validUntil: "2024-12-03T21:00:09Z"
|
|
7062
|
-
}
|
|
7063
|
-
},
|
|
7064
|
-
{
|
|
7065
|
-
id: "1a868884-9076-11ef-8e82-5a063b90cdf6",
|
|
7066
|
-
lastUpdatedTime: "2024-10-22T13:03:56",
|
|
7067
|
-
productStatus: "DRAFT",
|
|
7068
|
-
warningDetail: {
|
|
7069
|
-
areas: [
|
|
7070
|
-
{
|
|
7071
|
-
geoJSON: null,
|
|
7072
|
-
objectName: "EHAA"
|
|
7073
|
-
}
|
|
7074
|
-
],
|
|
7075
|
-
descriptionOriginal: "",
|
|
7076
|
-
descriptionTranslation: "",
|
|
7077
|
-
firName: "AMSTERDAM FIR",
|
|
7078
|
-
incident: "-1",
|
|
7079
|
-
level: "AIR",
|
|
7080
|
-
phenomenon: "MOD_TURB",
|
|
7081
|
-
probability: "0",
|
|
7082
|
-
validFrom: "2024-10-22T15:00:09Z",
|
|
7083
|
-
validUntil: "2024-10-22T18:00:09Z"
|
|
7084
|
-
}
|
|
7085
|
-
},
|
|
7086
|
-
{
|
|
7087
|
-
id: "4ac7fc94-c670-11ee-8ace-92491e683685",
|
|
7088
|
-
lastUpdatedTime: "2024-02-08T12:26:31.803468",
|
|
7089
|
-
productStatus: "EXPIRED",
|
|
7090
|
-
warningDetail: {
|
|
7091
|
-
areas: [
|
|
7092
|
-
{
|
|
7093
|
-
geoJSON: null,
|
|
7094
|
-
objectName: "ENOR"
|
|
7095
|
-
}
|
|
7096
|
-
],
|
|
7097
|
-
descriptionOriginal: "",
|
|
7098
|
-
descriptionTranslation: "",
|
|
7099
|
-
firName: "POLARIS FIR",
|
|
7100
|
-
incident: "T01",
|
|
7101
|
-
level: "AIR",
|
|
7102
|
-
phenomenon: "OBSC_TS",
|
|
7103
|
-
probability: "0",
|
|
7104
|
-
validFrom: "2024-02-08T09:00:09Z",
|
|
7105
|
-
validUntil: "2024-02-08T11:00:09Z"
|
|
7106
|
-
}
|
|
7107
|
-
},
|
|
7108
|
-
{
|
|
7109
|
-
id: "9dbcd4c6-c4c0-11ee-a0e9-9e39e246af14",
|
|
7110
|
-
lastUpdatedTime: "2024-02-06T07:15:18.166785",
|
|
7111
|
-
productStatus: "PUBLISHED",
|
|
7112
|
-
warningDetail: {
|
|
7113
|
-
areas: [
|
|
7114
|
-
{
|
|
7115
|
-
geoJSON: null,
|
|
7116
|
-
objectName: "EHAA"
|
|
7117
|
-
}
|
|
7118
|
-
],
|
|
7119
|
-
descriptionOriginal: "",
|
|
7120
|
-
descriptionTranslation: "",
|
|
7121
|
-
firName: "AMSTERDAM FIR",
|
|
7122
|
-
incident: "Z01",
|
|
7123
|
-
level: "AIR",
|
|
7124
|
-
phenomenon: "SEV_ICE",
|
|
7125
|
-
probability: "0",
|
|
7126
|
-
validFrom: "2024-02-06T08:00:09Z",
|
|
7127
|
-
validUntil: "2024-02-06T12:00:09Z"
|
|
7128
|
-
}
|
|
7129
|
-
}
|
|
7130
|
-
];
|
|
7131
|
-
|
|
7132
6945
|
/* *
|
|
7133
6946
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7134
6947
|
* you may not use this file except in compliance with the License.
|
|
@@ -7152,8 +6965,6 @@ var warningList = warningListJSON;
|
|
|
7152
6965
|
warningList.filter(function (warning) {
|
|
7153
6966
|
return warning.status !== 'EXPIRED' && warning.status !== 'WITHDRAWN';
|
|
7154
6967
|
}).length;
|
|
7155
|
-
var sigmetList = sigmetListJSON;
|
|
7156
|
-
var airmetList = airmetListJSON;
|
|
7157
6968
|
var areaKeywordList = ['North Sea districts', 'Coastal Districts', 'KNMI Specific', 'Objects', 'Baltic areas', 'NL', 'FI', 'METNorway Specific', 'Provinces', 'FIR', 'Countries'];
|
|
7158
6969
|
|
|
7159
6970
|
/* *
|
|
@@ -7254,7 +7065,7 @@ var getApiRoutes = function getApiRoutes(axiosInstance) {
|
|
|
7254
7065
|
getWarnings: function getWarnings() {
|
|
7255
7066
|
return axiosInstance.get("/warnings/").then(function () {
|
|
7256
7067
|
return {
|
|
7257
|
-
data: warningList
|
|
7068
|
+
data: warningList
|
|
7258
7069
|
};
|
|
7259
7070
|
});
|
|
7260
7071
|
},
|
|
@@ -8439,9 +8250,16 @@ var domainLevels = {
|
|
|
8439
8250
|
"public": [Level.extreme, Level.moderate, Level.severe]
|
|
8440
8251
|
};
|
|
8441
8252
|
var defaultLevelFilter = (_defaultLevelFilter = {}, _defaultLevelFilter[emptyFilterId] = true, _defaultLevelFilter.extreme = true, _defaultLevelFilter.moderate = true, _defaultLevelFilter.severe = true, _defaultLevelFilter.AIR = true, _defaultLevelFilter.SIG = true, _defaultLevelFilter);
|
|
8442
|
-
(_defaultEmptyFilter = {}, _defaultEmptyFilter[emptyFilterId] = true, _defaultEmptyFilter);
|
|
8443
|
-
|
|
8444
|
-
var
|
|
8253
|
+
var defaultEmptyFilter = (_defaultEmptyFilter = {}, _defaultEmptyFilter[emptyFilterId] = true, _defaultEmptyFilter);
|
|
8254
|
+
(_defaultPhenomenonFil = {}, _defaultPhenomenonFil[emptyFilterId] = true, _defaultPhenomenonFil.coastalEvent = true, _defaultPhenomenonFil.fog = true, _defaultPhenomenonFil.highTemp = true, _defaultPhenomenonFil.lowTemp = true, _defaultPhenomenonFil.rain = true, _defaultPhenomenonFil.snowIce = true, _defaultPhenomenonFil.thunderstorm = true, _defaultPhenomenonFil.wind = true, _defaultPhenomenonFil);
|
|
8255
|
+
var initialFilters = {
|
|
8256
|
+
incident: defaultEmptyFilter,
|
|
8257
|
+
source: defaultEmptyFilter,
|
|
8258
|
+
domain: defaultDomainFilter,
|
|
8259
|
+
phenomenon: defaultEmptyFilter,
|
|
8260
|
+
level: defaultLevelFilter
|
|
8261
|
+
};
|
|
8262
|
+
var getSelectedOptions = function getSelectedOptions(options) {
|
|
8445
8263
|
var selectedOptions = Object.keys(options).filter(function (k) {
|
|
8446
8264
|
return options[k];
|
|
8447
8265
|
});
|
|
@@ -8459,10 +8277,16 @@ var updateState = function updateState(state, optionKey, value, only) {
|
|
|
8459
8277
|
return Object.assign({}, acc, (_Object$assign = {}, _Object$assign[k] = k === optionKey, _Object$assign));
|
|
8460
8278
|
}, {});
|
|
8461
8279
|
}
|
|
8462
|
-
|
|
8463
|
-
|
|
8464
|
-
|
|
8465
|
-
|
|
8280
|
+
if (optionKey === 'ALL') {
|
|
8281
|
+
if (Object.keys(state).length < 2) {
|
|
8282
|
+
return state;
|
|
8283
|
+
}
|
|
8284
|
+
return Object.keys(state).reduce(function (acc, k) {
|
|
8285
|
+
var _Object$assign2;
|
|
8286
|
+
return Object.assign({}, acc, (_Object$assign2 = {}, _Object$assign2[k] = value, _Object$assign2));
|
|
8287
|
+
}, {});
|
|
8288
|
+
}
|
|
8289
|
+
return Object.assign({}, state, (_Object$assign3 = {}, _Object$assign3[optionKey] = value, _Object$assign3));
|
|
8466
8290
|
};
|
|
8467
8291
|
/** Make sure our value is in the filter */
|
|
8468
8292
|
var getValue = function getValue(values, value) {
|
|
@@ -10679,6 +10503,7 @@ var AreaObjectLoaderConnect = function AreaObjectLoaderConnect(_ref) {
|
|
|
10679
10503
|
* */
|
|
10680
10504
|
var transformAirmetToWarningFormat = function transformAirmetToWarningFormat(apiAirmet) {
|
|
10681
10505
|
var airmet = apiAirmet.airmet;
|
|
10506
|
+
var cancelAirmet = apiAirmet == null ? void 0 : apiAirmet.airmet;
|
|
10682
10507
|
var areas = [];
|
|
10683
10508
|
if (airmet.startGeometry) {
|
|
10684
10509
|
areas.push({
|
|
@@ -10708,12 +10533,14 @@ var transformAirmetToWarningFormat = function transformAirmetToWarningFormat(api
|
|
|
10708
10533
|
level: 'AIR',
|
|
10709
10534
|
probability: 0,
|
|
10710
10535
|
incident: airmet.sequence,
|
|
10711
|
-
firName: airmet.firName
|
|
10536
|
+
firName: airmet.firName,
|
|
10537
|
+
cancelId: isInstanceOfCancelAirmet(airmet) ? cancelAirmet.cancelsAirmetSequenceId : undefined
|
|
10712
10538
|
}
|
|
10713
10539
|
};
|
|
10714
10540
|
};
|
|
10715
10541
|
var transformSigmetToWarningFormat = function transformSigmetToWarningFormat(apiSigmet) {
|
|
10716
10542
|
var sigmet = apiSigmet.sigmet;
|
|
10543
|
+
var cancelSigmet = apiSigmet == null ? void 0 : apiSigmet.sigmet;
|
|
10717
10544
|
var areas = [];
|
|
10718
10545
|
if (sigmet.startGeometry) {
|
|
10719
10546
|
areas.push({
|
|
@@ -10759,7 +10586,8 @@ var transformSigmetToWarningFormat = function transformSigmetToWarningFormat(api
|
|
|
10759
10586
|
level: 'SIG',
|
|
10760
10587
|
probability: 0,
|
|
10761
10588
|
incident: sigmet.sequence,
|
|
10762
|
-
firName: sigmet.firName
|
|
10589
|
+
firName: sigmet.firName,
|
|
10590
|
+
cancelId: isInstanceOfCancelSigmet(sigmet) ? cancelSigmet.cancelsSigmetSequenceId : undefined
|
|
10763
10591
|
}
|
|
10764
10592
|
};
|
|
10765
10593
|
};
|
|
@@ -11303,9 +11131,9 @@ var ExpandableFilterChip = function ExpandableFilterChip(_ref) {
|
|
|
11303
11131
|
var _useState = useState(null),
|
|
11304
11132
|
anchorEl = _useState[0],
|
|
11305
11133
|
setAnchorEl = _useState[1];
|
|
11306
|
-
var
|
|
11307
|
-
noSelectedOptions =
|
|
11308
|
-
allSelected =
|
|
11134
|
+
var _getSelectedOptions = getSelectedOptions(options),
|
|
11135
|
+
noSelectedOptions = _getSelectedOptions.noSelectedOptions,
|
|
11136
|
+
allSelected = _getSelectedOptions.allSelected;
|
|
11309
11137
|
var isDisabled = Object.keys(options).length < 2;
|
|
11310
11138
|
return jsxs(Fragment, {
|
|
11311
11139
|
children: [jsx(CustomTooltip, {
|
|
@@ -11454,6 +11282,7 @@ var ExpandableFilterChip = function ExpandableFilterChip(_ref) {
|
|
|
11454
11282
|
});
|
|
11455
11283
|
};
|
|
11456
11284
|
|
|
11285
|
+
var filterOrder = ['incident', 'source', 'domain', 'phenomenon', 'level'];
|
|
11457
11286
|
var FilterList = function FilterList(_ref) {
|
|
11458
11287
|
var _ref$onClickAll = _ref.onClickAll,
|
|
11459
11288
|
onClickAll = _ref$onClickAll === void 0 ? function () {} : _ref$onClickAll,
|
|
@@ -11491,7 +11320,7 @@ var FilterList = function FilterList(_ref) {
|
|
|
11491
11320
|
size: "medium"
|
|
11492
11321
|
})
|
|
11493
11322
|
})
|
|
11494
|
-
}),
|
|
11323
|
+
}), filterOrder.map(function (filterId) {
|
|
11495
11324
|
return jsx(ExpandableFilterChip, {
|
|
11496
11325
|
id: filterId,
|
|
11497
11326
|
options: filterState[filterId],
|
|
@@ -11691,7 +11520,7 @@ var renderLevelText = function renderLevelText(levelString) {
|
|
|
11691
11520
|
})]
|
|
11692
11521
|
});
|
|
11693
11522
|
};
|
|
11694
|
-
var renderStatusIcon = function renderStatusIcon(status) {
|
|
11523
|
+
var renderStatusIcon = function renderStatusIcon(warning, status) {
|
|
11695
11524
|
var getStatusTag = function getStatusTag(content, color, icon) {
|
|
11696
11525
|
if (icon === void 0) {
|
|
11697
11526
|
icon = null;
|
|
@@ -11707,6 +11536,12 @@ var renderStatusIcon = function renderStatusIcon(status) {
|
|
|
11707
11536
|
icon: icon
|
|
11708
11537
|
});
|
|
11709
11538
|
};
|
|
11539
|
+
if (warning.productStatus === ProductStatus.PUBLISHED && warning.warningDetail.cancelId) {
|
|
11540
|
+
return getStatusTag("Cnls " + warning.warningDetail.cancelId, 'red');
|
|
11541
|
+
}
|
|
11542
|
+
if (warning.productStatus === ProductStatus.CANCELLED && warning.warningDetail.cancelId === undefined) {
|
|
11543
|
+
return getStatusTag('Cnld', 'red');
|
|
11544
|
+
}
|
|
11710
11545
|
switch (status) {
|
|
11711
11546
|
case PublicWarningStatus.TODO:
|
|
11712
11547
|
return null;
|
|
@@ -11721,7 +11556,9 @@ var renderStatusIcon = function renderStatusIcon(status) {
|
|
|
11721
11556
|
color: 'geowebColors.iconButtons.flat.default.color',
|
|
11722
11557
|
marginRight: 2
|
|
11723
11558
|
},
|
|
11724
|
-
children: jsx(Edit, {
|
|
11559
|
+
children: jsx(Edit, {
|
|
11560
|
+
"data-testid": "EditPencilIcon"
|
|
11561
|
+
})
|
|
11725
11562
|
});
|
|
11726
11563
|
case PublicWarningStatus.DRAFT_PUBLISHED:
|
|
11727
11564
|
return getStatusTag('Pub', 'green', jsx(Edit, {
|
|
@@ -11970,7 +11807,7 @@ var WarningListItem = function WarningListItem(_ref) {
|
|
|
11970
11807
|
sx: {
|
|
11971
11808
|
position: 'relative'
|
|
11972
11809
|
},
|
|
11973
|
-
children: [renderStatusIcon(status), warning.editor && jsx(Box, {
|
|
11810
|
+
children: [renderStatusIcon(warning, status), warning.editor && jsx(Box, {
|
|
11974
11811
|
sx: {
|
|
11975
11812
|
width: '16px',
|
|
11976
11813
|
position: 'absolute',
|
|
@@ -12189,6 +12026,7 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
12189
12026
|
var _ref$warnings = _ref.warnings,
|
|
12190
12027
|
warnings = _ref$warnings === void 0 ? [] : _ref$warnings,
|
|
12191
12028
|
filterHookState = _ref.filterHookState,
|
|
12029
|
+
filterState = _ref.filterState,
|
|
12192
12030
|
_ref$isLoading = _ref.isLoading,
|
|
12193
12031
|
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
12194
12032
|
error = _ref.error,
|
|
@@ -12214,8 +12052,7 @@ var PublicWarningList = function PublicWarningList(_ref) {
|
|
|
12214
12052
|
hoveredFeatureId = _ref.hoveredFeatureId,
|
|
12215
12053
|
expandedSections = _ref.expandedSections,
|
|
12216
12054
|
setExpandedSections = _ref.setExpandedSections;
|
|
12217
|
-
var
|
|
12218
|
-
updateFilter = filterHookState.updateFilter,
|
|
12055
|
+
var updateFilter = filterHookState.updateFilter,
|
|
12219
12056
|
allSelected = filterHookState.allSelected;
|
|
12220
12057
|
var _useWarningsTranslati = useWarningsTranslation(),
|
|
12221
12058
|
t = _useWarningsTranslati.t;
|
|
@@ -12551,6 +12388,37 @@ var getPublicWarningsError = createSelector(getPublicWarningsStore, function (st
|
|
|
12551
12388
|
var getPublicWarningsLastUpdatedTime = createSelector(getPublicWarningsStore, function (store) {
|
|
12552
12389
|
return store == null ? void 0 : store.lastUpdatedTime;
|
|
12553
12390
|
});
|
|
12391
|
+
var getWarningsFilterState = createSelector(getPublicWarningsStore, function (store) {
|
|
12392
|
+
return store == null ? void 0 : store.filterState;
|
|
12393
|
+
}, selectorMemoizationOptions);
|
|
12394
|
+
var getWarningsFilterById = createSelector(getWarningsFilterState, function (_store, panelId) {
|
|
12395
|
+
return panelId;
|
|
12396
|
+
}, function (filterState, panelId) {
|
|
12397
|
+
return panelId && filterState && filterState[panelId] ? filterState[panelId] : initialFilters;
|
|
12398
|
+
}, selectorMemoizationOptions);
|
|
12399
|
+
var getWarningsPresetById = createSelector(getWarningsFilterState, function (_store, panelId) {
|
|
12400
|
+
return panelId;
|
|
12401
|
+
}, function (filterState, panelId) {
|
|
12402
|
+
if (!panelId || !filterState || !filterState[panelId]) {
|
|
12403
|
+
return {
|
|
12404
|
+
filterState: null
|
|
12405
|
+
};
|
|
12406
|
+
}
|
|
12407
|
+
return {
|
|
12408
|
+
filterState: filterState[panelId]
|
|
12409
|
+
};
|
|
12410
|
+
}, selectorMemoizationOptions);
|
|
12411
|
+
|
|
12412
|
+
var selectors = /*#__PURE__*/Object.freeze({
|
|
12413
|
+
__proto__: null,
|
|
12414
|
+
getPublicWarningsError: getPublicWarningsError,
|
|
12415
|
+
getPublicWarningsLastUpdatedTime: getPublicWarningsLastUpdatedTime,
|
|
12416
|
+
getPublicWarningsStore: getPublicWarningsStore,
|
|
12417
|
+
getWarningsFilterById: getWarningsFilterById,
|
|
12418
|
+
getWarningsPresetById: getWarningsPresetById,
|
|
12419
|
+
isPublicWarningsLoading: isPublicWarningsLoading,
|
|
12420
|
+
selectAllPublicWarnings: selectAllPublicWarnings
|
|
12421
|
+
});
|
|
12554
12422
|
|
|
12555
12423
|
var ConfirmDeleteWarningDialog = function ConfirmDeleteWarningDialog(_ref) {
|
|
12556
12424
|
var _ref$onClose = _ref.onClose,
|
|
@@ -12647,35 +12515,51 @@ var ConfirmDeleteWarningDialog = function ConfirmDeleteWarningDialog(_ref) {
|
|
|
12647
12515
|
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
12648
12516
|
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
12649
12517
|
* */
|
|
12650
|
-
var
|
|
12651
|
-
|
|
12652
|
-
filter = _useState[0],
|
|
12653
|
-
setFilter = _useState[1];
|
|
12654
|
-
var pickedFilterOptions = pick(filter, [emptyFilterId].concat(pickedOptions));
|
|
12655
|
-
var _useSelectedOptions = useSelectedOptions(pickedFilterOptions),
|
|
12656
|
-
allSelected = _useSelectedOptions.allSelected;
|
|
12657
|
-
return [pickedFilterOptions, setFilter, allSelected];
|
|
12658
|
-
};
|
|
12659
|
-
var useWarningFilters = function useWarningFilters(warnings) {
|
|
12660
|
-
var _useState2 = useState(defaultDomainFilter),
|
|
12661
|
-
domainFilter = _useState2[0],
|
|
12662
|
-
setDomainFilter = _useState2[1];
|
|
12663
|
-
var relevantLevels = Object.keys(domainFilter).flatMap(function (domain) {
|
|
12518
|
+
var getLevelsForDomainFilter = function getLevelsForDomainFilter(domainFilter) {
|
|
12519
|
+
return Object.keys(domainFilter).flatMap(function (domain) {
|
|
12664
12520
|
return domainFilter[domain] ? domainLevels[domain] : [];
|
|
12665
12521
|
});
|
|
12666
|
-
|
|
12667
|
-
|
|
12668
|
-
|
|
12669
|
-
|
|
12670
|
-
var
|
|
12671
|
-
|
|
12672
|
-
|
|
12673
|
-
|
|
12522
|
+
};
|
|
12523
|
+
var getFilterOptions = function getFilterOptions(defaultFilter, allOptions, savedFilter) {
|
|
12524
|
+
var pickedFilterOptions = pick(defaultFilter, [emptyFilterId].concat(allOptions));
|
|
12525
|
+
// keep options state from savedFilter if it still exists
|
|
12526
|
+
var updatedOptions = assign(pickedFilterOptions, pick(savedFilter || {}, Object.keys(pickedFilterOptions)));
|
|
12527
|
+
var _getSelectedOptions = getSelectedOptions(updatedOptions),
|
|
12528
|
+
allSelected = _getSelectedOptions.allSelected;
|
|
12529
|
+
return [updatedOptions, allSelected];
|
|
12530
|
+
};
|
|
12531
|
+
var useWarningFilters = function useWarningFilters(warnings, onUpdateFilters, savedFilterState, presetFilterState, isLoading) {
|
|
12532
|
+
var pickedDomainFilter = savedFilterState.domain,
|
|
12533
|
+
pickedPhenomenonFilter = savedFilterState.phenomenon,
|
|
12534
|
+
pickedLevelFilter = savedFilterState.level,
|
|
12535
|
+
pickedSourceFilter = savedFilterState.source,
|
|
12536
|
+
pickedIncidentFilter = savedFilterState.incident;
|
|
12537
|
+
/// level
|
|
12538
|
+
var relevantLevels = useMemo(function () {
|
|
12539
|
+
return getLevelsForDomainFilter(pickedDomainFilter);
|
|
12540
|
+
}, [pickedDomainFilter]);
|
|
12541
|
+
var _getFilterOptions = getFilterOptions(defaultLevelFilter, relevantLevels, pickedLevelFilter),
|
|
12542
|
+
updatedPickedLevels = _getFilterOptions[0],
|
|
12543
|
+
allLevelsSelected = _getFilterOptions[1];
|
|
12544
|
+
// phenomenon
|
|
12545
|
+
var warningsPhenomena = useMemo(function () {
|
|
12546
|
+
return getFiltersFromWarnings(warnings, 'phenomenon');
|
|
12547
|
+
}, [warnings]);
|
|
12548
|
+
// filter out aviation phenomena
|
|
12549
|
+
var phenomenaKeysToFilter = new Set(Object.values(Phenomenon$1));
|
|
12550
|
+
var relevantPhenomena = warningsPhenomena.filter(function (item) {
|
|
12551
|
+
return phenomenaKeysToFilter.has(item);
|
|
12674
12552
|
});
|
|
12675
|
-
|
|
12676
|
-
|
|
12677
|
-
|
|
12678
|
-
|
|
12553
|
+
relevantPhenomena.push(emptyFilterId);
|
|
12554
|
+
var defaultPhenomenonFilter = useMemo(function () {
|
|
12555
|
+
return Object.fromEntries(relevantPhenomena.map(function (key) {
|
|
12556
|
+
return [key, true];
|
|
12557
|
+
}));
|
|
12558
|
+
}, [relevantPhenomena]);
|
|
12559
|
+
var _getFilterOptions2 = getFilterOptions(defaultPhenomenonFilter, relevantPhenomena, pickedPhenomenonFilter),
|
|
12560
|
+
updatedPickedPhenomena = _getFilterOptions2[0],
|
|
12561
|
+
allPhenomenaSelected = _getFilterOptions2[1];
|
|
12562
|
+
// source
|
|
12679
12563
|
var relevantSources = useMemo(function () {
|
|
12680
12564
|
return getFiltersFromWarnings(warnings, 'warningProposalSource');
|
|
12681
12565
|
}, [warnings]);
|
|
@@ -12684,20 +12568,10 @@ var useWarningFilters = function useWarningFilters(warnings) {
|
|
|
12684
12568
|
return [key, true];
|
|
12685
12569
|
}));
|
|
12686
12570
|
}, [relevantSources]);
|
|
12687
|
-
var
|
|
12688
|
-
|
|
12689
|
-
|
|
12690
|
-
|
|
12691
|
-
useEffect(function () {
|
|
12692
|
-
setSourceFilter(function (prevFilter) {
|
|
12693
|
-
var newSourceFilter = Object.assign({}, defaultSourceFilter, prevFilter);
|
|
12694
|
-
// Only update state if the new filter differs from the current one
|
|
12695
|
-
if (JSON.stringify(newSourceFilter) !== JSON.stringify(prevFilter)) {
|
|
12696
|
-
return newSourceFilter;
|
|
12697
|
-
}
|
|
12698
|
-
return prevFilter;
|
|
12699
|
-
});
|
|
12700
|
-
}, [defaultSourceFilter, setSourceFilter]);
|
|
12571
|
+
var _getFilterOptions3 = getFilterOptions(defaultSourceFilter, relevantSources, pickedSourceFilter),
|
|
12572
|
+
updatedPickedSources = _getFilterOptions3[0],
|
|
12573
|
+
allSourcesSelected = _getFilterOptions3[1];
|
|
12574
|
+
// incident
|
|
12701
12575
|
var relevantIncidents = useMemo(function () {
|
|
12702
12576
|
return getFiltersFromWarnings(warnings, 'incident');
|
|
12703
12577
|
}, [warnings]);
|
|
@@ -12706,23 +12580,35 @@ var useWarningFilters = function useWarningFilters(warnings) {
|
|
|
12706
12580
|
return [key, true];
|
|
12707
12581
|
}));
|
|
12708
12582
|
}, [relevantIncidents]);
|
|
12709
|
-
var
|
|
12710
|
-
|
|
12711
|
-
|
|
12712
|
-
allIncidentsSelected = _useFilter4[2];
|
|
12583
|
+
var _getFilterOptions4 = getFilterOptions(defaultIncidentFilter, relevantIncidents, pickedIncidentFilter),
|
|
12584
|
+
updatedPickedIncidents = _getFilterOptions4[0],
|
|
12585
|
+
allIncidentsSelected = _getFilterOptions4[1];
|
|
12713
12586
|
useEffect(function () {
|
|
12714
|
-
|
|
12715
|
-
|
|
12716
|
-
|
|
12717
|
-
|
|
12718
|
-
|
|
12719
|
-
|
|
12720
|
-
|
|
12721
|
-
|
|
12722
|
-
|
|
12723
|
-
|
|
12724
|
-
|
|
12725
|
-
|
|
12587
|
+
if (isLoading) {
|
|
12588
|
+
return;
|
|
12589
|
+
}
|
|
12590
|
+
// when the warnings change, update the filters
|
|
12591
|
+
onUpdateFilters({
|
|
12592
|
+
incident: updatedPickedIncidents,
|
|
12593
|
+
source: updatedPickedSources,
|
|
12594
|
+
domain: pickedDomainFilter,
|
|
12595
|
+
phenomenon: updatedPickedPhenomena,
|
|
12596
|
+
level: updatedPickedLevels
|
|
12597
|
+
}, 'system');
|
|
12598
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12599
|
+
}, [warnings]);
|
|
12600
|
+
useEffect(function () {
|
|
12601
|
+
// when the preset changes, update the filters
|
|
12602
|
+
if (presetFilterState) {
|
|
12603
|
+
onUpdateFilters(presetFilterState, 'system');
|
|
12604
|
+
} else {
|
|
12605
|
+
// for a preset without filters saved use the initial filters
|
|
12606
|
+
onUpdateFilters(initialFilters, 'system');
|
|
12607
|
+
}
|
|
12608
|
+
}, [presetFilterState, onUpdateFilters]);
|
|
12609
|
+
var _getSelectedOptions2 = getSelectedOptions(pickedDomainFilter),
|
|
12610
|
+
allDomainSelected = _getSelectedOptions2.allSelected;
|
|
12611
|
+
var allSelected = allDomainSelected && allLevelsSelected && allPhenomenaSelected && allIncidentsSelected && allSourcesSelected;
|
|
12726
12612
|
/**
|
|
12727
12613
|
* @param filterKey - Name of the filter | "ALL" filters
|
|
12728
12614
|
* @param optionKey - Name of the option | "ALL" options
|
|
@@ -12730,49 +12616,47 @@ var useWarningFilters = function useWarningFilters(warnings) {
|
|
|
12730
12616
|
* @param only - Flag that decides if all other options should be disabled
|
|
12731
12617
|
*/
|
|
12732
12618
|
var updateFilter = function updateFilter(filterKey, optionKey, value, only) {
|
|
12619
|
+
var levelFilter = value ? defaultLevelFilter : defaultEmptyFilter;
|
|
12733
12620
|
if (filterKey === 'ALL') {
|
|
12734
|
-
|
|
12735
|
-
|
|
12736
|
-
|
|
12737
|
-
|
|
12738
|
-
|
|
12739
|
-
|
|
12740
|
-
|
|
12741
|
-
return updateState(state, 'ALL', value);
|
|
12742
|
-
});
|
|
12743
|
-
setSourceFilter(function (state) {
|
|
12744
|
-
return updateState(state, 'ALL', value);
|
|
12745
|
-
});
|
|
12746
|
-
setIncidentFilter(function (state) {
|
|
12747
|
-
return updateState(state, 'ALL', value);
|
|
12748
|
-
});
|
|
12621
|
+
onUpdateFilters({
|
|
12622
|
+
domain: updateState(pickedDomainFilter, 'ALL', value),
|
|
12623
|
+
level: updateState(levelFilter, 'ALL', value),
|
|
12624
|
+
phenomenon: updateState(pickedPhenomenonFilter, 'ALL', value),
|
|
12625
|
+
incident: updateState(pickedIncidentFilter, 'ALL', value),
|
|
12626
|
+
source: updateState(pickedSourceFilter, 'ALL', value)
|
|
12627
|
+
}, 'user');
|
|
12749
12628
|
} else if (filterKey === 'domain') {
|
|
12750
|
-
|
|
12751
|
-
|
|
12752
|
-
|
|
12629
|
+
var newDomain = updateState(pickedDomainFilter, optionKey, value, only);
|
|
12630
|
+
var _relevantLevels = getLevelsForDomainFilter(newDomain);
|
|
12631
|
+
var _getFilterOptions5 = getFilterOptions(defaultLevelFilter, _relevantLevels, pickedLevelFilter),
|
|
12632
|
+
newLevel = _getFilterOptions5[0];
|
|
12633
|
+
onUpdateFilters(Object.assign({}, savedFilterState, {
|
|
12634
|
+
domain: newDomain,
|
|
12635
|
+
level: newLevel // levels depend on selected domains
|
|
12636
|
+
}), 'user');
|
|
12753
12637
|
} else if (filterKey === 'level') {
|
|
12754
|
-
|
|
12755
|
-
|
|
12756
|
-
});
|
|
12638
|
+
onUpdateFilters(Object.assign({}, savedFilterState, {
|
|
12639
|
+
level: updateState(pickedLevelFilter, optionKey, value, only)
|
|
12640
|
+
}), 'user');
|
|
12757
12641
|
} else if (filterKey === 'phenomenon') {
|
|
12758
|
-
|
|
12759
|
-
|
|
12760
|
-
});
|
|
12642
|
+
onUpdateFilters(Object.assign({}, savedFilterState, {
|
|
12643
|
+
phenomenon: updateState(pickedPhenomenonFilter, optionKey, value, only)
|
|
12644
|
+
}), 'user');
|
|
12761
12645
|
} else if (filterKey === 'source') {
|
|
12762
|
-
|
|
12763
|
-
|
|
12764
|
-
});
|
|
12646
|
+
onUpdateFilters(Object.assign({}, savedFilterState, {
|
|
12647
|
+
source: updateState(pickedSourceFilter, optionKey, value, only)
|
|
12648
|
+
}), 'user');
|
|
12765
12649
|
} else if (filterKey === 'incident') {
|
|
12766
|
-
|
|
12767
|
-
|
|
12768
|
-
});
|
|
12650
|
+
onUpdateFilters(Object.assign({}, savedFilterState, {
|
|
12651
|
+
incident: updateState(pickedIncidentFilter, optionKey, value, only)
|
|
12652
|
+
}), 'user');
|
|
12769
12653
|
}
|
|
12770
12654
|
};
|
|
12771
12655
|
var byFilterState = useCallback(function (warning) {
|
|
12772
12656
|
var levelDomain = ['SIG', 'AIR'].find(function (d) {
|
|
12773
12657
|
return d === warning.warningDetail.level;
|
|
12774
12658
|
}) ? Domain.aviation : Domain["public"];
|
|
12775
|
-
if (!
|
|
12659
|
+
if (!pickedDomainFilter[levelDomain]) {
|
|
12776
12660
|
return false;
|
|
12777
12661
|
}
|
|
12778
12662
|
var level = getValue(Level, warning.warningDetail.level);
|
|
@@ -12796,15 +12680,8 @@ var useWarningFilters = function useWarningFilters(warnings) {
|
|
|
12796
12680
|
return false;
|
|
12797
12681
|
}
|
|
12798
12682
|
return true;
|
|
12799
|
-
}, [
|
|
12683
|
+
}, [pickedDomainFilter, pickedLevelFilter, pickedPhenomenonFilter, relevantSources, pickedSourceFilter, relevantIncidents, pickedIncidentFilter]);
|
|
12800
12684
|
return {
|
|
12801
|
-
filterState: {
|
|
12802
|
-
incident: pickedIncidentFilter,
|
|
12803
|
-
source: pickedSourceFilter,
|
|
12804
|
-
domain: domainFilter,
|
|
12805
|
-
phenomenon: pickedPhenomenonFilter,
|
|
12806
|
-
level: pickedLevelFilter
|
|
12807
|
-
},
|
|
12808
12685
|
allSelected: allSelected,
|
|
12809
12686
|
updateFilter: updateFilter,
|
|
12810
12687
|
byFilterState: byFilterState
|
|
@@ -12812,7 +12689,8 @@ var useWarningFilters = function useWarningFilters(warnings) {
|
|
|
12812
12689
|
};
|
|
12813
12690
|
|
|
12814
12691
|
var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
12815
|
-
var panelId = _ref.panelId
|
|
12692
|
+
var panelId = _ref.panelId,
|
|
12693
|
+
presetFilterState = _ref.presetFilterState;
|
|
12816
12694
|
var _useWarningsTranslati = useWarningsTranslation(),
|
|
12817
12695
|
t = _useWarningsTranslati.t;
|
|
12818
12696
|
var dispatch = useDispatch();
|
|
@@ -12832,10 +12710,13 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12832
12710
|
setConfirmDialogOptions = _React$useState[1];
|
|
12833
12711
|
var publicWarnings = useSelector(selectAllPublicWarnings);
|
|
12834
12712
|
var selectedPublicWarningId = useSelector(getSelectedPublicWarningId);
|
|
12835
|
-
var isLoading = useSelector(isPublicWarningsLoading || isFetchingAirmet || isFetchingSigmet
|
|
12713
|
+
var isLoading = useSelector(isPublicWarningsLoading) || isFetchingAirmet || isFetchingSigmet;
|
|
12836
12714
|
var error = useSelector(getPublicWarningsError);
|
|
12837
12715
|
var isFormDirty = useSelector(getSelectedPublicIsFormDirty);
|
|
12838
12716
|
var lastUpdatedTime = useSelector(getPublicWarningsLastUpdatedTime);
|
|
12717
|
+
var savedFilterState = useSelector(function (store) {
|
|
12718
|
+
return getWarningsFilterById(store, panelId);
|
|
12719
|
+
});
|
|
12839
12720
|
var warningsApi = getWarningsApi();
|
|
12840
12721
|
var openPublicWarningDialog = /*#__PURE__*/function () {
|
|
12841
12722
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(formAction, publicWarning, warningType) {
|
|
@@ -12865,7 +12746,8 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
12865
12746
|
publicWarning: publicWarning
|
|
12866
12747
|
}, {
|
|
12867
12748
|
formState: formAction,
|
|
12868
|
-
warningType: warningType
|
|
12749
|
+
warningType: warningType,
|
|
12750
|
+
panelId: panelId
|
|
12869
12751
|
})));
|
|
12870
12752
|
case 7:
|
|
12871
12753
|
case "end":
|
|
@@ -13040,7 +12922,14 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
13040
12922
|
var transformedAirmets = (airmetList == null ? void 0 : airmetList.map(transformAirmetToWarningFormat)) || [];
|
|
13041
12923
|
return publicWarnings.concat(transformedSigmets).concat(transformedAirmets);
|
|
13042
12924
|
}, [publicWarnings, sigmetList, airmetList]);
|
|
13043
|
-
var
|
|
12925
|
+
var onUpdateFilters = React__default.useCallback(function (filterState, origin) {
|
|
12926
|
+
dispatch(publicWarningActions.setWarningFilters({
|
|
12927
|
+
filterState: filterState,
|
|
12928
|
+
panelId: panelId,
|
|
12929
|
+
origin: origin
|
|
12930
|
+
}));
|
|
12931
|
+
}, [dispatch, panelId]);
|
|
12932
|
+
var filterHookState = useWarningFilters(combinedWarnings, onUpdateFilters, savedFilterState, presetFilterState, isLoading);
|
|
13044
12933
|
var filteredWarnings = React__default.useMemo(function () {
|
|
13045
12934
|
return combinedWarnings.filter(filterHookState.byFilterState);
|
|
13046
12935
|
}, [combinedWarnings, filterHookState.byFilterState]);
|
|
@@ -13097,6 +12986,7 @@ var PublicWarningListConnect = function PublicWarningListConnect(_ref) {
|
|
|
13097
12986
|
lastUpdatedTime: lastUpdatedTime,
|
|
13098
12987
|
onRefetchWarnings: fetchWarnings,
|
|
13099
12988
|
filterHookState: filterHookState,
|
|
12989
|
+
filterState: savedFilterState,
|
|
13100
12990
|
hoveredFeatureId: hoveredFeatureId
|
|
13101
12991
|
}), confirmDialogOptions && jsx(ConfirmDeleteWarningDialog, {
|
|
13102
12992
|
onClose: function onClose() {
|
|
@@ -13122,7 +13012,8 @@ var PublicWarningApiWrapper = function PublicWarningApiWrapper(_ref) {
|
|
|
13122
13012
|
var config = _ref.config,
|
|
13123
13013
|
auth = _ref.auth,
|
|
13124
13014
|
onSetAuth = _ref.onSetAuth,
|
|
13125
|
-
panelId = _ref.panelId
|
|
13015
|
+
panelId = _ref.panelId,
|
|
13016
|
+
presetFilterState = _ref.presetFilterState;
|
|
13126
13017
|
return config ? jsx(ApiProvider, {
|
|
13127
13018
|
config: {
|
|
13128
13019
|
baseURL: config.baseURL,
|
|
@@ -13135,25 +13026,29 @@ var PublicWarningApiWrapper = function PublicWarningApiWrapper(_ref) {
|
|
|
13135
13026
|
createApi: createApi$1,
|
|
13136
13027
|
children: jsx(ErrorBoundary, {
|
|
13137
13028
|
children: jsx(PublicWarningListConnect, {
|
|
13138
|
-
panelId: panelId
|
|
13029
|
+
panelId: panelId,
|
|
13030
|
+
presetFilterState: presetFilterState
|
|
13139
13031
|
})
|
|
13140
13032
|
})
|
|
13141
13033
|
}) : null;
|
|
13142
13034
|
};
|
|
13143
13035
|
var componentsLookUp = function componentsLookUp(payload, apiProps) {
|
|
13144
13036
|
var id = payload.id,
|
|
13145
|
-
componentType = payload.componentType
|
|
13037
|
+
componentType = payload.componentType,
|
|
13038
|
+
initialProps = payload.initialProps;
|
|
13146
13039
|
switch (componentType) {
|
|
13147
13040
|
case warningListViewPreset.componentType:
|
|
13148
13041
|
if (apiProps && apiProps.config) {
|
|
13149
13042
|
return jsx(PublicWarningApiWrapper, Object.assign({}, apiProps, {
|
|
13150
13043
|
panelId: id,
|
|
13151
|
-
"data-testid": "publicWarningModule"
|
|
13044
|
+
"data-testid": "publicWarningModule",
|
|
13045
|
+
presetFilterState: initialProps.filterState
|
|
13152
13046
|
}));
|
|
13153
13047
|
}
|
|
13154
13048
|
return jsx(PublicWarningListConnect, {
|
|
13155
13049
|
panelId: id,
|
|
13156
|
-
"data-testid": "publicWarningList"
|
|
13050
|
+
"data-testid": "publicWarningList",
|
|
13051
|
+
presetFilterState: initialProps.filterState
|
|
13157
13052
|
});
|
|
13158
13053
|
default:
|
|
13159
13054
|
return null;
|
|
@@ -13353,16 +13248,20 @@ publicWarningFormListener.startListening({
|
|
|
13353
13248
|
publicWarningFormListener.startListening({
|
|
13354
13249
|
actionCreator: publicWarningFormActions.openPublicWarningFormDialog,
|
|
13355
13250
|
effect: function () {
|
|
13356
|
-
var _effect6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(
|
|
13251
|
+
var _effect6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(_ref5, listenerApi) {
|
|
13252
|
+
var payload, panelId;
|
|
13357
13253
|
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
13358
13254
|
while (1) switch (_context6.prev = _context6.next) {
|
|
13359
13255
|
case 0:
|
|
13256
|
+
payload = _ref5.payload;
|
|
13360
13257
|
listenerApi.cancelActiveListeners();
|
|
13258
|
+
panelId = payload.panelId;
|
|
13361
13259
|
listenerApi.dispatch(uiActions.setToggleOpenDialog({
|
|
13362
13260
|
setOpen: true,
|
|
13363
|
-
type: publicWarningDialogType
|
|
13261
|
+
type: publicWarningDialogType,
|
|
13262
|
+
sourcePanelId: panelId
|
|
13364
13263
|
}));
|
|
13365
|
-
case
|
|
13264
|
+
case 4:
|
|
13366
13265
|
case "end":
|
|
13367
13266
|
return _context6.stop();
|
|
13368
13267
|
}
|
|
@@ -13375,7 +13274,7 @@ publicWarningFormListener.startListening({
|
|
|
13375
13274
|
}()
|
|
13376
13275
|
});
|
|
13377
13276
|
var saveOrUpdateWarning = /*#__PURE__*/function () {
|
|
13378
|
-
var
|
|
13277
|
+
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(publicWarning) {
|
|
13379
13278
|
var warningsApi, warningDetail, status, warning, newWarningId;
|
|
13380
13279
|
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
13381
13280
|
while (1) switch (_context7.prev = _context7.next) {
|
|
@@ -13421,7 +13320,7 @@ var saveOrUpdateWarning = /*#__PURE__*/function () {
|
|
|
13421
13320
|
}, _callee7);
|
|
13422
13321
|
}));
|
|
13423
13322
|
return function saveOrUpdateWarning(_x13) {
|
|
13424
|
-
return
|
|
13323
|
+
return _ref6.apply(this, arguments);
|
|
13425
13324
|
};
|
|
13426
13325
|
}();
|
|
13427
13326
|
var toggleDialogLoadingEffect = function toggleDialogLoadingEffect(dispatch, isDialogOpen, isLoading) {
|
|
@@ -13441,12 +13340,12 @@ var errorEffect = function errorEffect(dispatch, message, isDialogOpen) {
|
|
|
13441
13340
|
publicWarningFormListener.startListening({
|
|
13442
13341
|
actionCreator: uiActions.setToggleOpenDialog,
|
|
13443
13342
|
effect: function () {
|
|
13444
|
-
var _effect7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(
|
|
13343
|
+
var _effect7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(_ref7, listenerApi) {
|
|
13445
13344
|
var payload;
|
|
13446
13345
|
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
13447
13346
|
while (1) switch (_context8.prev = _context8.next) {
|
|
13448
13347
|
case 0:
|
|
13449
|
-
payload =
|
|
13348
|
+
payload = _ref7.payload;
|
|
13450
13349
|
if (!payload.setOpen && payload.type === publicWarningDialogType) {
|
|
13451
13350
|
listenerApi.dispatch(uiActions.setToggleOpenDialog({
|
|
13452
13351
|
setOpen: false,
|
|
@@ -13647,6 +13546,7 @@ drawingsListener.startListening({
|
|
|
13647
13546
|
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
13648
13547
|
* */
|
|
13649
13548
|
var drawingModuleConfig = {
|
|
13549
|
+
// TODO: remove id in https://gitlab.com/opengeoweb/opengeoweb/-/issues/5561
|
|
13650
13550
|
id: 'drawing-module',
|
|
13651
13551
|
reducersMap: {
|
|
13652
13552
|
drawings: reducer$2,
|
|
@@ -13656,4 +13556,4 @@ var drawingModuleConfig = {
|
|
|
13656
13556
|
middlewares: [drawingsListener.middleware, publicWarningsListener.middleware, publicWarningFormListener.middleware]
|
|
13657
13557
|
};
|
|
13658
13558
|
|
|
13659
|
-
export { DrawingToolConnect, Wrapper as DrawingToolForm, DrawingToolFormConnect, DrawingToolMapButtonConnect, ObjectManagerConnect, ObjectManagerMapButtonConnect, PublicWarningApiWrapper, PublicWarningsFormDialog, PublicWarningsFormDialogConnect, WARN_NAMESPACE, WarningsModuleProvider, componentsLookUp, drawingModuleConfig, isAlreadyEdited, useObjectDrawDialogAction, warningFormConfirmationOptions, warningsTranslations };
|
|
13559
|
+
export { DrawingToolConnect, Wrapper as DrawingToolForm, DrawingToolFormConnect, DrawingToolMapButtonConnect, ObjectManagerConnect, ObjectManagerMapButtonConnect, PublicWarningApiWrapper, PublicWarningsFormDialog, PublicWarningsFormDialogConnect, WARN_NAMESPACE, WarningsModuleProvider, componentsLookUp, drawingModuleConfig, initialState$1 as initialState, isAlreadyEdited, publicWarningActions, publicWarningFormListener, reducer as publicWarningFormReducer, publicWarningsAdapter, publicWarningsListener, reducer$1 as publicWarningsReducer, selectors as publicWarningsSelectors, reducer$1 as reducer, useObjectDrawDialogAction, warningFormConfirmationOptions, drawingsListener as warningsDrawingsListener, reducer$2 as warningsDrawingsReducer, warningsTranslations };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeoweb/warnings",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.0",
|
|
4
4
|
"description": "GeoWeb warinings library for the opengeoweb project",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -29,7 +29,8 @@
|
|
|
29
29
|
"@opengeoweb/sigmet-airmet": "*",
|
|
30
30
|
"react-i18next": "^15.1.1",
|
|
31
31
|
"i18next": "^23.11.5",
|
|
32
|
-
"@mui/material": "^6.1.1"
|
|
32
|
+
"@mui/material": "^6.1.1",
|
|
33
|
+
"msw": "^1.3.3"
|
|
33
34
|
},
|
|
34
35
|
"peerDependencies": {
|
|
35
36
|
"react": "18",
|
package/src/index.d.ts
CHANGED
|
@@ -6,5 +6,9 @@ export * from './lib/components/DrawingToolForm';
|
|
|
6
6
|
export * from './lib/components/PublicWarningsFormDialog';
|
|
7
7
|
export * from './lib/components/ComponentsLookUp';
|
|
8
8
|
export * from './lib/store/config';
|
|
9
|
+
export * from './lib/store';
|
|
9
10
|
export { WARN_NAMESPACE } from './lib/utils/i18n';
|
|
10
11
|
export { warningsTranslations };
|
|
12
|
+
export * as publicWarningsSelectors from './lib/store/publicWarnings/selectors';
|
|
13
|
+
export * from './lib/store/types';
|
|
14
|
+
export * from './lib/store/publicWarnings/reducer';
|
|
@@ -3,7 +3,6 @@ import { AirmetConfig, AirmetFromBackend, SigmetConfig, SigmetFromBackend } from
|
|
|
3
3
|
import { AviationProduct } from '@opengeoweb/sigmet-airmet';
|
|
4
4
|
export declare const getAirmetList: (auth: Credentials) => Promise<AirmetFromBackend[]>;
|
|
5
5
|
export declare const getSigmetList: (auth: Credentials) => Promise<SigmetFromBackend[]>;
|
|
6
|
-
export declare const getlocalProductConfig: <T extends SigmetConfig | AirmetConfig>(configUrl: string) => Promise<T>;
|
|
7
6
|
export declare const getAirmetConfig: (auth: Credentials) => Promise<AirmetConfig>;
|
|
8
7
|
export declare const getSigmetConfig: (auth: Credentials) => Promise<SigmetConfig>;
|
|
9
8
|
export declare const getAirmetTAC: (auth: Credentials, product: AviationProduct) => Promise<{
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const fakeSigmetTAC = "EHAA SIGMET 1 VALID 121249/121449 EHDB- EHAA AMSTERDAM FIR FRQ TS OBS ENTIRE FIR FL010 STNR WKN";
|
|
2
|
+
export declare const fakeAirmetTAC = "EHAA AIRMET -1 VALID 310700/311100 EHDB- EHAA AMSTERDAM FIR ISOL CB OBS ENTIRE FIR FL020 STNR NC";
|
|
3
|
+
export declare const aviationEndpoints: import("msw").RestHandler<import("msw").MockedRequest<import("msw").DefaultBodyType>>[];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ApiModule, ApiUrls } from '@opengeoweb/api';
|
|
3
|
-
|
|
3
|
+
import { PublicWarningListConnectProps } from '../PublicWarningList';
|
|
4
|
+
export type WarningListComponentType = 'WarningList';
|
|
4
5
|
export interface ComponentsLookUpPayload {
|
|
5
6
|
componentType: WarningListComponentType;
|
|
6
7
|
id: string;
|
|
@@ -10,8 +11,7 @@ export interface ComponentsLookUpPayload {
|
|
|
10
11
|
export interface ApiModuleProps extends ApiModule {
|
|
11
12
|
config: ApiUrls;
|
|
12
13
|
}
|
|
13
|
-
interface Props extends ApiModuleProps {
|
|
14
|
-
panelId: string;
|
|
14
|
+
interface Props extends ApiModuleProps, PublicWarningListConnectProps {
|
|
15
15
|
}
|
|
16
16
|
export declare const PublicWarningApiWrapper: React.FC<Props>;
|
|
17
17
|
export declare const componentsLookUp: (payload: ComponentsLookUpPayload, apiProps?: ApiModuleProps) => React.ReactElement;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PublicWarning } from '../../store/publicWarningForm/types';
|
|
2
2
|
import { defaultDomainFilter, defaultEmptyFilter, defaultLevelFilter, defaultPhenomenonFilter } from './filter-utils';
|
|
3
|
+
export type UpdateFiltersOrigin = 'user' | 'system';
|
|
3
4
|
export interface PickedFilterState {
|
|
4
5
|
incident: Partial<typeof defaultEmptyFilter>;
|
|
5
6
|
source: Partial<typeof defaultEmptyFilter>;
|
|
@@ -18,10 +19,9 @@ export type FilterKeyType = keyof FilterState;
|
|
|
18
19
|
export type OptionKey<T extends FilterKeyType> = keyof FilterState[T];
|
|
19
20
|
export type UpdateFilter = <T extends FilterKeyType>(filterKey: T | 'ALL', optionKey: OptionKey<T> | 'ALL', value: boolean, only?: boolean) => void;
|
|
20
21
|
export interface FilterHookState {
|
|
21
|
-
filterState: PickedFilterState;
|
|
22
22
|
allSelected: boolean;
|
|
23
23
|
updateFilter: UpdateFilter;
|
|
24
24
|
byFilterState: (warning: PublicWarning) => boolean;
|
|
25
25
|
}
|
|
26
|
-
export declare const useWarningFilters: (warnings: PublicWarning[]) => FilterHookState;
|
|
26
|
+
export declare const useWarningFilters: (warnings: PublicWarning[], onUpdateFilters: (filterState: PickedFilterState, origin: UpdateFiltersOrigin) => void, savedFilterState: PickedFilterState, presetFilterState?: PickedFilterState, isLoading?: boolean) => FilterHookState;
|
|
27
27
|
export {};
|
|
@@ -27,6 +27,13 @@ export declare const domainLevels: Record<Domain, Level[]>;
|
|
|
27
27
|
export declare const defaultLevelFilter: Record<Level | 'unspecified', boolean>;
|
|
28
28
|
export declare const defaultEmptyFilter: Record<string, boolean>;
|
|
29
29
|
export declare const defaultPhenomenonFilter: Record<Phenomenon | 'unspecified', boolean>;
|
|
30
|
+
export declare const initialFilters: {
|
|
31
|
+
incident: Record<string, boolean>;
|
|
32
|
+
source: Record<string, boolean>;
|
|
33
|
+
domain: Record<Domain, boolean>;
|
|
34
|
+
phenomenon: Record<string, boolean>;
|
|
35
|
+
level: Record<"unspecified" | Level, boolean>;
|
|
36
|
+
};
|
|
30
37
|
type OptionsType = Partial<Record<Domain | Level | Phenomenon, boolean>>;
|
|
31
38
|
interface OptionsMetadata {
|
|
32
39
|
/** The number of selected options */
|
|
@@ -34,8 +41,8 @@ interface OptionsMetadata {
|
|
|
34
41
|
/** Whether or not all options are selected */
|
|
35
42
|
allSelected: boolean;
|
|
36
43
|
}
|
|
37
|
-
export declare const
|
|
38
|
-
export declare const updateState: <T extends string>(state: Record<T, boolean
|
|
44
|
+
export declare const getSelectedOptions: (options: OptionsType) => OptionsMetadata;
|
|
45
|
+
export declare const updateState: <T extends string>(state: Partial<Record<T, boolean>>, optionKey: T | 'ALL', value: boolean, only?: boolean) => Record<T, boolean>;
|
|
39
46
|
/** Make sure our value is in the filter */
|
|
40
47
|
export declare const getValue: <T>(values: Record<string, T>, value: string) => T | 'unspecified';
|
|
41
48
|
export declare const getFiltersFromWarnings: (warnings: PublicWarning[], filterKey: string) => string[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PublicWarning } from '../../store/publicWarningForm/types';
|
|
3
|
-
import { FilterHookState } from '../FilterList/filter-hooks';
|
|
3
|
+
import { FilterHookState, PickedFilterState } from '../FilterList/filter-hooks';
|
|
4
4
|
import { WarningListItemActions } from './WarningListItemMenu';
|
|
5
5
|
export interface PublicWarningListProps extends WarningListItemActions {
|
|
6
6
|
warnings: PublicWarning[];
|
|
@@ -12,6 +12,7 @@ export interface PublicWarningListProps extends WarningListItemActions {
|
|
|
12
12
|
onCreateWarning?: () => void;
|
|
13
13
|
onRefetchWarnings?: () => void;
|
|
14
14
|
filterHookState: FilterHookState;
|
|
15
|
+
filterState: PickedFilterState;
|
|
15
16
|
hoveredFeatureId?: string;
|
|
16
17
|
expandedSections: Record<string, boolean>;
|
|
17
18
|
setExpandedSections: (expandedSections: Record<string, boolean>) => void;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { PickedFilterState } from '../FilterList/filter-hooks';
|
|
3
|
+
export interface PublicWarningListConnectProps {
|
|
4
|
+
panelId: string;
|
|
5
|
+
presetFilterState?: PickedFilterState;
|
|
4
6
|
}
|
|
5
|
-
export declare const PublicWarningListConnect: React.FC<
|
|
7
|
+
export declare const PublicWarningListConnect: React.FC<PublicWarningListConnectProps>;
|
|
6
8
|
export default PublicWarningListConnect;
|
|
@@ -16,6 +16,7 @@ export interface PublicWarningFormState {
|
|
|
16
16
|
selectedPublicWarningId?: string;
|
|
17
17
|
isFormDirty?: boolean;
|
|
18
18
|
warningType?: WarningType;
|
|
19
|
+
panelId?: string;
|
|
19
20
|
}
|
|
20
21
|
export declare const TAKEOVER_MESSAGE = "You are no longer the editor of this warning";
|
|
21
22
|
export declare const initialState: PublicWarningFormState;
|
|
@@ -37,6 +38,7 @@ export declare const publicWarningFormActions: import("@reduxjs/toolkit").CaseRe
|
|
|
37
38
|
formState?: FormAction;
|
|
38
39
|
publicWarning?: PublicWarning;
|
|
39
40
|
warningType?: WarningType;
|
|
41
|
+
panelId?: string;
|
|
40
42
|
}>) => void;
|
|
41
43
|
toggleEditorWarning: (draft: Draft<PublicWarningFormState>, action: PayloadAction<{
|
|
42
44
|
warningId: string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PayloadAction, Draft } from '@reduxjs/toolkit';
|
|
2
2
|
import { PublicWarningsState } from './types';
|
|
3
3
|
import { PublicWarning } from '../publicWarningForm/types';
|
|
4
|
+
import { PickedFilterState, UpdateFiltersOrigin } from '../../components/FilterList/filter-hooks';
|
|
4
5
|
export declare const publicWarningsAdapter: import("@reduxjs/toolkit").EntityAdapter<PublicWarning>;
|
|
5
6
|
export declare const initialState: PublicWarningsState;
|
|
6
7
|
export declare const reducer: import("redux").Reducer<PublicWarningsState>;
|
|
@@ -16,4 +17,9 @@ export declare const publicWarningActions: import("@reduxjs/toolkit").CaseReduce
|
|
|
16
17
|
message: string;
|
|
17
18
|
};
|
|
18
19
|
}>) => void;
|
|
20
|
+
setWarningFilters: (draft: Draft<PublicWarningsState>, action: PayloadAction<{
|
|
21
|
+
filterState: PickedFilterState;
|
|
22
|
+
panelId?: string;
|
|
23
|
+
origin: UpdateFiltersOrigin;
|
|
24
|
+
}>) => void;
|
|
19
25
|
}, "publicWarnings">;
|
|
@@ -17,3 +17,33 @@ export declare const getPublicWarningsLastUpdatedTime: ((state: WarningModuleSto
|
|
|
17
17
|
}> & {
|
|
18
18
|
clearCache: () => void;
|
|
19
19
|
};
|
|
20
|
+
export declare const getWarningsFilterById: ((state: WarningModuleStore, panelId?: string | undefined) => import("../../components/FilterList/filter-hooks").PickedFilterState | {
|
|
21
|
+
incident: Record<string, boolean>;
|
|
22
|
+
source: Record<string, boolean>;
|
|
23
|
+
domain: Record<import("../../components/FilterList/filter-utils").Domain, boolean>;
|
|
24
|
+
phenomenon: Record<string, boolean>;
|
|
25
|
+
level: Record<import("../../components/FilterList/filter-utils").Level | "unspecified", boolean>;
|
|
26
|
+
}) & import("reselect").OutputSelectorFields<(args_0: Record<string, import("../../components/FilterList/filter-hooks").PickedFilterState>, args_1: string | undefined) => import("../../components/FilterList/filter-hooks").PickedFilterState | {
|
|
27
|
+
incident: Record<string, boolean>;
|
|
28
|
+
source: Record<string, boolean>;
|
|
29
|
+
domain: Record<import("../../components/FilterList/filter-utils").Domain, boolean>;
|
|
30
|
+
phenomenon: Record<string, boolean>;
|
|
31
|
+
level: Record<import("../../components/FilterList/filter-utils").Level | "unspecified", boolean>;
|
|
32
|
+
}, {
|
|
33
|
+
clearCache: () => void;
|
|
34
|
+
}> & {
|
|
35
|
+
clearCache: () => void;
|
|
36
|
+
};
|
|
37
|
+
export declare const getWarningsPresetById: ((state: WarningModuleStore, panelId?: string | undefined) => {
|
|
38
|
+
filterState: null;
|
|
39
|
+
} | {
|
|
40
|
+
filterState: import("../../components/FilterList/filter-hooks").PickedFilterState;
|
|
41
|
+
}) & import("reselect").OutputSelectorFields<(args_0: Record<string, import("../../components/FilterList/filter-hooks").PickedFilterState>, args_1: string | undefined) => {
|
|
42
|
+
filterState: null;
|
|
43
|
+
} | {
|
|
44
|
+
filterState: import("../../components/FilterList/filter-hooks").PickedFilterState;
|
|
45
|
+
}, {
|
|
46
|
+
clearCache: () => void;
|
|
47
|
+
}> & {
|
|
48
|
+
clearCache: () => void;
|
|
49
|
+
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EntityState } from '@reduxjs/toolkit';
|
|
2
2
|
import { PublicWarning } from '../publicWarningForm/types';
|
|
3
|
+
import { PickedFilterState } from '../../components/FilterList/filter-hooks';
|
|
3
4
|
export interface FilterTranslation {
|
|
4
5
|
translationKey: string;
|
|
5
6
|
key: string;
|
|
@@ -14,4 +15,5 @@ export interface PublicWarningsState {
|
|
|
14
15
|
isLoading: boolean;
|
|
15
16
|
lastUpdatedTime: string;
|
|
16
17
|
error?: PublicWarningError;
|
|
18
|
+
filterState: Record<string, PickedFilterState>;
|
|
17
19
|
}
|