@opengeoweb/warnings 9.10.2 → 9.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.esm.js
CHANGED
|
@@ -10,8 +10,8 @@ import { snackbarActions } from '@opengeoweb/snackbar';
|
|
|
10
10
|
import { styled, Box, Typography, ListItem, Grid, Paper, ListItemButton, Stack, LinearProgress, Button, FormHelperText, MenuItem, Tabs, Tab, FormControl, Card, CardContent, ListItemIcon, CircularProgress, List } from '@mui/material';
|
|
11
11
|
import { VariableSizeList } from 'react-window';
|
|
12
12
|
import AutoSizer from 'react-virtualized-auto-sizer';
|
|
13
|
+
import { DATE_FORMAT_FNS, ReactHookFormProvider, defaultFormOptions, ReactHookFormHiddenInput, isValidGeoJsonCoordinates, ReactHookFormSelect, ReactHookFormTextField, useDraftFormHelpers, errorMessages, ReactHookFormDateTime, isValidDate, isXHoursBefore, isXHoursAfter, isEmpty } from '@opengeoweb/form-fields';
|
|
13
14
|
import { getApi, createApiInstance, createNonAuthApiInstance, createFakeApiInstance, ApiProvider } from '@opengeoweb/api';
|
|
14
|
-
import { ReactHookFormProvider, defaultFormOptions, ReactHookFormHiddenInput, isValidGeoJsonCoordinates, ReactHookFormSelect, ReactHookFormTextField, useDraftFormHelpers, errorMessages, ReactHookFormDateTime, isValidDate, isXHoursBefore, isXHoursAfter, isEmpty } from '@opengeoweb/form-fields';
|
|
15
15
|
import { useFormContext } from 'react-hook-form';
|
|
16
16
|
import { clamp } from 'lodash';
|
|
17
17
|
import { useAuthenticationContext } from '@opengeoweb/authentication';
|
|
@@ -951,10 +951,7 @@ var ObjectManagerMapButtonConnect = function ObjectManagerMapButtonConnect(_ref)
|
|
|
951
951
|
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
952
952
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
953
953
|
* */
|
|
954
|
-
var DATE_FORMAT = 'dd/MM/yyyy HH:mm';
|
|
955
|
-
var DATE_FORMAT_UTC = "yyyy-MM-dd'T'HH:mm:ss'Z'";
|
|
956
954
|
var DATE_FORMAT_HEADER = 'EEEE, MMMM dd';
|
|
957
|
-
var DATE_FORMAT_DATE_FIELDS = 'DD/MM/YYYY HH:mm'; // TODO: should be 'ddd DD MMM HH:mm' https://gitlab.com/opengeoweb/opengeoweb/-/issues/4484
|
|
958
955
|
var DATE_FORMAT_LASTUPDATEDTIME = 'HH:mm';
|
|
959
956
|
|
|
960
957
|
var DEFAULT_ADD_BUTTON_HEIGHT = 80;
|
|
@@ -1207,7 +1204,7 @@ var Objects = function Objects(_ref2) {
|
|
|
1207
1204
|
maxHeight: '32px',
|
|
1208
1205
|
overflow: 'hidden'
|
|
1209
1206
|
}
|
|
1210
|
-
}, object.scope === 'global' && 'Global: ', "".concat(dateUtils.dateToString(dateUtils.utc(object.lastUpdatedTime),
|
|
1207
|
+
}, object.scope === 'global' && 'Global: ', "".concat(dateUtils.dateToString(dateUtils.utc(object.lastUpdatedTime), DATE_FORMAT_FNS), " UTC")))))));
|
|
1211
1208
|
})));
|
|
1212
1209
|
});
|
|
1213
1210
|
};
|
|
@@ -4185,7 +4182,7 @@ var useFormDirty = function useFormDirty(_ref) {
|
|
|
4185
4182
|
|
|
4186
4183
|
var opacityOptions = [100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 0];
|
|
4187
4184
|
var getObjectName$1 = function getObjectName(objectName) {
|
|
4188
|
-
return objectName || "".concat(dateUtils.dateToString(new Date(),
|
|
4185
|
+
return objectName || "".concat(dateUtils.dateToString(new Date(), DATE_FORMAT_FNS, true), " UTC");
|
|
4189
4186
|
};
|
|
4190
4187
|
var SAVE_OBJECT_BUTTON = 'Save new object';
|
|
4191
4188
|
var UPDATE_OBJECT_BUTTON = 'Update object';
|
|
@@ -4928,7 +4925,7 @@ var OBJECTS_MENU = 'Object options';
|
|
|
4928
4925
|
var NO_OBJECT = '(no object selected)';
|
|
4929
4926
|
var OBJECT_SELECTED = 'object selected';
|
|
4930
4927
|
var formatDate = function formatDate(lastUpdatedTime) {
|
|
4931
|
-
return dateUtils.dateToString(dateUtils.isoStringToDate(lastUpdatedTime), "".concat(
|
|
4928
|
+
return dateUtils.dateToString(dateUtils.isoStringToDate(lastUpdatedTime), "".concat(DATE_FORMAT_FNS, " 'UTC'"));
|
|
4932
4929
|
};
|
|
4933
4930
|
var getObjectName = function getObjectName(geoJSON, objectName) {
|
|
4934
4931
|
if (geoJSON) {
|
|
@@ -5266,7 +5263,6 @@ var ValidFrom = function ValidFrom(_ref) {
|
|
|
5266
5263
|
}
|
|
5267
5264
|
},
|
|
5268
5265
|
label: LABEL_VALID_FROM,
|
|
5269
|
-
format: DATE_FORMAT_DATE_FIELDS,
|
|
5270
5266
|
disablePast: true,
|
|
5271
5267
|
disabled: isDisabled || isReadOnly,
|
|
5272
5268
|
isReadOnly: isReadOnly,
|
|
@@ -5333,7 +5329,6 @@ var ValidUntil = function ValidUntil(_ref) {
|
|
|
5333
5329
|
}
|
|
5334
5330
|
},
|
|
5335
5331
|
label: LABEL_VALID_UNTIL,
|
|
5336
|
-
format: DATE_FORMAT_DATE_FIELDS,
|
|
5337
5332
|
disablePast: true,
|
|
5338
5333
|
disabled: isDisabled || isReadOnly,
|
|
5339
5334
|
isReadOnly: isReadOnly
|
|
@@ -5352,8 +5347,8 @@ var getEmptyPublicWarning = function getEmptyPublicWarning() {
|
|
|
5352
5347
|
return {
|
|
5353
5348
|
id: '',
|
|
5354
5349
|
phenomenon: '',
|
|
5355
|
-
validFrom: dateUtils.dateToString(validFromTime
|
|
5356
|
-
validUntil: dateUtils.dateToString(validUntilTime
|
|
5350
|
+
validFrom: dateUtils.dateToString(validFromTime),
|
|
5351
|
+
validUntil: dateUtils.dateToString(validUntilTime),
|
|
5357
5352
|
level: '',
|
|
5358
5353
|
probability: 30,
|
|
5359
5354
|
descriptionOriginal: '',
|
|
@@ -5822,8 +5817,17 @@ var PublicWarningsFormConnect = function PublicWarningsFormConnect() {
|
|
|
5822
5817
|
isFormDirty: isFormDirty
|
|
5823
5818
|
}));
|
|
5824
5819
|
};
|
|
5820
|
+
var getIsReadOnly = function getIsReadOnly() {
|
|
5821
|
+
if (publicWarningFormAction === 'readonly') {
|
|
5822
|
+
return true;
|
|
5823
|
+
}
|
|
5824
|
+
if ((publicWarning === null || publicWarning === void 0 ? void 0 : publicWarning.status) === 'TODO' && publicWarningFormAction === '') {
|
|
5825
|
+
return false;
|
|
5826
|
+
}
|
|
5827
|
+
return !isEditor && (publicWarning === null || publicWarning === void 0 ? void 0 : publicWarning.status) !== undefined;
|
|
5828
|
+
};
|
|
5825
5829
|
// Readonly also in case you are not creating a new warning and you are not set as the editor
|
|
5826
|
-
var isReadOnly =
|
|
5830
|
+
var isReadOnly = getIsReadOnly();
|
|
5827
5831
|
return /*#__PURE__*/React.createElement(PublicWarningsForm, {
|
|
5828
5832
|
object: publicWarningObject,
|
|
5829
5833
|
publicWarningDetails: publicWarning === null || publicWarning === void 0 ? void 0 : publicWarning.warningDetail,
|
|
@@ -6037,22 +6041,6 @@ var PublicWarningsFormDialogConnect = function PublicWarningsFormDialogConnect(_
|
|
|
6037
6041
|
}, /*#__PURE__*/React__default.createElement(PublicWarningsFormConnect, null));
|
|
6038
6042
|
};
|
|
6039
6043
|
|
|
6040
|
-
/* *
|
|
6041
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6042
|
-
* you may not use this file except in compliance with the License.
|
|
6043
|
-
* You may obtain a copy of the License at
|
|
6044
|
-
*
|
|
6045
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
6046
|
-
*
|
|
6047
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
6048
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
6049
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
6050
|
-
* See the License for the specific language governing permissions and
|
|
6051
|
-
* limitations under the License.
|
|
6052
|
-
*
|
|
6053
|
-
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
6054
|
-
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
6055
|
-
* */
|
|
6056
6044
|
var getStatus = function getStatus(status) {
|
|
6057
6045
|
switch (status) {
|
|
6058
6046
|
case 'DRAFT':
|
|
@@ -6060,7 +6048,7 @@ var getStatus = function getStatus(status) {
|
|
|
6060
6048
|
case 'PUBLISHED':
|
|
6061
6049
|
return 'Published';
|
|
6062
6050
|
case 'TODO':
|
|
6063
|
-
return '
|
|
6051
|
+
return 'Reviews';
|
|
6064
6052
|
default:
|
|
6065
6053
|
return 'Expired (last 24 hours)';
|
|
6066
6054
|
}
|
|
@@ -6068,6 +6056,7 @@ var getStatus = function getStatus(status) {
|
|
|
6068
6056
|
var CREATE_WARNING = 'Create a warning';
|
|
6069
6057
|
var BUTTON_EDIT = 'Edit';
|
|
6070
6058
|
var BUTTON_DELETE = 'Delete';
|
|
6059
|
+
var BUTTON_USE = 'Use';
|
|
6071
6060
|
var BUTTON_OPTIONS = 'Options';
|
|
6072
6061
|
var sortWarningsOnStatus = function sortWarningsOnStatus(warnings) {
|
|
6073
6062
|
return warnings.reduce(function (allWarnings, warning) {
|
|
@@ -6099,6 +6088,16 @@ var sortWarningsOnStatus = function sortWarningsOnStatus(warnings) {
|
|
|
6099
6088
|
expired: []
|
|
6100
6089
|
});
|
|
6101
6090
|
};
|
|
6091
|
+
var getWarningWithoutId = function getWarningWithoutId(warning) {
|
|
6092
|
+
warning.id;
|
|
6093
|
+
var warningDetail = warning.warningDetail,
|
|
6094
|
+
fullWarning = __rest(warning, ["id", "warningDetail"]);
|
|
6095
|
+
warningDetail.id;
|
|
6096
|
+
var cleanWarningDetail = __rest(warningDetail, ["id"]);
|
|
6097
|
+
return Object.assign(Object.assign({}, fullWarning), {
|
|
6098
|
+
warningDetail: cleanWarningDetail
|
|
6099
|
+
});
|
|
6100
|
+
};
|
|
6102
6101
|
var WarningListColumnContent = function WarningListColumnContent(_a) {
|
|
6103
6102
|
var title = _a.title,
|
|
6104
6103
|
status = _a.status,
|
|
@@ -6154,6 +6153,32 @@ var WarningsOnStatus = function WarningsOnStatus(_ref) {
|
|
|
6154
6153
|
return onDeleteWarning(warningId);
|
|
6155
6154
|
};
|
|
6156
6155
|
};
|
|
6156
|
+
var onClickUseWarning = function onClickUseWarning(warning) {
|
|
6157
|
+
return function () {
|
|
6158
|
+
onEditWarning(getWarningWithoutId(warning));
|
|
6159
|
+
};
|
|
6160
|
+
};
|
|
6161
|
+
var getMenuItems = function getMenuItems(warning) {
|
|
6162
|
+
if (status === 'DRAFT') {
|
|
6163
|
+
return [{
|
|
6164
|
+
text: BUTTON_EDIT,
|
|
6165
|
+
action: onClickEditWarning(warning),
|
|
6166
|
+
icon: /*#__PURE__*/React__default.createElement(Edit, null)
|
|
6167
|
+
}, {
|
|
6168
|
+
text: BUTTON_DELETE,
|
|
6169
|
+
action: onClickDeleteWarning(warning.id),
|
|
6170
|
+
icon: /*#__PURE__*/React__default.createElement(Delete, null)
|
|
6171
|
+
}];
|
|
6172
|
+
}
|
|
6173
|
+
if (status === 'TODO') {
|
|
6174
|
+
return [{
|
|
6175
|
+
text: BUTTON_USE,
|
|
6176
|
+
action: onClickUseWarning(warning),
|
|
6177
|
+
icon: /*#__PURE__*/React__default.createElement(Edit, null)
|
|
6178
|
+
}];
|
|
6179
|
+
}
|
|
6180
|
+
return [];
|
|
6181
|
+
};
|
|
6157
6182
|
return /*#__PURE__*/React__default.createElement(Box, {
|
|
6158
6183
|
sx: {
|
|
6159
6184
|
paddingBottom: 2
|
|
@@ -6183,40 +6208,44 @@ var WarningsOnStatus = function WarningsOnStatus(_ref) {
|
|
|
6183
6208
|
borderColor: status === 'EXPIRED' ? 'geowebColors.cards.cardContainerDisabledBorder' : 'geowebColors.cards.cardContainerBorder',
|
|
6184
6209
|
borderRadius: 1,
|
|
6185
6210
|
borderWidth: activeWarningId === warning.id ? '1px' : '1px',
|
|
6186
|
-
borderStyle: 'solid'
|
|
6211
|
+
borderStyle: 'solid',
|
|
6212
|
+
containerType: 'inline-size'
|
|
6187
6213
|
},
|
|
6188
|
-
secondaryAction: status !== 'EXPIRED'
|
|
6214
|
+
secondaryAction: status !== 'EXPIRED' ? ( /*#__PURE__*/React__default.createElement(ToggleMenu, {
|
|
6189
6215
|
menuTitle: BUTTON_OPTIONS,
|
|
6190
6216
|
tooltipTitle: BUTTON_OPTIONS,
|
|
6191
6217
|
menuPosition: "bottom",
|
|
6192
6218
|
"aria-label": BUTTON_OPTIONS,
|
|
6193
|
-
menuItems:
|
|
6194
|
-
text: BUTTON_EDIT,
|
|
6195
|
-
action: onClickEditWarning(warning),
|
|
6196
|
-
icon: /*#__PURE__*/React__default.createElement(Edit, null)
|
|
6197
|
-
}, {
|
|
6198
|
-
text: BUTTON_DELETE,
|
|
6199
|
-
action: onClickDeleteWarning(warning.id),
|
|
6200
|
-
icon: /*#__PURE__*/React__default.createElement(Delete, null)
|
|
6201
|
-
}] : [],
|
|
6219
|
+
menuItems: getMenuItems(warning),
|
|
6202
6220
|
buttonIcon: /*#__PURE__*/React__default.createElement(Options, null)
|
|
6221
|
+
})) : ( /*#__PURE__*/React__default.createElement(Box, {
|
|
6222
|
+
sx: {
|
|
6223
|
+
width: 24
|
|
6224
|
+
}
|
|
6203
6225
|
}))
|
|
6204
6226
|
}, /*#__PURE__*/React__default.createElement(ListItemButton, {
|
|
6205
|
-
sx: {
|
|
6227
|
+
sx: _defineProperty({
|
|
6206
6228
|
height: '100%',
|
|
6207
6229
|
minHeight: '48px',
|
|
6208
|
-
padding: 1
|
|
6209
|
-
|
|
6230
|
+
padding: 1,
|
|
6231
|
+
'.warning-list': {
|
|
6232
|
+
justifyContent: 'left'
|
|
6233
|
+
}
|
|
6234
|
+
}, "@container (min-width: ".concat(breakpoints.desktop, "px)"), {
|
|
6235
|
+
'.warning-list': {
|
|
6236
|
+
justifyContent: 'space-between'
|
|
6237
|
+
}
|
|
6238
|
+
}),
|
|
6210
6239
|
onClick: onClickWarning(warning),
|
|
6211
6240
|
"aria-label": "warning item for ".concat(warning.id),
|
|
6212
6241
|
selected: activeWarningId === warning.id
|
|
6213
6242
|
}, /*#__PURE__*/React__default.createElement(Grid, {
|
|
6243
|
+
className: "warning-list",
|
|
6214
6244
|
container: true,
|
|
6215
6245
|
item: true,
|
|
6216
6246
|
xs: true,
|
|
6217
6247
|
rowSpacing: 0,
|
|
6218
6248
|
columnSpacing: 2,
|
|
6219
|
-
justifyContent: "left",
|
|
6220
6249
|
alignItems: "center"
|
|
6221
6250
|
}, /*#__PURE__*/React__default.createElement(WarningListColumnContent, {
|
|
6222
6251
|
title: "Incident",
|
|
@@ -6226,15 +6255,15 @@ var WarningsOnStatus = function WarningsOnStatus(_ref) {
|
|
|
6226
6255
|
title: "Last update",
|
|
6227
6256
|
status: status,
|
|
6228
6257
|
width: 142
|
|
6229
|
-
}, warning.lastUpdatedTime && "".concat(dateUtils.dateToString(dateUtils.utc(warning.lastUpdatedTime),
|
|
6258
|
+
}, warning.lastUpdatedTime && "".concat(dateUtils.dateToString(dateUtils.utc(warning.lastUpdatedTime), DATE_FORMAT_FNS), " UTC")), /*#__PURE__*/React__default.createElement(WarningListColumnContent, {
|
|
6230
6259
|
title: "Start time",
|
|
6231
6260
|
status: status,
|
|
6232
6261
|
width: 142
|
|
6233
|
-
}, warning.warningDetail.validFrom && "".concat(dateUtils.dateToString(dateUtils.utc(warning.warningDetail.validFrom),
|
|
6262
|
+
}, warning.warningDetail.validFrom && "".concat(dateUtils.dateToString(dateUtils.utc(warning.warningDetail.validFrom), DATE_FORMAT_FNS), " UTC")), /*#__PURE__*/React__default.createElement(WarningListColumnContent, {
|
|
6234
6263
|
title: "End time",
|
|
6235
6264
|
status: status,
|
|
6236
6265
|
width: 142
|
|
6237
|
-
}, warning.warningDetail.validUntil && "".concat(dateUtils.dateToString(dateUtils.utc(warning.warningDetail.validUntil),
|
|
6266
|
+
}, warning.warningDetail.validUntil && "".concat(dateUtils.dateToString(dateUtils.utc(warning.warningDetail.validUntil), DATE_FORMAT_FNS), " UTC")), /*#__PURE__*/React__default.createElement(WarningListColumnContent, {
|
|
6238
6267
|
title: "Domain",
|
|
6239
6268
|
status: status
|
|
6240
6269
|
}, warning.warningDetail.domain), /*#__PURE__*/React__default.createElement(WarningListColumnContent, {
|
|
@@ -6267,7 +6296,8 @@ var WarningsOnStatus = function WarningsOnStatus(_ref) {
|
|
|
6267
6296
|
status: status
|
|
6268
6297
|
}, status === 'DRAFT' ? ( /*#__PURE__*/React__default.createElement(Box, {
|
|
6269
6298
|
sx: {
|
|
6270
|
-
position: 'relative'
|
|
6299
|
+
position: 'relative',
|
|
6300
|
+
right: 12
|
|
6271
6301
|
}
|
|
6272
6302
|
}, warning.editor && ( /*#__PURE__*/React__default.createElement(Box, {
|
|
6273
6303
|
sx: {
|
package/package.json
CHANGED
|
@@ -4,7 +4,9 @@ import { PublicWarning, PublicWarningStatus } from '../../store/publicWarningFor
|
|
|
4
4
|
export declare const CREATE_WARNING = "Create a warning";
|
|
5
5
|
export declare const BUTTON_EDIT = "Edit";
|
|
6
6
|
export declare const BUTTON_DELETE = "Delete";
|
|
7
|
+
export declare const BUTTON_USE = "Use";
|
|
7
8
|
export declare const BUTTON_OPTIONS = "Options";
|
|
9
|
+
export declare const getWarningWithoutId: (warning: PublicWarning) => PublicWarning;
|
|
8
10
|
export declare const WarningListColumnContent: React.FC<GridProps & {
|
|
9
11
|
title?: string;
|
|
10
12
|
status: PublicWarningStatus;
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
export declare const DATE_FORMAT = "dd/MM/yyyy HH:mm";
|
|
2
|
-
export declare const DATE_FORMAT_UTC = "yyyy-MM-dd'T'HH:mm:ss'Z'";
|
|
3
1
|
export declare const DATE_FORMAT_HEADER = "EEEE, MMMM dd";
|
|
4
|
-
export declare const DATE_FORMAT_DATE_FIELDS = "DD/MM/YYYY HH:mm";
|
|
5
2
|
export declare const DATE_FORMAT_LASTUPDATEDTIME = "HH:mm";
|