@movalib/movalib-commons 1.59.11 → 1.59.13
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.
|
@@ -9,7 +9,7 @@ var react_1 = require("react");
|
|
|
9
9
|
var VehicleTire_1 = __importDefault(require("./models/VehicleTire"));
|
|
10
10
|
var Tools_1 = require("./helpers/Tools");
|
|
11
11
|
// Regex pour une taille de pneumatique Française
|
|
12
|
-
var regex = /^\d{9}[A-Za-z]$/;
|
|
12
|
+
var regex = /^\d{9,10}[A-Za-z]$/;
|
|
13
13
|
var MovaVehicleTireField = function (_a) {
|
|
14
14
|
var vehicleTire = _a.vehicleTire, onChangeVehicleTire = _a.onChangeVehicleTire;
|
|
15
15
|
var _b = (0, react_1.useState)(''), tireInfo = _b[0], setTireInfo = _b[1];
|
|
@@ -25,7 +25,7 @@ var MovaVehicleTireField = function (_a) {
|
|
|
25
25
|
var rawValue = e.target.value;
|
|
26
26
|
// Cette expression régulière supprimera tous les caractères qui ne sont pas des chiffres ou des lettres alphabétiques, à l'exception de "R" et "r".
|
|
27
27
|
// On ne peut saisir que 10 caractères maximum (ex : 245551791V)
|
|
28
|
-
var value = rawValue.toUpperCase().replace(/[^0-9A-QS-Za-qs-z]/g, '').slice(0,
|
|
28
|
+
var value = rawValue.toUpperCase().replace(/[^0-9A-QS-Za-qs-z]/g, '').slice(0, 11);
|
|
29
29
|
// On valide la saisie (le champ n'est pas obligatoire)
|
|
30
30
|
var isValid = value.length == 0 || (value.length > 0 && regex.test(value));
|
|
31
31
|
setError(!regex.test(value));
|
|
@@ -45,7 +45,7 @@ var MovaVehicleTireField = function (_a) {
|
|
|
45
45
|
}
|
|
46
46
|
setTireInfo(value);
|
|
47
47
|
var parts = value.split(" ");
|
|
48
|
-
if (value.length >= 16 && !(rawValue.length ==
|
|
48
|
+
if (value.length >= 16 && !(rawValue.length == 18 && isDeleting) && parts.length === 5) {
|
|
49
49
|
var width = parts[0], _separator = parts[1], height = parts[2], diameter = parts[3], speedIndex = parts[4];
|
|
50
50
|
var vehicleTire_1 = new VehicleTire_1.default(width, height, diameter, speedIndex);
|
|
51
51
|
onChangeVehicleTire(vehicleTire_1, isValid);
|
package/package.json
CHANGED
|
@@ -9,7 +9,7 @@ interface MovaVehicleTireFieldProps {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
// Regex pour une taille de pneumatique Française
|
|
12
|
-
const regex = /^\d{9}[A-Za-z]$/;
|
|
12
|
+
const regex = /^\d{9,10}[A-Za-z]$/;
|
|
13
13
|
|
|
14
14
|
const MovaVehicleTireField: FC<MovaVehicleTireFieldProps> = ({ vehicleTire, onChangeVehicleTire }) => {
|
|
15
15
|
|
|
@@ -30,8 +30,7 @@ const MovaVehicleTireField: FC<MovaVehicleTireFieldProps> = ({ vehicleTire, onCh
|
|
|
30
30
|
|
|
31
31
|
// Cette expression régulière supprimera tous les caractères qui ne sont pas des chiffres ou des lettres alphabétiques, à l'exception de "R" et "r".
|
|
32
32
|
// On ne peut saisir que 10 caractères maximum (ex : 245551791V)
|
|
33
|
-
let value = rawValue.toUpperCase().replace(/[^0-9A-QS-Za-qs-z]/g, '').slice(0,
|
|
34
|
-
|
|
33
|
+
let value = rawValue.toUpperCase().replace(/[^0-9A-QS-Za-qs-z]/g, '').slice(0, 11);
|
|
35
34
|
|
|
36
35
|
// On valide la saisie (le champ n'est pas obligatoire)
|
|
37
36
|
let isValid = value.length == 0 || (value.length > 0 && regex.test(value));
|
|
@@ -60,7 +59,7 @@ const MovaVehicleTireField: FC<MovaVehicleTireFieldProps> = ({ vehicleTire, onCh
|
|
|
60
59
|
|
|
61
60
|
const parts = value.split(" ");
|
|
62
61
|
|
|
63
|
-
if (value.length >= 16 && !(rawValue.length ==
|
|
62
|
+
if (value.length >= 16 && !(rawValue.length == 18 && isDeleting) && parts.length === 5) {
|
|
64
63
|
const [width, _separator, height, diameter, speedIndex] = parts;
|
|
65
64
|
const vehicleTire = new VehicleTire(width, height, diameter, speedIndex);
|
|
66
65
|
onChangeVehicleTire(vehicleTire, isValid);
|