thm-p3-configurator 0.0.456 → 0.0.460
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/__api__/queries.js +5 -7
- package/dist/src/shared/__components__/Header.js +3 -47
- package/dist/src/shared/__components__/Navbar.js +2 -5
- package/dist/src/shared/__components__/Spinners/FullPageSpinner.js +1 -4
- package/dist/src/shared/__components__/internal/InternalCustomerDetailsForm.js +3 -8
- package/dist/src/shared/__constants__/__tests__/index.test.js +0 -15
- package/dist/src/shared/__constants__/index.js +7 -48
- package/dist/src/shared/__containers__/ProductCartSide.js +6 -3
- package/dist/src/shared/__containers__/ProductsCartOverview.js +6 -3
- package/dist/src/shared/__containers__/internal/InternalBranchSelectorModal.js +35 -118
- package/dist/src/shared/__containers__/internal/OrderTypeSelectorModal.js +0 -8
- package/dist/src/shared/__context__/OrderSessionContext.js +0 -2
- package/dist/src/shared/__helpers__/index.js +1 -30
- package/dist/src/shared/__helpers__/singleOrderArticles.js +15 -27
- package/dist/src/shared/__helpers__/singleOrderBranchSelector.js +2 -112
- package/dist/src/shared/__helpers__/singleOrderCustomerDetails.js +1 -1
- package/dist/src/shared/__hooks__/useBranchTheme.js +1 -12
- package/dist/src/shared/__pages__/internal/InternalLicensePlatePage.js +10 -26
- package/dist/src/shared/__pages__/internal/InternalManualSelectionPage.js +1 -8
- package/dist/src/shared/__pages__/internal/InternalSingleOrderPage.js +8 -21
- package/dist/src/shared/__style__/_variables-external.scss +0 -6
- package/dist/src/shared/__style__/_variables.scss +0 -6
- package/dist/src/shared/__style__/configurator/_configurator.scss +0 -100
- package/package.json +1 -1
- package/dist/public/assets/images/logo-th-icon.png +0 -0
- package/dist/public/assets/images/logo-th-primary.png +0 -0
- package/dist/public/assets/images/logo-thl-icon.png +0 -0
- package/dist/public/assets/images/logo-thl-primary.png +0 -0
- package/dist/public/assets/images/logo-wb-icon.png +0 -0
- package/dist/public/assets/images/logo-wb-primary.png +0 -0
- package/dist/src/shared/__helpers__/__tests__/resetConfiguratorOrderCache.test.js +0 -39
- package/dist/src/shared/__helpers__/__tests__/singleOrderBranchSelector.test.js +0 -126
- package/dist/src/shared/__helpers__/__tests__/singleOrderWebshop.test.js +0 -17
- package/dist/src/shared/__helpers__/resetConfiguratorOrderCache.js +0 -22
- package/dist/src/shared/__helpers__/singleOrderWebshop.js +0 -46
|
@@ -541,8 +541,7 @@ exports.useSingleOrderCart = useSingleOrderCart;
|
|
|
541
541
|
const useOrderDataQuery = exports.useOrderDataQuery = function useOrderDataQuery() {
|
|
542
542
|
let orderParameters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
543
543
|
const [{
|
|
544
|
-
existingDossierId
|
|
545
|
-
singleOrderFlowRevision
|
|
544
|
+
existingDossierId
|
|
546
545
|
}] = (0, _OrderSessionContext.useOrderSession)();
|
|
547
546
|
const pricingFormula = (0, _usePricingFormula.usePricingFormula)();
|
|
548
547
|
const normalizedOrderParams = (0, _queryKeyFactory.normalizeOrderParams)(_objectSpread(_objectSpread({}, orderParameters), {}, {
|
|
@@ -559,7 +558,7 @@ const useOrderDataQuery = exports.useOrderDataQuery = function useOrderDataQuery
|
|
|
559
558
|
initialized
|
|
560
559
|
} = (0, _AuthSessionContext.useAuthSession)();
|
|
561
560
|
const isSessionContextReady = (0, _useSessionContextReady.useSessionContextReady)();
|
|
562
|
-
const orderQueryKey = APP_CONFIG.internal ? [...(0, _queryKeyFactory.getOrderQueryKey)(normalizedOrderParams), initialized, authenticated, isSessionContextReady
|
|
561
|
+
const orderQueryKey = APP_CONFIG.internal ? [...(0, _queryKeyFactory.getOrderQueryKey)(normalizedOrderParams), initialized, authenticated, isSessionContextReady] : (0, _queryKeyFactory.getOrderQueryKey)(normalizedOrderParams);
|
|
563
562
|
const serializedOrderParams = (0, _queryKeyFactory.serializeOrderParams)(normalizedOrderParams);
|
|
564
563
|
const hasOrderInput = (licensePlate === null || licensePlate === void 0 ? void 0 : licensePlate.length) > 5 || !!(model !== null && model !== void 0 && model.length);
|
|
565
564
|
const orderQuery = (0, _reactQuery.useQuery)(orderQueryKey, {
|
|
@@ -705,7 +704,6 @@ const useQuestionsQuery = exports.useQuestionsQuery = function useQuestionsQuery
|
|
|
705
704
|
const {
|
|
706
705
|
orderData,
|
|
707
706
|
isFetchingOrder,
|
|
708
|
-
isLoadingOrder,
|
|
709
707
|
isOrderError,
|
|
710
708
|
orderError
|
|
711
709
|
} = useOrderDataQuery(normalizedQuestionParams);
|
|
@@ -721,7 +719,7 @@ const useQuestionsQuery = exports.useQuestionsQuery = function useQuestionsQuery
|
|
|
721
719
|
}, [orderData === null || orderData === void 0 || (_orderData$executionA4 = orderData.executionAnswerOptions) === null || _orderData$executionA4 === void 0 ? void 0 : _orderData$executionA4.execution2AnswerOptions]);
|
|
722
720
|
const durationQuestion = (0, _react.useMemo)(() => (0, _helpers__.parseArrayToInputOptions)(orderData === null || orderData === void 0 ? void 0 : orderData.durationAnswerOptions), [orderData === null || orderData === void 0 ? void 0 : orderData.durationAnswerOptions]);
|
|
723
721
|
return {
|
|
724
|
-
isLoadingQuestions: isFetchingOrder
|
|
722
|
+
isLoadingQuestions: isFetchingOrder,
|
|
725
723
|
isQuestionsError: isOrderError,
|
|
726
724
|
execution1Answer: orderData === null || orderData === void 0 || (_orderData$answers = orderData.answers) === null || _orderData$answers === void 0 ? void 0 : _orderData$answers.execution1,
|
|
727
725
|
execution2Answer: orderData === null || orderData === void 0 || (_orderData$answers2 = orderData.answers) === null || _orderData$answers2 === void 0 ? void 0 : _orderData$answers2.execution2,
|
|
@@ -735,14 +733,14 @@ const useQuestionsQuery = exports.useQuestionsQuery = function useQuestionsQuery
|
|
|
735
733
|
};
|
|
736
734
|
};
|
|
737
735
|
const useSingleOrderBranchesQuery = branchesParams => {
|
|
738
|
-
var _branchesParams
|
|
736
|
+
var _branchesParams;
|
|
739
737
|
branchesParams = _objectSpread(_objectSpread({}, branchesParams), {}, {
|
|
740
738
|
type: 'single-order'
|
|
741
739
|
});
|
|
742
740
|
const branchesParamsString = new URLSearchParams((0, _helpers__.removeNullishProps)(branchesParams)).toString();
|
|
743
741
|
const branchesQuery = (0, _reactQuery.useQuery)(['single-order-branches', branchesParamsString], {
|
|
744
742
|
queryFn: () => _authenticatedProxyApi.authenticatedProxyApi.getSingleOrderBranches(branchesParamsString).then(res => res.data),
|
|
745
|
-
enabled: !!((_branchesParams = branchesParams) !== null && _branchesParams !== void 0 && _branchesParams.branchTypeId)
|
|
743
|
+
enabled: !!((_branchesParams = branchesParams) !== null && _branchesParams !== void 0 && _branchesParams.branchTypeId)
|
|
746
744
|
});
|
|
747
745
|
return {
|
|
748
746
|
isLoadingSingleOrderBranches: branchesQuery.isLoading,
|
|
@@ -9,9 +9,6 @@ var _logoPrimaryIcon = _interopRequireDefault(require("../../../public/assets/im
|
|
|
9
9
|
var _logoThcWhite = _interopRequireDefault(require("../../../public/assets/images/logo-thc-white.svg"));
|
|
10
10
|
var _logoTmgPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-tmg-primary.png"));
|
|
11
11
|
var _tmLogo = _interopRequireDefault(require("../../../public/assets/images/tm-logo.png"));
|
|
12
|
-
var _logoWbPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-wb-primary.png"));
|
|
13
|
-
var _logoThlPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-thl-primary.png"));
|
|
14
|
-
var _logoThPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-th-primary.png"));
|
|
15
12
|
var _constants__ = require("../__constants__");
|
|
16
13
|
var _helpers__ = require("../__helpers__");
|
|
17
14
|
var _useBranchTheme = require("../__hooks__/useBranchTheme");
|
|
@@ -20,53 +17,12 @@ function _interopRequireDefault(e) {
|
|
|
20
17
|
default: e
|
|
21
18
|
};
|
|
22
19
|
}
|
|
23
|
-
const getHeaderLogo = theme => {
|
|
24
|
-
switch (theme) {
|
|
25
|
-
case _constants__.BRANCH_THEME_BY_FORMULA.TowMotive:
|
|
26
|
-
return {
|
|
27
|
-
src: _tmLogo.default,
|
|
28
|
-
alt: 'TowMotive'
|
|
29
|
-
};
|
|
30
|
-
case _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakcentrum:
|
|
31
|
-
return {
|
|
32
|
-
src: _logoThcWhite.default,
|
|
33
|
-
alt: 'Trekhaakcentrum'
|
|
34
|
-
};
|
|
35
|
-
case _constants__.BRANCH_THEME_BY_FORMULA.TowMotiveGroup:
|
|
36
|
-
return {
|
|
37
|
-
src: _logoTmgPrimary.default,
|
|
38
|
-
alt: 'TowMotive Group'
|
|
39
|
-
};
|
|
40
|
-
case _constants__.BRANCH_THEME_BY_FORMULA.WestfaliaBenelux:
|
|
41
|
-
return {
|
|
42
|
-
src: _logoWbPrimary.default,
|
|
43
|
-
alt: 'Westfalia Benelux'
|
|
44
|
-
};
|
|
45
|
-
case _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakland:
|
|
46
|
-
return {
|
|
47
|
-
src: _logoThlPrimary.default,
|
|
48
|
-
alt: 'Trekhaakland'
|
|
49
|
-
};
|
|
50
|
-
case _constants__.BRANCH_THEME_BY_FORMULA.Trekhaken:
|
|
51
|
-
return {
|
|
52
|
-
src: _logoThPrimary.default,
|
|
53
|
-
alt: 'Trekhaken.nl'
|
|
54
|
-
};
|
|
55
|
-
default:
|
|
56
|
-
return {
|
|
57
|
-
src: _logoPrimaryIcon.default,
|
|
58
|
-
alt: 'Trekhaak Montage'
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
20
|
const Header = _ref => {
|
|
63
21
|
let {
|
|
64
22
|
title,
|
|
65
23
|
subtitle = ''
|
|
66
24
|
} = _ref;
|
|
67
25
|
const theme = (0, _useBranchTheme.useBranchTheme)();
|
|
68
|
-
const headerLogo = getHeaderLogo(theme);
|
|
69
|
-
const isWebshopTheme = theme === _constants__.BRANCH_THEME_BY_FORMULA.WestfaliaBenelux || theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakland || theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaken;
|
|
70
26
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
71
27
|
className: (0, _helpers__.withStyle)("hero hero--offset")
|
|
72
28
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -76,9 +32,9 @@ const Header = _ref => {
|
|
|
76
32
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
77
33
|
className: (0, _helpers__.withStyle)('col hero__logo-container')
|
|
78
34
|
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
79
|
-
className: (0, _helpers__.withStyle)("hero__logo ".concat(theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotiveGroup ? 'hero__logo--tmg' : ''
|
|
80
|
-
src:
|
|
81
|
-
alt:
|
|
35
|
+
className: (0, _helpers__.withStyle)("hero__logo ".concat(theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotiveGroup ? 'hero__logo--tmg' : '')),
|
|
36
|
+
src: theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotive ? _tmLogo.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakcentrum ? _logoThcWhite.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotiveGroup ? _logoTmgPrimary.default : _logoPrimaryIcon.default,
|
|
37
|
+
alt: "Trekhaak Montage"
|
|
82
38
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
83
39
|
className: (0, _helpers__.withStyle)('hero__inner d-none d-lg-block')
|
|
84
40
|
}, /*#__PURE__*/_react.default.createElement("h2", null, (title === null || title === void 0 ? void 0 : title.length) > 0 ? title : 'Trekhaak offerte opstellen'), (subtitle === null || subtitle === void 0 ? void 0 : subtitle.length) > 0 && /*#__PURE__*/_react.default.createElement("p", {
|
|
@@ -9,9 +9,6 @@ var _logoThcWhite = _interopRequireDefault(require("../../../public/assets/image
|
|
|
9
9
|
var _logoTmgPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-tmg-primary.png"));
|
|
10
10
|
var _logoWhite = _interopRequireDefault(require("../../../public/assets/images/logo-white.svg"));
|
|
11
11
|
var _tmLogo = _interopRequireDefault(require("../../../public/assets/images/tm-logo.png"));
|
|
12
|
-
var _logoWbPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-wb-primary.png"));
|
|
13
|
-
var _logoThlPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-thl-primary.png"));
|
|
14
|
-
var _logoThPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-th-primary.png"));
|
|
15
12
|
var _constants__ = require("../__constants__");
|
|
16
13
|
var _helpers__ = require("../__helpers__");
|
|
17
14
|
var _Datalayer = require("../__services__/Datalayer");
|
|
@@ -43,8 +40,8 @@ const Navbar = _ref => {
|
|
|
43
40
|
})
|
|
44
41
|
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
45
42
|
className: (0, _helpers__.withStyle)('img-fluid'),
|
|
46
|
-
src: theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotive ? _tmLogo.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakcentrum ? _logoThcWhite.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotiveGroup ? _logoTmgPrimary.default :
|
|
47
|
-
alt: "
|
|
43
|
+
src: theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotive ? _tmLogo.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakcentrum ? _logoThcWhite.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotiveGroup ? _logoTmgPrimary.default : _logoWhite.default,
|
|
44
|
+
alt: "Trekhaakmontage"
|
|
48
45
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
49
46
|
className: (0, _helpers__.withStyle)('navbar__phone ms-10 d-none d-sm-flex')
|
|
50
47
|
}, /*#__PURE__*/_react.default.createElement("p", {
|
|
@@ -13,9 +13,6 @@ var _logoThcWhite = _interopRequireDefault(require("../../../../public/assets/im
|
|
|
13
13
|
var _logoTmgPrimary = _interopRequireDefault(require("../../../../public/assets/images/logo-tmg-primary.png"));
|
|
14
14
|
var _tmLogo = _interopRequireDefault(require("../../../../public/assets/images/tm-logo.png"));
|
|
15
15
|
var _logoWhite = _interopRequireDefault(require("../../../../public/assets/images/logo-white.png"));
|
|
16
|
-
var _logoWbPrimary = _interopRequireDefault(require("../../../../public/assets/images/logo-wb-primary.png"));
|
|
17
|
-
var _logoThlPrimary = _interopRequireDefault(require("../../../../public/assets/images/logo-thl-primary.png"));
|
|
18
|
-
var _logoThPrimary = _interopRequireDefault(require("../../../../public/assets/images/logo-th-primary.png"));
|
|
19
16
|
var _constants__ = require("../../__constants__");
|
|
20
17
|
var _helpers__ = require("../../__helpers__");
|
|
21
18
|
var _useBranchTheme = require("../../__hooks__/useBranchTheme");
|
|
@@ -69,7 +66,7 @@ const FullPageSpinner = _ref => {
|
|
|
69
66
|
className: "fas fa-cog fa-spin"
|
|
70
67
|
}), ' '), children ? children : /*#__PURE__*/_react.default.createElement("img", {
|
|
71
68
|
className: (0, _helpers__.withStyle)('loader__logo'),
|
|
72
|
-
src: theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotive ? _tmLogo.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakcentrum ? _logoThcWhite.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotiveGroup ? _logoTmgPrimary.default :
|
|
69
|
+
src: theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotive ? _tmLogo.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakcentrum ? _logoThcWhite.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotiveGroup ? _logoTmgPrimary.default : _logoWhite.default,
|
|
73
70
|
alt: "Trekhaak Montage - Configurator"
|
|
74
71
|
}));
|
|
75
72
|
};
|
|
@@ -32,7 +32,6 @@ var _queries = require("../../__api__/queries");
|
|
|
32
32
|
var _constants__ = require("../../__constants__");
|
|
33
33
|
var _AuthSessionContext = require("../../__context__/AuthSessionContext");
|
|
34
34
|
var _OrderSessionContext = require("../../__context__/OrderSessionContext");
|
|
35
|
-
var _FormulaContext = require("../../__context__/FormulaContext");
|
|
36
35
|
var _openingHours = require("../../__helpers__/openingHours");
|
|
37
36
|
var _helpers__ = require("../../__helpers__");
|
|
38
37
|
var _countryOptions = require("../../__helpers__/countryOptions");
|
|
@@ -163,7 +162,7 @@ const customerDetailsFormSchema = (0, _yup.object)({
|
|
|
163
162
|
})
|
|
164
163
|
});
|
|
165
164
|
const InternalCustomerDetailsForm = (_ref, ref) => {
|
|
166
|
-
var _appointment$time$get, _appointment$time, _appointment$time$get2, _appointment$date$get, _appointment$date, _appointment$date$get2, _customer$vatNumber, _customer$kvkNumber, _branchTypes$byId$aut, _authSession$branch, _ref5, _appointment$date$get3, _appointment$date2, _appointment$date2$ge;
|
|
165
|
+
var _appointment$time$get, _appointment$time, _appointment$time$get2, _appointment$date$get, _appointment$date, _appointment$date$get2, _customer$vatNumber, _customer$kvkNumber, _branchTypes$byId$aut, _authSession$branch, _authSession$branch2, _ref5, _appointment$date$get3, _appointment$date2, _appointment$date2$ge;
|
|
167
166
|
let {
|
|
168
167
|
errors = {},
|
|
169
168
|
onValidationError,
|
|
@@ -177,7 +176,6 @@ const InternalCustomerDetailsForm = (_ref, ref) => {
|
|
|
177
176
|
internalNote,
|
|
178
177
|
vehicle,
|
|
179
178
|
webshop,
|
|
180
|
-
singleOrderFormulaCode,
|
|
181
179
|
isTowCenterBranch,
|
|
182
180
|
anderAfleveradres
|
|
183
181
|
}, dispatch] = (0, _OrderSessionContext.useOrderSession)();
|
|
@@ -248,9 +246,6 @@ const InternalCustomerDetailsForm = (_ref, ref) => {
|
|
|
248
246
|
}
|
|
249
247
|
}, [openingstijden, appointment === null || appointment === void 0 ? void 0 : appointment.date, dispatch]);
|
|
250
248
|
const authSession = (0, _AuthSessionContext.useAuthSession)();
|
|
251
|
-
const orderFormula = (0, _FormulaContext.useFormula)();
|
|
252
|
-
const activeOrderFormula = singleOrderFormulaCode || orderFormula;
|
|
253
|
-
const isLooseOrderOnly = (0, _constants__.isLooseOrderOnlyFormula)(activeOrderFormula);
|
|
254
249
|
const isTmg = (0, _useIsTmg.useIsTmg)();
|
|
255
250
|
const [companySearchTerm, setCompanySearchTerm] = (0, _react.useState)('');
|
|
256
251
|
const [isCompanyInputFocused, setIsCompanyInputFocused] = (0, _react.useState)(false);
|
|
@@ -397,7 +392,7 @@ const InternalCustomerDetailsForm = (_ref, ref) => {
|
|
|
397
392
|
isLoadingBusinessBranches
|
|
398
393
|
} = (0, _queries.useBusinessBranches)({
|
|
399
394
|
searchTerm: companySearchTerm,
|
|
400
|
-
formula:
|
|
395
|
+
formula: authSession === null || authSession === void 0 || (_authSession$branch2 = authSession.branch) === null || _authSession$branch2 === void 0 ? void 0 : _authSession$branch2.formule,
|
|
401
396
|
enabled: isBusinessOwnership
|
|
402
397
|
});
|
|
403
398
|
(0, _react.useEffect)(() => {
|
|
@@ -1024,7 +1019,7 @@ const InternalCustomerDetailsForm = (_ref, ref) => {
|
|
|
1024
1019
|
isRequired: false,
|
|
1025
1020
|
form: form,
|
|
1026
1021
|
label: "Contact e-mailadres:"
|
|
1027
|
-
}))))))), !webshop &&
|
|
1022
|
+
}))))))), !webshop && /*#__PURE__*/_react.default.createElement("div", {
|
|
1028
1023
|
className: (0, _helpers__.withStyle)('col-12')
|
|
1029
1024
|
}, /*#__PURE__*/_react.default.createElement(_CardWide.default, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
1030
1025
|
className: (0, _helpers__.withStyle)('row')
|
|
@@ -16,21 +16,6 @@ describe('__constants__/formula helpers', () => {
|
|
|
16
16
|
expect((0, _index.getConfiguratorFormulaCode)('tbe')).toBe(_index.CONFIGURATOR_FORMULAS.TBE);
|
|
17
17
|
expect((0, _index.getConfiguratorFormulaCode)('abc')).toBe('ABC');
|
|
18
18
|
});
|
|
19
|
-
it.each([['WB', _index.CONFIGURATOR_FORMULAS.WB], ['Westfalia Benelux', _index.CONFIGURATOR_FORMULAS.WB], ['AzVoLXTpISqiGtVvntWIO', _index.CONFIGURATOR_FORMULAS.WB], ['THL', _index.CONFIGURATOR_FORMULAS.THL], ['Trekhaakland', _index.CONFIGURATOR_FORMULAS.THL], ['FDvtPDAYzUM_kUtlPAhoH', _index.CONFIGURATOR_FORMULAS.THL], ['TH', _index.CONFIGURATOR_FORMULAS.TH], ['Trekhaken.nl', _index.CONFIGURATOR_FORMULAS.TH], ['dRnsTvJGhmmkTrkgmivap', _index.CONFIGURATOR_FORMULAS.TH]])('normalizes %s to %s', (formula, expectedCode) => {
|
|
20
|
-
expect((0, _index.getConfiguratorFormulaCode)(formula)).toBe(expectedCode);
|
|
21
|
-
expect((0, _index.getConfiguratorFormulaCode)({
|
|
22
|
-
entityId: formula
|
|
23
|
-
})).toBe(expectedCode);
|
|
24
|
-
});
|
|
25
|
-
it.each([[_index.CONFIGURATOR_FORMULAS.WB, 'Westfalia Benelux'], [_index.CONFIGURATOR_FORMULAS.THL, 'Trekhaakland'], [_index.CONFIGURATOR_FORMULAS.TH, 'Trekhaken.nl']])('normalizes the %s title and marks it loose-order-only', (formula, title) => {
|
|
26
|
-
expect((0, _index.getConfiguratorFormulaTitle)(formula)).toBe(title);
|
|
27
|
-
expect((0, _index.isLooseOrderOnlyFormula)(formula)).toBe(true);
|
|
28
|
-
});
|
|
29
|
-
it('does not change existing formula normalization', () => {
|
|
30
|
-
expect((0, _index.getConfiguratorFormulaCode)('TM')).toBe(_index.CONFIGURATOR_FORMULAS.TOW);
|
|
31
|
-
expect((0, _index.getConfiguratorFormulaCode)('TowMotive Group')).toBe(_index.CONFIGURATOR_FORMULAS.TMG);
|
|
32
|
-
expect((0, _index.isLooseOrderOnlyFormula)(_index.CONFIGURATOR_FORMULAS.TMG)).toBe(false);
|
|
33
|
-
});
|
|
34
19
|
it('treats TBE as THC-family for theme decisions only', () => {
|
|
35
20
|
expect((0, _index.isThcFamilyFormula)(_index.CONFIGURATOR_FORMULAS.THC)).toBe(true);
|
|
36
21
|
expect((0, _index.isThcFamilyFormula)(_index.CONFIGURATOR_FORMULAS.TBE)).toBe(true);
|
|
@@ -6,7 +6,7 @@ require("core-js/modules/es.string.trim.js");
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
|
-
exports.normalizeFormulaForOrderApi = exports.mapBranchFormulaToConfiguratorFormula = exports.isThcFamilyFormula = exports.
|
|
9
|
+
exports.normalizeFormulaForOrderApi = exports.mapBranchFormulaToConfiguratorFormula = exports.isThcFamilyFormula = exports.isInvoicedOrFinishedXdmsStatus = exports.getThemeFormulaForConfiguratorFormula = exports.getConfiguratorFormulaCode = 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.INVOICED_OR_FINISHED_XDMS_STATUS_IDS = exports.FORM_ERROR_MESSAGES = exports.EXECUTION_HELP_CONTACT_DETAILS_BY_FORMULA = exports.DOSSIER_TYPES = exports.DISCOUNT_TYPES = exports.DEFAULT_MAP_LONGITUDE = exports.DEFAULT_MAP_LATITUDE = exports.DEFAULT_ARTICLE_BRAND = exports.DAY_NAMES = exports.COUNTRY_NAMES = exports.CONFIGURATOR_FORMULAS = exports.BRANCH_THEME_BY_FORMULA = exports.BRANCH_FORMULAS = exports.BOARD_COMPUTER_DISABLED_KEY = exports.ApiStockStatus = exports.AUTH_SESSION_KEY = exports.ARTICLE_SPECS_TRANSLATIONS = exports.ARTICLES_SYSTEM_FIELDS = exports.API_ERROR_CODES = exports.ALL_EXPERIMENTS = exports.ACTIVE_VARIANTS = void 0;
|
|
10
10
|
require("core-js/modules/es.array.includes.js");
|
|
11
11
|
require("core-js/modules/es.string.includes.js");
|
|
12
12
|
require("core-js/modules/es.string.trim.js");
|
|
@@ -48,28 +48,19 @@ const BRANCH_FORMULAS = exports.BRANCH_FORMULAS = {
|
|
|
48
48
|
Trekhaakcentrum: 'Trekhaakcentrum',
|
|
49
49
|
TowMotiveGroup: 'TowMotive Group',
|
|
50
50
|
TowMotive: 'TowMotive',
|
|
51
|
-
Trekhaakmontage: 'Trekhaakmontage'
|
|
52
|
-
WestfaliaBenelux: 'Westfalia Benelux',
|
|
53
|
-
Trekhaakland: 'Trekhaakland',
|
|
54
|
-
Trekhaken: 'Trekhaken.nl'
|
|
51
|
+
Trekhaakmontage: 'Trekhaakmontage'
|
|
55
52
|
};
|
|
56
53
|
const BRANCH_THEME_BY_FORMULA = exports.BRANCH_THEME_BY_FORMULA = {
|
|
57
54
|
Trekhaakcentrum: 'thc',
|
|
58
55
|
Trekhaakmontage: 'thm',
|
|
59
56
|
TowMotiveGroup: 'tmg',
|
|
60
|
-
TowMotive: 'tm'
|
|
61
|
-
WestfaliaBenelux: 'wb',
|
|
62
|
-
Trekhaakland: 'thl',
|
|
63
|
-
Trekhaken: 'th'
|
|
57
|
+
TowMotive: 'tm'
|
|
64
58
|
};
|
|
65
59
|
const PARTNER_PORTAL_PAGE_TITLES_BY_THEME = exports.PARTNER_PORTAL_PAGE_TITLES_BY_THEME = {
|
|
66
60
|
[BRANCH_THEME_BY_FORMULA.Trekhaakmontage]: 'Trekhaakmontage - Partner Portal',
|
|
67
61
|
[BRANCH_THEME_BY_FORMULA.Trekhaakcentrum]: 'Trekhaakcentrum - Partner Portal',
|
|
68
62
|
[BRANCH_THEME_BY_FORMULA.TowMotiveGroup]: 'TowMotive Group - Partner Portal',
|
|
69
|
-
[BRANCH_THEME_BY_FORMULA.TowMotive]: 'TowMotive - Partner Portal'
|
|
70
|
-
[BRANCH_THEME_BY_FORMULA.WestfaliaBenelux]: 'Westfalia Benelux - Partner Portal',
|
|
71
|
-
[BRANCH_THEME_BY_FORMULA.Trekhaakland]: 'Trekhaakland - Partner Portal',
|
|
72
|
-
[BRANCH_THEME_BY_FORMULA.Trekhaken]: 'Trekhaken.nl - Partner Portal'
|
|
63
|
+
[BRANCH_THEME_BY_FORMULA.TowMotive]: 'TowMotive - Partner Portal'
|
|
73
64
|
};
|
|
74
65
|
const DAY_NAMES = exports.DAY_NAMES = {
|
|
75
66
|
monday: 'Maandag',
|
|
@@ -258,29 +249,17 @@ const CONFIGURATOR_FORMULAS = exports.CONFIGURATOR_FORMULAS = {
|
|
|
258
249
|
TMG: 'TMG',
|
|
259
250
|
TOW: 'TOW',
|
|
260
251
|
TM: 'TOW',
|
|
261
|
-
WB: 'WB',
|
|
262
252
|
THL: 'THL',
|
|
263
253
|
TH: 'TH',
|
|
264
254
|
TowMotive: 'TowMotive'
|
|
265
255
|
};
|
|
266
|
-
const CONFIGURATOR_FORMULA_ENTITY_IDS = exports.CONFIGURATOR_FORMULA_ENTITY_IDS = {
|
|
267
|
-
WB: 'AzVoLXTpISqiGtVvntWIO',
|
|
268
|
-
THL: 'FDvtPDAYzUM_kUtlPAhoH',
|
|
269
|
-
TH: 'dRnsTvJGhmmkTrkgmivap'
|
|
270
|
-
};
|
|
271
|
-
const CONFIGURATOR_FORMULA_TITLES = exports.CONFIGURATOR_FORMULA_TITLES = {
|
|
272
|
-
[CONFIGURATOR_FORMULAS.WB]: 'Westfalia Benelux',
|
|
273
|
-
[CONFIGURATOR_FORMULAS.THL]: 'Trekhaakland',
|
|
274
|
-
[CONFIGURATOR_FORMULAS.TH]: 'Trekhaken.nl'
|
|
275
|
-
};
|
|
276
|
-
const LOOSE_ORDER_ONLY_FORMULAS = exports.LOOSE_ORDER_ONLY_FORMULAS = [CONFIGURATOR_FORMULAS.WB, CONFIGURATOR_FORMULAS.THL, CONFIGURATOR_FORMULAS.TH];
|
|
277
256
|
const normalizeFormulaInput = formula => {
|
|
278
257
|
if (formula == null) {
|
|
279
258
|
return null;
|
|
280
259
|
}
|
|
281
260
|
if (typeof formula === 'object') {
|
|
282
|
-
var _ref, _ref2, _ref3,
|
|
283
|
-
return normalizeFormulaInput((_ref = (_ref2 = (_ref3 = (
|
|
261
|
+
var _ref, _ref2, _ref3, _formula$code;
|
|
262
|
+
return normalizeFormulaInput((_ref = (_ref2 = (_ref3 = (_formula$code = formula === null || formula === void 0 ? void 0 : formula.code) !== null && _formula$code !== void 0 ? _formula$code : formula === null || formula === void 0 ? void 0 : formula.title) !== null && _ref3 !== void 0 ? _ref3 : formula === null || formula === void 0 ? void 0 : formula.formulaCode) !== null && _ref2 !== void 0 ? _ref2 : formula === null || formula === void 0 ? void 0 : formula.formule) !== null && _ref !== void 0 ? _ref : null);
|
|
284
263
|
}
|
|
285
264
|
if (typeof formula !== 'string') {
|
|
286
265
|
return null;
|
|
@@ -312,6 +291,7 @@ const getConfiguratorFormulaCode = formula => {
|
|
|
312
291
|
switch (normalizedFormula.toLowerCase()) {
|
|
313
292
|
case 'tow':
|
|
314
293
|
case 'tm':
|
|
294
|
+
case 'th':
|
|
315
295
|
case 'towmotive':
|
|
316
296
|
return CONFIGURATOR_FORMULAS.TOW;
|
|
317
297
|
case 'tmg':
|
|
@@ -327,32 +307,11 @@ const getConfiguratorFormulaCode = formula => {
|
|
|
327
307
|
case 'thm':
|
|
328
308
|
case 'trekhaakmontage':
|
|
329
309
|
return CONFIGURATOR_FORMULAS.THM;
|
|
330
|
-
case 'wb':
|
|
331
|
-
case 'westfalia benelux':
|
|
332
|
-
case 'azvolxtpisqigtvvntwio':
|
|
333
|
-
return CONFIGURATOR_FORMULAS.WB;
|
|
334
|
-
case 'thl':
|
|
335
|
-
case 'trekhaakland':
|
|
336
|
-
case 'fdvtpdayzum_kutlpahoh':
|
|
337
|
-
return CONFIGURATOR_FORMULAS.THL;
|
|
338
|
-
case 'th':
|
|
339
|
-
case 'trekhaken':
|
|
340
|
-
case 'trekhaken.nl':
|
|
341
|
-
case 'drnstvjghmmktrkgmivap':
|
|
342
|
-
return CONFIGURATOR_FORMULAS.TH;
|
|
343
310
|
default:
|
|
344
311
|
return normalizedFormula.includes(' ') ? normalizedFormula : normalizedFormula.toUpperCase();
|
|
345
312
|
}
|
|
346
313
|
};
|
|
347
314
|
exports.getConfiguratorFormulaCode = getConfiguratorFormulaCode;
|
|
348
|
-
const getConfiguratorFormulaTitle = formula => {
|
|
349
|
-
var _CONFIGURATOR_FORMULA;
|
|
350
|
-
const normalizedFormula = getConfiguratorFormulaCode(formula);
|
|
351
|
-
return (_CONFIGURATOR_FORMULA = CONFIGURATOR_FORMULA_TITLES[normalizedFormula]) !== null && _CONFIGURATOR_FORMULA !== void 0 ? _CONFIGURATOR_FORMULA : normalizedFormula;
|
|
352
|
-
};
|
|
353
|
-
exports.getConfiguratorFormulaTitle = getConfiguratorFormulaTitle;
|
|
354
|
-
const isLooseOrderOnlyFormula = formula => LOOSE_ORDER_ONLY_FORMULAS.includes(getConfiguratorFormulaCode(formula));
|
|
355
|
-
exports.isLooseOrderOnlyFormula = isLooseOrderOnlyFormula;
|
|
356
315
|
const isThcFamilyFormula = formula => {
|
|
357
316
|
const normalizedFormula = getConfiguratorFormulaCode(formula);
|
|
358
317
|
return normalizedFormula === CONFIGURATOR_FORMULAS.THC || normalizedFormula === CONFIGURATOR_FORMULAS.TBE;
|
|
@@ -129,9 +129,12 @@ const ProductCartSide = () => {
|
|
|
129
129
|
consumerDiscounts,
|
|
130
130
|
touchedConsumerDiscounts
|
|
131
131
|
});
|
|
132
|
-
//
|
|
133
|
-
//
|
|
134
|
-
|
|
132
|
+
// A selected article must not flip skipFilters on by itself. The private order
|
|
133
|
+
// API treats skipFilters as a different catalogue and then drops that article
|
|
134
|
+
// from the cart (JGP37X / 11595148). Unfiltered lookup stays on the session
|
|
135
|
+
// flag, which ProductsOverview sets when the article is missing from the
|
|
136
|
+
// filtered list, plus saved dossier lines that were never classified.
|
|
137
|
+
const shouldRequestUnfilteredProducts = Boolean(skipFilters) || Boolean(existingDossierId && (allArticleNumbers === null || allArticleNumbers === void 0 ? void 0 : allArticleNumbers.length) > 0);
|
|
135
138
|
const {
|
|
136
139
|
cart,
|
|
137
140
|
totals,
|
|
@@ -355,9 +355,12 @@ const ProductCartTable = () => {
|
|
|
355
355
|
consumerDiscounts,
|
|
356
356
|
touchedConsumerDiscounts
|
|
357
357
|
});
|
|
358
|
-
//
|
|
359
|
-
//
|
|
360
|
-
|
|
358
|
+
// A selected article must not turn skipFilters on by itself. The private order
|
|
359
|
+
// API treats skipFilters as a different catalogue and then drops that article
|
|
360
|
+
// from the cart (JGP37X / 11595148). Unfiltered lookup stays on the session
|
|
361
|
+
// flag, which ProductsOverview sets when the article is missing from the
|
|
362
|
+
// filtered list, plus saved dossier lines that were never classified.
|
|
363
|
+
const shouldRequestUnfilteredProducts = Boolean(skipFilters) || Boolean(existingDossierId && (allArticleNumbers === null || allArticleNumbers === void 0 ? void 0 : allArticleNumbers.length) > 0);
|
|
361
364
|
const durationAnswerForQuery = durationAnswerIsPrefilled ? undefined : durationAnswer;
|
|
362
365
|
const {
|
|
363
366
|
cart,
|