@opengeoweb/taf 2.12.0 → 2.15.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 +531 -89
- package/index.umd.js +566 -118
- package/lib/components/Providers/Providers.d.ts +1 -0
- package/lib/components/SwitchButton/SwitchButton.d.ts +4 -0
- package/lib/components/SwitchButton/SwitchButton.spec.d.ts +1 -0
- package/lib/components/SwitchButton/index.d.ts +1 -0
- package/lib/components/TafAvatar/TafAvatar.d.ts +8 -0
- package/lib/components/TafAvatar/index.d.ts +1 -0
- package/lib/components/TafForm/TafForm.d.ts +2 -1
- package/lib/components/TafLayout/LastUpdateTime/LastUpdateTime.d.ts +8 -0
- package/lib/components/TafLayout/LastUpdateTime/LastUpdateTime.spec.d.ts +1 -0
- package/lib/components/TafLayout/LastUpdateTime/LastUpdateTime.stories.d.ts +13 -0
- package/lib/components/TafLayout/LastUpdateTime/index.d.ts +1 -0
- package/lib/components/TafLayout/TafLayout.d.ts +2 -1
- package/lib/components/TafLayout/TafPanel/TafPanel.d.ts +2 -1
- package/lib/components/TafModule/TafModule.d.ts +1 -0
- package/lib/components/TafModule/TafModule.stories.d.ts +1 -0
- package/lib/types.d.ts +3 -1
- package/lib/utils/__mocks__/api.d.ts +1 -0
- package/lib/utils/fakeApi.d.ts +4 -0
- package/package.json +8 -5
package/index.umd.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('@mui/material'), require('react-hook-form'), require('react-sortablejs'), require('@opengeoweb/
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', 'react', '@mui/material', 'react-hook-form', 'react-sortablejs', '@opengeoweb/form-fields', '@opengeoweb/shared', '
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Taf = {}, global.React, global.material, global.reactHookForm, global.reactSortablejs, global.
|
|
5
|
-
})(this, (function (exports, React, material, reactHookForm, reactSortablejs, formFields, shared,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('@mui/material'), require('react-hook-form'), require('react-sortablejs'), require('lodash'), require('@opengeoweb/authentication'), require('@opengeoweb/form-fields'), require('@opengeoweb/shared'), require('moment'), require('@opengeoweb/theme'), require('@mui/styles/makeStyles'), require('react-dom'), require('@opengeoweb/api'), require('@mui/material/LinearProgress'), require('@mui/material/Box')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'react', '@mui/material', 'react-hook-form', 'react-sortablejs', 'lodash', '@opengeoweb/authentication', '@opengeoweb/form-fields', '@opengeoweb/shared', 'moment', '@opengeoweb/theme', '@mui/styles/makeStyles', 'react-dom', '@opengeoweb/api', '@mui/material/LinearProgress', '@mui/material/Box'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Taf = {}, global.React, global.material, global.reactHookForm, global.reactSortablejs, global.lodash, global.authentication, global.formFields, global.shared, global.moment, global.theme, global.makeStyles, global.ReactDOM, global.api, global.LinearProgress, global.Box));
|
|
5
|
+
})(this, (function (exports, React, material, reactHookForm, reactSortablejs, lodash, authentication, formFields, shared, moment, theme, makeStyles, ReactDOM, api, LinearProgress, Box) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -3825,7 +3825,12 @@
|
|
|
3825
3825
|
fontSize: '4rem'
|
|
3826
3826
|
},
|
|
3827
3827
|
"data-testid": "zeroIssuesImage"
|
|
3828
|
-
}, /*#__PURE__*/React__namespace.createElement(theme.ThumbsUp,
|
|
3828
|
+
}, /*#__PURE__*/React__namespace.createElement(theme.ThumbsUp, {
|
|
3829
|
+
sx: {
|
|
3830
|
+
height: '69px',
|
|
3831
|
+
width: '58px'
|
|
3832
|
+
}
|
|
3833
|
+
})), errorList.length > 0 && errorList.map(function (error, index) {
|
|
3829
3834
|
return /*#__PURE__*/React__namespace.createElement(material.Typography // eslint-disable-next-line react/no-array-index-key
|
|
3830
3835
|
, {
|
|
3831
3836
|
// eslint-disable-next-line react/no-array-index-key
|
|
@@ -3909,9 +3914,59 @@
|
|
|
3909
3914
|
}, children);
|
|
3910
3915
|
};
|
|
3911
3916
|
|
|
3917
|
+
var styles = {
|
|
3918
|
+
label: {
|
|
3919
|
+
color: 'geowebColors.buttons.tertiary.default.color',
|
|
3920
|
+
opacity: 1,
|
|
3921
|
+
fontSize: '12px',
|
|
3922
|
+
fontWeight: 500
|
|
3923
|
+
}
|
|
3924
|
+
};
|
|
3925
|
+
|
|
3926
|
+
var SwitchButton = function SwitchButton(props) {
|
|
3927
|
+
return /*#__PURE__*/React__namespace.createElement(material.Tooltip, {
|
|
3928
|
+
title: "Switch mode"
|
|
3929
|
+
}, /*#__PURE__*/React__namespace.createElement("span", null, /*#__PURE__*/React__namespace.createElement(material.FormLabel, {
|
|
3930
|
+
sx: styles.label
|
|
3931
|
+
}, "Viewer"), /*#__PURE__*/React__namespace.createElement(material.Switch, __assign({
|
|
3932
|
+
"data-testid": "switchMode"
|
|
3933
|
+
}, props)), /*#__PURE__*/React__namespace.createElement(material.FormLabel, {
|
|
3934
|
+
sx: styles.label
|
|
3935
|
+
}, "Editor")));
|
|
3936
|
+
};
|
|
3937
|
+
|
|
3938
|
+
/* *
|
|
3939
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3940
|
+
* you may not use this file except in compliance with the License.
|
|
3941
|
+
* You may obtain a copy of the License at
|
|
3942
|
+
*
|
|
3943
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3944
|
+
*
|
|
3945
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3946
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3947
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3948
|
+
* See the License for the specific language governing permissions and
|
|
3949
|
+
* limitations under the License.
|
|
3950
|
+
*
|
|
3951
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
3952
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
3953
|
+
* */
|
|
3954
|
+
|
|
3955
|
+
var TafAvatar = function TafAvatar(_a) {
|
|
3956
|
+
var editor = _a.editor,
|
|
3957
|
+
_b = _a.tooltipPlacement,
|
|
3958
|
+
tooltipPlacement = _b === void 0 ? 'bottom' : _b;
|
|
3959
|
+
return /*#__PURE__*/React__namespace.createElement(material.Tooltip, {
|
|
3960
|
+
title: "Editor: " + editor,
|
|
3961
|
+
placement: tooltipPlacement
|
|
3962
|
+
}, /*#__PURE__*/React__namespace.createElement("span", null, /*#__PURE__*/React__namespace.createElement(shared.Avatar, {
|
|
3963
|
+
size: "small"
|
|
3964
|
+
}, shared.getInitials(editor))));
|
|
3965
|
+
};
|
|
3966
|
+
|
|
3912
3967
|
var noop = function noop() {};
|
|
3913
3968
|
|
|
3914
|
-
var TafForm = function
|
|
3969
|
+
var TafForm = /*#__PURE__*/React__default["default"].memo(function (_a) {
|
|
3915
3970
|
var tafFromBackend = _a.tafFromBackend,
|
|
3916
3971
|
_b = _a.onFormAction,
|
|
3917
3972
|
onFormAction = _b === void 0 ? function () {
|
|
@@ -3928,43 +3983,50 @@
|
|
|
3928
3983
|
_f = _a.setIsDisabled,
|
|
3929
3984
|
setIsDisabled = _f === void 0 ? function () {
|
|
3930
3985
|
return null;
|
|
3931
|
-
} : _f
|
|
3932
|
-
|
|
3986
|
+
} : _f,
|
|
3987
|
+
_g = _a.onSwitchEditor,
|
|
3988
|
+
onSwitchEditor = _g === void 0 ? function () {
|
|
3989
|
+
return null;
|
|
3990
|
+
} : _g;
|
|
3991
|
+
var originalTaf = tafFromBackend.taf,
|
|
3992
|
+
editor = tafFromBackend.editor;
|
|
3993
|
+
var auth = authentication.useAuthenticationContext().auth;
|
|
3994
|
+
var isEditor = editor === (auth === null || auth === void 0 ? void 0 : auth.username) || false;
|
|
3933
3995
|
var isDefaultDisabled = getIsFormDefaultDisabled(tafFromBackend.taf.status);
|
|
3934
3996
|
var confirmDialog = shared.useConfirmationDialog();
|
|
3935
3997
|
|
|
3936
|
-
var
|
|
3937
|
-
toggleIsDraft =
|
|
3938
|
-
DraftFieldHelper =
|
|
3998
|
+
var _h = shared.useDraftFormHelpers(true),
|
|
3999
|
+
toggleIsDraft = _h.toggleIsDraft,
|
|
4000
|
+
DraftFieldHelper = _h.DraftFieldHelper;
|
|
3939
4001
|
|
|
3940
|
-
var
|
|
3941
|
-
registerValidateForm =
|
|
3942
|
-
tafAction =
|
|
3943
|
-
setIsFormDirty =
|
|
3944
|
-
setTafAction =
|
|
3945
|
-
TAC =
|
|
3946
|
-
updateTAC =
|
|
3947
|
-
setTAC =
|
|
4002
|
+
var _j = useTafModuleContext(),
|
|
4003
|
+
registerValidateForm = _j.registerValidateForm,
|
|
4004
|
+
tafAction = _j.tafAction,
|
|
4005
|
+
setIsFormDirty = _j.setIsFormDirty,
|
|
4006
|
+
setTafAction = _j.setTafAction,
|
|
4007
|
+
TAC = _j.TAC,
|
|
4008
|
+
updateTAC = _j.updateTAC,
|
|
4009
|
+
setTAC = _j.setTAC;
|
|
3948
4010
|
|
|
3949
4011
|
var isMounted = shared.useIsMounted().isMounted;
|
|
3950
4012
|
|
|
3951
|
-
var
|
|
3952
|
-
control =
|
|
3953
|
-
handleSubmit =
|
|
3954
|
-
trigger =
|
|
3955
|
-
formState =
|
|
3956
|
-
getValues =
|
|
3957
|
-
setValue =
|
|
3958
|
-
reset =
|
|
4013
|
+
var _k = reactHookForm.useFormContext(),
|
|
4014
|
+
control = _k.control,
|
|
4015
|
+
handleSubmit = _k.handleSubmit,
|
|
4016
|
+
trigger = _k.trigger,
|
|
4017
|
+
formState = _k.formState,
|
|
4018
|
+
getValues = _k.getValues,
|
|
4019
|
+
setValue = _k.setValue,
|
|
4020
|
+
reset = _k.reset;
|
|
3959
4021
|
|
|
3960
4022
|
var isFormDirty = formState.isDirty,
|
|
3961
4023
|
errors = formState.errors;
|
|
3962
4024
|
shared.usePreventBrowserClose(isFormDirty && !isDisabled);
|
|
3963
4025
|
var hiddenInputFields = ['baseTime', 'issueDate', 'type', 'uuid', 'validDateStart', 'validDateEnd', 'status', 'previousId', 'previousValidDateStart', 'previousValidDateEnd'];
|
|
3964
4026
|
|
|
3965
|
-
var
|
|
3966
|
-
delayedFormValues =
|
|
3967
|
-
setDelayedFormValues =
|
|
4027
|
+
var _l = __read(React__default["default"].useState(getValues()), 2),
|
|
4028
|
+
delayedFormValues = _l[0],
|
|
4029
|
+
setDelayedFormValues = _l[1];
|
|
3968
4030
|
|
|
3969
4031
|
var hasErrors = Object.keys(errors).length;
|
|
3970
4032
|
|
|
@@ -4036,6 +4098,92 @@
|
|
|
4036
4098
|
setTafAction(action);
|
|
4037
4099
|
};
|
|
4038
4100
|
|
|
4101
|
+
var setIsEditor = function setIsEditor(checked) {
|
|
4102
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
4103
|
+
var editor, didSucceed;
|
|
4104
|
+
return __generator(this, function (_a) {
|
|
4105
|
+
switch (_a.label) {
|
|
4106
|
+
case 0:
|
|
4107
|
+
editor = checked ? auth === null || auth === void 0 ? void 0 : auth.username : '';
|
|
4108
|
+
|
|
4109
|
+
if (editor === tafFromBackend.editor) {
|
|
4110
|
+
// do nothing, correct editor is already set
|
|
4111
|
+
return [2
|
|
4112
|
+
/*return*/
|
|
4113
|
+
, true];
|
|
4114
|
+
}
|
|
4115
|
+
|
|
4116
|
+
if (!(tafFromBackend.editor !== '' && tafFromBackend.editor !== null && tafFromBackend.editor !== (auth === null || auth === void 0 ? void 0 : auth.username))) return [3
|
|
4117
|
+
/*break*/
|
|
4118
|
+
, 2];
|
|
4119
|
+
return [4
|
|
4120
|
+
/*yield*/
|
|
4121
|
+
, confirmDialog({
|
|
4122
|
+
title: 'Switch to editor mode',
|
|
4123
|
+
description: 'This TAF is already in edit mode and important information could get lost in the switching process.',
|
|
4124
|
+
confirmLabel: 'Edit mode'
|
|
4125
|
+
})];
|
|
4126
|
+
|
|
4127
|
+
case 1:
|
|
4128
|
+
_a.sent();
|
|
4129
|
+
|
|
4130
|
+
_a.label = 2;
|
|
4131
|
+
|
|
4132
|
+
case 2:
|
|
4133
|
+
return [4
|
|
4134
|
+
/*yield*/
|
|
4135
|
+
, onSwitchEditor(__assign(__assign({}, tafFromBackend), {
|
|
4136
|
+
editor: editor
|
|
4137
|
+
}))];
|
|
4138
|
+
|
|
4139
|
+
case 3:
|
|
4140
|
+
didSucceed = _a.sent();
|
|
4141
|
+
return [2
|
|
4142
|
+
/*return*/
|
|
4143
|
+
, didSucceed];
|
|
4144
|
+
}
|
|
4145
|
+
});
|
|
4146
|
+
});
|
|
4147
|
+
};
|
|
4148
|
+
|
|
4149
|
+
var onSwitchMode = function onSwitchMode(event) {
|
|
4150
|
+
var checked = event.target.checked;
|
|
4151
|
+
|
|
4152
|
+
if (!checked && isFormDirty) {
|
|
4153
|
+
confirmDialog({
|
|
4154
|
+
title: 'Whoops',
|
|
4155
|
+
description: 'Are you sure you want to switch to viewer mode? Your unsaved changes will be lost.',
|
|
4156
|
+
confirmLabel: 'Switch mode'
|
|
4157
|
+
}).then(function () {
|
|
4158
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
4159
|
+
var didSucceed;
|
|
4160
|
+
return __generator(this, function (_a) {
|
|
4161
|
+
switch (_a.label) {
|
|
4162
|
+
case 0:
|
|
4163
|
+
return [4
|
|
4164
|
+
/*yield*/
|
|
4165
|
+
, setIsEditor(checked)];
|
|
4166
|
+
|
|
4167
|
+
case 1:
|
|
4168
|
+
didSucceed = _a.sent();
|
|
4169
|
+
|
|
4170
|
+
if (didSucceed) {
|
|
4171
|
+
resetForm(undefined, isDefaultDisabled);
|
|
4172
|
+
resetTAC();
|
|
4173
|
+
}
|
|
4174
|
+
|
|
4175
|
+
return [2
|
|
4176
|
+
/*return*/
|
|
4177
|
+
];
|
|
4178
|
+
}
|
|
4179
|
+
});
|
|
4180
|
+
});
|
|
4181
|
+
});
|
|
4182
|
+
} else {
|
|
4183
|
+
setIsEditor(checked);
|
|
4184
|
+
}
|
|
4185
|
+
};
|
|
4186
|
+
|
|
4039
4187
|
var onTafEditModeButtonPress = function onTafEditModeButtonPress(action) {
|
|
4040
4188
|
switch (action) {
|
|
4041
4189
|
case 'DRAFT':
|
|
@@ -4109,7 +4257,23 @@
|
|
|
4109
4257
|
switch (action) {
|
|
4110
4258
|
case 'CANCEL':
|
|
4111
4259
|
showConfirmDialog(action).then(function () {
|
|
4112
|
-
|
|
4260
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
4261
|
+
return __generator(this, function (_a) {
|
|
4262
|
+
switch (_a.label) {
|
|
4263
|
+
case 0:
|
|
4264
|
+
return [4
|
|
4265
|
+
/*yield*/
|
|
4266
|
+
, onFormAction(action, convertTafValuesToObject(prepareTafValues(tafFromBackend.taf, action)))];
|
|
4267
|
+
|
|
4268
|
+
case 1:
|
|
4269
|
+
_a.sent();
|
|
4270
|
+
|
|
4271
|
+
return [2
|
|
4272
|
+
/*return*/
|
|
4273
|
+
];
|
|
4274
|
+
}
|
|
4275
|
+
});
|
|
4276
|
+
});
|
|
4113
4277
|
});
|
|
4114
4278
|
break;
|
|
4115
4279
|
|
|
@@ -4119,19 +4283,19 @@
|
|
|
4119
4283
|
}
|
|
4120
4284
|
};
|
|
4121
4285
|
|
|
4122
|
-
var
|
|
4286
|
+
var _m = reactHookForm.useFieldArray({
|
|
4123
4287
|
control: control,
|
|
4124
4288
|
name: 'changeGroups'
|
|
4125
4289
|
}),
|
|
4126
|
-
fields =
|
|
4127
|
-
insert =
|
|
4128
|
-
remove =
|
|
4129
|
-
move =
|
|
4290
|
+
fields = _m.fields,
|
|
4291
|
+
insert = _m.insert,
|
|
4292
|
+
remove = _m.remove,
|
|
4293
|
+
move = _m.move;
|
|
4130
4294
|
|
|
4131
|
-
var
|
|
4132
|
-
onChangeOrder =
|
|
4133
|
-
onStartDrag =
|
|
4134
|
-
activeDraggingIndex =
|
|
4295
|
+
var _o = useDragOrder(trigger, move, onFormBlur),
|
|
4296
|
+
onChangeOrder = _o.onChangeOrder,
|
|
4297
|
+
onStartDrag = _o.onStartDrag,
|
|
4298
|
+
activeDraggingIndex = _o.activeDraggingIndex;
|
|
4135
4299
|
|
|
4136
4300
|
var onRemoverow = function onRemoverow(index) {
|
|
4137
4301
|
confirmDialog({
|
|
@@ -4212,12 +4376,12 @@
|
|
|
4212
4376
|
});
|
|
4213
4377
|
};
|
|
4214
4378
|
|
|
4215
|
-
var
|
|
4216
|
-
shouldValidate =
|
|
4217
|
-
setShouldValidate =
|
|
4379
|
+
var _p = __read(React__default["default"].useState(false), 2),
|
|
4380
|
+
shouldValidate = _p[0],
|
|
4381
|
+
setShouldValidate = _p[1];
|
|
4218
4382
|
|
|
4219
4383
|
React__default["default"].useEffect(function () {
|
|
4220
|
-
setIsDisabled(isDefaultDisabled);
|
|
4384
|
+
setIsDisabled(!isEditor || isDefaultDisabled);
|
|
4221
4385
|
var defaultValues = prepareTafValues(tafFromBackend.taf, undefined, !isDefaultDisabled && !tafFromBackend.taf.changeGroups); // set initial form values
|
|
4222
4386
|
|
|
4223
4387
|
reset(defaultValues); // set validate flag to validate after the values have been set
|
|
@@ -4252,9 +4416,13 @@
|
|
|
4252
4416
|
|
|
4253
4417
|
reset(newValues); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
4254
4418
|
}, [tafFromBackend]);
|
|
4419
|
+
React__default["default"].useEffect(function () {
|
|
4420
|
+
// update disabled state when editor changed
|
|
4421
|
+
setIsDisabled(!isEditor || isDefaultDisabled); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
4422
|
+
}, [editor]);
|
|
4255
4423
|
React__default["default"].useEffect(function () {
|
|
4256
4424
|
if (shouldValidate && !isDisabled) {
|
|
4257
|
-
// trigger validation on all changegroup validity times after
|
|
4425
|
+
// trigger validation on all changegroup validity times after form is enabled since they could be outside the new validity period
|
|
4258
4426
|
var _a = tafFromBackend.taf.changeGroups,
|
|
4259
4427
|
changeGroups = _a === void 0 ? [] : _a;
|
|
4260
4428
|
var validFields = changeGroups.map(function (_field, index) {
|
|
@@ -4263,8 +4431,33 @@
|
|
|
4263
4431
|
trigger(validFields);
|
|
4264
4432
|
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
4265
4433
|
|
|
4266
|
-
}, [shouldValidate]);
|
|
4267
|
-
return /*#__PURE__*/React__default["default"].createElement("
|
|
4434
|
+
}, [shouldValidate, isDisabled]);
|
|
4435
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
4436
|
+
sx: {
|
|
4437
|
+
display: 'flex',
|
|
4438
|
+
flexDirection: 'row',
|
|
4439
|
+
alignItems: 'center',
|
|
4440
|
+
position: 'absolute',
|
|
4441
|
+
top: {
|
|
4442
|
+
xs: '20px',
|
|
4443
|
+
sm: '0px'
|
|
4444
|
+
},
|
|
4445
|
+
right: {
|
|
4446
|
+
xs: 'calc(50% - 70px)',
|
|
4447
|
+
sm: '8px'
|
|
4448
|
+
}
|
|
4449
|
+
}
|
|
4450
|
+
}, /*#__PURE__*/React__default["default"].createElement(SwitchButton, {
|
|
4451
|
+
checked: isEditor,
|
|
4452
|
+
onChange: onSwitchMode
|
|
4453
|
+
}), /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
4454
|
+
sx: {
|
|
4455
|
+
width: '16px',
|
|
4456
|
+
marginLeft: 1
|
|
4457
|
+
}
|
|
4458
|
+
}, editor && /*#__PURE__*/React__default["default"].createElement(TafAvatar, {
|
|
4459
|
+
editor: editor
|
|
4460
|
+
}))), /*#__PURE__*/React__default["default"].createElement("form", {
|
|
4268
4461
|
"data-testid": "taf-form",
|
|
4269
4462
|
onSubmit: handleSubmit(onSubmit),
|
|
4270
4463
|
onBlur: onFormBlur
|
|
@@ -4330,7 +4523,7 @@
|
|
|
4330
4523
|
index: index
|
|
4331
4524
|
})
|
|
4332
4525
|
});
|
|
4333
|
-
})), !isDisabled && /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4526
|
+
})), !isDisabled && isEditor && /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4334
4527
|
container: true,
|
|
4335
4528
|
justifyContent: "space-between",
|
|
4336
4529
|
alignItems: "center",
|
|
@@ -4344,7 +4537,7 @@
|
|
|
4344
4537
|
errors: errors,
|
|
4345
4538
|
isIssuesPaneOpen: isIssuesPaneOpen,
|
|
4346
4539
|
setIsIssuesPaneOpen: setIsIssuesPaneOpen
|
|
4347
|
-
}))), /*#__PURE__*/React__default["default"].createElement(TafFormButtons, {
|
|
4540
|
+
}))), isEditor && /*#__PURE__*/React__default["default"].createElement(TafFormButtons, {
|
|
4348
4541
|
isFormDisabled: isDisabled,
|
|
4349
4542
|
tafAction: tafAction,
|
|
4350
4543
|
canBe: tafFromBackend.canbe,
|
|
@@ -4355,8 +4548,12 @@
|
|
|
4355
4548
|
name: field,
|
|
4356
4549
|
key: field
|
|
4357
4550
|
});
|
|
4358
|
-
}), /*#__PURE__*/React__default["default"].createElement(DraftFieldHelper, null));
|
|
4359
|
-
}
|
|
4551
|
+
}), /*#__PURE__*/React__default["default"].createElement(DraftFieldHelper, null)));
|
|
4552
|
+
}, function (prevProps, nextProps) {
|
|
4553
|
+
// prevent re-render
|
|
4554
|
+
return !nextProps.isDisabled && prevProps.tafFromBackend !== nextProps.tafFromBackend && // if editor changed it should rerender
|
|
4555
|
+
prevProps.tafFromBackend.editor === nextProps.tafFromBackend.editor;
|
|
4556
|
+
});
|
|
4360
4557
|
|
|
4361
4558
|
/* *
|
|
4362
4559
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -4599,7 +4796,6 @@
|
|
|
4599
4796
|
title: "Expired"
|
|
4600
4797
|
}, /*#__PURE__*/React__namespace.createElement(theme.Clock, {
|
|
4601
4798
|
"data-testid": "status-expired",
|
|
4602
|
-
fontSize: "small",
|
|
4603
4799
|
sx: {
|
|
4604
4800
|
transform: 'scaleX(-1)',
|
|
4605
4801
|
color: 'geowebColors.buttons.tertiary.disabled.color'
|
|
@@ -4612,7 +4808,6 @@
|
|
|
4612
4808
|
title: "Cancelled"
|
|
4613
4809
|
}, /*#__PURE__*/React__namespace.createElement(theme.Cancel, {
|
|
4614
4810
|
"data-testid": "status-cancelled",
|
|
4615
|
-
fontSize: "small",
|
|
4616
4811
|
sx: {
|
|
4617
4812
|
color: 'geowebColors.captions.captionError.rgba'
|
|
4618
4813
|
}
|
|
@@ -4624,7 +4819,6 @@
|
|
|
4624
4819
|
title: "Draft"
|
|
4625
4820
|
}, /*#__PURE__*/React__namespace.createElement(theme.Edit, {
|
|
4626
4821
|
"data-testid": "status-draft",
|
|
4627
|
-
fontSize: "small",
|
|
4628
4822
|
sx: {
|
|
4629
4823
|
color: 'geowebColors.buttons.tertiary.default.color'
|
|
4630
4824
|
}
|
|
@@ -4635,7 +4829,6 @@
|
|
|
4635
4829
|
title: "Active"
|
|
4636
4830
|
}, /*#__PURE__*/React__namespace.createElement(theme.Success, {
|
|
4637
4831
|
"data-testid": "status-active",
|
|
4638
|
-
fontSize: "small",
|
|
4639
4832
|
sx: {
|
|
4640
4833
|
color: 'geowebColors.functional.success'
|
|
4641
4834
|
}
|
|
@@ -4643,7 +4836,6 @@
|
|
|
4643
4836
|
title: "Upcoming"
|
|
4644
4837
|
}, /*#__PURE__*/React__namespace.createElement(theme.Clock, {
|
|
4645
4838
|
"data-testid": "status-upcoming",
|
|
4646
|
-
fontSize: "small",
|
|
4647
4839
|
sx: {
|
|
4648
4840
|
color: 'geowebColors.functional.success'
|
|
4649
4841
|
}
|
|
@@ -4967,7 +5159,7 @@
|
|
|
4967
5159
|
},
|
|
4968
5160
|
position: 'absolute',
|
|
4969
5161
|
right: '8px',
|
|
4970
|
-
top: '
|
|
5162
|
+
top: '48px'
|
|
4971
5163
|
}
|
|
4972
5164
|
}, /*#__PURE__*/React__namespace.createElement(theme.ListItem, null)), /*#__PURE__*/React__namespace.createElement(material.Dialog, {
|
|
4973
5165
|
open: isOpen,
|
|
@@ -5080,7 +5272,8 @@
|
|
|
5080
5272
|
paddingTop: '32px'
|
|
5081
5273
|
}
|
|
5082
5274
|
}, tafList.map(function (_a, index) {
|
|
5083
|
-
var taf = _a.taf
|
|
5275
|
+
var taf = _a.taf,
|
|
5276
|
+
editor = _a.editor;
|
|
5084
5277
|
return /*#__PURE__*/React__namespace.createElement(material.MenuItem, {
|
|
5085
5278
|
key: taf.uuid,
|
|
5086
5279
|
selected: index === activeIndex,
|
|
@@ -5105,8 +5298,18 @@
|
|
|
5105
5298
|
onClick: function onClick() {
|
|
5106
5299
|
return onChangeTab(index);
|
|
5107
5300
|
}
|
|
5108
|
-
}, /*#__PURE__*/React__namespace.createElement(Box__default["default"], {
|
|
5301
|
+
}, editor && /*#__PURE__*/React__namespace.createElement(Box__default["default"], {
|
|
5302
|
+
sx: {
|
|
5303
|
+
position: 'absolute',
|
|
5304
|
+
top: '4px',
|
|
5305
|
+
left: '8px'
|
|
5306
|
+
}
|
|
5307
|
+
}, /*#__PURE__*/React__namespace.createElement(TafAvatar, {
|
|
5308
|
+
editor: editor,
|
|
5309
|
+
tooltipPlacement: "right"
|
|
5310
|
+
})), /*#__PURE__*/React__namespace.createElement(Box__default["default"], {
|
|
5109
5311
|
component: "span",
|
|
5312
|
+
"data-testid": "taf-location",
|
|
5110
5313
|
sx: {
|
|
5111
5314
|
fontSize: '12px',
|
|
5112
5315
|
fontWeight: '500',
|
|
@@ -5116,9 +5319,9 @@
|
|
|
5116
5319
|
component: "span",
|
|
5117
5320
|
sx: {
|
|
5118
5321
|
position: 'absolute',
|
|
5119
|
-
bottom: '1px',
|
|
5120
|
-
width: '
|
|
5121
|
-
height: '
|
|
5322
|
+
bottom: '-1px',
|
|
5323
|
+
width: '24px',
|
|
5324
|
+
height: '24px'
|
|
5122
5325
|
}
|
|
5123
5326
|
}, /*#__PURE__*/React__namespace.createElement(StatusIcon, {
|
|
5124
5327
|
timeSlot: timeSlot,
|
|
@@ -5165,13 +5368,15 @@
|
|
|
5165
5368
|
};
|
|
5166
5369
|
|
|
5167
5370
|
var parseErrorMessage = function parseErrorMessage(error, params) {
|
|
5371
|
+
var message = shared.getErrorMessage(error);
|
|
5168
5372
|
return params.changeStatusTo === 'CANCELLED' ? {
|
|
5169
5373
|
type: 'CANCELLED',
|
|
5170
|
-
title: 'Cancelling this TAF failed, please try again'
|
|
5374
|
+
title: 'Cancelling this TAF failed, please try again',
|
|
5375
|
+
message: message
|
|
5171
5376
|
} : {
|
|
5172
5377
|
type: 'SERVER',
|
|
5173
5378
|
title: 'An error has occurred while saving, please try again',
|
|
5174
|
-
message:
|
|
5379
|
+
message: message
|
|
5175
5380
|
};
|
|
5176
5381
|
};
|
|
5177
5382
|
|
|
@@ -5256,18 +5461,22 @@
|
|
|
5256
5461
|
postTaf = _c === void 0 ? function () {
|
|
5257
5462
|
return null;
|
|
5258
5463
|
} : _c,
|
|
5259
|
-
_d = _a.
|
|
5260
|
-
|
|
5261
|
-
_e = _a.setIsIssuesPaneOpen,
|
|
5262
|
-
setIsIssuesPaneOpen = _e === void 0 ? function () {
|
|
5464
|
+
_d = _a.patchTaf,
|
|
5465
|
+
patchTaf = _d === void 0 ? function () {
|
|
5263
5466
|
return null;
|
|
5264
|
-
} :
|
|
5265
|
-
|
|
5266
|
-
|
|
5267
|
-
|
|
5268
|
-
|
|
5467
|
+
} : _d,
|
|
5468
|
+
_e = _a.isIssuesPaneOpen,
|
|
5469
|
+
isIssuesPaneOpen = _e === void 0 ? false : _e,
|
|
5470
|
+
_f = _a.setIsIssuesPaneOpen,
|
|
5471
|
+
setIsIssuesPaneOpen = _f === void 0 ? function () {
|
|
5269
5472
|
return null;
|
|
5270
|
-
} :
|
|
5473
|
+
} : _f,
|
|
5474
|
+
_g = _a.isFormDisabled,
|
|
5475
|
+
isFormDisabled = _g === void 0 ? false : _g,
|
|
5476
|
+
_h = _a.setIsFormDisabled,
|
|
5477
|
+
setIsFormDisabled = _h === void 0 ? function () {
|
|
5478
|
+
return null;
|
|
5479
|
+
} : _h,
|
|
5271
5480
|
error = _a.error;
|
|
5272
5481
|
|
|
5273
5482
|
var onTafAction = function onTafAction(action, taf) {
|
|
@@ -5394,7 +5603,8 @@
|
|
|
5394
5603
|
isIssuesPaneOpen: isIssuesPaneOpen,
|
|
5395
5604
|
setIsIssuesPaneOpen: setIsIssuesPaneOpen,
|
|
5396
5605
|
isDisabled: isFormDisabled,
|
|
5397
|
-
setIsDisabled: setIsFormDisabled
|
|
5606
|
+
setIsDisabled: setIsFormDisabled,
|
|
5607
|
+
onSwitchEditor: patchTaf
|
|
5398
5608
|
})));
|
|
5399
5609
|
};
|
|
5400
5610
|
|
|
@@ -5406,6 +5616,57 @@
|
|
|
5406
5616
|
}, props));
|
|
5407
5617
|
};
|
|
5408
5618
|
|
|
5619
|
+
/* *
|
|
5620
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5621
|
+
* you may not use this file except in compliance with the License.
|
|
5622
|
+
* You may obtain a copy of the License at
|
|
5623
|
+
*
|
|
5624
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
5625
|
+
*
|
|
5626
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
5627
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
5628
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
5629
|
+
* See the License for the specific language governing permissions and
|
|
5630
|
+
* limitations under the License.
|
|
5631
|
+
*
|
|
5632
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
5633
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
5634
|
+
* */
|
|
5635
|
+
var getLastUpdateTitle = function getLastUpdateTitle(time) {
|
|
5636
|
+
return "Last updated " + time;
|
|
5637
|
+
};
|
|
5638
|
+
|
|
5639
|
+
var LastUpdateTime = function LastUpdateTime(_a) {
|
|
5640
|
+
var _b = _a.onUpdateTaf,
|
|
5641
|
+
onUpdateTaf = _b === void 0 ? function () {} : _b,
|
|
5642
|
+
lastUpdateTime = _a.lastUpdateTime;
|
|
5643
|
+
return /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
5644
|
+
sx: {
|
|
5645
|
+
display: 'flex',
|
|
5646
|
+
alignItems: 'center',
|
|
5647
|
+
height: '100%',
|
|
5648
|
+
justifyContent: 'flex-end'
|
|
5649
|
+
}
|
|
5650
|
+
}, /*#__PURE__*/React__default["default"].createElement(material.Typography, {
|
|
5651
|
+
sx: {
|
|
5652
|
+
color: 'geowebColors.captions.captionStatus.rgba',
|
|
5653
|
+
fontSize: '10px',
|
|
5654
|
+
lineHeight: '1.6',
|
|
5655
|
+
letterSpacing: '0.33px'
|
|
5656
|
+
},
|
|
5657
|
+
"data-testid": "lastupdated-time"
|
|
5658
|
+
}, getLastUpdateTitle(lastUpdateTime)), /*#__PURE__*/React__default["default"].createElement(material.Tooltip, {
|
|
5659
|
+
title: "Click to refresh"
|
|
5660
|
+
}, /*#__PURE__*/React__default["default"].createElement(shared.ToolButton, {
|
|
5661
|
+
"data-testid": "updateTafBtn",
|
|
5662
|
+
onClick: onUpdateTaf,
|
|
5663
|
+
sx: {
|
|
5664
|
+
marginRight: 1,
|
|
5665
|
+
marginLeft: 1
|
|
5666
|
+
}
|
|
5667
|
+
}, /*#__PURE__*/React__default["default"].createElement(theme.Cached, null))));
|
|
5668
|
+
};
|
|
5669
|
+
|
|
5409
5670
|
var CONFIRM_DIALOG_OPTIONS = {
|
|
5410
5671
|
title: 'Whoops',
|
|
5411
5672
|
description: "It's not possible to autosave this TAF due to the presence of issue(s). Are you sure you want to close this TAF? Any changes made will be lost.",
|
|
@@ -5415,8 +5676,9 @@
|
|
|
5415
5676
|
var TafLayout = function TafLayout(_a) {
|
|
5416
5677
|
var _b = _a.tafList,
|
|
5417
5678
|
tafList = _b === void 0 ? [] : _b,
|
|
5418
|
-
_c = _a.
|
|
5419
|
-
|
|
5679
|
+
_c = _a.onUpdateTaf,
|
|
5680
|
+
onUpdateTaf = _c === void 0 ? function () {} : _c,
|
|
5681
|
+
lastUpdateTime = _a.lastUpdateTime;
|
|
5420
5682
|
var api$1 = api.useApiContext().api;
|
|
5421
5683
|
var confirmDialog = shared.useConfirmationDialog();
|
|
5422
5684
|
|
|
@@ -5429,39 +5691,46 @@
|
|
|
5429
5691
|
var _e = usePostTafRequest(api$1.postTaf),
|
|
5430
5692
|
isLoading = _e.isLoading,
|
|
5431
5693
|
postTafRequest = _e.doRequest,
|
|
5432
|
-
|
|
5433
|
-
|
|
5694
|
+
postError = _e.error;
|
|
5695
|
+
|
|
5696
|
+
var _f = usePostTafRequest(api$1.patchTaf),
|
|
5697
|
+
patchTafRequest = _f.doRequest,
|
|
5698
|
+
patchError = _f.error;
|
|
5434
5699
|
|
|
5435
|
-
var
|
|
5436
|
-
onValidateForm =
|
|
5437
|
-
tafAction =
|
|
5438
|
-
isFormDirty =
|
|
5700
|
+
var _g = useTafModuleContext(),
|
|
5701
|
+
onValidateForm = _g.onValidateForm,
|
|
5702
|
+
tafAction = _g.tafAction,
|
|
5703
|
+
isFormDirty = _g.isFormDirty;
|
|
5439
5704
|
|
|
5440
|
-
var
|
|
5441
|
-
|
|
5442
|
-
upcoming =
|
|
5443
|
-
current =
|
|
5444
|
-
expired =
|
|
5445
|
-
updateSortedTafs =
|
|
5705
|
+
var _h = __read(React__default["default"].useState(sortTafTimeSlots(tafList)), 2),
|
|
5706
|
+
_j = _h[0],
|
|
5707
|
+
upcoming = _j.upcoming,
|
|
5708
|
+
current = _j.current,
|
|
5709
|
+
expired = _j.expired,
|
|
5710
|
+
updateSortedTafs = _h[1];
|
|
5446
5711
|
|
|
5447
|
-
var
|
|
5448
|
-
lastCurrentTaf =
|
|
5712
|
+
var _k = __read(current.slice(-1), 1),
|
|
5713
|
+
lastCurrentTaf = _k[0];
|
|
5449
5714
|
|
|
5450
|
-
var
|
|
5451
|
-
timeSlot =
|
|
5452
|
-
setTimeSlot =
|
|
5715
|
+
var _l = __read(React__default["default"].useState('UPCOMING'), 2),
|
|
5716
|
+
timeSlot = _l[0],
|
|
5717
|
+
setTimeSlot = _l[1];
|
|
5453
5718
|
|
|
5454
|
-
var
|
|
5455
|
-
locations =
|
|
5456
|
-
setLocations =
|
|
5719
|
+
var _m = __read(React__default["default"].useState(upcoming), 2),
|
|
5720
|
+
locations = _m[0],
|
|
5721
|
+
setLocations = _m[1];
|
|
5457
5722
|
|
|
5458
|
-
var
|
|
5459
|
-
activeTafIndex =
|
|
5460
|
-
setActiveTafIndex =
|
|
5723
|
+
var _o = __read(React__default["default"].useState(0), 2),
|
|
5724
|
+
activeTafIndex = _o[0],
|
|
5725
|
+
setActiveTafIndex = _o[1];
|
|
5461
5726
|
|
|
5462
|
-
var
|
|
5463
|
-
isFormDisabled =
|
|
5464
|
-
setIsFormDisabled =
|
|
5727
|
+
var _p = __read(React__default["default"].useState(false), 2),
|
|
5728
|
+
isFormDisabled = _p[0],
|
|
5729
|
+
setIsFormDisabled = _p[1];
|
|
5730
|
+
|
|
5731
|
+
var _q = __read(React__default["default"].useState(), 2),
|
|
5732
|
+
error = _q[0],
|
|
5733
|
+
setError = _q[1];
|
|
5465
5734
|
|
|
5466
5735
|
var postTaf = function postTaf(data) {
|
|
5467
5736
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -5476,7 +5745,42 @@
|
|
|
5476
5745
|
_a.sent(); // callback
|
|
5477
5746
|
|
|
5478
5747
|
|
|
5479
|
-
|
|
5748
|
+
onUpdateTaf();
|
|
5749
|
+
return [2
|
|
5750
|
+
/*return*/
|
|
5751
|
+
];
|
|
5752
|
+
}
|
|
5753
|
+
});
|
|
5754
|
+
});
|
|
5755
|
+
};
|
|
5756
|
+
|
|
5757
|
+
var patchTaf = function patchTaf(data) {
|
|
5758
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
5759
|
+
return __generator(this, function (_a) {
|
|
5760
|
+
switch (_a.label) {
|
|
5761
|
+
case 0:
|
|
5762
|
+
_a.trys.push([0, 2,, 3]);
|
|
5763
|
+
|
|
5764
|
+
return [4
|
|
5765
|
+
/*yield*/
|
|
5766
|
+
, patchTafRequest(data)];
|
|
5767
|
+
|
|
5768
|
+
case 1:
|
|
5769
|
+
_a.sent(); // callback
|
|
5770
|
+
|
|
5771
|
+
|
|
5772
|
+
onUpdateTaf();
|
|
5773
|
+
return [2
|
|
5774
|
+
/*return*/
|
|
5775
|
+
, true];
|
|
5776
|
+
|
|
5777
|
+
case 2:
|
|
5778
|
+
_a.sent();
|
|
5779
|
+
return [2
|
|
5780
|
+
/*return*/
|
|
5781
|
+
, false];
|
|
5782
|
+
|
|
5783
|
+
case 3:
|
|
5480
5784
|
return [2
|
|
5481
5785
|
/*return*/
|
|
5482
5786
|
];
|
|
@@ -5578,7 +5882,8 @@
|
|
|
5578
5882
|
setActiveTafIndex(newIndex); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
5579
5883
|
}, [tafList, setLocations]);
|
|
5580
5884
|
React__default["default"].useEffect(function () {
|
|
5581
|
-
|
|
5885
|
+
setError(postError);
|
|
5886
|
+
var cancelErrorTimeout = postError && postError.type === 'CANCELLED' ? setTimeout(function () {
|
|
5582
5887
|
setError(null);
|
|
5583
5888
|
}, 10000) : null;
|
|
5584
5889
|
return function () {
|
|
@@ -5586,7 +5891,10 @@
|
|
|
5586
5891
|
clearTimeout(cancelErrorTimeout);
|
|
5587
5892
|
}
|
|
5588
5893
|
};
|
|
5589
|
-
}, [
|
|
5894
|
+
}, [postError]);
|
|
5895
|
+
React__default["default"].useEffect(function () {
|
|
5896
|
+
setError(patchError);
|
|
5897
|
+
}, [patchError]);
|
|
5590
5898
|
|
|
5591
5899
|
if (!tafList) {
|
|
5592
5900
|
return null;
|
|
@@ -5632,6 +5940,13 @@
|
|
|
5632
5940
|
tafFromBackend: lastCurrentTaf,
|
|
5633
5941
|
timeSlot: timeSlot,
|
|
5634
5942
|
onChangeTimeSlot: onChangeTimeSlot
|
|
5943
|
+
})), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
5944
|
+
item: true,
|
|
5945
|
+
xs: 12,
|
|
5946
|
+
sm: 3
|
|
5947
|
+
}, lastUpdateTime && /*#__PURE__*/React__default["default"].createElement(LastUpdateTime, {
|
|
5948
|
+
lastUpdateTime: lastUpdateTime,
|
|
5949
|
+
onUpdateTaf: onUpdateTaf
|
|
5635
5950
|
}))), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
5636
5951
|
container: true,
|
|
5637
5952
|
flexGrow: 1,
|
|
@@ -5681,6 +5996,7 @@
|
|
|
5681
5996
|
isFormDisabled: isFormDisabled,
|
|
5682
5997
|
setIsFormDisabled: setIsFormDisabled,
|
|
5683
5998
|
postTaf: postTaf,
|
|
5999
|
+
patchTaf: patchTaf,
|
|
5684
6000
|
isLoading: isLoading,
|
|
5685
6001
|
error: error
|
|
5686
6002
|
});
|
|
@@ -5722,23 +6038,80 @@
|
|
|
5722
6038
|
}, children)));
|
|
5723
6039
|
};
|
|
5724
6040
|
|
|
6041
|
+
var getCurrentDate = function getCurrentDate() {
|
|
6042
|
+
return moment__default["default"].utc().format('HH:mm');
|
|
6043
|
+
};
|
|
6044
|
+
|
|
5725
6045
|
var TafModule = function TafModule() {
|
|
5726
6046
|
var api$1 = api.useApiContext().api;
|
|
5727
6047
|
|
|
5728
|
-
var _a =
|
|
5729
|
-
|
|
5730
|
-
|
|
5731
|
-
tafList = _a.result,
|
|
5732
|
-
fetchNewTafList = _a.fetchApiData;
|
|
6048
|
+
var _a = __read(React__namespace.useState([]), 2),
|
|
6049
|
+
tafList = _a[0],
|
|
6050
|
+
setTafList = _a[1];
|
|
5733
6051
|
|
|
5734
|
-
|
|
5735
|
-
|
|
5736
|
-
|
|
6052
|
+
var _b = __read(React__namespace.useState(true), 2),
|
|
6053
|
+
isLoading = _b[0],
|
|
6054
|
+
setIsLoading = _b[1];
|
|
6055
|
+
|
|
6056
|
+
var _c = __read(React__namespace.useState(null), 2),
|
|
6057
|
+
getTafListError = _c[0],
|
|
6058
|
+
setError = _c[1];
|
|
6059
|
+
|
|
6060
|
+
var _d = __read(React__namespace.useState(), 2),
|
|
6061
|
+
lastUpdateTime = _d[0],
|
|
6062
|
+
setLastUpdateTime = _d[1];
|
|
6063
|
+
|
|
6064
|
+
var fetchNewTafList = function fetchNewTafList() {
|
|
6065
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
6066
|
+
var result, error_1;
|
|
6067
|
+
return __generator(this, function (_a) {
|
|
6068
|
+
switch (_a.label) {
|
|
6069
|
+
case 0:
|
|
6070
|
+
setIsLoading(true);
|
|
6071
|
+
setError(null);
|
|
6072
|
+
_a.label = 1;
|
|
6073
|
+
|
|
6074
|
+
case 1:
|
|
6075
|
+
_a.trys.push([1, 3,, 4]);
|
|
6076
|
+
|
|
6077
|
+
return [4
|
|
6078
|
+
/*yield*/
|
|
6079
|
+
, api$1.getTafList()];
|
|
6080
|
+
|
|
6081
|
+
case 2:
|
|
6082
|
+
result = _a.sent();
|
|
6083
|
+
setTafList(result.data);
|
|
6084
|
+
setIsLoading(false);
|
|
6085
|
+
setLastUpdateTime(getCurrentDate());
|
|
6086
|
+
return [3
|
|
6087
|
+
/*break*/
|
|
6088
|
+
, 4];
|
|
5737
6089
|
|
|
5738
|
-
|
|
5739
|
-
|
|
6090
|
+
case 3:
|
|
6091
|
+
error_1 = _a.sent();
|
|
6092
|
+
setError(error_1);
|
|
6093
|
+
setIsLoading(false);
|
|
6094
|
+
return [3
|
|
6095
|
+
/*break*/
|
|
6096
|
+
, 4];
|
|
6097
|
+
|
|
6098
|
+
case 4:
|
|
6099
|
+
return [2
|
|
6100
|
+
/*return*/
|
|
6101
|
+
];
|
|
6102
|
+
}
|
|
6103
|
+
});
|
|
6104
|
+
});
|
|
5740
6105
|
};
|
|
5741
6106
|
|
|
6107
|
+
var onUpdateTaf = function onUpdateTaf() {
|
|
6108
|
+
fetchNewTafList();
|
|
6109
|
+
};
|
|
6110
|
+
|
|
6111
|
+
React__namespace.useEffect(function () {
|
|
6112
|
+
fetchNewTafList(); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
6113
|
+
}, []);
|
|
6114
|
+
shared.usePoller([tafList, getTafListError], fetchNewTafList);
|
|
5742
6115
|
var hasTafListError = getTafListError !== null;
|
|
5743
6116
|
return /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
5744
6117
|
component: "div",
|
|
@@ -5763,7 +6136,8 @@
|
|
|
5763
6136
|
}
|
|
5764
6137
|
}), /*#__PURE__*/React__namespace.createElement(TafLayout, {
|
|
5765
6138
|
tafList: tafList,
|
|
5766
|
-
|
|
6139
|
+
onUpdateTaf: onUpdateTaf,
|
|
6140
|
+
lastUpdateTime: lastUpdateTime
|
|
5767
6141
|
}));
|
|
5768
6142
|
};
|
|
5769
6143
|
|
|
@@ -5785,10 +6159,32 @@
|
|
|
5785
6159
|
return axiosInstance.post.apply(axiosInstance, __spreadArray(['/taf2tac'], __read(__spreadArray([__assign({}, tafData)], __read(signal ? [{
|
|
5786
6160
|
signal: signal
|
|
5787
6161
|
}] : [])))));
|
|
6162
|
+
},
|
|
6163
|
+
patchTaf: function patchTaf(formData) {
|
|
6164
|
+
return axiosInstance.patch('/taf', __assign({}, formData));
|
|
5788
6165
|
}
|
|
5789
6166
|
};
|
|
5790
6167
|
};
|
|
5791
6168
|
|
|
6169
|
+
/* *
|
|
6170
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6171
|
+
* you may not use this file except in compliance with the License.
|
|
6172
|
+
* You may obtain a copy of the License at
|
|
6173
|
+
*
|
|
6174
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
6175
|
+
*
|
|
6176
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
6177
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
6178
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
6179
|
+
* See the License for the specific language governing permissions and
|
|
6180
|
+
* limitations under the License.
|
|
6181
|
+
*
|
|
6182
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
6183
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
6184
|
+
* */
|
|
6185
|
+
|
|
6186
|
+
var MOCK_USERNAME = 'user.name';
|
|
6187
|
+
|
|
5792
6188
|
var currentDate = moment__default["default"].utc().format('YYYY-MM-DD');
|
|
5793
6189
|
var tomorrowDate = moment__default["default"].utc().add(1, 'day').format('YYYY-MM-DD');
|
|
5794
6190
|
var airportPeriod = 6;
|
|
@@ -5824,6 +6220,7 @@
|
|
|
5824
6220
|
var fakeTafList = [{
|
|
5825
6221
|
creationDate: upcomingValidDateStart,
|
|
5826
6222
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6223
|
+
editor: MOCK_USERNAME,
|
|
5827
6224
|
taf: {
|
|
5828
6225
|
uuid: '5f9583fjdf0f337925',
|
|
5829
6226
|
baseTime: upcomingValidDateStart,
|
|
@@ -5843,6 +6240,7 @@
|
|
|
5843
6240
|
}, {
|
|
5844
6241
|
creationDate: upcomingValidDateStart,
|
|
5845
6242
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6243
|
+
editor: null,
|
|
5846
6244
|
taf: {
|
|
5847
6245
|
uuid: '5f9583fjd111137925',
|
|
5848
6246
|
baseTime: upcomingValidDateStart,
|
|
@@ -5868,6 +6266,7 @@
|
|
|
5868
6266
|
}, {
|
|
5869
6267
|
creationDate: upcomingValidDateStart,
|
|
5870
6268
|
canbe: ['CANCELLED', 'AMENDED', 'DISCARDED'],
|
|
6269
|
+
editor: null,
|
|
5871
6270
|
taf: {
|
|
5872
6271
|
uuid: '754905485',
|
|
5873
6272
|
baseTime: upcomingValidDateStart,
|
|
@@ -5925,6 +6324,7 @@
|
|
|
5925
6324
|
}, {
|
|
5926
6325
|
creationDate: upcomingValidDateStart,
|
|
5927
6326
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6327
|
+
editor: MOCK_USERNAME,
|
|
5928
6328
|
taf: {
|
|
5929
6329
|
uuid: '43545345345',
|
|
5930
6330
|
issueDate: upcomingValidDateStart,
|
|
@@ -5995,6 +6395,7 @@
|
|
|
5995
6395
|
}, {
|
|
5996
6396
|
creationDate: upcomingValidDateStart,
|
|
5997
6397
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6398
|
+
editor: null,
|
|
5998
6399
|
taf: {
|
|
5999
6400
|
uuid: '5f9583fjdf45ff4330f337925',
|
|
6000
6401
|
issueDate: upcomingValidDateStart,
|
|
@@ -6050,6 +6451,7 @@
|
|
|
6050
6451
|
}, {
|
|
6051
6452
|
creationDate: upcomingValidDateStart,
|
|
6052
6453
|
canbe: ['AMENDED'],
|
|
6454
|
+
editor: null,
|
|
6053
6455
|
taf: {
|
|
6054
6456
|
uuid: '5464565464',
|
|
6055
6457
|
previousId: '5445fghrfg3546456',
|
|
@@ -6091,6 +6493,7 @@
|
|
|
6091
6493
|
}, {
|
|
6092
6494
|
creationDate: upcomingValidDateStart,
|
|
6093
6495
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6496
|
+
editor: 'max.jansen',
|
|
6094
6497
|
taf: {
|
|
6095
6498
|
uuid: 'gh56734fghfgh',
|
|
6096
6499
|
previousId: '8574jnf93475',
|
|
@@ -6132,6 +6535,7 @@
|
|
|
6132
6535
|
}, {
|
|
6133
6536
|
creationDate: currentValidDateStart,
|
|
6134
6537
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6538
|
+
editor: null,
|
|
6135
6539
|
taf: {
|
|
6136
6540
|
uuid: 'giskdj09845872039',
|
|
6137
6541
|
issueDate: currentValidDateStart,
|
|
@@ -6171,6 +6575,7 @@
|
|
|
6171
6575
|
}, {
|
|
6172
6576
|
creationDate: currentValidDateStart,
|
|
6173
6577
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6578
|
+
editor: null,
|
|
6174
6579
|
taf: {
|
|
6175
6580
|
uuid: 'ghskdj09845872039',
|
|
6176
6581
|
baseTime: currentValidDateStart,
|
|
@@ -6190,6 +6595,7 @@
|
|
|
6190
6595
|
}, {
|
|
6191
6596
|
creationDate: currentValidDateStart,
|
|
6192
6597
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6598
|
+
editor: null,
|
|
6193
6599
|
taf: {
|
|
6194
6600
|
uuid: 'ghskdj09845872040',
|
|
6195
6601
|
issueDate: currentValidDateStart,
|
|
@@ -6210,6 +6616,7 @@
|
|
|
6210
6616
|
}, {
|
|
6211
6617
|
creationDate: currentDate + "T06:00:00Z",
|
|
6212
6618
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6619
|
+
editor: null,
|
|
6213
6620
|
taf: {
|
|
6214
6621
|
uuid: 'ghskdj09845872041',
|
|
6215
6622
|
issueDate: currentValidDateStart,
|
|
@@ -6230,6 +6637,7 @@
|
|
|
6230
6637
|
}, {
|
|
6231
6638
|
creationDate: currentDate + "T06:00:00Z",
|
|
6232
6639
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6640
|
+
editor: null,
|
|
6233
6641
|
taf: {
|
|
6234
6642
|
uuid: 'ghskdj09845872042',
|
|
6235
6643
|
issueDate: currentValidDateStart,
|
|
@@ -6250,6 +6658,7 @@
|
|
|
6250
6658
|
}, {
|
|
6251
6659
|
creationDate: currentDate + "T06:00:00Z",
|
|
6252
6660
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6661
|
+
editor: null,
|
|
6253
6662
|
taf: {
|
|
6254
6663
|
uuid: 'ghskdj09845872043',
|
|
6255
6664
|
issueDate: currentValidDateStart,
|
|
@@ -6270,6 +6679,7 @@
|
|
|
6270
6679
|
}, {
|
|
6271
6680
|
creationDate: expiredValidDateStart,
|
|
6272
6681
|
canbe: [],
|
|
6682
|
+
editor: null,
|
|
6273
6683
|
taf: {
|
|
6274
6684
|
uuid: 'sdkjhsdf90845890',
|
|
6275
6685
|
issueDate: expiredValidDateStart,
|
|
@@ -6334,6 +6744,7 @@
|
|
|
6334
6744
|
var fakeNewTaf = {
|
|
6335
6745
|
creationDate: currentDate + "T12:00:00Z",
|
|
6336
6746
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6747
|
+
editor: null,
|
|
6337
6748
|
taf: {
|
|
6338
6749
|
type: 'NORMAL',
|
|
6339
6750
|
messageType: 'ORG',
|
|
@@ -6354,6 +6765,7 @@
|
|
|
6354
6765
|
({
|
|
6355
6766
|
creationDate: "2022-01-06T12:00:00Z",
|
|
6356
6767
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6768
|
+
editor: MOCK_USERNAME,
|
|
6357
6769
|
taf: __assign(__assign({}, fakeNewTaf.taf), {
|
|
6358
6770
|
baseTime: "2022-01-06T12:00:00Z",
|
|
6359
6771
|
validDateStart: "2022-01-06T12:00:00Z",
|
|
@@ -6369,6 +6781,7 @@
|
|
|
6369
6781
|
var fakePublishedTaf = {
|
|
6370
6782
|
creationDate: currentDate + "T12:00:00Z",
|
|
6371
6783
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6784
|
+
editor: null,
|
|
6372
6785
|
taf: {
|
|
6373
6786
|
uuid: 'slsdkjg-023895',
|
|
6374
6787
|
issueDate: currentDate + "T12:00:00Z",
|
|
@@ -6444,7 +6857,9 @@
|
|
|
6444
6857
|
({
|
|
6445
6858
|
creationDate: "2022-01-06T12:00:00Z",
|
|
6446
6859
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6860
|
+
editor: MOCK_USERNAME,
|
|
6447
6861
|
taf: __assign(__assign({}, fakePublishedTaf.taf), {
|
|
6862
|
+
uuid: 'sowi3u4o-lsdjflsk',
|
|
6448
6863
|
location: 'EHGG',
|
|
6449
6864
|
baseTime: "2022-01-06T12:00:00Z",
|
|
6450
6865
|
issueDate: "2022-01-06T12:00:00Z",
|
|
@@ -6509,6 +6924,7 @@
|
|
|
6509
6924
|
var fakeDraftTaf = {
|
|
6510
6925
|
creationDate: currentDate + "T18:00:00Z",
|
|
6511
6926
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6927
|
+
editor: null,
|
|
6512
6928
|
taf: {
|
|
6513
6929
|
uuid: '5f9583fjdf0f337925',
|
|
6514
6930
|
baseTime: currentDate + "T18:00:00Z",
|
|
@@ -6547,6 +6963,7 @@
|
|
|
6547
6963
|
({
|
|
6548
6964
|
creationDate: "2022-01-06T18:00:00Z",
|
|
6549
6965
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6966
|
+
editor: MOCK_USERNAME,
|
|
6550
6967
|
taf: __assign(__assign({}, fakeDraftTaf.taf), {
|
|
6551
6968
|
baseTime: "2022-01-06T18:00:00Z",
|
|
6552
6969
|
validDateStart: "2022-01-06T18:00:00Z",
|
|
@@ -6562,6 +6979,7 @@
|
|
|
6562
6979
|
var fakeDraftAmendmentTaf = {
|
|
6563
6980
|
creationDate: currentDate + "T14:00:00Z",
|
|
6564
6981
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6982
|
+
editor: null,
|
|
6565
6983
|
taf: {
|
|
6566
6984
|
uuid: '954905487',
|
|
6567
6985
|
previousId: '5f9583fjdf45ff4330f337925',
|
|
@@ -6622,6 +7040,7 @@
|
|
|
6622
7040
|
({
|
|
6623
7041
|
creationDate: "2022-01-06T14:00:00Z",
|
|
6624
7042
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
7043
|
+
editor: null,
|
|
6625
7044
|
taf: __assign(__assign({}, fakeDraftAmendmentTaf.taf), {
|
|
6626
7045
|
location: 'EHRD',
|
|
6627
7046
|
issueDate: "2022-01-06T14:00:00Z",
|
|
@@ -6642,6 +7061,7 @@
|
|
|
6642
7061
|
var fakeAmendmentTaf = {
|
|
6643
7062
|
creationDate: currentDate + "T14:00:00Z",
|
|
6644
7063
|
canbe: ['CANCELLED', 'CORRECTED', 'AMENDED'],
|
|
7064
|
+
editor: null,
|
|
6645
7065
|
taf: {
|
|
6646
7066
|
uuid: '754905486',
|
|
6647
7067
|
previousId: '5f9583fjdf45ff4330f337925',
|
|
@@ -6685,6 +7105,7 @@
|
|
|
6685
7105
|
({
|
|
6686
7106
|
creationDate: "2022-01-06T14:00:00Z",
|
|
6687
7107
|
canbe: ['CANCELLED', 'CORRECTED', 'AMENDED'],
|
|
7108
|
+
editor: MOCK_USERNAME,
|
|
6688
7109
|
taf: __assign(__assign({}, fakeAmendmentTaf.taf), {
|
|
6689
7110
|
uuid: '7549058980',
|
|
6690
7111
|
issueDate: "2022-01-06T14:00:00Z",
|
|
@@ -6722,6 +7143,14 @@
|
|
|
6722
7143
|
});
|
|
6723
7144
|
};
|
|
6724
7145
|
|
|
7146
|
+
var fakeUpdatedTafList = __spreadArray([], __read(fakeTafList));
|
|
7147
|
+
|
|
7148
|
+
var setFakeUpdatedList = function setFakeUpdatedList(newList) {
|
|
7149
|
+
fakeUpdatedTafList = newList;
|
|
7150
|
+
};
|
|
7151
|
+
var getFakeUpdatedList = function getFakeUpdatedList() {
|
|
7152
|
+
return fakeUpdatedTafList;
|
|
7153
|
+
};
|
|
6725
7154
|
var fakeAxiosInstance = {
|
|
6726
7155
|
// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/explicit-module-boundary-types
|
|
6727
7156
|
get: function get(_url, _params) {
|
|
@@ -6730,6 +7159,10 @@
|
|
|
6730
7159
|
// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/explicit-module-boundary-types
|
|
6731
7160
|
post: function post(_url, _params, _signal) {
|
|
6732
7161
|
return fakePromise(false, _signal);
|
|
7162
|
+
},
|
|
7163
|
+
// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/explicit-module-boundary-types
|
|
7164
|
+
patch: function patch(_url, _params, _signal) {
|
|
7165
|
+
return fakePromise(false, _signal);
|
|
6733
7166
|
}
|
|
6734
7167
|
};
|
|
6735
7168
|
var createApi = function createApi() {
|
|
@@ -6739,7 +7172,7 @@
|
|
|
6739
7172
|
console.log('Retrieving new TAF list');
|
|
6740
7173
|
return fakeAxiosInstance.get('/taflist').then(function () {
|
|
6741
7174
|
return {
|
|
6742
|
-
data:
|
|
7175
|
+
data: getFakeUpdatedList()
|
|
6743
7176
|
};
|
|
6744
7177
|
});
|
|
6745
7178
|
},
|
|
@@ -6758,6 +7191,21 @@
|
|
|
6758
7191
|
data: fakeTafTac
|
|
6759
7192
|
};
|
|
6760
7193
|
});
|
|
7194
|
+
},
|
|
7195
|
+
patchTaf: function patchTaf(_patchTaf) {
|
|
7196
|
+
var updatedList = getFakeUpdatedList().map(function (tafFromBackend) {
|
|
7197
|
+
if (tafFromBackend.taf.uuid === _patchTaf.taf.uuid) {
|
|
7198
|
+
return __assign(__assign({}, tafFromBackend), {
|
|
7199
|
+
editor: _patchTaf.editor
|
|
7200
|
+
});
|
|
7201
|
+
}
|
|
7202
|
+
|
|
7203
|
+
return tafFromBackend;
|
|
7204
|
+
});
|
|
7205
|
+
setFakeUpdatedList(updatedList); // eslint-disable-next-line no-console
|
|
7206
|
+
|
|
7207
|
+
console.log("The new editor of the taf will be " + (_patchTaf.editor || 'empty'));
|
|
7208
|
+
return fakeAxiosInstance.patch('/taf', _patchTaf);
|
|
6761
7209
|
}
|
|
6762
7210
|
};
|
|
6763
7211
|
};
|