@opengeoweb/taf 2.14.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.esm.js +607 -150
- package/index.umd.js +640 -193
- 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/TafForm/TafFormRow/DragHandle.d.ts +1 -2
- package/lib/components/TafHeader/TafHeader.d.ts +2 -0
- 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/TacOverview/ExportButton.d.ts +1 -0
- package/lib/components/TafLayout/TafLayout.d.ts +2 -1
- package/lib/components/TafLayout/TafPanel/TafPanel.d.ts +4 -2
- package/lib/components/TafLayout/TafPanel/TafPanel.stories.d.ts +21 -0
- 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/api.d.ts +12 -1
- package/lib/utils/fakeApi.d.ts +5 -5
- package/package.json +8 -6
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('
|
|
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('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', '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.ReactDOM, global.api, global.LinearProgress, global.Box));
|
|
5
|
+
})(this, (function (exports, React, material, reactHookForm, reactSortablejs, lodash, authentication, formFields, shared, moment, theme, 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
|
|
|
@@ -27,7 +27,6 @@
|
|
|
27
27
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
28
28
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
29
29
|
var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
|
|
30
|
-
var makeStyles__default = /*#__PURE__*/_interopDefaultLegacy(makeStyles);
|
|
31
30
|
var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
|
|
32
31
|
var LinearProgress__default = /*#__PURE__*/_interopDefaultLegacy(LinearProgress);
|
|
33
32
|
var Box__default = /*#__PURE__*/_interopDefaultLegacy(Box);
|
|
@@ -3515,19 +3514,6 @@
|
|
|
3515
3514
|
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
3516
3515
|
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
3517
3516
|
* */
|
|
3518
|
-
var useStyles = makeStyles__default["default"](function () {
|
|
3519
|
-
return {
|
|
3520
|
-
dragHandle: {
|
|
3521
|
-
backgroundColor: 'transparent',
|
|
3522
|
-
'&:hover': {
|
|
3523
|
-
backgroundColor: 'transparent'
|
|
3524
|
-
},
|
|
3525
|
-
cursor: function cursor(isSorting) {
|
|
3526
|
-
return isSorting ? 'grabbing' : 'grab';
|
|
3527
|
-
}
|
|
3528
|
-
}
|
|
3529
|
-
};
|
|
3530
|
-
});
|
|
3531
3517
|
|
|
3532
3518
|
var DragHandle = function DragHandle(_a) {
|
|
3533
3519
|
var _b = _a.isSorting,
|
|
@@ -3535,13 +3521,21 @@
|
|
|
3535
3521
|
_c = _a.isDisabled,
|
|
3536
3522
|
isDisabled = _c === void 0 ? false : _c,
|
|
3537
3523
|
index = _a.index;
|
|
3538
|
-
var classes = useStyles(isSorting);
|
|
3539
3524
|
return /*#__PURE__*/React__default["default"].createElement(material.IconButton, {
|
|
3540
|
-
className:
|
|
3525
|
+
className: "handle",
|
|
3541
3526
|
"data-testid": "dragHandle-" + index,
|
|
3542
3527
|
disableRipple: true,
|
|
3543
3528
|
disabled: isDisabled,
|
|
3544
|
-
size: "large"
|
|
3529
|
+
size: "large",
|
|
3530
|
+
sx: {
|
|
3531
|
+
backgroundColor: 'transparent',
|
|
3532
|
+
'&:hover': {
|
|
3533
|
+
backgroundColor: 'transparent'
|
|
3534
|
+
},
|
|
3535
|
+
cursor: function cursor() {
|
|
3536
|
+
return isSorting ? 'grabbing' : 'grab';
|
|
3537
|
+
}
|
|
3538
|
+
}
|
|
3545
3539
|
}, /*#__PURE__*/React__default["default"].createElement(theme.DragHandle, null));
|
|
3546
3540
|
};
|
|
3547
3541
|
|
|
@@ -3825,7 +3819,12 @@
|
|
|
3825
3819
|
fontSize: '4rem'
|
|
3826
3820
|
},
|
|
3827
3821
|
"data-testid": "zeroIssuesImage"
|
|
3828
|
-
}, /*#__PURE__*/React__namespace.createElement(theme.ThumbsUp,
|
|
3822
|
+
}, /*#__PURE__*/React__namespace.createElement(theme.ThumbsUp, {
|
|
3823
|
+
sx: {
|
|
3824
|
+
height: '69px',
|
|
3825
|
+
width: '58px'
|
|
3826
|
+
}
|
|
3827
|
+
})), errorList.length > 0 && errorList.map(function (error, index) {
|
|
3829
3828
|
return /*#__PURE__*/React__namespace.createElement(material.Typography // eslint-disable-next-line react/no-array-index-key
|
|
3830
3829
|
, {
|
|
3831
3830
|
// eslint-disable-next-line react/no-array-index-key
|
|
@@ -3909,9 +3908,59 @@
|
|
|
3909
3908
|
}, children);
|
|
3910
3909
|
};
|
|
3911
3910
|
|
|
3911
|
+
var styles = {
|
|
3912
|
+
label: {
|
|
3913
|
+
color: 'geowebColors.buttons.tertiary.default.color',
|
|
3914
|
+
opacity: 1,
|
|
3915
|
+
fontSize: '12px',
|
|
3916
|
+
fontWeight: 500
|
|
3917
|
+
}
|
|
3918
|
+
};
|
|
3919
|
+
|
|
3920
|
+
var SwitchButton = function SwitchButton(props) {
|
|
3921
|
+
return /*#__PURE__*/React__namespace.createElement(material.Tooltip, {
|
|
3922
|
+
title: "Switch mode"
|
|
3923
|
+
}, /*#__PURE__*/React__namespace.createElement("span", null, /*#__PURE__*/React__namespace.createElement(material.FormLabel, {
|
|
3924
|
+
sx: styles.label
|
|
3925
|
+
}, "Viewer"), /*#__PURE__*/React__namespace.createElement(material.Switch, __assign({
|
|
3926
|
+
"data-testid": "switchMode"
|
|
3927
|
+
}, props)), /*#__PURE__*/React__namespace.createElement(material.FormLabel, {
|
|
3928
|
+
sx: styles.label
|
|
3929
|
+
}, "Editor")));
|
|
3930
|
+
};
|
|
3931
|
+
|
|
3932
|
+
/* *
|
|
3933
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3934
|
+
* you may not use this file except in compliance with the License.
|
|
3935
|
+
* You may obtain a copy of the License at
|
|
3936
|
+
*
|
|
3937
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3938
|
+
*
|
|
3939
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3940
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3941
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3942
|
+
* See the License for the specific language governing permissions and
|
|
3943
|
+
* limitations under the License.
|
|
3944
|
+
*
|
|
3945
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
3946
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
3947
|
+
* */
|
|
3948
|
+
|
|
3949
|
+
var TafAvatar = function TafAvatar(_a) {
|
|
3950
|
+
var editor = _a.editor,
|
|
3951
|
+
_b = _a.tooltipPlacement,
|
|
3952
|
+
tooltipPlacement = _b === void 0 ? 'bottom' : _b;
|
|
3953
|
+
return /*#__PURE__*/React__namespace.createElement(material.Tooltip, {
|
|
3954
|
+
title: "Editor: " + editor,
|
|
3955
|
+
placement: tooltipPlacement
|
|
3956
|
+
}, /*#__PURE__*/React__namespace.createElement("span", null, /*#__PURE__*/React__namespace.createElement(shared.Avatar, {
|
|
3957
|
+
size: "small"
|
|
3958
|
+
}, shared.getInitials(editor))));
|
|
3959
|
+
};
|
|
3960
|
+
|
|
3912
3961
|
var noop = function noop() {};
|
|
3913
3962
|
|
|
3914
|
-
var TafForm = function
|
|
3963
|
+
var TafForm = /*#__PURE__*/React__default["default"].memo(function (_a) {
|
|
3915
3964
|
var tafFromBackend = _a.tafFromBackend,
|
|
3916
3965
|
_b = _a.onFormAction,
|
|
3917
3966
|
onFormAction = _b === void 0 ? function () {
|
|
@@ -3928,43 +3977,50 @@
|
|
|
3928
3977
|
_f = _a.setIsDisabled,
|
|
3929
3978
|
setIsDisabled = _f === void 0 ? function () {
|
|
3930
3979
|
return null;
|
|
3931
|
-
} : _f
|
|
3932
|
-
|
|
3933
|
-
|
|
3980
|
+
} : _f,
|
|
3981
|
+
_g = _a.onSwitchEditor,
|
|
3982
|
+
onSwitchEditor = _g === void 0 ? function () {
|
|
3983
|
+
return null;
|
|
3984
|
+
} : _g;
|
|
3985
|
+
var originalTaf = tafFromBackend.taf,
|
|
3986
|
+
editor = tafFromBackend.editor;
|
|
3987
|
+
var auth = authentication.useAuthenticationContext().auth;
|
|
3988
|
+
var isEditor = editor === (auth === null || auth === void 0 ? void 0 : auth.username) || false;
|
|
3989
|
+
var isDefaultDisabled = getIsFormDefaultDisabled(originalTaf.status);
|
|
3934
3990
|
var confirmDialog = shared.useConfirmationDialog();
|
|
3935
3991
|
|
|
3936
|
-
var
|
|
3937
|
-
toggleIsDraft =
|
|
3938
|
-
DraftFieldHelper =
|
|
3992
|
+
var _h = shared.useDraftFormHelpers(true),
|
|
3993
|
+
toggleIsDraft = _h.toggleIsDraft,
|
|
3994
|
+
DraftFieldHelper = _h.DraftFieldHelper;
|
|
3939
3995
|
|
|
3940
|
-
var
|
|
3941
|
-
registerValidateForm =
|
|
3942
|
-
tafAction =
|
|
3943
|
-
setIsFormDirty =
|
|
3944
|
-
setTafAction =
|
|
3945
|
-
TAC =
|
|
3946
|
-
updateTAC =
|
|
3947
|
-
setTAC =
|
|
3996
|
+
var _j = useTafModuleContext(),
|
|
3997
|
+
registerValidateForm = _j.registerValidateForm,
|
|
3998
|
+
tafAction = _j.tafAction,
|
|
3999
|
+
setIsFormDirty = _j.setIsFormDirty,
|
|
4000
|
+
setTafAction = _j.setTafAction,
|
|
4001
|
+
TAC = _j.TAC,
|
|
4002
|
+
updateTAC = _j.updateTAC,
|
|
4003
|
+
setTAC = _j.setTAC;
|
|
3948
4004
|
|
|
3949
4005
|
var isMounted = shared.useIsMounted().isMounted;
|
|
3950
4006
|
|
|
3951
|
-
var
|
|
3952
|
-
control =
|
|
3953
|
-
handleSubmit =
|
|
3954
|
-
trigger =
|
|
3955
|
-
formState =
|
|
3956
|
-
getValues =
|
|
3957
|
-
setValue =
|
|
3958
|
-
reset =
|
|
4007
|
+
var _k = reactHookForm.useFormContext(),
|
|
4008
|
+
control = _k.control,
|
|
4009
|
+
handleSubmit = _k.handleSubmit,
|
|
4010
|
+
trigger = _k.trigger,
|
|
4011
|
+
formState = _k.formState,
|
|
4012
|
+
getValues = _k.getValues,
|
|
4013
|
+
setValue = _k.setValue,
|
|
4014
|
+
reset = _k.reset;
|
|
3959
4015
|
|
|
3960
4016
|
var isFormDirty = formState.isDirty,
|
|
3961
4017
|
errors = formState.errors;
|
|
3962
4018
|
shared.usePreventBrowserClose(isFormDirty && !isDisabled);
|
|
3963
4019
|
var hiddenInputFields = ['baseTime', 'issueDate', 'type', 'uuid', 'validDateStart', 'validDateEnd', 'status', 'previousId', 'previousValidDateStart', 'previousValidDateEnd'];
|
|
3964
4020
|
|
|
3965
|
-
var
|
|
3966
|
-
delayedFormValues =
|
|
3967
|
-
setDelayedFormValues =
|
|
4021
|
+
var _l = __read(React__default["default"].useState(getValues()), 2),
|
|
4022
|
+
delayedFormValues = _l[0],
|
|
4023
|
+
setDelayedFormValues = _l[1];
|
|
3968
4024
|
|
|
3969
4025
|
var hasErrors = Object.keys(errors).length;
|
|
3970
4026
|
|
|
@@ -4021,7 +4077,7 @@
|
|
|
4021
4077
|
action = undefined;
|
|
4022
4078
|
}
|
|
4023
4079
|
|
|
4024
|
-
var newTaf = prepareTafValues(
|
|
4080
|
+
var newTaf = prepareTafValues(originalTaf, action, shouldAddEmptyChangGroup);
|
|
4025
4081
|
reset(newTaf);
|
|
4026
4082
|
};
|
|
4027
4083
|
|
|
@@ -4030,12 +4086,98 @@
|
|
|
4030
4086
|
action = undefined;
|
|
4031
4087
|
}
|
|
4032
4088
|
|
|
4033
|
-
var shouldAddEmptyChangGroup = !(
|
|
4089
|
+
var shouldAddEmptyChangGroup = !(originalTaf && originalTaf.changeGroups) && !resetDisabled;
|
|
4034
4090
|
resetFormValues(action, shouldAddEmptyChangGroup);
|
|
4035
4091
|
setIsDisabled(resetDisabled);
|
|
4036
4092
|
setTafAction(action);
|
|
4037
4093
|
};
|
|
4038
4094
|
|
|
4095
|
+
var setIsEditor = function setIsEditor(checked) {
|
|
4096
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
4097
|
+
var editor, didSucceed;
|
|
4098
|
+
return __generator(this, function (_a) {
|
|
4099
|
+
switch (_a.label) {
|
|
4100
|
+
case 0:
|
|
4101
|
+
editor = checked ? auth === null || auth === void 0 ? void 0 : auth.username : '';
|
|
4102
|
+
|
|
4103
|
+
if (editor === tafFromBackend.editor) {
|
|
4104
|
+
// do nothing, correct editor is already set
|
|
4105
|
+
return [2
|
|
4106
|
+
/*return*/
|
|
4107
|
+
, true];
|
|
4108
|
+
}
|
|
4109
|
+
|
|
4110
|
+
if (!(tafFromBackend.editor !== '' && tafFromBackend.editor !== null && tafFromBackend.editor !== (auth === null || auth === void 0 ? void 0 : auth.username))) return [3
|
|
4111
|
+
/*break*/
|
|
4112
|
+
, 2];
|
|
4113
|
+
return [4
|
|
4114
|
+
/*yield*/
|
|
4115
|
+
, confirmDialog({
|
|
4116
|
+
title: 'Switch to editor mode',
|
|
4117
|
+
description: 'This TAF is already in edit mode and important information could get lost in the switching process.',
|
|
4118
|
+
confirmLabel: 'Edit mode'
|
|
4119
|
+
})];
|
|
4120
|
+
|
|
4121
|
+
case 1:
|
|
4122
|
+
_a.sent();
|
|
4123
|
+
|
|
4124
|
+
_a.label = 2;
|
|
4125
|
+
|
|
4126
|
+
case 2:
|
|
4127
|
+
return [4
|
|
4128
|
+
/*yield*/
|
|
4129
|
+
, onSwitchEditor(__assign(__assign({}, tafFromBackend), {
|
|
4130
|
+
editor: editor
|
|
4131
|
+
}))];
|
|
4132
|
+
|
|
4133
|
+
case 3:
|
|
4134
|
+
didSucceed = _a.sent();
|
|
4135
|
+
return [2
|
|
4136
|
+
/*return*/
|
|
4137
|
+
, didSucceed];
|
|
4138
|
+
}
|
|
4139
|
+
});
|
|
4140
|
+
});
|
|
4141
|
+
};
|
|
4142
|
+
|
|
4143
|
+
var onSwitchMode = function onSwitchMode(event) {
|
|
4144
|
+
var checked = event.target.checked;
|
|
4145
|
+
|
|
4146
|
+
if (!checked && isFormDirty) {
|
|
4147
|
+
confirmDialog({
|
|
4148
|
+
title: 'Whoops',
|
|
4149
|
+
description: 'Are you sure you want to switch to viewer mode? Your unsaved changes will be lost.',
|
|
4150
|
+
confirmLabel: 'Switch mode'
|
|
4151
|
+
}).then(function () {
|
|
4152
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
4153
|
+
var didSucceed;
|
|
4154
|
+
return __generator(this, function (_a) {
|
|
4155
|
+
switch (_a.label) {
|
|
4156
|
+
case 0:
|
|
4157
|
+
return [4
|
|
4158
|
+
/*yield*/
|
|
4159
|
+
, setIsEditor(checked)];
|
|
4160
|
+
|
|
4161
|
+
case 1:
|
|
4162
|
+
didSucceed = _a.sent();
|
|
4163
|
+
|
|
4164
|
+
if (didSucceed) {
|
|
4165
|
+
resetForm(undefined, isDefaultDisabled);
|
|
4166
|
+
resetTAC();
|
|
4167
|
+
}
|
|
4168
|
+
|
|
4169
|
+
return [2
|
|
4170
|
+
/*return*/
|
|
4171
|
+
];
|
|
4172
|
+
}
|
|
4173
|
+
});
|
|
4174
|
+
});
|
|
4175
|
+
});
|
|
4176
|
+
} else {
|
|
4177
|
+
setIsEditor(checked);
|
|
4178
|
+
}
|
|
4179
|
+
};
|
|
4180
|
+
|
|
4039
4181
|
var onTafEditModeButtonPress = function onTafEditModeButtonPress(action) {
|
|
4040
4182
|
switch (action) {
|
|
4041
4183
|
case 'DRAFT':
|
|
@@ -4109,7 +4251,23 @@
|
|
|
4109
4251
|
switch (action) {
|
|
4110
4252
|
case 'CANCEL':
|
|
4111
4253
|
showConfirmDialog(action).then(function () {
|
|
4112
|
-
|
|
4254
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
4255
|
+
return __generator(this, function (_a) {
|
|
4256
|
+
switch (_a.label) {
|
|
4257
|
+
case 0:
|
|
4258
|
+
return [4
|
|
4259
|
+
/*yield*/
|
|
4260
|
+
, onFormAction(action, convertTafValuesToObject(prepareTafValues(originalTaf, action)))];
|
|
4261
|
+
|
|
4262
|
+
case 1:
|
|
4263
|
+
_a.sent();
|
|
4264
|
+
|
|
4265
|
+
return [2
|
|
4266
|
+
/*return*/
|
|
4267
|
+
];
|
|
4268
|
+
}
|
|
4269
|
+
});
|
|
4270
|
+
});
|
|
4113
4271
|
});
|
|
4114
4272
|
break;
|
|
4115
4273
|
|
|
@@ -4119,19 +4277,19 @@
|
|
|
4119
4277
|
}
|
|
4120
4278
|
};
|
|
4121
4279
|
|
|
4122
|
-
var
|
|
4280
|
+
var _m = reactHookForm.useFieldArray({
|
|
4123
4281
|
control: control,
|
|
4124
4282
|
name: 'changeGroups'
|
|
4125
4283
|
}),
|
|
4126
|
-
fields =
|
|
4127
|
-
insert =
|
|
4128
|
-
remove =
|
|
4129
|
-
move =
|
|
4284
|
+
fields = _m.fields,
|
|
4285
|
+
insert = _m.insert,
|
|
4286
|
+
remove = _m.remove,
|
|
4287
|
+
move = _m.move;
|
|
4130
4288
|
|
|
4131
|
-
var
|
|
4132
|
-
onChangeOrder =
|
|
4133
|
-
onStartDrag =
|
|
4134
|
-
activeDraggingIndex =
|
|
4289
|
+
var _o = useDragOrder(trigger, move, onFormBlur),
|
|
4290
|
+
onChangeOrder = _o.onChangeOrder,
|
|
4291
|
+
onStartDrag = _o.onStartDrag,
|
|
4292
|
+
activeDraggingIndex = _o.activeDraggingIndex;
|
|
4135
4293
|
|
|
4136
4294
|
var onRemoverow = function onRemoverow(index) {
|
|
4137
4295
|
confirmDialog({
|
|
@@ -4212,13 +4370,13 @@
|
|
|
4212
4370
|
});
|
|
4213
4371
|
};
|
|
4214
4372
|
|
|
4215
|
-
var
|
|
4216
|
-
shouldValidate =
|
|
4217
|
-
setShouldValidate =
|
|
4373
|
+
var _p = __read(React__default["default"].useState(false), 2),
|
|
4374
|
+
shouldValidate = _p[0],
|
|
4375
|
+
setShouldValidate = _p[1];
|
|
4218
4376
|
|
|
4219
4377
|
React__default["default"].useEffect(function () {
|
|
4220
|
-
setIsDisabled(isDefaultDisabled);
|
|
4221
|
-
var defaultValues = prepareTafValues(
|
|
4378
|
+
setIsDisabled(!isEditor || isDefaultDisabled);
|
|
4379
|
+
var defaultValues = prepareTafValues(originalTaf, undefined, !isDefaultDisabled && !originalTaf.changeGroups); // set initial form values
|
|
4222
4380
|
|
|
4223
4381
|
reset(defaultValues); // set validate flag to validate after the values have been set
|
|
4224
4382
|
|
|
@@ -4248,14 +4406,20 @@
|
|
|
4248
4406
|
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
4249
4407
|
}, []);
|
|
4250
4408
|
React__default["default"].useEffect(function () {
|
|
4251
|
-
var newValues = prepareTafValues(
|
|
4409
|
+
var newValues = prepareTafValues(originalTaf, undefined, !isDefaultDisabled && !originalTaf.changeGroups); // set new form values when taf values changed
|
|
4410
|
+
|
|
4411
|
+
reset(newValues); // reset TAC when taf values changed
|
|
4252
4412
|
|
|
4253
|
-
|
|
4254
|
-
}, [
|
|
4413
|
+
resetTAC(); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
4414
|
+
}, [originalTaf]);
|
|
4415
|
+
React__default["default"].useEffect(function () {
|
|
4416
|
+
// update disabled state when editor changed
|
|
4417
|
+
setIsDisabled(!isEditor || isDefaultDisabled); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
4418
|
+
}, [editor]);
|
|
4255
4419
|
React__default["default"].useEffect(function () {
|
|
4256
4420
|
if (shouldValidate && !isDisabled) {
|
|
4257
|
-
// trigger validation on all changegroup validity times after
|
|
4258
|
-
var _a =
|
|
4421
|
+
// trigger validation on all changegroup validity times after form is enabled since they could be outside the new validity period
|
|
4422
|
+
var _a = originalTaf.changeGroups,
|
|
4259
4423
|
changeGroups = _a === void 0 ? [] : _a;
|
|
4260
4424
|
var validFields = changeGroups.map(function (_field, index) {
|
|
4261
4425
|
return "changeGroups[" + index + "].valid";
|
|
@@ -4263,8 +4427,33 @@
|
|
|
4263
4427
|
trigger(validFields);
|
|
4264
4428
|
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
4265
4429
|
|
|
4266
|
-
}, [shouldValidate]);
|
|
4267
|
-
return /*#__PURE__*/React__default["default"].createElement("
|
|
4430
|
+
}, [shouldValidate, isDisabled]);
|
|
4431
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
4432
|
+
sx: {
|
|
4433
|
+
display: 'flex',
|
|
4434
|
+
flexDirection: 'row',
|
|
4435
|
+
alignItems: 'center',
|
|
4436
|
+
position: 'absolute',
|
|
4437
|
+
top: {
|
|
4438
|
+
xs: '20px',
|
|
4439
|
+
sm: '0px'
|
|
4440
|
+
},
|
|
4441
|
+
right: {
|
|
4442
|
+
xs: 'calc(50% - 70px)',
|
|
4443
|
+
sm: '8px'
|
|
4444
|
+
}
|
|
4445
|
+
}
|
|
4446
|
+
}, /*#__PURE__*/React__default["default"].createElement(SwitchButton, {
|
|
4447
|
+
checked: isEditor,
|
|
4448
|
+
onChange: onSwitchMode
|
|
4449
|
+
}), /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
4450
|
+
sx: {
|
|
4451
|
+
width: '16px',
|
|
4452
|
+
marginLeft: 1
|
|
4453
|
+
}
|
|
4454
|
+
}, editor && /*#__PURE__*/React__default["default"].createElement(TafAvatar, {
|
|
4455
|
+
editor: editor
|
|
4456
|
+
}))), /*#__PURE__*/React__default["default"].createElement("form", {
|
|
4268
4457
|
"data-testid": "taf-form",
|
|
4269
4458
|
onSubmit: handleSubmit(onSubmit),
|
|
4270
4459
|
onBlur: onFormBlur
|
|
@@ -4330,7 +4519,7 @@
|
|
|
4330
4519
|
index: index
|
|
4331
4520
|
})
|
|
4332
4521
|
});
|
|
4333
|
-
})), !isDisabled && /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4522
|
+
})), !isDisabled && isEditor && /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4334
4523
|
container: true,
|
|
4335
4524
|
justifyContent: "space-between",
|
|
4336
4525
|
alignItems: "center",
|
|
@@ -4344,7 +4533,7 @@
|
|
|
4344
4533
|
errors: errors,
|
|
4345
4534
|
isIssuesPaneOpen: isIssuesPaneOpen,
|
|
4346
4535
|
setIsIssuesPaneOpen: setIsIssuesPaneOpen
|
|
4347
|
-
}))), /*#__PURE__*/React__default["default"].createElement(TafFormButtons, {
|
|
4536
|
+
}))), isEditor && /*#__PURE__*/React__default["default"].createElement(TafFormButtons, {
|
|
4348
4537
|
isFormDisabled: isDisabled,
|
|
4349
4538
|
tafAction: tafAction,
|
|
4350
4539
|
canBe: tafFromBackend.canbe,
|
|
@@ -4355,8 +4544,12 @@
|
|
|
4355
4544
|
name: field,
|
|
4356
4545
|
key: field
|
|
4357
4546
|
});
|
|
4358
|
-
}), /*#__PURE__*/React__default["default"].createElement(DraftFieldHelper, null));
|
|
4359
|
-
}
|
|
4547
|
+
}), /*#__PURE__*/React__default["default"].createElement(DraftFieldHelper, null)));
|
|
4548
|
+
}, function (prevProps, nextProps) {
|
|
4549
|
+
// prevent re-render
|
|
4550
|
+
return !nextProps.isDisabled && prevProps.tafFromBackend !== nextProps.tafFromBackend && // if editor changed it should rerender
|
|
4551
|
+
prevProps.tafFromBackend.editor === nextProps.tafFromBackend.editor;
|
|
4552
|
+
});
|
|
4360
4553
|
|
|
4361
4554
|
/* *
|
|
4362
4555
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -4390,32 +4583,17 @@
|
|
|
4390
4583
|
}, other), value === index && children);
|
|
4391
4584
|
};
|
|
4392
4585
|
|
|
4393
|
-
/* *
|
|
4394
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4395
|
-
* you may not use this file except in compliance with the License.
|
|
4396
|
-
* You may obtain a copy of the License at
|
|
4397
|
-
*
|
|
4398
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
4399
|
-
*
|
|
4400
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
4401
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
4402
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4403
|
-
* See the License for the specific language governing permissions and
|
|
4404
|
-
* limitations under the License.
|
|
4405
|
-
*
|
|
4406
|
-
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4407
|
-
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
4408
|
-
* */
|
|
4409
|
-
|
|
4410
4586
|
var TafHeader = function TafHeader(_a) {
|
|
4411
|
-
var title = _a.title
|
|
4587
|
+
var title = _a.title,
|
|
4588
|
+
_b = _a.sx,
|
|
4589
|
+
sx = _b === void 0 ? {} : _b;
|
|
4412
4590
|
return /*#__PURE__*/React__default["default"].createElement(material.Typography, {
|
|
4413
|
-
sx: {
|
|
4591
|
+
sx: __assign({
|
|
4414
4592
|
textAlign: 'center',
|
|
4415
4593
|
fontWeight: 500,
|
|
4416
4594
|
paddingTop: '6px',
|
|
4417
4595
|
textTransform: 'capitalize'
|
|
4418
|
-
}
|
|
4596
|
+
}, sx)
|
|
4419
4597
|
}, title);
|
|
4420
4598
|
};
|
|
4421
4599
|
|
|
@@ -4661,17 +4839,18 @@
|
|
|
4661
4839
|
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4662
4840
|
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
4663
4841
|
* */
|
|
4842
|
+
var TOOLTIP_TITLE = 'Import TAC';
|
|
4664
4843
|
|
|
4665
4844
|
var ExportButton = function ExportButton(_a) {
|
|
4666
4845
|
var onClick = _a.onClick,
|
|
4667
4846
|
isHidden = _a.isHidden;
|
|
4668
4847
|
return isHidden ? null : /*#__PURE__*/React__default["default"].createElement(material.Tooltip, {
|
|
4669
|
-
title:
|
|
4848
|
+
title: TOOLTIP_TITLE,
|
|
4670
4849
|
placement: "left"
|
|
4671
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
4850
|
+
}, /*#__PURE__*/React__default["default"].createElement(shared.ToolButton, {
|
|
4672
4851
|
onClick: onClick,
|
|
4673
4852
|
"data-testid": "export-tac-button"
|
|
4674
|
-
}, /*#__PURE__*/React__default["default"].createElement(theme.Export, null)))
|
|
4853
|
+
}, /*#__PURE__*/React__default["default"].createElement(theme.Export, null)));
|
|
4675
4854
|
};
|
|
4676
4855
|
|
|
4677
4856
|
/* *
|
|
@@ -4962,7 +5141,7 @@
|
|
|
4962
5141
|
},
|
|
4963
5142
|
position: 'absolute',
|
|
4964
5143
|
right: '8px',
|
|
4965
|
-
top: '
|
|
5144
|
+
top: '48px'
|
|
4966
5145
|
}
|
|
4967
5146
|
}, /*#__PURE__*/React__namespace.createElement(theme.ListItem, null)), /*#__PURE__*/React__namespace.createElement(material.Dialog, {
|
|
4968
5147
|
open: isOpen,
|
|
@@ -5075,7 +5254,8 @@
|
|
|
5075
5254
|
paddingTop: '32px'
|
|
5076
5255
|
}
|
|
5077
5256
|
}, tafList.map(function (_a, index) {
|
|
5078
|
-
var taf = _a.taf
|
|
5257
|
+
var taf = _a.taf,
|
|
5258
|
+
editor = _a.editor;
|
|
5079
5259
|
return /*#__PURE__*/React__namespace.createElement(material.MenuItem, {
|
|
5080
5260
|
key: taf.uuid,
|
|
5081
5261
|
selected: index === activeIndex,
|
|
@@ -5100,8 +5280,18 @@
|
|
|
5100
5280
|
onClick: function onClick() {
|
|
5101
5281
|
return onChangeTab(index);
|
|
5102
5282
|
}
|
|
5103
|
-
}, /*#__PURE__*/React__namespace.createElement(Box__default["default"], {
|
|
5283
|
+
}, editor && /*#__PURE__*/React__namespace.createElement(Box__default["default"], {
|
|
5284
|
+
sx: {
|
|
5285
|
+
position: 'absolute',
|
|
5286
|
+
top: '4px',
|
|
5287
|
+
left: '8px'
|
|
5288
|
+
}
|
|
5289
|
+
}, /*#__PURE__*/React__namespace.createElement(TafAvatar, {
|
|
5290
|
+
editor: editor,
|
|
5291
|
+
tooltipPlacement: "right"
|
|
5292
|
+
})), /*#__PURE__*/React__namespace.createElement(Box__default["default"], {
|
|
5104
5293
|
component: "span",
|
|
5294
|
+
"data-testid": "taf-location",
|
|
5105
5295
|
sx: {
|
|
5106
5296
|
fontSize: '12px',
|
|
5107
5297
|
fontWeight: '500',
|
|
@@ -5158,15 +5348,29 @@
|
|
|
5158
5348
|
return 'NEW';
|
|
5159
5349
|
}
|
|
5160
5350
|
};
|
|
5351
|
+
var isWarning = function isWarning(error) {
|
|
5352
|
+
return (error === null || error === void 0 ? void 0 : error.type) === 'WARNING';
|
|
5353
|
+
};
|
|
5161
5354
|
|
|
5162
5355
|
var parseErrorMessage = function parseErrorMessage(error, params) {
|
|
5356
|
+
var message = shared.getErrorMessage(error);
|
|
5357
|
+
var warningMessage = shared.getWarningMessage(error);
|
|
5358
|
+
|
|
5359
|
+
if (warningMessage) {
|
|
5360
|
+
return {
|
|
5361
|
+
type: 'WARNING',
|
|
5362
|
+
title: warningMessage
|
|
5363
|
+
};
|
|
5364
|
+
}
|
|
5365
|
+
|
|
5163
5366
|
return params.changeStatusTo === 'CANCELLED' ? {
|
|
5164
5367
|
type: 'CANCELLED',
|
|
5165
|
-
title: 'Cancelling this TAF failed, please try again'
|
|
5368
|
+
title: 'Cancelling this TAF failed, please try again',
|
|
5369
|
+
message: message
|
|
5166
5370
|
} : {
|
|
5167
5371
|
type: 'SERVER',
|
|
5168
5372
|
title: 'An error has occurred while saving, please try again',
|
|
5169
|
-
message:
|
|
5373
|
+
message: message
|
|
5170
5374
|
};
|
|
5171
5375
|
};
|
|
5172
5376
|
|
|
@@ -5251,19 +5455,24 @@
|
|
|
5251
5455
|
postTaf = _c === void 0 ? function () {
|
|
5252
5456
|
return null;
|
|
5253
5457
|
} : _c,
|
|
5254
|
-
_d = _a.
|
|
5255
|
-
|
|
5256
|
-
|
|
5257
|
-
|
|
5458
|
+
_d = _a.patchTaf,
|
|
5459
|
+
patchTaf = _d === void 0 ? function () {
|
|
5460
|
+
return null;
|
|
5461
|
+
} : _d,
|
|
5462
|
+
_e = _a.isIssuesPaneOpen,
|
|
5463
|
+
isIssuesPaneOpen = _e === void 0 ? false : _e,
|
|
5464
|
+
_f = _a.setIsIssuesPaneOpen,
|
|
5465
|
+
setIsIssuesPaneOpen = _f === void 0 ? function () {
|
|
5258
5466
|
return null;
|
|
5259
|
-
} :
|
|
5260
|
-
|
|
5261
|
-
isFormDisabled =
|
|
5262
|
-
|
|
5263
|
-
setIsFormDisabled =
|
|
5467
|
+
} : _f,
|
|
5468
|
+
_g = _a.isFormDisabled,
|
|
5469
|
+
isFormDisabled = _g === void 0 ? false : _g,
|
|
5470
|
+
_h = _a.setIsFormDisabled,
|
|
5471
|
+
setIsFormDisabled = _h === void 0 ? function () {
|
|
5264
5472
|
return null;
|
|
5265
|
-
} :
|
|
5473
|
+
} : _h,
|
|
5266
5474
|
error = _a.error;
|
|
5475
|
+
var severity = isWarning(error) ? 'warning' : 'error';
|
|
5267
5476
|
|
|
5268
5477
|
var onTafAction = function onTafAction(action, taf) {
|
|
5269
5478
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -5364,7 +5573,10 @@
|
|
|
5364
5573
|
index: index,
|
|
5365
5574
|
"data-testid": "taf-panel" + (activeTafIndex === index ? '-active' : '')
|
|
5366
5575
|
}, /*#__PURE__*/React__default["default"].createElement(TafHeader, {
|
|
5367
|
-
title: getTafStatusLabel(tafFromBackend.taf.status)
|
|
5576
|
+
title: getTafStatusLabel(tafFromBackend.taf.status),
|
|
5577
|
+
sx: {
|
|
5578
|
+
marginBottom: '4px'
|
|
5579
|
+
}
|
|
5368
5580
|
}), isLoading && /*#__PURE__*/React__default["default"].createElement(Spinner, {
|
|
5369
5581
|
"data-testid": "taf-loading",
|
|
5370
5582
|
sx: {
|
|
@@ -5373,7 +5585,7 @@
|
|
|
5373
5585
|
color: 'geowebColors.backdrops.white.fill'
|
|
5374
5586
|
}
|
|
5375
5587
|
}), error && /*#__PURE__*/React__default["default"].createElement(shared.AlertBanner, {
|
|
5376
|
-
severity:
|
|
5588
|
+
severity: severity,
|
|
5377
5589
|
title: error.title,
|
|
5378
5590
|
info: error.message,
|
|
5379
5591
|
dataTestId: "taf-error",
|
|
@@ -5389,7 +5601,8 @@
|
|
|
5389
5601
|
isIssuesPaneOpen: isIssuesPaneOpen,
|
|
5390
5602
|
setIsIssuesPaneOpen: setIsIssuesPaneOpen,
|
|
5391
5603
|
isDisabled: isFormDisabled,
|
|
5392
|
-
setIsDisabled: setIsFormDisabled
|
|
5604
|
+
setIsDisabled: setIsFormDisabled,
|
|
5605
|
+
onSwitchEditor: patchTaf
|
|
5393
5606
|
})));
|
|
5394
5607
|
};
|
|
5395
5608
|
|
|
@@ -5401,6 +5614,57 @@
|
|
|
5401
5614
|
}, props));
|
|
5402
5615
|
};
|
|
5403
5616
|
|
|
5617
|
+
/* *
|
|
5618
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5619
|
+
* you may not use this file except in compliance with the License.
|
|
5620
|
+
* You may obtain a copy of the License at
|
|
5621
|
+
*
|
|
5622
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
5623
|
+
*
|
|
5624
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
5625
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
5626
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
5627
|
+
* See the License for the specific language governing permissions and
|
|
5628
|
+
* limitations under the License.
|
|
5629
|
+
*
|
|
5630
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
5631
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
5632
|
+
* */
|
|
5633
|
+
var getLastUpdateTitle = function getLastUpdateTitle(time) {
|
|
5634
|
+
return "Last updated " + time;
|
|
5635
|
+
};
|
|
5636
|
+
|
|
5637
|
+
var LastUpdateTime = function LastUpdateTime(_a) {
|
|
5638
|
+
var _b = _a.onUpdateTaf,
|
|
5639
|
+
onUpdateTaf = _b === void 0 ? function () {} : _b,
|
|
5640
|
+
lastUpdateTime = _a.lastUpdateTime;
|
|
5641
|
+
return /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
5642
|
+
sx: {
|
|
5643
|
+
display: 'flex',
|
|
5644
|
+
alignItems: 'center',
|
|
5645
|
+
height: '100%',
|
|
5646
|
+
justifyContent: 'flex-end'
|
|
5647
|
+
}
|
|
5648
|
+
}, /*#__PURE__*/React__default["default"].createElement(material.Typography, {
|
|
5649
|
+
sx: {
|
|
5650
|
+
color: 'geowebColors.captions.captionStatus.rgba',
|
|
5651
|
+
fontSize: '10px',
|
|
5652
|
+
lineHeight: '1.6',
|
|
5653
|
+
letterSpacing: '0.33px'
|
|
5654
|
+
},
|
|
5655
|
+
"data-testid": "lastupdated-time"
|
|
5656
|
+
}, getLastUpdateTitle(lastUpdateTime)), /*#__PURE__*/React__default["default"].createElement(material.Tooltip, {
|
|
5657
|
+
title: "Click to refresh"
|
|
5658
|
+
}, /*#__PURE__*/React__default["default"].createElement(shared.ToolButton, {
|
|
5659
|
+
"data-testid": "updateTafBtn",
|
|
5660
|
+
onClick: onUpdateTaf,
|
|
5661
|
+
sx: {
|
|
5662
|
+
marginRight: 1,
|
|
5663
|
+
marginLeft: 1
|
|
5664
|
+
}
|
|
5665
|
+
}, /*#__PURE__*/React__default["default"].createElement(theme.Cached, null))));
|
|
5666
|
+
};
|
|
5667
|
+
|
|
5404
5668
|
var CONFIRM_DIALOG_OPTIONS = {
|
|
5405
5669
|
title: 'Whoops',
|
|
5406
5670
|
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 +5674,9 @@
|
|
|
5410
5674
|
var TafLayout = function TafLayout(_a) {
|
|
5411
5675
|
var _b = _a.tafList,
|
|
5412
5676
|
tafList = _b === void 0 ? [] : _b,
|
|
5413
|
-
_c = _a.
|
|
5414
|
-
|
|
5677
|
+
_c = _a.onUpdateTaf,
|
|
5678
|
+
onUpdateTaf = _c === void 0 ? function () {} : _c,
|
|
5679
|
+
lastUpdateTime = _a.lastUpdateTime;
|
|
5415
5680
|
var api$1 = api.useApiContext().api;
|
|
5416
5681
|
var confirmDialog = shared.useConfirmationDialog();
|
|
5417
5682
|
|
|
@@ -5424,45 +5689,56 @@
|
|
|
5424
5689
|
var _e = usePostTafRequest(api$1.postTaf),
|
|
5425
5690
|
isLoading = _e.isLoading,
|
|
5426
5691
|
postTafRequest = _e.doRequest,
|
|
5427
|
-
|
|
5428
|
-
setError = _e.setError;
|
|
5692
|
+
postError = _e.error;
|
|
5429
5693
|
|
|
5430
|
-
var _f =
|
|
5431
|
-
|
|
5432
|
-
|
|
5433
|
-
isFormDirty = _f.isFormDirty;
|
|
5694
|
+
var _f = usePostTafRequest(api$1.patchTaf),
|
|
5695
|
+
patchTafRequest = _f.doRequest,
|
|
5696
|
+
patchError = _f.error;
|
|
5434
5697
|
|
|
5435
|
-
var _g =
|
|
5436
|
-
|
|
5437
|
-
|
|
5438
|
-
|
|
5439
|
-
expired = _h.expired,
|
|
5440
|
-
updateSortedTafs = _g[1];
|
|
5698
|
+
var _g = useTafModuleContext(),
|
|
5699
|
+
onValidateForm = _g.onValidateForm,
|
|
5700
|
+
tafAction = _g.tafAction,
|
|
5701
|
+
isFormDirty = _g.isFormDirty;
|
|
5441
5702
|
|
|
5442
|
-
var
|
|
5443
|
-
|
|
5703
|
+
var _h = __read(React__default["default"].useState(sortTafTimeSlots(tafList)), 2),
|
|
5704
|
+
_j = _h[0],
|
|
5705
|
+
upcoming = _j.upcoming,
|
|
5706
|
+
current = _j.current,
|
|
5707
|
+
expired = _j.expired,
|
|
5708
|
+
updateSortedTafs = _h[1];
|
|
5444
5709
|
|
|
5445
|
-
var _k = __read(
|
|
5446
|
-
|
|
5447
|
-
setTimeSlot = _k[1];
|
|
5710
|
+
var _k = __read(current.slice(-1), 1),
|
|
5711
|
+
lastCurrentTaf = _k[0];
|
|
5448
5712
|
|
|
5449
|
-
var _l = __read(React__default["default"].useState(
|
|
5450
|
-
|
|
5451
|
-
|
|
5713
|
+
var _l = __read(React__default["default"].useState('UPCOMING'), 2),
|
|
5714
|
+
timeSlot = _l[0],
|
|
5715
|
+
setTimeSlot = _l[1];
|
|
5452
5716
|
|
|
5453
|
-
var _m = __read(React__default["default"].useState(
|
|
5454
|
-
|
|
5455
|
-
|
|
5717
|
+
var _m = __read(React__default["default"].useState(upcoming), 2),
|
|
5718
|
+
locations = _m[0],
|
|
5719
|
+
setLocations = _m[1];
|
|
5456
5720
|
|
|
5457
|
-
var _o = __read(React__default["default"].useState(
|
|
5458
|
-
|
|
5459
|
-
|
|
5721
|
+
var _o = __read(React__default["default"].useState(0), 2),
|
|
5722
|
+
activeTafIndex = _o[0],
|
|
5723
|
+
setActiveTafIndex = _o[1];
|
|
5724
|
+
|
|
5725
|
+
var _p = __read(React__default["default"].useState(false), 2),
|
|
5726
|
+
isFormDisabled = _p[0],
|
|
5727
|
+
setIsFormDisabled = _p[1];
|
|
5728
|
+
|
|
5729
|
+
var _q = __read(React__default["default"].useState(), 2),
|
|
5730
|
+
error = _q[0],
|
|
5731
|
+
setError = _q[1];
|
|
5460
5732
|
|
|
5461
5733
|
var postTaf = function postTaf(data) {
|
|
5462
5734
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
5735
|
+
var error_1;
|
|
5463
5736
|
return __generator(this, function (_a) {
|
|
5464
5737
|
switch (_a.label) {
|
|
5465
5738
|
case 0:
|
|
5739
|
+
_a.trys.push([0, 2,, 3]);
|
|
5740
|
+
|
|
5741
|
+
setError(null);
|
|
5466
5742
|
return [4
|
|
5467
5743
|
/*yield*/
|
|
5468
5744
|
, postTafRequest(data)];
|
|
@@ -5471,7 +5747,57 @@
|
|
|
5471
5747
|
_a.sent(); // callback
|
|
5472
5748
|
|
|
5473
5749
|
|
|
5474
|
-
|
|
5750
|
+
onUpdateTaf();
|
|
5751
|
+
return [3
|
|
5752
|
+
/*break*/
|
|
5753
|
+
, 3];
|
|
5754
|
+
|
|
5755
|
+
case 2:
|
|
5756
|
+
error_1 = _a.sent();
|
|
5757
|
+
|
|
5758
|
+
if (isWarning(error_1)) {
|
|
5759
|
+
onUpdateTaf();
|
|
5760
|
+
}
|
|
5761
|
+
|
|
5762
|
+
throw error_1;
|
|
5763
|
+
|
|
5764
|
+
case 3:
|
|
5765
|
+
return [2
|
|
5766
|
+
/*return*/
|
|
5767
|
+
];
|
|
5768
|
+
}
|
|
5769
|
+
});
|
|
5770
|
+
});
|
|
5771
|
+
};
|
|
5772
|
+
|
|
5773
|
+
var patchTaf = function patchTaf(data) {
|
|
5774
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
5775
|
+
return __generator(this, function (_a) {
|
|
5776
|
+
switch (_a.label) {
|
|
5777
|
+
case 0:
|
|
5778
|
+
_a.trys.push([0, 2,, 3]);
|
|
5779
|
+
|
|
5780
|
+
setError(null);
|
|
5781
|
+
return [4
|
|
5782
|
+
/*yield*/
|
|
5783
|
+
, patchTafRequest(data)];
|
|
5784
|
+
|
|
5785
|
+
case 1:
|
|
5786
|
+
_a.sent(); // callback
|
|
5787
|
+
|
|
5788
|
+
|
|
5789
|
+
onUpdateTaf();
|
|
5790
|
+
return [2
|
|
5791
|
+
/*return*/
|
|
5792
|
+
, true];
|
|
5793
|
+
|
|
5794
|
+
case 2:
|
|
5795
|
+
_a.sent();
|
|
5796
|
+
return [2
|
|
5797
|
+
/*return*/
|
|
5798
|
+
, false];
|
|
5799
|
+
|
|
5800
|
+
case 3:
|
|
5475
5801
|
return [2
|
|
5476
5802
|
/*return*/
|
|
5477
5803
|
];
|
|
@@ -5573,7 +5899,8 @@
|
|
|
5573
5899
|
setActiveTafIndex(newIndex); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
5574
5900
|
}, [tafList, setLocations]);
|
|
5575
5901
|
React__default["default"].useEffect(function () {
|
|
5576
|
-
|
|
5902
|
+
setError(postError);
|
|
5903
|
+
var cancelErrorTimeout = postError && postError.type === 'CANCELLED' ? setTimeout(function () {
|
|
5577
5904
|
setError(null);
|
|
5578
5905
|
}, 10000) : null;
|
|
5579
5906
|
return function () {
|
|
@@ -5581,7 +5908,10 @@
|
|
|
5581
5908
|
clearTimeout(cancelErrorTimeout);
|
|
5582
5909
|
}
|
|
5583
5910
|
};
|
|
5584
|
-
}, [
|
|
5911
|
+
}, [postError]);
|
|
5912
|
+
React__default["default"].useEffect(function () {
|
|
5913
|
+
setError(patchError);
|
|
5914
|
+
}, [patchError]);
|
|
5585
5915
|
|
|
5586
5916
|
if (!tafList) {
|
|
5587
5917
|
return null;
|
|
@@ -5627,6 +5957,13 @@
|
|
|
5627
5957
|
tafFromBackend: lastCurrentTaf,
|
|
5628
5958
|
timeSlot: timeSlot,
|
|
5629
5959
|
onChangeTimeSlot: onChangeTimeSlot
|
|
5960
|
+
})), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
5961
|
+
item: true,
|
|
5962
|
+
xs: 12,
|
|
5963
|
+
sm: 3
|
|
5964
|
+
}, lastUpdateTime && /*#__PURE__*/React__default["default"].createElement(LastUpdateTime, {
|
|
5965
|
+
lastUpdateTime: lastUpdateTime,
|
|
5966
|
+
onUpdateTaf: onUpdateTaf
|
|
5630
5967
|
}))), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
5631
5968
|
container: true,
|
|
5632
5969
|
flexGrow: 1,
|
|
@@ -5676,6 +6013,7 @@
|
|
|
5676
6013
|
isFormDisabled: isFormDisabled,
|
|
5677
6014
|
setIsFormDisabled: setIsFormDisabled,
|
|
5678
6015
|
postTaf: postTaf,
|
|
6016
|
+
patchTaf: patchTaf,
|
|
5679
6017
|
isLoading: isLoading,
|
|
5680
6018
|
error: error
|
|
5681
6019
|
});
|
|
@@ -5717,23 +6055,80 @@
|
|
|
5717
6055
|
}, children)));
|
|
5718
6056
|
};
|
|
5719
6057
|
|
|
6058
|
+
var getCurrentDate = function getCurrentDate() {
|
|
6059
|
+
return moment__default["default"].utc().format('HH:mm');
|
|
6060
|
+
};
|
|
6061
|
+
|
|
5720
6062
|
var TafModule = function TafModule() {
|
|
5721
6063
|
var api$1 = api.useApiContext().api;
|
|
5722
6064
|
|
|
5723
|
-
var _a =
|
|
5724
|
-
|
|
5725
|
-
|
|
5726
|
-
tafList = _a.result,
|
|
5727
|
-
fetchNewTafList = _a.fetchApiData;
|
|
6065
|
+
var _a = __read(React__namespace.useState([]), 2),
|
|
6066
|
+
tafList = _a[0],
|
|
6067
|
+
setTafList = _a[1];
|
|
5728
6068
|
|
|
5729
|
-
|
|
5730
|
-
|
|
5731
|
-
|
|
6069
|
+
var _b = __read(React__namespace.useState(true), 2),
|
|
6070
|
+
isLoading = _b[0],
|
|
6071
|
+
setIsLoading = _b[1];
|
|
6072
|
+
|
|
6073
|
+
var _c = __read(React__namespace.useState(null), 2),
|
|
6074
|
+
getTafListError = _c[0],
|
|
6075
|
+
setError = _c[1];
|
|
5732
6076
|
|
|
5733
|
-
var
|
|
5734
|
-
|
|
6077
|
+
var _d = __read(React__namespace.useState(), 2),
|
|
6078
|
+
lastUpdateTime = _d[0],
|
|
6079
|
+
setLastUpdateTime = _d[1];
|
|
6080
|
+
|
|
6081
|
+
var fetchNewTafList = function fetchNewTafList() {
|
|
6082
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
6083
|
+
var result, error_1;
|
|
6084
|
+
return __generator(this, function (_a) {
|
|
6085
|
+
switch (_a.label) {
|
|
6086
|
+
case 0:
|
|
6087
|
+
setIsLoading(true);
|
|
6088
|
+
setError(null);
|
|
6089
|
+
_a.label = 1;
|
|
6090
|
+
|
|
6091
|
+
case 1:
|
|
6092
|
+
_a.trys.push([1, 3,, 4]);
|
|
6093
|
+
|
|
6094
|
+
return [4
|
|
6095
|
+
/*yield*/
|
|
6096
|
+
, api$1.getTafList()];
|
|
6097
|
+
|
|
6098
|
+
case 2:
|
|
6099
|
+
result = _a.sent();
|
|
6100
|
+
setTafList(result.data);
|
|
6101
|
+
setIsLoading(false);
|
|
6102
|
+
setLastUpdateTime(getCurrentDate());
|
|
6103
|
+
return [3
|
|
6104
|
+
/*break*/
|
|
6105
|
+
, 4];
|
|
6106
|
+
|
|
6107
|
+
case 3:
|
|
6108
|
+
error_1 = _a.sent();
|
|
6109
|
+
setError(error_1);
|
|
6110
|
+
setIsLoading(false);
|
|
6111
|
+
return [3
|
|
6112
|
+
/*break*/
|
|
6113
|
+
, 4];
|
|
6114
|
+
|
|
6115
|
+
case 4:
|
|
6116
|
+
return [2
|
|
6117
|
+
/*return*/
|
|
6118
|
+
];
|
|
6119
|
+
}
|
|
6120
|
+
});
|
|
6121
|
+
});
|
|
5735
6122
|
};
|
|
5736
6123
|
|
|
6124
|
+
var onUpdateTaf = function onUpdateTaf() {
|
|
6125
|
+
fetchNewTafList();
|
|
6126
|
+
};
|
|
6127
|
+
|
|
6128
|
+
React__namespace.useEffect(function () {
|
|
6129
|
+
fetchNewTafList(); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
6130
|
+
}, []);
|
|
6131
|
+
shared.usePoller([tafList, getTafListError], fetchNewTafList);
|
|
5737
6132
|
var hasTafListError = getTafListError !== null;
|
|
5738
6133
|
return /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
5739
6134
|
component: "div",
|
|
@@ -5758,7 +6153,8 @@
|
|
|
5758
6153
|
}
|
|
5759
6154
|
}), /*#__PURE__*/React__namespace.createElement(TafLayout, {
|
|
5760
6155
|
tafList: tafList,
|
|
5761
|
-
|
|
6156
|
+
onUpdateTaf: onUpdateTaf,
|
|
6157
|
+
lastUpdateTime: lastUpdateTime
|
|
5762
6158
|
}));
|
|
5763
6159
|
};
|
|
5764
6160
|
|
|
@@ -5766,10 +6162,8 @@
|
|
|
5766
6162
|
return /*#__PURE__*/React__namespace.createElement(TafWrapper, __assign({}, props), /*#__PURE__*/React__namespace.createElement(TafModule, null));
|
|
5767
6163
|
};
|
|
5768
6164
|
|
|
5769
|
-
var
|
|
5770
|
-
var axiosInstance = api.createApiInstance(url, appUrl, auth, setAuth, authTokenUrl, authClientId);
|
|
6165
|
+
var getApiRoutes$1 = function getApiRoutes(axiosInstance) {
|
|
5771
6166
|
return {
|
|
5772
|
-
// api data
|
|
5773
6167
|
getTafList: function getTafList() {
|
|
5774
6168
|
return axiosInstance.get('/taflist');
|
|
5775
6169
|
},
|
|
@@ -5780,10 +6174,37 @@
|
|
|
5780
6174
|
return axiosInstance.post.apply(axiosInstance, __spreadArray(['/taf2tac'], __read(__spreadArray([__assign({}, tafData)], __read(signal ? [{
|
|
5781
6175
|
signal: signal
|
|
5782
6176
|
}] : [])))));
|
|
6177
|
+
},
|
|
6178
|
+
patchTaf: function patchTaf(formData) {
|
|
6179
|
+
return axiosInstance.patch('/taf', __assign({}, formData));
|
|
5783
6180
|
}
|
|
5784
6181
|
};
|
|
5785
6182
|
};
|
|
5786
6183
|
|
|
6184
|
+
var createApi$1 = function createApi(url, appUrl, auth, setAuth, authTokenUrl, authClientId) {
|
|
6185
|
+
var axiosInstance = api.createApiInstance(url, appUrl, auth, setAuth, authTokenUrl, authClientId);
|
|
6186
|
+
return getApiRoutes$1(axiosInstance);
|
|
6187
|
+
};
|
|
6188
|
+
|
|
6189
|
+
/* *
|
|
6190
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6191
|
+
* you may not use this file except in compliance with the License.
|
|
6192
|
+
* You may obtain a copy of the License at
|
|
6193
|
+
*
|
|
6194
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
6195
|
+
*
|
|
6196
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
6197
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
6198
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
6199
|
+
* See the License for the specific language governing permissions and
|
|
6200
|
+
* limitations under the License.
|
|
6201
|
+
*
|
|
6202
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
6203
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
6204
|
+
* */
|
|
6205
|
+
|
|
6206
|
+
var MOCK_USERNAME = 'user.name';
|
|
6207
|
+
|
|
5787
6208
|
var currentDate = moment__default["default"].utc().format('YYYY-MM-DD');
|
|
5788
6209
|
var tomorrowDate = moment__default["default"].utc().add(1, 'day').format('YYYY-MM-DD');
|
|
5789
6210
|
var airportPeriod = 6;
|
|
@@ -5819,6 +6240,7 @@
|
|
|
5819
6240
|
var fakeTafList = [{
|
|
5820
6241
|
creationDate: upcomingValidDateStart,
|
|
5821
6242
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6243
|
+
editor: MOCK_USERNAME,
|
|
5822
6244
|
taf: {
|
|
5823
6245
|
uuid: '5f9583fjdf0f337925',
|
|
5824
6246
|
baseTime: upcomingValidDateStart,
|
|
@@ -5838,6 +6260,7 @@
|
|
|
5838
6260
|
}, {
|
|
5839
6261
|
creationDate: upcomingValidDateStart,
|
|
5840
6262
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6263
|
+
editor: null,
|
|
5841
6264
|
taf: {
|
|
5842
6265
|
uuid: '5f9583fjd111137925',
|
|
5843
6266
|
baseTime: upcomingValidDateStart,
|
|
@@ -5863,6 +6286,7 @@
|
|
|
5863
6286
|
}, {
|
|
5864
6287
|
creationDate: upcomingValidDateStart,
|
|
5865
6288
|
canbe: ['CANCELLED', 'AMENDED', 'DISCARDED'],
|
|
6289
|
+
editor: null,
|
|
5866
6290
|
taf: {
|
|
5867
6291
|
uuid: '754905485',
|
|
5868
6292
|
baseTime: upcomingValidDateStart,
|
|
@@ -5920,6 +6344,7 @@
|
|
|
5920
6344
|
}, {
|
|
5921
6345
|
creationDate: upcomingValidDateStart,
|
|
5922
6346
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6347
|
+
editor: MOCK_USERNAME,
|
|
5923
6348
|
taf: {
|
|
5924
6349
|
uuid: '43545345345',
|
|
5925
6350
|
issueDate: upcomingValidDateStart,
|
|
@@ -5990,6 +6415,7 @@
|
|
|
5990
6415
|
}, {
|
|
5991
6416
|
creationDate: upcomingValidDateStart,
|
|
5992
6417
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6418
|
+
editor: null,
|
|
5993
6419
|
taf: {
|
|
5994
6420
|
uuid: '5f9583fjdf45ff4330f337925',
|
|
5995
6421
|
issueDate: upcomingValidDateStart,
|
|
@@ -6045,6 +6471,7 @@
|
|
|
6045
6471
|
}, {
|
|
6046
6472
|
creationDate: upcomingValidDateStart,
|
|
6047
6473
|
canbe: ['AMENDED'],
|
|
6474
|
+
editor: null,
|
|
6048
6475
|
taf: {
|
|
6049
6476
|
uuid: '5464565464',
|
|
6050
6477
|
previousId: '5445fghrfg3546456',
|
|
@@ -6086,6 +6513,7 @@
|
|
|
6086
6513
|
}, {
|
|
6087
6514
|
creationDate: upcomingValidDateStart,
|
|
6088
6515
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6516
|
+
editor: 'max.jansen',
|
|
6089
6517
|
taf: {
|
|
6090
6518
|
uuid: 'gh56734fghfgh',
|
|
6091
6519
|
previousId: '8574jnf93475',
|
|
@@ -6127,6 +6555,7 @@
|
|
|
6127
6555
|
}, {
|
|
6128
6556
|
creationDate: currentValidDateStart,
|
|
6129
6557
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6558
|
+
editor: null,
|
|
6130
6559
|
taf: {
|
|
6131
6560
|
uuid: 'giskdj09845872039',
|
|
6132
6561
|
issueDate: currentValidDateStart,
|
|
@@ -6166,6 +6595,7 @@
|
|
|
6166
6595
|
}, {
|
|
6167
6596
|
creationDate: currentValidDateStart,
|
|
6168
6597
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6598
|
+
editor: null,
|
|
6169
6599
|
taf: {
|
|
6170
6600
|
uuid: 'ghskdj09845872039',
|
|
6171
6601
|
baseTime: currentValidDateStart,
|
|
@@ -6185,6 +6615,7 @@
|
|
|
6185
6615
|
}, {
|
|
6186
6616
|
creationDate: currentValidDateStart,
|
|
6187
6617
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6618
|
+
editor: null,
|
|
6188
6619
|
taf: {
|
|
6189
6620
|
uuid: 'ghskdj09845872040',
|
|
6190
6621
|
issueDate: currentValidDateStart,
|
|
@@ -6205,6 +6636,7 @@
|
|
|
6205
6636
|
}, {
|
|
6206
6637
|
creationDate: currentDate + "T06:00:00Z",
|
|
6207
6638
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6639
|
+
editor: null,
|
|
6208
6640
|
taf: {
|
|
6209
6641
|
uuid: 'ghskdj09845872041',
|
|
6210
6642
|
issueDate: currentValidDateStart,
|
|
@@ -6225,6 +6657,7 @@
|
|
|
6225
6657
|
}, {
|
|
6226
6658
|
creationDate: currentDate + "T06:00:00Z",
|
|
6227
6659
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6660
|
+
editor: null,
|
|
6228
6661
|
taf: {
|
|
6229
6662
|
uuid: 'ghskdj09845872042',
|
|
6230
6663
|
issueDate: currentValidDateStart,
|
|
@@ -6245,6 +6678,7 @@
|
|
|
6245
6678
|
}, {
|
|
6246
6679
|
creationDate: currentDate + "T06:00:00Z",
|
|
6247
6680
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6681
|
+
editor: null,
|
|
6248
6682
|
taf: {
|
|
6249
6683
|
uuid: 'ghskdj09845872043',
|
|
6250
6684
|
issueDate: currentValidDateStart,
|
|
@@ -6265,6 +6699,7 @@
|
|
|
6265
6699
|
}, {
|
|
6266
6700
|
creationDate: expiredValidDateStart,
|
|
6267
6701
|
canbe: [],
|
|
6702
|
+
editor: null,
|
|
6268
6703
|
taf: {
|
|
6269
6704
|
uuid: 'sdkjhsdf90845890',
|
|
6270
6705
|
issueDate: expiredValidDateStart,
|
|
@@ -6329,6 +6764,7 @@
|
|
|
6329
6764
|
var fakeNewTaf = {
|
|
6330
6765
|
creationDate: currentDate + "T12:00:00Z",
|
|
6331
6766
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6767
|
+
editor: null,
|
|
6332
6768
|
taf: {
|
|
6333
6769
|
type: 'NORMAL',
|
|
6334
6770
|
messageType: 'ORG',
|
|
@@ -6349,6 +6785,7 @@
|
|
|
6349
6785
|
({
|
|
6350
6786
|
creationDate: "2022-01-06T12:00:00Z",
|
|
6351
6787
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6788
|
+
editor: MOCK_USERNAME,
|
|
6352
6789
|
taf: __assign(__assign({}, fakeNewTaf.taf), {
|
|
6353
6790
|
baseTime: "2022-01-06T12:00:00Z",
|
|
6354
6791
|
validDateStart: "2022-01-06T12:00:00Z",
|
|
@@ -6364,6 +6801,7 @@
|
|
|
6364
6801
|
var fakePublishedTaf = {
|
|
6365
6802
|
creationDate: currentDate + "T12:00:00Z",
|
|
6366
6803
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6804
|
+
editor: null,
|
|
6367
6805
|
taf: {
|
|
6368
6806
|
uuid: 'slsdkjg-023895',
|
|
6369
6807
|
issueDate: currentDate + "T12:00:00Z",
|
|
@@ -6439,7 +6877,9 @@
|
|
|
6439
6877
|
({
|
|
6440
6878
|
creationDate: "2022-01-06T12:00:00Z",
|
|
6441
6879
|
canbe: ['CANCELLED', 'AMENDED', 'CORRECTED'],
|
|
6880
|
+
editor: MOCK_USERNAME,
|
|
6442
6881
|
taf: __assign(__assign({}, fakePublishedTaf.taf), {
|
|
6882
|
+
uuid: 'sowi3u4o-lsdjflsk',
|
|
6443
6883
|
location: 'EHGG',
|
|
6444
6884
|
baseTime: "2022-01-06T12:00:00Z",
|
|
6445
6885
|
issueDate: "2022-01-06T12:00:00Z",
|
|
@@ -6504,6 +6944,7 @@
|
|
|
6504
6944
|
var fakeDraftTaf = {
|
|
6505
6945
|
creationDate: currentDate + "T18:00:00Z",
|
|
6506
6946
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6947
|
+
editor: null,
|
|
6507
6948
|
taf: {
|
|
6508
6949
|
uuid: '5f9583fjdf0f337925',
|
|
6509
6950
|
baseTime: currentDate + "T18:00:00Z",
|
|
@@ -6542,6 +6983,7 @@
|
|
|
6542
6983
|
({
|
|
6543
6984
|
creationDate: "2022-01-06T18:00:00Z",
|
|
6544
6985
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
6986
|
+
editor: MOCK_USERNAME,
|
|
6545
6987
|
taf: __assign(__assign({}, fakeDraftTaf.taf), {
|
|
6546
6988
|
baseTime: "2022-01-06T18:00:00Z",
|
|
6547
6989
|
validDateStart: "2022-01-06T18:00:00Z",
|
|
@@ -6557,6 +6999,7 @@
|
|
|
6557
6999
|
var fakeDraftAmendmentTaf = {
|
|
6558
7000
|
creationDate: currentDate + "T14:00:00Z",
|
|
6559
7001
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
7002
|
+
editor: null,
|
|
6560
7003
|
taf: {
|
|
6561
7004
|
uuid: '954905487',
|
|
6562
7005
|
previousId: '5f9583fjdf45ff4330f337925',
|
|
@@ -6617,6 +7060,7 @@
|
|
|
6617
7060
|
({
|
|
6618
7061
|
creationDate: "2022-01-06T14:00:00Z",
|
|
6619
7062
|
canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
|
|
7063
|
+
editor: null,
|
|
6620
7064
|
taf: __assign(__assign({}, fakeDraftAmendmentTaf.taf), {
|
|
6621
7065
|
location: 'EHRD',
|
|
6622
7066
|
issueDate: "2022-01-06T14:00:00Z",
|
|
@@ -6637,6 +7081,7 @@
|
|
|
6637
7081
|
var fakeAmendmentTaf = {
|
|
6638
7082
|
creationDate: currentDate + "T14:00:00Z",
|
|
6639
7083
|
canbe: ['CANCELLED', 'CORRECTED', 'AMENDED'],
|
|
7084
|
+
editor: null,
|
|
6640
7085
|
taf: {
|
|
6641
7086
|
uuid: '754905486',
|
|
6642
7087
|
previousId: '5f9583fjdf45ff4330f337925',
|
|
@@ -6680,6 +7125,7 @@
|
|
|
6680
7125
|
({
|
|
6681
7126
|
creationDate: "2022-01-06T14:00:00Z",
|
|
6682
7127
|
canbe: ['CANCELLED', 'CORRECTED', 'AMENDED'],
|
|
7128
|
+
editor: MOCK_USERNAME,
|
|
6683
7129
|
taf: __assign(__assign({}, fakeAmendmentTaf.taf), {
|
|
6684
7130
|
uuid: '7549058980',
|
|
6685
7131
|
issueDate: "2022-01-06T14:00:00Z",
|
|
@@ -6699,42 +7145,23 @@
|
|
|
6699
7145
|
|
|
6700
7146
|
var fakeTafTac = 'TAF EHAM 0812/0918 20020G35KT 0500 SN BKN040\nBECMG 0814/0816 0700 BKN001=';
|
|
6701
7147
|
|
|
6702
|
-
var
|
|
6703
|
-
if (signal === void 0) {
|
|
6704
|
-
signal = null;
|
|
6705
|
-
}
|
|
7148
|
+
var fakeUpdatedTafList = __spreadArray([], __read(fakeTafList));
|
|
6706
7149
|
|
|
6707
|
-
|
|
6708
|
-
|
|
6709
|
-
if (!withRandomError) return resolve();
|
|
6710
|
-
var randomError = Math.floor(Math.random() * 4) + 1;
|
|
6711
|
-
return randomError === 4 ? reject(new Error('something went wrong')) : resolve();
|
|
6712
|
-
}, 300);
|
|
6713
|
-
signal === null || signal === void 0 ? void 0 : signal.signal.addEventListener('abort', function () {
|
|
6714
|
-
clearTimeout(timer);
|
|
6715
|
-
reject(new Error('canceled'));
|
|
6716
|
-
});
|
|
6717
|
-
});
|
|
7150
|
+
var setFakeUpdatedList = function setFakeUpdatedList(newList) {
|
|
7151
|
+
fakeUpdatedTafList = newList;
|
|
6718
7152
|
};
|
|
6719
|
-
|
|
6720
|
-
|
|
6721
|
-
// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/explicit-module-boundary-types
|
|
6722
|
-
get: function get(_url, _params) {
|
|
6723
|
-
return fakePromise(false);
|
|
6724
|
-
},
|
|
6725
|
-
// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/explicit-module-boundary-types
|
|
6726
|
-
post: function post(_url, _params, _signal) {
|
|
6727
|
-
return fakePromise(false, _signal);
|
|
6728
|
-
}
|
|
7153
|
+
var getFakeUpdatedList = function getFakeUpdatedList() {
|
|
7154
|
+
return fakeUpdatedTafList;
|
|
6729
7155
|
};
|
|
6730
|
-
|
|
7156
|
+
|
|
7157
|
+
var getApiRoutes = function getApiRoutes(axiosInstance) {
|
|
6731
7158
|
return {
|
|
6732
7159
|
getTafList: function getTafList() {
|
|
6733
7160
|
// eslint-disable-next-line no-console
|
|
6734
7161
|
console.log('Retrieving new TAF list');
|
|
6735
|
-
return
|
|
7162
|
+
return axiosInstance.get('/taflist').then(function () {
|
|
6736
7163
|
return {
|
|
6737
|
-
data:
|
|
7164
|
+
data: getFakeUpdatedList()
|
|
6738
7165
|
};
|
|
6739
7166
|
});
|
|
6740
7167
|
},
|
|
@@ -6743,20 +7170,40 @@
|
|
|
6743
7170
|
console.log("The new status of the taf will be " + _postTaf.changeStatusTo); // eslint-disable-next-line no-console
|
|
6744
7171
|
|
|
6745
7172
|
console.log('form has been posted with following values:', _postTaf.taf);
|
|
6746
|
-
return
|
|
7173
|
+
return axiosInstance.post('/taf', _postTaf);
|
|
6747
7174
|
},
|
|
6748
|
-
getTAC: function getTAC(
|
|
6749
|
-
return
|
|
7175
|
+
getTAC: function getTAC(taf, signal) {
|
|
7176
|
+
return axiosInstance.post.apply(axiosInstance, __spreadArray(['/taf2tac'], __read(__spreadArray([__assign({}, taf)], __read(signal ? [{
|
|
6750
7177
|
signal: signal
|
|
6751
7178
|
}] : []))))).then(function () {
|
|
6752
7179
|
return {
|
|
6753
7180
|
data: fakeTafTac
|
|
6754
7181
|
};
|
|
6755
7182
|
});
|
|
7183
|
+
},
|
|
7184
|
+
patchTaf: function patchTaf(_patchTaf) {
|
|
7185
|
+
var updatedList = getFakeUpdatedList().map(function (tafFromBackend) {
|
|
7186
|
+
if (tafFromBackend.taf.uuid === _patchTaf.taf.uuid) {
|
|
7187
|
+
return __assign(__assign({}, tafFromBackend), {
|
|
7188
|
+
editor: _patchTaf.editor
|
|
7189
|
+
});
|
|
7190
|
+
}
|
|
7191
|
+
|
|
7192
|
+
return tafFromBackend;
|
|
7193
|
+
});
|
|
7194
|
+
setFakeUpdatedList(updatedList); // eslint-disable-next-line no-console
|
|
7195
|
+
|
|
7196
|
+
console.log("The new editor of the taf will be " + (_patchTaf.editor || 'empty'));
|
|
7197
|
+
return axiosInstance.patch('/taf', _patchTaf);
|
|
6756
7198
|
}
|
|
6757
7199
|
};
|
|
6758
7200
|
};
|
|
6759
7201
|
|
|
7202
|
+
var createApi = function createApi() {
|
|
7203
|
+
var instance = api.createFakeApiInstance();
|
|
7204
|
+
return getApiRoutes(instance);
|
|
7205
|
+
};
|
|
7206
|
+
|
|
6760
7207
|
/* *
|
|
6761
7208
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6762
7209
|
* you may not use this file except in compliance with the License.
|