@opengeoweb/taf 4.7.1 → 4.9.1
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 +74 -52
- package/index.umd.js +73 -52
- package/lib/components/IssuesPane/IssuesButton.d.ts +2 -2
- package/lib/components/IssuesPane/utils.d.ts +2 -2
- package/lib/components/Providers/Providers.d.ts +2 -2
- package/lib/components/TafForm/TafFormRow/types.d.ts +2 -2
- package/package.json +14 -14
package/index.esm.js
CHANGED
|
@@ -2046,10 +2046,17 @@ function formatFormValues(row) {
|
|
|
2046
2046
|
|
|
2047
2047
|
case 'cavOK':
|
|
2048
2048
|
{
|
|
2049
|
-
// Assume if cavOK field set to true - no visibility field, otherwise return the original list containing the visibility
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2049
|
+
// Assume if cavOK field set to true - no visibility field, otherwise return the original list containing the visibility and remove cavOK
|
|
2050
|
+
list.cavOK;
|
|
2051
|
+
var formData = __rest(list, ["cavOK"]);
|
|
2052
|
+
|
|
2053
|
+
if (list[key]) {
|
|
2054
|
+
return Object.assign(Object.assign({}, formData), {
|
|
2055
|
+
visibility: formatVisibilityToString(list[key])
|
|
2056
|
+
});
|
|
2057
|
+
}
|
|
2058
|
+
|
|
2059
|
+
return formData;
|
|
2053
2060
|
}
|
|
2054
2061
|
|
|
2055
2062
|
case 'cloud':
|
|
@@ -2561,15 +2568,17 @@ var prepareTafValues = function prepareTafValues(_taf, tafAction) {
|
|
|
2561
2568
|
cloud: Object.assign(Object.assign({}, emptyBaseForecast.cloud), formattedBaseForecast.cloud)
|
|
2562
2569
|
});
|
|
2563
2570
|
var formattedChangeGroups = ((_a = taf.changeGroups) === null || _a === void 0 ? void 0 : _a.map(formatFormValues)) || [];
|
|
2564
|
-
var changeGroups = formattedChangeGroups.map(createChangeGroup);
|
|
2565
|
-
|
|
2571
|
+
var changeGroups = formattedChangeGroups.map(createChangeGroup); // Add empty changegroup if set tot true
|
|
2572
|
+
|
|
2573
|
+
if (addEmptyChangeGroup) {
|
|
2574
|
+
changeGroups.push(emptyChangegroup);
|
|
2575
|
+
}
|
|
2576
|
+
|
|
2577
|
+
return Object.assign(Object.assign({}, taf), _defineProperty({
|
|
2566
2578
|
messageType: getMessageType(taf, tafAction),
|
|
2567
|
-
baseForecast: baseForecast
|
|
2568
|
-
}), changeGroups.length && {
|
|
2579
|
+
baseForecast: baseForecast,
|
|
2569
2580
|
changeGroups: changeGroups
|
|
2570
|
-
}
|
|
2571
|
-
changeGroups: [emptyChangegroup]
|
|
2572
|
-
}), _defineProperty({}, HIDDEN_INPUT_HELPER_IS_DRAFT, true));
|
|
2581
|
+
}, HIDDEN_INPUT_HELPER_IS_DRAFT, true));
|
|
2573
2582
|
};
|
|
2574
2583
|
var getIsFormDefaultDisabled = function getIsFormDefaultDisabled(status) {
|
|
2575
2584
|
return !(status === 'NEW' || status === 'DRAFT' || status === 'DRAFT_AMENDED' || status === 'DRAFT_CORRECTED');
|
|
@@ -2645,6 +2654,9 @@ var textFieldStyle = function textFieldStyle(theme) {
|
|
|
2645
2654
|
},
|
|
2646
2655
|
// root
|
|
2647
2656
|
'&': {
|
|
2657
|
+
'.Mui-error.MuiFilledInput-root': {
|
|
2658
|
+
backgroundColor: 'geowebColors.captions.captionErrorBackground.rgba'
|
|
2659
|
+
},
|
|
2648
2660
|
'.Mui-disabled:before': {
|
|
2649
2661
|
borderColor: 'transparent'
|
|
2650
2662
|
}
|
|
@@ -2704,11 +2716,9 @@ var TafFormTextField = function TafFormTextField(_ref) {
|
|
|
2704
2716
|
|
|
2705
2717
|
var _useFormContext = useFormContext(),
|
|
2706
2718
|
control = _useFormContext.control,
|
|
2707
|
-
getValues = _useFormContext.getValues,
|
|
2708
2719
|
setValue = _useFormContext.setValue,
|
|
2709
|
-
errors = _useFormContext.errors;
|
|
2720
|
+
errors = _useFormContext.formState.errors;
|
|
2710
2721
|
|
|
2711
|
-
var inputRef = React__default.useRef(null);
|
|
2712
2722
|
var fieldErrors = getTafErrors(name, errors);
|
|
2713
2723
|
|
|
2714
2724
|
var _React$useState = React__default.useState(null),
|
|
@@ -2717,8 +2727,11 @@ var TafFormTextField = function TafFormTextField(_ref) {
|
|
|
2717
2727
|
setMaxLength = _React$useState2[1];
|
|
2718
2728
|
|
|
2719
2729
|
var onKeyDown = React__default.useCallback(function (event) {
|
|
2720
|
-
var
|
|
2721
|
-
var
|
|
2730
|
+
var target = event.target;
|
|
2731
|
+
var currentValue = target.value,
|
|
2732
|
+
selectionStart = target.selectionStart,
|
|
2733
|
+
selectionEnd = target.selectionEnd;
|
|
2734
|
+
var textSelection = currentValue.substring(selectionStart, selectionEnd);
|
|
2722
2735
|
|
|
2723
2736
|
if (autoComplete && !currentValue.length || textSelection.length && currentValue.length && textSelection === currentValue) {
|
|
2724
2737
|
var pressedKey = event.key.toString().toUpperCase();
|
|
@@ -2732,7 +2745,7 @@ var TafFormTextField = function TafFormTextField(_ref) {
|
|
|
2732
2745
|
event.preventDefault();
|
|
2733
2746
|
}
|
|
2734
2747
|
}
|
|
2735
|
-
}, [name, autoComplete, setValue
|
|
2748
|
+
}, [name, autoComplete, setValue]);
|
|
2736
2749
|
var onChangeField = React__default.useCallback(function (event, callback) {
|
|
2737
2750
|
var valueUppercase = event.currentTarget.value.toUpperCase();
|
|
2738
2751
|
|
|
@@ -2751,28 +2764,24 @@ var TafFormTextField = function TafFormTextField(_ref) {
|
|
|
2751
2764
|
callback();
|
|
2752
2765
|
onBlur();
|
|
2753
2766
|
}, [onBlur]);
|
|
2754
|
-
var
|
|
2755
|
-
var _a;
|
|
2756
|
-
|
|
2757
|
-
inputRef.current.disabled = false;
|
|
2758
|
-
(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
2759
|
-
}, []);
|
|
2767
|
+
var hasError = !!fieldErrors;
|
|
2760
2768
|
return /*#__PURE__*/React__default.createElement(Controller, {
|
|
2761
|
-
render: function render(
|
|
2762
|
-
var
|
|
2769
|
+
render: function render(_ref2) {
|
|
2770
|
+
var field = _ref2.field;
|
|
2771
|
+
var displayValue = formatter ? formatter(field.value) : getDisplayValue(field.value, disabled);
|
|
2763
2772
|
return /*#__PURE__*/React__default.createElement(BaseTextField, {
|
|
2764
2773
|
label: label,
|
|
2765
2774
|
disabled: disabled,
|
|
2766
2775
|
name: name,
|
|
2767
2776
|
value: displayValue,
|
|
2768
|
-
inputRef:
|
|
2777
|
+
inputRef: field.ref,
|
|
2769
2778
|
onChange: function onChange(e) {
|
|
2770
|
-
return onChangeField(e,
|
|
2779
|
+
return onChangeField(e, field.onChange);
|
|
2771
2780
|
},
|
|
2772
2781
|
onKeyDown: onKeyDown,
|
|
2773
|
-
error:
|
|
2782
|
+
error: hasError,
|
|
2774
2783
|
onBlur: function onBlur() {
|
|
2775
|
-
return onBlurField(
|
|
2784
|
+
return onBlurField(field.onBlur);
|
|
2776
2785
|
},
|
|
2777
2786
|
inputProps: {
|
|
2778
2787
|
maxLength: maxLength
|
|
@@ -2783,8 +2792,7 @@ var TafFormTextField = function TafFormTextField(_ref) {
|
|
|
2783
2792
|
name: name,
|
|
2784
2793
|
control: control,
|
|
2785
2794
|
defaultValue: defaultValue,
|
|
2786
|
-
rules: rules
|
|
2787
|
-
onFocus: onFocusField
|
|
2795
|
+
rules: rules
|
|
2788
2796
|
});
|
|
2789
2797
|
};
|
|
2790
2798
|
|
|
@@ -3986,10 +3994,28 @@ var TafForm = /*#__PURE__*/React__default.memo(function (_ref) {
|
|
|
3986
3994
|
formState = _useFormContext.formState,
|
|
3987
3995
|
getValues = _useFormContext.getValues,
|
|
3988
3996
|
setValue = _useFormContext.setValue,
|
|
3989
|
-
reset = _useFormContext.reset;
|
|
3997
|
+
reset = _useFormContext.reset; // added this ignore as the build is failing otherwise on: Type instantiation is excessively deep and possibly infinite.
|
|
3998
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3999
|
+
// @ts-ignore
|
|
4000
|
+
|
|
4001
|
+
|
|
4002
|
+
var _useFieldArray = useFieldArray({
|
|
4003
|
+
control: control,
|
|
4004
|
+
name: 'changeGroups'
|
|
4005
|
+
}),
|
|
4006
|
+
fields = _useFieldArray.fields,
|
|
4007
|
+
insert = _useFieldArray.insert,
|
|
4008
|
+
remove = _useFieldArray.remove,
|
|
4009
|
+
move = _useFieldArray.move;
|
|
3990
4010
|
|
|
3991
|
-
var
|
|
4011
|
+
var _useDragOrder = useDragOrder(trigger, move),
|
|
4012
|
+
onChangeOrder = _useDragOrder.onChangeOrder,
|
|
4013
|
+
onStartDrag = _useDragOrder.onStartDrag,
|
|
4014
|
+
activeDraggingIndex = _useDragOrder.activeDraggingIndex;
|
|
4015
|
+
|
|
4016
|
+
var dirtyFields = formState.dirtyFields,
|
|
3992
4017
|
errors = formState.errors;
|
|
4018
|
+
var isFormDirty = Object.keys(dirtyFields).length > 0;
|
|
3993
4019
|
usePreventBrowserClose(isFormDirty && !isDisabled); // Needed to be able to show a confirmation dialog on closing parent view
|
|
3994
4020
|
|
|
3995
4021
|
React__default.useEffect(function () {
|
|
@@ -4013,7 +4039,10 @@ var TafForm = /*#__PURE__*/React__default.memo(function (_ref) {
|
|
|
4013
4039
|
};
|
|
4014
4040
|
|
|
4015
4041
|
var resetFormValues = function resetFormValues(formData) {
|
|
4016
|
-
|
|
4042
|
+
reset(formData, {
|
|
4043
|
+
keepDirty: false,
|
|
4044
|
+
keepDirtyValues: false
|
|
4045
|
+
});
|
|
4017
4046
|
};
|
|
4018
4047
|
|
|
4019
4048
|
var resetFormState = function resetFormState() {
|
|
@@ -4238,20 +4267,6 @@ var TafForm = /*#__PURE__*/React__default.memo(function (_ref) {
|
|
|
4238
4267
|
}
|
|
4239
4268
|
};
|
|
4240
4269
|
|
|
4241
|
-
var _useFieldArray = useFieldArray({
|
|
4242
|
-
control: control,
|
|
4243
|
-
name: 'changeGroups'
|
|
4244
|
-
}),
|
|
4245
|
-
fields = _useFieldArray.fields,
|
|
4246
|
-
insert = _useFieldArray.insert,
|
|
4247
|
-
remove = _useFieldArray.remove,
|
|
4248
|
-
move = _useFieldArray.move;
|
|
4249
|
-
|
|
4250
|
-
var _useDragOrder = useDragOrder(trigger, move),
|
|
4251
|
-
onChangeOrder = _useDragOrder.onChangeOrder,
|
|
4252
|
-
onStartDrag = _useDragOrder.onStartDrag,
|
|
4253
|
-
activeDraggingIndex = _useDragOrder.activeDraggingIndex;
|
|
4254
|
-
|
|
4255
4270
|
var onRemoverow = function onRemoverow(index) {
|
|
4256
4271
|
confirmDialog({
|
|
4257
4272
|
title: 'Delete row',
|
|
@@ -4285,7 +4300,9 @@ var TafForm = /*#__PURE__*/React__default.memo(function (_ref) {
|
|
|
4285
4300
|
var rowIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
|
|
4286
4301
|
var above = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
4287
4302
|
var newRowIndex = above ? rowIndex : rowIndex + 1;
|
|
4288
|
-
insert(newRowIndex, emptyChangegroup,
|
|
4303
|
+
insert(newRowIndex, emptyChangegroup, {
|
|
4304
|
+
shouldFocus: false
|
|
4305
|
+
});
|
|
4289
4306
|
setFocusAndValidate(newRowIndex);
|
|
4290
4307
|
};
|
|
4291
4308
|
|
|
@@ -4299,7 +4316,9 @@ var TafForm = /*#__PURE__*/React__default.memo(function (_ref) {
|
|
|
4299
4316
|
}).then(function () {
|
|
4300
4317
|
if (isChangeGroup) {
|
|
4301
4318
|
remove(rowIndex);
|
|
4302
|
-
insert(rowIndex, emptyChangegroup,
|
|
4319
|
+
insert(rowIndex, emptyChangegroup, {
|
|
4320
|
+
shouldFocus: false
|
|
4321
|
+
});
|
|
4303
4322
|
} else {
|
|
4304
4323
|
var baseForecastFields = getFieldNames(false, -1);
|
|
4305
4324
|
setValue(baseForecastFields.wind, '');
|
|
@@ -5210,7 +5229,9 @@ var TopTabs = function TopTabs(_ref) {
|
|
|
5210
5229
|
} : _ref$tafFromBackend;
|
|
5211
5230
|
|
|
5212
5231
|
var _useFormContext = useFormContext(),
|
|
5213
|
-
|
|
5232
|
+
dirtyFields = _useFormContext.formState.dirtyFields;
|
|
5233
|
+
|
|
5234
|
+
var isDirty = Object.keys(dirtyFields).length > 0;
|
|
5214
5235
|
|
|
5215
5236
|
if (!tafFromBackend) {
|
|
5216
5237
|
return null;
|
|
@@ -5278,8 +5299,9 @@ var LocationTabs = function LocationTabs(_ref) {
|
|
|
5278
5299
|
timeSlot = _ref.timeSlot;
|
|
5279
5300
|
|
|
5280
5301
|
var _useFormContext = useFormContext(),
|
|
5281
|
-
|
|
5302
|
+
dirtyFields = _useFormContext.formState.dirtyFields;
|
|
5282
5303
|
|
|
5304
|
+
var isDirty = Object.keys(dirtyFields).length > 0;
|
|
5283
5305
|
return /*#__PURE__*/React.createElement(MenuList, {
|
|
5284
5306
|
"data-testid": "location-tabs",
|
|
5285
5307
|
sx: {
|
package/index.umd.js
CHANGED
|
@@ -2047,10 +2047,17 @@
|
|
|
2047
2047
|
|
|
2048
2048
|
case 'cavOK':
|
|
2049
2049
|
{
|
|
2050
|
-
// Assume if cavOK field set to true - no visibility field, otherwise return the original list containing the visibility
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2050
|
+
// Assume if cavOK field set to true - no visibility field, otherwise return the original list containing the visibility and remove cavOK
|
|
2051
|
+
list.cavOK;
|
|
2052
|
+
var formData = __rest(list, ["cavOK"]);
|
|
2053
|
+
|
|
2054
|
+
if (list[key]) {
|
|
2055
|
+
return __assign(__assign({}, formData), {
|
|
2056
|
+
visibility: formatVisibilityToString(list[key])
|
|
2057
|
+
});
|
|
2058
|
+
}
|
|
2059
|
+
|
|
2060
|
+
return formData;
|
|
2054
2061
|
}
|
|
2055
2062
|
|
|
2056
2063
|
case 'cloud':
|
|
@@ -2569,15 +2576,17 @@
|
|
|
2569
2576
|
});
|
|
2570
2577
|
|
|
2571
2578
|
var formattedChangeGroups = ((_b = taf.changeGroups) === null || _b === void 0 ? void 0 : _b.map(formatFormValues)) || [];
|
|
2572
|
-
var changeGroups = formattedChangeGroups.map(createChangeGroup);
|
|
2573
|
-
|
|
2579
|
+
var changeGroups = formattedChangeGroups.map(createChangeGroup); // Add empty changegroup if set tot true
|
|
2580
|
+
|
|
2581
|
+
if (addEmptyChangeGroup) {
|
|
2582
|
+
changeGroups.push(emptyChangegroup);
|
|
2583
|
+
}
|
|
2584
|
+
|
|
2585
|
+
return __assign(__assign({}, taf), (_a = {
|
|
2574
2586
|
messageType: getMessageType(taf, tafAction),
|
|
2575
|
-
baseForecast: baseForecast
|
|
2576
|
-
}), changeGroups.length && {
|
|
2587
|
+
baseForecast: baseForecast,
|
|
2577
2588
|
changeGroups: changeGroups
|
|
2578
|
-
}
|
|
2579
|
-
changeGroups: [emptyChangegroup]
|
|
2580
|
-
}), (_a = {}, _a[shared.HIDDEN_INPUT_HELPER_IS_DRAFT] = true, _a));
|
|
2589
|
+
}, _a[shared.HIDDEN_INPUT_HELPER_IS_DRAFT] = true, _a));
|
|
2581
2590
|
};
|
|
2582
2591
|
var getIsFormDefaultDisabled = function getIsFormDefaultDisabled(status) {
|
|
2583
2592
|
return !(status === 'NEW' || status === 'DRAFT' || status === 'DRAFT_AMENDED' || status === 'DRAFT_CORRECTED');
|
|
@@ -2653,6 +2662,9 @@
|
|
|
2653
2662
|
},
|
|
2654
2663
|
// root
|
|
2655
2664
|
'&': {
|
|
2665
|
+
'.Mui-error.MuiFilledInput-root': {
|
|
2666
|
+
backgroundColor: 'geowebColors.captions.captionErrorBackground.rgba'
|
|
2667
|
+
},
|
|
2656
2668
|
'.Mui-disabled:before': {
|
|
2657
2669
|
borderColor: 'transparent'
|
|
2658
2670
|
}
|
|
@@ -2712,11 +2724,9 @@
|
|
|
2712
2724
|
|
|
2713
2725
|
var _k = reactHookForm.useFormContext(),
|
|
2714
2726
|
control = _k.control,
|
|
2715
|
-
getValues = _k.getValues,
|
|
2716
2727
|
setValue = _k.setValue,
|
|
2717
|
-
errors = _k.errors;
|
|
2728
|
+
errors = _k.formState.errors;
|
|
2718
2729
|
|
|
2719
|
-
var inputRef = React__default["default"].useRef(null);
|
|
2720
2730
|
var fieldErrors = getTafErrors(name, errors);
|
|
2721
2731
|
|
|
2722
2732
|
var _l = __read(React__default["default"].useState(null), 2),
|
|
@@ -2724,8 +2734,11 @@
|
|
|
2724
2734
|
setMaxLength = _l[1];
|
|
2725
2735
|
|
|
2726
2736
|
var onKeyDown = React__default["default"].useCallback(function (event) {
|
|
2727
|
-
var
|
|
2728
|
-
var
|
|
2737
|
+
var target = event.target;
|
|
2738
|
+
var currentValue = target.value,
|
|
2739
|
+
selectionStart = target.selectionStart,
|
|
2740
|
+
selectionEnd = target.selectionEnd;
|
|
2741
|
+
var textSelection = currentValue.substring(selectionStart, selectionEnd);
|
|
2729
2742
|
|
|
2730
2743
|
if (autoComplete && !currentValue.length || textSelection.length && currentValue.length && textSelection === currentValue) {
|
|
2731
2744
|
var pressedKey_1 = event.key.toString().toUpperCase();
|
|
@@ -2739,7 +2752,7 @@
|
|
|
2739
2752
|
event.preventDefault();
|
|
2740
2753
|
}
|
|
2741
2754
|
}
|
|
2742
|
-
}, [name, autoComplete, setValue
|
|
2755
|
+
}, [name, autoComplete, setValue]);
|
|
2743
2756
|
var onChangeField = React__default["default"].useCallback(function (event, callback) {
|
|
2744
2757
|
var valueUppercase = event.currentTarget.value.toUpperCase();
|
|
2745
2758
|
|
|
@@ -2758,28 +2771,24 @@
|
|
|
2758
2771
|
callback();
|
|
2759
2772
|
onBlur();
|
|
2760
2773
|
}, [onBlur]);
|
|
2761
|
-
var
|
|
2762
|
-
var _a;
|
|
2763
|
-
|
|
2764
|
-
inputRef.current.disabled = false;
|
|
2765
|
-
(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
2766
|
-
}, []);
|
|
2774
|
+
var hasError = !!fieldErrors;
|
|
2767
2775
|
return /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
|
|
2768
|
-
render: function render(
|
|
2769
|
-
var
|
|
2776
|
+
render: function render(_a) {
|
|
2777
|
+
var field = _a.field;
|
|
2778
|
+
var displayValue = formatter ? formatter(field.value) : getDisplayValue(field.value, disabled);
|
|
2770
2779
|
return /*#__PURE__*/React__default["default"].createElement(BaseTextField, {
|
|
2771
2780
|
label: label,
|
|
2772
2781
|
disabled: disabled,
|
|
2773
2782
|
name: name,
|
|
2774
2783
|
value: displayValue,
|
|
2775
|
-
inputRef:
|
|
2784
|
+
inputRef: field.ref,
|
|
2776
2785
|
onChange: function onChange(e) {
|
|
2777
|
-
return onChangeField(e,
|
|
2786
|
+
return onChangeField(e, field.onChange);
|
|
2778
2787
|
},
|
|
2779
2788
|
onKeyDown: onKeyDown,
|
|
2780
|
-
error:
|
|
2789
|
+
error: hasError,
|
|
2781
2790
|
onBlur: function onBlur() {
|
|
2782
|
-
return onBlurField(
|
|
2791
|
+
return onBlurField(field.onBlur);
|
|
2783
2792
|
},
|
|
2784
2793
|
inputProps: {
|
|
2785
2794
|
maxLength: maxLength
|
|
@@ -2790,8 +2799,7 @@
|
|
|
2790
2799
|
name: name,
|
|
2791
2800
|
control: control,
|
|
2792
2801
|
defaultValue: defaultValue,
|
|
2793
|
-
rules: rules
|
|
2794
|
-
onFocus: onFocusField
|
|
2802
|
+
rules: rules
|
|
2795
2803
|
});
|
|
2796
2804
|
};
|
|
2797
2805
|
|
|
@@ -3988,10 +3996,28 @@
|
|
|
3988
3996
|
formState = _l.formState,
|
|
3989
3997
|
getValues = _l.getValues,
|
|
3990
3998
|
setValue = _l.setValue,
|
|
3991
|
-
reset = _l.reset;
|
|
3999
|
+
reset = _l.reset; // added this ignore as the build is failing otherwise on: Type instantiation is excessively deep and possibly infinite.
|
|
4000
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
4001
|
+
// @ts-ignore
|
|
4002
|
+
|
|
4003
|
+
|
|
4004
|
+
var _m = reactHookForm.useFieldArray({
|
|
4005
|
+
control: control,
|
|
4006
|
+
name: 'changeGroups'
|
|
4007
|
+
}),
|
|
4008
|
+
fields = _m.fields,
|
|
4009
|
+
insert = _m.insert,
|
|
4010
|
+
remove = _m.remove,
|
|
4011
|
+
move = _m.move;
|
|
3992
4012
|
|
|
3993
|
-
var
|
|
4013
|
+
var _o = useDragOrder(trigger, move),
|
|
4014
|
+
onChangeOrder = _o.onChangeOrder,
|
|
4015
|
+
onStartDrag = _o.onStartDrag,
|
|
4016
|
+
activeDraggingIndex = _o.activeDraggingIndex;
|
|
4017
|
+
|
|
4018
|
+
var dirtyFields = formState.dirtyFields,
|
|
3994
4019
|
errors = formState.errors;
|
|
4020
|
+
var isFormDirty = Object.keys(dirtyFields).length > 0;
|
|
3995
4021
|
shared.usePreventBrowserClose(isFormDirty && !isDisabled); // Needed to be able to show a confirmation dialog on closing parent view
|
|
3996
4022
|
|
|
3997
4023
|
React__default["default"].useEffect(function () {
|
|
@@ -4015,7 +4041,10 @@
|
|
|
4015
4041
|
};
|
|
4016
4042
|
|
|
4017
4043
|
var resetFormValues = function resetFormValues(formData) {
|
|
4018
|
-
|
|
4044
|
+
reset(formData, {
|
|
4045
|
+
keepDirty: false,
|
|
4046
|
+
keepDirtyValues: false
|
|
4047
|
+
});
|
|
4019
4048
|
};
|
|
4020
4049
|
|
|
4021
4050
|
var resetFormState = function resetFormState(action, resetDisabled, tafToReset) {
|
|
@@ -4246,20 +4275,6 @@
|
|
|
4246
4275
|
}
|
|
4247
4276
|
};
|
|
4248
4277
|
|
|
4249
|
-
var _m = reactHookForm.useFieldArray({
|
|
4250
|
-
control: control,
|
|
4251
|
-
name: 'changeGroups'
|
|
4252
|
-
}),
|
|
4253
|
-
fields = _m.fields,
|
|
4254
|
-
insert = _m.insert,
|
|
4255
|
-
remove = _m.remove,
|
|
4256
|
-
move = _m.move;
|
|
4257
|
-
|
|
4258
|
-
var _o = useDragOrder(trigger, move),
|
|
4259
|
-
onChangeOrder = _o.onChangeOrder,
|
|
4260
|
-
onStartDrag = _o.onStartDrag,
|
|
4261
|
-
activeDraggingIndex = _o.activeDraggingIndex;
|
|
4262
|
-
|
|
4263
4278
|
var onRemoverow = function onRemoverow(index) {
|
|
4264
4279
|
confirmDialog({
|
|
4265
4280
|
title: 'Delete row',
|
|
@@ -4299,7 +4314,9 @@
|
|
|
4299
4314
|
}
|
|
4300
4315
|
|
|
4301
4316
|
var newRowIndex = above ? rowIndex : rowIndex + 1;
|
|
4302
|
-
insert(newRowIndex, emptyChangegroup,
|
|
4317
|
+
insert(newRowIndex, emptyChangegroup, {
|
|
4318
|
+
shouldFocus: false
|
|
4319
|
+
});
|
|
4303
4320
|
setFocusAndValidate(newRowIndex);
|
|
4304
4321
|
};
|
|
4305
4322
|
|
|
@@ -4319,7 +4336,9 @@
|
|
|
4319
4336
|
}).then(function () {
|
|
4320
4337
|
if (isChangeGroup) {
|
|
4321
4338
|
remove(rowIndex);
|
|
4322
|
-
insert(rowIndex, emptyChangegroup,
|
|
4339
|
+
insert(rowIndex, emptyChangegroup, {
|
|
4340
|
+
shouldFocus: false
|
|
4341
|
+
});
|
|
4323
4342
|
} else {
|
|
4324
4343
|
var baseForecastFields = getFieldNames(false, -1);
|
|
4325
4344
|
setValue(baseForecastFields.wind, '');
|
|
@@ -5216,7 +5235,8 @@
|
|
|
5216
5235
|
location: 'EHAM'
|
|
5217
5236
|
}
|
|
5218
5237
|
} : _c;
|
|
5219
|
-
var
|
|
5238
|
+
var dirtyFields = reactHookForm.useFormContext().formState.dirtyFields;
|
|
5239
|
+
var isDirty = Object.keys(dirtyFields).length > 0;
|
|
5220
5240
|
|
|
5221
5241
|
if (!tafFromBackend) {
|
|
5222
5242
|
return null;
|
|
@@ -5282,7 +5302,8 @@
|
|
|
5282
5302
|
_c = _a.onChangeTab,
|
|
5283
5303
|
onChangeTab = _c === void 0 ? function () {} : _c,
|
|
5284
5304
|
timeSlot = _a.timeSlot;
|
|
5285
|
-
var
|
|
5305
|
+
var dirtyFields = reactHookForm.useFormContext().formState.dirtyFields;
|
|
5306
|
+
var isDirty = Object.keys(dirtyFields).length > 0;
|
|
5286
5307
|
return /*#__PURE__*/React__namespace.createElement(material.MenuList, {
|
|
5287
5308
|
"data-testid": "location-tabs",
|
|
5288
5309
|
sx: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { FieldErrors } from 'react-hook-form';
|
|
3
3
|
import { IssuesPanePosition } from './types';
|
|
4
4
|
interface IssuesButtonProps {
|
|
5
|
-
errors?:
|
|
5
|
+
errors?: FieldErrors;
|
|
6
6
|
isIssuesPaneOpen?: boolean;
|
|
7
7
|
setIsIssuesPaneOpen?: (isOpen: boolean, position?: IssuesPanePosition) => void;
|
|
8
8
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { FieldError } from 'react-hook-form';
|
|
1
|
+
import { FieldError, FieldErrors } from 'react-hook-form';
|
|
2
2
|
import { CustomErrorField } from './types';
|
|
3
3
|
export declare const getCustomError: (error: FieldError, isChangeGroup: boolean, rowIndex: number) => CustomErrorField;
|
|
4
4
|
export declare const getIssuesLabel: (sumOfErrors: number) => string;
|
|
5
5
|
export declare const getErrorValues: (fieldErrors: FieldError, isChangeGroup?: boolean, rowIndex?: number) => FieldError[];
|
|
6
6
|
export declare const filterDuplicateErrors: (errors: CustomErrorField[]) => CustomErrorField[];
|
|
7
|
-
export declare const getErrors: (errors:
|
|
7
|
+
export declare const getErrors: (errors: FieldErrors) => CustomErrorField[];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { UseFormOptions } from 'react-hook-form';
|
|
3
2
|
import { Theme } from '@mui/material';
|
|
4
3
|
import { Store } from '@reduxjs/toolkit';
|
|
4
|
+
import { UseFormProps } from 'react-hook-form';
|
|
5
5
|
import { TafApi } from '../../utils/api';
|
|
6
6
|
export interface TafThemeApiProviderProps {
|
|
7
7
|
createApiFunc?: () => TafApi;
|
|
@@ -12,7 +12,7 @@ export interface TafThemeApiProviderProps {
|
|
|
12
12
|
export declare const TafThemeApiProvider: React.FC<TafThemeApiProviderProps>;
|
|
13
13
|
interface TafThemeFormProviderProps {
|
|
14
14
|
children: React.ReactNode;
|
|
15
|
-
options?:
|
|
15
|
+
options?: UseFormProps;
|
|
16
16
|
theme?: Theme;
|
|
17
17
|
}
|
|
18
18
|
export declare const TafThemeFormProvider: React.FC<TafThemeFormProviderProps>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { GridProps } from '@mui/material';
|
|
3
|
-
import {
|
|
3
|
+
import { FieldValues } from 'react-hook-form';
|
|
4
4
|
export interface TafFormRowProps extends GridProps {
|
|
5
5
|
isNotRequiredForAction: (value: string) => boolean | string;
|
|
6
6
|
isChangeGroup?: boolean;
|
|
@@ -10,7 +10,7 @@ export interface TafFormRowProps extends GridProps {
|
|
|
10
10
|
onAddChangeGroupBelow?: (index: number) => void;
|
|
11
11
|
onAddChangeGroupAbove?: (index: number) => void;
|
|
12
12
|
onClearRow?: (index: number) => void;
|
|
13
|
-
field?:
|
|
13
|
+
field?: FieldValues;
|
|
14
14
|
dragHandle?: React.ReactElement;
|
|
15
15
|
}
|
|
16
16
|
export interface FieldNames {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeoweb/taf",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.9.1",
|
|
4
4
|
"description": "GeoWeb TAF library for the opengeoweb project",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -12,27 +12,27 @@
|
|
|
12
12
|
"typings": "./index.d.ts",
|
|
13
13
|
"dependencies": {},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"@opengeoweb/core": "4.
|
|
15
|
+
"@opengeoweb/core": "4.9.1",
|
|
16
16
|
"react": "^17.0.2",
|
|
17
|
-
"@opengeoweb/
|
|
17
|
+
"@opengeoweb/shared": "4.9.1",
|
|
18
18
|
"@mui/material": "^5.10.8",
|
|
19
|
-
"
|
|
20
|
-
"react-redux": "^8.0.4",
|
|
21
|
-
"@opengeoweb/webmap": "4.7.1",
|
|
22
|
-
"throttle-debounce": "^3.0.1",
|
|
23
|
-
"proj4": "^2.6.2",
|
|
24
|
-
"axios": "^0.25.0",
|
|
25
|
-
"@opengeoweb/api": "4.7.1",
|
|
26
|
-
"@opengeoweb/shared": "4.7.1",
|
|
19
|
+
"@opengeoweb/theme": "4.9.1",
|
|
27
20
|
"react-draggable": "^4.4.5",
|
|
28
21
|
"re-resizable": "^6.9.0",
|
|
29
22
|
"@redux-eggs/core": "^2.2.0",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
23
|
+
"react-redux": "^8.0.4",
|
|
24
|
+
"@opengeoweb/form-fields": "4.9.1",
|
|
25
|
+
"react-hook-form": "^7.41.5",
|
|
26
|
+
"moment": "^2.29.0",
|
|
32
27
|
"moment-timezone": "^0.5.31",
|
|
33
28
|
"@mui/x-date-pickers": "^5.0.4",
|
|
34
29
|
"lodash": "^4.17.20",
|
|
30
|
+
"axios": "^0.25.0",
|
|
35
31
|
"date-fns": "^2.29.3",
|
|
32
|
+
"@opengeoweb/webmap": "4.9.1",
|
|
33
|
+
"throttle-debounce": "^3.0.1",
|
|
34
|
+
"proj4": "^2.6.2",
|
|
35
|
+
"@opengeoweb/api": "4.9.1",
|
|
36
36
|
"react-intl": "^5.17.5",
|
|
37
37
|
"react-sortablejs": "^6.1.4",
|
|
38
38
|
"sortablejs": "^1.15.0",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"@redux-eggs/redux-toolkit": "^2.2.0",
|
|
47
47
|
"@redux-eggs/saga-extension": "^2.2.0",
|
|
48
48
|
"react-dom": "^17.0.2",
|
|
49
|
-
"@opengeoweb/authentication": "4.
|
|
49
|
+
"@opengeoweb/authentication": "4.9.1",
|
|
50
50
|
"react-router-dom": "^6.4.2",
|
|
51
51
|
"query-string": "^6.13.7"
|
|
52
52
|
}
|