@dartech/arsenal-ui 1.3.50 → 1.3.52
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.js +20 -5
- package/package.json +1 -1
- package/src/lib/Forms/ControlNumberInput.d.ts +6 -2
package/index.js
CHANGED
@@ -1846,9 +1846,10 @@ const ControlNumberInput = _a => {
|
|
1846
1846
|
disabled = false,
|
1847
1847
|
hideErrorMessage = false,
|
1848
1848
|
onChange: customOnChange,
|
1849
|
-
decimal = false
|
1849
|
+
decimal = false,
|
1850
|
+
valueAsNumber
|
1850
1851
|
} = _a,
|
1851
|
-
textFieldProps = __rest(_a, ["control", "validate", "name", "label", "required", "defaultValue", "disabled", "hideErrorMessage", "onChange", "decimal"]);
|
1852
|
+
textFieldProps = __rest(_a, ["control", "validate", "name", "label", "required", "defaultValue", "disabled", "hideErrorMessage", "onChange", "decimal", "valueAsNumber"]);
|
1852
1853
|
const {
|
1853
1854
|
field: {
|
1854
1855
|
ref,
|
@@ -1879,12 +1880,24 @@ const ControlNumberInput = _a => {
|
|
1879
1880
|
name
|
1880
1881
|
});
|
1881
1882
|
const handleChange = event => {
|
1883
|
+
var _a;
|
1882
1884
|
const lastData = event.nativeEvent['data'] || event.target.value;
|
1883
1885
|
if (!isNaN(lastData) || decimal && lastData === '.' || lastData === '-' || lastData === '+') {
|
1884
1886
|
if (customOnChange) {
|
1885
1887
|
customOnChange(event);
|
1886
1888
|
} else {
|
1887
|
-
|
1889
|
+
if (valueAsNumber) {
|
1890
|
+
if (!event.target.value) {
|
1891
|
+
onChange(null);
|
1892
|
+
} else if (event.target.value === '0') {
|
1893
|
+
onChange(0);
|
1894
|
+
} else if (decimal) {
|
1895
|
+
const dec = event.target.value.split('.')[1];
|
1896
|
+
onChange(!floatsOnly.test(event.target.value) || /^0+$/.test(dec) ? event.target.value : +parseFloat(event.target.value).toFixed((_a = dec === null || dec === void 0 ? void 0 : dec.length) !== null && _a !== void 0 ? _a : 0));
|
1897
|
+
} else {
|
1898
|
+
onChange(Number.isNaN(+event.target.value) ? event.target.value : +event.target.value);
|
1899
|
+
}
|
1900
|
+
}
|
1888
1901
|
}
|
1889
1902
|
}
|
1890
1903
|
};
|
@@ -3723,7 +3736,8 @@ const PropertyWidget = ({
|
|
3723
3736
|
hideErrorMessage: true,
|
3724
3737
|
control: control,
|
3725
3738
|
name: name,
|
3726
|
-
label: label
|
3739
|
+
label: label,
|
3740
|
+
valueAsNumber: true
|
3727
3741
|
});
|
3728
3742
|
case PropertyType.INTEGER:
|
3729
3743
|
case PropertyType.BIG_INTEGER:
|
@@ -3733,7 +3747,8 @@ const PropertyWidget = ({
|
|
3733
3747
|
hideErrorMessage: true,
|
3734
3748
|
control: control,
|
3735
3749
|
name: name,
|
3736
|
-
label: label
|
3750
|
+
label: label,
|
3751
|
+
valueAsNumber: true
|
3737
3752
|
});
|
3738
3753
|
case PropertyType.BOOLEAN:
|
3739
3754
|
return jsx(ControlSwitch, {
|
package/package.json
CHANGED
@@ -14,7 +14,7 @@ type Props = TextFieldProps & {
|
|
14
14
|
/**
|
15
15
|
* React Hook Form `control`
|
16
16
|
*/
|
17
|
-
control: Control
|
17
|
+
control: Control<any>;
|
18
18
|
/**
|
19
19
|
* Is input required flag
|
20
20
|
*/
|
@@ -46,6 +46,10 @@ type Props = TextFieldProps & {
|
|
46
46
|
* Is number decimal or integer flag
|
47
47
|
*/
|
48
48
|
decimal?: boolean;
|
49
|
+
/**
|
50
|
+
* Set value as number
|
51
|
+
*/
|
52
|
+
valueAsNumber?: boolean;
|
49
53
|
};
|
50
|
-
export declare const ControlNumberInput: ({ control, validate, name, label, required, defaultValue, disabled, hideErrorMessage, onChange: customOnChange, decimal, ...textFieldProps }: Props) => JSX.Element;
|
54
|
+
export declare const ControlNumberInput: ({ control, validate, name, label, required, defaultValue, disabled, hideErrorMessage, onChange: customOnChange, decimal, valueAsNumber, ...textFieldProps }: Props) => JSX.Element;
|
51
55
|
export default ControlNumberInput;
|