@opengeoweb/sigmet-airmet 4.9.1 → 4.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.esm.js
CHANGED
|
@@ -1758,12 +1758,13 @@ var Levels = function Levels(_ref) {
|
|
|
1758
1758
|
setValue = _useFormContext.setValue,
|
|
1759
1759
|
trigger = _useFormContext.trigger,
|
|
1760
1760
|
getValues = _useFormContext.getValues,
|
|
1761
|
-
|
|
1762
|
-
|
|
1761
|
+
clearErrors = _useFormContext.clearErrors,
|
|
1762
|
+
unregister = _useFormContext.unregister;
|
|
1763
1763
|
|
|
1764
1764
|
var _useDraftFormHelpers = useDraftFormHelpers(),
|
|
1765
1765
|
isRequired = _useDraftFormHelpers.isRequired;
|
|
1766
1766
|
|
|
1767
|
+
var levelInfoMode = watch('levelInfoMode');
|
|
1767
1768
|
var config = productType === 'sigmet' ? sigmetConfig : airmetConfig;
|
|
1768
1769
|
|
|
1769
1770
|
var _useProductSettings = useProductSettings(config),
|
|
@@ -1772,6 +1773,11 @@ var Levels = function Levels(_ref) {
|
|
|
1772
1773
|
var selectedFIR = watch('locationIndicatorATSR'); // Get allowed level units based on selected FIR - if no FIR selected, allow all default units
|
|
1773
1774
|
|
|
1774
1775
|
var allowedLevelUnitsForFir = getAllowedUnits(selectedFIR, allowedUnits, 'level_unit', LevelUnits);
|
|
1776
|
+
React__default.useEffect(function () {
|
|
1777
|
+
if (levelInfoMode !== 'BETW') {
|
|
1778
|
+
unregister('lowerLevel');
|
|
1779
|
+
}
|
|
1780
|
+
}, [levelInfoMode, unregister]);
|
|
1775
1781
|
return /*#__PURE__*/React__default.createElement(ProductFormFieldLayout, {
|
|
1776
1782
|
title: "Levels",
|
|
1777
1783
|
sx: styles$2.containerItem
|
|
@@ -1789,29 +1795,18 @@ var Levels = function Levels(_ref) {
|
|
|
1789
1795
|
isReadOnly: isReadOnly,
|
|
1790
1796
|
onChange: function onChange() {
|
|
1791
1797
|
// Reset default value for the level value to '' so when it rerenders it uses this empty default value
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
level: {
|
|
1795
|
-
unit: 'FL',
|
|
1796
|
-
value: null
|
|
1797
|
-
}
|
|
1798
|
-
}), {
|
|
1799
|
-
keepErrors: true,
|
|
1800
|
-
keepDirty: true,
|
|
1801
|
-
keepIsSubmitted: false,
|
|
1802
|
-
keepTouched: false,
|
|
1803
|
-
keepIsValid: false
|
|
1804
|
-
}); // Clear out errors for the levels
|
|
1798
|
+
setValue('level.unit', 'FL');
|
|
1799
|
+
setValue('level.value', null); // Clear out errors for the levels
|
|
1805
1800
|
|
|
1806
1801
|
clearErrors(['level', 'lowerLevel']);
|
|
1807
1802
|
}
|
|
1808
1803
|
}, /*#__PURE__*/React__default.createElement(RadioButtonAndLabel, {
|
|
1809
1804
|
value: "AT",
|
|
1810
1805
|
label: "At",
|
|
1811
|
-
checked:
|
|
1806
|
+
checked: levelInfoMode === 'AT' || levelInfoMode === 'TOPS',
|
|
1812
1807
|
"data-testid": "levels-AT",
|
|
1813
1808
|
disabled: isDisabled
|
|
1814
|
-
}),
|
|
1809
|
+
}), levelInfoMode === 'AT' || levelInfoMode === 'TOPS' ? /*#__PURE__*/React__default.createElement(Grid, {
|
|
1815
1810
|
item: true,
|
|
1816
1811
|
xs: 12,
|
|
1817
1812
|
container: true,
|
|
@@ -1824,7 +1819,7 @@ var Levels = function Levels(_ref) {
|
|
|
1824
1819
|
md: 3
|
|
1825
1820
|
}, /*#__PURE__*/React__default.createElement(FormControlLabel, {
|
|
1826
1821
|
control: /*#__PURE__*/React__default.createElement(Checkbox, {
|
|
1827
|
-
checked:
|
|
1822
|
+
checked: levelInfoMode === 'TOPS',
|
|
1828
1823
|
onChange: function onChange() {
|
|
1829
1824
|
setValue('levelInfoMode', getValues('levelInfoMode') === 'AT' ? 'TOPS' : 'AT', {
|
|
1830
1825
|
shouldDirty: true
|
|
@@ -1898,10 +1893,10 @@ var Levels = function Levels(_ref) {
|
|
|
1898
1893
|
}))) : null, /*#__PURE__*/React__default.createElement(RadioButtonAndLabel, {
|
|
1899
1894
|
value: "BETW",
|
|
1900
1895
|
label: "Between",
|
|
1901
|
-
checked:
|
|
1896
|
+
checked: levelInfoMode === 'BETW' || levelInfoMode === 'BETW_SFC',
|
|
1902
1897
|
"data-testid": "levels-BETW",
|
|
1903
1898
|
disabled: isDisabled
|
|
1904
|
-
}),
|
|
1899
|
+
}), levelInfoMode === 'BETW' || levelInfoMode === 'BETW_SFC' ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Grid, {
|
|
1905
1900
|
item: true,
|
|
1906
1901
|
xs: 12,
|
|
1907
1902
|
container: true,
|
|
@@ -1922,7 +1917,7 @@ var Levels = function Levels(_ref) {
|
|
|
1922
1917
|
isRequired: isRequired,
|
|
1923
1918
|
validateLevelUnitCombinations: function validateLevelUnitCombinations(value) {
|
|
1924
1919
|
return (// level step depends on the unit
|
|
1925
|
-
_validateLevelUnitCombinations(value,
|
|
1920
|
+
_validateLevelUnitCombinations(value, levelInfoMode === 'BETW_SFC' ? 'SFC' : getValues('lowerLevel.unit')) === true
|
|
1926
1921
|
);
|
|
1927
1922
|
}
|
|
1928
1923
|
}
|
|
@@ -1989,7 +1984,7 @@ var Levels = function Levels(_ref) {
|
|
|
1989
1984
|
md: 3
|
|
1990
1985
|
}, /*#__PURE__*/React__default.createElement(FormControlLabel, {
|
|
1991
1986
|
control: /*#__PURE__*/React__default.createElement(Checkbox, {
|
|
1992
|
-
checked:
|
|
1987
|
+
checked: levelInfoMode === 'BETW_SFC',
|
|
1993
1988
|
onChange: function onChange() {
|
|
1994
1989
|
getValues('level.unit') && trigger('level.unit');
|
|
1995
1990
|
setValue('levelInfoMode', getValues('levelInfoMode') === 'BETW' ? 'BETW_SFC' : 'BETW', {
|
|
@@ -2002,7 +1997,7 @@ var Levels = function Levels(_ref) {
|
|
|
2002
1997
|
}),
|
|
2003
1998
|
"data-testid": "levels-SFC",
|
|
2004
1999
|
label: "SFC"
|
|
2005
|
-
})),
|
|
2000
|
+
})), levelInfoMode !== 'BETW_SFC' && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Grid, {
|
|
2006
2001
|
item: true,
|
|
2007
2002
|
xs: 4,
|
|
2008
2003
|
md: 3
|
|
@@ -2076,9 +2071,9 @@ var Levels = function Levels(_ref) {
|
|
|
2076
2071
|
value: "ABV",
|
|
2077
2072
|
label: "Above",
|
|
2078
2073
|
disabled: isDisabled,
|
|
2079
|
-
checked:
|
|
2074
|
+
checked: levelInfoMode === 'ABV' || levelInfoMode === 'TOPS_ABV',
|
|
2080
2075
|
"data-testid": "levels-ABV"
|
|
2081
|
-
}),
|
|
2076
|
+
}), levelInfoMode === 'ABV' || levelInfoMode === 'TOPS_ABV' ? /*#__PURE__*/React__default.createElement(Grid, {
|
|
2082
2077
|
item: true,
|
|
2083
2078
|
xs: 12,
|
|
2084
2079
|
container: true,
|
|
@@ -2091,7 +2086,7 @@ var Levels = function Levels(_ref) {
|
|
|
2091
2086
|
md: 3
|
|
2092
2087
|
}, /*#__PURE__*/React__default.createElement(FormControlLabel, {
|
|
2093
2088
|
control: /*#__PURE__*/React__default.createElement(Checkbox, {
|
|
2094
|
-
checked:
|
|
2089
|
+
checked: levelInfoMode === 'TOPS_ABV',
|
|
2095
2090
|
onChange: function onChange() {
|
|
2096
2091
|
setValue('levelInfoMode', getValues('levelInfoMode') === 'ABV' ? 'TOPS_ABV' : 'ABV', {
|
|
2097
2092
|
shouldDirty: true
|
|
@@ -2312,19 +2307,6 @@ var Phenomenon = function Phenomenon(_ref) {
|
|
|
2312
2307
|
setValue('movementType', null);
|
|
2313
2308
|
}
|
|
2314
2309
|
|
|
2315
|
-
if (!isSigmet) {
|
|
2316
|
-
if (getValues('phenomenon') !== 'SFC_VIS') {
|
|
2317
|
-
setValue('visibilityValue', null);
|
|
2318
|
-
setValue('visibilityCause', null);
|
|
2319
|
-
}
|
|
2320
|
-
|
|
2321
|
-
if (getValues('phenomenon') !== 'SFC_WIND') {
|
|
2322
|
-
setValue('windDirection', null);
|
|
2323
|
-
setValue('windUnit', null);
|
|
2324
|
-
setValue('windSpeed', null);
|
|
2325
|
-
}
|
|
2326
|
-
}
|
|
2327
|
-
|
|
2328
2310
|
_onChange();
|
|
2329
2311
|
|
|
2330
2312
|
return trigger([].concat(_toConsumableArray(getValues('validDateStart') ? ['validDateStart'] : []), _toConsumableArray(getValues('validDateEnd') ? ['validDateEnd'] : [])));
|
|
@@ -2496,7 +2478,8 @@ var Progress = function Progress(_ref) {
|
|
|
2496
2478
|
watch = _useFormContext.watch,
|
|
2497
2479
|
getValues = _useFormContext.getValues,
|
|
2498
2480
|
trigger = _useFormContext.trigger,
|
|
2499
|
-
errors = _useFormContext.formState.errors
|
|
2481
|
+
errors = _useFormContext.formState.errors,
|
|
2482
|
+
unregister = _useFormContext.unregister;
|
|
2500
2483
|
|
|
2501
2484
|
var _useDraftFormHelpers = useDraftFormHelpers(),
|
|
2502
2485
|
isRequired = _useDraftFormHelpers.isRequired,
|
|
@@ -2511,6 +2494,18 @@ var Progress = function Progress(_ref) {
|
|
|
2511
2494
|
var selectedFIR = watch('locationIndicatorATSR'); // Get allowed movement units based on selected FIR - if no FIR selected, allow all units
|
|
2512
2495
|
|
|
2513
2496
|
var allowedMovementUnitsForFir = getAllowedUnits(selectedFIR, allowedUnits, 'movement_unit', MovementUnit);
|
|
2497
|
+
React__default.useEffect(function () {
|
|
2498
|
+
if (movementType !== 'MOVEMENT') {
|
|
2499
|
+
unregister('movementDirection');
|
|
2500
|
+
unregister('movementSpeed');
|
|
2501
|
+
unregister('movementUnit');
|
|
2502
|
+
}
|
|
2503
|
+
|
|
2504
|
+
if (movementType !== 'FORECAST_POSITION') {
|
|
2505
|
+
unregister('endGeometry');
|
|
2506
|
+
unregister('endGeometryIntersect');
|
|
2507
|
+
}
|
|
2508
|
+
}, [movementType, unregister]);
|
|
2514
2509
|
return /*#__PURE__*/React__default.createElement(ProductFormFieldLayout, {
|
|
2515
2510
|
title: "Progress",
|
|
2516
2511
|
sx: styles$2.containerItem
|
|
@@ -3376,7 +3371,8 @@ var CloudLevels = function CloudLevels(_ref) {
|
|
|
3376
3371
|
watch = _useFormContext.watch,
|
|
3377
3372
|
setValue = _useFormContext.setValue,
|
|
3378
3373
|
trigger = _useFormContext.trigger,
|
|
3379
|
-
getValues = _useFormContext.getValues
|
|
3374
|
+
getValues = _useFormContext.getValues,
|
|
3375
|
+
unregister = _useFormContext.unregister;
|
|
3380
3376
|
|
|
3381
3377
|
var _useDraftFormHelpers = useDraftFormHelpers(),
|
|
3382
3378
|
isRequired = _useDraftFormHelpers.isRequired;
|
|
@@ -3384,9 +3380,15 @@ var CloudLevels = function CloudLevels(_ref) {
|
|
|
3384
3380
|
var _useProductSettings = useProductSettings(airmetConfig),
|
|
3385
3381
|
allowedUnits = _useProductSettings.allowedUnits;
|
|
3386
3382
|
|
|
3387
|
-
var selectedFIR = watch('locationIndicatorATSR');
|
|
3383
|
+
var selectedFIR = watch('locationIndicatorATSR');
|
|
3384
|
+
var cloudLevelInfoMode = watch('cloudLevelInfoMode'); // Get allowed cloud level units based on selected FIR - if no FIR selected, allow all default units
|
|
3388
3385
|
|
|
3389
3386
|
var allowedCloudLevelUnitsForFir = getAllowedUnits(selectedFIR, allowedUnits, 'cloud_level_unit', CloudLevelUnits);
|
|
3387
|
+
React__default.useEffect(function () {
|
|
3388
|
+
if (cloudLevelInfoMode === 'BETW_SFC' || cloudLevelInfoMode === 'BETW_SFC_ABV') {
|
|
3389
|
+
unregister('cloudLowerLevel');
|
|
3390
|
+
}
|
|
3391
|
+
}, [cloudLevelInfoMode, unregister]);
|
|
3390
3392
|
return /*#__PURE__*/React__default.createElement(Grid, {
|
|
3391
3393
|
item: true,
|
|
3392
3394
|
container: true,
|
|
@@ -3418,12 +3420,12 @@ var CloudLevels = function CloudLevels(_ref) {
|
|
|
3418
3420
|
}, /*#__PURE__*/React__default.createElement(Grid, {
|
|
3419
3421
|
item: true,
|
|
3420
3422
|
xs: 4
|
|
3421
|
-
}, (!isReadOnly ||
|
|
3423
|
+
}, (!isReadOnly || cloudLevelInfoMode === 'BETW_ABV' || cloudLevelInfoMode === 'BETW_SFC_ABV') && /*#__PURE__*/React__default.createElement(ReactHookFormFormControl, {
|
|
3422
3424
|
disabled: isDisabled,
|
|
3423
3425
|
isReadOnly: isReadOnly
|
|
3424
3426
|
}, /*#__PURE__*/React__default.createElement(FormControlLabel, {
|
|
3425
3427
|
control: /*#__PURE__*/React__default.createElement(Checkbox, {
|
|
3426
|
-
checked:
|
|
3428
|
+
checked: cloudLevelInfoMode === 'BETW_ABV' || cloudLevelInfoMode === 'BETW_SFC_ABV',
|
|
3427
3429
|
onChange: function onChange() {
|
|
3428
3430
|
switch (getValues('cloudLevelInfoMode')) {
|
|
3429
3431
|
case 'BETW':
|
|
@@ -3531,12 +3533,12 @@ var CloudLevels = function CloudLevels(_ref) {
|
|
|
3531
3533
|
}, /*#__PURE__*/React__default.createElement(Grid, {
|
|
3532
3534
|
item: true,
|
|
3533
3535
|
xs: 4
|
|
3534
|
-
}, (!isReadOnly ||
|
|
3536
|
+
}, (!isReadOnly || cloudLevelInfoMode === 'BETW_SFC' || cloudLevelInfoMode === 'BETW_SFC_ABV') && /*#__PURE__*/React__default.createElement(ReactHookFormFormControl, {
|
|
3535
3537
|
disabled: isDisabled,
|
|
3536
3538
|
isReadOnly: isReadOnly
|
|
3537
3539
|
}, /*#__PURE__*/React__default.createElement(FormControlLabel, {
|
|
3538
3540
|
control: /*#__PURE__*/React__default.createElement(Checkbox, {
|
|
3539
|
-
checked:
|
|
3541
|
+
checked: cloudLevelInfoMode === 'BETW_SFC' || cloudLevelInfoMode === 'BETW_SFC_ABV',
|
|
3540
3542
|
onChange: function onChange() {
|
|
3541
3543
|
switch (getValues('cloudLevelInfoMode')) {
|
|
3542
3544
|
case 'BETW':
|
|
@@ -3570,7 +3572,7 @@ var CloudLevels = function CloudLevels(_ref) {
|
|
|
3570
3572
|
}),
|
|
3571
3573
|
"data-testid": "cloudLevels-SFC",
|
|
3572
3574
|
label: "SFC"
|
|
3573
|
-
}))),
|
|
3575
|
+
}))), cloudLevelInfoMode !== 'BETW_SFC' && cloudLevelInfoMode !== 'BETW_SFC_ABV' && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Grid, {
|
|
3574
3576
|
item: true,
|
|
3575
3577
|
xs: 3
|
|
3576
3578
|
}, /*#__PURE__*/React__default.createElement(ReactHookFormSelect, {
|
|
@@ -4111,6 +4113,23 @@ var ProductFormLayout = function ProductFormLayout(_a) {
|
|
|
4111
4113
|
}, children));
|
|
4112
4114
|
};
|
|
4113
4115
|
|
|
4116
|
+
var useConditionalFields$1 = function useConditionalFields() {
|
|
4117
|
+
var _useFormContext = useFormContext(),
|
|
4118
|
+
watch = _useFormContext.watch,
|
|
4119
|
+
unregister = _useFormContext.unregister; // phenomenon: VA_CLD
|
|
4120
|
+
|
|
4121
|
+
|
|
4122
|
+
var hasVolcanicAshes = watch('phenomenon') === 'VA_CLD';
|
|
4123
|
+
React__default.useEffect(function () {
|
|
4124
|
+
if (!hasVolcanicAshes) {
|
|
4125
|
+
unregister(['vaSigmetVolcanoName', 'vaSigmetVolcanoCoordinates.latitude', 'vaSigmetVolcanoCoordinates.longitude']);
|
|
4126
|
+
}
|
|
4127
|
+
}, [hasVolcanicAshes, unregister]);
|
|
4128
|
+
return {
|
|
4129
|
+
hasVolcanicAshes: hasVolcanicAshes
|
|
4130
|
+
};
|
|
4131
|
+
};
|
|
4132
|
+
|
|
4114
4133
|
var SigmetForm = function SigmetForm(_ref) {
|
|
4115
4134
|
var mode = _ref.mode,
|
|
4116
4135
|
_ref$isCancelSigmet = _ref.isCancelSigmet,
|
|
@@ -4125,10 +4144,10 @@ var SigmetForm = function SigmetForm(_ref) {
|
|
|
4125
4144
|
var _useApiContext = useApiContext(),
|
|
4126
4145
|
api = _useApiContext.api;
|
|
4127
4146
|
|
|
4128
|
-
var
|
|
4129
|
-
watch =
|
|
4130
|
-
setValue =
|
|
4131
|
-
handleSubmit =
|
|
4147
|
+
var _useFormContext2 = useFormContext(),
|
|
4148
|
+
watch = _useFormContext2.watch,
|
|
4149
|
+
setValue = _useFormContext2.setValue,
|
|
4150
|
+
handleSubmit = _useFormContext2.handleSubmit;
|
|
4132
4151
|
|
|
4133
4152
|
var _React$useState = React__default.useState(mode === 'view'),
|
|
4134
4153
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -4209,6 +4228,9 @@ var SigmetForm = function SigmetForm(_ref) {
|
|
|
4209
4228
|
}
|
|
4210
4229
|
}, [drawMode.start, drawMode.end, isReadOnly, isDisabled]);
|
|
4211
4230
|
|
|
4231
|
+
var _useConditionalFields = useConditionalFields$1(),
|
|
4232
|
+
hasVolcanicAshes = _useConditionalFields.hasVolcanicAshes;
|
|
4233
|
+
|
|
4212
4234
|
var renderForm = function renderForm() {
|
|
4213
4235
|
return /*#__PURE__*/React__default.createElement(Grid, {
|
|
4214
4236
|
container: true,
|
|
@@ -4227,7 +4249,7 @@ var SigmetForm = function SigmetForm(_ref) {
|
|
|
4227
4249
|
isReadOnly: isReadOnly,
|
|
4228
4250
|
helperText: helperText,
|
|
4229
4251
|
onChange: onChangeForm
|
|
4230
|
-
}), !isCancelSigmet &&
|
|
4252
|
+
}), !isCancelSigmet && hasVolcanicAshes && /*#__PURE__*/React__default.createElement(VolcanicFields, {
|
|
4231
4253
|
isDisabled: isDisabled,
|
|
4232
4254
|
isReadOnly: isReadOnly,
|
|
4233
4255
|
helperText: helperText
|
|
@@ -4324,6 +4346,48 @@ var SigmetForm = function SigmetForm(_ref) {
|
|
|
4324
4346
|
}, renderForm()));
|
|
4325
4347
|
};
|
|
4326
4348
|
|
|
4349
|
+
var useConditionalFields = function useConditionalFields() {
|
|
4350
|
+
var _useFormContext = useFormContext(),
|
|
4351
|
+
watch = _useFormContext.watch,
|
|
4352
|
+
unregister = _useFormContext.unregister; // phenomenon: SFC_VIS
|
|
4353
|
+
|
|
4354
|
+
|
|
4355
|
+
var phenomenon = watch('phenomenon');
|
|
4356
|
+
var hasSurfaceVisiblity = phenomenon === 'SFC_VIS';
|
|
4357
|
+
React__default.useEffect(function () {
|
|
4358
|
+
if (!hasSurfaceVisiblity) {
|
|
4359
|
+
unregister(['visibilityValue', 'visibilityCause']);
|
|
4360
|
+
}
|
|
4361
|
+
}, [hasSurfaceVisiblity, unregister]); // phenomenon: SFC_WIND
|
|
4362
|
+
|
|
4363
|
+
var hasSurfaceWind = watch('phenomenon') === 'SFC_WIND';
|
|
4364
|
+
React__default.useEffect(function () {
|
|
4365
|
+
if (!hasSurfaceWind) {
|
|
4366
|
+
unregister(['windDirection', 'windUnit', 'windSpeed']);
|
|
4367
|
+
}
|
|
4368
|
+
}, [hasSurfaceWind, unregister]); // phenomenon: SFC_WIND, SFC_VIS, BKN_CLD, OVC_CLD
|
|
4369
|
+
|
|
4370
|
+
var hasLevels = phenomenon !== 'SFC_WIND' && phenomenon !== 'SFC_VIS' && phenomenon !== 'BKN_CLD' && phenomenon !== 'OVC_CLD';
|
|
4371
|
+
React__default.useEffect(function () {
|
|
4372
|
+
if (!hasLevels) {
|
|
4373
|
+
unregister(['levelInfoMode', 'level', 'lowerLevel']);
|
|
4374
|
+
}
|
|
4375
|
+
}, [hasLevels, unregister]); // phenomenon: BKN_CLD
|
|
4376
|
+
|
|
4377
|
+
var hasCloudLevels = phenomenon === 'BKN_CLD' || phenomenon === 'OVC_CLD';
|
|
4378
|
+
React__default.useEffect(function () {
|
|
4379
|
+
if (!hasCloudLevels) {
|
|
4380
|
+
unregister(['cloudLevelInfoMode', 'cloudLevel', 'cloudLowerLevel']);
|
|
4381
|
+
}
|
|
4382
|
+
}, [hasCloudLevels, unregister]);
|
|
4383
|
+
return {
|
|
4384
|
+
hasSurfaceVisiblity: hasSurfaceVisiblity,
|
|
4385
|
+
hasSurfaceWind: hasSurfaceWind,
|
|
4386
|
+
hasLevels: hasLevels,
|
|
4387
|
+
hasCloudLevels: hasCloudLevels
|
|
4388
|
+
};
|
|
4389
|
+
};
|
|
4390
|
+
|
|
4327
4391
|
var AirmetForm = function AirmetForm(_ref) {
|
|
4328
4392
|
var mode = _ref.mode,
|
|
4329
4393
|
_ref$isCancelAirmet = _ref.isCancelAirmet,
|
|
@@ -4338,12 +4402,10 @@ var AirmetForm = function AirmetForm(_ref) {
|
|
|
4338
4402
|
var _useApiContext = useApiContext(),
|
|
4339
4403
|
api = _useApiContext.api;
|
|
4340
4404
|
|
|
4341
|
-
var
|
|
4342
|
-
watch =
|
|
4343
|
-
setValue =
|
|
4344
|
-
handleSubmit =
|
|
4345
|
-
|
|
4346
|
-
var phenomenon = watch('phenomenon');
|
|
4405
|
+
var _useFormContext2 = useFormContext(),
|
|
4406
|
+
watch = _useFormContext2.watch,
|
|
4407
|
+
setValue = _useFormContext2.setValue,
|
|
4408
|
+
handleSubmit = _useFormContext2.handleSubmit;
|
|
4347
4409
|
|
|
4348
4410
|
var _React$useState = React__default.useState(mode === 'view'),
|
|
4349
4411
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -4402,6 +4464,12 @@ var AirmetForm = function AirmetForm(_ref) {
|
|
|
4402
4464
|
}
|
|
4403
4465
|
}, [drawMode.start, isReadOnly, isDisabled]);
|
|
4404
4466
|
|
|
4467
|
+
var _useConditionalFields = useConditionalFields(),
|
|
4468
|
+
hasSurfaceVisiblity = _useConditionalFields.hasSurfaceVisiblity,
|
|
4469
|
+
hasSurfaceWind = _useConditionalFields.hasSurfaceWind,
|
|
4470
|
+
hasLevels = _useConditionalFields.hasLevels,
|
|
4471
|
+
hasCloudLevels = _useConditionalFields.hasCloudLevels;
|
|
4472
|
+
|
|
4405
4473
|
var renderForm = function renderForm() {
|
|
4406
4474
|
return /*#__PURE__*/React__default.createElement(Grid, {
|
|
4407
4475
|
container: true,
|
|
@@ -4412,11 +4480,11 @@ var AirmetForm = function AirmetForm(_ref) {
|
|
|
4412
4480
|
isDisabled: isDisabled,
|
|
4413
4481
|
isReadOnly: isReadOnly,
|
|
4414
4482
|
onChange: onChangeForm
|
|
4415
|
-
}), !isCancelAirmet &&
|
|
4483
|
+
}), !isCancelAirmet && hasSurfaceVisiblity && /*#__PURE__*/React__default.createElement(SurfaceVisibility, {
|
|
4416
4484
|
isReadOnly: isReadOnly,
|
|
4417
4485
|
isDisabled: isDisabled,
|
|
4418
4486
|
onChange: onChangeForm
|
|
4419
|
-
}), !isCancelAirmet &&
|
|
4487
|
+
}), !isCancelAirmet && hasSurfaceWind && /*#__PURE__*/React__default.createElement(SurfaceWind, {
|
|
4420
4488
|
isReadOnly: isReadOnly,
|
|
4421
4489
|
isDisabled: isDisabled,
|
|
4422
4490
|
onChange: onChangeForm
|
|
@@ -4449,12 +4517,12 @@ var AirmetForm = function AirmetForm(_ref) {
|
|
|
4449
4517
|
setDrawModeType: function setDrawModeType(mapDrawMode, StartOrEndDrawing) {
|
|
4450
4518
|
_setDrawModeType(mapDrawMode, StartOrEndDrawing, updateStartDrawing);
|
|
4451
4519
|
}
|
|
4452
|
-
}), !isCancelAirmet &&
|
|
4520
|
+
}), !isCancelAirmet && hasLevels && /*#__PURE__*/React__default.createElement(Levels, {
|
|
4453
4521
|
isDisabled: isDisabled,
|
|
4454
4522
|
isReadOnly: isReadOnly,
|
|
4455
4523
|
onChange: onChangeForm,
|
|
4456
4524
|
productType: "airmet"
|
|
4457
|
-
}), !isCancelAirmet &&
|
|
4525
|
+
}), !isCancelAirmet && hasCloudLevels && /*#__PURE__*/React__default.createElement(CloudLevels, {
|
|
4458
4526
|
isDisabled: isDisabled,
|
|
4459
4527
|
isReadOnly: isReadOnly,
|
|
4460
4528
|
onChange: onChangeForm
|
|
@@ -5119,8 +5187,9 @@ var ProductFormDialogContent = function ProductFormDialogContent(_ref) {
|
|
|
5119
5187
|
};
|
|
5120
5188
|
|
|
5121
5189
|
var onToggleDialog = function onToggleDialog() {
|
|
5190
|
+
var shouldRefreshList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
5122
5191
|
setLoader(false);
|
|
5123
|
-
toggleDialogStatus();
|
|
5192
|
+
toggleDialogStatus(shouldRefreshList);
|
|
5124
5193
|
};
|
|
5125
5194
|
|
|
5126
5195
|
var showConfirmDialog = function showConfirmDialog(action) {
|
|
@@ -5140,7 +5209,7 @@ var ProductFormDialogContent = function ProductFormDialogContent(_ref) {
|
|
|
5140
5209
|
switch (action) {
|
|
5141
5210
|
case 'CLOSED':
|
|
5142
5211
|
if (mode === 'view' || !isDirty) {
|
|
5143
|
-
onToggleDialog();
|
|
5212
|
+
onToggleDialog(false);
|
|
5144
5213
|
} else {
|
|
5145
5214
|
toggleIsDraft(true);
|
|
5146
5215
|
showConfirmDialog(action).then(function () {
|
|
@@ -5150,7 +5219,7 @@ var ProductFormDialogContent = function ProductFormDialogContent(_ref) {
|
|
|
5150
5219
|
})["catch"](function (reason) {
|
|
5151
5220
|
if (reason === 'CANCELLED') {
|
|
5152
5221
|
// close without save
|
|
5153
|
-
onToggleDialog();
|
|
5222
|
+
onToggleDialog(false);
|
|
5154
5223
|
}
|
|
5155
5224
|
});
|
|
5156
5225
|
}
|
|
@@ -5172,7 +5241,7 @@ var ProductFormDialogContent = function ProductFormDialogContent(_ref) {
|
|
|
5172
5241
|
showConfirmDialog(action).then(function () {
|
|
5173
5242
|
// If we're discarding a new SIGMET/AIRMET - just close the dialog
|
|
5174
5243
|
if (mode === 'new') {
|
|
5175
|
-
onToggleDialog();
|
|
5244
|
+
onToggleDialog(false);
|
|
5176
5245
|
} else {
|
|
5177
5246
|
// If we're discarding an existing SIGMET/AIRMET - make call to BE
|
|
5178
5247
|
postProduct(product, action);
|
|
@@ -5295,7 +5364,7 @@ var ProductFormDialog = function ProductFormDialog(_ref) {
|
|
|
5295
5364
|
return /*#__PURE__*/React.createElement(ReactHookFormProvider, {
|
|
5296
5365
|
options: Object.assign(Object.assign({}, defaultFormOptions), {
|
|
5297
5366
|
defaultValues: product,
|
|
5298
|
-
|
|
5367
|
+
values: product
|
|
5299
5368
|
})
|
|
5300
5369
|
}, /*#__PURE__*/React.createElement(ConfirmationServiceProvider, null, /*#__PURE__*/React.createElement(ProductFormDialogContent, {
|
|
5301
5370
|
isOpen: isOpen,
|
|
@@ -5353,8 +5422,9 @@ var MetInfoWrapper = function MetInfoWrapper(_ref) {
|
|
|
5353
5422
|
}, [selectedProduct]);
|
|
5354
5423
|
|
|
5355
5424
|
var toggleDialogOpen = function toggleDialogOpen() {
|
|
5425
|
+
var shouldRefreshList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
5356
5426
|
// Refresh list on closing dialog
|
|
5357
|
-
if (isFormDialogOpen === true) getNewProductList();
|
|
5427
|
+
if (isFormDialogOpen === true && shouldRefreshList) getNewProductList();
|
|
5358
5428
|
setIsFormDialogOpen(!isFormDialogOpen);
|
|
5359
5429
|
};
|
|
5360
5430
|
|
package/index.umd.js
CHANGED
|
@@ -1756,15 +1756,21 @@
|
|
|
1756
1756
|
setValue = _c.setValue,
|
|
1757
1757
|
trigger = _c.trigger,
|
|
1758
1758
|
getValues = _c.getValues,
|
|
1759
|
-
|
|
1760
|
-
|
|
1759
|
+
clearErrors = _c.clearErrors,
|
|
1760
|
+
unregister = _c.unregister;
|
|
1761
1761
|
|
|
1762
1762
|
var isRequired = shared.useDraftFormHelpers().isRequired;
|
|
1763
|
+
var levelInfoMode = watch('levelInfoMode');
|
|
1763
1764
|
var config = productType === 'sigmet' ? sigmetConfig : airmetConfig;
|
|
1764
1765
|
var allowedUnits = useProductSettings(config).allowedUnits;
|
|
1765
1766
|
var selectedFIR = watch('locationIndicatorATSR'); // Get allowed level units based on selected FIR - if no FIR selected, allow all default units
|
|
1766
1767
|
|
|
1767
1768
|
var allowedLevelUnitsForFir = getAllowedUnits(selectedFIR, allowedUnits, 'level_unit', LevelUnits);
|
|
1769
|
+
React__default["default"].useEffect(function () {
|
|
1770
|
+
if (levelInfoMode !== 'BETW') {
|
|
1771
|
+
unregister('lowerLevel');
|
|
1772
|
+
}
|
|
1773
|
+
}, [levelInfoMode, unregister]);
|
|
1768
1774
|
return /*#__PURE__*/React__default["default"].createElement(ProductFormFieldLayout, {
|
|
1769
1775
|
title: "Levels",
|
|
1770
1776
|
sx: styles$2.containerItem
|
|
@@ -1782,29 +1788,18 @@
|
|
|
1782
1788
|
isReadOnly: isReadOnly,
|
|
1783
1789
|
onChange: function onChange() {
|
|
1784
1790
|
// Reset default value for the level value to '' so when it rerenders it uses this empty default value
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
level: {
|
|
1788
|
-
unit: 'FL',
|
|
1789
|
-
value: null
|
|
1790
|
-
}
|
|
1791
|
-
}), {
|
|
1792
|
-
keepErrors: true,
|
|
1793
|
-
keepDirty: true,
|
|
1794
|
-
keepIsSubmitted: false,
|
|
1795
|
-
keepTouched: false,
|
|
1796
|
-
keepIsValid: false
|
|
1797
|
-
}); // Clear out errors for the levels
|
|
1791
|
+
setValue('level.unit', 'FL');
|
|
1792
|
+
setValue('level.value', null); // Clear out errors for the levels
|
|
1798
1793
|
|
|
1799
1794
|
clearErrors(['level', 'lowerLevel']);
|
|
1800
1795
|
}
|
|
1801
1796
|
}, /*#__PURE__*/React__default["default"].createElement(RadioButtonAndLabel, {
|
|
1802
1797
|
value: "AT",
|
|
1803
1798
|
label: "At",
|
|
1804
|
-
checked:
|
|
1799
|
+
checked: levelInfoMode === 'AT' || levelInfoMode === 'TOPS',
|
|
1805
1800
|
"data-testid": "levels-AT",
|
|
1806
1801
|
disabled: isDisabled
|
|
1807
|
-
}),
|
|
1802
|
+
}), levelInfoMode === 'AT' || levelInfoMode === 'TOPS' ? /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
1808
1803
|
item: true,
|
|
1809
1804
|
xs: 12,
|
|
1810
1805
|
container: true,
|
|
@@ -1817,7 +1812,7 @@
|
|
|
1817
1812
|
md: 3
|
|
1818
1813
|
}, /*#__PURE__*/React__default["default"].createElement(material.FormControlLabel, {
|
|
1819
1814
|
control: /*#__PURE__*/React__default["default"].createElement(material.Checkbox, {
|
|
1820
|
-
checked:
|
|
1815
|
+
checked: levelInfoMode === 'TOPS',
|
|
1821
1816
|
onChange: function onChange() {
|
|
1822
1817
|
setValue('levelInfoMode', getValues('levelInfoMode') === 'AT' ? 'TOPS' : 'AT', {
|
|
1823
1818
|
shouldDirty: true
|
|
@@ -1888,10 +1883,10 @@
|
|
|
1888
1883
|
}))) : null, /*#__PURE__*/React__default["default"].createElement(RadioButtonAndLabel, {
|
|
1889
1884
|
value: "BETW",
|
|
1890
1885
|
label: "Between",
|
|
1891
|
-
checked:
|
|
1886
|
+
checked: levelInfoMode === 'BETW' || levelInfoMode === 'BETW_SFC',
|
|
1892
1887
|
"data-testid": "levels-BETW",
|
|
1893
1888
|
disabled: isDisabled
|
|
1894
|
-
}),
|
|
1889
|
+
}), levelInfoMode === 'BETW' || levelInfoMode === 'BETW_SFC' ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
1895
1890
|
item: true,
|
|
1896
1891
|
xs: 12,
|
|
1897
1892
|
container: true,
|
|
@@ -1912,7 +1907,7 @@
|
|
|
1912
1907
|
isRequired: isRequired,
|
|
1913
1908
|
validateLevelUnitCombinations: function validateLevelUnitCombinations(value) {
|
|
1914
1909
|
// level step depends on the unit
|
|
1915
|
-
return _validateLevelUnitCombinations(value,
|
|
1910
|
+
return _validateLevelUnitCombinations(value, levelInfoMode === 'BETW_SFC' ? 'SFC' : getValues('lowerLevel.unit')) === true;
|
|
1916
1911
|
}
|
|
1917
1912
|
}
|
|
1918
1913
|
},
|
|
@@ -1975,7 +1970,7 @@
|
|
|
1975
1970
|
md: 3
|
|
1976
1971
|
}, /*#__PURE__*/React__default["default"].createElement(material.FormControlLabel, {
|
|
1977
1972
|
control: /*#__PURE__*/React__default["default"].createElement(material.Checkbox, {
|
|
1978
|
-
checked:
|
|
1973
|
+
checked: levelInfoMode === 'BETW_SFC',
|
|
1979
1974
|
onChange: function onChange() {
|
|
1980
1975
|
getValues('level.unit') && trigger('level.unit');
|
|
1981
1976
|
setValue('levelInfoMode', getValues('levelInfoMode') === 'BETW' ? 'BETW_SFC' : 'BETW', {
|
|
@@ -1988,7 +1983,7 @@
|
|
|
1988
1983
|
}),
|
|
1989
1984
|
"data-testid": "levels-SFC",
|
|
1990
1985
|
label: "SFC"
|
|
1991
|
-
})),
|
|
1986
|
+
})), levelInfoMode !== 'BETW_SFC' && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
1992
1987
|
item: true,
|
|
1993
1988
|
xs: 4,
|
|
1994
1989
|
md: 3
|
|
@@ -2057,9 +2052,9 @@
|
|
|
2057
2052
|
value: "ABV",
|
|
2058
2053
|
label: "Above",
|
|
2059
2054
|
disabled: isDisabled,
|
|
2060
|
-
checked:
|
|
2055
|
+
checked: levelInfoMode === 'ABV' || levelInfoMode === 'TOPS_ABV',
|
|
2061
2056
|
"data-testid": "levels-ABV"
|
|
2062
|
-
}),
|
|
2057
|
+
}), levelInfoMode === 'ABV' || levelInfoMode === 'TOPS_ABV' ? /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
2063
2058
|
item: true,
|
|
2064
2059
|
xs: 12,
|
|
2065
2060
|
container: true,
|
|
@@ -2072,7 +2067,7 @@
|
|
|
2072
2067
|
md: 3
|
|
2073
2068
|
}, /*#__PURE__*/React__default["default"].createElement(material.FormControlLabel, {
|
|
2074
2069
|
control: /*#__PURE__*/React__default["default"].createElement(material.Checkbox, {
|
|
2075
|
-
checked:
|
|
2070
|
+
checked: levelInfoMode === 'TOPS_ABV',
|
|
2076
2071
|
onChange: function onChange() {
|
|
2077
2072
|
setValue('levelInfoMode', getValues('levelInfoMode') === 'ABV' ? 'TOPS_ABV' : 'ABV', {
|
|
2078
2073
|
shouldDirty: true
|
|
@@ -2285,19 +2280,6 @@
|
|
|
2285
2280
|
setValue('movementType', null);
|
|
2286
2281
|
}
|
|
2287
2282
|
|
|
2288
|
-
if (!isSigmet) {
|
|
2289
|
-
if (getValues('phenomenon') !== 'SFC_VIS') {
|
|
2290
|
-
setValue('visibilityValue', null);
|
|
2291
|
-
setValue('visibilityCause', null);
|
|
2292
|
-
}
|
|
2293
|
-
|
|
2294
|
-
if (getValues('phenomenon') !== 'SFC_WIND') {
|
|
2295
|
-
setValue('windDirection', null);
|
|
2296
|
-
setValue('windUnit', null);
|
|
2297
|
-
setValue('windSpeed', null);
|
|
2298
|
-
}
|
|
2299
|
-
}
|
|
2300
|
-
|
|
2301
2283
|
_onChange();
|
|
2302
2284
|
|
|
2303
2285
|
return trigger(__spreadArray(__spreadArray([], __read(getValues('validDateStart') ? ['validDateStart'] : [])), __read(getValues('validDateEnd') ? ['validDateEnd'] : [])));
|
|
@@ -2467,7 +2449,8 @@
|
|
|
2467
2449
|
watch = _e.watch,
|
|
2468
2450
|
getValues = _e.getValues,
|
|
2469
2451
|
trigger = _e.trigger,
|
|
2470
|
-
errors = _e.formState.errors
|
|
2452
|
+
errors = _e.formState.errors,
|
|
2453
|
+
unregister = _e.unregister;
|
|
2471
2454
|
|
|
2472
2455
|
var _f = shared.useDraftFormHelpers(),
|
|
2473
2456
|
isRequired = _f.isRequired,
|
|
@@ -2479,6 +2462,18 @@
|
|
|
2479
2462
|
var selectedFIR = watch('locationIndicatorATSR'); // Get allowed movement units based on selected FIR - if no FIR selected, allow all units
|
|
2480
2463
|
|
|
2481
2464
|
var allowedMovementUnitsForFir = getAllowedUnits(selectedFIR, allowedUnits, 'movement_unit', MovementUnit);
|
|
2465
|
+
React__default["default"].useEffect(function () {
|
|
2466
|
+
if (movementType !== 'MOVEMENT') {
|
|
2467
|
+
unregister('movementDirection');
|
|
2468
|
+
unregister('movementSpeed');
|
|
2469
|
+
unregister('movementUnit');
|
|
2470
|
+
}
|
|
2471
|
+
|
|
2472
|
+
if (movementType !== 'FORECAST_POSITION') {
|
|
2473
|
+
unregister('endGeometry');
|
|
2474
|
+
unregister('endGeometryIntersect');
|
|
2475
|
+
}
|
|
2476
|
+
}, [movementType, unregister]);
|
|
2482
2477
|
return /*#__PURE__*/React__default["default"].createElement(ProductFormFieldLayout, {
|
|
2483
2478
|
title: "Progress",
|
|
2484
2479
|
sx: styles$2.containerItem
|
|
@@ -3304,13 +3299,20 @@
|
|
|
3304
3299
|
watch = _c.watch,
|
|
3305
3300
|
setValue = _c.setValue,
|
|
3306
3301
|
trigger = _c.trigger,
|
|
3307
|
-
getValues = _c.getValues
|
|
3302
|
+
getValues = _c.getValues,
|
|
3303
|
+
unregister = _c.unregister;
|
|
3308
3304
|
|
|
3309
3305
|
var isRequired = shared.useDraftFormHelpers().isRequired;
|
|
3310
3306
|
var allowedUnits = useProductSettings(airmetConfig).allowedUnits;
|
|
3311
|
-
var selectedFIR = watch('locationIndicatorATSR');
|
|
3307
|
+
var selectedFIR = watch('locationIndicatorATSR');
|
|
3308
|
+
var cloudLevelInfoMode = watch('cloudLevelInfoMode'); // Get allowed cloud level units based on selected FIR - if no FIR selected, allow all default units
|
|
3312
3309
|
|
|
3313
3310
|
var allowedCloudLevelUnitsForFir = getAllowedUnits(selectedFIR, allowedUnits, 'cloud_level_unit', CloudLevelUnits);
|
|
3311
|
+
React__default["default"].useEffect(function () {
|
|
3312
|
+
if (cloudLevelInfoMode === 'BETW_SFC' || cloudLevelInfoMode === 'BETW_SFC_ABV') {
|
|
3313
|
+
unregister('cloudLowerLevel');
|
|
3314
|
+
}
|
|
3315
|
+
}, [cloudLevelInfoMode, unregister]);
|
|
3314
3316
|
return /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
3315
3317
|
item: true,
|
|
3316
3318
|
container: true,
|
|
@@ -3342,12 +3344,12 @@
|
|
|
3342
3344
|
}, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
3343
3345
|
item: true,
|
|
3344
3346
|
xs: 4
|
|
3345
|
-
}, (!isReadOnly ||
|
|
3347
|
+
}, (!isReadOnly || cloudLevelInfoMode === 'BETW_ABV' || cloudLevelInfoMode === 'BETW_SFC_ABV') && /*#__PURE__*/React__default["default"].createElement(formFields.ReactHookFormFormControl, {
|
|
3346
3348
|
disabled: isDisabled,
|
|
3347
3349
|
isReadOnly: isReadOnly
|
|
3348
3350
|
}, /*#__PURE__*/React__default["default"].createElement(material.FormControlLabel, {
|
|
3349
3351
|
control: /*#__PURE__*/React__default["default"].createElement(material.Checkbox, {
|
|
3350
|
-
checked:
|
|
3352
|
+
checked: cloudLevelInfoMode === 'BETW_ABV' || cloudLevelInfoMode === 'BETW_SFC_ABV',
|
|
3351
3353
|
onChange: function onChange() {
|
|
3352
3354
|
switch (getValues('cloudLevelInfoMode')) {
|
|
3353
3355
|
case 'BETW':
|
|
@@ -3453,12 +3455,12 @@
|
|
|
3453
3455
|
}, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
3454
3456
|
item: true,
|
|
3455
3457
|
xs: 4
|
|
3456
|
-
}, (!isReadOnly ||
|
|
3458
|
+
}, (!isReadOnly || cloudLevelInfoMode === 'BETW_SFC' || cloudLevelInfoMode === 'BETW_SFC_ABV') && /*#__PURE__*/React__default["default"].createElement(formFields.ReactHookFormFormControl, {
|
|
3457
3459
|
disabled: isDisabled,
|
|
3458
3460
|
isReadOnly: isReadOnly
|
|
3459
3461
|
}, /*#__PURE__*/React__default["default"].createElement(material.FormControlLabel, {
|
|
3460
3462
|
control: /*#__PURE__*/React__default["default"].createElement(material.Checkbox, {
|
|
3461
|
-
checked:
|
|
3463
|
+
checked: cloudLevelInfoMode === 'BETW_SFC' || cloudLevelInfoMode === 'BETW_SFC_ABV',
|
|
3462
3464
|
onChange: function onChange() {
|
|
3463
3465
|
switch (getValues('cloudLevelInfoMode')) {
|
|
3464
3466
|
case 'BETW':
|
|
@@ -3492,7 +3494,7 @@
|
|
|
3492
3494
|
}),
|
|
3493
3495
|
"data-testid": "cloudLevels-SFC",
|
|
3494
3496
|
label: "SFC"
|
|
3495
|
-
}))),
|
|
3497
|
+
}))), cloudLevelInfoMode !== 'BETW_SFC' && cloudLevelInfoMode !== 'BETW_SFC_ABV' && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
3496
3498
|
item: true,
|
|
3497
3499
|
xs: 3
|
|
3498
3500
|
}, /*#__PURE__*/React__default["default"].createElement(formFields.ReactHookFormSelect, {
|
|
@@ -4002,6 +4004,23 @@
|
|
|
4002
4004
|
}, children));
|
|
4003
4005
|
};
|
|
4004
4006
|
|
|
4007
|
+
var useConditionalFields$1 = function useConditionalFields() {
|
|
4008
|
+
var _a = reactHookForm.useFormContext(),
|
|
4009
|
+
watch = _a.watch,
|
|
4010
|
+
unregister = _a.unregister; // phenomenon: VA_CLD
|
|
4011
|
+
|
|
4012
|
+
|
|
4013
|
+
var hasVolcanicAshes = watch('phenomenon') === 'VA_CLD';
|
|
4014
|
+
React__default["default"].useEffect(function () {
|
|
4015
|
+
if (!hasVolcanicAshes) {
|
|
4016
|
+
unregister(['vaSigmetVolcanoName', 'vaSigmetVolcanoCoordinates.latitude', 'vaSigmetVolcanoCoordinates.longitude']);
|
|
4017
|
+
}
|
|
4018
|
+
}, [hasVolcanicAshes, unregister]);
|
|
4019
|
+
return {
|
|
4020
|
+
hasVolcanicAshes: hasVolcanicAshes
|
|
4021
|
+
};
|
|
4022
|
+
};
|
|
4023
|
+
|
|
4005
4024
|
var SigmetForm = function SigmetForm(_a) {
|
|
4006
4025
|
var mode = _a.mode,
|
|
4007
4026
|
_b = _a.isCancelSigmet,
|
|
@@ -4095,6 +4114,7 @@
|
|
|
4095
4114
|
setIsDisabled(isInDrawMode);
|
|
4096
4115
|
}
|
|
4097
4116
|
}, [drawMode.start, drawMode.end, isReadOnly, isDisabled]);
|
|
4117
|
+
var hasVolcanicAshes = useConditionalFields$1().hasVolcanicAshes;
|
|
4098
4118
|
|
|
4099
4119
|
var renderForm = function renderForm() {
|
|
4100
4120
|
return /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
@@ -4114,7 +4134,7 @@
|
|
|
4114
4134
|
isReadOnly: isReadOnly,
|
|
4115
4135
|
helperText: helperText,
|
|
4116
4136
|
onChange: onChangeForm
|
|
4117
|
-
}), !isCancelSigmet &&
|
|
4137
|
+
}), !isCancelSigmet && hasVolcanicAshes && /*#__PURE__*/React__default["default"].createElement(VolcanicFields, {
|
|
4118
4138
|
isDisabled: isDisabled,
|
|
4119
4139
|
isReadOnly: isReadOnly,
|
|
4120
4140
|
helperText: helperText
|
|
@@ -4211,6 +4231,48 @@
|
|
|
4211
4231
|
}, renderForm()));
|
|
4212
4232
|
};
|
|
4213
4233
|
|
|
4234
|
+
var useConditionalFields = function useConditionalFields() {
|
|
4235
|
+
var _a = reactHookForm.useFormContext(),
|
|
4236
|
+
watch = _a.watch,
|
|
4237
|
+
unregister = _a.unregister; // phenomenon: SFC_VIS
|
|
4238
|
+
|
|
4239
|
+
|
|
4240
|
+
var phenomenon = watch('phenomenon');
|
|
4241
|
+
var hasSurfaceVisiblity = phenomenon === 'SFC_VIS';
|
|
4242
|
+
React__default["default"].useEffect(function () {
|
|
4243
|
+
if (!hasSurfaceVisiblity) {
|
|
4244
|
+
unregister(['visibilityValue', 'visibilityCause']);
|
|
4245
|
+
}
|
|
4246
|
+
}, [hasSurfaceVisiblity, unregister]); // phenomenon: SFC_WIND
|
|
4247
|
+
|
|
4248
|
+
var hasSurfaceWind = watch('phenomenon') === 'SFC_WIND';
|
|
4249
|
+
React__default["default"].useEffect(function () {
|
|
4250
|
+
if (!hasSurfaceWind) {
|
|
4251
|
+
unregister(['windDirection', 'windUnit', 'windSpeed']);
|
|
4252
|
+
}
|
|
4253
|
+
}, [hasSurfaceWind, unregister]); // phenomenon: SFC_WIND, SFC_VIS, BKN_CLD, OVC_CLD
|
|
4254
|
+
|
|
4255
|
+
var hasLevels = phenomenon !== 'SFC_WIND' && phenomenon !== 'SFC_VIS' && phenomenon !== 'BKN_CLD' && phenomenon !== 'OVC_CLD';
|
|
4256
|
+
React__default["default"].useEffect(function () {
|
|
4257
|
+
if (!hasLevels) {
|
|
4258
|
+
unregister(['levelInfoMode', 'level', 'lowerLevel']);
|
|
4259
|
+
}
|
|
4260
|
+
}, [hasLevels, unregister]); // phenomenon: BKN_CLD
|
|
4261
|
+
|
|
4262
|
+
var hasCloudLevels = phenomenon === 'BKN_CLD' || phenomenon === 'OVC_CLD';
|
|
4263
|
+
React__default["default"].useEffect(function () {
|
|
4264
|
+
if (!hasCloudLevels) {
|
|
4265
|
+
unregister(['cloudLevelInfoMode', 'cloudLevel', 'cloudLowerLevel']);
|
|
4266
|
+
}
|
|
4267
|
+
}, [hasCloudLevels, unregister]);
|
|
4268
|
+
return {
|
|
4269
|
+
hasSurfaceVisiblity: hasSurfaceVisiblity,
|
|
4270
|
+
hasSurfaceWind: hasSurfaceWind,
|
|
4271
|
+
hasLevels: hasLevels,
|
|
4272
|
+
hasCloudLevels: hasCloudLevels
|
|
4273
|
+
};
|
|
4274
|
+
};
|
|
4275
|
+
|
|
4214
4276
|
var AirmetForm = function AirmetForm(_a) {
|
|
4215
4277
|
var mode = _a.mode,
|
|
4216
4278
|
_b = _a.isCancelAirmet,
|
|
@@ -4228,8 +4290,6 @@
|
|
|
4228
4290
|
setValue = _f.setValue,
|
|
4229
4291
|
handleSubmit = _f.handleSubmit;
|
|
4230
4292
|
|
|
4231
|
-
var phenomenon = watch('phenomenon');
|
|
4232
|
-
|
|
4233
4293
|
var _g = __read(React__default["default"].useState(mode === 'view'), 2),
|
|
4234
4294
|
isDisabled = _g[0],
|
|
4235
4295
|
setIsDisabled = _g[1];
|
|
@@ -4285,6 +4345,12 @@
|
|
|
4285
4345
|
}
|
|
4286
4346
|
}, [drawMode.start, isReadOnly, isDisabled]);
|
|
4287
4347
|
|
|
4348
|
+
var _k = useConditionalFields(),
|
|
4349
|
+
hasSurfaceVisiblity = _k.hasSurfaceVisiblity,
|
|
4350
|
+
hasSurfaceWind = _k.hasSurfaceWind,
|
|
4351
|
+
hasLevels = _k.hasLevels,
|
|
4352
|
+
hasCloudLevels = _k.hasCloudLevels;
|
|
4353
|
+
|
|
4288
4354
|
var renderForm = function renderForm() {
|
|
4289
4355
|
return /*#__PURE__*/React__default["default"].createElement(material.Grid, {
|
|
4290
4356
|
container: true,
|
|
@@ -4295,11 +4361,11 @@
|
|
|
4295
4361
|
isDisabled: isDisabled,
|
|
4296
4362
|
isReadOnly: isReadOnly,
|
|
4297
4363
|
onChange: onChangeForm
|
|
4298
|
-
}), !isCancelAirmet &&
|
|
4364
|
+
}), !isCancelAirmet && hasSurfaceVisiblity && /*#__PURE__*/React__default["default"].createElement(SurfaceVisibility, {
|
|
4299
4365
|
isReadOnly: isReadOnly,
|
|
4300
4366
|
isDisabled: isDisabled,
|
|
4301
4367
|
onChange: onChangeForm
|
|
4302
|
-
}), !isCancelAirmet &&
|
|
4368
|
+
}), !isCancelAirmet && hasSurfaceWind && /*#__PURE__*/React__default["default"].createElement(SurfaceWind, {
|
|
4303
4369
|
isReadOnly: isReadOnly,
|
|
4304
4370
|
isDisabled: isDisabled,
|
|
4305
4371
|
onChange: onChangeForm
|
|
@@ -4332,12 +4398,12 @@
|
|
|
4332
4398
|
setDrawModeType: function setDrawModeType(mapDrawMode, StartOrEndDrawing) {
|
|
4333
4399
|
_setDrawModeType(mapDrawMode, StartOrEndDrawing, updateStartDrawing);
|
|
4334
4400
|
}
|
|
4335
|
-
}), !isCancelAirmet &&
|
|
4401
|
+
}), !isCancelAirmet && hasLevels && /*#__PURE__*/React__default["default"].createElement(Levels, {
|
|
4336
4402
|
isDisabled: isDisabled,
|
|
4337
4403
|
isReadOnly: isReadOnly,
|
|
4338
4404
|
onChange: onChangeForm,
|
|
4339
4405
|
productType: "airmet"
|
|
4340
|
-
}), !isCancelAirmet &&
|
|
4406
|
+
}), !isCancelAirmet && hasCloudLevels && /*#__PURE__*/React__default["default"].createElement(CloudLevels, {
|
|
4341
4407
|
isDisabled: isDisabled,
|
|
4342
4408
|
isReadOnly: isReadOnly,
|
|
4343
4409
|
onChange: onChangeForm
|
|
@@ -5007,9 +5073,13 @@
|
|
|
5007
5073
|
});
|
|
5008
5074
|
};
|
|
5009
5075
|
|
|
5010
|
-
var onToggleDialog = function onToggleDialog() {
|
|
5076
|
+
var onToggleDialog = function onToggleDialog(shouldRefreshList) {
|
|
5077
|
+
if (shouldRefreshList === void 0) {
|
|
5078
|
+
shouldRefreshList = true;
|
|
5079
|
+
}
|
|
5080
|
+
|
|
5011
5081
|
setLoader(false);
|
|
5012
|
-
toggleDialogStatus();
|
|
5082
|
+
toggleDialogStatus(shouldRefreshList);
|
|
5013
5083
|
};
|
|
5014
5084
|
|
|
5015
5085
|
var showConfirmDialog = function showConfirmDialog(action) {
|
|
@@ -5029,7 +5099,7 @@
|
|
|
5029
5099
|
switch (action) {
|
|
5030
5100
|
case 'CLOSED':
|
|
5031
5101
|
if (mode === 'view' || !isDirty) {
|
|
5032
|
-
onToggleDialog();
|
|
5102
|
+
onToggleDialog(false);
|
|
5033
5103
|
} else {
|
|
5034
5104
|
toggleIsDraft(true);
|
|
5035
5105
|
showConfirmDialog(action).then(function () {
|
|
@@ -5039,7 +5109,7 @@
|
|
|
5039
5109
|
})["catch"](function (reason) {
|
|
5040
5110
|
if (reason === 'CANCELLED') {
|
|
5041
5111
|
// close without save
|
|
5042
|
-
onToggleDialog();
|
|
5112
|
+
onToggleDialog(false);
|
|
5043
5113
|
}
|
|
5044
5114
|
});
|
|
5045
5115
|
}
|
|
@@ -5061,7 +5131,7 @@
|
|
|
5061
5131
|
showConfirmDialog(action).then(function () {
|
|
5062
5132
|
// If we're discarding a new SIGMET/AIRMET - just close the dialog
|
|
5063
5133
|
if (mode === 'new') {
|
|
5064
|
-
onToggleDialog();
|
|
5134
|
+
onToggleDialog(false);
|
|
5065
5135
|
} else {
|
|
5066
5136
|
// If we're discarding an existing SIGMET/AIRMET - make call to BE
|
|
5067
5137
|
postProduct(product, action);
|
|
@@ -5168,7 +5238,7 @@
|
|
|
5168
5238
|
return /*#__PURE__*/React__namespace.createElement(formFields.ReactHookFormProvider, {
|
|
5169
5239
|
options: __assign(__assign({}, formFields.defaultFormOptions), {
|
|
5170
5240
|
defaultValues: product,
|
|
5171
|
-
|
|
5241
|
+
values: product
|
|
5172
5242
|
})
|
|
5173
5243
|
}, /*#__PURE__*/React__namespace.createElement(shared.ConfirmationServiceProvider, null, /*#__PURE__*/React__namespace.createElement(ProductFormDialogContent, {
|
|
5174
5244
|
isOpen: isOpen,
|
|
@@ -5221,9 +5291,13 @@
|
|
|
5221
5291
|
|
|
5222
5292
|
}, [selectedProduct]);
|
|
5223
5293
|
|
|
5224
|
-
var toggleDialogOpen = function toggleDialogOpen() {
|
|
5225
|
-
|
|
5226
|
-
|
|
5294
|
+
var toggleDialogOpen = function toggleDialogOpen(shouldRefreshList) {
|
|
5295
|
+
if (shouldRefreshList === void 0) {
|
|
5296
|
+
shouldRefreshList = true;
|
|
5297
|
+
} // Refresh list on closing dialog
|
|
5298
|
+
|
|
5299
|
+
|
|
5300
|
+
if (isFormDialogOpen === true && shouldRefreshList) getNewProductList();
|
|
5227
5301
|
setIsFormDialogOpen(!isFormDialogOpen);
|
|
5228
5302
|
};
|
|
5229
5303
|
|
|
@@ -4,7 +4,7 @@ export declare const prepareProductValues: (product: Sigmet | Airmet | CancelSig
|
|
|
4
4
|
interface ProductFormDialogProps {
|
|
5
5
|
isOpen: boolean;
|
|
6
6
|
productType: ProductType;
|
|
7
|
-
toggleDialogStatus: () => void;
|
|
7
|
+
toggleDialogStatus: (shouldRefreshList?: boolean) => void;
|
|
8
8
|
productListItem?: SigmetFromBackend | AirmetFromBackend;
|
|
9
9
|
}
|
|
10
10
|
export declare const ProductFormDialog: React.FC<ProductFormDialogProps>;
|
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { CancelSigmet, Sigmet, FormMode, CancelAirmet, Airmet, ProductType } from '../../types';
|
|
3
3
|
interface ProductFormDialogContentProps {
|
|
4
4
|
isOpen: boolean;
|
|
5
|
-
toggleDialogStatus: () => void;
|
|
5
|
+
toggleDialogStatus: (shouldRefreshList?: boolean) => void;
|
|
6
6
|
mode: FormMode;
|
|
7
7
|
productType: ProductType;
|
|
8
8
|
productCanBe: string[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeoweb/sigmet-airmet",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.10.0",
|
|
4
4
|
"description": "GeoWeb Sigmet/Airmet library for the opengeoweb project",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
"react": "^17.0.2",
|
|
15
15
|
"react-redux": "^8.0.4",
|
|
16
16
|
"@mui/material": "^5.10.8",
|
|
17
|
-
"@opengeoweb/shared": "4.
|
|
18
|
-
"@opengeoweb/theme": "4.
|
|
17
|
+
"@opengeoweb/shared": "4.10.0",
|
|
18
|
+
"@opengeoweb/theme": "4.10.0",
|
|
19
19
|
"react-draggable": "^4.4.5",
|
|
20
20
|
"re-resizable": "^6.9.0",
|
|
21
21
|
"@redux-eggs/core": "^2.2.0",
|
|
22
|
-
"@opengeoweb/form-fields": "4.
|
|
22
|
+
"@opengeoweb/form-fields": "4.10.0",
|
|
23
23
|
"react-hook-form": "^7.41.5",
|
|
24
24
|
"moment": "^2.29.0",
|
|
25
25
|
"moment-timezone": "^0.5.31",
|
|
@@ -27,16 +27,16 @@
|
|
|
27
27
|
"lodash": "^4.17.20",
|
|
28
28
|
"axios": "^0.25.0",
|
|
29
29
|
"date-fns": "^2.29.3",
|
|
30
|
-
"@opengeoweb/core": "4.
|
|
31
|
-
"@opengeoweb/webmap": "4.
|
|
30
|
+
"@opengeoweb/core": "4.10.0",
|
|
31
|
+
"@opengeoweb/webmap": "4.10.0",
|
|
32
32
|
"throttle-debounce": "^3.0.1",
|
|
33
33
|
"proj4": "^2.6.2",
|
|
34
|
-
"@opengeoweb/api": "4.
|
|
34
|
+
"@opengeoweb/api": "4.10.0",
|
|
35
35
|
"react-intl": "^5.17.5",
|
|
36
36
|
"react-sortablejs": "^6.1.4",
|
|
37
37
|
"sortablejs": "^1.15.0",
|
|
38
|
-
"react-window": "^1.8.7",
|
|
39
38
|
"immer": "^9.0.15",
|
|
39
|
+
"react-window": "^1.8.7",
|
|
40
40
|
"@reduxjs/toolkit": "^1.8.3",
|
|
41
41
|
"lodash.clonedeep": "^4.5.0",
|
|
42
42
|
"@turf/turf": "^5.1.6",
|