thm-p3-configurator 0.0.83 → 0.0.85
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/dist/src/shared/App.js +3 -2
- package/dist/src/shared/__components__/Form/TextInput.js +6 -4
- package/dist/src/shared/__components__/ProductCard/ProductCardPrice.js +4 -2
- package/dist/src/shared/__containers__/BottomNavigationBar.js +0 -6
- package/dist/src/shared/__containers__/internal/InternalAppointmentForm.js +19 -22
- package/dist/src/shared/__containers__/internal/InternalQuotationForm.js +45 -23
- package/dist/src/shared/__containers__/internal/InternalSingleOrderFilters.js +54 -16
- package/dist/src/shared/__context__/OrderSessionContext.js +17 -16
- package/dist/src/shared/__pages__/internal/InternalSingleOrderPage.js +6 -0
- package/dist/src/shared/__style__/base/_typography.scss +22 -0
- package/package.json +1 -1
package/dist/src/shared/App.js
CHANGED
|
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports.default = void 0;
|
|
11
11
|
var _index = _interopRequireDefault(require("./__pages__/index"));
|
|
12
|
-
var _TEST_ONLY_INTERNAL_ROUTES = _interopRequireDefault(require("./__pages__/internal/__TEST_ONLY_INTERNAL_ROUTES"));
|
|
13
12
|
var _InternalBranchSelectorModal = _interopRequireDefault(require("./__containers__/internal/InternalBranchSelectorModal"));
|
|
14
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
14
|
require("react-datepicker/src/stylesheets/datepicker-cssmodules.scss");
|
|
@@ -60,6 +59,8 @@ function _interopRequireDefault(e) {
|
|
|
60
59
|
default: e
|
|
61
60
|
};
|
|
62
61
|
}
|
|
62
|
+
// import TEST_ONLY_INTERNAL_ROUTES from './__pages__/internal/__TEST_ONLY_INTERNAL_ROUTES';
|
|
63
|
+
|
|
63
64
|
_reactGtmModule.default.initialize({
|
|
64
65
|
gtmId: APP_CONFIG.googleTagManagerId || 'GTM-TC67SZ4'
|
|
65
66
|
});
|
|
@@ -75,6 +76,6 @@ const App = () => {
|
|
|
75
76
|
defaultCountry: APP_CONFIG.country
|
|
76
77
|
}, /*#__PURE__*/_react.default.createElement(_OrderSessionContext.OrderSessionController, null, /*#__PURE__*/_react.default.createElement(_reactQuery.QueryClientProvider, {
|
|
77
78
|
client: _queryClient.default
|
|
78
|
-
}, /*#__PURE__*/_react.default.createElement(_reactRouterDom.BrowserRouter, null, /*#__PURE__*/_react.default.createElement(_reactHotLoader.AppContainer, null, /*#__PURE__*/_react.default.createElement(_ActiveMarkerContext.ActiveMarkerProvider, null, /*#__PURE__*/_react.default.createElement(_StyleWrapper.default, null, !APP_CONFIG.internal && /*#__PURE__*/_react.default.createElement(_Navbar.default, null), APP_CONFIG.internal && /*#__PURE__*/_react.default.createElement(_InternalBranchSelectorModal.default, null),
|
|
79
|
+
}, /*#__PURE__*/_react.default.createElement(_reactRouterDom.BrowserRouter, null, /*#__PURE__*/_react.default.createElement(_reactHotLoader.AppContainer, null, /*#__PURE__*/_react.default.createElement(_ActiveMarkerContext.ActiveMarkerProvider, null, /*#__PURE__*/_react.default.createElement(_StyleWrapper.default, null, !APP_CONFIG.internal && /*#__PURE__*/_react.default.createElement(_Navbar.default, null), APP_CONFIG.internal && /*#__PURE__*/_react.default.createElement(_InternalBranchSelectorModal.default, null), /*#__PURE__*/_react.default.createElement(_index.default, null))))))))));
|
|
79
80
|
};
|
|
80
81
|
var _default = exports.default = App;
|
|
@@ -45,6 +45,7 @@ const TextInput = _ref => {
|
|
|
45
45
|
let {
|
|
46
46
|
placeholder = '',
|
|
47
47
|
initialValue = '',
|
|
48
|
+
value,
|
|
48
49
|
name,
|
|
49
50
|
onClick = () => {},
|
|
50
51
|
isDisabled = false,
|
|
@@ -55,14 +56,15 @@ const TextInput = _ref => {
|
|
|
55
56
|
errorMessage = '',
|
|
56
57
|
className = ''
|
|
57
58
|
} = _ref;
|
|
58
|
-
const [
|
|
59
|
+
const [localValue, setLocalValue] = (0, _react.useState)(initialValue);
|
|
60
|
+
const displayValue = value !== undefined ? value : localValue;
|
|
59
61
|
(0, _react.useEffect)(() => {
|
|
60
62
|
if (initialValue) {
|
|
61
|
-
|
|
63
|
+
setLocalValue(initialValue);
|
|
62
64
|
}
|
|
63
65
|
}, [initialValue]);
|
|
64
66
|
const handleChange = newValue => {
|
|
65
|
-
|
|
67
|
+
setLocalValue(newValue);
|
|
66
68
|
onChange(newValue);
|
|
67
69
|
};
|
|
68
70
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -78,7 +80,7 @@ const TextInput = _ref => {
|
|
|
78
80
|
type: 'text',
|
|
79
81
|
onClick: onClick,
|
|
80
82
|
form: form,
|
|
81
|
-
value:
|
|
83
|
+
value: displayValue,
|
|
82
84
|
disabled: isDisabled,
|
|
83
85
|
onChange: e => handleChange(e.target.value),
|
|
84
86
|
required: isRequired,
|
|
@@ -21,12 +21,14 @@ const ProductCardPrice = _ref => {
|
|
|
21
21
|
className: (0, _helpers__.withStyle)('card__price')
|
|
22
22
|
}, (0, _helpers__.formatPrice)(price));
|
|
23
23
|
}
|
|
24
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
24
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, discountedPrice < price ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
25
25
|
className: (0, _helpers__.withStyle)('card__price')
|
|
26
26
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
27
27
|
className: (0, _helpers__.withStyle)('strikethrough card-price-label')
|
|
28
28
|
}, (0, _helpers__.formatPrice)(price))), /*#__PURE__*/_react.default.createElement("div", {
|
|
29
29
|
className: (0, _helpers__.withStyle)('card__price text-danger')
|
|
30
|
-
}, (0, _helpers__.formatPrice)(discountedPrice)))
|
|
30
|
+
}, (0, _helpers__.formatPrice)(discountedPrice))) : /*#__PURE__*/_react.default.createElement("div", {
|
|
31
|
+
className: (0, _helpers__.withStyle)('card__price')
|
|
32
|
+
}, (0, _helpers__.formatPrice)(price)));
|
|
31
33
|
};
|
|
32
34
|
var _default = exports.default = ProductCardPrice;
|
|
@@ -147,12 +147,6 @@ const BottomNavigationBar = () => {
|
|
|
147
147
|
currentDossierType: setType
|
|
148
148
|
}
|
|
149
149
|
});
|
|
150
|
-
console.log({
|
|
151
|
-
type: _OrderSessionContext.orderSessionActions.SET_CURRENT_DOSSIER_TYPE,
|
|
152
|
-
payload: {
|
|
153
|
-
currentDossierType: setType
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
150
|
}
|
|
157
151
|
}, {
|
|
158
152
|
type: type,
|
|
@@ -140,8 +140,7 @@ const internalAppointmentFormSchema = (0, _yup.object)({
|
|
|
140
140
|
date: (0, _yup.string)().required(_constants__.FORM_ERROR_MESSAGES.required),
|
|
141
141
|
time: (0, _yup.string)().required(_constants__.FORM_ERROR_MESSAGES.required),
|
|
142
142
|
customerAgreed: (0, _yup.boolean)().required(_constants__.FORM_ERROR_MESSAGES.required).isTrue(_constants__.FORM_ERROR_MESSAGES.required),
|
|
143
|
-
companyName: (0, _yup.string)().nullable()
|
|
144
|
-
invoiceEmail: (0, _yup.string)().email(_constants__.FORM_ERROR_MESSAGES.email).nullable()
|
|
143
|
+
companyName: (0, _yup.string)().nullable()
|
|
145
144
|
});
|
|
146
145
|
|
|
147
146
|
/**
|
|
@@ -228,7 +227,7 @@ const InternalAppointmentForm = _ref => {
|
|
|
228
227
|
};
|
|
229
228
|
const handleSubmit = async () => {
|
|
230
229
|
try {
|
|
231
|
-
var _customer$firstName, _customer$lastName, _customer$phoneNumber, _customer$houseNumber, _customer$streetName, _customer$countryId, _customer$city, _customer$email, _customer$note, _customer$zipCode, _customer$companyName,
|
|
230
|
+
var _customer$firstName, _customer$lastName, _customer$phoneNumber, _customer$houseNumber, _customer$streetName, _customer$countryId, _customer$city, _customer$email, _customer$note, _customer$zipCode, _customer$companyName, _ref2;
|
|
232
231
|
setErrors([]);
|
|
233
232
|
if (!model) {
|
|
234
233
|
// Note: this does not throw on error.
|
|
@@ -268,8 +267,7 @@ const InternalAppointmentForm = _ref => {
|
|
|
268
267
|
email: (_customer$email = customer === null || customer === void 0 ? void 0 : customer.email) !== null && _customer$email !== void 0 ? _customer$email : undefined,
|
|
269
268
|
note: (_customer$note = customer === null || customer === void 0 ? void 0 : customer.note) !== null && _customer$note !== void 0 ? _customer$note : undefined,
|
|
270
269
|
zipCode: (_customer$zipCode = customer === null || customer === void 0 ? void 0 : customer.zipCode) !== null && _customer$zipCode !== void 0 ? _customer$zipCode : undefined,
|
|
271
|
-
companyName: (_customer$companyName = customer === null || customer === void 0 ? void 0 : customer.companyName) !== null && _customer$companyName !== void 0 ? _customer$companyName : undefined
|
|
272
|
-
invoiceEmail: (_customer$invoiceEmai = customer === null || customer === void 0 ? void 0 : customer.invoiceEmail) !== null && _customer$invoiceEmai !== void 0 ? _customer$invoiceEmai : undefined
|
|
270
|
+
companyName: (_customer$companyName = customer === null || customer === void 0 ? void 0 : customer.companyName) !== null && _customer$companyName !== void 0 ? _customer$companyName : undefined
|
|
273
271
|
})),
|
|
274
272
|
customerAgreed,
|
|
275
273
|
appointment,
|
|
@@ -548,7 +546,7 @@ const InternalAppointmentForm = _ref => {
|
|
|
548
546
|
className: (0, _helpers__.withStyle)('modal-title col-12 mb-2')
|
|
549
547
|
}, "Gegevens van de auto ", /*#__PURE__*/_react.default.createElement("br", null)), /*#__PURE__*/_react.default.createElement("div", {
|
|
550
548
|
className: (0, _helpers__.withStyle)('col-12')
|
|
551
|
-
}, (vehicle === null || vehicle === void 0 ? void 0 : vehicle.ownershipType) === _constants__.VEHICLE_OWNERSHIP_TYPE.Leasemaatschappij && /*#__PURE__*/_react.default.createElement(_TextInput.default, {
|
|
549
|
+
}, (vehicle === null || vehicle === void 0 ? void 0 : vehicle.ownershipType) === _constants__.VEHICLE_OWNERSHIP_TYPE.Leasemaatschappij && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_TextInput.default, {
|
|
552
550
|
placeholder: "",
|
|
553
551
|
initialValue: vehicle === null || vehicle === void 0 ? void 0 : vehicle.leaseNumber,
|
|
554
552
|
name: "leaseNumber",
|
|
@@ -562,7 +560,20 @@ const InternalAppointmentForm = _ref => {
|
|
|
562
560
|
form: "quotation",
|
|
563
561
|
label: "Goedkeuringsnummer:",
|
|
564
562
|
errorMessage: errors === null || errors === void 0 ? void 0 : errors['leaseNumber']
|
|
565
|
-
}),
|
|
563
|
+
}), /*#__PURE__*/_react.default.createElement(_CheckboxInput.default, {
|
|
564
|
+
name: "leaseNumberUnknown",
|
|
565
|
+
initialValue: vehicle === null || vehicle === void 0 ? void 0 : vehicle.leaseNumberUnknown,
|
|
566
|
+
onChange: val => {
|
|
567
|
+
vehicle.leaseNumber = null;
|
|
568
|
+
dispatch({
|
|
569
|
+
type: _OrderSessionContext.orderSessionActions.SET_VEHICLE_LEASE_NUMBER_UNKNOWN,
|
|
570
|
+
payload: {
|
|
571
|
+
leaseNumberUnknown: val
|
|
572
|
+
}
|
|
573
|
+
});
|
|
574
|
+
},
|
|
575
|
+
label: "Goedkeuringsnummer onbekend"
|
|
576
|
+
})), (vehicle === null || vehicle === void 0 ? void 0 : vehicle.ownershipType) === _constants__.VEHICLE_OWNERSHIP_TYPE.Zakelijk && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h5", {
|
|
566
577
|
className: (0, _helpers__.withStyle)('mt-4')
|
|
567
578
|
}, "Gegevens bedrijf"), /*#__PURE__*/_react.default.createElement(_TextInput.default, {
|
|
568
579
|
placeholder: "",
|
|
@@ -578,20 +589,6 @@ const InternalAppointmentForm = _ref => {
|
|
|
578
589
|
form: "quotation",
|
|
579
590
|
label: "Bedrijfsnaam:",
|
|
580
591
|
errorMessage: errors === null || errors === void 0 ? void 0 : errors['companyName']
|
|
581
|
-
}), /*#__PURE__*/_react.default.createElement(_TextInput.default, {
|
|
582
|
-
placeholder: "",
|
|
583
|
-
initialValue: customer.invoiceEmail,
|
|
584
|
-
name: "invoiceEmail",
|
|
585
|
-
onChange: value => dispatch({
|
|
586
|
-
type: _OrderSessionContext.orderSessionActions.SET_CUSTOMER_INVOICE_EMAIL,
|
|
587
|
-
payload: {
|
|
588
|
-
invoiceEmail: value
|
|
589
|
-
}
|
|
590
|
-
}),
|
|
591
|
-
isRequired: true,
|
|
592
|
-
form: "quotation",
|
|
593
|
-
label: "Factureringsmail:",
|
|
594
|
-
errorMessage: errors === null || errors === void 0 ? void 0 : errors['invoiceEmail']
|
|
595
592
|
})), !licensePlate && /*#__PURE__*/_react.default.createElement(_TextInput.default, {
|
|
596
593
|
placeholder: "",
|
|
597
594
|
initialValue: _licensePlate,
|
|
@@ -601,7 +598,7 @@ const InternalAppointmentForm = _ref => {
|
|
|
601
598
|
form: "quotation",
|
|
602
599
|
label: "Kenteken:",
|
|
603
600
|
errorMessage: errors === null || errors === void 0 ? void 0 : errors['licensePlate']
|
|
604
|
-
}),
|
|
601
|
+
}), /*#__PURE__*/_react.default.createElement(_TextInput.default, {
|
|
605
602
|
placeholder: "",
|
|
606
603
|
initialValue: vehicle === null || vehicle === void 0 ? void 0 : vehicle.chassisNumber,
|
|
607
604
|
name: "chassisNumber",
|
|
@@ -30,6 +30,7 @@ var _queries = require("../../__api__/queries");
|
|
|
30
30
|
var _NavigationButton = _interopRequireDefault(require("../../__components__/Buttons/NavigationButton"));
|
|
31
31
|
var _PrimaryButton = _interopRequireDefault(require("../../__components__/Buttons/PrimaryButton"));
|
|
32
32
|
var _Card = _interopRequireDefault(require("../../__components__/Cards/Card"));
|
|
33
|
+
var _CheckboxInput = _interopRequireDefault(require("../../__components__/Form/CheckboxInput"));
|
|
33
34
|
var _DropdownInput = _interopRequireDefault(require("../../__components__/Form/DropdownInput"));
|
|
34
35
|
var _ErrorMessage = _interopRequireDefault(require("../../__components__/Form/ErrorMessage"));
|
|
35
36
|
var _RadioButtons = _interopRequireDefault(require("../../__components__/Form/RadioButtons"));
|
|
@@ -128,8 +129,7 @@ const internalQuotationFormSchema = (0, _yup.object)({
|
|
|
128
129
|
lastName: (0, _yup.string)().required(_constants__.FORM_ERROR_MESSAGES.required),
|
|
129
130
|
email: (0, _yup.string)().email(_constants__.FORM_ERROR_MESSAGES.email).required(_constants__.FORM_ERROR_MESSAGES.required),
|
|
130
131
|
phoneNumber: (0, _yup.string)().required(_constants__.FORM_ERROR_MESSAGES.required),
|
|
131
|
-
companyName: (0, _yup.string)().nullable()
|
|
132
|
-
invoiceEmail: (0, _yup.string)().email(_constants__.FORM_ERROR_MESSAGES.email).nullable()
|
|
132
|
+
companyName: (0, _yup.string)().nullable()
|
|
133
133
|
});
|
|
134
134
|
const InternalQuotationForm = _ref => {
|
|
135
135
|
var _branchTypes$byId$aut, _authSession$branch, _marketingChannels$fi;
|
|
@@ -172,6 +172,22 @@ const InternalQuotationForm = _ref => {
|
|
|
172
172
|
isLoadingMarketingChannels
|
|
173
173
|
} = (0, _queries.useMarketingChannels)(branchType);
|
|
174
174
|
const formula = (0, _FormulaContext.useFormula)();
|
|
175
|
+
const {
|
|
176
|
+
products
|
|
177
|
+
} = (0, _queries.useProductsQuery)({
|
|
178
|
+
licensePlate,
|
|
179
|
+
model,
|
|
180
|
+
executionAnswer1,
|
|
181
|
+
executionAnswer2,
|
|
182
|
+
durationAnswer,
|
|
183
|
+
formula,
|
|
184
|
+
priceCalculationDate,
|
|
185
|
+
discountCode
|
|
186
|
+
});
|
|
187
|
+
const productSpecifications = (0, _react.useMemo)(() => {
|
|
188
|
+
var _products$PRODUCT_CAT, _products$PRODUCT_CAT2, _products$PRODUCT_CAT3;
|
|
189
|
+
return (0, _product.parseProductSpecifications)([(_products$PRODUCT_CAT = products[_constants__.PRODUCT_CATEGORIES.TOWBAR]) === null || _products$PRODUCT_CAT === void 0 ? void 0 : _products$PRODUCT_CAT.find(towbar => towbar.articleNumber === selectedTowbar), (_products$PRODUCT_CAT2 = products[_constants__.PRODUCT_CATEGORIES.CABLESET]) === null || _products$PRODUCT_CAT2 === void 0 ? void 0 : _products$PRODUCT_CAT2.find(cableset => cableset.articleNumber === selectedCableset), (_products$PRODUCT_CAT3 = products[_constants__.PRODUCT_CATEGORIES.COMBISET]) === null || _products$PRODUCT_CAT3 === void 0 ? void 0 : _products$PRODUCT_CAT3.find(combiset => combiset.articleNumber === selectedCombiset)]);
|
|
190
|
+
}, [products]);
|
|
175
191
|
(0, _react.useEffect)(() => {
|
|
176
192
|
(0, _ui.scrollToFirstErrorMessage)();
|
|
177
193
|
}, [errors]);
|
|
@@ -193,7 +209,7 @@ const InternalQuotationForm = _ref => {
|
|
|
193
209
|
*/
|
|
194
210
|
const handleSubmit = async () => {
|
|
195
211
|
try {
|
|
196
|
-
var _customer$firstName, _customer$lastName, _customer$phoneNumber, _customer$houseNumber, _customer$streetName, _customer$countryId, _customer$city, _customer$email, _customer$note, _customer$zipCode, _customer$companyName,
|
|
212
|
+
var _customer$firstName, _customer$lastName, _customer$phoneNumber, _customer$houseNumber, _customer$streetName, _customer$countryId, _customer$city, _customer$email, _customer$note, _customer$zipCode, _customer$companyName, _ref2;
|
|
197
213
|
setErrors(null);
|
|
198
214
|
if (!model) {
|
|
199
215
|
// Note: this does not throw on error.
|
|
@@ -230,8 +246,7 @@ const InternalQuotationForm = _ref => {
|
|
|
230
246
|
email: (_customer$email = customer === null || customer === void 0 ? void 0 : customer.email) !== null && _customer$email !== void 0 ? _customer$email : undefined,
|
|
231
247
|
note: (_customer$note = customer === null || customer === void 0 ? void 0 : customer.note) !== null && _customer$note !== void 0 ? _customer$note : undefined,
|
|
232
248
|
zipCode: (_customer$zipCode = customer === null || customer === void 0 ? void 0 : customer.zipCode) !== null && _customer$zipCode !== void 0 ? _customer$zipCode : undefined,
|
|
233
|
-
companyName: (_customer$companyName = customer === null || customer === void 0 ? void 0 : customer.companyName) !== null && _customer$companyName !== void 0 ? _customer$companyName : undefined
|
|
234
|
-
invoiceEmail: (_customer$invoiceEmai = customer === null || customer === void 0 ? void 0 : customer.invoiceEmail) !== null && _customer$invoiceEmai !== void 0 ? _customer$invoiceEmai : undefined
|
|
249
|
+
companyName: (_customer$companyName = customer === null || customer === void 0 ? void 0 : customer.companyName) !== null && _customer$companyName !== void 0 ? _customer$companyName : undefined
|
|
235
250
|
}),
|
|
236
251
|
chassisNumber: chassisNumber !== null && chassisNumber !== void 0 ? chassisNumber : undefined,
|
|
237
252
|
channel,
|
|
@@ -410,6 +425,19 @@ const InternalQuotationForm = _ref => {
|
|
|
410
425
|
form: "quotation",
|
|
411
426
|
label: "Goedkeuringsnummer:",
|
|
412
427
|
errorMessage: errors === null || errors === void 0 ? void 0 : errors['leaseNumber']
|
|
428
|
+
}), /*#__PURE__*/_react.default.createElement(_CheckboxInput.default, {
|
|
429
|
+
name: "leaseNumberUnknown",
|
|
430
|
+
initialValue: vehicle === null || vehicle === void 0 ? void 0 : vehicle.leaseNumberUnknown,
|
|
431
|
+
onChange: val => {
|
|
432
|
+
vehicle.leaseNumber = null;
|
|
433
|
+
dispatch({
|
|
434
|
+
type: _OrderSessionContext.orderSessionActions.SET_VEHICLE_LEASE_NUMBER_UNKNOWN,
|
|
435
|
+
payload: {
|
|
436
|
+
leaseNumberUnknown: val
|
|
437
|
+
}
|
|
438
|
+
});
|
|
439
|
+
},
|
|
440
|
+
label: "Goedkeuringsnummer onbekend"
|
|
413
441
|
})), (vehicle === null || vehicle === void 0 ? void 0 : vehicle.ownershipType) === _constants__.VEHICLE_OWNERSHIP_TYPE.Zakelijk && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h5", {
|
|
414
442
|
className: (0, _helpers__.withStyle)('mt-4')
|
|
415
443
|
}, "Gegevens bedrijf"), /*#__PURE__*/_react.default.createElement(_TextInput.default, {
|
|
@@ -426,21 +454,9 @@ const InternalQuotationForm = _ref => {
|
|
|
426
454
|
form: "quotation",
|
|
427
455
|
label: "Bedrijfsnaam:",
|
|
428
456
|
errorMessage: errors === null || errors === void 0 ? void 0 : errors['companyName']
|
|
429
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
name: "invoiceEmail",
|
|
433
|
-
onChange: value => dispatch({
|
|
434
|
-
type: _OrderSessionContext.orderSessionActions.SET_CUSTOMER_INVOICE_EMAIL,
|
|
435
|
-
payload: {
|
|
436
|
-
invoiceEmail: value
|
|
437
|
-
}
|
|
438
|
-
}),
|
|
439
|
-
isRequired: true,
|
|
440
|
-
form: "quotation",
|
|
441
|
-
label: "Factureringsmail:",
|
|
442
|
-
errorMessage: errors === null || errors === void 0 ? void 0 : errors['invoiceEmail']
|
|
443
|
-
})), !licensePlate && /*#__PURE__*/_react.default.createElement(_TextInput.default, {
|
|
457
|
+
})), /*#__PURE__*/_react.default.createElement("h5", {
|
|
458
|
+
className: (0, _helpers__.withStyle)('mt-4')
|
|
459
|
+
}, "Voertuiggegevens"), !licensePlate && /*#__PURE__*/_react.default.createElement(_TextInput.default, {
|
|
444
460
|
placeholder: "",
|
|
445
461
|
initialValue: _licensePlate,
|
|
446
462
|
name: "licensePlate",
|
|
@@ -449,7 +465,7 @@ const InternalQuotationForm = _ref => {
|
|
|
449
465
|
form: "quotation",
|
|
450
466
|
label: "Kenteken:",
|
|
451
467
|
errorMessage: errors === null || errors === void 0 ? void 0 : errors['licensePlate']
|
|
452
|
-
}),
|
|
468
|
+
}), /*#__PURE__*/_react.default.createElement(_TextInput.default, {
|
|
453
469
|
placeholder: "",
|
|
454
470
|
initialValue: vehicle === null || vehicle === void 0 ? void 0 : vehicle.chassisNumber,
|
|
455
471
|
name: "chassisNumber",
|
|
@@ -463,7 +479,13 @@ const InternalQuotationForm = _ref => {
|
|
|
463
479
|
form: "quotation",
|
|
464
480
|
label: "Chassisnummer:",
|
|
465
481
|
errorMessage: errors === null || errors === void 0 ? void 0 : errors['chassisNumber']
|
|
466
|
-
}),
|
|
482
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
483
|
+
className: (0, _helpers__.withStyle)('my-2 fw-bold')
|
|
484
|
+
}, "Opties aanwezig:"), productSpecifications !== null && productSpecifications !== void 0 && productSpecifications.length ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("ul", null, productSpecifications === null || productSpecifications === void 0 ? void 0 : productSpecifications.map(specification => /*#__PURE__*/_react.default.createElement("li", {
|
|
485
|
+
key: specification
|
|
486
|
+
}, specification)))) : /*#__PURE__*/_react.default.createElement("div", {
|
|
487
|
+
className: (0, _helpers__.withStyle)('text-muted my-2')
|
|
488
|
+
}, "Geen opties gevonden...")), isError && /*#__PURE__*/_react.default.createElement(_ErrorMessage.default, {
|
|
467
489
|
message: 'Er is een fout opgetreden bij het maken van de offerte, probeer het opnieuw.'
|
|
468
490
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
469
491
|
className: (0, _helpers__.withStyle)('d-flex align-items-center justify-content-end mt-4')
|
|
@@ -475,7 +497,7 @@ const InternalQuotationForm = _ref => {
|
|
|
475
497
|
onClick: handleSubmit,
|
|
476
498
|
isDisabled: isLoading,
|
|
477
499
|
label: 'Offerte maken'
|
|
478
|
-
}))
|
|
500
|
+
})), /*#__PURE__*/_react.default.createElement(_InternalQuotationSuccessModal.default, {
|
|
479
501
|
isOpen: isSuccess,
|
|
480
502
|
email: customer === null || customer === void 0 ? void 0 : customer.email
|
|
481
503
|
}));
|
|
@@ -7,7 +7,7 @@ require("core-js/modules/es.weak-map.js");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.default =
|
|
10
|
+
exports.default = void 0;
|
|
11
11
|
require("core-js/modules/esnext.iterator.map.js");
|
|
12
12
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -53,7 +53,7 @@ function _interopRequireWildcard(e, r) {
|
|
|
53
53
|
}
|
|
54
54
|
return n.default = e, t && t.set(e, n), n;
|
|
55
55
|
}
|
|
56
|
-
|
|
56
|
+
const InternalSingleOrderFilters = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
57
57
|
let {
|
|
58
58
|
onFilterChange,
|
|
59
59
|
openModal,
|
|
@@ -61,8 +61,10 @@ function InternalSingleOrderFilters(_ref) {
|
|
|
61
61
|
} = _ref;
|
|
62
62
|
const baseFormula = (0, _FormulaContext.useFormula)();
|
|
63
63
|
const [{
|
|
64
|
-
singleOrderFormulaCode
|
|
65
|
-
|
|
64
|
+
singleOrderFormulaCode,
|
|
65
|
+
licensePlate,
|
|
66
|
+
model
|
|
67
|
+
}, dispatch] = (0, _OrderSessionContext.useOrderSession)();
|
|
66
68
|
let formula = baseFormula;
|
|
67
69
|
if (singleOrderFormulaCode) {
|
|
68
70
|
formula = singleOrderFormulaCode;
|
|
@@ -90,35 +92,58 @@ function InternalSingleOrderFilters(_ref) {
|
|
|
90
92
|
const [selectedArticleSubGroup, setSelectedArticleSubGroup] = (0, _react.useState)('');
|
|
91
93
|
const [selectedArticleNumber, setSelectedArticleNumber] = (0, _react.useState)('');
|
|
92
94
|
const [showAllArticles, setShowAllArticles] = (0, _react.useState)(false);
|
|
93
|
-
const
|
|
95
|
+
const resetLicensePlateFilters = () => {
|
|
96
|
+
if (licensePlate || model) {
|
|
97
|
+
dispatch({
|
|
98
|
+
type: _OrderSessionContext.orderSessionActions.RESET_LICENSEPLATE_FILTERS
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
const handleResetFilters = function handleResetFilters() {
|
|
103
|
+
let dontReset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
94
104
|
setSelectedArticleType('');
|
|
95
105
|
setSelectedArticleGroup('');
|
|
96
106
|
setSelectedArticleSubGroup('');
|
|
97
107
|
setSelectedArticleNumber('');
|
|
98
108
|
setShowAllArticles(false);
|
|
99
|
-
|
|
109
|
+
if (!dontReset) {
|
|
110
|
+
resetFilters();
|
|
111
|
+
}
|
|
100
112
|
};
|
|
113
|
+
(0, _react.useImperativeHandle)(ref, () => ({
|
|
114
|
+
resetFilters: dontReset => handleResetFilters(dontReset)
|
|
115
|
+
}));
|
|
101
116
|
(0, _react.useEffect)(() => {
|
|
102
|
-
|
|
117
|
+
if (!licensePlate && !model) {
|
|
118
|
+
onFilterChange('type', selectedArticleType);
|
|
119
|
+
}
|
|
103
120
|
if (!selectedArticleType) {
|
|
104
121
|
setSelectedArticleGroup('');
|
|
105
122
|
setSelectedArticleSubGroup('');
|
|
106
123
|
}
|
|
107
124
|
}, [selectedArticleType]);
|
|
108
125
|
(0, _react.useEffect)(() => {
|
|
109
|
-
|
|
126
|
+
if (!licensePlate && !model) {
|
|
127
|
+
onFilterChange('group', selectedArticleGroup);
|
|
128
|
+
}
|
|
110
129
|
if (!selectedArticleGroup) {
|
|
111
130
|
setSelectedArticleSubGroup('');
|
|
112
131
|
}
|
|
113
132
|
}, [selectedArticleGroup]);
|
|
114
133
|
(0, _react.useEffect)(() => {
|
|
115
|
-
|
|
134
|
+
if (!licensePlate && !model) {
|
|
135
|
+
onFilterChange('showAllArticles', showAllArticles);
|
|
136
|
+
}
|
|
116
137
|
}, [showAllArticles]);
|
|
117
138
|
(0, _react.useEffect)(() => {
|
|
118
|
-
|
|
139
|
+
if (!licensePlate && !model) {
|
|
140
|
+
onFilterChange('subgroup', selectedArticleSubGroup);
|
|
141
|
+
}
|
|
119
142
|
}, [selectedArticleSubGroup]);
|
|
120
143
|
(0, _react.useEffect)(() => {
|
|
121
|
-
|
|
144
|
+
if (!licensePlate && !model) {
|
|
145
|
+
onFilterChange('articleNumber', selectedArticleNumber);
|
|
146
|
+
}
|
|
122
147
|
}, [selectedArticleNumber]);
|
|
123
148
|
const {
|
|
124
149
|
articleGroups,
|
|
@@ -136,7 +161,7 @@ function InternalSingleOrderFilters(_ref) {
|
|
|
136
161
|
className: (0, _helpers__.withStyle)('card-body d-flex justify-content-between align-items-center')
|
|
137
162
|
}, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h2", null, "Filters"), /*#__PURE__*/_react.default.createElement(_LinkButton.default, {
|
|
138
163
|
label: "Reset filters",
|
|
139
|
-
onClick: handleResetFilters
|
|
164
|
+
onClick: () => handleResetFilters(false)
|
|
140
165
|
})), /*#__PURE__*/_react.default.createElement(_OutlinedButton.default, {
|
|
141
166
|
label: "Filter op auto",
|
|
142
167
|
icon: "fa fa-car",
|
|
@@ -162,7 +187,10 @@ function InternalSingleOrderFilters(_ref) {
|
|
|
162
187
|
initialValue: selectedArticleType,
|
|
163
188
|
label: "Artikel soort",
|
|
164
189
|
placeholder: "Maak een keuze",
|
|
165
|
-
onChange: option =>
|
|
190
|
+
onChange: option => {
|
|
191
|
+
resetLicensePlateFilters();
|
|
192
|
+
setSelectedArticleType(option.value);
|
|
193
|
+
},
|
|
166
194
|
className: "w-100"
|
|
167
195
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
168
196
|
className: (0, _helpers__.withStyle)('col')
|
|
@@ -178,6 +206,7 @@ function InternalSingleOrderFilters(_ref) {
|
|
|
178
206
|
label: "Artikel groep",
|
|
179
207
|
placeholder: "Maak een keuze",
|
|
180
208
|
onChange: option => {
|
|
209
|
+
resetLicensePlateFilters();
|
|
181
210
|
setSelectedArticleGroup(option.value);
|
|
182
211
|
setSelectedArticleSubGroup('');
|
|
183
212
|
},
|
|
@@ -196,6 +225,7 @@ function InternalSingleOrderFilters(_ref) {
|
|
|
196
225
|
label: "Artikel subgroep",
|
|
197
226
|
placeholder: "Maak een keuze",
|
|
198
227
|
onChange: option => {
|
|
228
|
+
resetLicensePlateFilters();
|
|
199
229
|
setSelectedArticleSubGroup(option.value);
|
|
200
230
|
},
|
|
201
231
|
className: "w-100"
|
|
@@ -203,14 +233,22 @@ function InternalSingleOrderFilters(_ref) {
|
|
|
203
233
|
className: (0, _helpers__.withStyle)('col')
|
|
204
234
|
}, /*#__PURE__*/_react.default.createElement(_TextInput.default, {
|
|
205
235
|
isRequired: false,
|
|
236
|
+
value: selectedArticleNumber,
|
|
206
237
|
label: "Artikel nummer",
|
|
207
238
|
placeholder: "Zoeken",
|
|
208
|
-
onChange: value =>
|
|
239
|
+
onChange: value => {
|
|
240
|
+
resetLicensePlateFilters();
|
|
241
|
+
setSelectedArticleNumber(value);
|
|
242
|
+
},
|
|
209
243
|
className: "w-100"
|
|
210
244
|
})), isTmg && /*#__PURE__*/_react.default.createElement(_CheckboxInput.default, {
|
|
211
245
|
name: 'showAllArticles',
|
|
212
246
|
initialValue: showAllArticles,
|
|
213
|
-
onChange: value =>
|
|
247
|
+
onChange: value => {
|
|
248
|
+
resetLicensePlateFilters();
|
|
249
|
+
setShowAllArticles(value);
|
|
250
|
+
},
|
|
214
251
|
label: "Toon alle artikelen"
|
|
215
252
|
}))));
|
|
216
|
-
}
|
|
253
|
+
});
|
|
254
|
+
var _default = exports.default = InternalSingleOrderFilters;
|
|
@@ -122,6 +122,7 @@ const INITIAL_ORDER_SESSION_STATE = {
|
|
|
122
122
|
selectedTowbar: null,
|
|
123
123
|
selectedCableset: null,
|
|
124
124
|
selectedCombiset: null,
|
|
125
|
+
leaseNumberUnknown: true,
|
|
125
126
|
selectedDiscountedProducts: [],
|
|
126
127
|
discountsInitialized: false,
|
|
127
128
|
internalNote: null,
|
|
@@ -155,8 +156,7 @@ const INITIAL_ORDER_SESSION_STATE = {
|
|
|
155
156
|
note: '',
|
|
156
157
|
zipCode: '',
|
|
157
158
|
houseNumber: '',
|
|
158
|
-
companyName: ''
|
|
159
|
-
invoiceEmail: ''
|
|
159
|
+
companyName: ''
|
|
160
160
|
}
|
|
161
161
|
};
|
|
162
162
|
const orderSessionActions = exports.orderSessionActions = {
|
|
@@ -205,6 +205,7 @@ const orderSessionActions = exports.orderSessionActions = {
|
|
|
205
205
|
SET_DISCOUNT_CODE: 'SET_DISCOUNT_CODE',
|
|
206
206
|
SET_CUSTOMER_ANWB_ID: 'SET_CUSTOMER_ANWB_ID',
|
|
207
207
|
SET_VEHICLE_LEASE_NUMBER: 'SET_VEHICLE_LEASE_NUMBER',
|
|
208
|
+
SET_VEHICLE_LEASE_NUMBER_UNKNOWN: 'SET_VEHICLE_LEASE_NUMBER_UNKNOWN',
|
|
208
209
|
SET_VEHICLE_OWNERSHIP_TYPE: 'SET_VEHICLE_OWNERSHIP_TYPE',
|
|
209
210
|
SET_MARKETING_CHANNEL: 'SET_MARKETING_CHANNEL',
|
|
210
211
|
SET_CUSTOMER_ZIP_CODE: 'SET_CUSTOMER_ZIP_CODE',
|
|
@@ -221,8 +222,7 @@ const orderSessionActions = exports.orderSessionActions = {
|
|
|
221
222
|
SET_FRANCHISE_NAME: 'SET_FRANCHISE_NAME',
|
|
222
223
|
SET_PRICE_CALCULATION_DATE: 'SET_PRICE_CALCULATION_DATE',
|
|
223
224
|
SET_CUSTOMER_AGREED: 'SET_CUSTOMER_AGREED',
|
|
224
|
-
SET_CUSTOMER_COMPANY_NAME: 'SET_CUSTOMER_COMPANY_NAME'
|
|
225
|
-
SET_CUSTOMER_INVOICE_EMAIL: 'SET_CUSTOMER_INVOICE_EMAIL'
|
|
225
|
+
SET_CUSTOMER_COMPANY_NAME: 'SET_CUSTOMER_COMPANY_NAME'
|
|
226
226
|
};
|
|
227
227
|
const orderSessionReducer = (state, action) => {
|
|
228
228
|
switch (action.type) {
|
|
@@ -797,7 +797,19 @@ const orderSessionReducer = (state, action) => {
|
|
|
797
797
|
} = action.payload;
|
|
798
798
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
799
799
|
vehicle: _objectSpread(_objectSpread({}, state === null || state === void 0 ? void 0 : state.vehicle), {}, {
|
|
800
|
-
leaseNumber
|
|
800
|
+
leaseNumber,
|
|
801
|
+
leaseNumberUnknown: leaseNumber.length === 0
|
|
802
|
+
})
|
|
803
|
+
});
|
|
804
|
+
}
|
|
805
|
+
case orderSessionActions.SET_VEHICLE_LEASE_NUMBER_UNKNOWN:
|
|
806
|
+
{
|
|
807
|
+
const {
|
|
808
|
+
leaseNumberUnknown
|
|
809
|
+
} = action.payload;
|
|
810
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
811
|
+
vehicle: _objectSpread(_objectSpread({}, state === null || state === void 0 ? void 0 : state.vehicle), {}, {
|
|
812
|
+
leaseNumberUnknown
|
|
801
813
|
})
|
|
802
814
|
});
|
|
803
815
|
}
|
|
@@ -949,17 +961,6 @@ const orderSessionReducer = (state, action) => {
|
|
|
949
961
|
})
|
|
950
962
|
});
|
|
951
963
|
}
|
|
952
|
-
case orderSessionActions.SET_CUSTOMER_INVOICE_EMAIL:
|
|
953
|
-
{
|
|
954
|
-
const {
|
|
955
|
-
invoiceEmail
|
|
956
|
-
} = action.payload;
|
|
957
|
-
return _objectSpread(_objectSpread({}, state), {}, {
|
|
958
|
-
customer: _objectSpread(_objectSpread({}, state.customer), {}, {
|
|
959
|
-
invoiceEmail
|
|
960
|
-
})
|
|
961
|
-
});
|
|
962
|
-
}
|
|
963
964
|
default:
|
|
964
965
|
return state;
|
|
965
966
|
}
|
|
@@ -123,6 +123,7 @@ const InternalSingleOrderPage = () => {
|
|
|
123
123
|
page: 0
|
|
124
124
|
});
|
|
125
125
|
const customerFormRef = (0, _react.useRef)();
|
|
126
|
+
const filtersRef = (0, _react.useRef)();
|
|
126
127
|
const {
|
|
127
128
|
createSingleOrder,
|
|
128
129
|
isCreatingSingleOrder,
|
|
@@ -212,7 +213,11 @@ const InternalSingleOrderPage = () => {
|
|
|
212
213
|
});
|
|
213
214
|
}
|
|
214
215
|
};
|
|
216
|
+
const [filtersResetTrigger, setFiltersResetTrigger] = (0, _react.useState)(false);
|
|
215
217
|
const filterModelOrLicenseplate = filter => {
|
|
218
|
+
var _filtersRef$current;
|
|
219
|
+
(_filtersRef$current = filtersRef.current) === null || _filtersRef$current === void 0 || _filtersRef$current.resetFilters(true);
|
|
220
|
+
resetFilters();
|
|
216
221
|
if (filter.type === 'model') {
|
|
217
222
|
dispatch({
|
|
218
223
|
type: _OrderSessionContext.orderSessionActions.SET_MODEL,
|
|
@@ -280,6 +285,7 @@ const InternalSingleOrderPage = () => {
|
|
|
280
285
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
281
286
|
className: (0, _helpers__.withStyle)('container page-content')
|
|
282
287
|
}, showProductOverview && /*#__PURE__*/_react.default.createElement(_InternalSingleOrderFilters.default, {
|
|
288
|
+
ref: filtersRef,
|
|
283
289
|
resetFilters: resetFilters,
|
|
284
290
|
onFilterChange: handleSelectedFilterChange,
|
|
285
291
|
openModal: () => setIsLicenseplateModalOpen(true)
|
|
@@ -28,3 +28,25 @@ button[class*='link']:not([class*='btn']) {
|
|
|
28
28
|
border: 0;
|
|
29
29
|
text-decoration: underline;
|
|
30
30
|
}
|
|
31
|
+
|
|
32
|
+
.strikethrough {
|
|
33
|
+
@include font-size(16);
|
|
34
|
+
|
|
35
|
+
position: relative;
|
|
36
|
+
|
|
37
|
+
&::before {
|
|
38
|
+
color: red;
|
|
39
|
+
position: absolute;
|
|
40
|
+
content: '';
|
|
41
|
+
left: 0;
|
|
42
|
+
top: 50%;
|
|
43
|
+
right: 0;
|
|
44
|
+
border-top: 2px solid;
|
|
45
|
+
border-color: red;
|
|
46
|
+
-webkit-transform: rotate(-5deg);
|
|
47
|
+
-moz-transform: rotate(-5deg);
|
|
48
|
+
-ms-transform: rotate(-5deg);
|
|
49
|
+
-o-transform: rotate(-5deg);
|
|
50
|
+
transform: rotate(-5deg);
|
|
51
|
+
}
|
|
52
|
+
}
|