thm-p3-configurator 0.0.273 → 0.0.274
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 +1 -1
- package/dist/src/shared/__components__/Spinners/InlineSpinner.js +26 -0
- package/dist/src/shared/__containers__/ExtraProductsOverview.js +8 -7
- package/dist/src/shared/__containers__/ProductCartSide.js +8 -5
- package/dist/src/shared/__containers__/ProductsCartOverview.js +8 -5
- package/dist/src/shared/__containers__/ProductsOverview.js +8 -6
- package/dist/src/shared/__containers__/VehicleData.js +10 -2
- package/dist/src/shared/__containers__/internal/InternalBranchSelectorModal.js +21 -9
- package/package.json +1 -1
package/dist/src/shared/App.js
CHANGED
|
@@ -75,6 +75,6 @@ const App = () => {
|
|
|
75
75
|
defaultCountry: APP_CONFIG.country
|
|
76
76
|
}, /*#__PURE__*/_react.default.createElement(_OrderSessionContext.OrderSessionController, null, /*#__PURE__*/_react.default.createElement(_reactQuery.QueryClientProvider, {
|
|
77
77
|
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),
|
|
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), /*#__PURE__*/_react.default.createElement(_pages__.default, null))))))))));
|
|
79
79
|
};
|
|
80
80
|
var _default = exports.default = App;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _helpers__ = require("../../__helpers__");
|
|
9
|
+
function _interopRequireDefault(e) {
|
|
10
|
+
return e && e.__esModule ? e : {
|
|
11
|
+
default: e
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
const InlineSpinner = _ref => {
|
|
15
|
+
let {
|
|
16
|
+
size = '1rem',
|
|
17
|
+
color = 'primary'
|
|
18
|
+
} = _ref;
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement("i", {
|
|
20
|
+
className: "fas fa-cog fa-spin ".concat((0, _helpers__.withStyle)("text-".concat(color))),
|
|
21
|
+
style: {
|
|
22
|
+
fontSize: size
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
var _default = exports.default = InlineSpinner;
|
|
@@ -19,7 +19,7 @@ var _reactRouter = require("react-router");
|
|
|
19
19
|
var _logoPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-primary.png"));
|
|
20
20
|
var _queries = require("../__api__/queries");
|
|
21
21
|
var _ProductCard = _interopRequireDefault(require("../__components__/ProductCard"));
|
|
22
|
-
var
|
|
22
|
+
var _InlineSpinner = _interopRequireDefault(require("../__components__/Spinners/InlineSpinner"));
|
|
23
23
|
var _constants__ = require("../__constants__");
|
|
24
24
|
var _FormulaContext = require("../__context__/FormulaContext");
|
|
25
25
|
var _OrderSessionContext = require("../__context__/OrderSessionContext");
|
|
@@ -60,7 +60,6 @@ function _interopRequireWildcard(e, r) {
|
|
|
60
60
|
}
|
|
61
61
|
const ExtraProductsOverview = () => {
|
|
62
62
|
var _products$Extras;
|
|
63
|
-
const isProductsInitialLoad = (0, _react.useRef)(true);
|
|
64
63
|
const formula = (0, _FormulaContext.useFormula)();
|
|
65
64
|
const isTmg = (0, _useIsTmg.useIsTmg)();
|
|
66
65
|
const [skipFilters, setSkipFilters] = (0, _react.useState)(false);
|
|
@@ -104,10 +103,6 @@ const ExtraProductsOverview = () => {
|
|
|
104
103
|
discountCode,
|
|
105
104
|
skipFilters
|
|
106
105
|
});
|
|
107
|
-
if (isLoadingProducts && isProductsInitialLoad.current === true) {
|
|
108
|
-
isProductsInitialLoad.current = false;
|
|
109
|
-
return /*#__PURE__*/_react.default.createElement(_FullPageSpinner.default, null);
|
|
110
|
-
}
|
|
111
106
|
if (isProductsError || !isLoadingProducts && !(products !== null && products !== void 0 && (_products$Extras = products.Extras) !== null && _products$Extras !== void 0 && _products$Extras.length)) {
|
|
112
107
|
return /*#__PURE__*/_react.default.createElement(_reactRouter.Redirect, {
|
|
113
108
|
to: "/configurator/geen-producten"
|
|
@@ -142,7 +137,13 @@ const ExtraProductsOverview = () => {
|
|
|
142
137
|
delete products[_constants__.PRODUCT_CATEGORIES.CABLESET];
|
|
143
138
|
delete products[_constants__.PRODUCT_CATEGORIES.COMBISET];
|
|
144
139
|
delete products[_constants__.PRODUCT_CATEGORIES.BOARD_COMPUTER];
|
|
145
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null,
|
|
140
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isLoadingProducts ? /*#__PURE__*/_react.default.createElement("div", {
|
|
141
|
+
className: (0, _helpers__.withStyle)('d-flex justify-content-center align-items-center py-5')
|
|
142
|
+
}, /*#__PURE__*/_react.default.createElement(_InlineSpinner.default, {
|
|
143
|
+
size: "2rem"
|
|
144
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
145
|
+
className: (0, _helpers__.withStyle)('ms-3')
|
|
146
|
+
}, "Extra producten laden...")) : Object.entries(products).map((_ref2, index) => {
|
|
146
147
|
let [productCategory, productsPerCategory] = _ref2;
|
|
147
148
|
if (!productsPerCategory.length || productCategory !== _constants__.PRODUCT_CATEGORIES.EXTRAS) {
|
|
148
149
|
return null;
|
|
@@ -37,7 +37,7 @@ var _ProductTableSection = _interopRequireDefault(require("../__components__/Pro
|
|
|
37
37
|
var _ProductTableSectionTotal = _interopRequireDefault(require("../__components__/ProductTable/ProductTableSectionTotal"));
|
|
38
38
|
var _ProductTableStaticRow = _interopRequireDefault(require("../__components__/ProductTable/ProductTableStaticRow"));
|
|
39
39
|
var _ProductTableTotal = _interopRequireDefault(require("../__components__/ProductTable/ProductTableTotal"));
|
|
40
|
-
var
|
|
40
|
+
var _InlineSpinner = _interopRequireDefault(require("../__components__/Spinners/InlineSpinner"));
|
|
41
41
|
var _FormulaContext = require("../__context__/FormulaContext");
|
|
42
42
|
var _OrderSessionContext = require("../__context__/OrderSessionContext");
|
|
43
43
|
var _helpers__ = require("../__helpers__");
|
|
@@ -141,9 +141,6 @@ const ProductCartSide = () => {
|
|
|
141
141
|
mainProducts = [towbar, combiset, cableset, boardComputer].filter(Boolean);
|
|
142
142
|
accessoireProducts = extras.length > 0 && ((_products$Extras = products.Extras) === null || _products$Extras === void 0 ? void 0 : _products$Extras.filter(product => extras.includes(product.articleNumber.toString()))) || [];
|
|
143
143
|
}
|
|
144
|
-
if (isLoadingProducts) {
|
|
145
|
-
return /*#__PURE__*/_react.default.createElement(_FullPageSpinner.default, null);
|
|
146
|
-
}
|
|
147
144
|
|
|
148
145
|
/**
|
|
149
146
|
* Calculate item prices from a cart item
|
|
@@ -181,7 +178,13 @@ const ProductCartSide = () => {
|
|
|
181
178
|
const montageInclVat = parseFloat(totals === null || totals === void 0 ? void 0 : totals.montagePricePlusMarketCorrectionInclVat) || 0;
|
|
182
179
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
183
180
|
className: (0, _helpers__.withStyle)("col-lg mt-3")
|
|
184
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
181
|
+
}, isLoadingProducts ? /*#__PURE__*/_react.default.createElement("div", {
|
|
182
|
+
className: (0, _helpers__.withStyle)('d-flex justify-content-center align-items-center py-5')
|
|
183
|
+
}, /*#__PURE__*/_react.default.createElement(_InlineSpinner.default, {
|
|
184
|
+
size: "2rem"
|
|
185
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
186
|
+
className: (0, _helpers__.withStyle)('ms-3')
|
|
187
|
+
}, "Overzicht laden...")) : /*#__PURE__*/_react.default.createElement(_TogglableCard.default, {
|
|
185
188
|
title: 'Overzicht',
|
|
186
189
|
untoggleButton: selectedBranch ? 'Verberg inkoopprijzen' : undefined,
|
|
187
190
|
toggleButton: selectedBranch ? 'Toon inkoopprijzen' : undefined,
|
|
@@ -53,7 +53,7 @@ var _ProductTableSection = _interopRequireDefault(require("../__components__/Pro
|
|
|
53
53
|
var _ProductTableSectionTotal = _interopRequireDefault(require("../__components__/ProductTable/ProductTableSectionTotal"));
|
|
54
54
|
var _ProductTableStaticRow = _interopRequireDefault(require("../__components__/ProductTable/ProductTableStaticRow"));
|
|
55
55
|
var _ProductTableTotal = _interopRequireDefault(require("../__components__/ProductTable/ProductTableTotal"));
|
|
56
|
-
var
|
|
56
|
+
var _InlineSpinner = _interopRequireDefault(require("../__components__/Spinners/InlineSpinner"));
|
|
57
57
|
var _constants__ = require("../__constants__");
|
|
58
58
|
var _cartTable = require("../__constants__/cartTable");
|
|
59
59
|
var _FormulaContext = require("../__context__/FormulaContext");
|
|
@@ -569,9 +569,6 @@ const ProductCartTable = () => {
|
|
|
569
569
|
// RENDER
|
|
570
570
|
// ============================================================================
|
|
571
571
|
|
|
572
|
-
if (isLoadingProducts) {
|
|
573
|
-
return /*#__PURE__*/_react.default.createElement(_FullPageSpinner.default, null);
|
|
574
|
-
}
|
|
575
572
|
const showCatalogPrice = !isThc;
|
|
576
573
|
const headerColumns = (0, _cartTable2.getCartTableHeaderColumns)(displayMode, showCatalogPrice);
|
|
577
574
|
const montageRateInputCell = isThc ? {} : {
|
|
@@ -587,7 +584,13 @@ const ProductCartTable = () => {
|
|
|
587
584
|
} : {} : {};
|
|
588
585
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
589
586
|
className: (0, _helpers__.withStyle)('content col-lg')
|
|
590
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
587
|
+
}, isLoadingProducts ? /*#__PURE__*/_react.default.createElement("div", {
|
|
588
|
+
className: (0, _helpers__.withStyle)('d-flex justify-content-center align-items-center py-5')
|
|
589
|
+
}, /*#__PURE__*/_react.default.createElement(_InlineSpinner.default, {
|
|
590
|
+
size: "2rem"
|
|
591
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
592
|
+
className: (0, _helpers__.withStyle)('ms-3')
|
|
593
|
+
}, "Overzicht laden...")) : /*#__PURE__*/_react.default.createElement(_TogglableCard.default, {
|
|
591
594
|
title: "Overzicht",
|
|
592
595
|
untoggleButton: selectedBranch || isTmg ? 'Verberg inkoopprijzen' : undefined,
|
|
593
596
|
toggleButton: selectedBranch || isTmg ? 'Toon inkoopprijzen' : undefined,
|
|
@@ -26,7 +26,7 @@ var _logoPrimary = _interopRequireDefault(require("../../../public/assets/images
|
|
|
26
26
|
var _queries = require("../__api__/queries");
|
|
27
27
|
var _CheckboxInput = _interopRequireDefault(require("../__components__/Form/CheckboxInput"));
|
|
28
28
|
var _ProductCard = _interopRequireDefault(require("../__components__/ProductCard"));
|
|
29
|
-
var
|
|
29
|
+
var _InlineSpinner = _interopRequireDefault(require("../__components__/Spinners/InlineSpinner"));
|
|
30
30
|
var _constants__ = require("../__constants__");
|
|
31
31
|
var _FormulaContext = require("../__context__/FormulaContext");
|
|
32
32
|
var _OrderSessionContext = require("../__context__/OrderSessionContext");
|
|
@@ -181,10 +181,6 @@ const ProductsOverview = () => {
|
|
|
181
181
|
});
|
|
182
182
|
}
|
|
183
183
|
}, [isLoadingProducts, products, selectedTowbar, selectedCableset, selectedBoardComputer, isBoardComputerDeselected, dispatch]);
|
|
184
|
-
if (isLoadingProducts && isProductsInitialLoad.current === true) {
|
|
185
|
-
isProductsInitialLoad.current = false;
|
|
186
|
-
return /*#__PURE__*/_react.default.createElement(_FullPageSpinner.default, null);
|
|
187
|
-
}
|
|
188
184
|
if (isProductsError || !isLoadingProducts && (!(products !== null && products !== void 0 && (_products$Trekhaak3 = products.Trekhaak) !== null && _products$Trekhaak3 !== void 0 && _products$Trekhaak3.length) || !(products !== null && products !== void 0 && (_products$Kabelset = products.Kabelset) !== null && _products$Kabelset !== void 0 && _products$Kabelset.length)) && !(products !== null && products !== void 0 && (_products$Combiset = products.Combiset) !== null && _products$Combiset !== void 0 && _products$Combiset.length)) {
|
|
189
185
|
return /*#__PURE__*/_react.default.createElement(_reactRouter.Redirect, {
|
|
190
186
|
to: "/configurator/geen-producten"
|
|
@@ -305,7 +301,13 @@ const ProductsOverview = () => {
|
|
|
305
301
|
setSkipFilters(value);
|
|
306
302
|
},
|
|
307
303
|
label: "Toon alle artikelen"
|
|
308
|
-
}),
|
|
304
|
+
}), isLoadingProducts && isProductsInitialLoad.current === true ? /*#__PURE__*/_react.default.createElement("div", {
|
|
305
|
+
className: (0, _helpers__.withStyle)('d-flex justify-content-center align-items-center py-5')
|
|
306
|
+
}, /*#__PURE__*/_react.default.createElement(_InlineSpinner.default, {
|
|
307
|
+
size: "2rem"
|
|
308
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
309
|
+
className: (0, _helpers__.withStyle)('ms-3')
|
|
310
|
+
}, "Producten laden...")) : Object.entries(products).map((_ref2, index) => {
|
|
309
311
|
let [productCategory, productsPerCategory] = _ref2;
|
|
310
312
|
if (!productsPerCategory.length) {
|
|
311
313
|
return null;
|
|
@@ -19,6 +19,7 @@ var _queries = require("../__api__/queries");
|
|
|
19
19
|
var _LinkButton = _interopRequireDefault(require("../__components__/Buttons/LinkButton"));
|
|
20
20
|
var _ExpandableCard = _interopRequireDefault(require("../__components__/Cards/ExpandableCard"));
|
|
21
21
|
var _LicensePlateInput = _interopRequireDefault(require("../__components__/Form/LicensePlateInput"));
|
|
22
|
+
var _InlineSpinner = _interopRequireDefault(require("../__components__/Spinners/InlineSpinner"));
|
|
22
23
|
var _FormulaContext = require("../__context__/FormulaContext");
|
|
23
24
|
var _OrderSessionContext = require("../__context__/OrderSessionContext");
|
|
24
25
|
var _helpers__ = require("../__helpers__");
|
|
@@ -51,7 +52,8 @@ const VehicleData = _ref => {
|
|
|
51
52
|
}
|
|
52
53
|
const {
|
|
53
54
|
vehicleDetails,
|
|
54
|
-
vehicleLogo
|
|
55
|
+
vehicleLogo,
|
|
56
|
+
isLoadingProducts
|
|
55
57
|
} = (0, _queries.useProductsQuery)({
|
|
56
58
|
licensePlate,
|
|
57
59
|
model,
|
|
@@ -90,7 +92,13 @@ const VehicleData = _ref => {
|
|
|
90
92
|
className: (0, _helpers__.withStyle)('license-plate__edit link-primary col-12'),
|
|
91
93
|
type: "button"
|
|
92
94
|
})),
|
|
93
|
-
expandedBody:
|
|
95
|
+
expandedBody: isLoadingProducts ? /*#__PURE__*/_react.default.createElement("div", {
|
|
96
|
+
className: (0, _helpers__.withStyle)('d-flex justify-content-center align-items-center py-3')
|
|
97
|
+
}, /*#__PURE__*/_react.default.createElement(_InlineSpinner.default, {
|
|
98
|
+
size: "1.5rem"
|
|
99
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
100
|
+
className: (0, _helpers__.withStyle)('ms-2')
|
|
101
|
+
}, "Gegevens laden...")) : Object.entries(vehicleDetails).filter(_ref2 => {
|
|
94
102
|
let [key] = _ref2;
|
|
95
103
|
return isTmg || key !== 'kType' && key !== 'kMod';
|
|
96
104
|
}).map(_ref3 => {
|
|
@@ -72,6 +72,10 @@ const NormalPageModalContent = _ref => {
|
|
|
72
72
|
} = _ref;
|
|
73
73
|
const [_selectedBranchId, _setSelectedBranchId] = (0, _react.useState)();
|
|
74
74
|
const [_branches, _setBranches] = (0, _react.useState)([]);
|
|
75
|
+
const [{
|
|
76
|
+
licensePlate,
|
|
77
|
+
model
|
|
78
|
+
}] = (0, _OrderSessionContext.useOrderSession)();
|
|
75
79
|
const {
|
|
76
80
|
myBranches,
|
|
77
81
|
isLoadingMyBranches
|
|
@@ -97,6 +101,7 @@ const NormalPageModalContent = _ref => {
|
|
|
97
101
|
if (!(_branches !== null && _branches !== void 0 && _branches.length)) return;
|
|
98
102
|
if (selectedBranch) return;
|
|
99
103
|
const shouldAutoSelect = !existingDossierId && !isTMGOrganization && _branches.length === 1;
|
|
104
|
+
console.log(existingDossierId, isTMGOrganization, _branches.length);
|
|
100
105
|
if (!shouldAutoSelect) return;
|
|
101
106
|
const branchToSelect = (_branches$ = _branches[0]) === null || _branches$ === void 0 ? void 0 : _branches$.entityId;
|
|
102
107
|
if (branchToSelect) {
|
|
@@ -249,7 +254,9 @@ const InternalBranchSelectorModal = () => {
|
|
|
249
254
|
const [{
|
|
250
255
|
selectedBranch,
|
|
251
256
|
existingDossierId,
|
|
252
|
-
orderType
|
|
257
|
+
orderType,
|
|
258
|
+
licensePlate,
|
|
259
|
+
model
|
|
253
260
|
}, dispatch] = (0, _OrderSessionContext.useOrderSession)();
|
|
254
261
|
const {
|
|
255
262
|
myBranches,
|
|
@@ -281,15 +288,20 @@ const InternalBranchSelectorModal = () => {
|
|
|
281
288
|
};
|
|
282
289
|
const shouldShowModalForSingleOrder = APP_CONFIG.internal && !selectedBranch && !existingDossierId && isSingleOrderPage && !shouldAutoSelect;
|
|
283
290
|
const shouldShowModalForOtherPages = APP_CONFIG.internal && !selectedBranch && !existingDossierId && !isSingleOrderPage && !isTMGOrganization && !shouldAutoSelect && !isLoadingMyBranches;
|
|
284
|
-
if (isLoadingBranchTypes || isLoadingMyBranches) {
|
|
285
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
286
|
-
className: "thm-configurator-wrapper--offset"
|
|
287
|
-
}, /*#__PURE__*/_react.default.createElement(_FullPageSpinner.default, null));
|
|
288
|
-
}
|
|
289
291
|
|
|
290
|
-
//
|
|
291
|
-
|
|
292
|
-
|
|
292
|
+
// Show loading state only when we actually need to show the modal
|
|
293
|
+
const shouldShowModal = shouldShowModalForSingleOrder || shouldShowModalForOtherPages;
|
|
294
|
+
if (shouldShowModal && (isLoadingBranchTypes || isLoadingMyBranches)) {
|
|
295
|
+
if (licensePlate || model) {
|
|
296
|
+
return null;
|
|
297
|
+
}
|
|
298
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
299
|
+
className: "thm-configurator-wrapper--offset d-flex justify-content-center align-items-center py-5"
|
|
300
|
+
}, /*#__PURE__*/_react.default.createElement(_FullPageSpinner.default, {
|
|
301
|
+
size: "2rem"
|
|
302
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
303
|
+
className: "ms-3"
|
|
304
|
+
}, "Vestigingen laden..."));
|
|
293
305
|
}
|
|
294
306
|
if ((shouldShowModalForSingleOrder || shouldShowModalForOtherPages) && isTMGOrganization && formula === _constants__.CONFIGURATOR_FORMULAS.TMG && !orderType) {
|
|
295
307
|
return /*#__PURE__*/_react.default.createElement(_OrderTypeSelectorModal.default, {
|