@opengeoweb/taf 1.2.2 → 2.1.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/lib/TafDemo.stories.d.ts +1 -0
- package/lib/components/IssuesPane/IssuesPane.d.ts +1 -0
- package/lib/components/IssuesPane/IssuesPane.styles.d.ts +1 -1
- package/lib/components/Providers/Providers.d.ts +11 -0
- package/lib/components/TafForm/TafForm.d.ts +20 -3
- package/lib/components/TafForm/TafFormRow/DragHandle.d.ts +1 -0
- package/lib/components/TafForm/TafFormRow/change.d.ts +1 -1
- package/lib/components/TafForm/TafFormRow/clouds.d.ts +5 -4
- package/lib/components/TafForm/TafFormRow/validField.d.ts +9 -3
- package/lib/components/TafForm/TafFormRow/weather.d.ts +8 -3
- package/lib/components/TafForm/TafFormWrapper.d.ts +2 -2
- package/lib/components/TafForm/TafFormWrapper.stories.d.ts +1 -0
- package/lib/components/TafForm/utils.d.ts +14 -10
- package/lib/components/TafList/TafList.stories.d.ts +1 -0
- package/lib/types.d.ts +44 -3
- package/lib/utils/api.d.ts +1 -1
- package/lib/utils/mockdata/fakeTafList.d.ts +1 -0
- package/package.json +10 -10
- package/taf.esm.js +1089 -793
- package/taf.umd.js +550 -400
package/taf.umd.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('@material-ui/core'), require('@material-ui/lab'), require('moment'), require('@opengeoweb/shared'), require('@material-ui/icons'), require('@opengeoweb/api'), require('@opengeoweb/form-fields'), require('react-hook-form'), require('react-sortablejs')) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define(['exports', 'react', '@material-ui/core', '@material-ui/lab', 'moment', '@opengeoweb/shared', '@material-ui/icons', '@opengeoweb/api', '@opengeoweb/form-fields', 'react-hook-form', 'react-sortablejs'], factory) :
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Taf = {}, global.React, global.core, global.lab, global.moment, global.shared, global.icons, global.api, global.formFields, global.reactHookForm, global.reactSortablejs));
|
|
5
|
-
}(this, (function (exports, React, core, lab, moment, shared, icons, api, formFields, reactHookForm, reactSortablejs) { 'use strict';
|
|
5
|
+
})(this, (function (exports, React, core, lab, moment, shared, icons, api, formFields, reactHookForm, reactSortablejs) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -15,14 +15,12 @@
|
|
|
15
15
|
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
16
16
|
Object.defineProperty(n, k, d.get ? d : {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () {
|
|
19
|
-
return e[k];
|
|
20
|
-
}
|
|
18
|
+
get: function () { return e[k]; }
|
|
21
19
|
});
|
|
22
20
|
}
|
|
23
21
|
});
|
|
24
22
|
}
|
|
25
|
-
n[
|
|
23
|
+
n["default"] = e;
|
|
26
24
|
return Object.freeze(n);
|
|
27
25
|
}
|
|
28
26
|
|
|
@@ -229,19 +227,21 @@
|
|
|
229
227
|
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
230
228
|
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
231
229
|
* */
|
|
230
|
+
var FORMAT_DAYS_HOURS = 'DDHH';
|
|
231
|
+
var FORMAT_DAYS_HOURS_MINUTS = 'DDHHmm'; // formatters
|
|
232
232
|
|
|
233
233
|
var formatValidToString = function formatValidToString(valid) {
|
|
234
234
|
// Ensure end of valid period if midnight is shown as 24 and not 00
|
|
235
|
-
var endHours = moment__default[
|
|
236
|
-
var endDate = endHours === '24' ? moment__default[
|
|
237
|
-
return valid.end ? moment__default[
|
|
235
|
+
var endHours = moment__default["default"].utc(valid.end).format('kk');
|
|
236
|
+
var endDate = endHours === '24' ? moment__default["default"].utc(valid.end).add(-1, 'day').format('DD') : moment__default["default"].utc(valid.end).format('DD');
|
|
237
|
+
return valid.end ? moment__default["default"].utc(valid.start).format(FORMAT_DAYS_HOURS) + "/" + endDate + endHours : moment__default["default"].utc(valid.start).format(FORMAT_DAYS_HOURS_MINUTS);
|
|
238
238
|
};
|
|
239
239
|
|
|
240
240
|
var getSections = function getSections(value, format) {
|
|
241
241
|
return {
|
|
242
242
|
day: parseInt(value.substring(0, 2), 10),
|
|
243
243
|
hour: parseInt(value.substring(2, 4), 10),
|
|
244
|
-
min: format ===
|
|
244
|
+
min: format === FORMAT_DAYS_HOURS_MINUTS ? parseInt(value.substring(4), 10) : 0
|
|
245
245
|
};
|
|
246
246
|
};
|
|
247
247
|
|
|
@@ -268,10 +268,10 @@
|
|
|
268
268
|
if (!value) return null; // Create valid object from passed string
|
|
269
269
|
|
|
270
270
|
var trimmedValue = value.trim();
|
|
271
|
-
var tafStartMoment = moment__default[
|
|
272
|
-
var tafEndMoment = moment__default[
|
|
271
|
+
var tafStartMoment = moment__default["default"].utc(tafStart);
|
|
272
|
+
var tafEndMoment = moment__default["default"].utc(tafEnd);
|
|
273
273
|
var startEnd = trimmedValue.split('/');
|
|
274
|
-
var format = trimmedValue.indexOf('/') === -1 ?
|
|
274
|
+
var format = trimmedValue.indexOf('/') === -1 ? FORMAT_DAYS_HOURS_MINUTS : FORMAT_DAYS_HOURS;
|
|
275
275
|
var startSections = getSections(startEnd[0], format);
|
|
276
276
|
var start = getValidityTimeStamp('start', startSections, tafStartMoment, tafEndMoment).format('YYYY-MM-DDTHH:mm:ss[Z]'); // If we only have start value - return that otherwise, also get end time
|
|
277
277
|
|
|
@@ -281,7 +281,7 @@
|
|
|
281
281
|
};
|
|
282
282
|
}
|
|
283
283
|
|
|
284
|
-
var endSections = getSections(startEnd[1],
|
|
284
|
+
var endSections = getSections(startEnd[1], FORMAT_DAYS_HOURS);
|
|
285
285
|
var end = getValidityTimeStamp('end', endSections, tafStartMoment, tafEndMoment).format('YYYY-MM-DDTHH:mm:ss[Z]');
|
|
286
286
|
return {
|
|
287
287
|
start: start,
|
|
@@ -295,8 +295,8 @@
|
|
|
295
295
|
var invalidValidityStartTimeMessage = 'Invalid validity start time, change group validity must lie within the TAF validity period';
|
|
296
296
|
var invalidValidityPeriodMessage = 'Invalid validity period, validity end time has to be after validity start time';
|
|
297
297
|
var invalidValidityEndTimeMessage = 'Invalid validity end time, change group validity must lie within the TAF validity period';
|
|
298
|
-
var
|
|
299
|
-
var
|
|
298
|
+
var invalidChangeValidInterFieldMessage = 'Invalid validity period, expected DDHH/DDHH for BECMG and TEMPO or DDHHmm for FM';
|
|
299
|
+
var invalidBECMGDurationValidInterFieldMessage = 'Invalid validity period, for BECMG only validity periods with a duration of 1, 2, 3 or 4 hours are allowed'; // Validations
|
|
300
300
|
// Ensure all individual sections are correct (DD HH mm etc)
|
|
301
301
|
|
|
302
302
|
var validateValidSections = function validateValidSections(sections, isStartEnd) {
|
|
@@ -317,10 +317,10 @@
|
|
|
317
317
|
|
|
318
318
|
|
|
319
319
|
var validateIsValidDates = function validateIsValidDates(value, tafStart, tafEnd) {
|
|
320
|
-
var tafStartMoment = moment__default[
|
|
321
|
-
var tafEndMoment = moment__default[
|
|
320
|
+
var tafStartMoment = moment__default["default"].utc(tafStart);
|
|
321
|
+
var tafEndMoment = moment__default["default"].utc(tafEnd);
|
|
322
322
|
var startEnd = value.split('/');
|
|
323
|
-
var format = value.indexOf('/') === -1 ?
|
|
323
|
+
var format = value.indexOf('/') === -1 ? FORMAT_DAYS_HOURS_MINUTS : FORMAT_DAYS_HOURS;
|
|
324
324
|
var validateMsg = []; // Validate start time
|
|
325
325
|
|
|
326
326
|
var startSections = getSections(startEnd[0], format); // Validate individual sections for start
|
|
@@ -336,7 +336,7 @@
|
|
|
336
336
|
|
|
337
337
|
|
|
338
338
|
if (startEnd.length > 1) {
|
|
339
|
-
var endSections = getSections(startEnd[1],
|
|
339
|
+
var endSections = getSections(startEnd[1], FORMAT_DAYS_HOURS); // Validate individual sections for end
|
|
340
340
|
|
|
341
341
|
var sectionValidationEnd = validateValidSections(endSections, 'end'); // If invalid end - return with errors
|
|
342
342
|
|
|
@@ -366,7 +366,7 @@
|
|
|
366
366
|
|
|
367
367
|
|
|
368
368
|
if (trimmedValue.length < 6 || trimmedValue.length > 9 || !(trimmedValue.match(/^[0-9]{4}\/[0-9]{4}$/) || trimmedValue.match(/^[0-9]{6}$/))) {
|
|
369
|
-
return
|
|
369
|
+
return invalidChangeValidInterFieldMessage;
|
|
370
370
|
} // Ensure valid date(s) can be made
|
|
371
371
|
|
|
372
372
|
|
|
@@ -380,16 +380,89 @@
|
|
|
380
380
|
|
|
381
381
|
return true;
|
|
382
382
|
};
|
|
383
|
-
var validateValidChangeGroupInterField = function validateValidChangeGroupInterField(value, valueChange) {
|
|
383
|
+
var validateValidChangeGroupInterField = function validateValidChangeGroupInterField(value, valueChange, tafStart, tafEnd) {
|
|
384
384
|
var trimmedValue = value.trim();
|
|
385
385
|
var trimmedValueChange = valueChange.trim();
|
|
386
386
|
|
|
387
387
|
if (!trimmedValue.length) {
|
|
388
388
|
return true;
|
|
389
|
+
} // Ensure format for FM changegroups is correct DDHHmm
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
if (trimmedValue.length > 6 && trimmedValueChange === 'FM' || trimmedValue.length < 9 && trimmedValueChange !== 'FM') {
|
|
393
|
+
return invalidChangeValidInterFieldMessage;
|
|
394
|
+
} // Ensure BECMG changegroup has duration of 1,2,3,4 hours
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
if (trimmedValueChange === 'BECMG') {
|
|
398
|
+
var tafStartMoment = moment__default["default"].utc(tafStart);
|
|
399
|
+
var tafEndMoment = moment__default["default"].utc(tafEnd);
|
|
400
|
+
var startEnd = trimmedValue.split('/');
|
|
401
|
+
var format = trimmedValue.indexOf('/') === -1 ? FORMAT_DAYS_HOURS_MINUTS : FORMAT_DAYS_HOURS; // Validate start time
|
|
402
|
+
|
|
403
|
+
var startSections = getSections(startEnd[0], format);
|
|
404
|
+
var startTimestamp = getValidityTimeStamp('start', startSections, tafStartMoment, tafEndMoment);
|
|
405
|
+
var endSections = getSections(startEnd[1], FORMAT_DAYS_HOURS);
|
|
406
|
+
var endTimestamp = getValidityTimeStamp('end', endSections, tafStartMoment, tafEndMoment);
|
|
407
|
+
var timeDifference = endTimestamp.diff(startTimestamp, 'hours');
|
|
408
|
+
|
|
409
|
+
if (![1, 2, 3, 4].includes(timeDifference)) {
|
|
410
|
+
return invalidBECMGDurationValidInterFieldMessage;
|
|
411
|
+
}
|
|
389
412
|
}
|
|
390
413
|
|
|
391
|
-
|
|
392
|
-
|
|
414
|
+
return true;
|
|
415
|
+
}; // validate previous changeGroup
|
|
416
|
+
|
|
417
|
+
var validProbChangeOrder = ['FM', 'BECMG', 'TEMPO', 'PROB40', 'PROB30', 'PROB40 TEMPO', 'PROB30 TEMPO'];
|
|
418
|
+
var invalidPreviousChangeGroupIsBeforeMessage = 'Valid time should be after previous valid time';
|
|
419
|
+
var invalidPreviousChangeGroupOrderMessage = "When valid times are equal, the change/probability order should be: " + validProbChangeOrder.join(', ');
|
|
420
|
+
var invalidPreviousChangeGroupHasSameValue = "When valid times are equal, probability/change can't have the same value as previous row value";
|
|
421
|
+
var validatePreviousChangeGroup = function validatePreviousChangeGroup(currentChangeGroup, nextChangeGroup, tafStart, tafEnd) {
|
|
422
|
+
// extract the needed values from changeGroups
|
|
423
|
+
var valid = currentChangeGroup.valid,
|
|
424
|
+
_a = currentChangeGroup.change,
|
|
425
|
+
change = _a === void 0 ? '' : _a,
|
|
426
|
+
_b = currentChangeGroup.probability,
|
|
427
|
+
probability = _b === void 0 ? '' : _b;
|
|
428
|
+
var previousValid = nextChangeGroup.valid,
|
|
429
|
+
_c = nextChangeGroup.change,
|
|
430
|
+
previousChange = _c === void 0 ? '' : _c,
|
|
431
|
+
_d = nextChangeGroup.probability,
|
|
432
|
+
previousProbability = _d === void 0 ? '' : _d; // get the parsed values
|
|
433
|
+
|
|
434
|
+
var validValue = parseValidToObject(valid, tafStart, tafEnd);
|
|
435
|
+
var previousValidValue = parseValidToObject(previousValid, tafStart, tafEnd);
|
|
436
|
+
|
|
437
|
+
if (!validValue || !previousValidValue || !change.length && !probability.length) {
|
|
438
|
+
return true;
|
|
439
|
+
} // validate is valid time before
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
var currentStartTime = moment__default["default"](validValue.start);
|
|
443
|
+
var previousRowStartTime = moment__default["default"](previousValidValue.start);
|
|
444
|
+
|
|
445
|
+
if (currentStartTime.isBefore(previousRowStartTime)) {
|
|
446
|
+
return invalidPreviousChangeGroupIsBeforeMessage;
|
|
447
|
+
} // validate same valid time
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
if (currentStartTime.isSame(previousRowStartTime)) {
|
|
451
|
+
// validate change/probability order
|
|
452
|
+
var currentProbChangeValue = (probability + " " + change).trim();
|
|
453
|
+
var previousProbChangeValue = (previousProbability + " " + previousChange).trim();
|
|
454
|
+
|
|
455
|
+
if (validProbChangeOrder.indexOf(currentProbChangeValue) < validProbChangeOrder.indexOf(previousProbChangeValue)) {
|
|
456
|
+
return invalidPreviousChangeGroupOrderMessage;
|
|
457
|
+
} // validate same valid + change/probability value
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
if (currentProbChangeValue === previousProbChangeValue) {
|
|
461
|
+
return invalidPreviousChangeGroupHasSameValue;
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
return true;
|
|
393
466
|
};
|
|
394
467
|
|
|
395
468
|
/* *
|
|
@@ -963,22 +1036,62 @@
|
|
|
963
1036
|
})(WeatherPhenomena || (WeatherPhenomena = {}));
|
|
964
1037
|
|
|
965
1038
|
var invalidWeatherMessage = 'Invalid weather input, expected NSW or a valid weather code';
|
|
1039
|
+
var invalidWeatherCodeMessage = 'Invalid weather input, invalid weather code';
|
|
966
1040
|
var invalidWeatherNSWMessage = 'Invalid weather input, NSW is not allowed in the baseforecast and can only be used in the first weather group';
|
|
967
1041
|
var invalidWeatherWithPreviousEmptyWeather = 'Invalid weather input, value is not allowed when previous weather group(s) are empty';
|
|
968
1042
|
var invalidWeatherNonUniqueValue = 'Invalid weather input, weather groups must be unique';
|
|
969
|
-
var invalidWeatherNonEmptyNSWGroups = 'Invalid weather input, when NSW is used, other weather groups must be empty';
|
|
970
|
-
|
|
971
|
-
var
|
|
1043
|
+
var invalidWeatherNonEmptyNSWGroups = 'Invalid weather input, when NSW is used, other weather groups must be empty';
|
|
1044
|
+
var invalidWeatherCAVOKMessage = 'Invalid weather input, when CAVOK is used, weather groups must be empty';
|
|
1045
|
+
var invalidWeatherVisibilityBelow5000 = 'Invalid weather input, weather codes FU, DU, HZ, DRDU and BLDU need to be combined with a visibility of 5000m or less';
|
|
1046
|
+
var invalidWeatherBRVisibility = 'Invalid weather input, weather code BR needs to be combined with a visibility between 1000 and 5000m';
|
|
1047
|
+
var invalidWeatherFGVisibility = 'Invalid weather input, weather code FG needs to be combined with a visibility below 1000m'; // validations
|
|
1048
|
+
|
|
1049
|
+
var WeatherVisibilityBelow5000 = [WeatherPhenomena.FU, WeatherPhenomena.DU, WeatherPhenomena.HZ, WeatherPhenomena.DRDU, WeatherPhenomena.BLDU];
|
|
1050
|
+
var validateWeatherField = function validateWeatherField(value, visibilityValue, NSWAllowed) {
|
|
972
1051
|
if (NSWAllowed === void 0) {
|
|
973
1052
|
NSWAllowed = true;
|
|
974
1053
|
}
|
|
975
1054
|
|
|
976
|
-
var trimmedValue = value.trim();
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
1055
|
+
var trimmedValue = value.trim(); // if empty, validate as true
|
|
1056
|
+
|
|
1057
|
+
if (trimmedValue === '') {
|
|
1058
|
+
return true;
|
|
1059
|
+
} // In case of NSW - validate if allowed
|
|
1060
|
+
|
|
1061
|
+
|
|
1062
|
+
if (trimmedValue === 'NSW' && !NSWAllowed) {
|
|
1063
|
+
return invalidWeatherNSWMessage;
|
|
1064
|
+
} // Check if cavOK - then weather group should be empty
|
|
1065
|
+
|
|
1066
|
+
|
|
1067
|
+
if (trimmedValue && visibilityValue === 'CAVOK') {
|
|
1068
|
+
return invalidWeatherCAVOKMessage;
|
|
1069
|
+
} // Validate if entered weather is one of the allowed weather phenomena
|
|
1070
|
+
|
|
1071
|
+
|
|
1072
|
+
if (!(trimmedValue in WeatherPhenomena) && trimmedValue !== 'NSW') {
|
|
1073
|
+
return NSWAllowed ? invalidWeatherMessage : invalidWeatherCodeMessage;
|
|
1074
|
+
} // Validate the weather code in combination with the visibility range
|
|
1075
|
+
|
|
1076
|
+
|
|
1077
|
+
var visibilityRange = parseInt(visibilityValue, 10);
|
|
1078
|
+
|
|
1079
|
+
if (WeatherVisibilityBelow5000.includes(trimmedValue) && visibilityRange > 5000) {
|
|
1080
|
+
return invalidWeatherVisibilityBelow5000;
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
if (trimmedValue === WeatherPhenomena.BR && (visibilityRange < 1000 || visibilityRange > 5000)) {
|
|
1084
|
+
return invalidWeatherBRVisibility;
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
if (trimmedValue === WeatherPhenomena.FG && visibilityRange >= 1000) {
|
|
1088
|
+
return invalidWeatherFGVisibility;
|
|
1089
|
+
} // Everything validated ok - return true
|
|
1090
|
+
|
|
1091
|
+
|
|
1092
|
+
return true;
|
|
980
1093
|
};
|
|
981
|
-
var validateSecondWeatherField = function validateSecondWeatherField(weather1Value, weather2Value) {
|
|
1094
|
+
var validateSecondWeatherField = function validateSecondWeatherField(weather1Value, weather2Value, visibilityValue) {
|
|
982
1095
|
var trimmedWeather2Value = weather2Value.trim(); // Field can be left empty
|
|
983
1096
|
|
|
984
1097
|
if (!trimmedWeather2Value.length) {
|
|
@@ -1001,9 +1114,9 @@
|
|
|
1001
1114
|
return invalidWeatherNonUniqueValue;
|
|
1002
1115
|
}
|
|
1003
1116
|
|
|
1004
|
-
return validateWeatherField(weather2Value, false);
|
|
1117
|
+
return validateWeatherField(weather2Value, visibilityValue, false);
|
|
1005
1118
|
};
|
|
1006
|
-
var validateThirdWeatherField = function validateThirdWeatherField(weather1Value, weather2Value, weather3Value) {
|
|
1119
|
+
var validateThirdWeatherField = function validateThirdWeatherField(weather1Value, weather2Value, weather3Value, visibilityValue) {
|
|
1007
1120
|
var trimmedWeather3Value = weather3Value.trim(); // Field can be left empty
|
|
1008
1121
|
|
|
1009
1122
|
if (!trimmedWeather3Value.length) {
|
|
@@ -1027,7 +1140,7 @@
|
|
|
1027
1140
|
return invalidWeatherNonUniqueValue;
|
|
1028
1141
|
}
|
|
1029
1142
|
|
|
1030
|
-
return validateWeatherField(weather3Value, false);
|
|
1143
|
+
return validateWeatherField(weather3Value, visibilityValue, false);
|
|
1031
1144
|
}; // parser
|
|
1032
1145
|
// TODO: value type = Weather, but couldn't get it to work properly https://gitlab.com/opengeoweb/opengeoweb/-/issues/119
|
|
1033
1146
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
@@ -1485,7 +1598,8 @@
|
|
|
1485
1598
|
var invalidCloudWithVerticalVisibilityMessage = 'Invalid cloud input, third or fourth cloud group is not allowed when Vertical Visibility is given';
|
|
1486
1599
|
var invalidCloudWithPreviousEmptyCloud = 'Invalid cloud input, value is not allowed when previous cloud group is empty';
|
|
1487
1600
|
var invalidCloudWithNSCMessage = 'Invalid cloud input, other cloud groups are not allowed when No Significant Clouds is given';
|
|
1488
|
-
var invalidCloud4WithPreviousType = 'Invalid cloud input, value is not allowed when previous cloud group has a type';
|
|
1601
|
+
var invalidCloud4WithPreviousType = 'Invalid cloud input, value is not allowed when previous cloud group has a type';
|
|
1602
|
+
var invalidCloudCAVOKMessage = 'Invalid cloud input, when CAVOK is used, cloud groups must be empty'; // validations
|
|
1489
1603
|
|
|
1490
1604
|
var isLengthValid = function isLengthValid(value) {
|
|
1491
1605
|
var onlyDigitsOrSpecificLetters = RegExp(/^[0-9FEWSCTBKNOVU]+$/);
|
|
@@ -1602,11 +1716,15 @@
|
|
|
1602
1716
|
};
|
|
1603
1717
|
};
|
|
1604
1718
|
|
|
1605
|
-
var validateFirstCloud = function validateFirstCloud(value) {
|
|
1719
|
+
var validateFirstCloud = function validateFirstCloud(value, visibilityValue) {
|
|
1606
1720
|
var trimmedValue = value.trim(); // Field can be left empty
|
|
1607
1721
|
|
|
1608
1722
|
if (!trimmedValue.length) {
|
|
1609
1723
|
return true;
|
|
1724
|
+
}
|
|
1725
|
+
|
|
1726
|
+
if (trimmedValue && visibilityValue === 'CAVOK') {
|
|
1727
|
+
return invalidCloudCAVOKMessage;
|
|
1610
1728
|
} // Check for No Signicant Clouds
|
|
1611
1729
|
|
|
1612
1730
|
|
|
@@ -1638,7 +1756,7 @@
|
|
|
1638
1756
|
|
|
1639
1757
|
return errorMessages.length ? errorMessages[0] : true;
|
|
1640
1758
|
};
|
|
1641
|
-
var validateSecondCloud = function validateSecondCloud(firstCloudValue, secondCloudValue) {
|
|
1759
|
+
var validateSecondCloud = function validateSecondCloud(firstCloudValue, secondCloudValue, visibilityValue) {
|
|
1642
1760
|
var trimmedValue = secondCloudValue.trim(); // Field can be left empty
|
|
1643
1761
|
|
|
1644
1762
|
if (!trimmedValue.length) {
|
|
@@ -1666,7 +1784,7 @@
|
|
|
1666
1784
|
} // If Cloud1 is not valid, skip further validation of Cloud2
|
|
1667
1785
|
|
|
1668
1786
|
|
|
1669
|
-
if (validateFirstCloud(firstCloudValue) !== true) {
|
|
1787
|
+
if (validateFirstCloud(firstCloudValue, visibilityValue) !== true) {
|
|
1670
1788
|
return true;
|
|
1671
1789
|
} // If Cloud1 is NSC, Cloud2 has to be empty
|
|
1672
1790
|
|
|
@@ -1696,7 +1814,7 @@
|
|
|
1696
1814
|
|
|
1697
1815
|
return true;
|
|
1698
1816
|
};
|
|
1699
|
-
var validateThirdCloud = function validateThirdCloud(firstCloudValue, secondCloudValue, thirdCloudValue) {
|
|
1817
|
+
var validateThirdCloud = function validateThirdCloud(firstCloudValue, secondCloudValue, thirdCloudValue, visibilityValue) {
|
|
1700
1818
|
var trimmedValue = thirdCloudValue.trim(); // Field can be left empty
|
|
1701
1819
|
|
|
1702
1820
|
if (!trimmedValue.length) {
|
|
@@ -1724,7 +1842,7 @@
|
|
|
1724
1842
|
} // If Cloud1 is not valid, skip further validation of Cloud3
|
|
1725
1843
|
|
|
1726
1844
|
|
|
1727
|
-
if (validateFirstCloud(firstCloudValue) !== true) {
|
|
1845
|
+
if (validateFirstCloud(firstCloudValue, visibilityValue) !== true) {
|
|
1728
1846
|
return true;
|
|
1729
1847
|
} // If Cloud1 is empty Cloud3 should be empty
|
|
1730
1848
|
|
|
@@ -1744,7 +1862,7 @@
|
|
|
1744
1862
|
} // If Cloud2 is not valid, skip further validation of Cloud3
|
|
1745
1863
|
|
|
1746
1864
|
|
|
1747
|
-
if (validateSecondCloud(firstCloudValue, secondCloudValue) !== true) {
|
|
1865
|
+
if (validateSecondCloud(firstCloudValue, secondCloudValue, visibilityValue) !== true) {
|
|
1748
1866
|
return true;
|
|
1749
1867
|
} // If Cloud2 is empty Cloud3 should be empty
|
|
1750
1868
|
|
|
@@ -1762,7 +1880,7 @@
|
|
|
1762
1880
|
|
|
1763
1881
|
return true;
|
|
1764
1882
|
};
|
|
1765
|
-
var validateFourthCloud = function validateFourthCloud(firstCloudValue, secondCloudValue, thirdCloudValue, fourthCloudValue) {
|
|
1883
|
+
var validateFourthCloud = function validateFourthCloud(firstCloudValue, secondCloudValue, thirdCloudValue, fourthCloudValue, visibilityValue) {
|
|
1766
1884
|
var trimmedValue = fourthCloudValue.trim(); // Field can be left empty
|
|
1767
1885
|
|
|
1768
1886
|
if (!trimmedValue.length) {
|
|
@@ -1789,7 +1907,7 @@
|
|
|
1789
1907
|
} // If Cloud1 is not valid, skip further validation of Cloud4
|
|
1790
1908
|
|
|
1791
1909
|
|
|
1792
|
-
if (validateFirstCloud(firstCloudValue) !== true) {
|
|
1910
|
+
if (validateFirstCloud(firstCloudValue, visibilityValue) !== true) {
|
|
1793
1911
|
return true;
|
|
1794
1912
|
} // If Cloud1 contains Vertical Visibility then Cloud4 should be empty
|
|
1795
1913
|
|
|
@@ -1809,7 +1927,7 @@
|
|
|
1809
1927
|
} // If Cloud3 is not valid, skip further validation of Cloud4
|
|
1810
1928
|
|
|
1811
1929
|
|
|
1812
|
-
if (validateThirdCloud(firstCloudValue, secondCloudValue, thirdCloudValue) !== true) {
|
|
1930
|
+
if (validateThirdCloud(firstCloudValue, secondCloudValue, thirdCloudValue, visibilityValue) !== true) {
|
|
1813
1931
|
return true;
|
|
1814
1932
|
} // If Cloud3 contains a type, Cloud4 should be empty
|
|
1815
1933
|
|
|
@@ -1832,7 +1950,7 @@
|
|
|
1832
1950
|
};
|
|
1833
1951
|
|
|
1834
1952
|
var formatIssueTime = function formatIssueTime(issueDate) {
|
|
1835
|
-
return issueDate ? moment__default[
|
|
1953
|
+
return issueDate ? moment__default["default"](issueDate).utc().format('DDHHmm') + "Z" : 'Not issued';
|
|
1836
1954
|
};
|
|
1837
1955
|
function formatFormValues(row) {
|
|
1838
1956
|
return Object.keys(row).reduce(function (list, key) {
|
|
@@ -1886,6 +2004,8 @@
|
|
|
1886
2004
|
return Object.keys(row).reduce(function (list, key) {
|
|
1887
2005
|
var _a;
|
|
1888
2006
|
|
|
2007
|
+
var _b;
|
|
2008
|
+
|
|
1889
2009
|
switch (key) {
|
|
1890
2010
|
case 'valid':
|
|
1891
2011
|
{
|
|
@@ -1924,7 +2044,7 @@
|
|
|
1924
2044
|
case 'change':
|
|
1925
2045
|
case 'probability':
|
|
1926
2046
|
{
|
|
1927
|
-
return __assign(__assign({}, list), (_a = {}, _a[key] = list[key].trim(), _a));
|
|
2047
|
+
return __assign(__assign({}, list), (_a = {}, _a[key] = (_b = list[key]) === null || _b === void 0 ? void 0 : _b.trim(), _a));
|
|
1928
2048
|
}
|
|
1929
2049
|
|
|
1930
2050
|
default:
|
|
@@ -1935,9 +2055,7 @@
|
|
|
1935
2055
|
}, row);
|
|
1936
2056
|
}
|
|
1937
2057
|
|
|
1938
|
-
|
|
1939
|
-
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
1940
|
-
row, tafStart, tafEnd) {
|
|
2058
|
+
function parseFormValues(row, tafStart, tafEnd) {
|
|
1941
2059
|
var reducedRow = reduceRowValues(row, tafStart, tafEnd);
|
|
1942
2060
|
return Object.keys(reducedRow).reduce(function (list, key) {
|
|
1943
2061
|
switch (key) {
|
|
@@ -1983,7 +2101,7 @@
|
|
|
1983
2101
|
case 'wind':
|
|
1984
2102
|
{
|
|
1985
2103
|
// If empty, remove it from the list
|
|
1986
|
-
if (!reducedRow.wind.direction && isNaN(reducedRow.wind.direction)) {
|
|
2104
|
+
if (!reducedRow.wind.direction && isNaN(Number(reducedRow.wind.direction))) {
|
|
1987
2105
|
list.wind;
|
|
1988
2106
|
var rest = __rest(list, ["wind"]);
|
|
1989
2107
|
|
|
@@ -2008,14 +2126,26 @@
|
|
|
2008
2126
|
|
|
2009
2127
|
case 'change':
|
|
2010
2128
|
case 'probability':
|
|
2129
|
+
// If empty, remove it from the list
|
|
2130
|
+
if (!reducedRow[key]) {
|
|
2131
|
+
var _a = list,
|
|
2132
|
+
_b = key;
|
|
2133
|
+
_a[_b];
|
|
2134
|
+
var rest = __rest(_a, [_typeof(_b) === "symbol" ? _b : _b + ""]);
|
|
2135
|
+
|
|
2136
|
+
return rest;
|
|
2137
|
+
}
|
|
2138
|
+
|
|
2139
|
+
return list;
|
|
2140
|
+
|
|
2011
2141
|
case 'valid':
|
|
2012
2142
|
{
|
|
2013
2143
|
// If empty, remove it from the list
|
|
2014
2144
|
if (!reducedRow[key]) {
|
|
2015
|
-
var
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
var rest = __rest(
|
|
2145
|
+
var _c = list,
|
|
2146
|
+
_d = key;
|
|
2147
|
+
_c[_d];
|
|
2148
|
+
var rest = __rest(_c, [_typeof(_d) === "symbol" ? _d : _d + ""]);
|
|
2019
2149
|
|
|
2020
2150
|
return rest;
|
|
2021
2151
|
}
|
|
@@ -2029,9 +2159,7 @@
|
|
|
2029
2159
|
}
|
|
2030
2160
|
}
|
|
2031
2161
|
}, reducedRow);
|
|
2032
|
-
}
|
|
2033
|
-
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
2034
|
-
|
|
2162
|
+
}
|
|
2035
2163
|
var convertTafValuesToObject = function convertTafValuesToObject(formData) {
|
|
2036
2164
|
formData.IS_DRAFT;
|
|
2037
2165
|
var productToPost = __rest(formData, ["IS_DRAFT"]);
|
|
@@ -2090,17 +2218,15 @@
|
|
|
2090
2218
|
}
|
|
2091
2219
|
}
|
|
2092
2220
|
}, parsedFormValues);
|
|
2093
|
-
};
|
|
2094
|
-
var noTAC = 'Missing data: no TAC can be generated'; // Ensure we have enough data to retrieve a TAC - we only need to check for wind and visibility/ cavok as those are the only ones required in all cases
|
|
2221
|
+
}; // Ensure we have enough data to retrieve a TAC - we only need to check for wind and visibility/ cavok as those are the only ones required in all cases
|
|
2095
2222
|
|
|
2096
2223
|
var shouldRetrieveTAC = function shouldRetrieveTAC(product) {
|
|
2097
|
-
if (product && product.baseForecast && product.baseForecast.wind && product.baseForecast.wind
|
|
2224
|
+
if (product && product.baseForecast && product.baseForecast.wind && 'speed' in product.baseForecast.wind && product.baseForecast.wind.speed !== '' && (product.baseForecast.visibility && 'range' in product.baseForecast.visibility && product.baseForecast.visibility.range !== '' || product.baseForecast.cavOK)) {
|
|
2098
2225
|
return true;
|
|
2099
2226
|
}
|
|
2100
2227
|
|
|
2101
2228
|
return false;
|
|
2102
2229
|
};
|
|
2103
|
-
|
|
2104
2230
|
var getFieldNames = function getFieldNames(isChangeGroup, index) {
|
|
2105
2231
|
var namePrefix = !isChangeGroup ? 'baseForecast' : "changeGroups[" + index + "]";
|
|
2106
2232
|
return __assign(__assign(__assign({}, !isChangeGroup && {
|
|
@@ -2123,54 +2249,55 @@
|
|
|
2123
2249
|
cloud4: namePrefix + ".cloud.cloud4"
|
|
2124
2250
|
});
|
|
2125
2251
|
};
|
|
2252
|
+
var TAC_MISSING_DATA = 'Missing data: no TAC can be generated';
|
|
2253
|
+
var TAC_NOT_AVAILABLE = 'No TAC available';
|
|
2254
|
+
var TAC_RETRIEVING_DATA = 'Retrieving TAC';
|
|
2126
2255
|
var useTACGenerator = function useTACGenerator(taf, requestTAC, standardTAC) {
|
|
2127
2256
|
if (standardTAC === void 0) {
|
|
2128
2257
|
standardTAC = '';
|
|
2129
2258
|
}
|
|
2130
2259
|
|
|
2131
|
-
var _a = __read(React__default[
|
|
2260
|
+
var _a = __read(React__default["default"].useState(taf.status === 'NEW' ? TAC_NOT_AVAILABLE : TAC_RETRIEVING_DATA), 2),
|
|
2132
2261
|
TAC = _a[0],
|
|
2133
2262
|
setTAC = _a[1];
|
|
2134
2263
|
|
|
2264
|
+
var isMounted = shared.useIsMounted().isMounted;
|
|
2265
|
+
|
|
2135
2266
|
var retrieveTAC = function retrieveTAC(tafToPost) {
|
|
2136
2267
|
if (shouldRetrieveTAC(tafToPost)) {
|
|
2137
2268
|
requestTAC(tafToPost).then(function (result) {
|
|
2138
|
-
|
|
2269
|
+
if (isMounted.current) {
|
|
2270
|
+
setTAC(result.data);
|
|
2271
|
+
}
|
|
2139
2272
|
})["catch"](function () {
|
|
2140
|
-
|
|
2273
|
+
if (isMounted.current) {
|
|
2274
|
+
setTAC('Failed to retrieve TAC');
|
|
2275
|
+
}
|
|
2141
2276
|
});
|
|
2277
|
+
} else {
|
|
2278
|
+
setTAC(TAC_MISSING_DATA);
|
|
2142
2279
|
}
|
|
2143
|
-
|
|
2144
|
-
setTAC(noTAC);
|
|
2145
2280
|
};
|
|
2146
2281
|
|
|
2147
|
-
React__default[
|
|
2282
|
+
React__default["default"].useEffect(function () {
|
|
2148
2283
|
if (taf.status !== 'NEW' && !standardTAC) {
|
|
2149
2284
|
retrieveTAC(taf);
|
|
2150
2285
|
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2151
2286
|
|
|
2152
2287
|
}, []);
|
|
2153
|
-
React__default[
|
|
2288
|
+
React__default["default"].useEffect(function () {
|
|
2154
2289
|
if (standardTAC !== '') {
|
|
2155
2290
|
setTAC(standardTAC);
|
|
2156
2291
|
}
|
|
2157
2292
|
}, [standardTAC]);
|
|
2158
2293
|
return [TAC, retrieveTAC];
|
|
2159
2294
|
};
|
|
2160
|
-
var
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
return min + i;
|
|
2165
|
-
});
|
|
2166
|
-
};
|
|
2167
|
-
var useDragOrder = function useDragOrder(trigger, move, fields) {
|
|
2168
|
-
// create simple ordered list with hover (chosen) state
|
|
2169
|
-
var _a = __read(React__default['default'].useState([]), 2),
|
|
2170
|
-
sortedFields = _a[0],
|
|
2171
|
-
setSortedFields = _a[1];
|
|
2295
|
+
var useDragOrder = function useDragOrder(trigger, move, onFormBlur) {
|
|
2296
|
+
var _a = __read(React__default["default"].useState(null), 2),
|
|
2297
|
+
activeDraggingIndex = _a[0],
|
|
2298
|
+
setIsDragging = _a[1];
|
|
2172
2299
|
|
|
2173
|
-
var _b = __read(React__default[
|
|
2300
|
+
var _b = __read(React__default["default"].useState([null, null]), 2),
|
|
2174
2301
|
lastDragOrder = _b[0],
|
|
2175
2302
|
onUpdatelastDragOrder = _b[1];
|
|
2176
2303
|
|
|
@@ -2180,46 +2307,40 @@
|
|
|
2180
2307
|
if (oldIndex === undefined || newIndex === undefined) return;
|
|
2181
2308
|
move(oldIndex, newIndex);
|
|
2182
2309
|
onUpdatelastDragOrder([oldIndex, newIndex]);
|
|
2310
|
+
setIsDragging(false);
|
|
2183
2311
|
};
|
|
2184
2312
|
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
chosen: false
|
|
2191
|
-
};
|
|
2192
|
-
}));
|
|
2193
|
-
}, [fields]); // triggers validation AFTER render of new sorted elements
|
|
2313
|
+
var onStartDrag = function onStartDrag(_a) {
|
|
2314
|
+
var oldIndex = _a.oldIndex;
|
|
2315
|
+
return setIsDragging(oldIndex);
|
|
2316
|
+
}; // triggers validation AFTER render of new sorted elements
|
|
2317
|
+
|
|
2194
2318
|
|
|
2195
|
-
React__default[
|
|
2319
|
+
React__default["default"].useEffect(function () {
|
|
2196
2320
|
var _a = __read(lastDragOrder, 2),
|
|
2197
2321
|
oldIndex = _a[0],
|
|
2198
2322
|
newIndex = _a[1];
|
|
2199
2323
|
|
|
2200
2324
|
if (oldIndex !== null && newIndex !== null) {
|
|
2201
|
-
// trigger validation of
|
|
2202
|
-
|
|
2203
|
-
return a - b;
|
|
2204
|
-
}), 2),
|
|
2205
|
-
start = _b[0],
|
|
2206
|
-
end = _b[1];
|
|
2207
|
-
|
|
2208
|
-
var changedRows = getRange(start, end);
|
|
2209
|
-
var fieldsToValidate = changedRows.reduce(function (list, rowIndex) {
|
|
2210
|
-
var fieldsDict = getFieldNames(true, rowIndex);
|
|
2211
|
-
var fields = Object.keys(fieldsDict).map(function (key) {
|
|
2212
|
-
return fieldsDict[key];
|
|
2213
|
-
});
|
|
2214
|
-
return list.concat(fields);
|
|
2215
|
-
}, []);
|
|
2216
|
-
trigger(fieldsToValidate);
|
|
2325
|
+
// trigger validation of all fields
|
|
2326
|
+
trigger();
|
|
2217
2327
|
}
|
|
2218
|
-
}, [lastDragOrder, trigger]);
|
|
2328
|
+
}, [lastDragOrder, trigger]); // trigger onFormBlur AFTER render of new sorted elements so the TAC gets updated
|
|
2329
|
+
|
|
2330
|
+
React__default["default"].useEffect(function () {
|
|
2331
|
+
var _a = __read(lastDragOrder, 2),
|
|
2332
|
+
oldIndex = _a[0],
|
|
2333
|
+
newIndex = _a[1];
|
|
2334
|
+
|
|
2335
|
+
if (oldIndex !== null && newIndex !== null) {
|
|
2336
|
+
onFormBlur();
|
|
2337
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2338
|
+
|
|
2339
|
+
}, [lastDragOrder]);
|
|
2219
2340
|
return {
|
|
2220
2341
|
onChangeOrder: onChangeOrder,
|
|
2221
|
-
|
|
2222
|
-
|
|
2342
|
+
activeDraggingIndex: activeDraggingIndex,
|
|
2343
|
+
onStartDrag: onStartDrag
|
|
2223
2344
|
};
|
|
2224
2345
|
}; // dialog utils
|
|
2225
2346
|
|
|
@@ -2351,9 +2472,9 @@
|
|
|
2351
2472
|
var getDisplayValue = function getDisplayValue(value, disabled) {
|
|
2352
2473
|
return disabled && !value ? '-' : value;
|
|
2353
2474
|
};
|
|
2354
|
-
var BaseTextField = /*#__PURE__*/React__default[
|
|
2475
|
+
var BaseTextField = /*#__PURE__*/React__default["default"].memo(function (props) {
|
|
2355
2476
|
var classes = useStyles$9();
|
|
2356
|
-
return /*#__PURE__*/React__default[
|
|
2477
|
+
return /*#__PURE__*/React__default["default"].createElement(core.TextField, __assign({
|
|
2357
2478
|
type: "text",
|
|
2358
2479
|
variant: "filled",
|
|
2359
2480
|
InputProps: {
|
|
@@ -2399,14 +2520,14 @@
|
|
|
2399
2520
|
setValue = _k.setValue,
|
|
2400
2521
|
errors = _k.errors;
|
|
2401
2522
|
|
|
2402
|
-
var inputRef = React__default[
|
|
2523
|
+
var inputRef = React__default["default"].useRef(null);
|
|
2403
2524
|
var fieldErrors = getTafErrors(name, errors);
|
|
2404
2525
|
|
|
2405
|
-
var _l = __read(React__default[
|
|
2526
|
+
var _l = __read(React__default["default"].useState(null), 2),
|
|
2406
2527
|
maxLength = _l[0],
|
|
2407
2528
|
setMaxLength = _l[1];
|
|
2408
2529
|
|
|
2409
|
-
var onKeyDown = React__default[
|
|
2530
|
+
var onKeyDown = React__default["default"].useCallback(function (event) {
|
|
2410
2531
|
var currentValue = getValues(name).toString();
|
|
2411
2532
|
var textSelection = currentValue.substring(inputRef.current.selectionStart, inputRef.current.selectionEnd);
|
|
2412
2533
|
|
|
@@ -2423,7 +2544,7 @@
|
|
|
2423
2544
|
}
|
|
2424
2545
|
}
|
|
2425
2546
|
}, [name, autoComplete, setValue, getValues]);
|
|
2426
|
-
var onChangeField = React__default[
|
|
2547
|
+
var onChangeField = React__default["default"].useCallback(function (event, callback) {
|
|
2427
2548
|
var valueUppercase = event.currentTarget.value.toUpperCase();
|
|
2428
2549
|
|
|
2429
2550
|
if (autoComplete) {
|
|
@@ -2437,24 +2558,24 @@
|
|
|
2437
2558
|
callback(valueUppercase);
|
|
2438
2559
|
onChange(valueUppercase);
|
|
2439
2560
|
}, [onChange, autoComplete]);
|
|
2440
|
-
var onBlurField = React__default[
|
|
2561
|
+
var onBlurField = React__default["default"].useCallback(function (callback) {
|
|
2441
2562
|
callback();
|
|
2442
2563
|
onBlur();
|
|
2443
2564
|
}, [onBlur]);
|
|
2444
|
-
var onFocusField = React__default[
|
|
2565
|
+
var onFocusField = React__default["default"].useCallback(function () {
|
|
2445
2566
|
var _a;
|
|
2446
2567
|
|
|
2447
2568
|
inputRef.current.disabled = false;
|
|
2448
2569
|
(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
2449
2570
|
}, []);
|
|
2450
|
-
return /*#__PURE__*/React__default[
|
|
2571
|
+
return /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
2451
2572
|
item: true,
|
|
2452
2573
|
xs: true,
|
|
2453
2574
|
className: classes.textFieldGridItem
|
|
2454
|
-
}, /*#__PURE__*/React__default[
|
|
2575
|
+
}, /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
|
|
2455
2576
|
render: function render(_props) {
|
|
2456
2577
|
var displayValue = formatter ? formatter(_props.value) : getDisplayValue(_props.value, disabled);
|
|
2457
|
-
return /*#__PURE__*/React__default[
|
|
2578
|
+
return /*#__PURE__*/React__default["default"].createElement(BaseTextField, {
|
|
2458
2579
|
label: label,
|
|
2459
2580
|
disabled: disabled,
|
|
2460
2581
|
name: name,
|
|
@@ -2500,7 +2621,7 @@
|
|
|
2500
2621
|
* */
|
|
2501
2622
|
// messages
|
|
2502
2623
|
var invalidChangeMessage = 'Invalid Change input, only BECMG, TEMPO or FM are allowed';
|
|
2503
|
-
var invalidChangeProbCombinationMessage = 'A probability is only allowed in combination with TEMPO'; // validations
|
|
2624
|
+
var invalidChangeProbCombinationMessage = 'A probability is only allowed in combination with TEMPO or an empty Change input'; // validations
|
|
2504
2625
|
|
|
2505
2626
|
var validateChangeField = function validateChangeField(value) {
|
|
2506
2627
|
var trimmedValue = value.trim();
|
|
@@ -2552,10 +2673,11 @@
|
|
|
2552
2673
|
};
|
|
2553
2674
|
|
|
2554
2675
|
var getRequiredCrossFields = function getRequiredCrossFields(fieldNames) {
|
|
2555
|
-
return [[fieldNames.valid, fieldNames.change
|
|
2676
|
+
return [[fieldNames.valid], [fieldNames.change, fieldNames.probability], [fieldNames.wind, fieldNames.visibility, fieldNames.weather1, fieldNames.cloud1] // sub fields
|
|
2677
|
+
];
|
|
2556
2678
|
};
|
|
2557
2679
|
|
|
2558
|
-
var TafFormRow = /*#__PURE__*/React__default[
|
|
2680
|
+
var TafFormRow = /*#__PURE__*/React__default["default"].forwardRef(function (_a, ref) {
|
|
2559
2681
|
var _b = _a.isChangeGroup,
|
|
2560
2682
|
isChangeGroup = _b === void 0 ? false : _b,
|
|
2561
2683
|
_c = _a.disabled,
|
|
@@ -2589,11 +2711,16 @@
|
|
|
2589
2711
|
return fields.map(getValues).find(function (field) {
|
|
2590
2712
|
return !!field;
|
|
2591
2713
|
});
|
|
2592
|
-
}; // Used to validate the
|
|
2714
|
+
}; // Used to validate the required field for change groups: Valid
|
|
2715
|
+
|
|
2716
|
+
|
|
2717
|
+
var validateRequiredMain = function validateRequiredMain(value) {
|
|
2718
|
+
return isNotRequiredForAction(value) !== true && isChangeGroup && !value.length && (hasFieldsValue(subFields) || hasFieldsValue(mainFields) || hasFieldsValue(mainOptionalFields)) ? 'Valid is required' : true;
|
|
2719
|
+
}; // Used to ensure either probability or change is entered, or both
|
|
2593
2720
|
|
|
2594
2721
|
|
|
2595
|
-
var
|
|
2596
|
-
return isNotRequiredForAction(value) !== true && isChangeGroup &&
|
|
2722
|
+
var validateRequiredMainOptional = function validateRequiredMainOptional(value) {
|
|
2723
|
+
return isNotRequiredForAction(value) !== true && isChangeGroup && (hasFieldsValue(mainFields) || hasFieldsValue(subFields)) && !hasFieldsValue(mainOptionalFields) ? 'Probability or change is required' : true;
|
|
2597
2724
|
}; // Used to ensure one wind, visibility, weather or cloud is entered when start editing a changegroup and all of these are empty
|
|
2598
2725
|
|
|
2599
2726
|
|
|
@@ -2627,36 +2754,62 @@
|
|
|
2627
2754
|
return true;
|
|
2628
2755
|
};
|
|
2629
2756
|
|
|
2630
|
-
|
|
2757
|
+
var validatePreviousRow = React__default["default"].useCallback(function () {
|
|
2758
|
+
if (isChangeGroup && index > 0) {
|
|
2759
|
+
var _a = getValues(),
|
|
2760
|
+
validDateEnd = _a.validDateEnd,
|
|
2761
|
+
validDateStart = _a.validDateStart,
|
|
2762
|
+
changeGroups = _a.changeGroups;
|
|
2763
|
+
|
|
2764
|
+
var currentChangeGroup = changeGroups[index];
|
|
2765
|
+
var previousChangeGroup = changeGroups[index - 1];
|
|
2766
|
+
return validatePreviousChangeGroup(currentChangeGroup, previousChangeGroup, validDateStart, validDateEnd);
|
|
2767
|
+
}
|
|
2768
|
+
|
|
2769
|
+
return true;
|
|
2770
|
+
}, [index, isChangeGroup, getValues]);
|
|
2771
|
+
|
|
2772
|
+
var getFieldFromNextRow = function getFieldFromNextRow(fieldname) {
|
|
2773
|
+
if (fieldname === void 0) {
|
|
2774
|
+
fieldname = 'valid';
|
|
2775
|
+
}
|
|
2776
|
+
|
|
2777
|
+
var nextValidFieldName = "changeGroups[" + (index + 1) + "]." + fieldname;
|
|
2778
|
+
var nextRowValidValue = getValues(nextValidFieldName);
|
|
2779
|
+
return nextRowValidValue ? [nextValidFieldName] : [];
|
|
2780
|
+
};
|
|
2781
|
+
|
|
2782
|
+
return /*#__PURE__*/React__default["default"].createElement(core.Grid, __assign({
|
|
2631
2783
|
"data-testid": "row-" + namePrefix,
|
|
2632
2784
|
container: true,
|
|
2633
2785
|
ref: ref
|
|
2634
|
-
}, props), !isChangeGroup && /*#__PURE__*/React__default[
|
|
2786
|
+
}, props), !isChangeGroup && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
|
|
2635
2787
|
label: "Type",
|
|
2636
2788
|
name: fieldNames.messageType,
|
|
2637
2789
|
disabled: true
|
|
2638
|
-
}), /*#__PURE__*/React__default[
|
|
2790
|
+
}), /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
|
|
2639
2791
|
label: "Location",
|
|
2640
2792
|
name: "location",
|
|
2641
2793
|
disabled: true
|
|
2642
|
-
}), /*#__PURE__*/React__default[
|
|
2794
|
+
}), /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
|
|
2643
2795
|
formatter: formatIssueTime,
|
|
2644
2796
|
label: "Issue time",
|
|
2645
2797
|
name: "issueDate",
|
|
2646
2798
|
disabled: true
|
|
2647
|
-
})), isChangeGroup && /*#__PURE__*/React__default[
|
|
2799
|
+
})), isChangeGroup && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
2648
2800
|
item: true,
|
|
2649
2801
|
xs: true,
|
|
2650
2802
|
style: {
|
|
2651
2803
|
display: 'flex'
|
|
2652
2804
|
}
|
|
2653
|
-
}, dragHandle), /*#__PURE__*/React__default[
|
|
2805
|
+
}, dragHandle), /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
|
|
2654
2806
|
label: "Prob",
|
|
2655
2807
|
name: fieldNames.probability,
|
|
2656
2808
|
disabled: disabled,
|
|
2657
2809
|
defaultValue: getDefaultValue('probability', field),
|
|
2658
2810
|
rules: {
|
|
2659
2811
|
validate: {
|
|
2812
|
+
validateRequiredMainOptional: validateRequiredMainOptional,
|
|
2660
2813
|
validateProbabilityField: validateProbabilityField
|
|
2661
2814
|
}
|
|
2662
2815
|
},
|
|
@@ -2669,19 +2822,18 @@
|
|
|
2669
2822
|
}],
|
|
2670
2823
|
onBlur: function onBlur() {
|
|
2671
2824
|
if (isChangeGroup) {
|
|
2672
|
-
|
|
2825
|
+
var nextValidFieldName = getFieldFromNextRow();
|
|
2826
|
+
trigger(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(subFields)), __read(mainOptionalFields)), __read(mainFields)), __read(nextValidFieldName)));
|
|
2673
2827
|
}
|
|
2674
2828
|
}
|
|
2675
|
-
}), /*#__PURE__*/React__default[
|
|
2829
|
+
}), /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
|
|
2676
2830
|
label: "Change",
|
|
2677
2831
|
name: fieldNames.change,
|
|
2678
2832
|
disabled: disabled,
|
|
2679
2833
|
defaultValue: getDefaultValue('change', field),
|
|
2680
2834
|
rules: {
|
|
2681
2835
|
validate: {
|
|
2682
|
-
|
|
2683
|
-
return _validateRequiredMain(value, 'Change');
|
|
2684
|
-
},
|
|
2836
|
+
validateRequiredMainOptional: validateRequiredMainOptional,
|
|
2685
2837
|
validateChangeField: validateChangeField,
|
|
2686
2838
|
validateChangeFieldInterField: function validateChangeFieldInterField$1(value) {
|
|
2687
2839
|
return validateChangeFieldInterField(value, getValues(fieldNames.probability));
|
|
@@ -2700,10 +2852,11 @@
|
|
|
2700
2852
|
}],
|
|
2701
2853
|
onBlur: function onBlur() {
|
|
2702
2854
|
if (isChangeGroup) {
|
|
2703
|
-
|
|
2855
|
+
var nextValidFieldName = getFieldFromNextRow();
|
|
2856
|
+
trigger(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(subFields)), __read(mainOptionalFields)), __read(mainFields)), __read(nextValidFieldName)));
|
|
2704
2857
|
}
|
|
2705
2858
|
}
|
|
2706
|
-
})), /*#__PURE__*/React__default[
|
|
2859
|
+
})), /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
|
|
2707
2860
|
label: "Valid",
|
|
2708
2861
|
name: fieldNames.valid,
|
|
2709
2862
|
// always disabled for baseforecast row
|
|
@@ -2711,23 +2864,23 @@
|
|
|
2711
2864
|
defaultValue: getDefaultValue('valid', field),
|
|
2712
2865
|
rules: {
|
|
2713
2866
|
validate: {
|
|
2714
|
-
validateRequiredMain:
|
|
2715
|
-
return _validateRequiredMain(value, 'Valid');
|
|
2716
|
-
},
|
|
2867
|
+
validateRequiredMain: validateRequiredMain,
|
|
2717
2868
|
validateValidField: function validateValidField$1(value) {
|
|
2718
2869
|
return isChangeGroup ? validateValidField(value, getValues('validDateStart'), getValues('validDateEnd')) : true;
|
|
2719
2870
|
},
|
|
2720
2871
|
validateValidChangeGroupInterField: function validateValidChangeGroupInterField$1(value) {
|
|
2721
|
-
return isChangeGroup ? validateValidChangeGroupInterField(value, getValues(fieldNames.change)) : true;
|
|
2722
|
-
}
|
|
2872
|
+
return isChangeGroup ? validateValidChangeGroupInterField(value, getValues(fieldNames.change), getValues('validDateStart'), getValues('validDateEnd')) : true;
|
|
2873
|
+
},
|
|
2874
|
+
validatePreviousRow: validatePreviousRow
|
|
2723
2875
|
}
|
|
2724
2876
|
},
|
|
2725
2877
|
onBlur: function onBlur() {
|
|
2726
2878
|
if (isChangeGroup) {
|
|
2727
|
-
|
|
2879
|
+
var nextValidFieldName = getFieldFromNextRow();
|
|
2880
|
+
trigger(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(subFields)), __read(mainOptionalFields)), __read(mainFields)), __read(nextValidFieldName)));
|
|
2728
2881
|
}
|
|
2729
2882
|
}
|
|
2730
|
-
}), /*#__PURE__*/React__default[
|
|
2883
|
+
}), /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
|
|
2731
2884
|
label: "Wind",
|
|
2732
2885
|
name: fieldNames.wind,
|
|
2733
2886
|
disabled: disabled,
|
|
@@ -2747,7 +2900,7 @@
|
|
|
2747
2900
|
}
|
|
2748
2901
|
},
|
|
2749
2902
|
autoFocus: !isChangeGroup
|
|
2750
|
-
}), /*#__PURE__*/React__default[
|
|
2903
|
+
}), /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
|
|
2751
2904
|
label: "Visibility",
|
|
2752
2905
|
name: fieldNames.visibility,
|
|
2753
2906
|
disabled: disabled,
|
|
@@ -2766,9 +2919,10 @@
|
|
|
2766
2919
|
value: 'CAVOK'
|
|
2767
2920
|
}],
|
|
2768
2921
|
onBlur: function onBlur() {
|
|
2769
|
-
|
|
2922
|
+
var fields = isChangeGroup ? __spreadArray(__spreadArray([], __read(subFields)), __read(mainFields)) : subFields;
|
|
2923
|
+
trigger(__spreadArray(__spreadArray([], __read(fields)), [fieldNames.weather1, fieldNames.weather2, fieldNames.weather3]));
|
|
2770
2924
|
}
|
|
2771
|
-
}), /*#__PURE__*/React__default[
|
|
2925
|
+
}), /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
|
|
2772
2926
|
label: "Weather",
|
|
2773
2927
|
name: fieldNames.weather1,
|
|
2774
2928
|
disabled: disabled,
|
|
@@ -2780,7 +2934,7 @@
|
|
|
2780
2934
|
},
|
|
2781
2935
|
validateRequiredSub: validateRequiredSub,
|
|
2782
2936
|
validateWeatherField: function validateWeatherField$1(value) {
|
|
2783
|
-
return validateWeatherField(value, !!isChangeGroup);
|
|
2937
|
+
return validateWeatherField(value, getValues(fieldNames.visibility), !!isChangeGroup);
|
|
2784
2938
|
}
|
|
2785
2939
|
}
|
|
2786
2940
|
},
|
|
@@ -2788,7 +2942,7 @@
|
|
|
2788
2942
|
var fields = isChangeGroup ? __spreadArray(__spreadArray([], __read(subFields)), __read(mainFields)) : [];
|
|
2789
2943
|
return trigger(__spreadArray(__spreadArray([], __read(fields)), [fieldNames.weather2, fieldNames.weather3]));
|
|
2790
2944
|
}
|
|
2791
|
-
}), /*#__PURE__*/React__default[
|
|
2945
|
+
}), /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
|
|
2792
2946
|
label: "Weather",
|
|
2793
2947
|
name: fieldNames.weather2,
|
|
2794
2948
|
disabled: disabled,
|
|
@@ -2796,7 +2950,7 @@
|
|
|
2796
2950
|
rules: {
|
|
2797
2951
|
validate: {
|
|
2798
2952
|
validateSecondWeatherField: function validateSecondWeatherField$1(value) {
|
|
2799
|
-
return validateSecondWeatherField(getValues(fieldNames.weather1), value);
|
|
2953
|
+
return validateSecondWeatherField(getValues(fieldNames.weather1), value, getValues(fieldNames.visibility));
|
|
2800
2954
|
}
|
|
2801
2955
|
}
|
|
2802
2956
|
},
|
|
@@ -2804,7 +2958,7 @@
|
|
|
2804
2958
|
var fields = isChangeGroup ? __spreadArray(__spreadArray([], __read(subFields)), __read(mainFields)) : [];
|
|
2805
2959
|
return trigger(__spreadArray(__spreadArray([], __read(fields)), [fieldNames.weather3]));
|
|
2806
2960
|
}
|
|
2807
|
-
}), /*#__PURE__*/React__default[
|
|
2961
|
+
}), /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
|
|
2808
2962
|
label: "Weather",
|
|
2809
2963
|
name: fieldNames.weather3,
|
|
2810
2964
|
disabled: disabled,
|
|
@@ -2812,11 +2966,11 @@
|
|
|
2812
2966
|
rules: {
|
|
2813
2967
|
validate: {
|
|
2814
2968
|
validateThirdWeatherField: function validateThirdWeatherField$1(value) {
|
|
2815
|
-
return validateThirdWeatherField(getValues(fieldNames.weather1), getValues(fieldNames.weather2), value);
|
|
2969
|
+
return validateThirdWeatherField(getValues(fieldNames.weather1), getValues(fieldNames.weather2), value, getValues(fieldNames.visibility));
|
|
2816
2970
|
}
|
|
2817
2971
|
}
|
|
2818
2972
|
}
|
|
2819
|
-
}), /*#__PURE__*/React__default[
|
|
2973
|
+
}), /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
|
|
2820
2974
|
label: "Cloud",
|
|
2821
2975
|
name: fieldNames.cloud1,
|
|
2822
2976
|
disabled: disabled,
|
|
@@ -2827,14 +2981,16 @@
|
|
|
2827
2981
|
return _validateRequiredMainFields(value, 'Clouds');
|
|
2828
2982
|
},
|
|
2829
2983
|
validateRequiredSub: validateRequiredSub,
|
|
2830
|
-
validateFirstCloud: validateFirstCloud
|
|
2984
|
+
validateFirstCloud: function validateFirstCloud$1(value) {
|
|
2985
|
+
return validateFirstCloud(value, getValues(fieldNames.visibility));
|
|
2986
|
+
}
|
|
2831
2987
|
}
|
|
2832
2988
|
},
|
|
2833
2989
|
onBlur: function onBlur() {
|
|
2834
2990
|
var fields = isChangeGroup ? __spreadArray(__spreadArray([], __read(subFields)), __read(mainFields)) : [];
|
|
2835
2991
|
return trigger(__spreadArray(__spreadArray([], __read(fields)), [fieldNames.cloud2, fieldNames.cloud3, fieldNames.cloud4]));
|
|
2836
2992
|
}
|
|
2837
|
-
}), /*#__PURE__*/React__default[
|
|
2993
|
+
}), /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
|
|
2838
2994
|
label: "Cloud",
|
|
2839
2995
|
name: fieldNames.cloud2,
|
|
2840
2996
|
disabled: disabled,
|
|
@@ -2842,14 +2998,14 @@
|
|
|
2842
2998
|
rules: {
|
|
2843
2999
|
validate: {
|
|
2844
3000
|
validateSecondCloud: function validateSecondCloud$1(value) {
|
|
2845
|
-
return validateSecondCloud(getValues(fieldNames.cloud1), value);
|
|
3001
|
+
return validateSecondCloud(getValues(fieldNames.cloud1), value, getValues(fieldNames.visibility));
|
|
2846
3002
|
}
|
|
2847
3003
|
}
|
|
2848
3004
|
},
|
|
2849
3005
|
onBlur: function onBlur() {
|
|
2850
3006
|
return trigger([fieldNames.cloud3, fieldNames.cloud4]);
|
|
2851
3007
|
}
|
|
2852
|
-
}), /*#__PURE__*/React__default[
|
|
3008
|
+
}), /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
|
|
2853
3009
|
label: "Cloud",
|
|
2854
3010
|
name: fieldNames.cloud3,
|
|
2855
3011
|
disabled: disabled,
|
|
@@ -2857,14 +3013,14 @@
|
|
|
2857
3013
|
rules: {
|
|
2858
3014
|
validate: {
|
|
2859
3015
|
validateThirdCloud: function validateThirdCloud$1(value) {
|
|
2860
|
-
return validateThirdCloud(getValues(fieldNames.cloud1), getValues(fieldNames.cloud2), value);
|
|
3016
|
+
return validateThirdCloud(getValues(fieldNames.cloud1), getValues(fieldNames.cloud2), value, getValues(fieldNames.visibility));
|
|
2861
3017
|
}
|
|
2862
3018
|
}
|
|
2863
3019
|
},
|
|
2864
3020
|
onBlur: function onBlur() {
|
|
2865
3021
|
return trigger(fieldNames.cloud4);
|
|
2866
3022
|
}
|
|
2867
|
-
}), /*#__PURE__*/React__default[
|
|
3023
|
+
}), /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
|
|
2868
3024
|
label: "Cloud",
|
|
2869
3025
|
name: fieldNames.cloud4,
|
|
2870
3026
|
disabled: disabled,
|
|
@@ -2872,17 +3028,17 @@
|
|
|
2872
3028
|
rules: {
|
|
2873
3029
|
validate: {
|
|
2874
3030
|
validateFourthCloud: function validateFourthCloud$1(value) {
|
|
2875
|
-
return validateFourthCloud(getValues(fieldNames.cloud1), getValues(fieldNames.cloud2), getValues(fieldNames.cloud3), value);
|
|
3031
|
+
return validateFourthCloud(getValues(fieldNames.cloud1), getValues(fieldNames.cloud2), getValues(fieldNames.cloud3), value, getValues(fieldNames.visibility));
|
|
2876
3032
|
}
|
|
2877
3033
|
}
|
|
2878
3034
|
}
|
|
2879
|
-
}), (!isChangeGroup || disabled) && /*#__PURE__*/React__default[
|
|
3035
|
+
}), (!isChangeGroup || disabled) && /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
2880
3036
|
item: true,
|
|
2881
3037
|
xs: true
|
|
2882
|
-
}), isChangeGroup && !disabled && /*#__PURE__*/React__default[
|
|
3038
|
+
}), isChangeGroup && !disabled && /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
2883
3039
|
item: true,
|
|
2884
3040
|
xs: true
|
|
2885
|
-
}, /*#__PURE__*/React__default[
|
|
3041
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.IconButton, __assign({
|
|
2886
3042
|
"aria-label": "delete",
|
|
2887
3043
|
"data-testid": "remove-changeGroup",
|
|
2888
3044
|
onClick: function onClick() {
|
|
@@ -2890,7 +3046,7 @@
|
|
|
2890
3046
|
}
|
|
2891
3047
|
}, lastRow ? {
|
|
2892
3048
|
tabIndex: '-1'
|
|
2893
|
-
} : {}), /*#__PURE__*/React__default[
|
|
3049
|
+
} : {}), /*#__PURE__*/React__default["default"].createElement(icons.Delete, null))));
|
|
2894
3050
|
});
|
|
2895
3051
|
|
|
2896
3052
|
var getIssuesLabel = function getIssuesLabel(sumOfErrors) {
|
|
@@ -2933,6 +3089,7 @@
|
|
|
2933
3089
|
return /*#__PURE__*/React__namespace.createElement(core.Tooltip, {
|
|
2934
3090
|
title: "View details"
|
|
2935
3091
|
}, /*#__PURE__*/React__namespace.createElement(core.Chip, {
|
|
3092
|
+
"data-testid": "issuesButton",
|
|
2936
3093
|
size: "small",
|
|
2937
3094
|
label: getIssuesLabel(sumOfErrors),
|
|
2938
3095
|
style: __assign({}, buttonStyle(color)),
|
|
@@ -2941,20 +3098,20 @@
|
|
|
2941
3098
|
};
|
|
2942
3099
|
|
|
2943
3100
|
var ThumbsUp = function ThumbsUp(props) {
|
|
2944
|
-
return /*#__PURE__*/React__default[
|
|
3101
|
+
return /*#__PURE__*/React__default["default"].createElement(core.SvgIcon, __assign({
|
|
2945
3102
|
fontSize: "inherit",
|
|
2946
3103
|
viewBox: "0 0 58 69"
|
|
2947
|
-
}, props), /*#__PURE__*/React__default[
|
|
3104
|
+
}, props), /*#__PURE__*/React__default["default"].createElement("title", null, "Thumbs up"), /*#__PURE__*/React__default["default"].createElement("g", {
|
|
2948
3105
|
id: "Thumbs-up",
|
|
2949
3106
|
stroke: "none",
|
|
2950
3107
|
strokeWidth: "1",
|
|
2951
3108
|
fill: "none",
|
|
2952
3109
|
fillRule: "evenodd"
|
|
2953
|
-
}, /*#__PURE__*/React__default[
|
|
3110
|
+
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
2954
3111
|
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",
|
|
2955
3112
|
id: "Path-2",
|
|
2956
3113
|
fill: "#FFBF00"
|
|
2957
|
-
}), /*#__PURE__*/React__default[
|
|
3114
|
+
}), /*#__PURE__*/React__default["default"].createElement("path", {
|
|
2958
3115
|
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",
|
|
2959
3116
|
id: "Path",
|
|
2960
3117
|
fill: "#F28700"
|
|
@@ -2978,32 +3135,9 @@
|
|
|
2978
3135
|
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
2979
3136
|
* */
|
|
2980
3137
|
var useStyles$8 = core.makeStyles({
|
|
2981
|
-
issuesPane: {
|
|
2982
|
-
display: 'flex',
|
|
2983
|
-
flexDirection: 'column',
|
|
2984
|
-
overflow: 'hidden',
|
|
2985
|
-
width: '577px',
|
|
2986
|
-
height: '164px',
|
|
2987
|
-
marginTop: '16px'
|
|
2988
|
-
},
|
|
2989
|
-
paneHeader: {
|
|
2990
|
-
display: 'flex',
|
|
2991
|
-
justifyContent: 'space-between',
|
|
2992
|
-
alignItems: 'center',
|
|
2993
|
-
height: '24px'
|
|
2994
|
-
},
|
|
2995
|
-
paneTitle: {
|
|
2996
|
-
display: 'flex',
|
|
2997
|
-
justifyContent: 'space-between',
|
|
2998
|
-
alignItems: 'center',
|
|
2999
|
-
marginLeft: '32px',
|
|
3000
|
-
fontSize: '10px',
|
|
3001
|
-
fontWeight: 'bold'
|
|
3002
|
-
},
|
|
3003
3138
|
paneContent: {
|
|
3004
3139
|
marginTop: '16px',
|
|
3005
|
-
marginLeft: '
|
|
3006
|
-
overflowY: 'scroll'
|
|
3140
|
+
marginLeft: '24px'
|
|
3007
3141
|
},
|
|
3008
3142
|
image: {
|
|
3009
3143
|
fontSize: '4rem'
|
|
@@ -3076,23 +3210,28 @@
|
|
|
3076
3210
|
};
|
|
3077
3211
|
|
|
3078
3212
|
var IssuesPane = function IssuesPane(_a) {
|
|
3079
|
-
var
|
|
3213
|
+
var isOpen = _a.isOpen,
|
|
3214
|
+
handleClose = _a.handleClose,
|
|
3080
3215
|
_b = _a.errorList,
|
|
3081
3216
|
errorList = _b === void 0 ? [] : _b;
|
|
3082
3217
|
var classes = useStyles$8();
|
|
3083
|
-
return /*#__PURE__*/React__namespace.createElement(
|
|
3084
|
-
|
|
3085
|
-
|
|
3218
|
+
return /*#__PURE__*/React__namespace.createElement(shared.ToolContainerDraggable, {
|
|
3219
|
+
startSize: {
|
|
3220
|
+
width: '577px',
|
|
3221
|
+
height: '200px'
|
|
3222
|
+
},
|
|
3223
|
+
startPosition: {
|
|
3224
|
+
left: 370,
|
|
3225
|
+
top: 570
|
|
3226
|
+
},
|
|
3227
|
+
minWidth: 300,
|
|
3228
|
+
onClose: handleClose,
|
|
3229
|
+
title: getPaneTitle(errorList.length),
|
|
3230
|
+
headerSize: "xs",
|
|
3231
|
+
isOpen: isOpen,
|
|
3232
|
+
"data-testid": "moveable-issues-pane",
|
|
3233
|
+
bounds: "body"
|
|
3086
3234
|
}, /*#__PURE__*/React__namespace.createElement("div", {
|
|
3087
|
-
className: classes.paneHeader
|
|
3088
|
-
}, /*#__PURE__*/React__namespace.createElement(core.Typography, {
|
|
3089
|
-
"data-testid": "issuesPaneTitle",
|
|
3090
|
-
className: classes.paneTitle
|
|
3091
|
-
}, getPaneTitle(errorList.length)), /*#__PURE__*/React__namespace.createElement(core.IconButton, {
|
|
3092
|
-
"data-testid": "closeIssuesPane",
|
|
3093
|
-
size: "small",
|
|
3094
|
-
onClick: handleClose
|
|
3095
|
-
}, /*#__PURE__*/React__namespace.createElement(icons.Close, null))), /*#__PURE__*/React__namespace.createElement("div", {
|
|
3096
3235
|
className: classes.paneContent
|
|
3097
3236
|
}, errorList.length === 0 && /*#__PURE__*/React__namespace.createElement("div", {
|
|
3098
3237
|
className: classes.image,
|
|
@@ -3150,7 +3289,7 @@
|
|
|
3150
3289
|
|
|
3151
3290
|
var filterDuplicateErrors = function filterDuplicateErrors(errors) {
|
|
3152
3291
|
return errors.reduce(function (list, error) {
|
|
3153
|
-
//
|
|
3292
|
+
// check on type validateRequiredSub and validateRequiredMainOptional since these are giving 'duplicates'
|
|
3154
3293
|
if (error.type === 'validateRequiredSub') {
|
|
3155
3294
|
var exist = list.find(function (e) {
|
|
3156
3295
|
return e.type === 'validateRequiredSub' && e.row === error.row;
|
|
@@ -3158,6 +3297,13 @@
|
|
|
3158
3297
|
return exist ? list : list.concat(error);
|
|
3159
3298
|
}
|
|
3160
3299
|
|
|
3300
|
+
if (error.type === 'validateRequiredMainOptional') {
|
|
3301
|
+
var exist = list.find(function (e) {
|
|
3302
|
+
return e.type === 'validateRequiredMainOptional' && e.row === error.row;
|
|
3303
|
+
});
|
|
3304
|
+
return exist ? list : list.concat(error);
|
|
3305
|
+
}
|
|
3306
|
+
|
|
3161
3307
|
return list.concat(error);
|
|
3162
3308
|
}, []);
|
|
3163
3309
|
};
|
|
@@ -3169,7 +3315,7 @@
|
|
|
3169
3315
|
var errors = reactHookForm.useFormContext().errors;
|
|
3170
3316
|
var errorList = filterDuplicateErrors(getErrors(errors));
|
|
3171
3317
|
|
|
3172
|
-
var _b = __read(React__default[
|
|
3318
|
+
var _b = __read(React__default["default"].useState(false), 2),
|
|
3173
3319
|
isIssuesPaneOpen = _b[0],
|
|
3174
3320
|
setIsIssuesPaneOpen = _b[1];
|
|
3175
3321
|
|
|
@@ -3177,19 +3323,19 @@
|
|
|
3177
3323
|
return setIsIssuesPaneOpen(!isIssuesPaneOpen);
|
|
3178
3324
|
};
|
|
3179
3325
|
|
|
3180
|
-
return /*#__PURE__*/React__default[
|
|
3326
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3181
3327
|
container: true,
|
|
3182
3328
|
justify: "space-between",
|
|
3183
3329
|
alignItems: "center",
|
|
3184
3330
|
className: classes.lifecycleButtons
|
|
3185
|
-
}, /*#__PURE__*/React__default[
|
|
3331
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3186
3332
|
item: true
|
|
3187
|
-
}, /*#__PURE__*/React__default[
|
|
3333
|
+
}, /*#__PURE__*/React__default["default"].createElement(IssuesButton, {
|
|
3188
3334
|
sumOfErrors: errorList.length,
|
|
3189
3335
|
togglePane: toggleIssuesPane
|
|
3190
|
-
})), /*#__PURE__*/React__default[
|
|
3336
|
+
})), /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3191
3337
|
item: true
|
|
3192
|
-
}, /*#__PURE__*/React__default[
|
|
3338
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.Button, {
|
|
3193
3339
|
"data-testid": "discardtaf",
|
|
3194
3340
|
variant: "outlined",
|
|
3195
3341
|
color: "secondary",
|
|
@@ -3199,7 +3345,7 @@
|
|
|
3199
3345
|
// Simply discard the changes and close the dialog.
|
|
3200
3346
|
onTafFormButtonPress('DISCARD');
|
|
3201
3347
|
}
|
|
3202
|
-
}, "Discard"), /*#__PURE__*/React__default[
|
|
3348
|
+
}, "Discard"), /*#__PURE__*/React__default["default"].createElement(core.Button, {
|
|
3203
3349
|
"data-testid": "savedrafttaf",
|
|
3204
3350
|
variant: "outlined",
|
|
3205
3351
|
color: "secondary",
|
|
@@ -3229,7 +3375,7 @@
|
|
|
3229
3375
|
break;
|
|
3230
3376
|
}
|
|
3231
3377
|
}
|
|
3232
|
-
}, "Save"), /*#__PURE__*/React__default[
|
|
3378
|
+
}, "Save"), /*#__PURE__*/React__default["default"].createElement(core.Button, {
|
|
3233
3379
|
"data-testid": "publishtaf",
|
|
3234
3380
|
variant: "outlined",
|
|
3235
3381
|
color: "secondary",
|
|
@@ -3259,9 +3405,10 @@
|
|
|
3259
3405
|
break;
|
|
3260
3406
|
}
|
|
3261
3407
|
}
|
|
3262
|
-
}, "Publish"))),
|
|
3408
|
+
}, "Publish"))), /*#__PURE__*/React__default["default"].createElement(IssuesPane, {
|
|
3263
3409
|
errorList: errorList,
|
|
3264
|
-
handleClose: toggleIssuesPane
|
|
3410
|
+
handleClose: toggleIssuesPane,
|
|
3411
|
+
isOpen: isIssuesPaneOpen
|
|
3265
3412
|
}));
|
|
3266
3413
|
};
|
|
3267
3414
|
|
|
@@ -3299,17 +3446,20 @@
|
|
|
3299
3446
|
var _b = _a.isSorting,
|
|
3300
3447
|
isSorting = _b === void 0 ? false : _b,
|
|
3301
3448
|
_c = _a.isDisabled,
|
|
3302
|
-
isDisabled = _c === void 0 ? false : _c
|
|
3449
|
+
isDisabled = _c === void 0 ? false : _c,
|
|
3450
|
+
index = _a.index;
|
|
3303
3451
|
var classes = useStyles$7(isSorting);
|
|
3304
|
-
return /*#__PURE__*/React__default[
|
|
3452
|
+
return /*#__PURE__*/React__default["default"].createElement(core.IconButton, {
|
|
3305
3453
|
className: classes.dragHandle + " handle",
|
|
3306
|
-
"data-testid": "dragHandle",
|
|
3454
|
+
"data-testid": "dragHandle-" + index,
|
|
3307
3455
|
disableRipple: true,
|
|
3308
3456
|
disabled: isDisabled
|
|
3309
|
-
}, /*#__PURE__*/React__default[
|
|
3457
|
+
}, /*#__PURE__*/React__default["default"].createElement(icons.DragIndicator, null));
|
|
3310
3458
|
};
|
|
3311
3459
|
|
|
3312
|
-
var
|
|
3460
|
+
var noop = function noop() {};
|
|
3461
|
+
|
|
3462
|
+
var emptyChangegroup = {
|
|
3313
3463
|
valid: '',
|
|
3314
3464
|
wind: '',
|
|
3315
3465
|
visibility: '',
|
|
@@ -3329,8 +3479,7 @@
|
|
|
3329
3479
|
};
|
|
3330
3480
|
|
|
3331
3481
|
var TafForm = function TafForm(_a) {
|
|
3332
|
-
var
|
|
3333
|
-
changeGroups = _a.changeGroups,
|
|
3482
|
+
var isDisabled = _a.isDisabled,
|
|
3334
3483
|
tafAction = _a.tafAction,
|
|
3335
3484
|
_b = _a.staticTAC,
|
|
3336
3485
|
staticTAC = _b === void 0 ? '' : _b,
|
|
@@ -3346,19 +3495,22 @@
|
|
|
3346
3495
|
DraftFieldHelper = _d.DraftFieldHelper;
|
|
3347
3496
|
|
|
3348
3497
|
var api$1 = api.useApiContext().api;
|
|
3349
|
-
var
|
|
3498
|
+
var isMounted = shared.useIsMounted().isMounted;
|
|
3350
3499
|
|
|
3351
3500
|
var _e = reactHookForm.useFormContext(),
|
|
3352
3501
|
control = _e.control,
|
|
3353
3502
|
handleSubmit = _e.handleSubmit,
|
|
3354
3503
|
watch = _e.watch,
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3504
|
+
trigger = _e.trigger,
|
|
3505
|
+
formState = _e.formState,
|
|
3506
|
+
getValues = _e.getValues;
|
|
3358
3507
|
|
|
3508
|
+
var isFormDirty = formState.isDirty,
|
|
3509
|
+
errors = formState.errors;
|
|
3510
|
+
shared.usePreventBrowserClose(isFormDirty && !isDisabled);
|
|
3359
3511
|
var hiddenInputFields = ['baseTime', 'issueDate', 'type', 'uuid', 'validDateStart', 'validDateEnd', 'status', 'previousId', 'previousValidDateStart', 'previousValidDateEnd'];
|
|
3360
3512
|
|
|
3361
|
-
var _f = __read(React__default[
|
|
3513
|
+
var _f = __read(React__default["default"].useState(watch()), 2),
|
|
3362
3514
|
delayedFormValues = _f[0],
|
|
3363
3515
|
setDelayedFormValues = _f[1];
|
|
3364
3516
|
|
|
@@ -3366,35 +3518,26 @@
|
|
|
3366
3518
|
TAC = _g[0],
|
|
3367
3519
|
updateTAC = _g[1];
|
|
3368
3520
|
|
|
3369
|
-
|
|
3370
|
-
if (!Object.keys(errors).length && staticTAC === '') {
|
|
3371
|
-
updateTAC(convertTafValuesToObject(delayedFormValues));
|
|
3372
|
-
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3373
|
-
|
|
3374
|
-
}, [delayedFormValues]);
|
|
3521
|
+
var hasErrors = Object.keys(errors).length;
|
|
3375
3522
|
|
|
3376
3523
|
var onFormBlur = function onFormBlur() {
|
|
3377
3524
|
setDelayedFormValues(getValues());
|
|
3378
3525
|
};
|
|
3379
3526
|
|
|
3380
|
-
|
|
3381
|
-
|
|
3382
|
-
|
|
3383
|
-
|
|
3384
|
-
|
|
3385
|
-
return !isFormDirty ? setFormDirty(true) : null;
|
|
3386
|
-
};
|
|
3527
|
+
React__default["default"].useEffect(function () {
|
|
3528
|
+
if (staticTAC === '' && isMounted.current && isFormDirty) {
|
|
3529
|
+
var newTAC = hasErrors ? null : convertTafValuesToObject(delayedFormValues);
|
|
3530
|
+
updateTAC(newTAC);
|
|
3531
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3387
3532
|
|
|
3388
|
-
|
|
3533
|
+
}, [delayedFormValues]);
|
|
3534
|
+
React__default["default"].useEffect(function () {
|
|
3535
|
+
// prevent updating an error while typing
|
|
3536
|
+
if (!hasErrors && isFormDirty && document.activeElement.tagName !== 'INPUT') {
|
|
3537
|
+
updateTAC(convertTafValuesToObject(delayedFormValues));
|
|
3538
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3389
3539
|
|
|
3390
|
-
|
|
3391
|
-
control: control,
|
|
3392
|
-
name: 'changeGroups'
|
|
3393
|
-
}),
|
|
3394
|
-
fields = _j.fields,
|
|
3395
|
-
append = _j.append,
|
|
3396
|
-
remove = _j.remove,
|
|
3397
|
-
move = _j.move;
|
|
3540
|
+
}, [hasErrors]);
|
|
3398
3541
|
|
|
3399
3542
|
var onSubmit = function onSubmit(data) {
|
|
3400
3543
|
// eslint-disable-next-line no-console
|
|
@@ -3448,69 +3591,69 @@
|
|
|
3448
3591
|
}
|
|
3449
3592
|
};
|
|
3450
3593
|
|
|
3451
|
-
var
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
append(group, false);
|
|
3460
|
-
});
|
|
3461
|
-
} else if (!isDisabled) {
|
|
3462
|
-
append(emptyRow, false);
|
|
3463
|
-
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3594
|
+
var _h = reactHookForm.useFieldArray({
|
|
3595
|
+
control: control,
|
|
3596
|
+
name: 'changeGroups'
|
|
3597
|
+
}),
|
|
3598
|
+
fields = _h.fields,
|
|
3599
|
+
append = _h.append,
|
|
3600
|
+
remove = _h.remove,
|
|
3601
|
+
move = _h.move;
|
|
3464
3602
|
|
|
3465
|
-
|
|
3603
|
+
var lastTotalFields = shared.usePrevious(fields.length);
|
|
3466
3604
|
|
|
3467
|
-
var
|
|
3468
|
-
onChangeOrder =
|
|
3469
|
-
|
|
3470
|
-
|
|
3605
|
+
var _j = useDragOrder(trigger, move, onFormBlur),
|
|
3606
|
+
onChangeOrder = _j.onChangeOrder,
|
|
3607
|
+
onStartDrag = _j.onStartDrag,
|
|
3608
|
+
activeDraggingIndex = _j.activeDraggingIndex;
|
|
3471
3609
|
|
|
3472
3610
|
var onRemoverow = function onRemoverow(index) {
|
|
3473
3611
|
remove(index);
|
|
3474
|
-
var newList = fields.length > 1 ? fields.filter(function (_, fieldIndex) {
|
|
3475
|
-
return fieldIndex === index;
|
|
3476
|
-
}) : [];
|
|
3477
|
-
setSortedFields(newList);
|
|
3478
3612
|
};
|
|
3479
3613
|
|
|
3480
|
-
|
|
3614
|
+
var onAddRow = function onAddRow() {
|
|
3615
|
+
append(emptyChangegroup, true);
|
|
3616
|
+
};
|
|
3617
|
+
|
|
3618
|
+
React__default["default"].useEffect(function () {
|
|
3619
|
+
if (isFormDirty && fields.length !== lastTotalFields) {
|
|
3620
|
+
onFormBlur();
|
|
3621
|
+
trigger(); // trigger all field validation,
|
|
3622
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3623
|
+
|
|
3624
|
+
}, [fields.length, isFormDirty]);
|
|
3625
|
+
return /*#__PURE__*/React__default["default"].createElement("form", {
|
|
3481
3626
|
onSubmit: handleSubmit(onSubmit),
|
|
3482
|
-
onChange: onFormChange,
|
|
3483
3627
|
onBlur: onFormBlur
|
|
3484
|
-
}, /*#__PURE__*/React__default[
|
|
3628
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.Typography, {
|
|
3485
3629
|
className: classes.tacTitle
|
|
3486
|
-
}, "TAC"), /*#__PURE__*/React__default[
|
|
3630
|
+
}, "TAC"), /*#__PURE__*/React__default["default"].createElement(core.Typography, {
|
|
3487
3631
|
"data-testid": "form-tac-message",
|
|
3488
3632
|
className: classes.tacText
|
|
3489
3633
|
}, TAC.split('\n').map(function (line) {
|
|
3490
|
-
return /*#__PURE__*/React__default[
|
|
3634
|
+
return /*#__PURE__*/React__default["default"].createElement("span", {
|
|
3491
3635
|
key: line,
|
|
3492
3636
|
className: classes.tacLine,
|
|
3493
3637
|
"data-testid": "tafform-tac-message-line"
|
|
3494
3638
|
}, line);
|
|
3495
|
-
})), /*#__PURE__*/React__default[
|
|
3639
|
+
})), /*#__PURE__*/React__default["default"].createElement(TafFormRow, {
|
|
3496
3640
|
disabled: isDisabled
|
|
3497
|
-
}), /*#__PURE__*/React__default[
|
|
3641
|
+
}), /*#__PURE__*/React__default["default"].createElement(reactSortablejs.ReactSortable, {
|
|
3498
3642
|
tag: "div",
|
|
3499
|
-
list:
|
|
3500
|
-
setList:
|
|
3643
|
+
list: fields,
|
|
3644
|
+
setList: noop,
|
|
3501
3645
|
animation: 200,
|
|
3502
3646
|
onSort: onChangeOrder,
|
|
3503
3647
|
handle: ".handle",
|
|
3504
3648
|
direction: "vertical",
|
|
3505
3649
|
// hover props
|
|
3506
3650
|
forceFallback: true,
|
|
3507
|
-
onStart: function onStart() {
|
|
3651
|
+
onStart: function onStart(event) {
|
|
3652
|
+
onStartDrag(event);
|
|
3508
3653
|
reactSortablejs.Sortable.ghost.style.opacity = '1';
|
|
3509
3654
|
}
|
|
3510
|
-
},
|
|
3511
|
-
|
|
3512
|
-
var item = fields[index];
|
|
3513
|
-
return /*#__PURE__*/React__default['default'].createElement(TafFormRow, {
|
|
3655
|
+
}, fields.map(function (item, index) {
|
|
3656
|
+
return /*#__PURE__*/React__default["default"].createElement(TafFormRow, {
|
|
3514
3657
|
field: item,
|
|
3515
3658
|
className: classes.formRow,
|
|
3516
3659
|
key: item.id,
|
|
@@ -3519,30 +3662,31 @@
|
|
|
3519
3662
|
disabled: isDisabled,
|
|
3520
3663
|
onRemoveChangeGroup: onRemoverow,
|
|
3521
3664
|
isChangeGroup: true,
|
|
3522
|
-
dragHandle: /*#__PURE__*/React__default[
|
|
3523
|
-
isDisabled:
|
|
3524
|
-
isSorting:
|
|
3665
|
+
dragHandle: /*#__PURE__*/React__default["default"].createElement(DragHandle, {
|
|
3666
|
+
isDisabled: fields.length === 1 || isDisabled,
|
|
3667
|
+
isSorting: activeDraggingIndex === index,
|
|
3668
|
+
index: index
|
|
3525
3669
|
})
|
|
3526
3670
|
});
|
|
3527
|
-
})), !isDisabled && /*#__PURE__*/React__default[
|
|
3671
|
+
})), !isDisabled && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3528
3672
|
container: true,
|
|
3529
3673
|
item: true,
|
|
3530
3674
|
xs: 12,
|
|
3531
3675
|
justify: "flex-end"
|
|
3532
|
-
}, /*#__PURE__*/React__default[
|
|
3676
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.IconButton, {
|
|
3533
3677
|
"aria-label": "add",
|
|
3534
3678
|
"data-testid": "add-changeGroup",
|
|
3535
3679
|
onClick: onAddRow,
|
|
3536
3680
|
className: classes.addButton
|
|
3537
|
-
}, /*#__PURE__*/React__default[
|
|
3681
|
+
}, /*#__PURE__*/React__default["default"].createElement(icons.Add, null))), /*#__PURE__*/React__default["default"].createElement(TafFormButtons, {
|
|
3538
3682
|
tafAction: tafAction,
|
|
3539
3683
|
onTafFormButtonPress: onTafButtonPress
|
|
3540
3684
|
})), hiddenInputFields.map(function (field) {
|
|
3541
|
-
return /*#__PURE__*/React__default[
|
|
3685
|
+
return /*#__PURE__*/React__default["default"].createElement(formFields.ReactHookFormHiddenInput, {
|
|
3542
3686
|
name: field,
|
|
3543
3687
|
key: field
|
|
3544
3688
|
});
|
|
3545
|
-
}), /*#__PURE__*/React__default[
|
|
3689
|
+
}), /*#__PURE__*/React__default["default"].createElement(DraftFieldHelper, null));
|
|
3546
3690
|
};
|
|
3547
3691
|
|
|
3548
3692
|
var getMessageType = function getMessageType(taf, tafAction) {
|
|
@@ -3562,8 +3706,8 @@
|
|
|
3562
3706
|
var previousValidDateEnd = taf.previousValidDateEnd && tafAction !== 'AMEND' ? taf.previousValidDateEnd : taf.validDateEnd; // For amendment change valid start time to current time
|
|
3563
3707
|
// only do this if we're already within the validity period
|
|
3564
3708
|
|
|
3565
|
-
if ((tafAction === 'AMEND' || tafAction === 'DRAFT_AMEND') && moment__default[
|
|
3566
|
-
var now = moment__default[
|
|
3709
|
+
if ((tafAction === 'AMEND' || tafAction === 'DRAFT_AMEND') && moment__default["default"].utc() >= moment__default["default"].utc(taf.validDateStart)) {
|
|
3710
|
+
var now = moment__default["default"].utc().format('YYYY-MM-DDTHH:mm:ss[Z]');
|
|
3567
3711
|
var validObj = {
|
|
3568
3712
|
start: now,
|
|
3569
3713
|
end: taf.baseForecast.valid.end
|
|
@@ -3583,15 +3727,21 @@
|
|
|
3583
3727
|
previousValidDateEnd: previousValidDateEnd
|
|
3584
3728
|
});
|
|
3585
3729
|
};
|
|
3586
|
-
var prepareTafValues = function prepareTafValues(_taf, tafAction) {
|
|
3587
|
-
|
|
3730
|
+
var prepareTafValues = function prepareTafValues(_taf, tafAction, addEmptyChangeGroup) {
|
|
3731
|
+
if (addEmptyChangeGroup === void 0) {
|
|
3732
|
+
addEmptyChangeGroup = false;
|
|
3733
|
+
} // If action is AMEND/CORRECT/DRAFT_AMEND/DRAFT_CORRECTION - add previous valid start and end
|
|
3588
3734
|
// If action is AMEND/DRAFT_AMEND - update validity start time to current time
|
|
3735
|
+
|
|
3736
|
+
|
|
3589
3737
|
var taf = tafAction === 'AMEND' || tafAction === 'DRAFT_AMEND' || tafAction === 'CORRECT' || tafAction === 'DRAFT_CORRECT' ? getAmendedCorrectedTafTimes(_taf, tafAction) : _taf;
|
|
3590
|
-
return __assign(__assign(__assign({}, taf), {
|
|
3738
|
+
return __assign(__assign(__assign(__assign({}, taf), {
|
|
3591
3739
|
messageType: getMessageType(taf, tafAction),
|
|
3592
3740
|
baseForecast: formatFormValues(taf.baseForecast)
|
|
3593
3741
|
}), taf.changeGroups && {
|
|
3594
3742
|
changeGroups: taf.changeGroups.map(formatFormValues)
|
|
3743
|
+
}), addEmptyChangeGroup && {
|
|
3744
|
+
changeGroups: [emptyChangegroup]
|
|
3595
3745
|
});
|
|
3596
3746
|
};
|
|
3597
3747
|
|
|
@@ -3602,24 +3752,19 @@
|
|
|
3602
3752
|
_b = _a.TAC,
|
|
3603
3753
|
TAC = _b === void 0 ? '' : _b,
|
|
3604
3754
|
onFormAction = _a.onFormAction;
|
|
3605
|
-
var taf = tafFromBackend.taf;
|
|
3606
|
-
|
|
3607
|
-
var
|
|
3608
|
-
_d = _c.changeGroups,
|
|
3609
|
-
changeGroups = _d === void 0 ? [] : _d,
|
|
3610
|
-
defaultValues = __rest(_c, ["changeGroups"]);
|
|
3611
|
-
|
|
3755
|
+
var taf = tafFromBackend.taf;
|
|
3756
|
+
var isDisabled = mode === 'view';
|
|
3757
|
+
var defaultValues = prepareTafValues(taf, tafAction, !isDisabled && !taf.changeGroups);
|
|
3612
3758
|
var options = {
|
|
3613
3759
|
defaultValues: defaultValues,
|
|
3614
3760
|
mode: 'onTouched',
|
|
3615
3761
|
reValidateMode: 'onChange',
|
|
3616
3762
|
criteriaMode: 'all'
|
|
3617
3763
|
};
|
|
3618
|
-
return /*#__PURE__*/React__default[
|
|
3764
|
+
return /*#__PURE__*/React__default["default"].createElement(formFields.ReactHookFormProvider, {
|
|
3619
3765
|
options: options
|
|
3620
|
-
}, /*#__PURE__*/React__default[
|
|
3621
|
-
|
|
3622
|
-
changeGroups: changeGroups,
|
|
3766
|
+
}, /*#__PURE__*/React__default["default"].createElement(TafForm, {
|
|
3767
|
+
isDisabled: isDisabled,
|
|
3623
3768
|
tafAction: tafAction,
|
|
3624
3769
|
staticTAC: TAC,
|
|
3625
3770
|
onFormAction: onFormAction
|
|
@@ -3669,7 +3814,12 @@
|
|
|
3669
3814
|
return onFormAction('CLOSE');
|
|
3670
3815
|
},
|
|
3671
3816
|
maxWidth: other.maxWidth ? other.maxWidth : 'lg',
|
|
3672
|
-
disableBackdropClick: true
|
|
3817
|
+
disableBackdropClick: true,
|
|
3818
|
+
PaperProps: {
|
|
3819
|
+
style: {
|
|
3820
|
+
position: 'inherit'
|
|
3821
|
+
}
|
|
3822
|
+
}
|
|
3673
3823
|
}, other), /*#__PURE__*/React__namespace.createElement(core.DialogTitle, {
|
|
3674
3824
|
disableTypography: true,
|
|
3675
3825
|
className: classes.dialogHeader
|
|
@@ -3712,11 +3862,11 @@
|
|
|
3712
3862
|
* */
|
|
3713
3863
|
|
|
3714
3864
|
var getActiveStatus = function getActiveStatus(listType, className) {
|
|
3715
|
-
return listType === 'ACTIVE' ? /*#__PURE__*/React__default[
|
|
3865
|
+
return listType === 'ACTIVE' ? /*#__PURE__*/React__default["default"].createElement(icons.CheckCircle, {
|
|
3716
3866
|
"data-testid": "status-active",
|
|
3717
3867
|
className: className,
|
|
3718
3868
|
fontSize: "small"
|
|
3719
|
-
}) : /*#__PURE__*/React__default[
|
|
3869
|
+
}) : /*#__PURE__*/React__default["default"].createElement(icons.Schedule, {
|
|
3720
3870
|
"data-testid": "status-upcoming",
|
|
3721
3871
|
className: className,
|
|
3722
3872
|
fontSize: "small"
|
|
@@ -3728,13 +3878,13 @@
|
|
|
3728
3878
|
if (taf.status === 'NEW') return null;
|
|
3729
3879
|
|
|
3730
3880
|
if (taf.status === 'CANCELLED') {
|
|
3731
|
-
return /*#__PURE__*/React__default[
|
|
3881
|
+
return /*#__PURE__*/React__default["default"].createElement(shared.StatusTag, {
|
|
3732
3882
|
content: "cancelled",
|
|
3733
3883
|
color: "red"
|
|
3734
3884
|
});
|
|
3735
3885
|
}
|
|
3736
3886
|
|
|
3737
|
-
return /*#__PURE__*/React__default[
|
|
3887
|
+
return /*#__PURE__*/React__default["default"].createElement(shared.StatusTag, {
|
|
3738
3888
|
content: taf.status.toLowerCase(),
|
|
3739
3889
|
color: taf.status === 'EXPIRED' ? 'grey' : 'green'
|
|
3740
3890
|
});
|
|
@@ -3778,101 +3928,101 @@
|
|
|
3778
3928
|
_c = _a.showTac,
|
|
3779
3929
|
showTac = _c === void 0 ? false : _c;
|
|
3780
3930
|
var classes = useStyles$5();
|
|
3781
|
-
var validTimeDate = moment__default[
|
|
3782
|
-
var baseTime = moment__default[
|
|
3783
|
-
return /*#__PURE__*/React__default[
|
|
3931
|
+
var validTimeDate = moment__default["default"].utc(taf.validDateStart).format('DD MMM');
|
|
3932
|
+
var baseTime = moment__default["default"].utc(taf.baseTime).format('HH:mm');
|
|
3933
|
+
return /*#__PURE__*/React__default["default"].createElement(core.Card, {
|
|
3784
3934
|
elevation: 0,
|
|
3785
3935
|
className: classes.cardWrapper
|
|
3786
|
-
}, /*#__PURE__*/React__default[
|
|
3936
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3787
3937
|
container: true,
|
|
3788
3938
|
alignItems: "center",
|
|
3789
3939
|
spacing: 1
|
|
3790
|
-
}, /*#__PURE__*/React__default[
|
|
3940
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3791
3941
|
item: true,
|
|
3792
3942
|
xs: 3,
|
|
3793
3943
|
sm: 2,
|
|
3794
3944
|
md: 1
|
|
3795
|
-
}, /*#__PURE__*/React__default[
|
|
3945
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.Typography, {
|
|
3796
3946
|
variant: "subtitle2",
|
|
3797
3947
|
noWrap: true,
|
|
3798
3948
|
className: classes.font
|
|
3799
|
-
}, taf.location)), /*#__PURE__*/React__default[
|
|
3949
|
+
}, taf.location)), /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3800
3950
|
item: true,
|
|
3801
3951
|
xs: 3,
|
|
3802
3952
|
sm: 3,
|
|
3803
3953
|
md: 1,
|
|
3804
3954
|
container: true
|
|
3805
|
-
}, /*#__PURE__*/React__default[
|
|
3955
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3806
3956
|
item: true,
|
|
3807
3957
|
xs: 3,
|
|
3808
3958
|
sm: 3,
|
|
3809
3959
|
md: 3,
|
|
3810
3960
|
className: classes.alignIcon
|
|
3811
|
-
}, showTac && /*#__PURE__*/React__default[
|
|
3961
|
+
}, showTac && /*#__PURE__*/React__default["default"].createElement(core.Tooltip, {
|
|
3812
3962
|
"data-testid": "taflistrow-tactooltip",
|
|
3813
|
-
title: /*#__PURE__*/React__default[
|
|
3963
|
+
title: /*#__PURE__*/React__default["default"].createElement("div", {
|
|
3814
3964
|
style: {
|
|
3815
3965
|
whiteSpace: 'pre-line'
|
|
3816
3966
|
}
|
|
3817
3967
|
}, TAC),
|
|
3818
3968
|
placement: "bottom-start"
|
|
3819
|
-
}, /*#__PURE__*/React__default[
|
|
3969
|
+
}, /*#__PURE__*/React__default["default"].createElement(icons.InfoOutlined, {
|
|
3820
3970
|
"data-testid": "taflistrow-tacicon",
|
|
3821
3971
|
color: "secondary",
|
|
3822
3972
|
fontSize: "small"
|
|
3823
|
-
}))), /*#__PURE__*/React__default[
|
|
3973
|
+
}))), /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3824
3974
|
item: true,
|
|
3825
3975
|
xs: 9,
|
|
3826
3976
|
sm: 9,
|
|
3827
3977
|
md: 9
|
|
3828
|
-
}, /*#__PURE__*/React__default[
|
|
3978
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.Typography, {
|
|
3829
3979
|
variant: "subtitle2",
|
|
3830
3980
|
className: classes.font,
|
|
3831
3981
|
"data-testid": "baseTime"
|
|
3832
|
-
}, baseTime))), /*#__PURE__*/React__default[
|
|
3982
|
+
}, baseTime))), /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3833
3983
|
item: true,
|
|
3834
3984
|
xs: 3,
|
|
3835
3985
|
sm: 2,
|
|
3836
3986
|
md: 1
|
|
3837
|
-
}, /*#__PURE__*/React__default[
|
|
3987
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.Typography, {
|
|
3838
3988
|
variant: "subtitle2",
|
|
3839
3989
|
className: classes.font,
|
|
3840
3990
|
"data-testid": "validTimeDate"
|
|
3841
|
-
}, validTimeDate)), /*#__PURE__*/React__default[
|
|
3991
|
+
}, validTimeDate)), /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3842
3992
|
item: true,
|
|
3843
3993
|
xs: 3,
|
|
3844
3994
|
sm: 3,
|
|
3845
3995
|
md: 6
|
|
3846
|
-
}, /*#__PURE__*/React__default[
|
|
3996
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.Typography, {
|
|
3847
3997
|
variant: "subtitle2",
|
|
3848
3998
|
className: classes.font,
|
|
3849
3999
|
"data-testid": "validTimeSlot"
|
|
3850
4000
|
}, formatValidToString({
|
|
3851
4001
|
start: taf.validDateStart,
|
|
3852
4002
|
end: taf.validDateEnd
|
|
3853
|
-
}))), /*#__PURE__*/React__default[
|
|
4003
|
+
}))), /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3854
4004
|
item: true,
|
|
3855
4005
|
xs: 12,
|
|
3856
4006
|
sm: 4,
|
|
3857
4007
|
md: 3
|
|
3858
|
-
}, /*#__PURE__*/React__default[
|
|
4008
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3859
4009
|
container: true,
|
|
3860
4010
|
justify: "flex-start",
|
|
3861
4011
|
spacing: 2
|
|
3862
|
-
}, /*#__PURE__*/React__default[
|
|
4012
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3863
4013
|
item: true,
|
|
3864
4014
|
xs: 8,
|
|
3865
4015
|
container: true,
|
|
3866
4016
|
justify: "flex-end"
|
|
3867
|
-
}, taf.status === 'DRAFT' || taf.status === 'DRAFT_CORRECTED' || taf.status === 'DRAFT_AMENDED' ? /*#__PURE__*/React__default[
|
|
4017
|
+
}, taf.status === 'DRAFT' || taf.status === 'DRAFT_CORRECTED' || taf.status === 'DRAFT_AMENDED' ? /*#__PURE__*/React__default["default"].createElement(core.Button, {
|
|
3868
4018
|
color: "secondary",
|
|
3869
4019
|
size: "small",
|
|
3870
4020
|
"data-testid": "tafRow-draft",
|
|
3871
|
-
startIcon: /*#__PURE__*/React__default[
|
|
4021
|
+
startIcon: /*#__PURE__*/React__default["default"].createElement(icons.Create, {
|
|
3872
4022
|
fontSize: "small",
|
|
3873
4023
|
color: "secondary"
|
|
3874
4024
|
})
|
|
3875
|
-
}, getDraftTitle(taf.status)) : getStatusTagList(taf)), /*#__PURE__*/React__default[
|
|
4025
|
+
}, getDraftTitle(taf.status)) : getStatusTagList(taf)), /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3876
4026
|
item: true,
|
|
3877
4027
|
className: classes.alignIcon
|
|
3878
4028
|
}, taf.status !== 'NEW' && taf.status !== 'DRAFT' && taf.status !== 'DRAFT_CORRECTED' && taf.status !== 'DRAFT_AMENDED' && taf.status !== 'CANCELLED' && listType !== 'EXPIRED' && getActiveStatus(listType, classes.activeStatus))))));
|
|
@@ -3896,10 +4046,10 @@
|
|
|
3896
4046
|
* */
|
|
3897
4047
|
var getListType = function getListType(taf, locationSettings) {
|
|
3898
4048
|
if (!taf) return null;
|
|
3899
|
-
var now = moment__default[
|
|
3900
|
-
var baseTime = moment__default[
|
|
4049
|
+
var now = moment__default["default"].utc();
|
|
4050
|
+
var baseTime = moment__default["default"].utc(taf.baseTime);
|
|
3901
4051
|
var activityPeriod = locationSettings[taf.location].activity_period;
|
|
3902
|
-
var nextBaseTime = moment__default[
|
|
4052
|
+
var nextBaseTime = moment__default["default"].utc(taf.baseTime).add(activityPeriod, 'hours');
|
|
3903
4053
|
|
|
3904
4054
|
if (taf.status === 'EXPIRED') {
|
|
3905
4055
|
return 'EXPIRED';
|
|
@@ -3939,10 +4089,10 @@
|
|
|
3939
4089
|
onFormAction = _a.onFormAction;
|
|
3940
4090
|
var taf = tafFromBackend ? tafFromBackend.taf : null;
|
|
3941
4091
|
var locationSettings = useTafSettings(tafConfig).locations;
|
|
3942
|
-
return /*#__PURE__*/React__default[
|
|
4092
|
+
return /*#__PURE__*/React__default["default"].createElement(ContentDialog, {
|
|
3943
4093
|
open: open,
|
|
3944
4094
|
toggleDialogStatus: toggleFormDialog,
|
|
3945
|
-
titleComponent: /*#__PURE__*/React__default[
|
|
4095
|
+
titleComponent: /*#__PURE__*/React__default["default"].createElement(TafListRow, {
|
|
3946
4096
|
taf: taf,
|
|
3947
4097
|
listType: getListType(taf, locationSettings)
|
|
3948
4098
|
}),
|
|
@@ -3980,34 +4130,34 @@
|
|
|
3980
4130
|
canBe = _a.canBe,
|
|
3981
4131
|
onClickTafActionButton = _a.onClickTafActionButton;
|
|
3982
4132
|
var classes = useStyles$4();
|
|
3983
|
-
return !canBe.includes('CANCELLED') && !canBe.includes('CORRECTED') && !canBe.includes('AMENDED') ? null : /*#__PURE__*/React__default[
|
|
4133
|
+
return !canBe.includes('CANCELLED') && !canBe.includes('CORRECTED') && !canBe.includes('AMENDED') ? null : /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3984
4134
|
container: true,
|
|
3985
4135
|
alignItems: "center",
|
|
3986
4136
|
justify: "flex-end",
|
|
3987
4137
|
"data-testid": "taflist-canbebuttons",
|
|
3988
4138
|
spacing: 1,
|
|
3989
4139
|
className: classes.actionButtons
|
|
3990
|
-
}, /*#__PURE__*/React__default[
|
|
4140
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
3991
4141
|
item: true
|
|
3992
|
-
}, canBe.includes('CANCELLED') && /*#__PURE__*/React__default[
|
|
4142
|
+
}, canBe.includes('CANCELLED') && /*#__PURE__*/React__default["default"].createElement(core.Button, {
|
|
3993
4143
|
"data-testid": "canceltaf",
|
|
3994
4144
|
variant: "outlined",
|
|
3995
4145
|
color: "secondary",
|
|
3996
4146
|
onClick: function onClick() {
|
|
3997
4147
|
return onClickTafActionButton(uuid, 'CANCEL');
|
|
3998
4148
|
}
|
|
3999
|
-
}, "Cancel")), /*#__PURE__*/React__default[
|
|
4149
|
+
}, "Cancel")), /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
4000
4150
|
item: true
|
|
4001
|
-
}, canBe.includes('CORRECTED') && /*#__PURE__*/React__default[
|
|
4151
|
+
}, canBe.includes('CORRECTED') && /*#__PURE__*/React__default["default"].createElement(core.Button, {
|
|
4002
4152
|
"data-testid": "correctaf",
|
|
4003
4153
|
variant: "outlined",
|
|
4004
4154
|
color: "secondary",
|
|
4005
4155
|
onClick: function onClick() {
|
|
4006
4156
|
return onClickTafActionButton(uuid, 'CORRECT');
|
|
4007
4157
|
}
|
|
4008
|
-
}, "Correct")), /*#__PURE__*/React__default[
|
|
4158
|
+
}, "Correct")), /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
4009
4159
|
item: true
|
|
4010
|
-
}, canBe.includes('AMENDED') && /*#__PURE__*/React__default[
|
|
4160
|
+
}, canBe.includes('AMENDED') && /*#__PURE__*/React__default["default"].createElement(core.Button, {
|
|
4011
4161
|
"data-testid": "amendtaf",
|
|
4012
4162
|
variant: "outlined",
|
|
4013
4163
|
color: "secondary",
|
|
@@ -4056,7 +4206,7 @@
|
|
|
4056
4206
|
TAC = _c[0],
|
|
4057
4207
|
requestTAC = _c[1];
|
|
4058
4208
|
|
|
4059
|
-
React__default[
|
|
4209
|
+
React__default["default"].useEffect(function () {
|
|
4060
4210
|
// only re-retrieve TAC if draft state
|
|
4061
4211
|
if (tafListItem.taf.status === 'DRAFT' || tafListItem.taf.status === 'DRAFT_AMENDED' || tafListItem.taf.status === 'DRAFT_CORRECTED') {
|
|
4062
4212
|
requestTAC(tafListItem.taf);
|
|
@@ -4064,7 +4214,7 @@
|
|
|
4064
4214
|
|
|
4065
4215
|
}, [tafListItem.taf]);
|
|
4066
4216
|
var popOut = status === 'NEW' || status === 'DRAFT' || status === 'DRAFT_AMENDED' || status === 'DRAFT_CORRECTED';
|
|
4067
|
-
return /*#__PURE__*/React__default[
|
|
4217
|
+
return /*#__PURE__*/React__default["default"].createElement(core.Accordion, __assign({
|
|
4068
4218
|
"data-testid": "tafListItem",
|
|
4069
4219
|
className: classes.accordion
|
|
4070
4220
|
}, popOut ? {
|
|
@@ -4078,41 +4228,41 @@
|
|
|
4078
4228
|
TransitionProps: {
|
|
4079
4229
|
unmountOnExit: true
|
|
4080
4230
|
}
|
|
4081
|
-
}), /*#__PURE__*/React__default[
|
|
4231
|
+
}), /*#__PURE__*/React__default["default"].createElement(core.AccordionSummary, {
|
|
4082
4232
|
"data-testid": "tafListSectionAccordionSummary",
|
|
4083
|
-
expandIcon: popOut ? /*#__PURE__*/React__default[
|
|
4233
|
+
expandIcon: popOut ? /*#__PURE__*/React__default["default"].createElement(core.Tooltip, {
|
|
4084
4234
|
title: "Popout to edit"
|
|
4085
|
-
}, /*#__PURE__*/React__default[
|
|
4235
|
+
}, /*#__PURE__*/React__default["default"].createElement(icons.OpenInNew, {
|
|
4086
4236
|
"data-testid": "popOutIcon",
|
|
4087
4237
|
fontSize: "small"
|
|
4088
|
-
})) : /*#__PURE__*/React__default[
|
|
4238
|
+
})) : /*#__PURE__*/React__default["default"].createElement(icons.ExpandMore, {
|
|
4089
4239
|
"data-testid": "expandIcon"
|
|
4090
4240
|
})
|
|
4091
|
-
}, /*#__PURE__*/React__default[
|
|
4241
|
+
}, /*#__PURE__*/React__default["default"].createElement(TafListRow, {
|
|
4092
4242
|
taf: tafListItem.taf,
|
|
4093
4243
|
listType: listType,
|
|
4094
4244
|
TAC: TAC,
|
|
4095
4245
|
showTac: true
|
|
4096
|
-
})), /*#__PURE__*/React__default[
|
|
4246
|
+
})), /*#__PURE__*/React__default["default"].createElement(core.AccordionDetails, null, /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
4097
4247
|
container: true,
|
|
4098
4248
|
direction: "column"
|
|
4099
4249
|
}, errorCancelTaf.length > 0 && errorCancelTaf.find(function (uuid) {
|
|
4100
4250
|
return uuid === tafListItem.taf.uuid;
|
|
4101
|
-
}) && /*#__PURE__*/React__default[
|
|
4251
|
+
}) && /*#__PURE__*/React__default["default"].createElement(shared.AlertBanner, {
|
|
4102
4252
|
severity: "error",
|
|
4103
4253
|
title: "Cancelling this TAF failed, please try again",
|
|
4104
4254
|
dataTestId: "tafList-cancelAlert"
|
|
4105
|
-
}), /*#__PURE__*/React__default[
|
|
4255
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
4106
4256
|
className: classes.formPadding
|
|
4107
|
-
}, /*#__PURE__*/React__default[
|
|
4257
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
4108
4258
|
item: true
|
|
4109
|
-
}, /*#__PURE__*/React__default[
|
|
4259
|
+
}, /*#__PURE__*/React__default["default"].createElement(TafFormWrapper, {
|
|
4110
4260
|
tafFromBackend: tafListItem,
|
|
4111
4261
|
mode: "view",
|
|
4112
4262
|
TAC: TAC
|
|
4113
|
-
})), /*#__PURE__*/React__default[
|
|
4263
|
+
})), /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
4114
4264
|
item: true
|
|
4115
|
-
}, /*#__PURE__*/React__default[
|
|
4265
|
+
}, /*#__PURE__*/React__default["default"].createElement(TafListButtons, {
|
|
4116
4266
|
canBe: tafListItem.canbe,
|
|
4117
4267
|
uuid: tafListItem.taf.uuid,
|
|
4118
4268
|
onClickTafActionButton: onClickTafActionButton
|
|
@@ -4155,13 +4305,13 @@
|
|
|
4155
4305
|
errorCancelTaf = _b === void 0 ? [] : _b,
|
|
4156
4306
|
onClickTafActionButton = _a.onClickTafActionButton;
|
|
4157
4307
|
var classes = useStyles$2();
|
|
4158
|
-
return /*#__PURE__*/React__default[
|
|
4308
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(core.Typography, {
|
|
4159
4309
|
variant: "subtitle2",
|
|
4160
4310
|
className: classes.listHeaders
|
|
4161
|
-
}, title), /*#__PURE__*/React__default[
|
|
4311
|
+
}, title), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
4162
4312
|
"data-testid": "tafList" + listType
|
|
4163
4313
|
}, tafList.map(function (tafListItem) {
|
|
4164
|
-
return /*#__PURE__*/React__default[
|
|
4314
|
+
return /*#__PURE__*/React__default["default"].createElement(TafListAccordion, {
|
|
4165
4315
|
key: tafListItem.taf.uuid + "-" + tafListItem.taf.status,
|
|
4166
4316
|
tafListItem: tafListItem,
|
|
4167
4317
|
listType: listType,
|
|
@@ -4203,10 +4353,10 @@
|
|
|
4203
4353
|
try {
|
|
4204
4354
|
for (var tafList_1 = __values(tafList), tafList_1_1 = tafList_1.next(); !tafList_1_1.done; tafList_1_1 = tafList_1.next()) {
|
|
4205
4355
|
var taf = tafList_1_1.value;
|
|
4206
|
-
var now = moment__default[
|
|
4207
|
-
var baseTime = moment__default[
|
|
4356
|
+
var now = moment__default["default"].utc();
|
|
4357
|
+
var baseTime = moment__default["default"].utc(taf.taf.baseTime);
|
|
4208
4358
|
var activityPeriod = locationSettings[taf.taf.location].activity_period;
|
|
4209
|
-
var nextBaseTime = moment__default[
|
|
4359
|
+
var nextBaseTime = moment__default["default"].utc(taf.taf.baseTime).add(activityPeriod, 'hours');
|
|
4210
4360
|
|
|
4211
4361
|
if (taf.taf.status === 'EXPIRED') {
|
|
4212
4362
|
expiredTafs.push(taf);
|
|
@@ -4229,37 +4379,37 @@
|
|
|
4229
4379
|
}
|
|
4230
4380
|
}
|
|
4231
4381
|
|
|
4232
|
-
return /*#__PURE__*/React__default[
|
|
4382
|
+
return /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
4233
4383
|
container: true,
|
|
4234
4384
|
direction: "column",
|
|
4235
4385
|
alignItems: "stretch"
|
|
4236
|
-
}, /*#__PURE__*/React__default[
|
|
4386
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.Grid, {
|
|
4237
4387
|
item: true,
|
|
4238
4388
|
className: classes.listBody
|
|
4239
|
-
}, error && /*#__PURE__*/React__default[
|
|
4389
|
+
}, error && /*#__PURE__*/React__default["default"].createElement(shared.AlertBanner, {
|
|
4240
4390
|
severity: "error",
|
|
4241
4391
|
title: "An error has occurred while retrieving the list, please try again",
|
|
4242
4392
|
info: error.message ? error.message : '',
|
|
4243
4393
|
dataTestId: "tafList-alert"
|
|
4244
|
-
}), tafList && /*#__PURE__*/React__default[
|
|
4394
|
+
}), tafList && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(TafListSection, {
|
|
4245
4395
|
title: "Upcoming",
|
|
4246
4396
|
listType: "UPCOMING",
|
|
4247
4397
|
tafList: upcomingTafs,
|
|
4248
4398
|
errorCancelTaf: errorCancelTaf,
|
|
4249
4399
|
onClickTafActionButton: onClickTafActionButton
|
|
4250
|
-
}), /*#__PURE__*/React__default[
|
|
4400
|
+
}), /*#__PURE__*/React__default["default"].createElement(TafListSection, {
|
|
4251
4401
|
title: "Current time slot",
|
|
4252
4402
|
listType: "ACTIVE",
|
|
4253
4403
|
tafList: currentTafs,
|
|
4254
4404
|
errorCancelTaf: errorCancelTaf,
|
|
4255
4405
|
onClickTafActionButton: onClickTafActionButton
|
|
4256
|
-
}), /*#__PURE__*/React__default[
|
|
4406
|
+
}), /*#__PURE__*/React__default["default"].createElement(TafListSection, {
|
|
4257
4407
|
title: "Expired",
|
|
4258
4408
|
listType: "EXPIRED",
|
|
4259
4409
|
tafList: expiredTafs,
|
|
4260
4410
|
errorCancelTaf: errorCancelTaf,
|
|
4261
4411
|
onClickTafActionButton: onClickTafActionButton
|
|
4262
|
-
})), isLoading && /*#__PURE__*/React__default[
|
|
4412
|
+
})), isLoading && /*#__PURE__*/React__default["default"].createElement(lab.Skeleton, {
|
|
4263
4413
|
"data-testid": "tafList-skeleton",
|
|
4264
4414
|
variant: "rect",
|
|
4265
4415
|
height: "660px"
|
|
@@ -4291,10 +4441,10 @@
|
|
|
4291
4441
|
|
|
4292
4442
|
var Spinner = function Spinner() {
|
|
4293
4443
|
var classes = useStyles();
|
|
4294
|
-
return /*#__PURE__*/React__default[
|
|
4444
|
+
return /*#__PURE__*/React__default["default"].createElement(core.Backdrop, {
|
|
4295
4445
|
open: true,
|
|
4296
4446
|
className: classes.backdrop
|
|
4297
|
-
}, /*#__PURE__*/React__default[
|
|
4447
|
+
}, /*#__PURE__*/React__default["default"].createElement(core.CircularProgress, {
|
|
4298
4448
|
"data-testid": "spinner",
|
|
4299
4449
|
color: "inherit"
|
|
4300
4450
|
}));
|
|
@@ -4305,11 +4455,11 @@
|
|
|
4305
4455
|
pollingInterval = 10000;
|
|
4306
4456
|
}
|
|
4307
4457
|
|
|
4308
|
-
var _a = __read(React__default[
|
|
4458
|
+
var _a = __read(React__default["default"].useState([]), 2),
|
|
4309
4459
|
errorCancelTaf = _a[0],
|
|
4310
4460
|
setErrorCancelTaf = _a[1];
|
|
4311
4461
|
|
|
4312
|
-
React__default[
|
|
4462
|
+
React__default["default"].useEffect(function () {
|
|
4313
4463
|
var cancelErrorMessageHandler = errorCancelTaf.length > 0 ? setTimeout(function () {
|
|
4314
4464
|
if (errorCancelTaf.length > 0) {
|
|
4315
4465
|
setErrorCancelTaf(errorCancelTaf.slice(1));
|
|
@@ -4334,27 +4484,27 @@
|
|
|
4334
4484
|
var api$1 = api.useApiContext().api;
|
|
4335
4485
|
var confirmDialog = shared.useConfirmationDialog();
|
|
4336
4486
|
|
|
4337
|
-
var _a = __read(React__default[
|
|
4487
|
+
var _a = __read(React__default["default"].useState(false), 2),
|
|
4338
4488
|
isTafDialogOpen = _a[0],
|
|
4339
4489
|
setTafDialogOpen = _a[1];
|
|
4340
4490
|
|
|
4341
|
-
var _b = __read(React__default[
|
|
4491
|
+
var _b = __read(React__default["default"].useState(null), 2),
|
|
4342
4492
|
selectedTafId = _b[0],
|
|
4343
4493
|
setselectedTafId = _b[1];
|
|
4344
4494
|
|
|
4345
|
-
var _c = __read(React__default[
|
|
4495
|
+
var _c = __read(React__default["default"].useState(null), 2),
|
|
4346
4496
|
tafDialogAction = _c[0],
|
|
4347
4497
|
setTafDialogAction = _c[1];
|
|
4348
4498
|
|
|
4349
|
-
var _d = __read(React__default[
|
|
4499
|
+
var _d = __read(React__default["default"].useState(false), 2),
|
|
4350
4500
|
errorPostMessage = _d[0],
|
|
4351
4501
|
setErrorPostMessage = _d[1];
|
|
4352
4502
|
|
|
4353
|
-
var _e = __read(React__default[
|
|
4503
|
+
var _e = __read(React__default["default"].useState(''), 2),
|
|
4354
4504
|
errorPostMessageText = _e[0],
|
|
4355
4505
|
setErrorPostMessageText = _e[1];
|
|
4356
4506
|
|
|
4357
|
-
var _f = __read(React__default[
|
|
4507
|
+
var _f = __read(React__default["default"].useState(false), 2),
|
|
4358
4508
|
showSpinner = _f[0],
|
|
4359
4509
|
setSpinner = _f[1]; // clear error message for cancel after 10 seconds
|
|
4360
4510
|
|
|
@@ -4385,7 +4535,7 @@
|
|
|
4385
4535
|
setTafDialogOpen(!isTafDialogOpen);
|
|
4386
4536
|
};
|
|
4387
4537
|
|
|
4388
|
-
React__default[
|
|
4538
|
+
React__default["default"].useEffect(function () {
|
|
4389
4539
|
if (selectedTafId) {
|
|
4390
4540
|
toggleTafDialog();
|
|
4391
4541
|
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -4527,28 +4677,28 @@
|
|
|
4527
4677
|
};
|
|
4528
4678
|
|
|
4529
4679
|
var selectedTaf = getSelectedTaf(selectedTafId, tafList);
|
|
4530
|
-
return /*#__PURE__*/React__default[
|
|
4680
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(TafList, {
|
|
4531
4681
|
tafList: tafList,
|
|
4532
4682
|
isLoading: isLoadingList,
|
|
4533
4683
|
error: errorList,
|
|
4534
4684
|
onClickTafActionButton: onClickTafActionButton,
|
|
4535
4685
|
errorCancelTaf: errorCancelTaf
|
|
4536
|
-
}), showSpinner && /*#__PURE__*/React__default[
|
|
4686
|
+
}), showSpinner && /*#__PURE__*/React__default["default"].createElement(Spinner, null), selectedTaf !== undefined && /*#__PURE__*/React__default["default"].createElement(TafFormDialog, {
|
|
4537
4687
|
open: isTafDialogOpen,
|
|
4538
4688
|
toggleFormDialog: toggleTafDialog,
|
|
4539
4689
|
tafFromBackend: selectedTaf,
|
|
4540
|
-
alertBanner: errorPostMessage ? /*#__PURE__*/React__default[
|
|
4690
|
+
alertBanner: errorPostMessage ? /*#__PURE__*/React__default["default"].createElement(shared.AlertBanner, {
|
|
4541
4691
|
severity: "error",
|
|
4542
4692
|
title: "An error has occurred while saving, please try again",
|
|
4543
4693
|
info: errorPostMessageText
|
|
4544
4694
|
}) : null,
|
|
4545
4695
|
onFormAction: onFormAction
|
|
4546
|
-
}, /*#__PURE__*/React__default[
|
|
4696
|
+
}, /*#__PURE__*/React__default["default"].createElement(TafFormWrapper, {
|
|
4547
4697
|
mode: "edit",
|
|
4548
4698
|
tafFromBackend: selectedTaf,
|
|
4549
4699
|
tafAction: tafDialogAction,
|
|
4550
4700
|
onFormAction: onFormAction
|
|
4551
|
-
}), showSpinner && /*#__PURE__*/React__default[
|
|
4701
|
+
}), showSpinner && /*#__PURE__*/React__default["default"].createElement(Spinner, null)));
|
|
4552
4702
|
};
|
|
4553
4703
|
/**
|
|
4554
4704
|
* Shows the list of Tafs and allows to create, edit and view Tafs.
|
|
@@ -4560,11 +4710,11 @@
|
|
|
4560
4710
|
|
|
4561
4711
|
|
|
4562
4712
|
var ConfirmationWrapper = function ConfirmationWrapper() {
|
|
4563
|
-
return /*#__PURE__*/React__default[
|
|
4713
|
+
return /*#__PURE__*/React__default["default"].createElement(shared.ConfirmationServiceProvider, null, /*#__PURE__*/React__default["default"].createElement(TafWrapper, null));
|
|
4564
4714
|
};
|
|
4565
4715
|
|
|
4566
|
-
var createApi = function createApi(url, appUrl, auth, setAuth, authTokenUrl) {
|
|
4567
|
-
var axiosInstance = api.createApiInstance(url, appUrl, auth, setAuth, authTokenUrl);
|
|
4716
|
+
var createApi = function createApi(url, appUrl, auth, setAuth, authTokenUrl, authClientId) {
|
|
4717
|
+
var axiosInstance = api.createApiInstance(url, appUrl, auth, setAuth, authTokenUrl, authClientId);
|
|
4568
4718
|
return {
|
|
4569
4719
|
// api data
|
|
4570
4720
|
getTafList: function getTafList() {
|
|
@@ -4590,4 +4740,4 @@
|
|
|
4590
4740
|
|
|
4591
4741
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4592
4742
|
|
|
4593
|
-
}))
|
|
4743
|
+
}));
|