thm-p3-configurator 0.0.269 → 0.0.270

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.
@@ -7,6 +7,7 @@ require("core-js/modules/es.regexp.exec.js");
7
7
  require("core-js/modules/es.regexp.to-string.js");
8
8
  require("core-js/modules/es.string.includes.js");
9
9
  require("core-js/modules/es.string.replace.js");
10
+ require("core-js/modules/es.string.trim.js");
10
11
  require("core-js/modules/es.weak-map.js");
11
12
  require("core-js/modules/esnext.iterator.constructor.js");
12
13
  require("core-js/modules/esnext.iterator.filter.js");
@@ -27,6 +28,7 @@ require("core-js/modules/es.regexp.exec.js");
27
28
  require("core-js/modules/es.regexp.to-string.js");
28
29
  require("core-js/modules/es.string.includes.js");
29
30
  require("core-js/modules/es.string.replace.js");
31
+ require("core-js/modules/es.string.trim.js");
30
32
  require("core-js/modules/esnext.iterator.constructor.js");
31
33
  require("core-js/modules/esnext.iterator.find.js");
32
34
  require("core-js/modules/esnext.iterator.for-each.js");
@@ -292,6 +294,13 @@ const InternalAppointmentForm = _ref => {
292
294
  }
293
295
  }
294
296
  }, [customer === null || customer === void 0 ? void 0 : customer.countryId, countryOptions, dispatch]);
297
+ const isBusinessOwnership = (vehicle === null || vehicle === void 0 ? void 0 : vehicle.ownershipType) === _constants__.VEHICLE_OWNERSHIP_TYPE.Zakelijk;
298
+ const isNetherlandsSelected = (0, _react.useMemo)(() => {
299
+ if (!(selectedCountry !== null && selectedCountry !== void 0 && selectedCountry.label)) return false;
300
+ return selectedCountry.label.toUpperCase() === 'NEDERLAND';
301
+ }, [selectedCountry === null || selectedCountry === void 0 ? void 0 : selectedCountry.label]);
302
+ const shouldRequireKvkNumber = isBusinessOwnership && (isNetherlandsSelected || !isNetherlandsSelected && !(customer !== null && customer !== void 0 && customer.vatNumber));
303
+ const shouldRequireVatNumber = isBusinessOwnership && !isNetherlandsSelected && !(customer !== null && customer !== void 0 && customer.kvkNumber);
295
304
  const {
296
305
  branchById
297
306
  } = (0, _queries.useBranchByIdOrWidgetId)(selectedBranch);
@@ -333,8 +342,8 @@ const InternalAppointmentForm = _ref => {
333
342
  const handleSubmit = async function handleSubmit() {
334
343
  let appointmentType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _constants__.DOSSIER_TYPES.PlannedAppointment;
335
344
  try {
336
- var _customer$firstName, _customer$lastName, _customer$phoneNumber, _customer$houseNumber, _customer$houseNumber2, _customer$streetName, _customer$countryId, _customer$city, _customer$email, _customer$note, _customer$zipCode, _customer$companyName, _customer$kvkNumber, _customer$vatNumber, _ref2;
337
- setErrors([]);
345
+ var _customer$kvkNumber, _customer$vatNumber, _customer$firstName, _customer$lastName, _customer$phoneNumber, _customer$houseNumber, _customer$houseNumber2, _customer$streetName, _customer$countryId, _customer$city, _customer$email, _customer$note, _customer$zipCode, _customer$companyName, _customer$kvkNumber2, _customer$vatNumber2, _ref2;
346
+ setErrors({});
338
347
  if (!model) {
339
348
  // Note: this does not throw on error.
340
349
  const licensePlateErrors = validateLicensePlate();
@@ -355,6 +364,23 @@ const InternalAppointmentForm = _ref => {
355
364
  return;
356
365
  }
357
366
  }
367
+ const hasKvkNumber = !!(customer !== null && customer !== void 0 && (_customer$kvkNumber = customer.kvkNumber) !== null && _customer$kvkNumber !== void 0 && _customer$kvkNumber.trim());
368
+ const hasVatNumber = !!(customer !== null && customer !== void 0 && (_customer$vatNumber = customer.vatNumber) !== null && _customer$vatNumber !== void 0 && _customer$vatNumber.trim());
369
+ if (isBusinessOwnership) {
370
+ if (isNetherlandsSelected && !hasKvkNumber) {
371
+ setErrors({
372
+ kvkNumber: 'KVK-nummer is verplicht voor zakelijke dossiers in Nederland'
373
+ });
374
+ return;
375
+ }
376
+ if (!isNetherlandsSelected && !hasKvkNumber && !hasVatNumber) {
377
+ setErrors({
378
+ kvkNumber: 'Vul een KVK- of BTW-nummer in',
379
+ vatNumber: 'Vul een KVK- of BTW-nummer in'
380
+ });
381
+ return;
382
+ }
383
+ }
358
384
 
359
385
  // Note: this throws on error.
360
386
  internalAppointmentFormSchema.validateSync(_objectSpread(_objectSpread(_objectSpread({}, vehicle), customer), {}, {
@@ -392,8 +418,8 @@ const InternalAppointmentForm = _ref => {
392
418
  note: (_customer$note = customer === null || customer === void 0 ? void 0 : customer.note) !== null && _customer$note !== void 0 ? _customer$note : undefined,
393
419
  zipCode: (_customer$zipCode = customer === null || customer === void 0 ? void 0 : customer.zipCode) !== null && _customer$zipCode !== void 0 ? _customer$zipCode : undefined,
394
420
  companyName: (_customer$companyName = customer === null || customer === void 0 ? void 0 : customer.companyName) !== null && _customer$companyName !== void 0 ? _customer$companyName : undefined,
395
- kvkNumber: (_customer$kvkNumber = customer === null || customer === void 0 ? void 0 : customer.kvkNumber) !== null && _customer$kvkNumber !== void 0 ? _customer$kvkNumber : undefined,
396
- vatNumber: (_customer$vatNumber = customer === null || customer === void 0 ? void 0 : customer.vatNumber) !== null && _customer$vatNumber !== void 0 ? _customer$vatNumber : undefined
421
+ kvkNumber: (_customer$kvkNumber2 = customer === null || customer === void 0 ? void 0 : customer.kvkNumber) !== null && _customer$kvkNumber2 !== void 0 ? _customer$kvkNumber2 : undefined,
422
+ vatNumber: (_customer$vatNumber2 = customer === null || customer === void 0 ? void 0 : customer.vatNumber) !== null && _customer$vatNumber2 !== void 0 ? _customer$vatNumber2 : undefined
397
423
  })),
398
424
  customerAgreed,
399
425
  invoicePaymentByLeaseCompany: invoicePaymentByLeaseCompany !== null && invoicePaymentByLeaseCompany !== void 0 ? invoicePaymentByLeaseCompany : undefined,
@@ -1245,7 +1271,7 @@ const InternalAppointmentForm = _ref => {
1245
1271
  }
1246
1272
  }),
1247
1273
  key: "kvkNumber-".concat(refreshKey),
1248
- isRequired: false,
1274
+ isRequired: shouldRequireKvkNumber,
1249
1275
  form: "quotation",
1250
1276
  label: "KVK-nummer:",
1251
1277
  errorMessage: errors === null || errors === void 0 ? void 0 : errors['kvkNumber']
@@ -1260,7 +1286,7 @@ const InternalAppointmentForm = _ref => {
1260
1286
  }
1261
1287
  }),
1262
1288
  key: "vatNumber-".concat(refreshKey),
1263
- isRequired: false,
1289
+ isRequired: shouldRequireVatNumber,
1264
1290
  form: "quotation",
1265
1291
  label: "BTW-nummer:",
1266
1292
  errorMessage: errors === null || errors === void 0 ? void 0 : errors['vatNumber']
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thm-p3-configurator",
3
- "version": "0.0.269",
3
+ "version": "0.0.270",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "author": "EnoRm.",