thm-p3-configurator 0.0.147 → 0.0.148

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.
@@ -12,6 +12,8 @@ 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"));
14
14
  var _reactRouterDom = require("react-router-dom");
15
+ var _constants__ = require("../__constants__");
16
+ var _OrderSessionContext = require("../__context__/OrderSessionContext");
15
17
  var _helpers__ = require("../__helpers__");
16
18
  function _getRequireWildcardCache(e) {
17
19
  if ("function" != typeof WeakMap) return null;
@@ -47,6 +49,14 @@ const NavigationSteps = _ref => {
47
49
  onClick = () => {}
48
50
  } = _ref;
49
51
  const [stepNumber, setStepNumber] = (0, _react.useState)(defaultActiveStep);
52
+ const [{
53
+ selectedCableset,
54
+ selectedTowbar,
55
+ selectedCombiset,
56
+ currentDossierType,
57
+ existingDossierType,
58
+ selectedBranch
59
+ }] = (0, _OrderSessionContext.useOrderSession)();
50
60
  const handleClick = _ref2 => {
51
61
  let {
52
62
  to,
@@ -60,6 +70,16 @@ const NavigationSteps = _ref => {
60
70
  stepNumber
61
71
  });
62
72
  };
73
+ const currentType = currentDossierType || existingDossierType || _constants__.DOSSIER_TYPES.PlannedAppointment;
74
+ const hasCableSetAndTowbar = selectedCableset && selectedTowbar || selectedCombiset;
75
+ const isStepDisabled = index => {
76
+ if (index >= 0 && index <= 2) return !hasCableSetAndTowbar;
77
+ if (index === 3) {
78
+ const needsBranch = currentType === _constants__.DOSSIER_TYPES.PlannedAppointment || currentType === _constants__.DOSSIER_TYPES.AppointmentRequest;
79
+ return !hasCableSetAndTowbar || needsBranch && !selectedBranch;
80
+ }
81
+ return false;
82
+ };
63
83
  return /*#__PURE__*/_react.default.createElement("div", {
64
84
  className: (0, _helpers__.withStyle)('col-12')
65
85
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -74,7 +94,7 @@ const NavigationSteps = _ref => {
74
94
  } = _ref3;
75
95
  return /*#__PURE__*/_react.default.createElement(_reactRouterDom.NavLink, {
76
96
  key: title,
77
- className: "".concat((0, _helpers__.withStyle)('btn'), " ").concat(isEveryStepActive || stepNumber >= index ? (0, _helpers__.withStyle)('active') : '', " ").concat(index > 0 && isNavigationDisabled ? (0, _helpers__.withStyle)('disabled') : '', " "),
97
+ className: "".concat((0, _helpers__.withStyle)('btn'), " ").concat(isEveryStepActive || stepNumber >= index ? (0, _helpers__.withStyle)('active') : '', " ").concat(index > stepNumber && isStepDisabled(index) || index > 0 && isNavigationDisabled ? (0, _helpers__.withStyle)('disabled') : ''),
78
98
  onClick: () => handleClick({
79
99
  to,
80
100
  title,
@@ -12,7 +12,6 @@ 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"));
14
14
  var _queries = require("../../__api__/queries");
15
- var _constants__ = require("../../__constants__");
16
15
  var _helpers__ = require("../../__helpers__");
17
16
  var _ProductCardCheckbox = _interopRequireDefault(require("./ProductCardCheckbox"));
18
17
  var _ProductCardDescription = _interopRequireDefault(require("./ProductCardDescription"));
@@ -22,6 +21,7 @@ var _ProductCardPrice = _interopRequireDefault(require("./ProductCardPrice"));
22
21
  var _ProductCardRibbon = _interopRequireDefault(require("./ProductCardRibbon"));
23
22
  var _ProductCardSpecifications = _interopRequireDefault(require("./ProductCardSpecifications"));
24
23
  var _ProductCardUsps = _interopRequireDefault(require("./ProductCardUsps"));
24
+ var _constants__ = require("../../__constants__");
25
25
  function _interopRequireDefault(e) {
26
26
  return e && e.__esModule ? e : {
27
27
  default: e
@@ -98,12 +98,10 @@ const ProductCard = _ref => {
98
98
  setIsSelected(defaultSelected);
99
99
  }, [defaultSelected]);
100
100
  (0, _react.useEffect)(() => {
101
- // Only auto-select if it's the only product in the category
102
- // Remove auto-selection of recommended products when there are multiple products
103
- if (isOnlyProductInCategory) {
101
+ if (isOnlyProductInCategory || !isAnotherProductSelected && isRecommended) {
104
102
  handleSelected(true);
105
103
  }
106
- }, [isOnlyProductInCategory]);
104
+ }, [isOnlyProductInCategory, isRecommended]);
107
105
  return /*#__PURE__*/_react.default.createElement("div", {
108
106
  key: productId,
109
107
  className: (0, _helpers__.withStyle)("card card__horizontal card__link ".concat(isSelected ? 'active' : '', " container-fluid g-0")),
@@ -28,17 +28,17 @@ var _react = _interopRequireWildcard(require("react"));
28
28
  var _reactRouter = require("react-router");
29
29
  var _logoPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-primary.png"));
30
30
  var _queries = require("../__api__/queries");
31
- var _CheckboxInput = _interopRequireDefault(require("../__components__/Form/CheckboxInput"));
32
31
  var _ProductCard = _interopRequireDefault(require("../__components__/ProductCard"));
33
32
  var _FullPageSpinner = _interopRequireDefault(require("../__components__/Spinners/FullPageSpinner"));
34
33
  var _constants__ = require("../__constants__");
35
34
  var _FormulaContext = require("../__context__/FormulaContext");
35
+ var _useIsTmg = require("../__hooks__/useIsTmg");
36
36
  var _OrderSessionContext = require("../__context__/OrderSessionContext");
37
37
  var _helpers__ = require("../__helpers__");
38
38
  var _image = require("../__helpers__/image");
39
39
  var _product = require("../__helpers__/product");
40
- var _useIsTmg = require("../__hooks__/useIsTmg");
41
40
  var _BoardComputerCard = _interopRequireDefault(require("./BoardComputerCard"));
41
+ var _CheckboxInput = _interopRequireDefault(require("../__components__/Form/CheckboxInput"));
42
42
  function _interopRequireDefault(e) {
43
43
  return e && e.__esModule ? e : {
44
44
  default: e
@@ -236,9 +236,6 @@ const ProductsOverview = () => {
236
236
  price: product === null || product === void 0 ? void 0 : product.price
237
237
  });
238
238
  }
239
-
240
- // Only preselect when it's the only product in its category
241
- const shouldPreselect = productsPerCategory.length === 1;
242
239
  return /*#__PURE__*/_react.default.createElement(_ProductCard.default, {
243
240
  isTmg: isTmg,
244
241
  stock: product === null || product === void 0 || (_product$locationPric = product.locationPrices) === null || _product$locationPric === void 0 ? void 0 : _product$locationPric.stock,
@@ -264,7 +261,7 @@ const ProductsOverview = () => {
264
261
  isDisabled: false,
265
262
  defaultSelected: [selectedCableset, selectedCombiset, selectedTowbar].includes(product.articleNumber),
266
263
  isAnotherProductSelected: isAnotherProductSelected,
267
- isOnlyProductInCategory: shouldPreselect,
264
+ isOnlyProductInCategory: productsPerCategory.length === 1,
268
265
  onSelect: _ref5 => {
269
266
  let {
270
267
  productId,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thm-p3-configurator",
3
- "version": "0.0.147",
3
+ "version": "0.0.148",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "author": "EnoRm.",