thm-p3-configurator 0.0.259 → 0.0.262
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/__constants__/cartTable.js +29 -0
- package/dist/src/shared/__constants__/index.js +2 -1
- package/dist/src/shared/__containers__/ANWBMembershipInput.js +15 -11
- package/dist/src/shared/__containers__/AppointmentForm.js +14 -19
- package/dist/src/shared/__containers__/ExitIntentModal.js +14 -19
- package/dist/src/shared/__containers__/ExtraProductsOverview.js +21 -26
- package/dist/src/shared/__containers__/ProductCartSide.js +13 -17
- package/dist/src/shared/__containers__/ProductsCartOverview.js +326 -455
- package/dist/src/shared/__containers__/ProductsOverview.js +21 -25
- package/dist/src/shared/__containers__/QuotationForm.js +14 -19
- package/dist/src/shared/__containers__/internal/InternalAppointmentForm.js +22 -25
- package/dist/src/shared/__containers__/internal/InternalQuotationForm.js +16 -19
- package/dist/src/shared/__context__/OrderSessionContext.js +32 -2
- package/dist/src/shared/__helpers__/cartTable.js +310 -0
- package/dist/src/shared/__helpers__/product.js +93 -3
- package/dist/src/shared/__hooks__/useIsTowmotive.js +23 -0
- package/package.json +1 -1
package/dist/src/shared/App.js
CHANGED
|
@@ -18,6 +18,7 @@ var _Navbar = _interopRequireDefault(require("./__components__/Navbar"));
|
|
|
18
18
|
var _constants__ = require("./__constants__");
|
|
19
19
|
var _SentryWrapper = _interopRequireDefault(require("./__containers__/SentryWrapper"));
|
|
20
20
|
var _pages__ = _interopRequireDefault(require("./__pages__"));
|
|
21
|
+
var _TEST_ONLY_INTERNAL_ROUTES = _interopRequireDefault(require("./__pages__/internal/__TEST_ONLY_INTERNAL_ROUTES"));
|
|
21
22
|
var _StyleWrapper = _interopRequireDefault(require("./__containers__/StyleWrapper"));
|
|
22
23
|
var _InternalBranchSelectorModal = _interopRequireDefault(require("./__containers__/internal/InternalBranchSelectorModal"));
|
|
23
24
|
var _ActiveMarkerContext = require("./__context__/ActiveMarkerContext");
|
|
@@ -69,11 +70,11 @@ const App = () => {
|
|
|
69
70
|
(0, _Experiments.default)();
|
|
70
71
|
});
|
|
71
72
|
return /*#__PURE__*/_react.default.createElement(_SentryWrapper.default, null, /*#__PURE__*/_react.default.createElement(_FormulaContext.FormulaController, {
|
|
72
|
-
defaultFormula: _constants__.CONFIGURATOR_FORMULAS.
|
|
73
|
+
defaultFormula: _constants__.CONFIGURATOR_FORMULAS.TOW
|
|
73
74
|
}, /*#__PURE__*/_react.default.createElement(_CountryContext.CountryController, {
|
|
74
75
|
defaultCountry: APP_CONFIG.country
|
|
75
76
|
}, /*#__PURE__*/_react.default.createElement(_OrderSessionContext.OrderSessionController, null, /*#__PURE__*/_react.default.createElement(_reactQuery.QueryClientProvider, {
|
|
76
77
|
client: _queryClient.default
|
|
77
|
-
}, /*#__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(
|
|
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), APP_CONFIG.nodeEnv === 'development' && APP_CONFIG.internal === true && /*#__PURE__*/_react.default.createElement(_TEST_ONLY_INTERNAL_ROUTES.default, null))))))))));
|
|
78
79
|
};
|
|
79
80
|
var _default = exports.default = App;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.VAT_RATE = exports.MARKET_CORRECTION_ARTICLE_NUMBER = exports.CART_TABLE_PRICE_CELL_CLASS = exports.CART_TABLE_DISPLAY_MODES = exports.CART_TABLE_BOLD_END_CLASS = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Display modes for the cart table:
|
|
9
|
+
* - DEFAULT: No purchase prices shown (7 columns)
|
|
10
|
+
* - TOGGLED_TMG: TMG with purchase prices (8 columns)
|
|
11
|
+
* - TOGGLED_STANDARD: Standard with purchase prices (9 columns)
|
|
12
|
+
*/
|
|
13
|
+
const CART_TABLE_DISPLAY_MODES = exports.CART_TABLE_DISPLAY_MODES = {
|
|
14
|
+
DEFAULT: 'default',
|
|
15
|
+
TOGGLED_TMG: 'toggled_tmg',
|
|
16
|
+
TOGGLED_STANDARD: 'toggled_standard'
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/** CSS class for price cells in cart table */
|
|
20
|
+
const CART_TABLE_PRICE_CELL_CLASS = exports.CART_TABLE_PRICE_CELL_CLASS = 'cart__table-price text-end';
|
|
21
|
+
|
|
22
|
+
/** CSS class for bold end-aligned cells */
|
|
23
|
+
const CART_TABLE_BOLD_END_CLASS = exports.CART_TABLE_BOLD_END_CLASS = 'fw-bold text-end';
|
|
24
|
+
|
|
25
|
+
/** VAT rate for price calculations */
|
|
26
|
+
const VAT_RATE = exports.VAT_RATE = 1.21;
|
|
27
|
+
|
|
28
|
+
/** Market correction article number */
|
|
29
|
+
const MARKET_CORRECTION_ARTICLE_NUMBER = exports.MARKET_CORRECTION_ARTICLE_NUMBER = 'MC';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.mapBranchFormulaToConfiguratorFormula = exports.VESTIGING_TYPE_ID = exports.VEHICLE_SINGLE_ORDER_OWNERSHIP_TYPE = exports.VEHICLE_OWNERSHIP_TYPE = exports.VEHICLE_CODING_SUBGROUP_NAME = exports.USER_GEOLOCATION_KEY = exports.TMG_ORGANIZATION_TYPE = exports.StockStatus = exports.STATUS_ASSESSMENT = exports.PRODUCT_CATEGORIES = exports.PRIVATE_SINGLE_ORDER_SESSION_KEY = exports.PARTNER_PORTAL_PAGE_TITLES_BY_THEME = exports.PARTNER_PORTAL_CHANNEL_TITLE = exports.ORDER_SESSION_KEY = exports.NO_PRODUCTS_CONTACT_DETAILS_BY_FORMULA = exports.NAVIGATION_STEPS_INTERNAL = exports.NAVIGATION_STEPS_EXTERNAL = exports.NAVIGATION_BUTTONS = exports.MOUSE_EXIT_INTENT_THROTTLE = exports.MOUSE_EXIT_INTENT_OFFSET = exports.LOCATION_TYPE = exports.LOCATION_CHANGE_BUTTON_LABEL = exports.LOCALE = exports.LEASE_TYPE_ID = exports.FORM_ERROR_MESSAGES = exports.DOSSIER_TYPES = exports.DISCOUNT_TYPES = exports.DEFAULT_MAP_LONGITUDE = exports.DEFAULT_MAP_LATITUDE = exports.DEFAULT_ARTICLE_BRAND = exports.DAY_NAMES = exports.CONFIGURATOR_FORMULAS = exports.BRANCH_THEME_BY_FORMULA = exports.BRANCH_FORMULAS = exports.BOARD_COMPUTER_DISABLED_KEY = exports.AUTH_SESSION_KEY = exports.ARTICLE_SPECS_TRANSLATIONS = exports.ARTICLES_SYSTEM_FIELDS = exports.API_ERROR_CODES = exports.ANWB_DISCOUNT_CODE = exports.ALL_EXPERIMENTS = exports.ACTIVE_VARIANTS = void 0;
|
|
6
|
+
exports.mapBranchFormulaToConfiguratorFormula = exports.VESTIGING_TYPE_ID = exports.VEHICLE_SINGLE_ORDER_OWNERSHIP_TYPE = exports.VEHICLE_OWNERSHIP_TYPE = exports.VEHICLE_CODING_SUBGROUP_NAME = exports.USER_GEOLOCATION_KEY = exports.TOWMOTIVE_ORGANIZATION_TYPE = exports.TMG_ORGANIZATION_TYPE = exports.StockStatus = exports.STATUS_ASSESSMENT = exports.PRODUCT_CATEGORIES = exports.PRIVATE_SINGLE_ORDER_SESSION_KEY = exports.PARTNER_PORTAL_PAGE_TITLES_BY_THEME = exports.PARTNER_PORTAL_CHANNEL_TITLE = exports.ORDER_SESSION_KEY = exports.NO_PRODUCTS_CONTACT_DETAILS_BY_FORMULA = exports.NAVIGATION_STEPS_INTERNAL = exports.NAVIGATION_STEPS_EXTERNAL = exports.NAVIGATION_BUTTONS = exports.MOUSE_EXIT_INTENT_THROTTLE = exports.MOUSE_EXIT_INTENT_OFFSET = exports.LOCATION_TYPE = exports.LOCATION_CHANGE_BUTTON_LABEL = exports.LOCALE = exports.LEASE_TYPE_ID = exports.FORM_ERROR_MESSAGES = exports.DOSSIER_TYPES = exports.DISCOUNT_TYPES = exports.DEFAULT_MAP_LONGITUDE = exports.DEFAULT_MAP_LATITUDE = exports.DEFAULT_ARTICLE_BRAND = exports.DAY_NAMES = exports.CONFIGURATOR_FORMULAS = exports.BRANCH_THEME_BY_FORMULA = exports.BRANCH_FORMULAS = exports.BOARD_COMPUTER_DISABLED_KEY = exports.AUTH_SESSION_KEY = exports.ARTICLE_SPECS_TRANSLATIONS = exports.ARTICLES_SYSTEM_FIELDS = exports.API_ERROR_CODES = exports.ANWB_DISCOUNT_CODE = exports.ALL_EXPERIMENTS = exports.ACTIVE_VARIANTS = void 0;
|
|
7
7
|
const DOSSIER_TYPES = exports.DOSSIER_TYPES = {
|
|
8
8
|
Quotation: 'quotation',
|
|
9
9
|
AppointmentRequest: 'appointment-request',
|
|
@@ -259,6 +259,7 @@ const NO_PRODUCTS_CONTACT_DETAILS_BY_FORMULA = exports.NO_PRODUCTS_CONTACT_DETAI
|
|
|
259
259
|
};
|
|
260
260
|
const LOCATION_CHANGE_BUTTON_LABEL = exports.LOCATION_CHANGE_BUTTON_LABEL = 'Wijzig de locatie';
|
|
261
261
|
const TMG_ORGANIZATION_TYPE = exports.TMG_ORGANIZATION_TYPE = 'TowMotive Group';
|
|
262
|
+
const TOWMOTIVE_ORGANIZATION_TYPE = exports.TOWMOTIVE_ORGANIZATION_TYPE = 'TowMotive';
|
|
262
263
|
|
|
263
264
|
/**
|
|
264
265
|
* Maps branch formula values to CONFIGURATOR_FORMULAS
|
|
@@ -21,6 +21,7 @@ var _FormulaContext = require("../__context__/FormulaContext");
|
|
|
21
21
|
var _OrderSessionContext = require("../__context__/OrderSessionContext");
|
|
22
22
|
var _helpers__ = require("../__helpers__");
|
|
23
23
|
var _product = require("../__helpers__/product");
|
|
24
|
+
var _useIsTowmotive = require("../__hooks__/useIsTowmotive");
|
|
24
25
|
var _ANWBValidator = require("../__services__/ANWBValidator");
|
|
25
26
|
function _interopRequireDefault(e) {
|
|
26
27
|
return e && e.__esModule ? e : {
|
|
@@ -67,20 +68,23 @@ const ANWBMembershipValidator = () => {
|
|
|
67
68
|
discountCode,
|
|
68
69
|
executionAnswer1,
|
|
69
70
|
executionAnswer2,
|
|
70
|
-
priceCalculationDate
|
|
71
|
+
priceCalculationDate,
|
|
72
|
+
selectedExtras,
|
|
73
|
+
vehicleCodingDiscountPercentage
|
|
71
74
|
}, dispatch] = (0, _OrderSessionContext.useOrderSession)();
|
|
72
75
|
const [isNumberValid, setIsNumberValid] = (0, _react.useState)();
|
|
73
76
|
const formula = (0, _FormulaContext.useFormula)();
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
77
|
+
const isTowmotive = (0, _useIsTowmotive.useIsTowmotive)();
|
|
78
|
+
const cartInput = (0, _product.buildCartInput)({
|
|
79
|
+
selectedCableset,
|
|
80
|
+
selectedCombiset,
|
|
81
|
+
selectedTowbar,
|
|
82
|
+
selectedBoardComputer,
|
|
83
|
+
selectedExtras,
|
|
84
|
+
selectedDiscountedProducts,
|
|
85
|
+
isTowmotiveFormula: isTowmotive,
|
|
86
|
+
vehicleCodingDiscountPercentage
|
|
87
|
+
});
|
|
84
88
|
const {
|
|
85
89
|
discountProducts
|
|
86
90
|
} = (0, _queries.useProductsQuery)({
|
|
@@ -7,7 +7,6 @@ require("core-js/modules/es.weak-map.js");
|
|
|
7
7
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
8
8
|
require("core-js/modules/esnext.iterator.filter.js");
|
|
9
9
|
require("core-js/modules/esnext.iterator.for-each.js");
|
|
10
|
-
require("core-js/modules/esnext.iterator.map.js");
|
|
11
10
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
12
11
|
require("core-js/modules/es.weak-map.js");
|
|
13
12
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
@@ -20,7 +19,6 @@ exports.default = void 0;
|
|
|
20
19
|
require("core-js/modules/es.promise.js");
|
|
21
20
|
require("core-js/modules/es.regexp.exec.js");
|
|
22
21
|
require("core-js/modules/es.string.replace.js");
|
|
23
|
-
require("core-js/modules/esnext.iterator.map.js");
|
|
24
22
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
25
23
|
var _react = _interopRequireWildcard(require("react"));
|
|
26
24
|
var _reactRouter = require("react-router");
|
|
@@ -39,6 +37,7 @@ var _FormulaContext = require("../__context__/FormulaContext");
|
|
|
39
37
|
var _OrderSessionContext = require("../__context__/OrderSessionContext");
|
|
40
38
|
var _helpers__ = require("../__helpers__");
|
|
41
39
|
var _product = require("../__helpers__/product");
|
|
40
|
+
var _useIsTowmotive = require("../__hooks__/useIsTowmotive");
|
|
42
41
|
function _interopRequireDefault(e) {
|
|
43
42
|
return e && e.__esModule ? e : {
|
|
44
43
|
default: e
|
|
@@ -143,7 +142,8 @@ const AppointmentForm = () => {
|
|
|
143
142
|
executionAnswer2,
|
|
144
143
|
priceCalculationDate,
|
|
145
144
|
selectedDiscountedProducts = [],
|
|
146
|
-
selectedExtras
|
|
145
|
+
selectedExtras,
|
|
146
|
+
vehicleCodingDiscountPercentage
|
|
147
147
|
}, dispatch] = (0, _OrderSessionContext.useOrderSession)();
|
|
148
148
|
const [errors, setErrors] = (0, _react.useState)({});
|
|
149
149
|
const [isTermsAccepted, setIsTermsAccepted] = (0, _react.useState)(false);
|
|
@@ -154,6 +154,7 @@ const AppointmentForm = () => {
|
|
|
154
154
|
createAppointmentRequest
|
|
155
155
|
} = (0, _mutations.useCreateAppointmentRequestMutation)();
|
|
156
156
|
const formula = (0, _FormulaContext.useFormula)();
|
|
157
|
+
const isTowmotive = (0, _useIsTowmotive.useIsTowmotive)();
|
|
157
158
|
const history = (0, _reactRouter.useHistory)();
|
|
158
159
|
const handleSubmit = async () => {
|
|
159
160
|
try {
|
|
@@ -187,22 +188,16 @@ const AppointmentForm = () => {
|
|
|
187
188
|
discount: discountCode !== null && discountCode !== void 0 && discountCode.length ? {
|
|
188
189
|
code: discountCode
|
|
189
190
|
} : null,
|
|
190
|
-
cart: (0, _product.
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
}
|
|
200
|
-
let [extraArticleNumber, extraQuantity] = _ref;
|
|
201
|
-
return {
|
|
202
|
-
articleNumber: extraArticleNumber,
|
|
203
|
-
quantity: extraQuantity
|
|
204
|
-
};
|
|
205
|
-
}), ...selectedDiscountedProducts])
|
|
191
|
+
cart: (0, _product.buildCartInput)({
|
|
192
|
+
selectedCableset,
|
|
193
|
+
selectedCombiset,
|
|
194
|
+
selectedTowbar,
|
|
195
|
+
selectedBoardComputer,
|
|
196
|
+
selectedExtras,
|
|
197
|
+
selectedDiscountedProducts,
|
|
198
|
+
isTowmotiveFormula: isTowmotive,
|
|
199
|
+
vehicleCodingDiscountPercentage
|
|
200
|
+
})
|
|
206
201
|
}));
|
|
207
202
|
} catch (ex) {
|
|
208
203
|
console.error("handleSubmit(): ".concat(ex));
|
|
@@ -7,7 +7,6 @@ require("core-js/modules/es.weak-map.js");
|
|
|
7
7
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
8
8
|
require("core-js/modules/esnext.iterator.filter.js");
|
|
9
9
|
require("core-js/modules/esnext.iterator.for-each.js");
|
|
10
|
-
require("core-js/modules/esnext.iterator.map.js");
|
|
11
10
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
12
11
|
require("core-js/modules/es.weak-map.js");
|
|
13
12
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
@@ -20,7 +19,6 @@ exports.default = void 0;
|
|
|
20
19
|
require("core-js/modules/es.array.includes.js");
|
|
21
20
|
require("core-js/modules/es.promise.js");
|
|
22
21
|
require("core-js/modules/es.string.includes.js");
|
|
23
|
-
require("core-js/modules/esnext.iterator.map.js");
|
|
24
22
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
25
23
|
var _lodash = require("lodash");
|
|
26
24
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -37,6 +35,7 @@ var _OrderSessionContext = require("../__context__/OrderSessionContext");
|
|
|
37
35
|
var _helpers__ = require("../__helpers__");
|
|
38
36
|
var _product = require("../__helpers__/product");
|
|
39
37
|
var _ui = require("../__helpers__/ui");
|
|
38
|
+
var _useIsTowmotive = require("../__hooks__/useIsTowmotive");
|
|
40
39
|
function _interopRequireDefault(e) {
|
|
41
40
|
return e && e.__esModule ? e : {
|
|
42
41
|
default: e
|
|
@@ -137,9 +136,11 @@ const ExitIntentModal = () => {
|
|
|
137
136
|
executionAnswer2,
|
|
138
137
|
priceCalculationDate,
|
|
139
138
|
selectedDiscountedProducts = [],
|
|
140
|
-
selectedExtras
|
|
139
|
+
selectedExtras,
|
|
140
|
+
vehicleCodingDiscountPercentage
|
|
141
141
|
}, dispatch] = (0, _OrderSessionContext.useOrderSession)();
|
|
142
142
|
const formula = (0, _FormulaContext.useFormula)();
|
|
143
|
+
const isTowmotive = (0, _useIsTowmotive.useIsTowmotive)();
|
|
143
144
|
(0, _react.useEffect)(() => {
|
|
144
145
|
(0, _ui.scrollToFirstErrorMessage)();
|
|
145
146
|
}, [errors]);
|
|
@@ -191,22 +192,16 @@ const ExitIntentModal = () => {
|
|
|
191
192
|
})),
|
|
192
193
|
branchId: selectedBranch,
|
|
193
194
|
selectBoardComputerUpdate: selectedBoardComputer != null,
|
|
194
|
-
cart: (0, _product.
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
}
|
|
204
|
-
let [extraArticleNumber, extraQuantity] = _ref;
|
|
205
|
-
return {
|
|
206
|
-
articleNumber: extraArticleNumber,
|
|
207
|
-
quantity: extraQuantity
|
|
208
|
-
};
|
|
209
|
-
}), ...selectedDiscountedProducts])
|
|
195
|
+
cart: (0, _product.buildCartInput)({
|
|
196
|
+
selectedCableset,
|
|
197
|
+
selectedCombiset,
|
|
198
|
+
selectedTowbar,
|
|
199
|
+
selectedBoardComputer,
|
|
200
|
+
selectedExtras,
|
|
201
|
+
selectedDiscountedProducts,
|
|
202
|
+
isTowmotiveFormula: isTowmotive,
|
|
203
|
+
vehicleCodingDiscountPercentage
|
|
204
|
+
})
|
|
210
205
|
}));
|
|
211
206
|
} catch (ex) {
|
|
212
207
|
console.error("handleSubmit(): ".concat(ex));
|
|
@@ -27,7 +27,7 @@ var _helpers__ = require("../__helpers__");
|
|
|
27
27
|
var _image = require("../__helpers__/image");
|
|
28
28
|
var _product = require("../__helpers__/product");
|
|
29
29
|
var _useIsTmg = require("../__hooks__/useIsTmg");
|
|
30
|
-
var
|
|
30
|
+
var _useIsTowmotive = require("../__hooks__/useIsTowmotive");
|
|
31
31
|
function _interopRequireDefault(e) {
|
|
32
32
|
return e && e.__esModule ? e : {
|
|
33
33
|
default: e
|
|
@@ -75,24 +75,19 @@ const ExtraProductsOverview = () => {
|
|
|
75
75
|
discountCode,
|
|
76
76
|
executionAnswer1,
|
|
77
77
|
executionAnswer2,
|
|
78
|
-
durationAnswer
|
|
78
|
+
durationAnswer,
|
|
79
|
+
vehicleCodingDiscountPercentage
|
|
79
80
|
}, dispatch] = (0, _OrderSessionContext.useOrderSession)();
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
let [extraArticleNumber, extraQuantity] = _ref;
|
|
91
|
-
return {
|
|
92
|
-
articleNumber: extraArticleNumber,
|
|
93
|
-
quantity: extraQuantity
|
|
94
|
-
};
|
|
95
|
-
})]);
|
|
81
|
+
const isTowmotive = (0, _useIsTowmotive.useIsTowmotive)();
|
|
82
|
+
const cartInput = (0, _product.buildCartInput)({
|
|
83
|
+
selectedCableset,
|
|
84
|
+
selectedCombiset,
|
|
85
|
+
selectedTowbar,
|
|
86
|
+
selectedBoardComputer,
|
|
87
|
+
selectedExtras,
|
|
88
|
+
isTowmotiveFormula: isTowmotive,
|
|
89
|
+
vehicleCodingDiscountPercentage
|
|
90
|
+
});
|
|
96
91
|
const {
|
|
97
92
|
products,
|
|
98
93
|
isLoadingProducts,
|
|
@@ -118,12 +113,12 @@ const ExtraProductsOverview = () => {
|
|
|
118
113
|
to: "/configurator/geen-producten"
|
|
119
114
|
});
|
|
120
115
|
}
|
|
121
|
-
const handleProductSelected =
|
|
116
|
+
const handleProductSelected = _ref => {
|
|
122
117
|
let {
|
|
123
118
|
productId,
|
|
124
119
|
isSelected,
|
|
125
120
|
productCategory
|
|
126
|
-
} =
|
|
121
|
+
} = _ref;
|
|
127
122
|
switch (productCategory) {
|
|
128
123
|
case _constants__.PRODUCT_CATEGORIES.EXTRAS:
|
|
129
124
|
{
|
|
@@ -147,8 +142,8 @@ const ExtraProductsOverview = () => {
|
|
|
147
142
|
delete products[_constants__.PRODUCT_CATEGORIES.CABLESET];
|
|
148
143
|
delete products[_constants__.PRODUCT_CATEGORIES.COMBISET];
|
|
149
144
|
delete products[_constants__.PRODUCT_CATEGORIES.BOARD_COMPUTER];
|
|
150
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, Object.entries(products).map((
|
|
151
|
-
let [productCategory, productsPerCategory] =
|
|
145
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, Object.entries(products).map((_ref2, index) => {
|
|
146
|
+
let [productCategory, productsPerCategory] = _ref2;
|
|
152
147
|
if (!productsPerCategory.length || productCategory !== _constants__.PRODUCT_CATEGORIES.EXTRAS) {
|
|
153
148
|
return null;
|
|
154
149
|
}
|
|
@@ -158,8 +153,8 @@ const ExtraProductsOverview = () => {
|
|
|
158
153
|
items: productsPerCategory,
|
|
159
154
|
key: 'categoryName'
|
|
160
155
|
});
|
|
161
|
-
const groupedProductsArray = Object.entries(groupedProducts).map(
|
|
162
|
-
let [categoryName, products] =
|
|
156
|
+
const groupedProductsArray = Object.entries(groupedProducts).map(_ref3 => {
|
|
157
|
+
let [categoryName, products] = _ref3;
|
|
163
158
|
return {
|
|
164
159
|
categoryName,
|
|
165
160
|
products
|
|
@@ -187,11 +182,11 @@ const ExtraProductsOverview = () => {
|
|
|
187
182
|
}) : _logoPrimary.default,
|
|
188
183
|
isDisabled: false,
|
|
189
184
|
defaultSelected: selectedExtras.hasOwnProperty(product.articleNumber),
|
|
190
|
-
onSelect:
|
|
185
|
+
onSelect: _ref4 => {
|
|
191
186
|
let {
|
|
192
187
|
productId,
|
|
193
188
|
isSelected
|
|
194
|
-
} =
|
|
189
|
+
} = _ref4;
|
|
195
190
|
return handleProductSelected({
|
|
196
191
|
productId,
|
|
197
192
|
isSelected,
|
|
@@ -43,6 +43,7 @@ var _OrderSessionContext = require("../__context__/OrderSessionContext");
|
|
|
43
43
|
var _helpers__ = require("../__helpers__");
|
|
44
44
|
var _image = require("../__helpers__/image");
|
|
45
45
|
var _product = require("../__helpers__/product");
|
|
46
|
+
var _useIsTowmotive = require("../__hooks__/useIsTowmotive");
|
|
46
47
|
function _interopRequireDefault(e) {
|
|
47
48
|
return e && e.__esModule ? e : {
|
|
48
49
|
default: e
|
|
@@ -90,24 +91,19 @@ const ProductCartSide = () => {
|
|
|
90
91
|
allArticleNumbers,
|
|
91
92
|
selectedExtras,
|
|
92
93
|
canAlterQuantity,
|
|
93
|
-
selectedBranch
|
|
94
|
+
selectedBranch,
|
|
95
|
+
vehicleCodingDiscountPercentage
|
|
94
96
|
} = order;
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}
|
|
105
|
-
let [extraArticleNumber, extraQuantity] = _ref;
|
|
106
|
-
return {
|
|
107
|
-
articleNumber: extraArticleNumber,
|
|
108
|
-
quantity: extraQuantity
|
|
109
|
-
};
|
|
110
|
-
})]);
|
|
97
|
+
const isTowmotive = (0, _useIsTowmotive.useIsTowmotive)();
|
|
98
|
+
const cartInput = (0, _product.buildCartInput)({
|
|
99
|
+
selectedCableset,
|
|
100
|
+
selectedCombiset,
|
|
101
|
+
selectedTowbar,
|
|
102
|
+
selectedBoardComputer,
|
|
103
|
+
selectedExtras,
|
|
104
|
+
isTowmotiveFormula: isTowmotive,
|
|
105
|
+
vehicleCodingDiscountPercentage
|
|
106
|
+
});
|
|
111
107
|
const {
|
|
112
108
|
cart,
|
|
113
109
|
totals,
|