@opengeoweb/taf 2.14.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 +528 -81
- package/index.umd.js +563 -110
- 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");
|
|
@@ -4962,7 +5159,7 @@
|
|
|
4962
5159
|
},
|
|
4963
5160
|
position: 'absolute',
|
|
4964
5161
|
right: '8px',
|
|
4965
|
-
top: '
|
|
5162
|
+
top: '48px'
|
|
4966
5163
|
}
|
|
4967
5164
|
}, /*#__PURE__*/React__namespace.createElement(theme.ListItem, null)), /*#__PURE__*/React__namespace.createElement(material.Dialog, {
|
|
4968
5165
|
open: isOpen,
|
|
@@ -5075,7 +5272,8 @@
|
|
|
5075
5272
|
paddingTop: '32px'
|
|
5076
5273
|
}
|
|
5077
5274
|
}, tafList.map(function (_a, index) {
|
|
5078
|
-
var taf = _a.taf
|
|
5275
|
+
var taf = _a.taf,
|
|
5276
|
+
editor = _a.editor;
|
|
5079
5277
|
return /*#__PURE__*/React__namespace.createElement(material.MenuItem, {
|
|
5080
5278
|
key: taf.uuid,
|
|
5081
5279
|
selected: index === activeIndex,
|
|
@@ -5100,8 +5298,18 @@
|
|
|
5100
5298
|
onClick: function onClick() {
|
|
5101
5299
|
return onChangeTab(index);
|
|
5102
5300
|
}
|
|
5103
|
-
}, /*#__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"], {
|
|
5104
5311
|
component: "span",
|
|
5312
|
+
"data-testid": "taf-location",
|
|
5105
5313
|
sx: {
|
|
5106
5314
|
fontSize: '12px',
|
|
5107
5315
|
fontWeight: '500',
|
|
@@ -5160,13 +5368,15 @@
|
|
|
5160
5368
|
};
|
|
5161
5369
|
|
|
5162
5370
|
var parseErrorMessage = function parseErrorMessage(error, params) {
|
|
5371
|
+
var message = shared.getErrorMessage(error);
|
|
5163
5372
|
return params.changeStatusTo === 'CANCELLED' ? {
|
|
5164
5373
|
type: 'CANCELLED',
|
|
5165
|
-
title: 'Cancelling this TAF failed, please try again'
|
|
5374
|
+
title: 'Cancelling this TAF failed, please try again',
|
|
5375
|
+
message: message
|
|
5166
5376
|
} : {
|
|
5167
5377
|
type: 'SERVER',
|
|
5168
5378
|
title: 'An error has occurred while saving, please try again',
|
|
5169
|
-
message:
|
|
5379
|
+
message: message
|
|
5170
5380
|
};
|
|
5171
5381
|
};
|
|
5172
5382
|
|
|
@@ -5251,18 +5461,22 @@
|
|
|
5251
5461
|
postTaf = _c === void 0 ? function () {
|
|
5252
5462
|
return null;
|
|
5253
5463
|
} : _c,
|
|
5254
|
-
_d = _a.
|
|
5255
|
-
|
|
5256
|
-
_e = _a.setIsIssuesPaneOpen,
|
|
5257
|
-
setIsIssuesPaneOpen = _e === void 0 ? function () {
|
|
5464
|
+
_d = _a.patchTaf,
|
|
5465
|
+
patchTaf = _d === void 0 ? function () {
|
|
5258
5466
|
return null;
|
|
5259
|
-
} :
|
|
5260
|
-
|
|
5261
|
-
|
|
5262
|
-
|
|
5263
|
-
|
|
5467
|
+
} : _d,
|
|
5468
|
+
_e = _a.isIssuesPaneOpen,
|
|
5469
|
+
isIssuesPaneOpen = _e === void 0 ? false : _e,
|
|
5470
|
+
_f = _a.setIsIssuesPaneOpen,
|
|
5471
|
+
setIsIssuesPaneOpen = _f === void 0 ? function () {
|
|
5264
5472
|
return null;
|
|
5265
|
-
} :
|
|
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,
|
|
5266
5480
|
error = _a.error;
|
|
5267
5481
|
|
|
5268
5482
|
var onTafAction = function onTafAction(action, taf) {
|
|
@@ -5389,7 +5603,8 @@
|
|
|
5389
5603
|
isIssuesPaneOpen: isIssuesPaneOpen,
|
|
5390
5604
|
setIsIssuesPaneOpen: setIsIssuesPaneOpen,
|
|
5391
5605
|
isDisabled: isFormDisabled,
|
|
5392
|
-
setIsDisabled: setIsFormDisabled
|
|
5606
|
+
setIsDisabled: setIsFormDisabled,
|
|
5607
|
+
onSwitchEditor: patchTaf
|
|
5393
5608
|
})));
|
|
5394
5609
|
};
|
|
5395
5610
|
|
|
@@ -5401,6 +5616,57 @@
|
|
|
5401
5616
|
}, props));
|
|
5402
5617
|
};
|
|
5403
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
|
+
|
|
5404
5670
|
var CONFIRM_DIALOG_OPTIONS = {
|
|
5405
5671
|
title: 'Whoops',
|
|
5406
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.",
|
|
@@ -5410,8 +5676,9 @@
|
|
|
5410
5676
|
var TafLayout = function TafLayout(_a) {
|
|
5411
5677
|
var _b = _a.tafList,
|
|
5412
5678
|
tafList = _b === void 0 ? [] : _b,
|
|
5413
|
-
_c = _a.
|
|
5414
|
-
|
|
5679
|
+
_c = _a.onUpdateTaf,
|
|
5680
|
+
onUpdateTaf = _c === void 0 ? function () {} : _c,
|
|
5681
|
+
lastUpdateTime = _a.lastUpdateTime;
|
|
5415
5682
|
var api$1 = api.useApiContext().api;
|
|
5416
5683
|
var confirmDialog = shared.useConfirmationDialog();
|
|
5417
5684
|
|
|
@@ -5424,39 +5691,46 @@
|
|
|
5424
5691
|
var _e = usePostTafRequest(api$1.postTaf),
|
|
5425
5692
|
isLoading = _e.isLoading,
|
|
5426
5693
|
postTafRequest = _e.doRequest,
|
|
5427
|
-
|
|
5428
|
-
|
|
5694
|
+
postError = _e.error;
|
|
5695
|
+
|
|
5696
|
+
var _f = usePostTafRequest(api$1.patchTaf),
|
|
5697
|
+
patchTafRequest = _f.doRequest,
|
|
5698
|
+
patchError = _f.error;
|
|
5429
5699
|
|
|
5430
|
-
var
|
|
5431
|
-
onValidateForm =
|
|
5432
|
-
tafAction =
|
|
5433
|
-
isFormDirty =
|
|
5700
|
+
var _g = useTafModuleContext(),
|
|
5701
|
+
onValidateForm = _g.onValidateForm,
|
|
5702
|
+
tafAction = _g.tafAction,
|
|
5703
|
+
isFormDirty = _g.isFormDirty;
|
|
5434
5704
|
|
|
5435
|
-
var
|
|
5436
|
-
|
|
5437
|
-
upcoming =
|
|
5438
|
-
current =
|
|
5439
|
-
expired =
|
|
5440
|
-
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];
|
|
5441
5711
|
|
|
5442
|
-
var
|
|
5443
|
-
lastCurrentTaf =
|
|
5712
|
+
var _k = __read(current.slice(-1), 1),
|
|
5713
|
+
lastCurrentTaf = _k[0];
|
|
5444
5714
|
|
|
5445
|
-
var
|
|
5446
|
-
timeSlot =
|
|
5447
|
-
setTimeSlot =
|
|
5715
|
+
var _l = __read(React__default["default"].useState('UPCOMING'), 2),
|
|
5716
|
+
timeSlot = _l[0],
|
|
5717
|
+
setTimeSlot = _l[1];
|
|
5448
5718
|
|
|
5449
|
-
var
|
|
5450
|
-
locations =
|
|
5451
|
-
setLocations =
|
|
5719
|
+
var _m = __read(React__default["default"].useState(upcoming), 2),
|
|
5720
|
+
locations = _m[0],
|
|
5721
|
+
setLocations = _m[1];
|
|
5452
5722
|
|
|
5453
|
-
var
|
|
5454
|
-
activeTafIndex =
|
|
5455
|
-
setActiveTafIndex =
|
|
5723
|
+
var _o = __read(React__default["default"].useState(0), 2),
|
|
5724
|
+
activeTafIndex = _o[0],
|
|
5725
|
+
setActiveTafIndex = _o[1];
|
|
5456
5726
|
|
|
5457
|
-
var
|
|
5458
|
-
isFormDisabled =
|
|
5459
|
-
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];
|
|
5460
5734
|
|
|
5461
5735
|
var postTaf = function postTaf(data) {
|
|
5462
5736
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -5471,7 +5745,42 @@
|
|
|
5471
5745
|
_a.sent(); // callback
|
|
5472
5746
|
|
|
5473
5747
|
|
|
5474
|
-
|
|
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:
|
|
5475
5784
|
return [2
|
|
5476
5785
|
/*return*/
|
|
5477
5786
|
];
|
|
@@ -5573,7 +5882,8 @@
|
|
|
5573
5882
|
setActiveTafIndex(newIndex); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
5574
5883
|
}, [tafList, setLocations]);
|
|
5575
5884
|
React__default["default"].useEffect(function () {
|
|
5576
|
-
|
|
5885
|
+
setError(postError);
|
|
5886
|
+
var cancelErrorTimeout = postError && postError.type === 'CANCELLED' ? setTimeout(function () {
|
|
5577
5887
|
setError(null);
|
|
5578
5888
|
}, 10000) : null;
|
|
5579
5889
|
return function () {
|
|
@@ -5581,7 +5891,10 @@
|
|
|
5581
5891
|
clearTimeout(cancelErrorTimeout);
|
|
5582
5892
|
}
|
|
5583
5893
|
};
|
|
5584
|
-
}, [
|
|
5894
|
+
}, [postError]);
|
|
5895
|
+
React__default["default"].useEffect(function () {
|
|
5896
|
+
setError(patchError);
|
|
5897
|
+
}, [patchError]);
|
|
5585
5898
|
|
|
5586
5899
|
if (!tafList) {
|
|
5587
5900
|
return null;
|
|
@@ -5627,6 +5940,13 @@
|
|
|
5627
5940
|
tafFromBackend: lastCurrentTaf,
|
|
5628
5941
|
timeSlot: timeSlot,
|
|
5629
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
|
|
5630
5950
|
}))), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
5631
5951
|
container: true,
|
|
5632
5952
|
flexGrow: 1,
|
|
@@ -5676,6 +5996,7 @@
|
|
|
5676
5996
|
isFormDisabled: isFormDisabled,
|
|
5677
5997
|
setIsFormDisabled: setIsFormDisabled,
|
|
5678
5998
|
postTaf: postTaf,
|
|
5999
|
+
patchTaf: patchTaf,
|
|
5679
6000
|
isLoading: isLoading,
|
|
5680
6001
|
error: error
|
|
5681
6002
|
});
|
|
@@ -5717,23 +6038,80 @@
|
|
|
5717
6038
|
}, children)));
|
|
5718
6039
|
};
|
|
5719
6040
|
|
|
6041
|
+
var getCurrentDate = function getCurrentDate() {
|
|
6042
|
+
return moment__default["default"].utc().format('HH:mm');
|
|
6043
|
+
};
|
|
6044
|
+
|
|
5720
6045
|
var TafModule = function TafModule() {
|
|
5721
6046
|
var api$1 = api.useApiContext().api;
|
|
5722
6047
|
|
|
5723
|
-
var _a =
|
|
5724
|
-
|
|
5725
|
-
|
|
5726
|
-
tafList = _a.result,
|
|
5727
|
-
fetchNewTafList = _a.fetchApiData;
|
|
6048
|
+
var _a = __read(React__namespace.useState([]), 2),
|
|
6049
|
+
tafList = _a[0],
|
|
6050
|
+
setTafList = _a[1];
|
|
5728
6051
|
|
|
5729
|
-
|
|
5730
|
-
|
|
5731
|
-
|
|
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];
|
|
5732
6089
|
|
|
5733
|
-
|
|
5734
|
-
|
|
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
|
+
});
|
|
5735
6105
|
};
|
|
5736
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);
|
|
5737
6115
|
var hasTafListError = getTafListError !== null;
|
|
5738
6116
|
return /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
5739
6117
|
component: "div",
|
|
@@ -5758,7 +6136,8 @@
|
|
|
5758
6136
|
}
|
|
5759
6137
|
}), /*#__PURE__*/React__namespace.createElement(TafLayout, {
|
|
5760
6138
|
tafList: tafList,
|
|
5761
|
-
|
|
6139
|
+
onUpdateTaf: onUpdateTaf,
|
|
6140
|
+
lastUpdateTime: lastUpdateTime
|
|
5762
6141
|
}));
|
|
5763
6142
|
};
|
|
5764
6143
|
|
|
@@ -5780,10 +6159,32 @@
|
|
|
5780
6159
|
return axiosInstance.post.apply(axiosInstance, __spreadArray(['/taf2tac'], __read(__spreadArray([__assign({}, tafData)], __read(signal ? [{
|
|
5781
6160
|
signal: signal
|
|
5782
6161
|
}] : [])))));
|
|
6162
|
+
},
|
|
6163
|
+
patchTaf: function patchTaf(formData) {
|
|
6164
|
+
return axiosInstance.patch('/taf', __assign({}, formData));
|
|
5783
6165
|
}
|
|
5784
6166
|
};
|
|
5785
6167
|
};
|
|
5786
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
|
+
|
|
5787
6188
|
var currentDate = moment__default["default"].utc().format('YYYY-MM-DD');
|
|
5788
6189
|
var tomorrowDate = moment__default["default"].utc().add(1, 'day').format('YYYY-MM-DD');
|
|
5789
6190
|
var airportPeriod = 6;
|
|
@@ -5819,6 +6220,7 @@
|
|
|
5819
6220
|
var fakeTafList = [{
|
|
5820
6221
|
creationDate: upcomingValidDateStart,
|
|
5821
6222
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6223
|
+
editor: MOCK_USERNAME,
|
|
5822
6224
|
taf: {
|
|
5823
6225
|
uuid: '5f9583fjdf0f337925',
|
|
5824
6226
|
baseTime: upcomingValidDateStart,
|
|
@@ -5838,6 +6240,7 @@
|
|
|
5838
6240
|
}, {
|
|
5839
6241
|
creationDate: upcomingValidDateStart,
|
|
5840
6242
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6243
|
+
editor: null,
|
|
5841
6244
|
taf: {
|
|
5842
6245
|
uuid: '5f9583fjd111137925',
|
|
5843
6246
|
baseTime: upcomingValidDateStart,
|
|
@@ -5863,6 +6266,7 @@
|
|
|
5863
6266
|
}, {
|
|
5864
6267
|
creationDate: upcomingValidDateStart,
|
|
5865
6268
|
canbe: ['CANCELLED', 'AMENDED', 'DISCARDED'],
|
|
6269
|
+
editor: null,
|
|
5866
6270
|
taf: {
|
|
5867
6271
|
uuid: '754905485',
|
|
5868
6272
|
baseTime: upcomingValidDateStart,
|
|
@@ -5920,6 +6324,7 @@
|
|
|
5920
6324
|
}, {
|
|
5921
6325
|
creationDate: upcomingValidDateStart,
|
|
5922
6326
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6327
|
+
editor: MOCK_USERNAME,
|
|
5923
6328
|
taf: {
|
|
5924
6329
|
uuid: '43545345345',
|
|
5925
6330
|
issueDate: upcomingValidDateStart,
|
|
@@ -5990,6 +6395,7 @@
|
|
|
5990
6395
|
}, {
|
|
5991
6396
|
creationDate: upcomingValidDateStart,
|
|
5992
6397
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6398
|
+
editor: null,
|
|
5993
6399
|
taf: {
|
|
5994
6400
|
uuid: '5f9583fjdf45ff4330f337925',
|
|
5995
6401
|
issueDate: upcomingValidDateStart,
|
|
@@ -6045,6 +6451,7 @@
|
|
|
6045
6451
|
}, {
|
|
6046
6452
|
creationDate: upcomingValidDateStart,
|
|
6047
6453
|
canbe: ['AMENDED'],
|
|
6454
|
+
editor: null,
|
|
6048
6455
|
taf: {
|
|
6049
6456
|
uuid: '5464565464',
|
|
6050
6457
|
previousId: '5445fghrfg3546456',
|
|
@@ -6086,6 +6493,7 @@
|
|
|
6086
6493
|
}, {
|
|
6087
6494
|
creationDate: upcomingValidDateStart,
|
|
6088
6495
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6496
|
+
editor: 'max.jansen',
|
|
6089
6497
|
taf: {
|
|
6090
6498
|
uuid: 'gh56734fghfgh',
|
|
6091
6499
|
previousId: '8574jnf93475',
|
|
@@ -6127,6 +6535,7 @@
|
|
|
6127
6535
|
}, {
|
|
6128
6536
|
creationDate: currentValidDateStart,
|
|
6129
6537
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6538
|
+
editor: null,
|
|
6130
6539
|
taf: {
|
|
6131
6540
|
uuid: 'giskdj09845872039',
|
|
6132
6541
|
issueDate: currentValidDateStart,
|
|
@@ -6166,6 +6575,7 @@
|
|
|
6166
6575
|
}, {
|
|
6167
6576
|
creationDate: currentValidDateStart,
|
|
6168
6577
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6578
|
+
editor: null,
|
|
6169
6579
|
taf: {
|
|
6170
6580
|
uuid: 'ghskdj09845872039',
|
|
6171
6581
|
baseTime: currentValidDateStart,
|
|
@@ -6185,6 +6595,7 @@
|
|
|
6185
6595
|
}, {
|
|
6186
6596
|
creationDate: currentValidDateStart,
|
|
6187
6597
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6598
|
+
editor: null,
|
|
6188
6599
|
taf: {
|
|
6189
6600
|
uuid: 'ghskdj09845872040',
|
|
6190
6601
|
issueDate: currentValidDateStart,
|
|
@@ -6205,6 +6616,7 @@
|
|
|
6205
6616
|
}, {
|
|
6206
6617
|
creationDate: currentDate + "T06:00:00Z",
|
|
6207
6618
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6619
|
+
editor: null,
|
|
6208
6620
|
taf: {
|
|
6209
6621
|
uuid: 'ghskdj09845872041',
|
|
6210
6622
|
issueDate: currentValidDateStart,
|
|
@@ -6225,6 +6637,7 @@
|
|
|
6225
6637
|
}, {
|
|
6226
6638
|
creationDate: currentDate + "T06:00:00Z",
|
|
6227
6639
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6640
|
+
editor: null,
|
|
6228
6641
|
taf: {
|
|
6229
6642
|
uuid: 'ghskdj09845872042',
|
|
6230
6643
|
issueDate: currentValidDateStart,
|
|
@@ -6245,6 +6658,7 @@
|
|
|
6245
6658
|
}, {
|
|
6246
6659
|
creationDate: currentDate + "T06:00:00Z",
|
|
6247
6660
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6661
|
+
editor: null,
|
|
6248
6662
|
taf: {
|
|
6249
6663
|
uuid: 'ghskdj09845872043',
|
|
6250
6664
|
issueDate: currentValidDateStart,
|
|
@@ -6265,6 +6679,7 @@
|
|
|
6265
6679
|
}, {
|
|
6266
6680
|
creationDate: expiredValidDateStart,
|
|
6267
6681
|
canbe: [],
|
|
6682
|
+
editor: null,
|
|
6268
6683
|
taf: {
|
|
6269
6684
|
uuid: 'sdkjhsdf90845890',
|
|
6270
6685
|
issueDate: expiredValidDateStart,
|
|
@@ -6329,6 +6744,7 @@
|
|
|
6329
6744
|
var fakeNewTaf = {
|
|
6330
6745
|
creationDate: currentDate + "T12:00:00Z",
|
|
6331
6746
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6747
|
+
editor: null,
|
|
6332
6748
|
taf: {
|
|
6333
6749
|
type: 'NORMAL',
|
|
6334
6750
|
messageType: 'ORG',
|
|
@@ -6349,6 +6765,7 @@
|
|
|
6349
6765
|
({
|
|
6350
6766
|
creationDate: "2022-01-06T12:00:00Z",
|
|
6351
6767
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6768
|
+
editor: MOCK_USERNAME,
|
|
6352
6769
|
taf: __assign(__assign({}, fakeNewTaf.taf), {
|
|
6353
6770
|
baseTime: "2022-01-06T12:00:00Z",
|
|
6354
6771
|
validDateStart: "2022-01-06T12:00:00Z",
|
|
@@ -6364,6 +6781,7 @@
|
|
|
6364
6781
|
var fakePublishedTaf = {
|
|
6365
6782
|
creationDate: currentDate + "T12:00:00Z",
|
|
6366
6783
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6784
|
+
editor: null,
|
|
6367
6785
|
taf: {
|
|
6368
6786
|
uuid: 'slsdkjg-023895',
|
|
6369
6787
|
issueDate: currentDate + "T12:00:00Z",
|
|
@@ -6439,7 +6857,9 @@
|
|
|
6439
6857
|
({
|
|
6440
6858
|
creationDate: "2022-01-06T12:00:00Z",
|
|
6441
6859
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6860
|
+
editor: MOCK_USERNAME,
|
|
6442
6861
|
taf: __assign(__assign({}, fakePublishedTaf.taf), {
|
|
6862
|
+
uuid: 'sowi3u4o-lsdjflsk',
|
|
6443
6863
|
location: 'EHGG',
|
|
6444
6864
|
baseTime: "2022-01-06T12:00:00Z",
|
|
6445
6865
|
issueDate: "2022-01-06T12:00:00Z",
|
|
@@ -6504,6 +6924,7 @@
|
|
|
6504
6924
|
var fakeDraftTaf = {
|
|
6505
6925
|
creationDate: currentDate + "T18:00:00Z",
|
|
6506
6926
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6927
|
+
editor: null,
|
|
6507
6928
|
taf: {
|
|
6508
6929
|
uuid: '5f9583fjdf0f337925',
|
|
6509
6930
|
baseTime: currentDate + "T18:00:00Z",
|
|
@@ -6542,6 +6963,7 @@
|
|
|
6542
6963
|
({
|
|
6543
6964
|
creationDate: "2022-01-06T18:00:00Z",
|
|
6544
6965
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6966
|
+
editor: MOCK_USERNAME,
|
|
6545
6967
|
taf: __assign(__assign({}, fakeDraftTaf.taf), {
|
|
6546
6968
|
baseTime: "2022-01-06T18:00:00Z",
|
|
6547
6969
|
validDateStart: "2022-01-06T18:00:00Z",
|
|
@@ -6557,6 +6979,7 @@
|
|
|
6557
6979
|
var fakeDraftAmendmentTaf = {
|
|
6558
6980
|
creationDate: currentDate + "T14:00:00Z",
|
|
6559
6981
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6982
|
+
editor: null,
|
|
6560
6983
|
taf: {
|
|
6561
6984
|
uuid: '954905487',
|
|
6562
6985
|
previousId: '5f9583fjdf45ff4330f337925',
|
|
@@ -6617,6 +7040,7 @@
|
|
|
6617
7040
|
({
|
|
6618
7041
|
creationDate: "2022-01-06T14:00:00Z",
|
|
6619
7042
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
7043
|
+
editor: null,
|
|
6620
7044
|
taf: __assign(__assign({}, fakeDraftAmendmentTaf.taf), {
|
|
6621
7045
|
location: 'EHRD',
|
|
6622
7046
|
issueDate: "2022-01-06T14:00:00Z",
|
|
@@ -6637,6 +7061,7 @@
|
|
|
6637
7061
|
var fakeAmendmentTaf = {
|
|
6638
7062
|
creationDate: currentDate + "T14:00:00Z",
|
|
6639
7063
|
canbe: ['CANCELLED', 'CORRECTED', 'AMENDED'],
|
|
7064
|
+
editor: null,
|
|
6640
7065
|
taf: {
|
|
6641
7066
|
uuid: '754905486',
|
|
6642
7067
|
previousId: '5f9583fjdf45ff4330f337925',
|
|
@@ -6680,6 +7105,7 @@
|
|
|
6680
7105
|
({
|
|
6681
7106
|
creationDate: "2022-01-06T14:00:00Z",
|
|
6682
7107
|
canbe: ['CANCELLED', 'CORRECTED', 'AMENDED'],
|
|
7108
|
+
editor: MOCK_USERNAME,
|
|
6683
7109
|
taf: __assign(__assign({}, fakeAmendmentTaf.taf), {
|
|
6684
7110
|
uuid: '7549058980',
|
|
6685
7111
|
issueDate: "2022-01-06T14:00:00Z",
|
|
@@ -6717,6 +7143,14 @@
|
|
|
6717
7143
|
});
|
|
6718
7144
|
};
|
|
6719
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
|
+
};
|
|
6720
7154
|
var fakeAxiosInstance = {
|
|
6721
7155
|
// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/explicit-module-boundary-types
|
|
6722
7156
|
get: function get(_url, _params) {
|
|
@@ -6725,6 +7159,10 @@
|
|
|
6725
7159
|
// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/explicit-module-boundary-types
|
|
6726
7160
|
post: function post(_url, _params, _signal) {
|
|
6727
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);
|
|
6728
7166
|
}
|
|
6729
7167
|
};
|
|
6730
7168
|
var createApi = function createApi() {
|
|
@@ -6734,7 +7172,7 @@
|
|
|
6734
7172
|
console.log('Retrieving new TAF list');
|
|
6735
7173
|
return fakeAxiosInstance.get('/taflist').then(function () {
|
|
6736
7174
|
return {
|
|
6737
|
-
data:
|
|
7175
|
+
data: getFakeUpdatedList()
|
|
6738
7176
|
};
|
|
6739
7177
|
});
|
|
6740
7178
|
},
|
|
@@ -6753,6 +7191,21 @@
|
|
|
6753
7191
|
data: fakeTafTac
|
|
6754
7192
|
};
|
|
6755
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);
|
|
6756
7209
|
}
|
|
6757
7210
|
};
|
|
6758
7211
|
};
|