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.
@@ -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), APP_CONFIG.nodeEnv === 'development' && APP_CONFIG.internal === true && /*#__PURE__*/_react.default.createElement(_TEST_ONLY_INTERNAL_ROUTES.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 _FullPageSpinner = _interopRequireDefault(require("../__components__/Spinners/FullPageSpinner"));
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, Object.entries(products).map((_ref2, index) => {
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 _FullPageSpinner = _interopRequireDefault(require("../__components__/Spinners/FullPageSpinner"));
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(_TogglableCard.default, {
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 _FullPageSpinner = _interopRequireDefault(require("../__components__/Spinners/FullPageSpinner"));
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(_TogglableCard.default, {
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 _FullPageSpinner = _interopRequireDefault(require("../__components__/Spinners/FullPageSpinner"));
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
- }), Object.entries(products).map((_ref2, index) => {
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: Object.entries(vehicleDetails).filter(_ref2 => {
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
- // Skip modal entirely when auto-selecting the single available branch
291
- if (shouldAutoSelect) {
292
- return null;
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, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thm-p3-configurator",
3
- "version": "0.0.273",
3
+ "version": "0.0.274",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "author": "EnoRm.",