@opengeoweb/taf 2.3.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/index.d.ts +1 -3
- package/index.esm.js +1470 -1287
- package/index.umd.js +1572 -1287
- package/lib/TafDemo.stories.d.ts +2 -2
- package/lib/components/IssuesPane/IssuesButton.d.ts +8 -2
- package/lib/components/IssuesPane/IssuesPane.d.ts +5 -0
- package/lib/components/IssuesPane/IssuesPane.stories.d.ts +12 -3
- package/lib/components/Spinner/Spinner.d.ts +2 -1
- package/lib/components/{TafLayout → StatusIcon}/StatusIcon.d.ts +0 -0
- package/lib/components/{TafLayout → StatusIcon}/StatusIcon.spec.d.ts +0 -0
- package/lib/components/{TafLayout/TabPanel → TabPanel}/TabPanel.d.ts +0 -0
- package/lib/components/{TafLayout/TabPanel → TabPanel}/TabPanel.spec.d.ts +0 -0
- package/lib/components/{TafLayout/TabPanel → TabPanel}/index.d.ts +0 -0
- package/lib/components/TafForm/TafForm.d.ts +1 -19
- package/lib/components/TafForm/TafFormButtons/TafFormButtons.d.ts +5 -9
- package/lib/components/TafForm/TafFormRow/{change.d.ts → validations/change.d.ts} +0 -0
- package/lib/components/TafForm/TafFormRow/{change.spec.d.ts → validations/change.spec.d.ts} +0 -0
- package/lib/components/TafForm/TafFormRow/{clouds.d.ts → validations/clouds.d.ts} +1 -1
- package/lib/components/TafForm/TafFormRow/{clouds.spec.d.ts → validations/clouds.spec.d.ts} +0 -0
- package/lib/components/TafForm/TafFormRow/{probability.d.ts → validations/probability.d.ts} +0 -0
- package/lib/components/TafForm/TafFormRow/{probability.spec.d.ts → validations/probability.spec.d.ts} +0 -0
- package/lib/components/TafForm/TafFormRow/{utils.d.ts → validations/utils.d.ts} +0 -0
- package/lib/components/TafForm/TafFormRow/{utils.spec.d.ts → validations/utils.spec.d.ts} +0 -0
- package/lib/components/TafForm/TafFormRow/{validField.d.ts → validations/validField.d.ts} +1 -1
- package/lib/components/TafForm/TafFormRow/{validField.spec.d.ts → validations/validField.spec.d.ts} +0 -0
- package/lib/components/TafForm/TafFormRow/{visibility.d.ts → validations/visibility.d.ts} +1 -1
- package/lib/components/TafForm/TafFormRow/{visibility.spec.d.ts → validations/visibility.spec.d.ts} +0 -0
- package/lib/components/TafForm/TafFormRow/{weather.d.ts → validations/weather.d.ts} +1 -1
- package/lib/components/TafForm/TafFormRow/{weather.spec.d.ts → validations/weather.spec.d.ts} +0 -0
- package/lib/components/TafForm/TafFormRow/{wind.d.ts → validations/wind.d.ts} +1 -1
- package/lib/components/TafForm/TafFormRow/{wind.spec.d.ts → validations/wind.spec.d.ts} +0 -0
- package/lib/components/TafForm/TafFormWrapper.d.ts +3 -6
- package/lib/components/TafForm/index.d.ts +0 -1
- package/lib/components/TafForm/utils.d.ts +21 -0
- package/lib/components/{TafLayout → TafHeader}/TafHeader.d.ts +0 -0
- package/lib/components/{TafLayout → TafHeader}/TafHeader.spec.d.ts +0 -0
- package/lib/components/TafLayout/TacOverview/TacContainer.d.ts +3 -4
- package/lib/components/TafLayout/TacOverview/TacOverview.d.ts +2 -0
- package/lib/components/TafLayout/TacOverview/TacOverview.stories.d.ts +2 -0
- package/lib/components/TafLayout/TacOverview/TacOverviewMobile.d.ts +11 -0
- package/lib/components/{ContentDialog/ContentDialog.spec.d.ts → TafLayout/TacOverview/TacOverviewMobile.spec.d.ts} +0 -0
- package/lib/components/TafLayout/TacOverview/TacOverviewMobile.stories.d.ts +23 -0
- package/lib/components/TafLayout/TacOverview/index.d.ts +1 -0
- package/lib/components/TafLayout/TafLayout.d.ts +1 -0
- package/lib/components/{TafForm/TafFormDialog/TafFormDialog.spec.d.ts → TafLayout/TafLayout.spec.d.ts} +0 -0
- package/lib/components/TafLayout/TafPanel/TafPanel.d.ts +10 -0
- package/lib/components/{TafList/TafList.spec.d.ts → TafLayout/TafPanel/TafPanel.spec.d.ts} +0 -0
- package/lib/components/TafLayout/TafPanel/index.d.ts +1 -0
- package/lib/components/TafModule/TafModule.d.ts +3 -0
- package/lib/components/{TafList/TafListAccordion.spec.d.ts → TafModule/TafModule.spec.d.ts} +0 -0
- package/lib/components/TafModule/TafModule.stories.d.ts +9 -0
- package/lib/components/TafModule/index.d.ts +1 -0
- package/lib/types.d.ts +2 -1
- package/lib/utils/__mocks__/api.d.ts +1 -0
- package/lib/utils/fakeApi.d.ts +1 -1
- package/lib/utils/mockdata/fakeTafList.d.ts +1 -0
- package/lib/utils/testUtils.d.ts +1 -10
- package/package.json +7 -6
- package/lib/components/ContentDialog/ContentDialog.d.ts +0 -14
- package/lib/components/ContentDialog/ContentDialog.stories.d.ts +0 -7
- package/lib/components/ContentDialog/index.d.ts +0 -1
- package/lib/components/IssuesPane/IssuesPane.styles.d.ts +0 -1
- package/lib/components/TafForm/TafFormDialog/TafFormDialog.d.ts +0 -12
- package/lib/components/TafForm/TafFormDialog/TafFormDialog.stories.d.ts +0 -9
- package/lib/components/TafList/TafList.d.ts +0 -11
- package/lib/components/TafList/TafList.stories.d.ts +0 -8
- package/lib/components/TafList/TafListAccordion.d.ts +0 -11
- package/lib/components/TafList/TafListButtons.d.ts +0 -10
- package/lib/components/TafList/TafListButtons.spec.d.ts +0 -1
- package/lib/components/TafList/TafListRow.d.ts +0 -12
- package/lib/components/TafList/TafListRow.spec.d.ts +0 -1
- package/lib/components/TafList/TafListSection.d.ts +0 -12
- package/lib/components/TafList/TafListSection.spec.d.ts +0 -1
- package/lib/components/TafList/TafListSection.stories.d.ts +0 -18
- package/lib/components/TafList/index.d.ts +0 -3
- package/lib/components/TafList/utils.d.ts +0 -4
- package/lib/components/TafList/utils.spec.d.ts +0 -1
- package/lib/components/TafWrapper/TafWrapper.d.ts +0 -13
- package/lib/components/TafWrapper/TafWrapper.spec.d.ts +0 -1
- package/lib/components/TafWrapper/index.d.ts +0 -1
- package/lib/utils/utils.d.ts +0 -3
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('@
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', 'react', '@
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Taf = {}, global.React, global.material, global.
|
|
5
|
-
})(this, (function (exports, React, material,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('@opengeoweb/form-fields'), require('@mui/material'), require('react-hook-form'), require('react-sortablejs'), require('@opengeoweb/api'), require('@opengeoweb/shared'), require('moment'), require('lodash'), require('@mui/styles/makeStyles'), require('@mui/icons-material'), require('react-dom'), require('@mui/material/LinearProgress'), require('@mui/icons-material/DoDisturb'), require('@mui/material/Box')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'react', '@opengeoweb/form-fields', '@mui/material', 'react-hook-form', 'react-sortablejs', '@opengeoweb/api', '@opengeoweb/shared', 'moment', 'lodash', '@mui/styles/makeStyles', '@mui/icons-material', 'react-dom', '@mui/material/LinearProgress', '@mui/icons-material/DoDisturb', '@mui/material/Box'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Taf = {}, global.React, global.formFields, global.material, global.reactHookForm, global.reactSortablejs, global.api, global.shared, global.moment, global.lodash, global.makeStyles, global.iconsMaterial, global.ReactDOM, global.LinearProgress, global.DoDisturbIcon, global.Box));
|
|
5
|
+
})(this, (function (exports, React, formFields, material, reactHookForm, reactSortablejs, api, shared, moment, lodash, makeStyles, iconsMaterial, ReactDOM, LinearProgress, DoDisturbIcon, Box) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -26,8 +26,12 @@
|
|
|
26
26
|
|
|
27
27
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
28
28
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
29
|
-
var makeStyles__default = /*#__PURE__*/_interopDefaultLegacy(makeStyles);
|
|
30
29
|
var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
|
|
30
|
+
var makeStyles__default = /*#__PURE__*/_interopDefaultLegacy(makeStyles);
|
|
31
|
+
var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
|
|
32
|
+
var LinearProgress__default = /*#__PURE__*/_interopDefaultLegacy(LinearProgress);
|
|
33
|
+
var DoDisturbIcon__default = /*#__PURE__*/_interopDefaultLegacy(DoDisturbIcon);
|
|
34
|
+
var Box__default = /*#__PURE__*/_interopDefaultLegacy(Box);
|
|
31
35
|
|
|
32
36
|
/*! *****************************************************************************
|
|
33
37
|
Copyright (c) Microsoft Corporation.
|
|
@@ -105,18 +109,6 @@
|
|
|
105
109
|
}
|
|
106
110
|
}
|
|
107
111
|
|
|
108
|
-
function __values(o) {
|
|
109
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
110
|
-
if (m) return m.call(o);
|
|
111
|
-
if (o && typeof o.length === "number") return {
|
|
112
|
-
next: function () {
|
|
113
|
-
if (o && i >= o.length) o = void 0;
|
|
114
|
-
return { value: o && o[i++], done: !o };
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
118
|
-
}
|
|
119
|
-
|
|
120
112
|
function __read(o, n) {
|
|
121
113
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
122
114
|
if (!m) return o;
|
|
@@ -144,77 +136,6 @@
|
|
|
144
136
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
145
137
|
}
|
|
146
138
|
|
|
147
|
-
/* *
|
|
148
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
149
|
-
* you may not use this file except in compliance with the License.
|
|
150
|
-
* You may obtain a copy of the License at
|
|
151
|
-
*
|
|
152
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
153
|
-
*
|
|
154
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
155
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
156
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
157
|
-
* See the License for the specific language governing permissions and
|
|
158
|
-
* limitations under the License.
|
|
159
|
-
*
|
|
160
|
-
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
161
|
-
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
162
|
-
* */
|
|
163
|
-
var useTafSettings = function useTafSettings( // eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/explicit-module-boundary-types
|
|
164
|
-
tafConfig) {
|
|
165
|
-
var locations = tafConfig.locations;
|
|
166
|
-
return {
|
|
167
|
-
locations: locations
|
|
168
|
-
};
|
|
169
|
-
};
|
|
170
|
-
|
|
171
|
-
var location_indicator_mwo = "EHDB";
|
|
172
|
-
var locations = {
|
|
173
|
-
EHAM: {
|
|
174
|
-
validity_duration: 30,
|
|
175
|
-
activity_period: 6,
|
|
176
|
-
label: "Schiphol"
|
|
177
|
-
},
|
|
178
|
-
EHRD: {
|
|
179
|
-
validity_duration: 30,
|
|
180
|
-
activity_period: 6,
|
|
181
|
-
label: "Rotterdam"
|
|
182
|
-
},
|
|
183
|
-
EHGG: {
|
|
184
|
-
validity_duration: 30,
|
|
185
|
-
activity_period: 6,
|
|
186
|
-
label: "Eelde"
|
|
187
|
-
},
|
|
188
|
-
EHBK: {
|
|
189
|
-
validity_duration: 30,
|
|
190
|
-
activity_period: 6,
|
|
191
|
-
label: "Maastricht"
|
|
192
|
-
},
|
|
193
|
-
EHLE: {
|
|
194
|
-
validity_duration: 30,
|
|
195
|
-
activity_period: 6,
|
|
196
|
-
label: "Lelystad"
|
|
197
|
-
},
|
|
198
|
-
TNCB: {
|
|
199
|
-
validity_duration: 30,
|
|
200
|
-
activity_period: 6,
|
|
201
|
-
label: "Bonaire"
|
|
202
|
-
}
|
|
203
|
-
};
|
|
204
|
-
var locationOrder = [
|
|
205
|
-
"EHAM",
|
|
206
|
-
"EHRD",
|
|
207
|
-
"EHLE",
|
|
208
|
-
"EHGG",
|
|
209
|
-
"EHBK",
|
|
210
|
-
"TNCB"
|
|
211
|
-
];
|
|
212
|
-
var tafConfig = {
|
|
213
|
-
location_indicator_mwo: location_indicator_mwo,
|
|
214
|
-
locations: locations,
|
|
215
|
-
locationOrder: locationOrder
|
|
216
|
-
};
|
|
217
|
-
|
|
218
139
|
function _typeof(obj) {
|
|
219
140
|
"@babel/helpers - typeof";
|
|
220
141
|
|
|
@@ -2473,6 +2394,7 @@
|
|
|
2473
2394
|
if (action === 'PUBLISH') return 'Publish';
|
|
2474
2395
|
if (action === 'AMEND') return 'This TAF is an amendment';
|
|
2475
2396
|
if (action === 'CORRECT') return 'This TAF is a correction';
|
|
2397
|
+
if (action === 'CANCEL') return 'Cancel TAF';
|
|
2476
2398
|
return 'Cancel TAF';
|
|
2477
2399
|
}; // Check if the amended/corrected TAF has been changed. Only compare the fields users are able to fill in
|
|
2478
2400
|
// (i.e. exclude baseforecast valid time as that gets updated when doing an amendment automatically outside of the users influence)
|
|
@@ -2514,90 +2436,179 @@
|
|
|
2514
2436
|
return 'Discard';
|
|
2515
2437
|
}
|
|
2516
2438
|
|
|
2439
|
+
case 'CANCEL':
|
|
2440
|
+
return 'Cancel';
|
|
2441
|
+
|
|
2517
2442
|
default:
|
|
2518
2443
|
{
|
|
2519
2444
|
return 'Publish';
|
|
2520
2445
|
}
|
|
2521
2446
|
}
|
|
2522
2447
|
};
|
|
2448
|
+
var emptyChangegroup = {
|
|
2449
|
+
valid: '',
|
|
2450
|
+
wind: '',
|
|
2451
|
+
visibility: '',
|
|
2452
|
+
weather: {
|
|
2453
|
+
weather1: null,
|
|
2454
|
+
weather2: null,
|
|
2455
|
+
weather3: null
|
|
2456
|
+
},
|
|
2457
|
+
cloud: {
|
|
2458
|
+
cloud1: null,
|
|
2459
|
+
cloud2: null,
|
|
2460
|
+
cloud3: null,
|
|
2461
|
+
cloud4: null
|
|
2462
|
+
},
|
|
2463
|
+
change: null,
|
|
2464
|
+
probability: null
|
|
2465
|
+
};
|
|
2466
|
+
var getTafStatusLabel = function getTafStatusLabel(status) {
|
|
2467
|
+
switch (status) {
|
|
2468
|
+
case 'DRAFT_AMENDED':
|
|
2469
|
+
return 'draft amended';
|
|
2523
2470
|
|
|
2524
|
-
|
|
2525
|
-
|
|
2471
|
+
case 'DRAFT_CORRECTED':
|
|
2472
|
+
return 'draft corrected';
|
|
2526
2473
|
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2474
|
+
default:
|
|
2475
|
+
return status.toLocaleLowerCase();
|
|
2476
|
+
}
|
|
2477
|
+
};
|
|
2478
|
+
var getMessageType = function getMessageType(taf, tafAction) {
|
|
2479
|
+
if (tafAction === 'CORRECT') {
|
|
2480
|
+
return 'COR';
|
|
2481
|
+
}
|
|
2482
|
+
|
|
2483
|
+
if (tafAction === 'AMEND') {
|
|
2484
|
+
return 'AMD';
|
|
2485
|
+
}
|
|
2533
2486
|
|
|
2487
|
+
return taf.messageType;
|
|
2488
|
+
}; // For corrections and amendment we need to add the previousValidStart and End for the TAC converter
|
|
2534
2489
|
|
|
2535
|
-
|
|
2490
|
+
var getAmendedCorrectedTafTimes = function getAmendedCorrectedTafTimes(taf, tafAction) {
|
|
2491
|
+
var previousValidDateStart = taf.previousValidDateStart && tafAction !== 'AMEND' ? taf.previousValidDateStart : taf.validDateStart;
|
|
2492
|
+
var previousValidDateEnd = taf.previousValidDateEnd && tafAction !== 'AMEND' ? taf.previousValidDateEnd : taf.validDateEnd; // For amendment change valid start time to current time
|
|
2493
|
+
// only do this if we're already within the validity period
|
|
2494
|
+
|
|
2495
|
+
if ((tafAction === 'AMEND' || tafAction === 'DRAFT_AMEND') && moment__default["default"].utc() >= moment__default["default"].utc(taf.validDateStart)) {
|
|
2496
|
+
var now = moment__default["default"].utc().format('YYYY-MM-DDTHH:mm:ss[Z]');
|
|
2497
|
+
var validObj = {
|
|
2498
|
+
start: now,
|
|
2499
|
+
end: taf.baseForecast.valid.end
|
|
2500
|
+
};
|
|
2501
|
+
return __assign(__assign({}, taf), {
|
|
2502
|
+
previousValidDateStart: previousValidDateStart,
|
|
2503
|
+
previousValidDateEnd: previousValidDateEnd,
|
|
2504
|
+
validDateStart: now,
|
|
2505
|
+
baseForecast: __assign(__assign({}, taf.baseForecast), {
|
|
2506
|
+
valid: validObj
|
|
2507
|
+
})
|
|
2508
|
+
});
|
|
2536
2509
|
}
|
|
2537
2510
|
|
|
2538
|
-
return
|
|
2511
|
+
return __assign(__assign({}, taf), {
|
|
2512
|
+
previousValidDateStart: previousValidDateStart,
|
|
2513
|
+
previousValidDateEnd: previousValidDateEnd
|
|
2514
|
+
});
|
|
2539
2515
|
};
|
|
2516
|
+
var prepareTafValues = function prepareTafValues(_taf, tafAction, addEmptyChangeGroup) {
|
|
2517
|
+
if (addEmptyChangeGroup === void 0) {
|
|
2518
|
+
addEmptyChangeGroup = false;
|
|
2519
|
+
} // If action is AMEND/CORRECT/DRAFT_AMEND/DRAFT_CORRECTION - add previous valid start and end
|
|
2520
|
+
// If action is AMEND/DRAFT_AMEND - update validity start time to current time
|
|
2540
2521
|
|
|
2541
|
-
|
|
2542
|
-
|
|
2522
|
+
|
|
2523
|
+
var taf = tafAction === 'AMEND' || tafAction === 'DRAFT_AMEND' || tafAction === 'CORRECT' || tafAction === 'DRAFT_CORRECT' ? getAmendedCorrectedTafTimes(_taf, tafAction) : _taf;
|
|
2524
|
+
return __assign(__assign(__assign(__assign({}, taf), {
|
|
2525
|
+
messageType: getMessageType(taf, tafAction),
|
|
2526
|
+
baseForecast: formatFormValues(taf.baseForecast)
|
|
2527
|
+
}), taf.changeGroups && {
|
|
2528
|
+
changeGroups: taf.changeGroups.map(formatFormValues)
|
|
2529
|
+
}), addEmptyChangeGroup && {
|
|
2530
|
+
changeGroups: [emptyChangegroup]
|
|
2531
|
+
});
|
|
2543
2532
|
};
|
|
2544
|
-
|
|
2533
|
+
|
|
2534
|
+
var textFieldStyle = function textFieldStyle(theme) {
|
|
2545
2535
|
return {
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2536
|
+
// input
|
|
2537
|
+
marginRight: '2px',
|
|
2538
|
+
marginBottom: '4px',
|
|
2539
|
+
width: 56,
|
|
2540
|
+
height: 46,
|
|
2541
|
+
input: {
|
|
2549
2542
|
textAlign: 'center',
|
|
2550
2543
|
fontSize: 10,
|
|
2551
2544
|
fontWeight: 500,
|
|
2552
2545
|
paddingLeft: 0,
|
|
2553
2546
|
paddingRight: 0,
|
|
2554
|
-
marginBotom: '2px',
|
|
2555
2547
|
'&.Mui-disabled': {
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2548
|
+
color: 'geowebColors.typographyAndIcons.text',
|
|
2549
|
+
WebkitTextFillColor: theme.palette.geowebColors.typographyAndIcons.text
|
|
2550
|
+
},
|
|
2551
|
+
// TODO: https://gitlab.com/opengeoweb/opengeoweb/-/issues/1995 disables the default autofill styling, should be a better fix
|
|
2552
|
+
'&:-webkit-autofill': {
|
|
2553
|
+
WebkitTransitionDelay: '86400s' // 1 day delay
|
|
2554
|
+
|
|
2561
2555
|
}
|
|
2562
2556
|
},
|
|
2563
|
-
|
|
2557
|
+
label: {
|
|
2558
|
+
transformOrigin: 'center top',
|
|
2559
|
+
right: 0,
|
|
2560
|
+
textAlign: 'center',
|
|
2564
2561
|
fontSize: '10px',
|
|
2565
2562
|
'&.Mui-disabled': {
|
|
2566
|
-
color:
|
|
2563
|
+
color: 'geowebColors.captions.captionStatus.rgba'
|
|
2567
2564
|
},
|
|
2568
2565
|
whiteSpace: 'nowrap',
|
|
2569
|
-
maxWidth: '100%'
|
|
2566
|
+
maxWidth: '100%',
|
|
2567
|
+
transform: 'translate(0px, 16px) scale(1)'
|
|
2570
2568
|
},
|
|
2571
|
-
|
|
2569
|
+
// shrink
|
|
2570
|
+
' .MuiInputLabel-shrink': {
|
|
2572
2571
|
transform: 'translate(2px, 10px) scale(0.75) !important',
|
|
2573
|
-
letterSpacing: '0.33px'
|
|
2572
|
+
letterSpacing: '0.33px',
|
|
2573
|
+
textAlign: 'left'
|
|
2574
|
+
},
|
|
2575
|
+
// root
|
|
2576
|
+
'&': {
|
|
2577
|
+
'.Mui-disabled:before': {
|
|
2578
|
+
borderColor: 'transparent'
|
|
2579
|
+
}
|
|
2574
2580
|
}
|
|
2575
2581
|
};
|
|
2576
|
-
}
|
|
2582
|
+
};
|
|
2583
|
+
|
|
2584
|
+
var getTafErrors = function getTafErrors(name, errors) {
|
|
2585
|
+
var nameAsArray = name.split('.');
|
|
2586
|
+
|
|
2587
|
+
if (nameAsArray[0].includes('changeGroups')) {
|
|
2588
|
+
if (errors.changeGroups) {
|
|
2589
|
+
var changeGroupNum = nameAsArray[0].slice(13, nameAsArray[0].length - 1);
|
|
2590
|
+
var restArray = nameAsArray.slice(1);
|
|
2591
|
+
return formFields.getDeepProperty(restArray, errors.changeGroups[changeGroupNum]);
|
|
2592
|
+
} // No changegroup errors
|
|
2593
|
+
|
|
2594
|
+
|
|
2595
|
+
return null;
|
|
2596
|
+
}
|
|
2597
|
+
|
|
2598
|
+
return formFields.getDeepProperty(nameAsArray, errors);
|
|
2599
|
+
};
|
|
2600
|
+
|
|
2601
|
+
var getDisplayValue = function getDisplayValue(value, disabled) {
|
|
2602
|
+
return disabled && !value ? '-' : value;
|
|
2603
|
+
};
|
|
2577
2604
|
var BaseTextField = /*#__PURE__*/React__default["default"].memo(function (props) {
|
|
2578
|
-
var classes = useStyles$8();
|
|
2579
2605
|
return /*#__PURE__*/React__default["default"].createElement(material.TextField, __assign({
|
|
2580
2606
|
type: "text",
|
|
2581
2607
|
variant: "filled",
|
|
2582
|
-
|
|
2583
|
-
classes: {
|
|
2584
|
-
root: classes.textFieldInput,
|
|
2585
|
-
input: classes.textFieldInput
|
|
2586
|
-
}
|
|
2587
|
-
},
|
|
2588
|
-
InputLabelProps: {
|
|
2589
|
-
classes: {
|
|
2590
|
-
root: classes.textFieldLabel,
|
|
2591
|
-
shrink: classes.textFieldLabelShrink
|
|
2592
|
-
}
|
|
2593
|
-
},
|
|
2594
|
-
sx: {
|
|
2595
|
-
marginRight: '2px',
|
|
2596
|
-
marginBottom: '2px'
|
|
2597
|
-
}
|
|
2608
|
+
sx: textFieldStyle
|
|
2598
2609
|
}, props));
|
|
2599
2610
|
}, function (prevProps, nextProps) {
|
|
2600
|
-
return prevProps.value === nextProps.value && prevProps.error === nextProps.error && prevProps.name === nextProps.name;
|
|
2611
|
+
return prevProps.value === nextProps.value && prevProps.error === nextProps.error && prevProps.name === nextProps.name && prevProps.disabled === nextProps.disabled;
|
|
2601
2612
|
});
|
|
2602
2613
|
|
|
2603
2614
|
var TafFormTextField = function TafFormTextField(_a) {
|
|
@@ -2824,7 +2835,8 @@
|
|
|
2824
2835
|
return /*#__PURE__*/React__namespace.createElement(shared.ToggleMenu, {
|
|
2825
2836
|
buttonTestId: "tafFormOptions[" + index + "]",
|
|
2826
2837
|
buttonSx: {
|
|
2827
|
-
|
|
2838
|
+
marginTop: '10px',
|
|
2839
|
+
marginLeft: '4px'
|
|
2828
2840
|
},
|
|
2829
2841
|
menuItems: isChangeGroup ? menuItemsChangeGroup : menuItemsBaseForecast
|
|
2830
2842
|
});
|
|
@@ -2994,13 +3006,14 @@
|
|
|
2994
3006
|
justifyContent: "flex-start",
|
|
2995
3007
|
"data-testid": "row-" + namePrefix,
|
|
2996
3008
|
container: true,
|
|
2997
|
-
ref: ref
|
|
3009
|
+
ref: ref,
|
|
3010
|
+
columns: 24
|
|
2998
3011
|
}, props), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
2999
3012
|
item: true,
|
|
3000
|
-
xs: 11
|
|
3001
|
-
}, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
3002
3013
|
container: true,
|
|
3003
|
-
justifyContent: "flex-end"
|
|
3014
|
+
justifyContent: "flex-end",
|
|
3015
|
+
xs: 24,
|
|
3016
|
+
sm: 23
|
|
3004
3017
|
}, !isChangeGroup && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
|
|
3005
3018
|
label: "Type",
|
|
3006
3019
|
name: fieldNames.messageType,
|
|
@@ -3257,9 +3270,16 @@
|
|
|
3257
3270
|
}
|
|
3258
3271
|
}
|
|
3259
3272
|
}
|
|
3260
|
-
}))
|
|
3273
|
+
})), !disabled && /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
3261
3274
|
item: true,
|
|
3262
|
-
|
|
3275
|
+
container: true,
|
|
3276
|
+
justifyContent: "flex-end",
|
|
3277
|
+
alignItems: "flex-end",
|
|
3278
|
+
xs: 24,
|
|
3279
|
+
sm: 1,
|
|
3280
|
+
sx: {
|
|
3281
|
+
marginBottom: '16px'
|
|
3282
|
+
}
|
|
3263
3283
|
}, /*#__PURE__*/React__default["default"].createElement(TafFormOptionsButton, {
|
|
3264
3284
|
isChangeGroup: isChangeGroup,
|
|
3265
3285
|
addChangeGroupBelow: addChangeGroupBelow,
|
|
@@ -3272,76 +3292,6 @@
|
|
|
3272
3292
|
})));
|
|
3273
3293
|
});
|
|
3274
3294
|
|
|
3275
|
-
var getIssuesLabel = function getIssuesLabel(sumOfErrors) {
|
|
3276
|
-
switch (sumOfErrors) {
|
|
3277
|
-
case 0:
|
|
3278
|
-
return '0 issues';
|
|
3279
|
-
|
|
3280
|
-
case 1:
|
|
3281
|
-
return '1 issue';
|
|
3282
|
-
|
|
3283
|
-
default:
|
|
3284
|
-
return sumOfErrors + " issues";
|
|
3285
|
-
}
|
|
3286
|
-
};
|
|
3287
|
-
|
|
3288
|
-
var buttonColors = {
|
|
3289
|
-
green: '#72bb23',
|
|
3290
|
-
red: '#c00000'
|
|
3291
|
-
};
|
|
3292
|
-
|
|
3293
|
-
var buttonStyle = function buttonStyle(color) {
|
|
3294
|
-
var buttonColor = buttonColors[color];
|
|
3295
|
-
return {
|
|
3296
|
-
width: '74px',
|
|
3297
|
-
color: '#ffffff',
|
|
3298
|
-
backgroundColor: buttonColor,
|
|
3299
|
-
'&:hover': {
|
|
3300
|
-
backgroundColor: buttonColor
|
|
3301
|
-
},
|
|
3302
|
-
'&:focus': {
|
|
3303
|
-
backgroundColor: buttonColor
|
|
3304
|
-
},
|
|
3305
|
-
fontSize: 12
|
|
3306
|
-
};
|
|
3307
|
-
};
|
|
3308
|
-
|
|
3309
|
-
var IssuesButton = function IssuesButton(_a) {
|
|
3310
|
-
var togglePane = _a.togglePane,
|
|
3311
|
-
sumOfErrors = _a.sumOfErrors;
|
|
3312
|
-
var color = sumOfErrors > 0 ? 'red' : 'green';
|
|
3313
|
-
return /*#__PURE__*/React__namespace.createElement(material.Tooltip, {
|
|
3314
|
-
title: "View details"
|
|
3315
|
-
}, /*#__PURE__*/React__namespace.createElement(material.Chip, {
|
|
3316
|
-
"data-testid": "issuesButton",
|
|
3317
|
-
size: "small",
|
|
3318
|
-
label: getIssuesLabel(sumOfErrors),
|
|
3319
|
-
style: __assign({}, buttonStyle(color)),
|
|
3320
|
-
onClick: togglePane
|
|
3321
|
-
}));
|
|
3322
|
-
};
|
|
3323
|
-
|
|
3324
|
-
var ThumbsUp = function ThumbsUp(props) {
|
|
3325
|
-
return /*#__PURE__*/React__default["default"].createElement(material.SvgIcon, __assign({
|
|
3326
|
-
fontSize: "inherit",
|
|
3327
|
-
viewBox: "0 0 58 69"
|
|
3328
|
-
}, props), /*#__PURE__*/React__default["default"].createElement("title", null, "Thumbs up"), /*#__PURE__*/React__default["default"].createElement("g", {
|
|
3329
|
-
id: "Thumbs-up",
|
|
3330
|
-
stroke: "none",
|
|
3331
|
-
strokeWidth: "1",
|
|
3332
|
-
fill: "none",
|
|
3333
|
-
fillRule: "evenodd"
|
|
3334
|
-
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
3335
|
-
d: "M3.99883665,31.7843145 C7.41834232,30.0745617 7.39773108,30.3805485 10.9988366,28.8843145 C14.5999422,27.3880805 16.06167,27.0500418 18.1988366,25.8843145 C19.0904815,25.3979628 19.820202,24.8243341 20.5488366,24.1634286 C20.9845024,23.7682595 22.8819728,21.7794437 23.5488366,20.8277879 C24.2586546,19.8148341 25.1756722,18.5003429 25.9988366,16.8843145 C28.3936103,12.1829184 28.889513,9.4076237 29.8988366,6.88431453 C30.4506375,5.50481234 31.0206747,4.13576029 31.6089482,2.77715837 C31.8562473,2.20602771 32.1648239,1.47549588 32.9988366,0.88431453 C33.2365758,0.715795602 34.0556054,0.253858312 35.0144255,0.0843145301 C36.0262338,-0.0945989315 37.1937102,0.0296108539 37.9980376,0.28431453 C38.7449403,0.520833719 39.4692925,0.860990256 40.1710941,1.30478414 C40.2879689,1.37869154 41.2393256,2.13799569 41.8988366,3.58269657 C42.290748,4.4412034 42.5040976,4.92788584 42.7988366,6.88431453 C42.9953293,8.18860032 43.0453293,9.52193365 42.9488366,10.8843145 C42.947848,11.8251839 42.6645146,13.1585172 42.0988366,14.8843145 C41.9160014,15.4421169 41.6403041,16.2990156 41.2988366,17.1941099 C40.9325633,18.1542284 40.4965053,19.1582935 40.1988366,19.8843145 C39.1594737,22.4193462 37.7498356,25.6900566 37.4561402,26.5124038 C37.2603433,27.0606352 37.1745754,27.6512721 37.1988366,28.2843145 C37.21217,28.4109812 37.2455033,28.5187344 37.2988366,28.6075742 C37.35217,28.6964139 37.45217,28.821994 37.5988366,28.9843145 C38.7401033,28.7100145 39.6802034,28.5266812 40.4191367,28.4343145 C41.6262088,28.2834305 44.7342553,28.0975232 47.4943878,28.1962584 C50.2545202,28.2949937 51.7465936,28.4428269 52.9988366,28.8843145 C53.8336653,29.1786396 54.540332,29.8453063 55.1188366,30.8843145 C55.3507184,31.5616882 55.477385,32.2303996 55.4988366,32.8904489 C55.5202882,33.5504981 55.4369549,34.21512 55.2488366,34.8843145 C54.956044,35.585751 54.5393773,36.1190843 53.9988366,36.4843145 C53.4582959,36.8495447 52.6416293,37.1495447 51.5488366,37.3843145 C51.46217,37.6709812 51.4455033,37.9376479 51.4988366,38.1843145 C51.55217,38.4309812 51.7188366,38.5976479 51.9988366,38.6843145 C53.0027645,38.7154727 53.6750204,38.7821393 54.0156044,38.8843145 C54.7031375,39.0905745 55.3642149,39.4239078 55.9988366,39.8843145 C56.4980387,40.3674862 56.831372,40.7202741 56.9988366,40.9426784 C57.2459451,41.2708552 57.8988366,42.3863253 57.8988366,43.8843145 C57.8988366,44.882974 57.53217,45.882974 56.7988366,46.8843145 C56.4100652,47.2645006 55.9767318,47.5818962 55.4988366,47.8365013 C55.0209415,48.0911064 54.5157721,48.2737108 53.9833285,48.3843145 L52.6988366,48.3843145 C52.2988366,48.6576479 52.0988366,48.9643145 52.0988366,49.3043145 C52.0988366,49.6443145 52.1655033,49.9376479 52.2988366,50.1843145 L53.4440689,50.6343145 C54.0486381,50.9097065 54.566894,51.3263732 54.9988366,51.8843145 C55.2403033,52.1962176 55.7126861,53.1830494 55.7488366,53.8843145 C55.7849872,54.5855797 55.7892838,54.8412841 55.675362,55.3021772 C55.5409724,55.8458769 55.3321306,56.373256 54.9488366,56.8843145 C54.6880408,57.2320423 54.3421972,57.542124 54.0113058,57.8145598 C53.720974,58.0536013 53.0623839,58.3923099 52.0355354,58.6843145 C51.8426264,58.739172 51.4970601,58.8058387 50.9988366,58.8843145 L49.2488366,58.9843145 C48.96217,59.1509812 48.7955033,59.3509812 48.7488366,59.5843145 C48.70217,59.8176479 48.7855033,60.0643145 48.9988366,60.3243145 L50.0168579,60.6843145 C51.0110333,61.2176479 51.5216929,61.9496429 51.5488366,62.8802998 C51.5895523,64.276285 51.475285,65.4556464 50.0016466,66.7843145 C49.4876586,67.2477386 48.8545536,67.4912052 48.1023318,67.7343145 C47.6452927,67.8820242 46.8607943,68.0486909 45.7488366,68.2343145 L40.0010327,68.6843145 C38.1462353,68.7443145 36.81217,68.7776479 35.9988366,68.7843145 C34.7788366,68.7943145 28.6377735,68.7414839 25.3910307,68.5132824 C22.1442879,68.2850808 21.4236621,68.1168902 18.9258088,67.5843145 C16.4279556,67.0517389 16.0894589,66.9976619 13.9988366,66.0843145 C12.6050885,65.4754163 11.2717551,64.6754163 9.99883665,63.6843145 L5.99912679,59.8445931 C5.6005732,59.505994 5.13964906,59.1744645 4.61635438,58.8500046 C3.83141237,58.3633147 3.44878136,58.2942773 2.99883665,57.9843145 C2.44718062,57.6042838 2.05635486,57.1737105 1.71932092,56.7662516 C1.30382099,56.2639309 0.723401214,54.7703696 0.498836646,53.8721113 C0.239479861,52.8346842 0.182966814,51.4491222 0.134208514,50.425802 C0.00166588165,47.644049 0.0975252306,47.2982714 0.0687602378,44.8458357 C0.0452570713,42.8420109 -0.0277106081,40.4082829 0.0112302522,39.9409643 C0.224109489,37.3862585 0.450803729,36.3915418 0.898836646,34.8843145 C1.09883665,34.2114947 1.78104521,33.1945675 2.17275045,32.889441 C2.5644557,32.5843145 3.13875358,32.2143561 3.99883665,31.7843145 Z",
|
|
3336
|
-
id: "Path-2",
|
|
3337
|
-
fill: "#FFBF00"
|
|
3338
|
-
}), /*#__PURE__*/React__default["default"].createElement("path", {
|
|
3339
|
-
d: "M37.1988366,28.2843145 C36.6491114,28.3570112 36.2566531,28.4236779 36.0214618,28.4843145 C35.0603746,28.7321005 34.3937143,29.0314706 34.021481,29.207818 C33.777778,29.3232735 32.5285093,30.04554 31.6988366,30.8956082 C31.0356177,31.5751308 30.7670551,32.3363186 30.5620165,32.9344937 C29.9561734,34.7019667 30.4904911,36.5989836 30.5988366,36.8981554 C30.8174274,37.5017447 31.0945063,37.9694877 31.2988366,38.4843145 C31.4064264,38.7553957 31.4498365,39.7521385 31.3985954,40.9130014 C31.388536,41.1408948 31.3995111,42.8738523 30.5816296,45.1307691 C30.125032,46.3907349 29.4940749,47.743868 28.6988366,48.906031 C27.6082165,50.4998658 26.3589437,51.7345157 26.1988366,51.8770596 C25.2520649,52.7199732 23.8988366,53.516454 23.3777374,54.1031009 C22.8566381,54.6897478 22.8988366,54.7174426 22.8988366,54.8843145 C22.8988366,55.0643438 22.9342857,55.2139882 23.0063234,55.32641 C23.2544011,55.7135594 23.9363916,55.6592779 25.0988366,54.8843145 C25.8683088,54.3713331 26.8213311,53.5952018 27.5988366,52.8259025 C28.3369913,52.0955388 28.9092218,51.3713331 29.2988366,50.8843145 C29.6096134,50.4958436 30.1890589,49.8244169 30.7488366,48.8700346 C31.0160857,48.4143934 31.4327524,47.5858201 31.9988366,46.3843145 C31.9988366,46.7176479 32.33217,47.2176479 32.9988366,47.8843145 C33.1686748,48.0541527 33.5020081,48.3041527 33.9988366,48.6343145 C33.535822,48.6343145 33.2024887,48.6676479 32.9988366,48.7343145 C31.9774176,49.1343145 31.4345654,49.3440777 30.8488366,49.8843145 C30.1709576,50.5095446 29.6310297,51.1756019 29.3988366,52.3843145 C29.1722814,53.5636787 29.3142136,54.632966 29.6488366,55.5921767 C29.928312,56.3933044 30.3156141,57.1176481 30.9865396,57.7652076 C31.1856402,57.9573742 31.5230725,58.2304098 31.9988366,58.5843145 C30.2988366,59.4509812 29.4488366,60.8843145 29.4488366,62.8843145 C29.4488366,65.8843145 31.4988366,68.7843145 35.9988366,68.7843145 C37.2162866,68.7843145 38.5382158,68.7607397 39.9988366,68.6843145 C41.1579568,68.623665 43.0746234,68.473665 45.7488366,68.2343145 C42.81999,68.0652276 40.9033233,67.948561 39.9988366,67.8843145 C38.4397862,67.7735739 34.9576244,67.4218793 34.5109642,67.2843145 C33.8898949,67.0930342 33.3876529,66.66767 32.9988366,66.3843145 C31.7988366,65.509797 31.6488366,63.8668327 31.6488366,63.3843145 C31.6488366,62.6767971 32.115551,61.4820497 32.7124803,60.9291427 C33.2967248,60.387985 34.101504,59.9827037 34.9988366,59.8343145 C36.8129843,59.5343145 37.8279851,59.6343145 38.9968712,59.6343145 C41.8836014,59.6343145 46.4559662,59.9063364 47.0327603,59.9503801 C47.6352731,59.9963876 48.2906319,60.1194654 48.9988366,60.3196132 C48.7881139,60.0647262 48.7047806,59.8196266 48.7488366,59.5843145 C48.7928927,59.3490025 48.9595594,59.1490025 49.2488366,58.9843145 C41.7042463,58.5910176 37.2875796,58.2576842 35.9988366,57.9843145 C34.0657222,57.57426 33.0783849,56.5232188 32.4988366,55.3843145 C32.1808463,54.7594131 31.9988366,54.0680377 32.1988366,52.8843145 C32.4054546,51.661422 33.0758788,51.154421 33.9988366,50.7343145 C35.0343809,50.2629616 36.2160776,50.213626 38.0168693,50.1343145 C41.4226671,49.9843145 41.9988366,49.8715355 44.9988366,49.8843145 C47.4322993,49.8928339 49.8656327,49.9928339 52.2988366,50.1843145 C52.1655033,49.9452767 52.0988366,49.6535253 52.0988366,49.3090604 C52.0988366,48.9645954 52.2988366,48.6563468 52.6988366,48.3843145 C49.4970675,48.4374708 47.2644784,48.4840975 46.0010696,48.5241946 C42.8267531,48.6249387 40.1650305,48.7843145 38.0159019,48.6090596 C36.5073153,48.3843145 35.5349602,47.7454709 35.0988366,47.3586886 C33.5267511,45.9644623 33.6909724,44.1458838 33.6988366,43.902953 C33.7490538,42.3517256 34.2594453,41.6540102 34.9988366,41.2843145 C36.9988366,40.2843145 38.521019,40.3843145 40.9988366,39.8843145 L51.9988366,38.6843145 C51.7847588,38.5992008 51.6347588,38.4325341 51.5488366,38.1843145 C51.4629145,37.9360949 51.4629145,37.6694283 51.5488366,37.3843145 C48.6830402,37.6590904 46.693269,37.8590904 45.579523,37.9843145 C44.2653604,38.1320725 42.7384649,38.3154059 40.9988366,38.5343145 C38.9988366,38.6009812 37.6749072,38.5733169 37.0270482,38.4513217 C35.0988366,38.2216852 33.4888366,37.4843145 33.4388366,34.8545872 C33.3888366,32.7744565 33.7430954,32.2207578 33.8988366,31.9295788 C34.3117653,31.1575537 34.9128559,30.575799 35.3988366,30.1843145 C36.0681111,29.6451768 36.8014444,29.2451768 37.5988366,28.9843145 C37.4503711,28.8228789 37.3503711,28.6970685 37.2988366,28.6068833 C37.2473022,28.516698 37.2139689,28.4091751 37.1988366,28.2843145 Z",
|
|
3340
|
-
id: "Path",
|
|
3341
|
-
fill: "#F28700"
|
|
3342
|
-
})));
|
|
3343
|
-
};
|
|
3344
|
-
|
|
3345
3295
|
/* *
|
|
3346
3296
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3347
3297
|
* you may not use this file except in compliance with the License.
|
|
@@ -3358,15 +3308,204 @@
|
|
|
3358
3308
|
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
3359
3309
|
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
3360
3310
|
* */
|
|
3361
|
-
var
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
|
|
3367
|
-
|
|
3311
|
+
var buttonsStyle = {
|
|
3312
|
+
button: {
|
|
3313
|
+
minWidth: {
|
|
3314
|
+
xs: '56px',
|
|
3315
|
+
sm: '64px'
|
|
3316
|
+
},
|
|
3317
|
+
width: {
|
|
3318
|
+
xs: '56px',
|
|
3319
|
+
sm: '64px'
|
|
3320
|
+
},
|
|
3321
|
+
marginLeft: {
|
|
3322
|
+
xs: 0.5,
|
|
3323
|
+
sm: 1
|
|
3324
|
+
},
|
|
3325
|
+
marginTop: 3,
|
|
3326
|
+
marginBottom: 3
|
|
3368
3327
|
}
|
|
3369
|
-
}
|
|
3328
|
+
};
|
|
3329
|
+
|
|
3330
|
+
var ViewModeButtons = function ViewModeButtons(_a) {
|
|
3331
|
+
var canBe = _a.canBe,
|
|
3332
|
+
onTafViewModeButtonPress = _a.onTafViewModeButtonPress;
|
|
3333
|
+
return !canBe.includes('CANCELLED') && !canBe.includes('CORRECTED') && !canBe.includes('AMENDED') ? null : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, canBe.includes('CANCELLED') && /*#__PURE__*/React__default["default"].createElement(material.Button, {
|
|
3334
|
+
"data-testid": "canceltaf",
|
|
3335
|
+
variant: "tertiary",
|
|
3336
|
+
onClick: function onClick() {
|
|
3337
|
+
return onTafViewModeButtonPress('CANCEL');
|
|
3338
|
+
}
|
|
3339
|
+
}, "Cancel"), canBe.includes('CORRECTED') && /*#__PURE__*/React__default["default"].createElement(material.Button, {
|
|
3340
|
+
"data-testid": "correctaf",
|
|
3341
|
+
variant: "tertiary",
|
|
3342
|
+
onClick: function onClick() {
|
|
3343
|
+
return onTafViewModeButtonPress('CORRECT');
|
|
3344
|
+
}
|
|
3345
|
+
}, "Correct"), canBe.includes('AMENDED') && /*#__PURE__*/React__default["default"].createElement(material.Button, {
|
|
3346
|
+
"data-testid": "amendtaf",
|
|
3347
|
+
variant: "tertiary",
|
|
3348
|
+
onClick: function onClick() {
|
|
3349
|
+
return onTafViewModeButtonPress('AMEND');
|
|
3350
|
+
}
|
|
3351
|
+
}, "Amend"));
|
|
3352
|
+
};
|
|
3353
|
+
|
|
3354
|
+
var TafFormButtons = function TafFormButtons(_a) {
|
|
3355
|
+
var _b = _a.isFormDisabled,
|
|
3356
|
+
isFormDisabled = _b === void 0 ? false : _b,
|
|
3357
|
+
tafAction = _a.tafAction,
|
|
3358
|
+
_c = _a.canBe,
|
|
3359
|
+
canBe = _c === void 0 ? [] : _c,
|
|
3360
|
+
onTafEditModeButtonPress = _a.onTafEditModeButtonPress,
|
|
3361
|
+
onTafViewModeButtonPress = _a.onTafViewModeButtonPress;
|
|
3362
|
+
return /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
3363
|
+
container: true,
|
|
3364
|
+
justifyContent: "flex-end",
|
|
3365
|
+
sx: buttonsStyle,
|
|
3366
|
+
columns: 24
|
|
3367
|
+
}, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
3368
|
+
item: true,
|
|
3369
|
+
container: true,
|
|
3370
|
+
justifyContent: "flex-end",
|
|
3371
|
+
xs: 24,
|
|
3372
|
+
sm: 23
|
|
3373
|
+
}, isFormDisabled ? /*#__PURE__*/React__default["default"].createElement(ViewModeButtons, {
|
|
3374
|
+
canBe: canBe,
|
|
3375
|
+
onTafViewModeButtonPress: onTafViewModeButtonPress
|
|
3376
|
+
}) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(material.Button, {
|
|
3377
|
+
"data-testid": "discardtaf",
|
|
3378
|
+
variant: "tertiary",
|
|
3379
|
+
onClick: function onClick() {
|
|
3380
|
+
// Simply discard the changes and close the dialog.
|
|
3381
|
+
onTafEditModeButtonPress('DISCARD');
|
|
3382
|
+
}
|
|
3383
|
+
}, "Discard"), /*#__PURE__*/React__default["default"].createElement(material.Button, {
|
|
3384
|
+
"data-testid": "savedrafttaf",
|
|
3385
|
+
variant: "tertiary",
|
|
3386
|
+
onClick: function onClick() {
|
|
3387
|
+
/* Save the TAF as draft:
|
|
3388
|
+
if action NEW or DRAFT - new status will be DRAFT -- default
|
|
3389
|
+
if action AMEND - new status will be DRAFT_AMENDED
|
|
3390
|
+
if action CORRECT - new status will be DRAFT_CORRECTED
|
|
3391
|
+
if action DRAFT_AMEND - new status will be DRAFT_AMENDED
|
|
3392
|
+
if action DRAFT_CORRECT - new status will be DRAFT_CORRECTED
|
|
3393
|
+
*/
|
|
3394
|
+
switch (tafAction) {
|
|
3395
|
+
case 'AMEND':
|
|
3396
|
+
case 'DRAFT_AMEND':
|
|
3397
|
+
onTafEditModeButtonPress('DRAFT_AMEND');
|
|
3398
|
+
break;
|
|
3399
|
+
|
|
3400
|
+
case 'CORRECT':
|
|
3401
|
+
case 'DRAFT_CORRECT':
|
|
3402
|
+
onTafEditModeButtonPress('DRAFT_CORRECT');
|
|
3403
|
+
break;
|
|
3404
|
+
|
|
3405
|
+
default:
|
|
3406
|
+
onTafEditModeButtonPress('DRAFT');
|
|
3407
|
+
break;
|
|
3408
|
+
}
|
|
3409
|
+
}
|
|
3410
|
+
}, "Save"), /*#__PURE__*/React__default["default"].createElement(material.Button, {
|
|
3411
|
+
"data-testid": "publishtaf",
|
|
3412
|
+
variant: "tertiary",
|
|
3413
|
+
onClick: function onClick() {
|
|
3414
|
+
/* Publish the TAF:
|
|
3415
|
+
if action NEW or DRAFT - new status will be PUBLISHED -- default
|
|
3416
|
+
if action AMEND - new status will be AMENDED
|
|
3417
|
+
if action CORRECT - new status will be CORRECTED
|
|
3418
|
+
if action DRAFT_AMEND - new status will be AMENDED
|
|
3419
|
+
if action DRAFT_CORRECT - new status will be CORRECTED
|
|
3420
|
+
*/
|
|
3421
|
+
switch (tafAction) {
|
|
3422
|
+
case 'AMEND':
|
|
3423
|
+
case 'DRAFT_AMEND':
|
|
3424
|
+
onTafEditModeButtonPress('AMEND');
|
|
3425
|
+
break;
|
|
3426
|
+
|
|
3427
|
+
case 'CORRECT':
|
|
3428
|
+
case 'DRAFT_CORRECT':
|
|
3429
|
+
onTafEditModeButtonPress('CORRECT');
|
|
3430
|
+
break;
|
|
3431
|
+
|
|
3432
|
+
default:
|
|
3433
|
+
onTafEditModeButtonPress('PUBLISH');
|
|
3434
|
+
break;
|
|
3435
|
+
}
|
|
3436
|
+
}
|
|
3437
|
+
}, "Publish"))), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
3438
|
+
item: true,
|
|
3439
|
+
sm: 1
|
|
3440
|
+
}));
|
|
3441
|
+
};
|
|
3442
|
+
|
|
3443
|
+
/* *
|
|
3444
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3445
|
+
* you may not use this file except in compliance with the License.
|
|
3446
|
+
* You may obtain a copy of the License at
|
|
3447
|
+
*
|
|
3448
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3449
|
+
*
|
|
3450
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3451
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3452
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3453
|
+
* See the License for the specific language governing permissions and
|
|
3454
|
+
* limitations under the License.
|
|
3455
|
+
*
|
|
3456
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
3457
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
3458
|
+
* */
|
|
3459
|
+
var useStyles = makeStyles__default["default"](function () {
|
|
3460
|
+
return {
|
|
3461
|
+
dragHandle: {
|
|
3462
|
+
backgroundColor: 'transparent',
|
|
3463
|
+
'&:hover': {
|
|
3464
|
+
backgroundColor: 'transparent'
|
|
3465
|
+
},
|
|
3466
|
+
cursor: function cursor(isSorting) {
|
|
3467
|
+
return isSorting ? 'grabbing' : 'grab';
|
|
3468
|
+
}
|
|
3469
|
+
}
|
|
3470
|
+
};
|
|
3471
|
+
});
|
|
3472
|
+
|
|
3473
|
+
var DragHandle = function DragHandle(_a) {
|
|
3474
|
+
var _b = _a.isSorting,
|
|
3475
|
+
isSorting = _b === void 0 ? false : _b,
|
|
3476
|
+
_c = _a.isDisabled,
|
|
3477
|
+
isDisabled = _c === void 0 ? false : _c,
|
|
3478
|
+
index = _a.index;
|
|
3479
|
+
var classes = useStyles(isSorting);
|
|
3480
|
+
return /*#__PURE__*/React__default["default"].createElement(material.IconButton, {
|
|
3481
|
+
className: classes.dragHandle + " handle",
|
|
3482
|
+
"data-testid": "dragHandle-" + index,
|
|
3483
|
+
disableRipple: true,
|
|
3484
|
+
disabled: isDisabled,
|
|
3485
|
+
size: "large"
|
|
3486
|
+
}, /*#__PURE__*/React__default["default"].createElement(iconsMaterial.DragIndicator, null));
|
|
3487
|
+
};
|
|
3488
|
+
|
|
3489
|
+
var ThumbsUp = function ThumbsUp(props) {
|
|
3490
|
+
return /*#__PURE__*/React__default["default"].createElement(material.SvgIcon, __assign({
|
|
3491
|
+
fontSize: "inherit",
|
|
3492
|
+
viewBox: "0 0 58 69"
|
|
3493
|
+
}, props), /*#__PURE__*/React__default["default"].createElement("title", null, "Thumbs up"), /*#__PURE__*/React__default["default"].createElement("g", {
|
|
3494
|
+
id: "Thumbs-up",
|
|
3495
|
+
stroke: "none",
|
|
3496
|
+
strokeWidth: "1",
|
|
3497
|
+
fill: "none",
|
|
3498
|
+
fillRule: "evenodd"
|
|
3499
|
+
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
3500
|
+
d: "M3.99883665,31.7843145 C7.41834232,30.0745617 7.39773108,30.3805485 10.9988366,28.8843145 C14.5999422,27.3880805 16.06167,27.0500418 18.1988366,25.8843145 C19.0904815,25.3979628 19.820202,24.8243341 20.5488366,24.1634286 C20.9845024,23.7682595 22.8819728,21.7794437 23.5488366,20.8277879 C24.2586546,19.8148341 25.1756722,18.5003429 25.9988366,16.8843145 C28.3936103,12.1829184 28.889513,9.4076237 29.8988366,6.88431453 C30.4506375,5.50481234 31.0206747,4.13576029 31.6089482,2.77715837 C31.8562473,2.20602771 32.1648239,1.47549588 32.9988366,0.88431453 C33.2365758,0.715795602 34.0556054,0.253858312 35.0144255,0.0843145301 C36.0262338,-0.0945989315 37.1937102,0.0296108539 37.9980376,0.28431453 C38.7449403,0.520833719 39.4692925,0.860990256 40.1710941,1.30478414 C40.2879689,1.37869154 41.2393256,2.13799569 41.8988366,3.58269657 C42.290748,4.4412034 42.5040976,4.92788584 42.7988366,6.88431453 C42.9953293,8.18860032 43.0453293,9.52193365 42.9488366,10.8843145 C42.947848,11.8251839 42.6645146,13.1585172 42.0988366,14.8843145 C41.9160014,15.4421169 41.6403041,16.2990156 41.2988366,17.1941099 C40.9325633,18.1542284 40.4965053,19.1582935 40.1988366,19.8843145 C39.1594737,22.4193462 37.7498356,25.6900566 37.4561402,26.5124038 C37.2603433,27.0606352 37.1745754,27.6512721 37.1988366,28.2843145 C37.21217,28.4109812 37.2455033,28.5187344 37.2988366,28.6075742 C37.35217,28.6964139 37.45217,28.821994 37.5988366,28.9843145 C38.7401033,28.7100145 39.6802034,28.5266812 40.4191367,28.4343145 C41.6262088,28.2834305 44.7342553,28.0975232 47.4943878,28.1962584 C50.2545202,28.2949937 51.7465936,28.4428269 52.9988366,28.8843145 C53.8336653,29.1786396 54.540332,29.8453063 55.1188366,30.8843145 C55.3507184,31.5616882 55.477385,32.2303996 55.4988366,32.8904489 C55.5202882,33.5504981 55.4369549,34.21512 55.2488366,34.8843145 C54.956044,35.585751 54.5393773,36.1190843 53.9988366,36.4843145 C53.4582959,36.8495447 52.6416293,37.1495447 51.5488366,37.3843145 C51.46217,37.6709812 51.4455033,37.9376479 51.4988366,38.1843145 C51.55217,38.4309812 51.7188366,38.5976479 51.9988366,38.6843145 C53.0027645,38.7154727 53.6750204,38.7821393 54.0156044,38.8843145 C54.7031375,39.0905745 55.3642149,39.4239078 55.9988366,39.8843145 C56.4980387,40.3674862 56.831372,40.7202741 56.9988366,40.9426784 C57.2459451,41.2708552 57.8988366,42.3863253 57.8988366,43.8843145 C57.8988366,44.882974 57.53217,45.882974 56.7988366,46.8843145 C56.4100652,47.2645006 55.9767318,47.5818962 55.4988366,47.8365013 C55.0209415,48.0911064 54.5157721,48.2737108 53.9833285,48.3843145 L52.6988366,48.3843145 C52.2988366,48.6576479 52.0988366,48.9643145 52.0988366,49.3043145 C52.0988366,49.6443145 52.1655033,49.9376479 52.2988366,50.1843145 L53.4440689,50.6343145 C54.0486381,50.9097065 54.566894,51.3263732 54.9988366,51.8843145 C55.2403033,52.1962176 55.7126861,53.1830494 55.7488366,53.8843145 C55.7849872,54.5855797 55.7892838,54.8412841 55.675362,55.3021772 C55.5409724,55.8458769 55.3321306,56.373256 54.9488366,56.8843145 C54.6880408,57.2320423 54.3421972,57.542124 54.0113058,57.8145598 C53.720974,58.0536013 53.0623839,58.3923099 52.0355354,58.6843145 C51.8426264,58.739172 51.4970601,58.8058387 50.9988366,58.8843145 L49.2488366,58.9843145 C48.96217,59.1509812 48.7955033,59.3509812 48.7488366,59.5843145 C48.70217,59.8176479 48.7855033,60.0643145 48.9988366,60.3243145 L50.0168579,60.6843145 C51.0110333,61.2176479 51.5216929,61.9496429 51.5488366,62.8802998 C51.5895523,64.276285 51.475285,65.4556464 50.0016466,66.7843145 C49.4876586,67.2477386 48.8545536,67.4912052 48.1023318,67.7343145 C47.6452927,67.8820242 46.8607943,68.0486909 45.7488366,68.2343145 L40.0010327,68.6843145 C38.1462353,68.7443145 36.81217,68.7776479 35.9988366,68.7843145 C34.7788366,68.7943145 28.6377735,68.7414839 25.3910307,68.5132824 C22.1442879,68.2850808 21.4236621,68.1168902 18.9258088,67.5843145 C16.4279556,67.0517389 16.0894589,66.9976619 13.9988366,66.0843145 C12.6050885,65.4754163 11.2717551,64.6754163 9.99883665,63.6843145 L5.99912679,59.8445931 C5.6005732,59.505994 5.13964906,59.1744645 4.61635438,58.8500046 C3.83141237,58.3633147 3.44878136,58.2942773 2.99883665,57.9843145 C2.44718062,57.6042838 2.05635486,57.1737105 1.71932092,56.7662516 C1.30382099,56.2639309 0.723401214,54.7703696 0.498836646,53.8721113 C0.239479861,52.8346842 0.182966814,51.4491222 0.134208514,50.425802 C0.00166588165,47.644049 0.0975252306,47.2982714 0.0687602378,44.8458357 C0.0452570713,42.8420109 -0.0277106081,40.4082829 0.0112302522,39.9409643 C0.224109489,37.3862585 0.450803729,36.3915418 0.898836646,34.8843145 C1.09883665,34.2114947 1.78104521,33.1945675 2.17275045,32.889441 C2.5644557,32.5843145 3.13875358,32.2143561 3.99883665,31.7843145 Z",
|
|
3501
|
+
id: "Path-2",
|
|
3502
|
+
fill: "#FFBF00"
|
|
3503
|
+
}), /*#__PURE__*/React__default["default"].createElement("path", {
|
|
3504
|
+
d: "M37.1988366,28.2843145 C36.6491114,28.3570112 36.2566531,28.4236779 36.0214618,28.4843145 C35.0603746,28.7321005 34.3937143,29.0314706 34.021481,29.207818 C33.777778,29.3232735 32.5285093,30.04554 31.6988366,30.8956082 C31.0356177,31.5751308 30.7670551,32.3363186 30.5620165,32.9344937 C29.9561734,34.7019667 30.4904911,36.5989836 30.5988366,36.8981554 C30.8174274,37.5017447 31.0945063,37.9694877 31.2988366,38.4843145 C31.4064264,38.7553957 31.4498365,39.7521385 31.3985954,40.9130014 C31.388536,41.1408948 31.3995111,42.8738523 30.5816296,45.1307691 C30.125032,46.3907349 29.4940749,47.743868 28.6988366,48.906031 C27.6082165,50.4998658 26.3589437,51.7345157 26.1988366,51.8770596 C25.2520649,52.7199732 23.8988366,53.516454 23.3777374,54.1031009 C22.8566381,54.6897478 22.8988366,54.7174426 22.8988366,54.8843145 C22.8988366,55.0643438 22.9342857,55.2139882 23.0063234,55.32641 C23.2544011,55.7135594 23.9363916,55.6592779 25.0988366,54.8843145 C25.8683088,54.3713331 26.8213311,53.5952018 27.5988366,52.8259025 C28.3369913,52.0955388 28.9092218,51.3713331 29.2988366,50.8843145 C29.6096134,50.4958436 30.1890589,49.8244169 30.7488366,48.8700346 C31.0160857,48.4143934 31.4327524,47.5858201 31.9988366,46.3843145 C31.9988366,46.7176479 32.33217,47.2176479 32.9988366,47.8843145 C33.1686748,48.0541527 33.5020081,48.3041527 33.9988366,48.6343145 C33.535822,48.6343145 33.2024887,48.6676479 32.9988366,48.7343145 C31.9774176,49.1343145 31.4345654,49.3440777 30.8488366,49.8843145 C30.1709576,50.5095446 29.6310297,51.1756019 29.3988366,52.3843145 C29.1722814,53.5636787 29.3142136,54.632966 29.6488366,55.5921767 C29.928312,56.3933044 30.3156141,57.1176481 30.9865396,57.7652076 C31.1856402,57.9573742 31.5230725,58.2304098 31.9988366,58.5843145 C30.2988366,59.4509812 29.4488366,60.8843145 29.4488366,62.8843145 C29.4488366,65.8843145 31.4988366,68.7843145 35.9988366,68.7843145 C37.2162866,68.7843145 38.5382158,68.7607397 39.9988366,68.6843145 C41.1579568,68.623665 43.0746234,68.473665 45.7488366,68.2343145 C42.81999,68.0652276 40.9033233,67.948561 39.9988366,67.8843145 C38.4397862,67.7735739 34.9576244,67.4218793 34.5109642,67.2843145 C33.8898949,67.0930342 33.3876529,66.66767 32.9988366,66.3843145 C31.7988366,65.509797 31.6488366,63.8668327 31.6488366,63.3843145 C31.6488366,62.6767971 32.115551,61.4820497 32.7124803,60.9291427 C33.2967248,60.387985 34.101504,59.9827037 34.9988366,59.8343145 C36.8129843,59.5343145 37.8279851,59.6343145 38.9968712,59.6343145 C41.8836014,59.6343145 46.4559662,59.9063364 47.0327603,59.9503801 C47.6352731,59.9963876 48.2906319,60.1194654 48.9988366,60.3196132 C48.7881139,60.0647262 48.7047806,59.8196266 48.7488366,59.5843145 C48.7928927,59.3490025 48.9595594,59.1490025 49.2488366,58.9843145 C41.7042463,58.5910176 37.2875796,58.2576842 35.9988366,57.9843145 C34.0657222,57.57426 33.0783849,56.5232188 32.4988366,55.3843145 C32.1808463,54.7594131 31.9988366,54.0680377 32.1988366,52.8843145 C32.4054546,51.661422 33.0758788,51.154421 33.9988366,50.7343145 C35.0343809,50.2629616 36.2160776,50.213626 38.0168693,50.1343145 C41.4226671,49.9843145 41.9988366,49.8715355 44.9988366,49.8843145 C47.4322993,49.8928339 49.8656327,49.9928339 52.2988366,50.1843145 C52.1655033,49.9452767 52.0988366,49.6535253 52.0988366,49.3090604 C52.0988366,48.9645954 52.2988366,48.6563468 52.6988366,48.3843145 C49.4970675,48.4374708 47.2644784,48.4840975 46.0010696,48.5241946 C42.8267531,48.6249387 40.1650305,48.7843145 38.0159019,48.6090596 C36.5073153,48.3843145 35.5349602,47.7454709 35.0988366,47.3586886 C33.5267511,45.9644623 33.6909724,44.1458838 33.6988366,43.902953 C33.7490538,42.3517256 34.2594453,41.6540102 34.9988366,41.2843145 C36.9988366,40.2843145 38.521019,40.3843145 40.9988366,39.8843145 L51.9988366,38.6843145 C51.7847588,38.5992008 51.6347588,38.4325341 51.5488366,38.1843145 C51.4629145,37.9360949 51.4629145,37.6694283 51.5488366,37.3843145 C48.6830402,37.6590904 46.693269,37.8590904 45.579523,37.9843145 C44.2653604,38.1320725 42.7384649,38.3154059 40.9988366,38.5343145 C38.9988366,38.6009812 37.6749072,38.5733169 37.0270482,38.4513217 C35.0988366,38.2216852 33.4888366,37.4843145 33.4388366,34.8545872 C33.3888366,32.7744565 33.7430954,32.2207578 33.8988366,31.9295788 C34.3117653,31.1575537 34.9128559,30.575799 35.3988366,30.1843145 C36.0681111,29.6451768 36.8014444,29.2451768 37.5988366,28.9843145 C37.4503711,28.8228789 37.3503711,28.6970685 37.2988366,28.6068833 C37.2473022,28.516698 37.2139689,28.4091751 37.1988366,28.2843145 Z",
|
|
3505
|
+
id: "Path",
|
|
3506
|
+
fill: "#F28700"
|
|
3507
|
+
})));
|
|
3508
|
+
};
|
|
3370
3509
|
|
|
3371
3510
|
var getPaneTitle = function getPaneTitle(sumOfErrors) {
|
|
3372
3511
|
switch (sumOfErrors) {
|
|
@@ -3406,7 +3545,7 @@
|
|
|
3406
3545
|
var nameWithoutBrackets = nameAsString.replace(/[[\]']+/g, '');
|
|
3407
3546
|
var nameLowerCase = nameWithoutBrackets.toLowerCase();
|
|
3408
3547
|
|
|
3409
|
-
var _a = __read(nameLowerCase.split(/([0-9]+)/) // split
|
|
3548
|
+
var _a = __read(nameLowerCase.split(/([0-9]+)/) // split num bers from field and build array
|
|
3410
3549
|
.filter(function (s) {
|
|
3411
3550
|
return s.length;
|
|
3412
3551
|
}), 2),
|
|
@@ -3432,33 +3571,43 @@
|
|
|
3432
3571
|
var fieldErrorTitle = humanizeErrorMessage(firstNamePart);
|
|
3433
3572
|
return index + 1 + ". " + fieldErrorTitle + ": " + getErrorDefaultMessage(error);
|
|
3434
3573
|
};
|
|
3574
|
+
var MODAL_DIALOG_ELEMENT = 'modal-dialog';
|
|
3435
3575
|
|
|
3436
3576
|
var IssuesPane = function IssuesPane(_a) {
|
|
3437
3577
|
var isOpen = _a.isOpen,
|
|
3438
3578
|
handleClose = _a.handleClose,
|
|
3439
3579
|
_b = _a.errorList,
|
|
3440
|
-
errorList = _b === void 0 ? [] : _b
|
|
3441
|
-
|
|
3442
|
-
|
|
3580
|
+
errorList = _b === void 0 ? [] : _b,
|
|
3581
|
+
_c = _a.startPosition,
|
|
3582
|
+
startPosition = _c === void 0 ? {
|
|
3583
|
+
left: 20,
|
|
3584
|
+
top: 50
|
|
3585
|
+
} : _c;
|
|
3586
|
+
var rootElement = document.getElementById(MODAL_DIALOG_ELEMENT) || document.body;
|
|
3587
|
+
return /*#__PURE__*/ReactDOM__default["default"].createPortal( /*#__PURE__*/React__namespace.createElement(shared.ToolContainerDraggable, {
|
|
3443
3588
|
startSize: {
|
|
3444
3589
|
width: '577px',
|
|
3445
3590
|
height: '200px'
|
|
3446
3591
|
},
|
|
3447
|
-
startPosition:
|
|
3448
|
-
right: 20,
|
|
3449
|
-
top: 50
|
|
3450
|
-
},
|
|
3592
|
+
startPosition: startPosition,
|
|
3451
3593
|
minWidth: 300,
|
|
3452
3594
|
onClose: handleClose,
|
|
3453
3595
|
title: getPaneTitle(errorList.length),
|
|
3454
3596
|
headerSize: "xs",
|
|
3455
3597
|
isOpen: isOpen,
|
|
3456
3598
|
"data-testid": "moveable-issues-pane",
|
|
3457
|
-
bounds: "
|
|
3458
|
-
}, /*#__PURE__*/React__namespace.createElement(
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
|
|
3599
|
+
bounds: "parent"
|
|
3600
|
+
}, /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
3601
|
+
component: "div",
|
|
3602
|
+
sx: {
|
|
3603
|
+
marginTop: '16px',
|
|
3604
|
+
marginLeft: '24px'
|
|
3605
|
+
}
|
|
3606
|
+
}, errorList.length === 0 && /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
3607
|
+
component: "div",
|
|
3608
|
+
sx: {
|
|
3609
|
+
fontSize: '4rem'
|
|
3610
|
+
},
|
|
3462
3611
|
"data-testid": "zeroIssuesImage"
|
|
3463
3612
|
}, /*#__PURE__*/React__namespace.createElement(ThumbsUp, null)), errorList.length > 0 && errorList.map(function (error, index) {
|
|
3464
3613
|
return /*#__PURE__*/React__namespace.createElement(material.Typography // eslint-disable-next-line react/no-array-index-key
|
|
@@ -3468,7 +3617,7 @@
|
|
|
3468
3617
|
variant: "body1",
|
|
3469
3618
|
"data-testid": "errorMessage"
|
|
3470
3619
|
}, getErrorMessage(error, index));
|
|
3471
|
-
})));
|
|
3620
|
+
}))), rootElement);
|
|
3472
3621
|
};
|
|
3473
3622
|
|
|
3474
3623
|
var getCustomError = function getCustomError(error) {
|
|
@@ -3482,6 +3631,19 @@
|
|
|
3482
3631
|
});
|
|
3483
3632
|
};
|
|
3484
3633
|
|
|
3634
|
+
var getIssuesLabel = function getIssuesLabel(sumOfErrors) {
|
|
3635
|
+
switch (sumOfErrors) {
|
|
3636
|
+
case 0:
|
|
3637
|
+
return '0 issues';
|
|
3638
|
+
|
|
3639
|
+
case 1:
|
|
3640
|
+
return '1 issue';
|
|
3641
|
+
|
|
3642
|
+
default:
|
|
3643
|
+
return sumOfErrors + " issues";
|
|
3644
|
+
}
|
|
3645
|
+
};
|
|
3646
|
+
|
|
3485
3647
|
var getErrorValues = function getErrorValues(fieldErrors) {
|
|
3486
3648
|
if (!fieldErrors) return [];
|
|
3487
3649
|
return Object.keys(fieldErrors).reduce(function (list, key) {
|
|
@@ -3495,22 +3657,6 @@
|
|
|
3495
3657
|
}, []);
|
|
3496
3658
|
};
|
|
3497
3659
|
|
|
3498
|
-
var getErrors = function getErrors(errors) {
|
|
3499
|
-
var errorList = Object.keys(errors).reduce(function (list, key) {
|
|
3500
|
-
var errorValue = errors[key];
|
|
3501
|
-
|
|
3502
|
-
if (Array.isArray(errorValue)) {
|
|
3503
|
-
var errorValues = errorValue.reduce(function (l, i) {
|
|
3504
|
-
return l.concat(getErrorValues(i));
|
|
3505
|
-
}, []);
|
|
3506
|
-
return list.concat.apply(list, __spreadArray([], __read(errorValues)));
|
|
3507
|
-
}
|
|
3508
|
-
|
|
3509
|
-
return list.concat(getErrorValues(errorValue));
|
|
3510
|
-
}, []);
|
|
3511
|
-
return errorList;
|
|
3512
|
-
};
|
|
3513
|
-
|
|
3514
3660
|
var filterDuplicateErrors = function filterDuplicateErrors(errors) {
|
|
3515
3661
|
return errors.reduce(function (list, error) {
|
|
3516
3662
|
// check on type validateRequiredSub and validateRequiredMainOptional since these are giving 'duplicates'
|
|
@@ -3532,237 +3678,98 @@
|
|
|
3532
3678
|
}, []);
|
|
3533
3679
|
};
|
|
3534
3680
|
|
|
3535
|
-
var
|
|
3536
|
-
var
|
|
3537
|
-
|
|
3538
|
-
|
|
3681
|
+
var getErrors = function getErrors(errors) {
|
|
3682
|
+
var errorList = Object.keys(errors).reduce(function (list, key) {
|
|
3683
|
+
var errorValue = errors[key];
|
|
3684
|
+
|
|
3685
|
+
if (Array.isArray(errorValue)) {
|
|
3686
|
+
var errorValues = errorValue.reduce(function (l, i) {
|
|
3687
|
+
return l.concat(getErrorValues(i));
|
|
3688
|
+
}, []);
|
|
3689
|
+
return list.concat.apply(list, __spreadArray([], __read(errorValues)));
|
|
3690
|
+
}
|
|
3691
|
+
|
|
3692
|
+
return list.concat(getErrorValues(errorValue));
|
|
3693
|
+
}, []);
|
|
3694
|
+
return errorList;
|
|
3695
|
+
};
|
|
3696
|
+
|
|
3697
|
+
var IssuesButton = function IssuesButton(_a) {
|
|
3698
|
+
var _b = _a.errors,
|
|
3699
|
+
errors = _b === void 0 ? {} : _b;
|
|
3539
3700
|
var errorList = filterDuplicateErrors(getErrors(errors));
|
|
3701
|
+
var totalErrors = errorList.length;
|
|
3702
|
+
var errorStatus = totalErrors > 0 ? 'error' : 'success';
|
|
3703
|
+
var buttonColor = "geowebColors.functional." + errorStatus;
|
|
3540
3704
|
|
|
3541
|
-
var
|
|
3542
|
-
isIssuesPaneOpen =
|
|
3543
|
-
setIsIssuesPaneOpen =
|
|
3705
|
+
var _c = __read(React__namespace.useState(false), 2),
|
|
3706
|
+
isIssuesPaneOpen = _c[0],
|
|
3707
|
+
setIsIssuesPaneOpen = _c[1];
|
|
3544
3708
|
|
|
3545
3709
|
var toggleIssuesPane = function toggleIssuesPane() {
|
|
3546
3710
|
return setIsIssuesPaneOpen(!isIssuesPaneOpen);
|
|
3547
3711
|
};
|
|
3548
3712
|
|
|
3549
|
-
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
|
|
3554
|
-
|
|
3555
|
-
}
|
|
3556
|
-
}, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
3557
|
-
item: true
|
|
3558
|
-
}, /*#__PURE__*/React__default["default"].createElement(IssuesButton, {
|
|
3559
|
-
sumOfErrors: errorList.length,
|
|
3560
|
-
togglePane: toggleIssuesPane
|
|
3561
|
-
}))), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
3562
|
-
container: true,
|
|
3563
|
-
justifyContent: "flex-end",
|
|
3564
|
-
sx: {
|
|
3565
|
-
paddingRight: '28px'
|
|
3566
|
-
}
|
|
3567
|
-
}, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
3568
|
-
item: true
|
|
3569
|
-
}, /*#__PURE__*/React__default["default"].createElement(material.Button, {
|
|
3570
|
-
"data-testid": "discardtaf",
|
|
3571
|
-
variant: "tertiary",
|
|
3572
|
-
onClick: function onClick() {
|
|
3573
|
-
// Simply discard the changes and close the dialog.
|
|
3574
|
-
onTafFormButtonPress('DISCARD');
|
|
3575
|
-
}
|
|
3576
|
-
}, "Discard"), /*#__PURE__*/React__default["default"].createElement(material.Button, {
|
|
3577
|
-
"data-testid": "savedrafttaf",
|
|
3578
|
-
variant: "tertiary",
|
|
3579
|
-
sx: {
|
|
3580
|
-
margin: '0px 10px'
|
|
3581
|
-
},
|
|
3582
|
-
onClick: function onClick() {
|
|
3583
|
-
/* Save the TAF as draft:
|
|
3584
|
-
if action NEW or DRAFT - new status will be DRAFT -- default
|
|
3585
|
-
if action AMEND - new status will be DRAFT_AMENDED
|
|
3586
|
-
if action CORRECT - new status will be DRAFT_CORRECTED
|
|
3587
|
-
if action DRAFT_AMEND - new status will be DRAFT_AMENDED
|
|
3588
|
-
if action DRAFT_CORRECT - new status will be DRAFT_CORRECTED
|
|
3589
|
-
*/
|
|
3590
|
-
switch (tafAction) {
|
|
3591
|
-
case 'AMEND':
|
|
3592
|
-
case 'DRAFT_AMEND':
|
|
3593
|
-
onTafFormButtonPress('DRAFT_AMEND');
|
|
3594
|
-
break;
|
|
3713
|
+
var _d = __read(React__namespace.useState({
|
|
3714
|
+
left: 0,
|
|
3715
|
+
top: 0
|
|
3716
|
+
}), 2),
|
|
3717
|
+
startPosition = _d[0],
|
|
3718
|
+
setStartPosition = _d[1];
|
|
3595
3719
|
|
|
3596
|
-
|
|
3597
|
-
|
|
3598
|
-
onTafFormButtonPress('DRAFT_CORRECT');
|
|
3599
|
-
break;
|
|
3720
|
+
var onClickButton = function onClickButton(event) {
|
|
3721
|
+
var _a;
|
|
3600
3722
|
|
|
3601
|
-
|
|
3602
|
-
|
|
3603
|
-
|
|
3604
|
-
}
|
|
3605
|
-
}
|
|
3606
|
-
}, "Save"), /*#__PURE__*/React__default["default"].createElement(material.Button, {
|
|
3607
|
-
"data-testid": "publishtaf",
|
|
3608
|
-
variant: "tertiary",
|
|
3609
|
-
onClick: function onClick() {
|
|
3610
|
-
/* Publish the TAF:
|
|
3611
|
-
if action NEW or DRAFT - new status will be PUBLISHED -- default
|
|
3612
|
-
if action AMEND - new status will be AMENDED
|
|
3613
|
-
if action CORRECT - new status will be CORRECTED
|
|
3614
|
-
if action DRAFT_AMEND - new status will be AMENDED
|
|
3615
|
-
if action DRAFT_CORRECT - new status will be CORRECTED
|
|
3616
|
-
*/
|
|
3617
|
-
switch (tafAction) {
|
|
3618
|
-
case 'AMEND':
|
|
3619
|
-
case 'DRAFT_AMEND':
|
|
3620
|
-
onTafFormButtonPress('AMEND');
|
|
3621
|
-
break;
|
|
3723
|
+
var _b = event.currentTarget.getBoundingClientRect(),
|
|
3724
|
+
left = _b.left,
|
|
3725
|
+
top = _b.top;
|
|
3622
3726
|
|
|
3623
|
-
|
|
3624
|
-
|
|
3625
|
-
|
|
3626
|
-
|
|
3727
|
+
var parentOffset = ((_a = document.getElementById('tafmodule')) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) || {
|
|
3728
|
+
top: 0,
|
|
3729
|
+
left: 0
|
|
3730
|
+
};
|
|
3731
|
+
var newPosition = {
|
|
3732
|
+
left: left - parentOffset.left + 100,
|
|
3733
|
+
top: top - parentOffset.top
|
|
3734
|
+
};
|
|
3735
|
+
setStartPosition(newPosition);
|
|
3736
|
+
toggleIssuesPane();
|
|
3737
|
+
};
|
|
3627
3738
|
|
|
3628
|
-
|
|
3629
|
-
|
|
3630
|
-
|
|
3631
|
-
|
|
3739
|
+
return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement(material.Tooltip, {
|
|
3740
|
+
title: "View details"
|
|
3741
|
+
}, /*#__PURE__*/React__namespace.createElement(material.Chip, {
|
|
3742
|
+
"data-testid": "issuesButton",
|
|
3743
|
+
className: "status-" + errorStatus,
|
|
3744
|
+
size: "small",
|
|
3745
|
+
label: getIssuesLabel(totalErrors),
|
|
3746
|
+
onClick: onClickButton,
|
|
3747
|
+
sx: {
|
|
3748
|
+
width: '74px',
|
|
3749
|
+
color: '#ffffff',
|
|
3750
|
+
backgroundColor: buttonColor,
|
|
3751
|
+
'&:hover': {
|
|
3752
|
+
backgroundColor: buttonColor
|
|
3753
|
+
},
|
|
3754
|
+
'&:focus': {
|
|
3755
|
+
backgroundColor: buttonColor
|
|
3756
|
+
},
|
|
3757
|
+
fontSize: 12
|
|
3632
3758
|
}
|
|
3633
|
-
}
|
|
3759
|
+
})), /*#__PURE__*/React__namespace.createElement(IssuesPane, {
|
|
3634
3760
|
errorList: errorList,
|
|
3635
3761
|
handleClose: toggleIssuesPane,
|
|
3636
|
-
isOpen: isIssuesPaneOpen
|
|
3762
|
+
isOpen: isIssuesPaneOpen,
|
|
3763
|
+
startPosition: startPosition
|
|
3637
3764
|
}));
|
|
3638
3765
|
};
|
|
3639
3766
|
|
|
3640
|
-
/* *
|
|
3641
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3642
|
-
* you may not use this file except in compliance with the License.
|
|
3643
|
-
* You may obtain a copy of the License at
|
|
3644
|
-
*
|
|
3645
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3646
|
-
*
|
|
3647
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
3648
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3649
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3650
|
-
* See the License for the specific language governing permissions and
|
|
3651
|
-
* limitations under the License.
|
|
3652
|
-
*
|
|
3653
|
-
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
3654
|
-
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
3655
|
-
* */
|
|
3656
|
-
var useStyles$6 = makeStyles__default["default"](function () {
|
|
3657
|
-
return {
|
|
3658
|
-
dragHandle: {
|
|
3659
|
-
backgroundColor: 'transparent',
|
|
3660
|
-
'&:hover': {
|
|
3661
|
-
backgroundColor: 'transparent'
|
|
3662
|
-
},
|
|
3663
|
-
cursor: function cursor(isSorting) {
|
|
3664
|
-
return isSorting ? 'grabbing' : 'grab';
|
|
3665
|
-
}
|
|
3666
|
-
}
|
|
3667
|
-
};
|
|
3668
|
-
});
|
|
3669
|
-
|
|
3670
|
-
var DragHandle = function DragHandle(_a) {
|
|
3671
|
-
var _b = _a.isSorting,
|
|
3672
|
-
isSorting = _b === void 0 ? false : _b,
|
|
3673
|
-
_c = _a.isDisabled,
|
|
3674
|
-
isDisabled = _c === void 0 ? false : _c,
|
|
3675
|
-
index = _a.index;
|
|
3676
|
-
var classes = useStyles$6(isSorting);
|
|
3677
|
-
return /*#__PURE__*/React__default["default"].createElement(material.IconButton, {
|
|
3678
|
-
className: classes.dragHandle + " handle",
|
|
3679
|
-
"data-testid": "dragHandle-" + index,
|
|
3680
|
-
disableRipple: true,
|
|
3681
|
-
disabled: isDisabled,
|
|
3682
|
-
size: "large"
|
|
3683
|
-
}, /*#__PURE__*/React__default["default"].createElement(iconsMaterial.DragIndicator, null));
|
|
3684
|
-
};
|
|
3685
|
-
|
|
3686
|
-
/* *
|
|
3687
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3688
|
-
* you may not use this file except in compliance with the License.
|
|
3689
|
-
* You may obtain a copy of the License at
|
|
3690
|
-
*
|
|
3691
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3692
|
-
*
|
|
3693
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
3694
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3695
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3696
|
-
* See the License for the specific language governing permissions and
|
|
3697
|
-
* limitations under the License.
|
|
3698
|
-
*
|
|
3699
|
-
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
3700
|
-
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
3701
|
-
* */
|
|
3702
|
-
|
|
3703
|
-
var TafListButtons = function TafListButtons(_a) {
|
|
3704
|
-
var uuid = _a.uuid,
|
|
3705
|
-
canBe = _a.canBe,
|
|
3706
|
-
onClickTafActionButton = _a.onClickTafActionButton,
|
|
3707
|
-
_b = _a.testId,
|
|
3708
|
-
testId = _b === void 0 ? 'taflist-canbebuttons' : _b;
|
|
3709
|
-
return !canBe.includes('CANCELLED') && !canBe.includes('CORRECTED') && !canBe.includes('AMENDED') ? null : /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
3710
|
-
container: true,
|
|
3711
|
-
justifyContent: "flex-end",
|
|
3712
|
-
alignItems: "center",
|
|
3713
|
-
"data-testid": testId,
|
|
3714
|
-
sx: {
|
|
3715
|
-
margin: '10px 0px 22px 0px',
|
|
3716
|
-
paddingRight: '28px'
|
|
3717
|
-
}
|
|
3718
|
-
}, canBe.includes('CANCELLED') && /*#__PURE__*/React__default["default"].createElement(material.Button, {
|
|
3719
|
-
"data-testid": "canceltaf",
|
|
3720
|
-
variant: "tertiary",
|
|
3721
|
-
onClick: function onClick() {
|
|
3722
|
-
return onClickTafActionButton('CANCEL', uuid);
|
|
3723
|
-
}
|
|
3724
|
-
}, "Cancel"), canBe.includes('CORRECTED') && /*#__PURE__*/React__default["default"].createElement(material.Button, {
|
|
3725
|
-
"data-testid": "correctaf",
|
|
3726
|
-
variant: "tertiary",
|
|
3727
|
-
sx: {
|
|
3728
|
-
margin: '0px 10px'
|
|
3729
|
-
},
|
|
3730
|
-
onClick: function onClick() {
|
|
3731
|
-
return onClickTafActionButton('CORRECT', uuid);
|
|
3732
|
-
}
|
|
3733
|
-
}, "Correct"), canBe.includes('AMENDED') && /*#__PURE__*/React__default["default"].createElement(material.Button, {
|
|
3734
|
-
"data-testid": "amendtaf",
|
|
3735
|
-
variant: "tertiary",
|
|
3736
|
-
onClick: function onClick() {
|
|
3737
|
-
return onClickTafActionButton('AMEND', uuid);
|
|
3738
|
-
}
|
|
3739
|
-
}, "Amend"));
|
|
3740
|
-
};
|
|
3741
|
-
|
|
3742
3767
|
var noop = function noop() {};
|
|
3743
3768
|
|
|
3744
|
-
var emptyChangegroup = {
|
|
3745
|
-
valid: '',
|
|
3746
|
-
wind: '',
|
|
3747
|
-
visibility: '',
|
|
3748
|
-
weather: {
|
|
3749
|
-
weather1: null,
|
|
3750
|
-
weather2: null,
|
|
3751
|
-
weather3: null
|
|
3752
|
-
},
|
|
3753
|
-
cloud: {
|
|
3754
|
-
cloud1: null,
|
|
3755
|
-
cloud2: null,
|
|
3756
|
-
cloud3: null,
|
|
3757
|
-
cloud4: null
|
|
3758
|
-
},
|
|
3759
|
-
change: null,
|
|
3760
|
-
probability: null
|
|
3761
|
-
};
|
|
3762
|
-
|
|
3763
3769
|
var TafForm = function TafForm(_a) {
|
|
3764
|
-
var
|
|
3765
|
-
|
|
3770
|
+
var // can be removed after old TAF is gone
|
|
3771
|
+
defaultTafAction = _a.tafAction,
|
|
3772
|
+
isDefaultDisabled = _a.isDisabled,
|
|
3766
3773
|
_b = _a.staticTAC,
|
|
3767
3774
|
staticTAC = _b === void 0 ? '' : _b,
|
|
3768
3775
|
tafFromBackend = _a.tafFromBackend,
|
|
@@ -3771,36 +3778,46 @@
|
|
|
3771
3778
|
return null;
|
|
3772
3779
|
} : _c;
|
|
3773
3780
|
var originalTaf = tafFromBackend.taf;
|
|
3781
|
+
|
|
3782
|
+
var _d = __read(React__default["default"].useState(defaultTafAction), 2),
|
|
3783
|
+
tafAction = _d[0],
|
|
3784
|
+
setTafAction = _d[1];
|
|
3785
|
+
|
|
3786
|
+
var _e = __read(React__default["default"].useState(isDefaultDisabled), 2),
|
|
3787
|
+
isDisabled = _e[0],
|
|
3788
|
+
setIsDisabled = _e[1];
|
|
3789
|
+
|
|
3774
3790
|
var confirmDialog = shared.useConfirmationDialog();
|
|
3775
3791
|
|
|
3776
|
-
var
|
|
3777
|
-
toggleIsDraft =
|
|
3778
|
-
DraftFieldHelper =
|
|
3792
|
+
var _f = shared.useDraftFormHelpers(),
|
|
3793
|
+
toggleIsDraft = _f.toggleIsDraft,
|
|
3794
|
+
DraftFieldHelper = _f.DraftFieldHelper;
|
|
3779
3795
|
|
|
3780
3796
|
var api$1 = api.useApiContext().api;
|
|
3781
3797
|
var isMounted = shared.useIsMounted().isMounted;
|
|
3782
3798
|
|
|
3783
|
-
var
|
|
3784
|
-
control =
|
|
3785
|
-
handleSubmit =
|
|
3786
|
-
watch =
|
|
3787
|
-
trigger =
|
|
3788
|
-
formState =
|
|
3789
|
-
getValues =
|
|
3790
|
-
setValue =
|
|
3799
|
+
var _g = reactHookForm.useFormContext(),
|
|
3800
|
+
control = _g.control,
|
|
3801
|
+
handleSubmit = _g.handleSubmit,
|
|
3802
|
+
watch = _g.watch,
|
|
3803
|
+
trigger = _g.trigger,
|
|
3804
|
+
formState = _g.formState,
|
|
3805
|
+
getValues = _g.getValues,
|
|
3806
|
+
setValue = _g.setValue,
|
|
3807
|
+
reset = _g.reset;
|
|
3791
3808
|
|
|
3792
3809
|
var isFormDirty = formState.isDirty,
|
|
3793
3810
|
errors = formState.errors;
|
|
3794
3811
|
shared.usePreventBrowserClose(isFormDirty && !isDisabled);
|
|
3795
3812
|
var hiddenInputFields = ['baseTime', 'issueDate', 'type', 'uuid', 'validDateStart', 'validDateEnd', 'status', 'previousId', 'previousValidDateStart', 'previousValidDateEnd'];
|
|
3796
3813
|
|
|
3797
|
-
var
|
|
3798
|
-
delayedFormValues =
|
|
3799
|
-
setDelayedFormValues =
|
|
3814
|
+
var _h = __read(React__default["default"].useState(watch()), 2),
|
|
3815
|
+
delayedFormValues = _h[0],
|
|
3816
|
+
setDelayedFormValues = _h[1];
|
|
3800
3817
|
|
|
3801
|
-
var
|
|
3802
|
-
TAC =
|
|
3803
|
-
updateTAC =
|
|
3818
|
+
var _j = __read(useTACGenerator(convertTafValuesToObject(delayedFormValues), api$1.getTAC, staticTAC), 2),
|
|
3819
|
+
TAC = _j[0],
|
|
3820
|
+
updateTAC = _j[1];
|
|
3804
3821
|
|
|
3805
3822
|
var hasErrors = Object.keys(errors).length;
|
|
3806
3823
|
|
|
@@ -3838,7 +3855,27 @@
|
|
|
3838
3855
|
});
|
|
3839
3856
|
};
|
|
3840
3857
|
|
|
3841
|
-
var
|
|
3858
|
+
var resetFormValues = function resetFormValues(action, shouldAddEmptyChangGroup) {
|
|
3859
|
+
if (action === void 0) {
|
|
3860
|
+
action = undefined;
|
|
3861
|
+
}
|
|
3862
|
+
|
|
3863
|
+
var newTaf = prepareTafValues(tafFromBackend.taf, action, shouldAddEmptyChangGroup);
|
|
3864
|
+
reset(newTaf);
|
|
3865
|
+
};
|
|
3866
|
+
|
|
3867
|
+
var resetForm = function resetForm(action, resetDisabled) {
|
|
3868
|
+
if (action === void 0) {
|
|
3869
|
+
action = undefined;
|
|
3870
|
+
}
|
|
3871
|
+
|
|
3872
|
+
var shouldAddEmptyChangGroup = !(tafFromBackend.taf && tafFromBackend.taf.changeGroups) && !resetDisabled;
|
|
3873
|
+
resetFormValues(action, shouldAddEmptyChangGroup);
|
|
3874
|
+
setIsDisabled(resetDisabled);
|
|
3875
|
+
setTafAction(action);
|
|
3876
|
+
};
|
|
3877
|
+
|
|
3878
|
+
var onTafEditModeButtonPress = function onTafEditModeButtonPress(action) {
|
|
3842
3879
|
switch (action) {
|
|
3843
3880
|
case 'DRAFT':
|
|
3844
3881
|
case 'DRAFT_AMEND':
|
|
@@ -3852,10 +3889,10 @@
|
|
|
3852
3889
|
case 'DISCARD':
|
|
3853
3890
|
if (isFormDirty) {
|
|
3854
3891
|
showConfirmDialog(action).then(function () {
|
|
3855
|
-
|
|
3892
|
+
resetForm(undefined, isDefaultDisabled);
|
|
3856
3893
|
});
|
|
3857
3894
|
} else {
|
|
3858
|
-
|
|
3895
|
+
resetForm(undefined, isDefaultDisabled);
|
|
3859
3896
|
}
|
|
3860
3897
|
|
|
3861
3898
|
break;
|
|
@@ -3865,8 +3902,36 @@
|
|
|
3865
3902
|
case 'PUBLISH':
|
|
3866
3903
|
toggleIsDraft(false);
|
|
3867
3904
|
handleSubmit(function (data) {
|
|
3868
|
-
|
|
3869
|
-
|
|
3905
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
3906
|
+
var didSucceed;
|
|
3907
|
+
return __generator(this, function (_a) {
|
|
3908
|
+
switch (_a.label) {
|
|
3909
|
+
case 0:
|
|
3910
|
+
return [4
|
|
3911
|
+
/*yield*/
|
|
3912
|
+
, showConfirmDialog(action)];
|
|
3913
|
+
|
|
3914
|
+
case 1:
|
|
3915
|
+
_a.sent();
|
|
3916
|
+
|
|
3917
|
+
return [4
|
|
3918
|
+
/*yield*/
|
|
3919
|
+
, onFormAction(action, convertTafValuesToObject(data))];
|
|
3920
|
+
|
|
3921
|
+
case 2:
|
|
3922
|
+
didSucceed = _a.sent();
|
|
3923
|
+
|
|
3924
|
+
if (didSucceed) {
|
|
3925
|
+
setIsDisabled(true);
|
|
3926
|
+
reset(prepareTafValues(convertTafValuesToObject(data), action, false));
|
|
3927
|
+
setTafAction(null);
|
|
3928
|
+
}
|
|
3929
|
+
|
|
3930
|
+
return [2
|
|
3931
|
+
/*return*/
|
|
3932
|
+
];
|
|
3933
|
+
}
|
|
3934
|
+
});
|
|
3870
3935
|
});
|
|
3871
3936
|
})();
|
|
3872
3937
|
break;
|
|
@@ -3875,30 +3940,35 @@
|
|
|
3875
3940
|
onFormAction(action);
|
|
3876
3941
|
break;
|
|
3877
3942
|
}
|
|
3878
|
-
};
|
|
3879
|
-
|
|
3943
|
+
};
|
|
3880
3944
|
|
|
3881
3945
|
var onTafViewModeButtonPress = function onTafViewModeButtonPress(action) {
|
|
3882
3946
|
switch (action) {
|
|
3947
|
+
case 'CANCEL':
|
|
3948
|
+
showConfirmDialog(action).then(function () {
|
|
3949
|
+
onFormAction(action, tafFromBackend.taf);
|
|
3950
|
+
});
|
|
3951
|
+
break;
|
|
3952
|
+
|
|
3883
3953
|
default:
|
|
3884
|
-
|
|
3954
|
+
resetForm(action, false);
|
|
3885
3955
|
break;
|
|
3886
3956
|
}
|
|
3887
3957
|
};
|
|
3888
3958
|
|
|
3889
|
-
var
|
|
3959
|
+
var _k = reactHookForm.useFieldArray({
|
|
3890
3960
|
control: control,
|
|
3891
3961
|
name: 'changeGroups'
|
|
3892
3962
|
}),
|
|
3893
|
-
fields =
|
|
3894
|
-
insert =
|
|
3895
|
-
remove =
|
|
3896
|
-
move =
|
|
3963
|
+
fields = _k.fields,
|
|
3964
|
+
insert = _k.insert,
|
|
3965
|
+
remove = _k.remove,
|
|
3966
|
+
move = _k.move;
|
|
3897
3967
|
|
|
3898
|
-
var
|
|
3899
|
-
onChangeOrder =
|
|
3900
|
-
onStartDrag =
|
|
3901
|
-
activeDraggingIndex =
|
|
3968
|
+
var _l = useDragOrder(trigger, move, onFormBlur),
|
|
3969
|
+
onChangeOrder = _l.onChangeOrder,
|
|
3970
|
+
onStartDrag = _l.onStartDrag,
|
|
3971
|
+
activeDraggingIndex = _l.activeDraggingIndex;
|
|
3902
3972
|
|
|
3903
3973
|
var onRemoverow = function onRemoverow(index) {
|
|
3904
3974
|
confirmDialog({
|
|
@@ -3996,7 +4066,8 @@
|
|
|
3996
4066
|
}, /*#__PURE__*/React__default["default"].createElement(material.Typography, {
|
|
3997
4067
|
sx: {
|
|
3998
4068
|
fontSize: '20px',
|
|
3999
|
-
fontWeight: 500
|
|
4069
|
+
fontWeight: 500,
|
|
4070
|
+
height: '24px'
|
|
4000
4071
|
}
|
|
4001
4072
|
}, "TAC"), /*#__PURE__*/React__default["default"].createElement(material.Typography, {
|
|
4002
4073
|
sx: {
|
|
@@ -4011,7 +4082,8 @@
|
|
|
4011
4082
|
"data-testid": "tafform-tac-message-line",
|
|
4012
4083
|
sx: {
|
|
4013
4084
|
textIndent: '-0.7em',
|
|
4014
|
-
borderRadius: '3px'
|
|
4085
|
+
borderRadius: '3px',
|
|
4086
|
+
paddingRight: '0.7em'
|
|
4015
4087
|
}
|
|
4016
4088
|
}, line);
|
|
4017
4089
|
})), /*#__PURE__*/React__default["default"].createElement(TafFormRow, {
|
|
@@ -4053,15 +4125,24 @@
|
|
|
4053
4125
|
index: index
|
|
4054
4126
|
})
|
|
4055
4127
|
});
|
|
4056
|
-
})),
|
|
4057
|
-
|
|
4128
|
+
})), !isDisabled && /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4129
|
+
container: true,
|
|
4130
|
+
justifyContent: "space-between",
|
|
4131
|
+
alignItems: "center",
|
|
4132
|
+
sx: {
|
|
4133
|
+
marginLeft: 1.5,
|
|
4134
|
+
marginTop: 1
|
|
4135
|
+
}
|
|
4136
|
+
}, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4137
|
+
item: true
|
|
4138
|
+
}, /*#__PURE__*/React__default["default"].createElement(IssuesButton, {
|
|
4139
|
+
errors: errors
|
|
4140
|
+
}))), /*#__PURE__*/React__default["default"].createElement(TafFormButtons, {
|
|
4141
|
+
isFormDisabled: isDisabled,
|
|
4058
4142
|
tafAction: tafAction,
|
|
4059
|
-
onTafFormButtonPress: onTafButtonPress
|
|
4060
|
-
}) : /*#__PURE__*/React__default["default"].createElement(TafListButtons, {
|
|
4061
|
-
uuid: originalTaf.uuid,
|
|
4062
4143
|
canBe: tafFromBackend.canbe,
|
|
4063
|
-
|
|
4064
|
-
|
|
4144
|
+
onTafEditModeButtonPress: onTafEditModeButtonPress,
|
|
4145
|
+
onTafViewModeButtonPress: onTafViewModeButtonPress
|
|
4065
4146
|
}), hiddenInputFields.map(function (field) {
|
|
4066
4147
|
return /*#__PURE__*/React__default["default"].createElement(formFields.ReactHookFormHiddenInput, {
|
|
4067
4148
|
name: field,
|
|
@@ -4070,72 +4151,33 @@
|
|
|
4070
4151
|
}), /*#__PURE__*/React__default["default"].createElement(DraftFieldHelper, null));
|
|
4071
4152
|
};
|
|
4072
4153
|
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
|
|
4076
|
-
|
|
4077
|
-
|
|
4078
|
-
|
|
4079
|
-
|
|
4080
|
-
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
|
|
4084
|
-
|
|
4085
|
-
|
|
4086
|
-
|
|
4087
|
-
|
|
4088
|
-
|
|
4089
|
-
|
|
4090
|
-
if ((tafAction === 'AMEND' || tafAction === 'DRAFT_AMEND') && moment__default["default"].utc() >= moment__default["default"].utc(taf.validDateStart)) {
|
|
4091
|
-
var now = moment__default["default"].utc().format('YYYY-MM-DDTHH:mm:ss[Z]');
|
|
4092
|
-
var validObj = {
|
|
4093
|
-
start: now,
|
|
4094
|
-
end: taf.baseForecast.valid.end
|
|
4095
|
-
};
|
|
4096
|
-
return __assign(__assign({}, taf), {
|
|
4097
|
-
previousValidDateStart: previousValidDateStart,
|
|
4098
|
-
previousValidDateEnd: previousValidDateEnd,
|
|
4099
|
-
validDateStart: now,
|
|
4100
|
-
baseForecast: __assign(__assign({}, taf.baseForecast), {
|
|
4101
|
-
valid: validObj
|
|
4102
|
-
})
|
|
4103
|
-
});
|
|
4104
|
-
}
|
|
4105
|
-
|
|
4106
|
-
return __assign(__assign({}, taf), {
|
|
4107
|
-
previousValidDateStart: previousValidDateStart,
|
|
4108
|
-
previousValidDateEnd: previousValidDateEnd
|
|
4109
|
-
});
|
|
4110
|
-
};
|
|
4111
|
-
var prepareTafValues = function prepareTafValues(_taf, tafAction, addEmptyChangeGroup) {
|
|
4112
|
-
if (addEmptyChangeGroup === void 0) {
|
|
4113
|
-
addEmptyChangeGroup = false;
|
|
4114
|
-
} // If action is AMEND/CORRECT/DRAFT_AMEND/DRAFT_CORRECTION - add previous valid start and end
|
|
4115
|
-
// If action is AMEND/DRAFT_AMEND - update validity start time to current time
|
|
4116
|
-
|
|
4117
|
-
|
|
4118
|
-
var taf = tafAction === 'AMEND' || tafAction === 'DRAFT_AMEND' || tafAction === 'CORRECT' || tafAction === 'DRAFT_CORRECT' ? getAmendedCorrectedTafTimes(_taf, tafAction) : _taf;
|
|
4119
|
-
return __assign(__assign(__assign(__assign({}, taf), {
|
|
4120
|
-
messageType: getMessageType(taf, tafAction),
|
|
4121
|
-
baseForecast: formatFormValues(taf.baseForecast)
|
|
4122
|
-
}), taf.changeGroups && {
|
|
4123
|
-
changeGroups: taf.changeGroups.map(formatFormValues)
|
|
4124
|
-
}), addEmptyChangeGroup && {
|
|
4125
|
-
changeGroups: [emptyChangegroup]
|
|
4126
|
-
});
|
|
4127
|
-
};
|
|
4154
|
+
/* *
|
|
4155
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4156
|
+
* you may not use this file except in compliance with the License.
|
|
4157
|
+
* You may obtain a copy of the License at
|
|
4158
|
+
*
|
|
4159
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
4160
|
+
*
|
|
4161
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4162
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
4163
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4164
|
+
* See the License for the specific language governing permissions and
|
|
4165
|
+
* limitations under the License.
|
|
4166
|
+
*
|
|
4167
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4168
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
4169
|
+
* */
|
|
4128
4170
|
|
|
4129
4171
|
var TafFormWrapper = function TafFormWrapper(_a) {
|
|
4130
4172
|
var tafFromBackend = _a.tafFromBackend,
|
|
4131
4173
|
mode = _a.mode,
|
|
4132
|
-
tafAction = _a.tafAction,
|
|
4133
4174
|
_b = _a.TAC,
|
|
4134
4175
|
TAC = _b === void 0 ? '' : _b,
|
|
4135
|
-
onFormAction = _a.onFormAction
|
|
4176
|
+
onFormAction = _a.onFormAction,
|
|
4177
|
+
tafAction = _a.tafAction;
|
|
4136
4178
|
var taf = tafFromBackend.taf;
|
|
4137
4179
|
var isDisabled = mode === 'view';
|
|
4138
|
-
var defaultValues = prepareTafValues(taf,
|
|
4180
|
+
var defaultValues = prepareTafValues(taf, undefined, !isDisabled && !taf.changeGroups);
|
|
4139
4181
|
var options = {
|
|
4140
4182
|
defaultValues: defaultValues,
|
|
4141
4183
|
mode: 'onTouched',
|
|
@@ -4146,84 +4188,13 @@
|
|
|
4146
4188
|
options: options
|
|
4147
4189
|
}, /*#__PURE__*/React__default["default"].createElement(TafForm, {
|
|
4148
4190
|
isDisabled: isDisabled,
|
|
4149
|
-
tafAction: tafAction,
|
|
4150
4191
|
staticTAC: TAC,
|
|
4151
4192
|
onFormAction: onFormAction,
|
|
4152
|
-
tafFromBackend: tafFromBackend
|
|
4193
|
+
tafFromBackend: tafFromBackend,
|
|
4194
|
+
tafAction: tafAction
|
|
4153
4195
|
}));
|
|
4154
4196
|
};
|
|
4155
4197
|
|
|
4156
|
-
var useStyles$5 = makeStyles__default["default"]({
|
|
4157
|
-
dialogHeader: {
|
|
4158
|
-
borderRadius: '3px',
|
|
4159
|
-
border: 'solid 1px #f6f5f5',
|
|
4160
|
-
zIndex: 1,
|
|
4161
|
-
padding: '16px 20px'
|
|
4162
|
-
},
|
|
4163
|
-
dialogTitle: {
|
|
4164
|
-
display: 'flex',
|
|
4165
|
-
alignItems: 'center'
|
|
4166
|
-
},
|
|
4167
|
-
dialogCloseButton: {
|
|
4168
|
-
display: 'flex',
|
|
4169
|
-
justifyContent: 'flex-end'
|
|
4170
|
-
},
|
|
4171
|
-
dialogChildren: {
|
|
4172
|
-
display: 'flex',
|
|
4173
|
-
padding: 20,
|
|
4174
|
-
minHeight: 200,
|
|
4175
|
-
minWidth: 400,
|
|
4176
|
-
height: '100%'
|
|
4177
|
-
}
|
|
4178
|
-
});
|
|
4179
|
-
|
|
4180
|
-
var ContentDialog = function ContentDialog(_a) {
|
|
4181
|
-
var open = _a.open;
|
|
4182
|
-
_a.toggleDialogStatus;
|
|
4183
|
-
var titleComponent = _a.titleComponent,
|
|
4184
|
-
children = _a.children;
|
|
4185
|
-
_a.onClose;
|
|
4186
|
-
var _b = _a.alertBanner,
|
|
4187
|
-
alertBanner = _b === void 0 ? null : _b,
|
|
4188
|
-
onFormAction = _a.onFormAction,
|
|
4189
|
-
other = __rest(_a, ["open", "toggleDialogStatus", "titleComponent", "children", "onClose", "alertBanner", "onFormAction"]);
|
|
4190
|
-
|
|
4191
|
-
var classes = useStyles$5();
|
|
4192
|
-
return /*#__PURE__*/React__namespace.createElement(material.Dialog, __assign({
|
|
4193
|
-
"data-testid": "contentDialog",
|
|
4194
|
-
open: open,
|
|
4195
|
-
onClose: function onClose() {
|
|
4196
|
-
return onFormAction('CLOSE');
|
|
4197
|
-
},
|
|
4198
|
-
maxWidth: other.maxWidth ? other.maxWidth : 'lg',
|
|
4199
|
-
PaperProps: {
|
|
4200
|
-
style: {
|
|
4201
|
-
position: 'inherit'
|
|
4202
|
-
}
|
|
4203
|
-
}
|
|
4204
|
-
}, other), /*#__PURE__*/React__namespace.createElement(material.DialogTitle, {
|
|
4205
|
-
className: classes.dialogHeader
|
|
4206
|
-
}, /*#__PURE__*/React__namespace.createElement(material.Grid, {
|
|
4207
|
-
container: true
|
|
4208
|
-
}, /*#__PURE__*/React__namespace.createElement(material.Grid, {
|
|
4209
|
-
item: true,
|
|
4210
|
-
xs: 11,
|
|
4211
|
-
className: classes.dialogTitle
|
|
4212
|
-
}, titleComponent), /*#__PURE__*/React__namespace.createElement(material.Grid, {
|
|
4213
|
-
item: true,
|
|
4214
|
-
xs: true,
|
|
4215
|
-
className: classes.dialogCloseButton
|
|
4216
|
-
}, /*#__PURE__*/React__namespace.createElement(material.IconButton, {
|
|
4217
|
-
"data-testid": "closeDialog",
|
|
4218
|
-
size: "small",
|
|
4219
|
-
onClick: function onClick() {
|
|
4220
|
-
return onFormAction('CLOSE');
|
|
4221
|
-
}
|
|
4222
|
-
}, /*#__PURE__*/React__namespace.createElement(iconsMaterial.Close, null))))), alertBanner !== null && alertBanner, /*#__PURE__*/React__namespace.createElement(material.DialogContent, {
|
|
4223
|
-
className: classes.dialogChildren
|
|
4224
|
-
}, children));
|
|
4225
|
-
};
|
|
4226
|
-
|
|
4227
4198
|
/* *
|
|
4228
4199
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4229
4200
|
* you may not use this file except in compliance with the License.
|
|
@@ -4237,175 +4208,23 @@
|
|
|
4237
4208
|
* See the License for the specific language governing permissions and
|
|
4238
4209
|
* limitations under the License.
|
|
4239
4210
|
*
|
|
4240
|
-
* Copyright
|
|
4241
|
-
* Copyright
|
|
4242
|
-
* */
|
|
4243
|
-
|
|
4244
|
-
var getActiveStatus = function getActiveStatus(listType, className) {
|
|
4245
|
-
return listType === 'ACTIVE' ? /*#__PURE__*/React__default["default"].createElement(iconsMaterial.CheckCircle, {
|
|
4246
|
-
"data-testid": "status-active",
|
|
4247
|
-
className: className,
|
|
4248
|
-
fontSize: "small"
|
|
4249
|
-
}) : /*#__PURE__*/React__default["default"].createElement(iconsMaterial.Schedule, {
|
|
4250
|
-
"data-testid": "status-upcoming",
|
|
4251
|
-
className: className,
|
|
4252
|
-
fontSize: "small"
|
|
4253
|
-
});
|
|
4254
|
-
};
|
|
4255
|
-
|
|
4256
|
-
var getStatusTagList = function getStatusTagList(taf) {
|
|
4257
|
-
// do not return anything if status = 'NEW'
|
|
4258
|
-
if (taf.status === 'NEW') return null;
|
|
4259
|
-
|
|
4260
|
-
if (taf.status === 'CANCELLED') {
|
|
4261
|
-
return /*#__PURE__*/React__default["default"].createElement(shared.StatusTag, {
|
|
4262
|
-
content: "cancelled",
|
|
4263
|
-
color: "red"
|
|
4264
|
-
});
|
|
4265
|
-
}
|
|
4266
|
-
|
|
4267
|
-
return /*#__PURE__*/React__default["default"].createElement(shared.StatusTag, {
|
|
4268
|
-
content: taf.status.toLowerCase(),
|
|
4269
|
-
color: taf.status === 'EXPIRED' ? 'grey' : 'green'
|
|
4270
|
-
});
|
|
4271
|
-
};
|
|
4272
|
-
|
|
4273
|
-
var getDraftTitle = function getDraftTitle(status) {
|
|
4274
|
-
if (status === 'DRAFT_AMENDED') {
|
|
4275
|
-
return 'Draft amendment';
|
|
4276
|
-
}
|
|
4277
|
-
|
|
4278
|
-
if (status === 'DRAFT_CORRECTED') {
|
|
4279
|
-
return 'Draft correction';
|
|
4280
|
-
}
|
|
4281
|
-
|
|
4282
|
-
return 'Draft';
|
|
4283
|
-
};
|
|
4284
|
-
var useStyles$4 = makeStyles__default["default"]({
|
|
4285
|
-
cardWrapper: {
|
|
4286
|
-
width: '100%'
|
|
4287
|
-
},
|
|
4288
|
-
cardContent: {
|
|
4289
|
-
width: '100%'
|
|
4290
|
-
},
|
|
4291
|
-
activeStatus: {
|
|
4292
|
-
color: '#72bb23'
|
|
4293
|
-
},
|
|
4294
|
-
font: {
|
|
4295
|
-
fontWeight: 'normal'
|
|
4296
|
-
},
|
|
4297
|
-
alignIcon: {
|
|
4298
|
-
display: 'flex',
|
|
4299
|
-
alignSelf: 'center'
|
|
4300
|
-
}
|
|
4301
|
-
});
|
|
4211
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4212
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
4213
|
+
* */
|
|
4302
4214
|
|
|
4303
|
-
var
|
|
4304
|
-
var
|
|
4305
|
-
|
|
4306
|
-
|
|
4307
|
-
|
|
4308
|
-
|
|
4309
|
-
|
|
4310
|
-
|
|
4311
|
-
|
|
4312
|
-
|
|
4313
|
-
|
|
4314
|
-
|
|
4315
|
-
|
|
4316
|
-
}, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4317
|
-
container: true,
|
|
4318
|
-
alignItems: "center",
|
|
4319
|
-
spacing: 1
|
|
4320
|
-
}, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4321
|
-
item: true,
|
|
4322
|
-
xs: 3,
|
|
4323
|
-
sm: 2,
|
|
4324
|
-
md: 1
|
|
4325
|
-
}, /*#__PURE__*/React__default["default"].createElement(material.Typography, {
|
|
4326
|
-
variant: "subtitle2",
|
|
4327
|
-
noWrap: true,
|
|
4328
|
-
className: classes.font
|
|
4329
|
-
}, taf.location)), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4330
|
-
item: true,
|
|
4331
|
-
xs: 3,
|
|
4332
|
-
sm: 3,
|
|
4333
|
-
md: 1,
|
|
4334
|
-
container: true
|
|
4335
|
-
}, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4336
|
-
item: true,
|
|
4337
|
-
xs: 3,
|
|
4338
|
-
sm: 3,
|
|
4339
|
-
md: 3,
|
|
4340
|
-
className: classes.alignIcon
|
|
4341
|
-
}, showTac && /*#__PURE__*/React__default["default"].createElement(material.Tooltip, {
|
|
4342
|
-
"data-testid": "taflistrow-tactooltip",
|
|
4343
|
-
title: /*#__PURE__*/React__default["default"].createElement("div", {
|
|
4344
|
-
style: {
|
|
4345
|
-
whiteSpace: 'pre-line'
|
|
4346
|
-
}
|
|
4347
|
-
}, TAC),
|
|
4348
|
-
placement: "bottom-start"
|
|
4349
|
-
}, /*#__PURE__*/React__default["default"].createElement(iconsMaterial.InfoOutlined, {
|
|
4350
|
-
"data-testid": "taflistrow-tacicon",
|
|
4351
|
-
color: "secondary",
|
|
4352
|
-
fontSize: "small"
|
|
4353
|
-
}))), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4354
|
-
item: true,
|
|
4355
|
-
xs: 9,
|
|
4356
|
-
sm: 9,
|
|
4357
|
-
md: 9
|
|
4358
|
-
}, /*#__PURE__*/React__default["default"].createElement(material.Typography, {
|
|
4359
|
-
variant: "subtitle2",
|
|
4360
|
-
className: classes.font,
|
|
4361
|
-
"data-testid": "baseTime"
|
|
4362
|
-
}, baseTime))), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4363
|
-
item: true,
|
|
4364
|
-
xs: 3,
|
|
4365
|
-
sm: 2,
|
|
4366
|
-
md: 1
|
|
4367
|
-
}, /*#__PURE__*/React__default["default"].createElement(material.Typography, {
|
|
4368
|
-
variant: "subtitle2",
|
|
4369
|
-
className: classes.font,
|
|
4370
|
-
"data-testid": "validTimeDate"
|
|
4371
|
-
}, validTimeDate)), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4372
|
-
item: true,
|
|
4373
|
-
xs: 3,
|
|
4374
|
-
sm: 3,
|
|
4375
|
-
md: 6
|
|
4376
|
-
}, /*#__PURE__*/React__default["default"].createElement(material.Typography, {
|
|
4377
|
-
variant: "subtitle2",
|
|
4378
|
-
className: classes.font,
|
|
4379
|
-
"data-testid": "validTimeSlot"
|
|
4380
|
-
}, formatValidToString({
|
|
4381
|
-
start: taf.validDateStart,
|
|
4382
|
-
end: taf.validDateEnd
|
|
4383
|
-
}))), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4384
|
-
item: true,
|
|
4385
|
-
xs: 12,
|
|
4386
|
-
sm: 4,
|
|
4387
|
-
md: 3
|
|
4388
|
-
}, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4389
|
-
container: true,
|
|
4390
|
-
justifyContent: "flex-start",
|
|
4391
|
-
spacing: 2
|
|
4392
|
-
}, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4393
|
-
item: true,
|
|
4394
|
-
xs: 8,
|
|
4395
|
-
container: true,
|
|
4396
|
-
justifyContent: "flex-end"
|
|
4397
|
-
}, taf.status === 'DRAFT' || taf.status === 'DRAFT_CORRECTED' || taf.status === 'DRAFT_AMENDED' ? /*#__PURE__*/React__default["default"].createElement(material.Button, {
|
|
4398
|
-
color: "secondary",
|
|
4399
|
-
size: "small",
|
|
4400
|
-
"data-testid": "tafRow-draft",
|
|
4401
|
-
startIcon: /*#__PURE__*/React__default["default"].createElement(iconsMaterial.Create, {
|
|
4402
|
-
fontSize: "small",
|
|
4403
|
-
color: "secondary"
|
|
4404
|
-
})
|
|
4405
|
-
}, getDraftTitle(taf.status)) : getStatusTagList(taf)), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4406
|
-
item: true,
|
|
4407
|
-
className: classes.alignIcon
|
|
4408
|
-
}, taf.status !== 'NEW' && taf.status !== 'DRAFT' && taf.status !== 'DRAFT_CORRECTED' && taf.status !== 'DRAFT_AMENDED' && taf.status !== 'CANCELLED' && listType !== 'EXPIRED' && getActiveStatus(listType, classes.activeStatus))))));
|
|
4215
|
+
var TabPanel = function TabPanel(_a) {
|
|
4216
|
+
var children = _a.children,
|
|
4217
|
+
value = _a.value,
|
|
4218
|
+
index = _a.index,
|
|
4219
|
+
other = __rest(_a, ["children", "value", "index"]);
|
|
4220
|
+
|
|
4221
|
+
return /*#__PURE__*/React__default["default"].createElement(material.Box, __assign({
|
|
4222
|
+
role: "tabpanel",
|
|
4223
|
+
hidden: value !== index,
|
|
4224
|
+
id: "simple-tabpanel-" + index,
|
|
4225
|
+
"aria-labelledby": "simple-tab-" + index,
|
|
4226
|
+
"data-testid": "tab-panel-" + index
|
|
4227
|
+
}, other), value === index && children);
|
|
4409
4228
|
};
|
|
4410
4229
|
|
|
4411
4230
|
/* *
|
|
@@ -4421,171 +4240,204 @@
|
|
|
4421
4240
|
* See the License for the specific language governing permissions and
|
|
4422
4241
|
* limitations under the License.
|
|
4423
4242
|
*
|
|
4424
|
-
* Copyright
|
|
4425
|
-
* Copyright
|
|
4243
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4244
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
4426
4245
|
* */
|
|
4427
|
-
|
|
4428
|
-
|
|
4246
|
+
|
|
4247
|
+
var TafHeader = function TafHeader(_a) {
|
|
4248
|
+
var title = _a.title;
|
|
4249
|
+
return /*#__PURE__*/React__default["default"].createElement(material.Typography, {
|
|
4250
|
+
sx: {
|
|
4251
|
+
textAlign: 'center',
|
|
4252
|
+
fontWeight: 500,
|
|
4253
|
+
paddingTop: '6px',
|
|
4254
|
+
textTransform: 'capitalize'
|
|
4255
|
+
}
|
|
4256
|
+
}, title);
|
|
4257
|
+
};
|
|
4258
|
+
|
|
4259
|
+
var location_indicator_mwo = "EHDB";
|
|
4260
|
+
var locations = {
|
|
4261
|
+
EHAM: {
|
|
4262
|
+
validity_duration: 30,
|
|
4263
|
+
activity_period: 6,
|
|
4264
|
+
label: "Schiphol"
|
|
4265
|
+
},
|
|
4266
|
+
EHRD: {
|
|
4267
|
+
validity_duration: 30,
|
|
4268
|
+
activity_period: 6,
|
|
4269
|
+
label: "Rotterdam"
|
|
4270
|
+
},
|
|
4271
|
+
EHGG: {
|
|
4272
|
+
validity_duration: 30,
|
|
4273
|
+
activity_period: 6,
|
|
4274
|
+
label: "Eelde"
|
|
4275
|
+
},
|
|
4276
|
+
EHBK: {
|
|
4277
|
+
validity_duration: 30,
|
|
4278
|
+
activity_period: 6,
|
|
4279
|
+
label: "Maastricht"
|
|
4280
|
+
},
|
|
4281
|
+
EHLE: {
|
|
4282
|
+
validity_duration: 30,
|
|
4283
|
+
activity_period: 6,
|
|
4284
|
+
label: "Lelystad"
|
|
4285
|
+
},
|
|
4286
|
+
TNCB: {
|
|
4287
|
+
validity_duration: 30,
|
|
4288
|
+
activity_period: 6,
|
|
4289
|
+
label: "Bonaire"
|
|
4290
|
+
}
|
|
4291
|
+
};
|
|
4292
|
+
var locationOrder = [
|
|
4293
|
+
"EHAM",
|
|
4294
|
+
"EHRD",
|
|
4295
|
+
"EHLE",
|
|
4296
|
+
"EHGG",
|
|
4297
|
+
"EHBK",
|
|
4298
|
+
"TNCB"
|
|
4299
|
+
];
|
|
4300
|
+
var tafConfig = {
|
|
4301
|
+
location_indicator_mwo: location_indicator_mwo,
|
|
4302
|
+
locations: locations,
|
|
4303
|
+
locationOrder: locationOrder
|
|
4304
|
+
};
|
|
4305
|
+
|
|
4306
|
+
var getTafSettings = function getTafSettings() {
|
|
4307
|
+
return tafConfig;
|
|
4308
|
+
};
|
|
4309
|
+
|
|
4310
|
+
var tafSettings = getTafSettings();
|
|
4311
|
+
var getLocationSetting = function getLocationSetting(location, locationSettings) {
|
|
4312
|
+
if (locationSettings === void 0) {
|
|
4313
|
+
locationSettings = tafSettings.locations;
|
|
4314
|
+
}
|
|
4315
|
+
|
|
4316
|
+
return locationSettings[location];
|
|
4317
|
+
};
|
|
4318
|
+
var sortTafsOnLocation = function sortTafsOnLocation(tafList, locationOrder) {
|
|
4319
|
+
if (locationOrder === void 0) {
|
|
4320
|
+
locationOrder = tafSettings.locationOrder;
|
|
4321
|
+
}
|
|
4322
|
+
|
|
4323
|
+
if (!tafList) return [];
|
|
4324
|
+
return __spreadArray([], __read(tafList)).sort(function (_a, _b) {
|
|
4325
|
+
var tafA = _a.taf;
|
|
4326
|
+
var tafB = _b.taf;
|
|
4327
|
+
return locationOrder.indexOf(tafA.location) < locationOrder.indexOf(tafB.location) ? -1 : 1;
|
|
4328
|
+
});
|
|
4329
|
+
};
|
|
4330
|
+
var getBaseTime = function getBaseTime(baseTime, location) {
|
|
4331
|
+
var currentBaseTime = moment__default["default"].utc(baseTime);
|
|
4332
|
+
var activityPeriod = getLocationSetting(location).activity_period;
|
|
4333
|
+
var nextBaseTime = moment__default["default"].utc(baseTime).add(activityPeriod, 'hours');
|
|
4334
|
+
return {
|
|
4335
|
+
currentBaseTime: currentBaseTime,
|
|
4336
|
+
nextBaseTime: nextBaseTime
|
|
4337
|
+
};
|
|
4338
|
+
};
|
|
4339
|
+
var getTafTimeSlot = function getTafTimeSlot(baseTime, location, status) {
|
|
4429
4340
|
var now = moment__default["default"].utc();
|
|
4430
|
-
var baseTime = moment__default["default"].utc(taf.baseTime);
|
|
4431
|
-
var activityPeriod = locationSettings[taf.location].activity_period;
|
|
4432
|
-
var nextBaseTime = moment__default["default"].utc(taf.baseTime).add(activityPeriod, 'hours');
|
|
4433
4341
|
|
|
4434
|
-
|
|
4342
|
+
var _a = getBaseTime(baseTime, location),
|
|
4343
|
+
currentBaseTime = _a.currentBaseTime,
|
|
4344
|
+
nextBaseTime = _a.nextBaseTime;
|
|
4345
|
+
|
|
4346
|
+
if (status === 'EXPIRED') {
|
|
4435
4347
|
return 'EXPIRED';
|
|
4436
4348
|
}
|
|
4437
4349
|
|
|
4438
|
-
if (
|
|
4350
|
+
if (currentBaseTime < now && nextBaseTime > now) {
|
|
4439
4351
|
return 'ACTIVE';
|
|
4440
4352
|
}
|
|
4441
4353
|
|
|
4442
4354
|
return 'UPCOMING';
|
|
4443
4355
|
};
|
|
4356
|
+
var sortTafTimeSlots = function sortTafTimeSlots(tafList) {
|
|
4357
|
+
var sortedListOnLocation = sortTafsOnLocation(tafList);
|
|
4358
|
+
return sortedListOnLocation.reduce(function (sortedTafList, tafFromBackend) {
|
|
4359
|
+
var taf = tafFromBackend.taf;
|
|
4360
|
+
var timeSlot = getTafTimeSlot(taf.baseTime, taf.location, taf.status);
|
|
4361
|
+
|
|
4362
|
+
if (timeSlot === 'EXPIRED') {
|
|
4363
|
+
sortedTafList.expired.push(tafFromBackend);
|
|
4364
|
+
} else if (timeSlot === 'ACTIVE') {
|
|
4365
|
+
sortedTafList.current.push(tafFromBackend);
|
|
4366
|
+
} else {
|
|
4367
|
+
sortedTafList.upcoming.push(tafFromBackend);
|
|
4368
|
+
}
|
|
4444
4369
|
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
|
|
4449
|
-
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
|
|
4453
|
-
|
|
4454
|
-
|
|
4455
|
-
|
|
4456
|
-
|
|
4457
|
-
*
|
|
4458
|
-
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4459
|
-
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
4460
|
-
* */
|
|
4461
|
-
|
|
4462
|
-
var TafFormDialog = function TafFormDialog(_a) {
|
|
4463
|
-
var open = _a.open,
|
|
4464
|
-
toggleFormDialog = _a.toggleFormDialog,
|
|
4465
|
-
tafFromBackend = _a.tafFromBackend,
|
|
4466
|
-
children = _a.children,
|
|
4467
|
-
_b = _a.alertBanner,
|
|
4468
|
-
alertBanner = _b === void 0 ? null : _b,
|
|
4469
|
-
onFormAction = _a.onFormAction;
|
|
4470
|
-
var taf = tafFromBackend ? tafFromBackend.taf : null;
|
|
4471
|
-
var locationSettings = useTafSettings(tafConfig).locations;
|
|
4472
|
-
return /*#__PURE__*/React__default["default"].createElement(ContentDialog, {
|
|
4473
|
-
open: open,
|
|
4474
|
-
toggleDialogStatus: toggleFormDialog,
|
|
4475
|
-
titleComponent: /*#__PURE__*/React__default["default"].createElement(TafListRow, {
|
|
4476
|
-
taf: taf,
|
|
4477
|
-
listType: getListType(taf, locationSettings)
|
|
4478
|
-
}),
|
|
4479
|
-
alertBanner: alertBanner,
|
|
4480
|
-
onFormAction: onFormAction
|
|
4481
|
-
}, children);
|
|
4370
|
+
return sortedTafList;
|
|
4371
|
+
}, {
|
|
4372
|
+
current: [],
|
|
4373
|
+
upcoming: [],
|
|
4374
|
+
expired: []
|
|
4375
|
+
});
|
|
4376
|
+
};
|
|
4377
|
+
var muiTabA11yProps = function muiTabA11yProps(index) {
|
|
4378
|
+
return {
|
|
4379
|
+
id: "simple-tab-" + index,
|
|
4380
|
+
'aria-controls': "simple-tabpanel-" + index
|
|
4381
|
+
};
|
|
4482
4382
|
};
|
|
4483
4383
|
|
|
4484
|
-
var
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
}
|
|
4491
|
-
|
|
4492
|
-
color: '#0075a9'
|
|
4493
|
-
}
|
|
4494
|
-
});
|
|
4495
|
-
|
|
4496
|
-
var fromStatusToAction = function fromStatusToAction(tafStatus) {
|
|
4497
|
-
switch (tafStatus) {
|
|
4498
|
-
case 'DRAFT':
|
|
4499
|
-
return 'DRAFT';
|
|
4500
|
-
|
|
4501
|
-
case 'DRAFT_AMENDED':
|
|
4502
|
-
return 'DRAFT_AMEND';
|
|
4384
|
+
var EditIcon = function EditIcon(props) {
|
|
4385
|
+
var theme = material.useTheme();
|
|
4386
|
+
return /*#__PURE__*/React__namespace.createElement(material.SvgIcon, __assign({}, props), /*#__PURE__*/React__namespace.createElement("g", null, /*#__PURE__*/React__namespace.createElement("path", {
|
|
4387
|
+
d: "m8.332 17.09-.005.001-2.652.604.956-2.542.001-.001.001-.001.857-.744 1.69 1.945-.848.738zm.71.815L20.932 7.577 17.823 4 5.933 14.329l-.01.008.005.005L4.173 19l4.857-1.09-.004-.02.019.02-.002-.005z",
|
|
4388
|
+
fillRule: "evenodd",
|
|
4389
|
+
fill: "" + theme.palette.geowebColors.buttons.tertiary["default"].color
|
|
4390
|
+
})));
|
|
4391
|
+
};
|
|
4503
4392
|
|
|
4504
|
-
|
|
4505
|
-
|
|
4393
|
+
var StatusIcon = function StatusIcon(_a) {
|
|
4394
|
+
var timeSlot = _a.timeSlot,
|
|
4395
|
+
status = _a.status;
|
|
4506
4396
|
|
|
4507
|
-
|
|
4508
|
-
|
|
4397
|
+
if (status === 'NEW') {
|
|
4398
|
+
return null;
|
|
4509
4399
|
}
|
|
4510
|
-
};
|
|
4511
4400
|
|
|
4512
|
-
|
|
4513
|
-
|
|
4514
|
-
|
|
4515
|
-
|
|
4516
|
-
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4401
|
+
if (status === 'EXPIRED') {
|
|
4402
|
+
return /*#__PURE__*/React__namespace.createElement(iconsMaterial.Schedule, {
|
|
4403
|
+
"data-testid": "status-expired",
|
|
4404
|
+
fontSize: "small",
|
|
4405
|
+
sx: {
|
|
4406
|
+
transform: 'scaleX(-1)',
|
|
4407
|
+
color: 'geowebColors.buttons.tertiary.disabled.color'
|
|
4408
|
+
}
|
|
4409
|
+
});
|
|
4410
|
+
}
|
|
4521
4411
|
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
|
|
4412
|
+
if (status === 'CANCELLED') {
|
|
4413
|
+
return /*#__PURE__*/React__namespace.createElement(DoDisturbIcon__default["default"], {
|
|
4414
|
+
"data-testid": "status-cancelled",
|
|
4415
|
+
fontSize: "small",
|
|
4416
|
+
sx: {
|
|
4417
|
+
color: 'geowebColors.captions.captionError.rgba'
|
|
4418
|
+
}
|
|
4419
|
+
});
|
|
4420
|
+
}
|
|
4525
4421
|
|
|
4526
|
-
|
|
4527
|
-
|
|
4528
|
-
|
|
4529
|
-
|
|
4530
|
-
|
|
4422
|
+
if (status === 'DRAFT' || status === 'DRAFT_CORRECTED' || status === 'DRAFT_AMENDED') {
|
|
4423
|
+
return /*#__PURE__*/React__namespace.createElement(EditIcon, {
|
|
4424
|
+
"data-testid": "status-draft"
|
|
4425
|
+
});
|
|
4426
|
+
}
|
|
4531
4427
|
|
|
4532
|
-
|
|
4533
|
-
|
|
4534
|
-
|
|
4535
|
-
|
|
4536
|
-
|
|
4537
|
-
}, popOut ? {
|
|
4538
|
-
expanded: false
|
|
4539
|
-
} : {}, {
|
|
4540
|
-
onClick: function onClick() {
|
|
4541
|
-
if (popOut) {
|
|
4542
|
-
onClickTafActionButton(fromStatusToAction(tafListItem.taf.status), tafListItem.taf.uuid);
|
|
4543
|
-
}
|
|
4544
|
-
},
|
|
4545
|
-
TransitionProps: {
|
|
4546
|
-
unmountOnExit: true
|
|
4428
|
+
return timeSlot === 'ACTIVE' ? /*#__PURE__*/React__namespace.createElement(iconsMaterial.CheckCircle, {
|
|
4429
|
+
"data-testid": "status-active",
|
|
4430
|
+
fontSize: "small",
|
|
4431
|
+
sx: {
|
|
4432
|
+
color: 'geowebColors.functional.success'
|
|
4547
4433
|
}
|
|
4548
|
-
})
|
|
4549
|
-
"data-testid": "
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4553
|
-
}
|
|
4554
|
-
|
|
4555
|
-
fontSize: "small"
|
|
4556
|
-
})) : /*#__PURE__*/React__default["default"].createElement(iconsMaterial.ExpandMore, {
|
|
4557
|
-
className: classes.expandIcon,
|
|
4558
|
-
"data-testid": "expandIcon"
|
|
4559
|
-
})
|
|
4560
|
-
}, /*#__PURE__*/React__default["default"].createElement(TafListRow, {
|
|
4561
|
-
taf: tafListItem.taf,
|
|
4562
|
-
listType: listType,
|
|
4563
|
-
TAC: TAC,
|
|
4564
|
-
showTac: true
|
|
4565
|
-
})), /*#__PURE__*/React__default["default"].createElement(material.AccordionDetails, null, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4566
|
-
container: true,
|
|
4567
|
-
direction: "column"
|
|
4568
|
-
}, errorCancelTaf.length > 0 && errorCancelTaf.find(function (uuid) {
|
|
4569
|
-
return uuid === tafListItem.taf.uuid;
|
|
4570
|
-
}) && /*#__PURE__*/React__default["default"].createElement(shared.AlertBanner, {
|
|
4571
|
-
severity: "error",
|
|
4572
|
-
title: "Cancelling this TAF failed, please try again",
|
|
4573
|
-
dataTestId: "tafList-cancelAlert"
|
|
4574
|
-
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
4575
|
-
className: classes.formPadding
|
|
4576
|
-
}, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4577
|
-
item: true
|
|
4578
|
-
}, /*#__PURE__*/React__default["default"].createElement(TafFormWrapper, {
|
|
4579
|
-
tafFromBackend: tafListItem,
|
|
4580
|
-
mode: "view",
|
|
4581
|
-
TAC: TAC
|
|
4582
|
-
})), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4583
|
-
item: true
|
|
4584
|
-
}, /*#__PURE__*/React__default["default"].createElement(TafListButtons, {
|
|
4585
|
-
canBe: tafListItem.canbe,
|
|
4586
|
-
uuid: tafListItem.taf.uuid,
|
|
4587
|
-
onClickTafActionButton: onClickTafActionButton
|
|
4588
|
-
}))))));
|
|
4434
|
+
}) : /*#__PURE__*/React__namespace.createElement(iconsMaterial.Schedule, {
|
|
4435
|
+
"data-testid": "status-upcoming",
|
|
4436
|
+
fontSize: "small",
|
|
4437
|
+
sx: {
|
|
4438
|
+
color: 'geowebColors.functional.success'
|
|
4439
|
+
}
|
|
4440
|
+
});
|
|
4589
4441
|
};
|
|
4590
4442
|
|
|
4591
4443
|
/* *
|
|
@@ -4601,138 +4453,319 @@
|
|
|
4601
4453
|
* See the License for the specific language governing permissions and
|
|
4602
4454
|
* limitations under the License.
|
|
4603
4455
|
*
|
|
4604
|
-
* Copyright
|
|
4605
|
-
* Copyright
|
|
4456
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4457
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
4606
4458
|
* */
|
|
4607
|
-
var useStyles$2 = makeStyles__default["default"]({
|
|
4608
|
-
listHeaders: {
|
|
4609
|
-
color: '#9d9d9d'
|
|
4610
|
-
},
|
|
4611
|
-
formPadding: {
|
|
4612
|
-
padding: '8px'
|
|
4613
|
-
},
|
|
4614
|
-
paperButton: {
|
|
4615
|
-
width: '100%'
|
|
4616
|
-
}
|
|
4617
|
-
});
|
|
4618
4459
|
|
|
4619
|
-
var
|
|
4620
|
-
var
|
|
4621
|
-
|
|
4622
|
-
|
|
4623
|
-
|
|
4624
|
-
|
|
4625
|
-
|
|
4626
|
-
|
|
4627
|
-
|
|
4628
|
-
|
|
4629
|
-
|
|
4630
|
-
|
|
4631
|
-
|
|
4632
|
-
|
|
4633
|
-
|
|
4634
|
-
|
|
4635
|
-
|
|
4636
|
-
|
|
4637
|
-
|
|
4638
|
-
|
|
4639
|
-
|
|
4460
|
+
var TacContainer = function TacContainer(_a) {
|
|
4461
|
+
var taf = _a.taf,
|
|
4462
|
+
_b = _a.isActive,
|
|
4463
|
+
isActive = _b === void 0 ? false : _b;
|
|
4464
|
+
var api$1 = api.useApiContext().api;
|
|
4465
|
+
|
|
4466
|
+
var _c = __read(useTACGenerator(taf, api$1.getTAC), 2),
|
|
4467
|
+
TAC = _c[0],
|
|
4468
|
+
retrieveTAC = _c[1];
|
|
4469
|
+
|
|
4470
|
+
var status = taf.status,
|
|
4471
|
+
location = taf.location,
|
|
4472
|
+
baseTime = taf.baseTime;
|
|
4473
|
+
var locationLabel = getLocationSetting(location).label;
|
|
4474
|
+
var timeSlot = getTafTimeSlot(baseTime, location, status);
|
|
4475
|
+
React__default["default"].useEffect(function () {
|
|
4476
|
+
if (isActive) {
|
|
4477
|
+
retrieveTAC(taf);
|
|
4478
|
+
}
|
|
4479
|
+
}, [taf, isActive, retrieveTAC]);
|
|
4480
|
+
return /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
4481
|
+
sx: {
|
|
4482
|
+
marginBottom: '20px'
|
|
4483
|
+
},
|
|
4484
|
+
"data-location": location,
|
|
4485
|
+
className: isActive ? 'active' : null
|
|
4486
|
+
}, /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
4487
|
+
sx: {
|
|
4488
|
+
display: 'flex',
|
|
4489
|
+
alignItems: 'center',
|
|
4490
|
+
marginBottom: '2px'
|
|
4491
|
+
}
|
|
4492
|
+
}, /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
4493
|
+
sx: {
|
|
4494
|
+
width: 20,
|
|
4495
|
+
height: 20,
|
|
4496
|
+
display: 'flex',
|
|
4497
|
+
marginRight: '6px'
|
|
4498
|
+
}
|
|
4499
|
+
}, /*#__PURE__*/React__default["default"].createElement(StatusIcon, {
|
|
4500
|
+
timeSlot: timeSlot,
|
|
4501
|
+
status: status
|
|
4502
|
+
})), /*#__PURE__*/React__default["default"].createElement(material.Typography, {
|
|
4503
|
+
sx: __assign({
|
|
4504
|
+
lineHeight: 1
|
|
4505
|
+
}, isActive && {
|
|
4506
|
+
backgroundColor: 'geowebColors.functional.warningHighlight.rgba',
|
|
4507
|
+
padding: '0 2px',
|
|
4508
|
+
marginLeft: '-2px'
|
|
4509
|
+
})
|
|
4510
|
+
}, /*#__PURE__*/React__default["default"].createElement(material.Typography, {
|
|
4511
|
+
sx: {
|
|
4512
|
+
fontSize: '12px',
|
|
4513
|
+
color: 'geowebColors.captions.captionInformation.rgba'
|
|
4514
|
+
},
|
|
4515
|
+
"data-testid": "tafLocation",
|
|
4516
|
+
component: "span"
|
|
4517
|
+
}, location), /*#__PURE__*/React__default["default"].createElement(material.Typography, {
|
|
4518
|
+
sx: {
|
|
4519
|
+
fontSize: '12px',
|
|
4520
|
+
marginLeft: '10px'
|
|
4521
|
+
},
|
|
4522
|
+
"data-testid": "tafLocationLabel",
|
|
4523
|
+
component: "span"
|
|
4524
|
+
}, locationLabel))), /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
4525
|
+
sx: {
|
|
4526
|
+
fontSize: '12px',
|
|
4527
|
+
letterSpacing: '0.4px',
|
|
4528
|
+
color: 'geowebColors.captions.captionStatus.rgba'
|
|
4529
|
+
}
|
|
4530
|
+
}, TAC.split('\n').map(function (line) {
|
|
4531
|
+
return /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
4532
|
+
component: "span",
|
|
4533
|
+
key: line,
|
|
4534
|
+
sx: {
|
|
4535
|
+
display: 'inline-block'
|
|
4536
|
+
}
|
|
4537
|
+
}, /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
4538
|
+
component: "span",
|
|
4539
|
+
sx: __assign({
|
|
4540
|
+
display: 'inline',
|
|
4541
|
+
boxDecorationBreak: 'clone',
|
|
4542
|
+
WebkitBoxDecorationBreak: 'clone'
|
|
4543
|
+
}, isActive && {
|
|
4544
|
+
backgroundColor: 'geowebColors.functional.warningHighlight.rgba'
|
|
4545
|
+
})
|
|
4546
|
+
}, line));
|
|
4547
|
+
})));
|
|
4548
|
+
};
|
|
4549
|
+
|
|
4550
|
+
var TacOverview = function TacOverview(_a) {
|
|
4551
|
+
var _b = _a.upcomingTafs,
|
|
4552
|
+
upcomingTafs = _b === void 0 ? [] : _b,
|
|
4553
|
+
_c = _a.currentTafs,
|
|
4554
|
+
currentTafs = _c === void 0 ? [] : _c,
|
|
4555
|
+
_d = _a.expiredTafs,
|
|
4556
|
+
expiredTafs = _d === void 0 ? [] : _d,
|
|
4557
|
+
_e = _a.hideTitle,
|
|
4558
|
+
hideTitle = _e === void 0 ? false : _e,
|
|
4559
|
+
_f = _a.activeTaf,
|
|
4560
|
+
activeTaf = _f === void 0 ? null : _f;
|
|
4561
|
+
|
|
4562
|
+
var _g = __read(React__default["default"].useState(0), 2),
|
|
4563
|
+
activeTab = _g[0],
|
|
4564
|
+
setActiveTab = _g[1];
|
|
4565
|
+
|
|
4566
|
+
var scrollRef = React__default["default"].useRef(null);
|
|
4567
|
+
var tabs = [{
|
|
4568
|
+
title: 'Upcoming',
|
|
4569
|
+
tafList: upcomingTafs
|
|
4570
|
+
}, {
|
|
4571
|
+
title: 'Current & Expired',
|
|
4572
|
+
tafList: sortTafsOnLocation(__spreadArray(__spreadArray([], __read(currentTafs)), __read(expiredTafs)))
|
|
4573
|
+
}];
|
|
4574
|
+
var activeLocation = (activeTaf === null || activeTaf === void 0 ? void 0 : activeTaf.taf.location) || null;
|
|
4575
|
+
|
|
4576
|
+
var isActiveLocation = function isActiveLocation(location) {
|
|
4577
|
+
return location === activeLocation;
|
|
4578
|
+
};
|
|
4579
|
+
|
|
4580
|
+
var scrollToPosition = React__default["default"].useCallback(function () {
|
|
4581
|
+
if (!scrollRef.current) return;
|
|
4582
|
+
var containerTop = scrollRef.current.getBoundingClientRect().top;
|
|
4583
|
+
var firstLocation = scrollRef.current.querySelector("[data-location=\"" + activeLocation + "\"]");
|
|
4584
|
+
var paddingTop = parseInt(getComputedStyle(scrollRef.current).paddingTop, 10);
|
|
4585
|
+
var newScrollPosition = (firstLocation === null || firstLocation === void 0 ? void 0 : firstLocation.getBoundingClientRect().top) - containerTop + scrollRef.current.scrollTop - paddingTop;
|
|
4586
|
+
scrollRef.current.scrollTo(newScrollPosition, newScrollPosition);
|
|
4587
|
+
}, [activeLocation]);
|
|
4588
|
+
|
|
4589
|
+
var resetScrollPosition = function resetScrollPosition() {
|
|
4590
|
+
return scrollRef.current.scrollTo(0, 0);
|
|
4591
|
+
};
|
|
4592
|
+
|
|
4593
|
+
var onChangeTab = function onChangeTab(_event, newValue) {
|
|
4594
|
+
setActiveTab(newValue);
|
|
4595
|
+
resetScrollPosition();
|
|
4596
|
+
};
|
|
4597
|
+
|
|
4598
|
+
React__default["default"].useEffect(function () {
|
|
4599
|
+
if (activeLocation) {
|
|
4600
|
+
scrollToPosition();
|
|
4601
|
+
}
|
|
4602
|
+
}, [activeLocation, scrollToPosition]);
|
|
4603
|
+
React__default["default"].useEffect(function () {
|
|
4604
|
+
var SCROLL_DELAY = 1000;
|
|
4605
|
+
var timer = setTimeout(function () {
|
|
4606
|
+
scrollToPosition();
|
|
4607
|
+
}, SCROLL_DELAY);
|
|
4608
|
+
return function () {
|
|
4609
|
+
clearTimeout(timer);
|
|
4610
|
+
};
|
|
4611
|
+
}, [activeTab, scrollToPosition]);
|
|
4612
|
+
return /*#__PURE__*/React__default["default"].createElement(material.Card, {
|
|
4613
|
+
variant: "outlined",
|
|
4614
|
+
sx: {
|
|
4615
|
+
maxHeight: '100%',
|
|
4616
|
+
overflow: 'hidden',
|
|
4617
|
+
display: 'flex',
|
|
4618
|
+
flexDirection: 'column'
|
|
4619
|
+
}
|
|
4620
|
+
}, /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
4621
|
+
sx: {
|
|
4622
|
+
zIndex: 1
|
|
4623
|
+
}
|
|
4624
|
+
}, !hideTitle && /*#__PURE__*/React__default["default"].createElement(TafHeader, {
|
|
4625
|
+
title: "TAC Overview"
|
|
4626
|
+
}), /*#__PURE__*/React__default["default"].createElement(material.Tabs, {
|
|
4627
|
+
value: activeTab,
|
|
4628
|
+
onChange: onChangeTab,
|
|
4629
|
+
"aria-label": "tabs"
|
|
4630
|
+
}, tabs.map(function (tab, index) {
|
|
4631
|
+
return /*#__PURE__*/React__default["default"].createElement(material.Tab, __assign({
|
|
4632
|
+
key: tab.title,
|
|
4633
|
+
sx: {
|
|
4634
|
+
flexGrow: 1
|
|
4635
|
+
},
|
|
4636
|
+
label: tab.title,
|
|
4637
|
+
"data-testid": "tab-" + index
|
|
4638
|
+
}, muiTabA11yProps(index)));
|
|
4639
|
+
}))), /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
4640
|
+
ref: scrollRef,
|
|
4641
|
+
sx: {
|
|
4642
|
+
padding: '10px',
|
|
4643
|
+
maxHeight: '100%',
|
|
4644
|
+
overflow: 'auto'
|
|
4645
|
+
}
|
|
4646
|
+
}, tabs.map(function (tab, index) {
|
|
4647
|
+
return /*#__PURE__*/React__default["default"].createElement(TabPanel, {
|
|
4648
|
+
key: tab.title,
|
|
4649
|
+
value: activeTab,
|
|
4650
|
+
index: index
|
|
4651
|
+
}, tab.tafList.map(function (_a) {
|
|
4652
|
+
var taf = _a.taf;
|
|
4653
|
+
return /*#__PURE__*/React__default["default"].createElement(TacContainer, {
|
|
4654
|
+
key: taf.uuid,
|
|
4655
|
+
taf: taf,
|
|
4656
|
+
isActive: isActiveLocation(taf.location)
|
|
4657
|
+
});
|
|
4658
|
+
}));
|
|
4640
4659
|
})));
|
|
4641
4660
|
};
|
|
4642
4661
|
|
|
4643
|
-
var
|
|
4644
|
-
|
|
4645
|
-
|
|
4646
|
-
},
|
|
4647
|
-
listHeaders: {
|
|
4648
|
-
color: '#9d9d9d'
|
|
4649
|
-
},
|
|
4650
|
-
listBody: {
|
|
4651
|
-
width: '100%',
|
|
4652
|
-
minHeight: '600px'
|
|
4653
|
-
}
|
|
4654
|
-
});
|
|
4662
|
+
var TacOverviewIcon = /*#__PURE__*/React__namespace.createElement(material.SvgIcon, null, /*#__PURE__*/React__namespace.createElement("path", {
|
|
4663
|
+
d: "M3 3h4v4H3V3zm0 7h4v4H3v-4zm0 7h4v4H3v-4zm7-14h11v4H10V3zm0 7h11v4H10v-4zm0 7h11v4H10v-4z"
|
|
4664
|
+
}));
|
|
4655
4665
|
|
|
4656
|
-
var
|
|
4657
|
-
var
|
|
4666
|
+
var TacOverviewMobile = function TacOverviewMobile(_a) {
|
|
4667
|
+
var upcomingTafs = _a.upcomingTafs,
|
|
4668
|
+
currentTafs = _a.currentTafs,
|
|
4669
|
+
expiredTafs = _a.expiredTafs,
|
|
4670
|
+
activeTaf = _a.activeTaf,
|
|
4671
|
+
_b = _a.defaultOpen,
|
|
4672
|
+
defaultOpen = _b === void 0 ? false : _b;
|
|
4658
4673
|
|
|
4659
|
-
var
|
|
4660
|
-
|
|
4661
|
-
|
|
4662
|
-
|
|
4663
|
-
|
|
4664
|
-
|
|
4665
|
-
|
|
4666
|
-
|
|
4667
|
-
|
|
4668
|
-
|
|
4669
|
-
|
|
4670
|
-
|
|
4671
|
-
|
|
4672
|
-
|
|
4673
|
-
|
|
4674
|
-
|
|
4675
|
-
|
|
4676
|
-
|
|
4677
|
-
|
|
4678
|
-
|
|
4679
|
-
|
|
4680
|
-
|
|
4681
|
-
expiredTafs.push(taf);
|
|
4682
|
-
} else if (baseTime < now && nextBaseTime > now) {
|
|
4683
|
-
currentTafs.push(taf);
|
|
4684
|
-
} else {
|
|
4685
|
-
upcomingTafs.push(taf);
|
|
4686
|
-
}
|
|
4687
|
-
}
|
|
4688
|
-
} catch (e_1_1) {
|
|
4689
|
-
e_1 = {
|
|
4690
|
-
error: e_1_1
|
|
4691
|
-
};
|
|
4692
|
-
} finally {
|
|
4693
|
-
try {
|
|
4694
|
-
if (tafList_1_1 && !tafList_1_1.done && (_b = tafList_1["return"])) _b.call(tafList_1);
|
|
4695
|
-
} finally {
|
|
4696
|
-
if (e_1) throw e_1.error;
|
|
4697
|
-
}
|
|
4674
|
+
var _c = __read(React__namespace.useState(defaultOpen), 2),
|
|
4675
|
+
isOpen = _c[0],
|
|
4676
|
+
toggleOpen = _c[1];
|
|
4677
|
+
|
|
4678
|
+
var onClose = function onClose() {
|
|
4679
|
+
return toggleOpen(false);
|
|
4680
|
+
};
|
|
4681
|
+
|
|
4682
|
+
return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement(shared.ToolButton, {
|
|
4683
|
+
active: isOpen,
|
|
4684
|
+
onClick: function onClick() {
|
|
4685
|
+
return toggleOpen(true);
|
|
4686
|
+
},
|
|
4687
|
+
"data-testid": "tac-overview-mobile-button",
|
|
4688
|
+
sx: {
|
|
4689
|
+
display: {
|
|
4690
|
+
xs: 'inline-flex',
|
|
4691
|
+
sm: 'none'
|
|
4692
|
+
},
|
|
4693
|
+
position: 'absolute',
|
|
4694
|
+
right: '8px',
|
|
4695
|
+
top: '30px'
|
|
4698
4696
|
}
|
|
4697
|
+
}, TacOverviewIcon), /*#__PURE__*/React__namespace.createElement(material.Dialog, {
|
|
4698
|
+
open: isOpen,
|
|
4699
|
+
onClose: onClose,
|
|
4700
|
+
PaperProps: {
|
|
4701
|
+
sx: {
|
|
4702
|
+
margin: 2,
|
|
4703
|
+
width: '100%',
|
|
4704
|
+
height: '100%'
|
|
4705
|
+
}
|
|
4706
|
+
},
|
|
4707
|
+
"data-testid": "tac-overview-mobile"
|
|
4708
|
+
}, /*#__PURE__*/React__namespace.createElement(shared.ToolHeader, {
|
|
4709
|
+
title: "TAC Overview",
|
|
4710
|
+
size: "small",
|
|
4711
|
+
isDraggable: false,
|
|
4712
|
+
onClose: onClose
|
|
4713
|
+
}), /*#__PURE__*/React__namespace.createElement(TacOverview, {
|
|
4714
|
+
upcomingTafs: upcomingTafs,
|
|
4715
|
+
currentTafs: currentTafs,
|
|
4716
|
+
expiredTafs: expiredTafs,
|
|
4717
|
+
activeTaf: activeTaf,
|
|
4718
|
+
hideTitle: true
|
|
4719
|
+
})));
|
|
4720
|
+
};
|
|
4721
|
+
|
|
4722
|
+
var formatBaseTime = function formatBaseTime(time) {
|
|
4723
|
+
return time.format('HH:mm DD MMM');
|
|
4724
|
+
};
|
|
4725
|
+
|
|
4726
|
+
var TopTabs = function TopTabs(_a) {
|
|
4727
|
+
var timeSlot = _a.timeSlot,
|
|
4728
|
+
_b = _a.onChangeTimeSlot,
|
|
4729
|
+
onChangeTimeSlot = _b === void 0 ? function () {} : _b,
|
|
4730
|
+
tafFromBackend = _a.tafFromBackend;
|
|
4731
|
+
|
|
4732
|
+
if (!tafFromBackend) {
|
|
4733
|
+
return null;
|
|
4699
4734
|
}
|
|
4700
4735
|
|
|
4701
|
-
|
|
4702
|
-
|
|
4703
|
-
|
|
4704
|
-
|
|
4705
|
-
|
|
4706
|
-
|
|
4707
|
-
|
|
4708
|
-
|
|
4709
|
-
|
|
4710
|
-
|
|
4711
|
-
|
|
4712
|
-
|
|
4713
|
-
}
|
|
4714
|
-
|
|
4715
|
-
|
|
4716
|
-
|
|
4717
|
-
|
|
4718
|
-
|
|
4719
|
-
|
|
4720
|
-
|
|
4721
|
-
|
|
4722
|
-
|
|
4723
|
-
|
|
4724
|
-
|
|
4725
|
-
|
|
4726
|
-
|
|
4727
|
-
|
|
4728
|
-
|
|
4729
|
-
|
|
4730
|
-
|
|
4731
|
-
|
|
4732
|
-
|
|
4733
|
-
|
|
4734
|
-
height: "660px"
|
|
4735
|
-
})));
|
|
4736
|
+
var activeTab = timeSlot === 'UPCOMING' ? 0 : 1;
|
|
4737
|
+
|
|
4738
|
+
var _c = getBaseTime(tafFromBackend.taf.baseTime, tafFromBackend.taf.location),
|
|
4739
|
+
currentBaseTime = _c.currentBaseTime,
|
|
4740
|
+
nextBaseTime = _c.nextBaseTime;
|
|
4741
|
+
|
|
4742
|
+
var tabs = [{
|
|
4743
|
+
title: "Upcoming " + formatBaseTime(nextBaseTime),
|
|
4744
|
+
timeSlot: 'UPCOMING'
|
|
4745
|
+
}, {
|
|
4746
|
+
title: "Current " + formatBaseTime(currentBaseTime),
|
|
4747
|
+
timeSlot: 'ACTIVE'
|
|
4748
|
+
}];
|
|
4749
|
+
|
|
4750
|
+
var onChangeTab = function onChangeTab(_event, newValue) {
|
|
4751
|
+
onChangeTimeSlot(tabs[newValue].timeSlot);
|
|
4752
|
+
};
|
|
4753
|
+
|
|
4754
|
+
return /*#__PURE__*/React__default["default"].createElement(material.Tabs, {
|
|
4755
|
+
value: activeTab,
|
|
4756
|
+
onChange: onChangeTab,
|
|
4757
|
+
"aria-label": "timeslot-tabs",
|
|
4758
|
+
variant: "fullWidth"
|
|
4759
|
+
}, tabs.map(function (tab, index) {
|
|
4760
|
+
return /*#__PURE__*/React__default["default"].createElement(material.Tab, __assign({
|
|
4761
|
+
key: tab.title,
|
|
4762
|
+
label: tab.title,
|
|
4763
|
+
"data-testid": "tab-" + index,
|
|
4764
|
+
sx: {
|
|
4765
|
+
fontSize: 16
|
|
4766
|
+
}
|
|
4767
|
+
}, muiTabA11yProps(index)));
|
|
4768
|
+
}));
|
|
4736
4769
|
};
|
|
4737
4770
|
|
|
4738
4771
|
/* *
|
|
@@ -4748,189 +4781,270 @@
|
|
|
4748
4781
|
* See the License for the specific language governing permissions and
|
|
4749
4782
|
* limitations under the License.
|
|
4750
4783
|
*
|
|
4751
|
-
* Copyright
|
|
4752
|
-
* Copyright
|
|
4784
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4785
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
4753
4786
|
* */
|
|
4754
|
-
var useStyles = makeStyles__default["default"]({
|
|
4755
|
-
backdrop: {
|
|
4756
|
-
zIndex: 1500,
|
|
4757
|
-
color: '#fff'
|
|
4758
|
-
}
|
|
4759
|
-
});
|
|
4760
|
-
|
|
4761
|
-
var Spinner = function Spinner() {
|
|
4762
|
-
var classes = useStyles();
|
|
4763
|
-
return /*#__PURE__*/React__default["default"].createElement(material.Backdrop, {
|
|
4764
|
-
open: true,
|
|
4765
|
-
className: classes.backdrop
|
|
4766
|
-
}, /*#__PURE__*/React__default["default"].createElement(material.CircularProgress, {
|
|
4767
|
-
"data-testid": "spinner",
|
|
4768
|
-
color: "inherit"
|
|
4769
|
-
}));
|
|
4770
|
-
};
|
|
4771
|
-
|
|
4772
|
-
var useTimeoutCancelError = function useTimeoutCancelError(pollingInterval) {
|
|
4773
|
-
if (pollingInterval === void 0) {
|
|
4774
|
-
pollingInterval = 10000;
|
|
4775
|
-
}
|
|
4776
|
-
|
|
4777
|
-
var _a = __read(React__default["default"].useState([]), 2),
|
|
4778
|
-
errorCancelTaf = _a[0],
|
|
4779
|
-
setErrorCancelTaf = _a[1];
|
|
4780
4787
|
|
|
4781
|
-
|
|
4782
|
-
|
|
4783
|
-
|
|
4784
|
-
|
|
4788
|
+
var LocationTabs = function LocationTabs(_a) {
|
|
4789
|
+
var tafList = _a.tafList,
|
|
4790
|
+
_b = _a.activeIndex,
|
|
4791
|
+
activeIndex = _b === void 0 ? 0 : _b,
|
|
4792
|
+
_c = _a.onChangeTab,
|
|
4793
|
+
onChangeTab = _c === void 0 ? function () {} : _c,
|
|
4794
|
+
timeSlot = _a.timeSlot;
|
|
4795
|
+
return /*#__PURE__*/React__namespace.createElement(material.MenuList, {
|
|
4796
|
+
"data-testid": "location-tabs",
|
|
4797
|
+
sx: {
|
|
4798
|
+
paddingTop: '32px'
|
|
4799
|
+
}
|
|
4800
|
+
}, tafList.map(function (_a, index) {
|
|
4801
|
+
var taf = _a.taf;
|
|
4802
|
+
return /*#__PURE__*/React__namespace.createElement(material.MenuItem, {
|
|
4803
|
+
key: taf.uuid,
|
|
4804
|
+
selected: index === activeIndex,
|
|
4805
|
+
sx: {
|
|
4806
|
+
backgroundColor: 'geowebColors.cards.cardContainer',
|
|
4807
|
+
borderColor: 'geowebColors.cards.cardContainerBorder',
|
|
4808
|
+
borderWidth: '1px',
|
|
4809
|
+
borderStyle: 'solid',
|
|
4810
|
+
margin: '0 0 4px',
|
|
4811
|
+
height: '56px',
|
|
4812
|
+
justifyContent: 'center',
|
|
4813
|
+
':after': {
|
|
4814
|
+
background: 'none!important'
|
|
4815
|
+
},
|
|
4816
|
+
'&.Mui-selected': {
|
|
4817
|
+
backgroundColor: 'geowebColors.cards.cardContainer',
|
|
4818
|
+
marginRight: '-17px',
|
|
4819
|
+
borderRight: '0px',
|
|
4820
|
+
zIndex: 1
|
|
4821
|
+
}
|
|
4822
|
+
},
|
|
4823
|
+
onClick: function onClick() {
|
|
4824
|
+
return onChangeTab(index);
|
|
4785
4825
|
}
|
|
4786
|
-
},
|
|
4787
|
-
|
|
4788
|
-
|
|
4789
|
-
|
|
4826
|
+
}, /*#__PURE__*/React__namespace.createElement(Box__default["default"], {
|
|
4827
|
+
component: "span",
|
|
4828
|
+
sx: {
|
|
4829
|
+
fontSize: '12px',
|
|
4830
|
+
fontWeight: '500',
|
|
4831
|
+
letterSpacing: '0.09px',
|
|
4832
|
+
'& + svg': {
|
|
4833
|
+
position: 'absolute',
|
|
4834
|
+
bottom: '1px',
|
|
4835
|
+
width: '20px',
|
|
4836
|
+
height: '20px'
|
|
4837
|
+
}
|
|
4790
4838
|
}
|
|
4791
|
-
}
|
|
4792
|
-
|
|
4793
|
-
|
|
4794
|
-
|
|
4795
|
-
|
|
4796
|
-
if (tafList === null) return undefined;
|
|
4797
|
-
return tafList.find(function (element) {
|
|
4798
|
-
return element.taf.uuid === selectedTafId;
|
|
4799
|
-
});
|
|
4839
|
+
}, taf.location), /*#__PURE__*/React__namespace.createElement(StatusIcon, {
|
|
4840
|
+
timeSlot: timeSlot,
|
|
4841
|
+
status: taf.status
|
|
4842
|
+
}));
|
|
4843
|
+
}));
|
|
4800
4844
|
};
|
|
4801
4845
|
|
|
4802
|
-
var
|
|
4803
|
-
|
|
4804
|
-
|
|
4805
|
-
|
|
4806
|
-
|
|
4807
|
-
|
|
4808
|
-
|
|
4809
|
-
|
|
4810
|
-
var _b = __read(React__default["default"].useState(null), 2),
|
|
4811
|
-
selectedTafId = _b[0],
|
|
4812
|
-
setselectedTafId = _b[1];
|
|
4846
|
+
var Spinner = function Spinner(props) {
|
|
4847
|
+
return /*#__PURE__*/React__default["default"].createElement(material.Backdrop, __assign({
|
|
4848
|
+
open: true
|
|
4849
|
+
}, props), /*#__PURE__*/React__default["default"].createElement(material.CircularProgress, {
|
|
4850
|
+
"data-testid": "spinner",
|
|
4851
|
+
color: "inherit"
|
|
4852
|
+
}));
|
|
4853
|
+
};
|
|
4813
4854
|
|
|
4814
|
-
|
|
4815
|
-
|
|
4816
|
-
|
|
4855
|
+
var fromActionToStatus = function fromActionToStatus(tafAction) {
|
|
4856
|
+
switch (tafAction) {
|
|
4857
|
+
case 'DRAFT':
|
|
4858
|
+
return 'DRAFT';
|
|
4817
4859
|
|
|
4818
|
-
|
|
4819
|
-
|
|
4820
|
-
setErrorPostMessage = _d[1];
|
|
4860
|
+
case 'DRAFT_AMEND':
|
|
4861
|
+
return 'DRAFT_AMENDED';
|
|
4821
4862
|
|
|
4822
|
-
|
|
4823
|
-
|
|
4824
|
-
setErrorPostMessageText = _e[1];
|
|
4863
|
+
case 'DRAFT_CORRECT':
|
|
4864
|
+
return 'DRAFT_CORRECTED';
|
|
4825
4865
|
|
|
4826
|
-
|
|
4827
|
-
|
|
4828
|
-
setSpinner = _f[1]; // clear error message for cancel after 10 seconds
|
|
4866
|
+
case 'PUBLISH':
|
|
4867
|
+
return 'PUBLISHED';
|
|
4829
4868
|
|
|
4869
|
+
case 'AMEND':
|
|
4870
|
+
return 'AMENDED';
|
|
4830
4871
|
|
|
4831
|
-
|
|
4832
|
-
|
|
4833
|
-
setErrorCancelTaf = _g[1]; // Retrieve list of tafs
|
|
4872
|
+
case 'CORRECT':
|
|
4873
|
+
return 'CORRECTED';
|
|
4834
4874
|
|
|
4875
|
+
case 'CANCEL':
|
|
4876
|
+
return 'CANCELLED';
|
|
4835
4877
|
|
|
4836
|
-
|
|
4837
|
-
|
|
4838
|
-
|
|
4839
|
-
|
|
4840
|
-
fetchNewTafList = _h.fetchApiData;
|
|
4878
|
+
default:
|
|
4879
|
+
return 'NEW';
|
|
4880
|
+
}
|
|
4881
|
+
};
|
|
4841
4882
|
|
|
4842
|
-
|
|
4843
|
-
|
|
4844
|
-
|
|
4883
|
+
var TafPanel = function TafPanel(_a) {
|
|
4884
|
+
var tafFromBackend = _a.tafFromBackend,
|
|
4885
|
+
activeTafIndex = _a.activeTafIndex,
|
|
4886
|
+
index = _a.index,
|
|
4887
|
+
_b = _a.onPostTaf,
|
|
4888
|
+
onPostTaf = _b === void 0 ? function () {} : _b;
|
|
4889
|
+
var api$1 = api.useApiContext().api;
|
|
4845
4890
|
|
|
4846
|
-
|
|
4891
|
+
var _c = __read(React__default["default"].useState(false), 2),
|
|
4892
|
+
isLoading = _c[0],
|
|
4893
|
+
setLoading = _c[1];
|
|
4847
4894
|
|
|
4848
|
-
var
|
|
4849
|
-
|
|
4850
|
-
|
|
4895
|
+
var _d = __read(React__default["default"].useState(null), 2),
|
|
4896
|
+
error = _d[0],
|
|
4897
|
+
setError = _d[1]; // removes cancelled error message
|
|
4851
4898
|
|
|
4852
|
-
setErrorPostMessage(false);
|
|
4853
|
-
setErrorPostMessageText('');
|
|
4854
|
-
setTafDialogOpen(!isTafDialogOpen);
|
|
4855
|
-
};
|
|
4856
4899
|
|
|
4857
4900
|
React__default["default"].useEffect(function () {
|
|
4858
|
-
|
|
4859
|
-
|
|
4860
|
-
}
|
|
4861
|
-
|
|
4862
|
-
|
|
4863
|
-
|
|
4864
|
-
|
|
4865
|
-
|
|
4866
|
-
|
|
4867
|
-
title: 'Cancel TAF',
|
|
4868
|
-
description: 'Are you sure you want to cancel this TAF?',
|
|
4869
|
-
confirmLabel: 'Cancel'
|
|
4870
|
-
}).then(function () {
|
|
4871
|
-
var taf = getSelectedTaf(tafUuid, tafList).taf;
|
|
4872
|
-
postTaf({
|
|
4873
|
-
taf: taf,
|
|
4874
|
-
changeStatusTo: 'CANCELLED'
|
|
4875
|
-
});
|
|
4876
|
-
});
|
|
4877
|
-
} else if (selectedTafId === tafUuid) {
|
|
4878
|
-
setTafDialogAction(action);
|
|
4879
|
-
toggleTafDialog();
|
|
4880
|
-
} else {
|
|
4881
|
-
setTafDialogAction(action);
|
|
4882
|
-
setselectedTafId(tafUuid);
|
|
4883
|
-
}
|
|
4884
|
-
};
|
|
4901
|
+
var cancelErrorTimeout = error && error.type === 'CANCELLED' ? setTimeout(function () {
|
|
4902
|
+
setError(null);
|
|
4903
|
+
}, 10000) : null;
|
|
4904
|
+
return function () {
|
|
4905
|
+
if (cancelErrorTimeout !== null) {
|
|
4906
|
+
clearTimeout(cancelErrorTimeout);
|
|
4907
|
+
}
|
|
4908
|
+
};
|
|
4909
|
+
}, [error]);
|
|
4885
4910
|
|
|
4886
4911
|
var postTaf = function postTaf(data) {
|
|
4887
4912
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
4888
|
-
var error_1;
|
|
4913
|
+
var error_1, newError;
|
|
4889
4914
|
return __generator(this, function (_a) {
|
|
4890
4915
|
switch (_a.label) {
|
|
4891
4916
|
case 0:
|
|
4892
|
-
|
|
4893
|
-
_a.label = 1;
|
|
4894
|
-
|
|
4895
|
-
case 1:
|
|
4896
|
-
_a.trys.push([1, 3,, 4]);
|
|
4917
|
+
_a.trys.push([0, 2,, 3]);
|
|
4897
4918
|
|
|
4919
|
+
setLoading(true);
|
|
4898
4920
|
return [4
|
|
4899
4921
|
/*yield*/
|
|
4900
4922
|
, api$1.postTaf(data)];
|
|
4901
4923
|
|
|
4902
|
-
case
|
|
4924
|
+
case 1:
|
|
4903
4925
|
_a.sent();
|
|
4904
4926
|
|
|
4905
|
-
|
|
4906
|
-
|
|
4927
|
+
setLoading(false);
|
|
4928
|
+
setError(null); // callback
|
|
4907
4929
|
|
|
4908
|
-
|
|
4909
|
-
|
|
4910
|
-
setErrorCancelTaf([]);
|
|
4930
|
+
onPostTaf();
|
|
4911
4931
|
return [3
|
|
4912
4932
|
/*break*/
|
|
4913
|
-
,
|
|
4933
|
+
, 3];
|
|
4914
4934
|
|
|
4915
|
-
case
|
|
4935
|
+
case 2:
|
|
4916
4936
|
error_1 = _a.sent();
|
|
4937
|
+
newError = data.changeStatusTo === 'CANCELLED' ? {
|
|
4938
|
+
type: 'CANCELLED',
|
|
4939
|
+
title: 'Cancelling this TAF failed, please try again'
|
|
4940
|
+
} : {
|
|
4941
|
+
type: 'SERVER',
|
|
4942
|
+
title: 'An error has occurred while saving, please try again',
|
|
4943
|
+
message: shared.getAxiosErrorMessage(error_1)
|
|
4944
|
+
};
|
|
4945
|
+
setError(newError);
|
|
4946
|
+
setLoading(false);
|
|
4947
|
+
throw error_1;
|
|
4948
|
+
|
|
4949
|
+
case 3:
|
|
4950
|
+
return [2
|
|
4951
|
+
/*return*/
|
|
4952
|
+
];
|
|
4953
|
+
}
|
|
4954
|
+
});
|
|
4955
|
+
});
|
|
4956
|
+
};
|
|
4917
4957
|
|
|
4918
|
-
|
|
4919
|
-
|
|
4920
|
-
|
|
4921
|
-
setErrorPostMessage(true);
|
|
4958
|
+
var getViewMode = function getViewMode(status) {
|
|
4959
|
+
return status === 'NEW' || status === 'DRAFT' || status === 'DRAFT_AMENDED' || status === 'DRAFT_CORRECTED' ? 'edit' : 'view';
|
|
4960
|
+
};
|
|
4922
4961
|
|
|
4923
|
-
|
|
4924
|
-
|
|
4925
|
-
|
|
4962
|
+
var onTafAction = function onTafAction(action, taf) {
|
|
4963
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
4964
|
+
var _a;
|
|
4965
|
+
|
|
4966
|
+
return __generator(this, function (_b) {
|
|
4967
|
+
switch (_b.label) {
|
|
4968
|
+
case 0:
|
|
4969
|
+
_b.trys.push([0, 5,, 6]);
|
|
4970
|
+
|
|
4971
|
+
_a = action;
|
|
4972
|
+
|
|
4973
|
+
switch (_a) {
|
|
4974
|
+
case 'DRAFT':
|
|
4975
|
+
return [3
|
|
4976
|
+
/*break*/
|
|
4977
|
+
, 1];
|
|
4978
|
+
|
|
4979
|
+
case 'DRAFT_AMEND':
|
|
4980
|
+
return [3
|
|
4981
|
+
/*break*/
|
|
4982
|
+
, 1];
|
|
4983
|
+
|
|
4984
|
+
case 'DRAFT_CORRECT':
|
|
4985
|
+
return [3
|
|
4986
|
+
/*break*/
|
|
4987
|
+
, 1];
|
|
4988
|
+
|
|
4989
|
+
case 'PUBLISH':
|
|
4990
|
+
return [3
|
|
4991
|
+
/*break*/
|
|
4992
|
+
, 1];
|
|
4993
|
+
|
|
4994
|
+
case 'AMEND':
|
|
4995
|
+
return [3
|
|
4996
|
+
/*break*/
|
|
4997
|
+
, 1];
|
|
4998
|
+
|
|
4999
|
+
case 'CANCEL':
|
|
5000
|
+
return [3
|
|
5001
|
+
/*break*/
|
|
5002
|
+
, 1];
|
|
5003
|
+
|
|
5004
|
+
case 'CORRECT':
|
|
5005
|
+
return [3
|
|
5006
|
+
/*break*/
|
|
5007
|
+
, 1];
|
|
4926
5008
|
}
|
|
4927
5009
|
|
|
4928
|
-
setSpinner(false);
|
|
4929
5010
|
return [3
|
|
4930
5011
|
/*break*/
|
|
4931
|
-
,
|
|
5012
|
+
, 3];
|
|
5013
|
+
|
|
5014
|
+
case 1:
|
|
5015
|
+
// post taf
|
|
5016
|
+
return [4
|
|
5017
|
+
/*yield*/
|
|
5018
|
+
, postTaf({
|
|
5019
|
+
taf: taf,
|
|
5020
|
+
changeStatusTo: fromActionToStatus(action)
|
|
5021
|
+
})];
|
|
5022
|
+
|
|
5023
|
+
case 2:
|
|
5024
|
+
// post taf
|
|
5025
|
+
_b.sent();
|
|
5026
|
+
|
|
5027
|
+
return [2
|
|
5028
|
+
/*return*/
|
|
5029
|
+
, true];
|
|
5030
|
+
|
|
5031
|
+
case 3:
|
|
5032
|
+
return [2
|
|
5033
|
+
/*return*/
|
|
5034
|
+
, false];
|
|
4932
5035
|
|
|
4933
5036
|
case 4:
|
|
5037
|
+
return [3
|
|
5038
|
+
/*break*/
|
|
5039
|
+
, 6];
|
|
5040
|
+
|
|
5041
|
+
case 5:
|
|
5042
|
+
_b.sent();
|
|
5043
|
+
return [2
|
|
5044
|
+
/*return*/
|
|
5045
|
+
, false];
|
|
5046
|
+
|
|
5047
|
+
case 6:
|
|
4934
5048
|
return [2
|
|
4935
5049
|
/*return*/
|
|
4936
5050
|
];
|
|
@@ -4939,97 +5053,273 @@
|
|
|
4939
5053
|
});
|
|
4940
5054
|
};
|
|
4941
5055
|
|
|
4942
|
-
|
|
4943
|
-
|
|
4944
|
-
|
|
4945
|
-
|
|
4946
|
-
|
|
4947
|
-
|
|
4948
|
-
|
|
5056
|
+
return /*#__PURE__*/React__default["default"].createElement(TabPanel, {
|
|
5057
|
+
value: activeTafIndex,
|
|
5058
|
+
index: index,
|
|
5059
|
+
"data-testid": "taf-panel" + (activeTafIndex === index ? '-active' : '')
|
|
5060
|
+
}, /*#__PURE__*/React__default["default"].createElement(TafHeader, {
|
|
5061
|
+
title: getTafStatusLabel(tafFromBackend.taf.status)
|
|
5062
|
+
}), isLoading && /*#__PURE__*/React__default["default"].createElement(Spinner, {
|
|
5063
|
+
"data-testid": "taf-loading",
|
|
5064
|
+
sx: {
|
|
5065
|
+
position: 'absolute',
|
|
5066
|
+
zIndex: 1,
|
|
5067
|
+
color: 'geowebColors.backdrops.white.fill'
|
|
5068
|
+
}
|
|
5069
|
+
}), error && /*#__PURE__*/React__default["default"].createElement(shared.AlertBanner, {
|
|
5070
|
+
severity: "error",
|
|
5071
|
+
title: error.title,
|
|
5072
|
+
info: error.message,
|
|
5073
|
+
dataTestId: "taf-error"
|
|
5074
|
+
}), /*#__PURE__*/React__default["default"].createElement(TafFormWrapper, {
|
|
5075
|
+
mode: getViewMode(tafFromBackend.taf.status),
|
|
5076
|
+
tafFromBackend: tafFromBackend,
|
|
5077
|
+
onFormAction: onTafAction
|
|
5078
|
+
}));
|
|
5079
|
+
};
|
|
4949
5080
|
|
|
4950
|
-
|
|
4951
|
-
|
|
5081
|
+
var TafLayout = function TafLayout(_a) {
|
|
5082
|
+
var _b = _a.tafList,
|
|
5083
|
+
tafList = _b === void 0 ? [] : _b,
|
|
5084
|
+
_c = _a.onPostTaf,
|
|
5085
|
+
onPostTaf = _c === void 0 ? function () {} : _c;
|
|
5086
|
+
|
|
5087
|
+
var _d = __read(React__default["default"].useState(sortTafTimeSlots(tafList)), 2),
|
|
5088
|
+
_e = _d[0],
|
|
5089
|
+
upcoming = _e.upcoming,
|
|
5090
|
+
current = _e.current,
|
|
5091
|
+
expired = _e.expired,
|
|
5092
|
+
updateSortedTafs = _d[1];
|
|
5093
|
+
|
|
5094
|
+
var _f = __read(upcoming.slice(-1), 1),
|
|
5095
|
+
lastUpcomingTaf = _f[0];
|
|
5096
|
+
|
|
5097
|
+
var _g = __read(React__default["default"].useState('UPCOMING'), 2),
|
|
5098
|
+
timeSlot = _g[0],
|
|
5099
|
+
setTimeSlot = _g[1];
|
|
5100
|
+
|
|
5101
|
+
var _h = __read(React__default["default"].useState(upcoming), 2),
|
|
5102
|
+
locations = _h[0],
|
|
5103
|
+
setLocations = _h[1];
|
|
5104
|
+
|
|
5105
|
+
var _j = __read(React__default["default"].useState(0), 2),
|
|
5106
|
+
activeTafIndex = _j[0],
|
|
5107
|
+
setActiveTafIndex = _j[1];
|
|
5108
|
+
|
|
5109
|
+
var onChangeTimeSlot = function onChangeTimeSlot(newTimeSlot) {
|
|
5110
|
+
setTimeSlot(newTimeSlot);
|
|
5111
|
+
setLocations(newTimeSlot === 'ACTIVE' ? current : upcoming);
|
|
5112
|
+
setActiveTafIndex(0);
|
|
5113
|
+
};
|
|
4952
5114
|
|
|
4953
|
-
|
|
4954
|
-
|
|
5115
|
+
React__default["default"].useEffect(function () {
|
|
5116
|
+
var newSortedTafs = sortTafTimeSlots(tafList);
|
|
5117
|
+
var updatedLocations = timeSlot === 'ACTIVE' ? newSortedTafs.current : newSortedTafs.upcoming;
|
|
5118
|
+
updateSortedTafs(sortTafTimeSlots(tafList));
|
|
5119
|
+
setLocations(updatedLocations); // update active index
|
|
4955
5120
|
|
|
4956
|
-
|
|
4957
|
-
|
|
5121
|
+
var newActiveIndex = updatedLocations.findIndex(function (location) {
|
|
5122
|
+
return location.taf.previousId === locations[activeTafIndex].taf.uuid;
|
|
5123
|
+
});
|
|
5124
|
+
var newIndex = newActiveIndex !== -1 ? newActiveIndex : activeTafIndex;
|
|
5125
|
+
setActiveTafIndex(newIndex); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
5126
|
+
}, [tafList, setLocations]);
|
|
4958
5127
|
|
|
4959
|
-
|
|
4960
|
-
|
|
5128
|
+
if (!tafList) {
|
|
5129
|
+
return null;
|
|
5130
|
+
}
|
|
4961
5131
|
|
|
4962
|
-
|
|
4963
|
-
|
|
5132
|
+
var activeTaf = locations[activeTafIndex];
|
|
5133
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
5134
|
+
id: MODAL_DIALOG_ELEMENT,
|
|
5135
|
+
component: "div",
|
|
5136
|
+
sx: {
|
|
5137
|
+
width: '100%',
|
|
5138
|
+
height: '100%',
|
|
5139
|
+
position: 'absolute',
|
|
5140
|
+
overflow: 'hidden',
|
|
5141
|
+
pointerEvents: 'none'
|
|
4964
5142
|
}
|
|
4965
|
-
}
|
|
5143
|
+
}), /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
5144
|
+
sx: {
|
|
5145
|
+
height: '100%',
|
|
5146
|
+
maxHeight: '100%'
|
|
5147
|
+
}
|
|
5148
|
+
}, /*#__PURE__*/React__default["default"].createElement(material.Box, {
|
|
5149
|
+
sx: {
|
|
5150
|
+
minWidth: 320,
|
|
5151
|
+
maxWidth: 1272,
|
|
5152
|
+
margin: 'auto',
|
|
5153
|
+
height: '100%',
|
|
5154
|
+
display: 'flex',
|
|
5155
|
+
flexDirection: 'column'
|
|
5156
|
+
}
|
|
5157
|
+
}, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
5158
|
+
container: true,
|
|
5159
|
+
spacing: 2,
|
|
5160
|
+
sx: {
|
|
5161
|
+
paddingLeft: 1,
|
|
5162
|
+
paddingRight: 1
|
|
5163
|
+
}
|
|
5164
|
+
}, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
5165
|
+
item: true,
|
|
5166
|
+
xs: 12,
|
|
5167
|
+
sm: 9
|
|
5168
|
+
}, /*#__PURE__*/React__default["default"].createElement(TopTabs, {
|
|
5169
|
+
tafFromBackend: lastUpcomingTaf,
|
|
5170
|
+
timeSlot: timeSlot,
|
|
5171
|
+
onChangeTimeSlot: onChangeTimeSlot
|
|
5172
|
+
}))), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
5173
|
+
container: true,
|
|
5174
|
+
flexGrow: 1,
|
|
5175
|
+
overflow: "hidden"
|
|
5176
|
+
}, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
5177
|
+
container: true,
|
|
5178
|
+
spacing: 2,
|
|
5179
|
+
sx: {
|
|
5180
|
+
height: '100%',
|
|
5181
|
+
paddingLeft: 1,
|
|
5182
|
+
paddingRight: 1,
|
|
5183
|
+
paddingTop: 2,
|
|
5184
|
+
overflow: 'auto'
|
|
5185
|
+
}
|
|
5186
|
+
}, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
5187
|
+
item: true,
|
|
5188
|
+
xs: 3,
|
|
5189
|
+
sm: 1
|
|
5190
|
+
}, /*#__PURE__*/React__default["default"].createElement(LocationTabs, {
|
|
5191
|
+
tafList: locations,
|
|
5192
|
+
activeIndex: activeTafIndex,
|
|
5193
|
+
onChangeTab: setActiveTafIndex,
|
|
5194
|
+
timeSlot: timeSlot
|
|
5195
|
+
})), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
5196
|
+
item: true,
|
|
5197
|
+
xs: true
|
|
5198
|
+
}, /*#__PURE__*/React__default["default"].createElement(material.Card, {
|
|
5199
|
+
variant: "outlined",
|
|
5200
|
+
sx: {
|
|
5201
|
+
padding: 1,
|
|
5202
|
+
paddingTop: 0,
|
|
5203
|
+
marginBottom: '12px',
|
|
5204
|
+
position: 'relative'
|
|
5205
|
+
}
|
|
5206
|
+
}, /*#__PURE__*/React__default["default"].createElement(TacOverviewMobile, {
|
|
5207
|
+
upcomingTafs: upcoming,
|
|
5208
|
+
currentTafs: current,
|
|
5209
|
+
expiredTafs: expired,
|
|
5210
|
+
activeTaf: activeTaf
|
|
5211
|
+
}), locations.map(function (tafFromBackend, index) {
|
|
5212
|
+
return /*#__PURE__*/React__default["default"].createElement(TafPanel, {
|
|
5213
|
+
key: tafFromBackend.taf.uuid,
|
|
5214
|
+
activeTafIndex: activeTafIndex,
|
|
5215
|
+
index: index,
|
|
5216
|
+
tafFromBackend: tafFromBackend,
|
|
5217
|
+
onPostTaf: onPostTaf
|
|
5218
|
+
});
|
|
5219
|
+
}))), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
5220
|
+
item: true,
|
|
5221
|
+
xs: 3,
|
|
5222
|
+
sx: {
|
|
5223
|
+
height: '100%'
|
|
5224
|
+
},
|
|
5225
|
+
display: {
|
|
5226
|
+
xs: 'none',
|
|
5227
|
+
sm: 'block'
|
|
5228
|
+
}
|
|
5229
|
+
}, /*#__PURE__*/React__default["default"].createElement(TacOverview, {
|
|
5230
|
+
upcomingTafs: upcoming,
|
|
5231
|
+
currentTafs: current,
|
|
5232
|
+
expiredTafs: expired,
|
|
5233
|
+
activeTaf: activeTaf
|
|
5234
|
+
})))))));
|
|
5235
|
+
};
|
|
4966
5236
|
|
|
4967
|
-
|
|
4968
|
-
|
|
4969
|
-
switch (action) {
|
|
4970
|
-
case 'CLOSE':
|
|
4971
|
-
confirmDialog({
|
|
4972
|
-
title: 'Closing TAF',
|
|
4973
|
-
description: 'Are you sure you want to close this TAF? Any changes made will be lost.',
|
|
4974
|
-
confirmLabel: 'Close'
|
|
4975
|
-
}).then(function () {
|
|
4976
|
-
toggleTafDialog();
|
|
4977
|
-
});
|
|
4978
|
-
break;
|
|
5237
|
+
var TafModule = function TafModule() {
|
|
5238
|
+
var api$1 = api.useApiContext().api;
|
|
4979
5239
|
|
|
4980
|
-
|
|
4981
|
-
|
|
4982
|
-
|
|
4983
|
-
case 'PUBLISH':
|
|
4984
|
-
case 'AMEND':
|
|
4985
|
-
case 'CORRECT':
|
|
4986
|
-
postTaf({
|
|
4987
|
-
taf: taf,
|
|
4988
|
-
changeStatusTo: fromActionToStatus(action)
|
|
4989
|
-
});
|
|
4990
|
-
break;
|
|
5240
|
+
var _a = __read(React__namespace.useState(false), 2),
|
|
5241
|
+
isLoading = _a[0],
|
|
5242
|
+
setLoading = _a[1];
|
|
4991
5243
|
|
|
4992
|
-
|
|
4993
|
-
|
|
4994
|
-
|
|
4995
|
-
|
|
5244
|
+
var _b = api.useApi(api$1.getTafList),
|
|
5245
|
+
getTafListError = _b.error,
|
|
5246
|
+
isFetchingInitial = _b.isLoading,
|
|
5247
|
+
tafList = _b.result,
|
|
5248
|
+
fetchNewTafList = _b.fetchApiData;
|
|
5249
|
+
|
|
5250
|
+
shared.usePoller([tafList, getTafListError], function () {
|
|
5251
|
+
return fetchNewTafList({});
|
|
5252
|
+
});
|
|
5253
|
+
|
|
5254
|
+
var reFetchNewTafList = function reFetchNewTafList() {
|
|
5255
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
5256
|
+
return __generator(this, function (_a) {
|
|
5257
|
+
switch (_a.label) {
|
|
5258
|
+
case 0:
|
|
5259
|
+
_a.trys.push([0, 2,, 3]);
|
|
5260
|
+
|
|
5261
|
+
setLoading(true);
|
|
5262
|
+
return [4
|
|
5263
|
+
/*yield*/
|
|
5264
|
+
, fetchNewTafList({})];
|
|
5265
|
+
|
|
5266
|
+
case 1:
|
|
5267
|
+
_a.sent();
|
|
5268
|
+
|
|
5269
|
+
setLoading(false);
|
|
5270
|
+
return [3
|
|
5271
|
+
/*break*/
|
|
5272
|
+
, 3];
|
|
5273
|
+
|
|
5274
|
+
case 2:
|
|
5275
|
+
_a.sent();
|
|
5276
|
+
setLoading(false);
|
|
5277
|
+
return [3
|
|
5278
|
+
/*break*/
|
|
5279
|
+
, 3];
|
|
5280
|
+
|
|
5281
|
+
case 3:
|
|
5282
|
+
return [2
|
|
5283
|
+
/*return*/
|
|
5284
|
+
];
|
|
5285
|
+
}
|
|
5286
|
+
});
|
|
5287
|
+
});
|
|
4996
5288
|
};
|
|
4997
5289
|
|
|
4998
|
-
var
|
|
4999
|
-
|
|
5290
|
+
var hasTafListError = getTafListError !== null;
|
|
5291
|
+
|
|
5292
|
+
if (isFetchingInitial) {
|
|
5293
|
+
return /*#__PURE__*/React__namespace.createElement(LinearProgress__default["default"], {
|
|
5294
|
+
color: "secondary",
|
|
5295
|
+
"data-testid": "loading-bar"
|
|
5296
|
+
});
|
|
5297
|
+
}
|
|
5298
|
+
|
|
5299
|
+
return /*#__PURE__*/React__namespace.createElement(material.Box, {
|
|
5300
|
+
component: "div",
|
|
5301
|
+
id: "tafmodule",
|
|
5302
|
+
sx: {
|
|
5303
|
+
height: '100%'
|
|
5304
|
+
}
|
|
5305
|
+
}, isLoading && /*#__PURE__*/React__namespace.createElement(LinearProgress__default["default"], {
|
|
5306
|
+
"data-testid": "loading-bar",
|
|
5307
|
+
color: "secondary",
|
|
5308
|
+
sx: {
|
|
5309
|
+
marginBottom: '-4px'
|
|
5310
|
+
}
|
|
5311
|
+
}), hasTafListError && /*#__PURE__*/React__namespace.createElement(shared.AlertBanner, {
|
|
5312
|
+
severity: "error",
|
|
5313
|
+
title: "An error has occurred while retrieving the list",
|
|
5314
|
+
info: getTafListError.message
|
|
5315
|
+
}), /*#__PURE__*/React__namespace.createElement(TafLayout, {
|
|
5000
5316
|
tafList: tafList,
|
|
5001
|
-
|
|
5002
|
-
|
|
5003
|
-
onClickTafActionButton: onClickTafActionButton,
|
|
5004
|
-
errorCancelTaf: errorCancelTaf
|
|
5005
|
-
}), showSpinner && /*#__PURE__*/React__default["default"].createElement(Spinner, null), selectedTaf !== undefined && /*#__PURE__*/React__default["default"].createElement(TafFormDialog, {
|
|
5006
|
-
open: isTafDialogOpen,
|
|
5007
|
-
toggleFormDialog: toggleTafDialog,
|
|
5008
|
-
tafFromBackend: selectedTaf,
|
|
5009
|
-
alertBanner: errorPostMessage ? /*#__PURE__*/React__default["default"].createElement(shared.AlertBanner, {
|
|
5010
|
-
severity: "error",
|
|
5011
|
-
title: "An error has occurred while saving, please try again",
|
|
5012
|
-
info: errorPostMessageText
|
|
5013
|
-
}) : null,
|
|
5014
|
-
onFormAction: onFormAction
|
|
5015
|
-
}, /*#__PURE__*/React__default["default"].createElement(TafFormWrapper, {
|
|
5016
|
-
mode: "edit",
|
|
5017
|
-
tafFromBackend: selectedTaf,
|
|
5018
|
-
tafAction: tafDialogAction,
|
|
5019
|
-
onFormAction: onFormAction
|
|
5020
|
-
}), showSpinner && /*#__PURE__*/React__default["default"].createElement(Spinner, null)));
|
|
5317
|
+
onPostTaf: reFetchNewTafList
|
|
5318
|
+
}));
|
|
5021
5319
|
};
|
|
5022
|
-
/**
|
|
5023
|
-
* Shows the list of Tafs and allows to create, edit and view Tafs.
|
|
5024
|
-
* Needs to be wrapped in the ApiProvider.
|
|
5025
|
-
*
|
|
5026
|
-
* @example
|
|
5027
|
-
* ```<ApiProvider baseURL="http://test.com" appURL="http://app.com" auth={auth} onSetAuth={onSetAuth} createApi={createApi}> authTokenUrl="url/tokenrefresh"<TafWrapper /> </ApiProvider>```
|
|
5028
|
-
*/
|
|
5029
|
-
|
|
5030
5320
|
|
|
5031
|
-
var
|
|
5032
|
-
return /*#__PURE__*/
|
|
5321
|
+
var Wrapper = function Wrapper() {
|
|
5322
|
+
return /*#__PURE__*/React__namespace.createElement(shared.ConfirmationServiceProvider, null, /*#__PURE__*/React__namespace.createElement(TafModule, null));
|
|
5033
5323
|
};
|
|
5034
5324
|
|
|
5035
5325
|
var createApi = function createApi(url, appUrl, auth, setAuth, authTokenUrl, authClientId) {
|
|
@@ -5048,13 +5338,8 @@
|
|
|
5048
5338
|
};
|
|
5049
5339
|
};
|
|
5050
5340
|
|
|
5051
|
-
exports.ContentDialog = ContentDialog;
|
|
5052
|
-
exports.TafFormDialog = TafFormDialog;
|
|
5053
5341
|
exports.TafFormWrapper = TafFormWrapper;
|
|
5054
|
-
exports.
|
|
5055
|
-
exports.TafListRow = TafListRow;
|
|
5056
|
-
exports.TafListSection = TafListSection;
|
|
5057
|
-
exports.TafWrapper = ConfirmationWrapper;
|
|
5342
|
+
exports.TafModule = Wrapper;
|
|
5058
5343
|
exports.createApi = createApi;
|
|
5059
5344
|
|
|
5060
5345
|
Object.defineProperty(exports, '__esModule', { value: true });
|