@opengeoweb/taf 4.7.1 → 4.8.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 +65 -45
- package/index.umd.js +64 -45
- 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':
|
|
@@ -2645,6 +2652,9 @@ var textFieldStyle = function textFieldStyle(theme) {
|
|
|
2645
2652
|
},
|
|
2646
2653
|
// root
|
|
2647
2654
|
'&': {
|
|
2655
|
+
'.Mui-error.MuiFilledInput-root': {
|
|
2656
|
+
backgroundColor: 'geowebColors.captions.captionErrorBackground.rgba'
|
|
2657
|
+
},
|
|
2648
2658
|
'.Mui-disabled:before': {
|
|
2649
2659
|
borderColor: 'transparent'
|
|
2650
2660
|
}
|
|
@@ -2704,11 +2714,9 @@ var TafFormTextField = function TafFormTextField(_ref) {
|
|
|
2704
2714
|
|
|
2705
2715
|
var _useFormContext = useFormContext(),
|
|
2706
2716
|
control = _useFormContext.control,
|
|
2707
|
-
getValues = _useFormContext.getValues,
|
|
2708
2717
|
setValue = _useFormContext.setValue,
|
|
2709
|
-
errors = _useFormContext.errors;
|
|
2718
|
+
errors = _useFormContext.formState.errors;
|
|
2710
2719
|
|
|
2711
|
-
var inputRef = React__default.useRef(null);
|
|
2712
2720
|
var fieldErrors = getTafErrors(name, errors);
|
|
2713
2721
|
|
|
2714
2722
|
var _React$useState = React__default.useState(null),
|
|
@@ -2717,8 +2725,11 @@ var TafFormTextField = function TafFormTextField(_ref) {
|
|
|
2717
2725
|
setMaxLength = _React$useState2[1];
|
|
2718
2726
|
|
|
2719
2727
|
var onKeyDown = React__default.useCallback(function (event) {
|
|
2720
|
-
var
|
|
2721
|
-
var
|
|
2728
|
+
var target = event.target;
|
|
2729
|
+
var currentValue = target.value,
|
|
2730
|
+
selectionStart = target.selectionStart,
|
|
2731
|
+
selectionEnd = target.selectionEnd;
|
|
2732
|
+
var textSelection = currentValue.substring(selectionStart, selectionEnd);
|
|
2722
2733
|
|
|
2723
2734
|
if (autoComplete && !currentValue.length || textSelection.length && currentValue.length && textSelection === currentValue) {
|
|
2724
2735
|
var pressedKey = event.key.toString().toUpperCase();
|
|
@@ -2732,7 +2743,7 @@ var TafFormTextField = function TafFormTextField(_ref) {
|
|
|
2732
2743
|
event.preventDefault();
|
|
2733
2744
|
}
|
|
2734
2745
|
}
|
|
2735
|
-
}, [name, autoComplete, setValue
|
|
2746
|
+
}, [name, autoComplete, setValue]);
|
|
2736
2747
|
var onChangeField = React__default.useCallback(function (event, callback) {
|
|
2737
2748
|
var valueUppercase = event.currentTarget.value.toUpperCase();
|
|
2738
2749
|
|
|
@@ -2751,28 +2762,24 @@ var TafFormTextField = function TafFormTextField(_ref) {
|
|
|
2751
2762
|
callback();
|
|
2752
2763
|
onBlur();
|
|
2753
2764
|
}, [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
|
-
}, []);
|
|
2765
|
+
var hasError = !!fieldErrors;
|
|
2760
2766
|
return /*#__PURE__*/React__default.createElement(Controller, {
|
|
2761
|
-
render: function render(
|
|
2762
|
-
var
|
|
2767
|
+
render: function render(_ref2) {
|
|
2768
|
+
var field = _ref2.field;
|
|
2769
|
+
var displayValue = formatter ? formatter(field.value) : getDisplayValue(field.value, disabled);
|
|
2763
2770
|
return /*#__PURE__*/React__default.createElement(BaseTextField, {
|
|
2764
2771
|
label: label,
|
|
2765
2772
|
disabled: disabled,
|
|
2766
2773
|
name: name,
|
|
2767
2774
|
value: displayValue,
|
|
2768
|
-
inputRef:
|
|
2775
|
+
inputRef: field.ref,
|
|
2769
2776
|
onChange: function onChange(e) {
|
|
2770
|
-
return onChangeField(e,
|
|
2777
|
+
return onChangeField(e, field.onChange);
|
|
2771
2778
|
},
|
|
2772
2779
|
onKeyDown: onKeyDown,
|
|
2773
|
-
error:
|
|
2780
|
+
error: hasError,
|
|
2774
2781
|
onBlur: function onBlur() {
|
|
2775
|
-
return onBlurField(
|
|
2782
|
+
return onBlurField(field.onBlur);
|
|
2776
2783
|
},
|
|
2777
2784
|
inputProps: {
|
|
2778
2785
|
maxLength: maxLength
|
|
@@ -2783,8 +2790,7 @@ var TafFormTextField = function TafFormTextField(_ref) {
|
|
|
2783
2790
|
name: name,
|
|
2784
2791
|
control: control,
|
|
2785
2792
|
defaultValue: defaultValue,
|
|
2786
|
-
rules: rules
|
|
2787
|
-
onFocus: onFocusField
|
|
2793
|
+
rules: rules
|
|
2788
2794
|
});
|
|
2789
2795
|
};
|
|
2790
2796
|
|
|
@@ -3986,10 +3992,28 @@ var TafForm = /*#__PURE__*/React__default.memo(function (_ref) {
|
|
|
3986
3992
|
formState = _useFormContext.formState,
|
|
3987
3993
|
getValues = _useFormContext.getValues,
|
|
3988
3994
|
setValue = _useFormContext.setValue,
|
|
3989
|
-
reset = _useFormContext.reset;
|
|
3995
|
+
reset = _useFormContext.reset; // added this ignore as the build is failing otherwise on: Type instantiation is excessively deep and possibly infinite.
|
|
3996
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3997
|
+
// @ts-ignore
|
|
3998
|
+
|
|
3999
|
+
|
|
4000
|
+
var _useFieldArray = useFieldArray({
|
|
4001
|
+
control: control,
|
|
4002
|
+
name: 'changeGroups'
|
|
4003
|
+
}),
|
|
4004
|
+
fields = _useFieldArray.fields,
|
|
4005
|
+
insert = _useFieldArray.insert,
|
|
4006
|
+
remove = _useFieldArray.remove,
|
|
4007
|
+
move = _useFieldArray.move;
|
|
4008
|
+
|
|
4009
|
+
var _useDragOrder = useDragOrder(trigger, move),
|
|
4010
|
+
onChangeOrder = _useDragOrder.onChangeOrder,
|
|
4011
|
+
onStartDrag = _useDragOrder.onStartDrag,
|
|
4012
|
+
activeDraggingIndex = _useDragOrder.activeDraggingIndex;
|
|
3990
4013
|
|
|
3991
|
-
var
|
|
4014
|
+
var dirtyFields = formState.dirtyFields,
|
|
3992
4015
|
errors = formState.errors;
|
|
4016
|
+
var isFormDirty = Object.keys(dirtyFields).length > 0;
|
|
3993
4017
|
usePreventBrowserClose(isFormDirty && !isDisabled); // Needed to be able to show a confirmation dialog on closing parent view
|
|
3994
4018
|
|
|
3995
4019
|
React__default.useEffect(function () {
|
|
@@ -4013,7 +4037,10 @@ var TafForm = /*#__PURE__*/React__default.memo(function (_ref) {
|
|
|
4013
4037
|
};
|
|
4014
4038
|
|
|
4015
4039
|
var resetFormValues = function resetFormValues(formData) {
|
|
4016
|
-
|
|
4040
|
+
reset(formData, {
|
|
4041
|
+
keepDirty: false,
|
|
4042
|
+
keepDirtyValues: false
|
|
4043
|
+
});
|
|
4017
4044
|
};
|
|
4018
4045
|
|
|
4019
4046
|
var resetFormState = function resetFormState() {
|
|
@@ -4238,20 +4265,6 @@ var TafForm = /*#__PURE__*/React__default.memo(function (_ref) {
|
|
|
4238
4265
|
}
|
|
4239
4266
|
};
|
|
4240
4267
|
|
|
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
4268
|
var onRemoverow = function onRemoverow(index) {
|
|
4256
4269
|
confirmDialog({
|
|
4257
4270
|
title: 'Delete row',
|
|
@@ -4285,7 +4298,9 @@ var TafForm = /*#__PURE__*/React__default.memo(function (_ref) {
|
|
|
4285
4298
|
var rowIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
|
|
4286
4299
|
var above = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
4287
4300
|
var newRowIndex = above ? rowIndex : rowIndex + 1;
|
|
4288
|
-
insert(newRowIndex, emptyChangegroup,
|
|
4301
|
+
insert(newRowIndex, emptyChangegroup, {
|
|
4302
|
+
shouldFocus: false
|
|
4303
|
+
});
|
|
4289
4304
|
setFocusAndValidate(newRowIndex);
|
|
4290
4305
|
};
|
|
4291
4306
|
|
|
@@ -4299,7 +4314,9 @@ var TafForm = /*#__PURE__*/React__default.memo(function (_ref) {
|
|
|
4299
4314
|
}).then(function () {
|
|
4300
4315
|
if (isChangeGroup) {
|
|
4301
4316
|
remove(rowIndex);
|
|
4302
|
-
insert(rowIndex, emptyChangegroup,
|
|
4317
|
+
insert(rowIndex, emptyChangegroup, {
|
|
4318
|
+
shouldFocus: false
|
|
4319
|
+
});
|
|
4303
4320
|
} else {
|
|
4304
4321
|
var baseForecastFields = getFieldNames(false, -1);
|
|
4305
4322
|
setValue(baseForecastFields.wind, '');
|
|
@@ -5210,7 +5227,9 @@ var TopTabs = function TopTabs(_ref) {
|
|
|
5210
5227
|
} : _ref$tafFromBackend;
|
|
5211
5228
|
|
|
5212
5229
|
var _useFormContext = useFormContext(),
|
|
5213
|
-
|
|
5230
|
+
dirtyFields = _useFormContext.formState.dirtyFields;
|
|
5231
|
+
|
|
5232
|
+
var isDirty = Object.keys(dirtyFields).length > 0;
|
|
5214
5233
|
|
|
5215
5234
|
if (!tafFromBackend) {
|
|
5216
5235
|
return null;
|
|
@@ -5278,8 +5297,9 @@ var LocationTabs = function LocationTabs(_ref) {
|
|
|
5278
5297
|
timeSlot = _ref.timeSlot;
|
|
5279
5298
|
|
|
5280
5299
|
var _useFormContext = useFormContext(),
|
|
5281
|
-
|
|
5300
|
+
dirtyFields = _useFormContext.formState.dirtyFields;
|
|
5282
5301
|
|
|
5302
|
+
var isDirty = Object.keys(dirtyFields).length > 0;
|
|
5283
5303
|
return /*#__PURE__*/React.createElement(MenuList, {
|
|
5284
5304
|
"data-testid": "location-tabs",
|
|
5285
5305
|
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':
|
|
@@ -2653,6 +2660,9 @@
|
|
|
2653
2660
|
},
|
|
2654
2661
|
// root
|
|
2655
2662
|
'&': {
|
|
2663
|
+
'.Mui-error.MuiFilledInput-root': {
|
|
2664
|
+
backgroundColor: 'geowebColors.captions.captionErrorBackground.rgba'
|
|
2665
|
+
},
|
|
2656
2666
|
'.Mui-disabled:before': {
|
|
2657
2667
|
borderColor: 'transparent'
|
|
2658
2668
|
}
|
|
@@ -2712,11 +2722,9 @@
|
|
|
2712
2722
|
|
|
2713
2723
|
var _k = reactHookForm.useFormContext(),
|
|
2714
2724
|
control = _k.control,
|
|
2715
|
-
getValues = _k.getValues,
|
|
2716
2725
|
setValue = _k.setValue,
|
|
2717
|
-
errors = _k.errors;
|
|
2726
|
+
errors = _k.formState.errors;
|
|
2718
2727
|
|
|
2719
|
-
var inputRef = React__default["default"].useRef(null);
|
|
2720
2728
|
var fieldErrors = getTafErrors(name, errors);
|
|
2721
2729
|
|
|
2722
2730
|
var _l = __read(React__default["default"].useState(null), 2),
|
|
@@ -2724,8 +2732,11 @@
|
|
|
2724
2732
|
setMaxLength = _l[1];
|
|
2725
2733
|
|
|
2726
2734
|
var onKeyDown = React__default["default"].useCallback(function (event) {
|
|
2727
|
-
var
|
|
2728
|
-
var
|
|
2735
|
+
var target = event.target;
|
|
2736
|
+
var currentValue = target.value,
|
|
2737
|
+
selectionStart = target.selectionStart,
|
|
2738
|
+
selectionEnd = target.selectionEnd;
|
|
2739
|
+
var textSelection = currentValue.substring(selectionStart, selectionEnd);
|
|
2729
2740
|
|
|
2730
2741
|
if (autoComplete && !currentValue.length || textSelection.length && currentValue.length && textSelection === currentValue) {
|
|
2731
2742
|
var pressedKey_1 = event.key.toString().toUpperCase();
|
|
@@ -2739,7 +2750,7 @@
|
|
|
2739
2750
|
event.preventDefault();
|
|
2740
2751
|
}
|
|
2741
2752
|
}
|
|
2742
|
-
}, [name, autoComplete, setValue
|
|
2753
|
+
}, [name, autoComplete, setValue]);
|
|
2743
2754
|
var onChangeField = React__default["default"].useCallback(function (event, callback) {
|
|
2744
2755
|
var valueUppercase = event.currentTarget.value.toUpperCase();
|
|
2745
2756
|
|
|
@@ -2758,28 +2769,24 @@
|
|
|
2758
2769
|
callback();
|
|
2759
2770
|
onBlur();
|
|
2760
2771
|
}, [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
|
-
}, []);
|
|
2772
|
+
var hasError = !!fieldErrors;
|
|
2767
2773
|
return /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
|
|
2768
|
-
render: function render(
|
|
2769
|
-
var
|
|
2774
|
+
render: function render(_a) {
|
|
2775
|
+
var field = _a.field;
|
|
2776
|
+
var displayValue = formatter ? formatter(field.value) : getDisplayValue(field.value, disabled);
|
|
2770
2777
|
return /*#__PURE__*/React__default["default"].createElement(BaseTextField, {
|
|
2771
2778
|
label: label,
|
|
2772
2779
|
disabled: disabled,
|
|
2773
2780
|
name: name,
|
|
2774
2781
|
value: displayValue,
|
|
2775
|
-
inputRef:
|
|
2782
|
+
inputRef: field.ref,
|
|
2776
2783
|
onChange: function onChange(e) {
|
|
2777
|
-
return onChangeField(e,
|
|
2784
|
+
return onChangeField(e, field.onChange);
|
|
2778
2785
|
},
|
|
2779
2786
|
onKeyDown: onKeyDown,
|
|
2780
|
-
error:
|
|
2787
|
+
error: hasError,
|
|
2781
2788
|
onBlur: function onBlur() {
|
|
2782
|
-
return onBlurField(
|
|
2789
|
+
return onBlurField(field.onBlur);
|
|
2783
2790
|
},
|
|
2784
2791
|
inputProps: {
|
|
2785
2792
|
maxLength: maxLength
|
|
@@ -2790,8 +2797,7 @@
|
|
|
2790
2797
|
name: name,
|
|
2791
2798
|
control: control,
|
|
2792
2799
|
defaultValue: defaultValue,
|
|
2793
|
-
rules: rules
|
|
2794
|
-
onFocus: onFocusField
|
|
2800
|
+
rules: rules
|
|
2795
2801
|
});
|
|
2796
2802
|
};
|
|
2797
2803
|
|
|
@@ -3988,10 +3994,28 @@
|
|
|
3988
3994
|
formState = _l.formState,
|
|
3989
3995
|
getValues = _l.getValues,
|
|
3990
3996
|
setValue = _l.setValue,
|
|
3991
|
-
reset = _l.reset;
|
|
3997
|
+
reset = _l.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
|
|
3992
4000
|
|
|
3993
|
-
|
|
4001
|
+
|
|
4002
|
+
var _m = reactHookForm.useFieldArray({
|
|
4003
|
+
control: control,
|
|
4004
|
+
name: 'changeGroups'
|
|
4005
|
+
}),
|
|
4006
|
+
fields = _m.fields,
|
|
4007
|
+
insert = _m.insert,
|
|
4008
|
+
remove = _m.remove,
|
|
4009
|
+
move = _m.move;
|
|
4010
|
+
|
|
4011
|
+
var _o = useDragOrder(trigger, move),
|
|
4012
|
+
onChangeOrder = _o.onChangeOrder,
|
|
4013
|
+
onStartDrag = _o.onStartDrag,
|
|
4014
|
+
activeDraggingIndex = _o.activeDraggingIndex;
|
|
4015
|
+
|
|
4016
|
+
var dirtyFields = formState.dirtyFields,
|
|
3994
4017
|
errors = formState.errors;
|
|
4018
|
+
var isFormDirty = Object.keys(dirtyFields).length > 0;
|
|
3995
4019
|
shared.usePreventBrowserClose(isFormDirty && !isDisabled); // Needed to be able to show a confirmation dialog on closing parent view
|
|
3996
4020
|
|
|
3997
4021
|
React__default["default"].useEffect(function () {
|
|
@@ -4015,7 +4039,10 @@
|
|
|
4015
4039
|
};
|
|
4016
4040
|
|
|
4017
4041
|
var resetFormValues = function resetFormValues(formData) {
|
|
4018
|
-
|
|
4042
|
+
reset(formData, {
|
|
4043
|
+
keepDirty: false,
|
|
4044
|
+
keepDirtyValues: false
|
|
4045
|
+
});
|
|
4019
4046
|
};
|
|
4020
4047
|
|
|
4021
4048
|
var resetFormState = function resetFormState(action, resetDisabled, tafToReset) {
|
|
@@ -4246,20 +4273,6 @@
|
|
|
4246
4273
|
}
|
|
4247
4274
|
};
|
|
4248
4275
|
|
|
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
4276
|
var onRemoverow = function onRemoverow(index) {
|
|
4264
4277
|
confirmDialog({
|
|
4265
4278
|
title: 'Delete row',
|
|
@@ -4299,7 +4312,9 @@
|
|
|
4299
4312
|
}
|
|
4300
4313
|
|
|
4301
4314
|
var newRowIndex = above ? rowIndex : rowIndex + 1;
|
|
4302
|
-
insert(newRowIndex, emptyChangegroup,
|
|
4315
|
+
insert(newRowIndex, emptyChangegroup, {
|
|
4316
|
+
shouldFocus: false
|
|
4317
|
+
});
|
|
4303
4318
|
setFocusAndValidate(newRowIndex);
|
|
4304
4319
|
};
|
|
4305
4320
|
|
|
@@ -4319,7 +4334,9 @@
|
|
|
4319
4334
|
}).then(function () {
|
|
4320
4335
|
if (isChangeGroup) {
|
|
4321
4336
|
remove(rowIndex);
|
|
4322
|
-
insert(rowIndex, emptyChangegroup,
|
|
4337
|
+
insert(rowIndex, emptyChangegroup, {
|
|
4338
|
+
shouldFocus: false
|
|
4339
|
+
});
|
|
4323
4340
|
} else {
|
|
4324
4341
|
var baseForecastFields = getFieldNames(false, -1);
|
|
4325
4342
|
setValue(baseForecastFields.wind, '');
|
|
@@ -5216,7 +5233,8 @@
|
|
|
5216
5233
|
location: 'EHAM'
|
|
5217
5234
|
}
|
|
5218
5235
|
} : _c;
|
|
5219
|
-
var
|
|
5236
|
+
var dirtyFields = reactHookForm.useFormContext().formState.dirtyFields;
|
|
5237
|
+
var isDirty = Object.keys(dirtyFields).length > 0;
|
|
5220
5238
|
|
|
5221
5239
|
if (!tafFromBackend) {
|
|
5222
5240
|
return null;
|
|
@@ -5282,7 +5300,8 @@
|
|
|
5282
5300
|
_c = _a.onChangeTab,
|
|
5283
5301
|
onChangeTab = _c === void 0 ? function () {} : _c,
|
|
5284
5302
|
timeSlot = _a.timeSlot;
|
|
5285
|
-
var
|
|
5303
|
+
var dirtyFields = reactHookForm.useFormContext().formState.dirtyFields;
|
|
5304
|
+
var isDirty = Object.keys(dirtyFields).length > 0;
|
|
5286
5305
|
return /*#__PURE__*/React__namespace.createElement(material.MenuList, {
|
|
5287
5306
|
"data-testid": "location-tabs",
|
|
5288
5307
|
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.8.0",
|
|
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.8.0",
|
|
16
16
|
"react": "^17.0.2",
|
|
17
|
-
"@opengeoweb/
|
|
17
|
+
"@opengeoweb/shared": "4.8.0",
|
|
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.8.0",
|
|
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.8.0",
|
|
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.8.0",
|
|
33
|
+
"throttle-debounce": "^3.0.1",
|
|
34
|
+
"proj4": "^2.6.2",
|
|
35
|
+
"@opengeoweb/api": "4.8.0",
|
|
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.8.0",
|
|
50
50
|
"react-router-dom": "^6.4.2",
|
|
51
51
|
"query-string": "^6.13.7"
|
|
52
52
|
}
|