thm-p3-configurator 0.0.30 → 0.0.31

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.
@@ -4,6 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.VEHICLE_OWNERSHIP_TYPE = exports.USER_GEOLOCATION_KEY = exports.TMG_ORGANIZATION_TYPE = exports.PRODUCT_CATEGORIES = exports.ORDER_SESSION_KEY = exports.NAVIGATION_STEPS_INTERNAL = exports.NAVIGATION_STEPS_EXTERNAL = exports.NAVIGATION_BUTTONS = exports.MOUSE_EXIT_INTENT_THROTTLE = exports.MOUSE_EXIT_INTENT_OFFSET = exports.LOCALE = exports.FORM_ERROR_MESSAGES = exports.DOSSIER_TYPES = exports.DISCOUNT_TYPES = exports.DEFAULT_MAP_LONGITUDE = exports.DEFAULT_MAP_LATITUDE = exports.CONFIGURATOR_FORMULAS = exports.BOARD_COMPUTER_DISABLED_KEY = exports.AUTH_SESSION_KEY = exports.ARTICLES_SYSTEM_FIELDS = exports.API_ERROR_CODES = exports.ANWB_DISCOUNT_CODE = exports.ALL_EXPERIMENTS = exports.ACTIVE_VARIANTS = void 0;
7
+ const DOSSIER_TYPES = exports.DOSSIER_TYPES = {
8
+ Quotation: 'quotation',
9
+ AppointmentRequest: 'appointment-request',
10
+ PlannedAppointment: 'appointment'
11
+ };
7
12
  const USER_GEOLOCATION_KEY = exports.USER_GEOLOCATION_KEY = '_userGeolocation';
8
13
  const FORM_ERROR_MESSAGES = exports.FORM_ERROR_MESSAGES = {
9
14
  required: 'Verplicht',
@@ -76,11 +81,13 @@ const NAVIGATION_BUTTONS = exports.NAVIGATION_BUTTONS = {
76
81
  }, {
77
82
  to: '/configurator/offerte',
78
83
  label: 'Mail mij de offerte',
79
- type: 'prev'
84
+ type: 'prev',
85
+ shouldShowForDossierTypes: [DOSSIER_TYPES.Quotation]
80
86
  }, {
81
87
  to: '/configurator/montagelocatie',
82
88
  label: 'Maak een afspraak',
83
- type: 'next'
89
+ type: 'next',
90
+ shouldShowForDossierTypes: [DOSSIER_TYPES.AppointmentRequest, DOSSIER_TYPES.PlannedAppointment]
84
91
  }],
85
92
  '/configurator/montagelocatie': [{
86
93
  to: '/configurator/overzicht',
@@ -126,9 +133,4 @@ const VEHICLE_OWNERSHIP_TYPE = exports.VEHICLE_OWNERSHIP_TYPE = {
126
133
  const DISCOUNT_TYPES = exports.DISCOUNT_TYPES = {
127
134
  Percentage: '%',
128
135
  Amount: '€'
129
- };
130
- const DOSSIER_TYPES = exports.DOSSIER_TYPES = {
131
- Quotation: 'quotation',
132
- AppointmentRequest: 'appointment-request',
133
- PlannedAppointment: 'appointment'
134
136
  };
@@ -1,12 +1,16 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.array.includes.js");
3
4
  require("core-js/modules/es.object.assign.js");
5
+ require("core-js/modules/es.string.includes.js");
4
6
  require("core-js/modules/web.dom-collections.iterator.js");
5
7
  require("core-js/modules/es.object.assign.js");
6
8
  Object.defineProperty(exports, "__esModule", {
7
9
  value: true
8
10
  });
9
11
  exports.default = void 0;
12
+ require("core-js/modules/es.array.includes.js");
13
+ require("core-js/modules/es.string.includes.js");
10
14
  require("core-js/modules/web.dom-collections.iterator.js");
11
15
  var _react = _interopRequireDefault(require("react"));
12
16
  var _reactRouterDom = require("react-router-dom");
@@ -97,7 +101,8 @@ const BottomNavigationBar = () => {
97
101
  selectedTowbar,
98
102
  selectedCableset,
99
103
  selectedCombiset,
100
- selectedBranch
104
+ selectedBranch,
105
+ existingDossierType
101
106
  }] = (0, _OrderSessionContext.useOrderSession)();
102
107
  if (!(buttons !== null && buttons !== void 0 && buttons.length)) {
103
108
  return null;
@@ -115,8 +120,13 @@ const BottomNavigationBar = () => {
115
120
  let {
116
121
  to,
117
122
  label,
118
- type
123
+ type,
124
+ shouldShowForDossierTypes = []
119
125
  } = _ref2;
126
+ // Note: restrict buttons depending on the existing dossier type (if we're editing a dossier)
127
+ if (existingDossierType && shouldShowForDossierTypes.length && !shouldShowForDossierTypes.includes(existingDossierType)) {
128
+ return null;
129
+ }
120
130
  return /*#__PURE__*/_react.default.createElement("div", {
121
131
  key: 'link-' + label,
122
132
  className: (0, _helpers__.withStyle)("col-12 col-sm-auto d-flex order-2 order-sm-0 justify-content-".concat(buttons.length > 1 ? 'center' : 'end', " mt-1"))
@@ -90,6 +90,7 @@ var _OverviewPage = _interopRequireDefault(require("./OverviewPage"));
90
90
  var _ProductsPage = _interopRequireDefault(require("./ProductsPage"));
91
91
  var _QuotationPage = _interopRequireDefault(require("./QuotationPage"));
92
92
  var _QuotationThanksPage = _interopRequireDefault(require("./QuotationThanksPage"));
93
+ var _internal = require("./internal");
93
94
  function _interopRequireDefault(obj) {
94
95
  return obj && obj.__esModule ? obj : {
95
96
  default: obj
@@ -101,7 +102,7 @@ const Routes = () => {
101
102
  return /*#__PURE__*/_react.default.createElement(_reactRouterDom.Switch, null, /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
102
103
  exact: true,
103
104
  path: "/",
104
- render: props => /*#__PURE__*/_react.default.createElement(_LicensePlatePage.default, props)
105
+ render: props => /*#__PURE__*/_react.default.createElement(_internal.InternalLicensePlatePage, props)
105
106
  }), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
106
107
  exact: true,
107
108
  path: "/configurator/geen-producten",
@@ -109,40 +110,44 @@ const Routes = () => {
109
110
  }), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
110
111
  exact: true,
111
112
  path: "/configurator/montagelocatie",
112
- render: props => /*#__PURE__*/_react.default.createElement(_LocationsPage.default, props)
113
+ render: props => /*#__PURE__*/_react.default.createElement(_internal.InternalLocationsPage, props)
113
114
  }), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
114
115
  exact: true,
115
116
  path: "/configurator/gegevens/bedankt",
116
- render: props => /*#__PURE__*/_react.default.createElement(_AppointmentThanksPage.default, props)
117
+ render: props => /*#__PURE__*/_react.default.createElement(_internal.InternalAppointmentPage, props)
117
118
  }), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
118
119
  exact: true,
119
120
  path: "/configurator/offerte/bedankt",
120
121
  render: props => /*#__PURE__*/_react.default.createElement(_QuotationThanksPage.default, props)
121
122
  }), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
122
123
  path: "/configurator/trekhaakpakket",
123
- render: props => /*#__PURE__*/_react.default.createElement(_ProductsPage.default, null)
124
+ render: props => /*#__PURE__*/_react.default.createElement(_internal.InternalProductsPage, null)
124
125
  }), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
125
126
  path: "/configurator/manual",
126
- render: props => /*#__PURE__*/_react.default.createElement(_ManualSelectionPage.default, props)
127
+ render: props => /*#__PURE__*/_react.default.createElement(_internal.InternalManualSelectionPage, props)
127
128
  }), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
128
129
  exact: true,
129
130
  path: "/configurator/overzicht",
130
- render: props => /*#__PURE__*/_react.default.createElement(_OverviewPage.default, null)
131
+ render: props => /*#__PURE__*/_react.default.createElement(_internal.InternalOverviewPage, null)
131
132
  }), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
132
133
  exact: true,
133
134
  path: "/configurator/offerte",
134
- render: props => /*#__PURE__*/_react.default.createElement(_QuotationPage.default, null)
135
+ render: props => /*#__PURE__*/_react.default.createElement(_internal.InternalQuotationPage, null)
135
136
  }), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
136
137
  exact: true,
137
138
  path: "/configurator/gegevens",
138
- render: props => /*#__PURE__*/_react.default.createElement(_AppointmentPage.default, null)
139
+ render: props => /*#__PURE__*/_react.default.createElement(_internal.InternalAppointmentPage, null)
139
140
  }), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
140
141
  exact: true,
141
142
  path: "/configurator/toebehoren",
142
- render: props => /*#__PURE__*/_react.default.createElement(_ExtraProductsPage.default, null)
143
+ render: props => /*#__PURE__*/_react.default.createElement(_internal.InternalExtraProductsPage, null)
144
+ }), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
145
+ exact: true,
146
+ path: "/configurator/:id",
147
+ render: props => /*#__PURE__*/_react.default.createElement(_internal.InternalSessionEditPage, props)
143
148
  }), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
144
149
  path: "/configurator",
145
- render: props => /*#__PURE__*/_react.default.createElement(_LicensePlatePage.default, null)
150
+ render: props => /*#__PURE__*/_react.default.createElement(_internal.InternalLicensePlatePage, null)
146
151
  }), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
147
152
  path: "/niet-gevonden",
148
153
  render: () => /*#__PURE__*/_react.default.createElement(_NotFoundPage.default, null)
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/web.dom-collections.iterator.js");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = void 0;
8
+ require("core-js/modules/web.dom-collections.iterator.js");
7
9
  var _react = _interopRequireDefault(require("react"));
8
10
  var _NavigationButton = _interopRequireDefault(require("../../__components__/Buttons/NavigationButton"));
9
11
  var _Header = _interopRequireDefault(require("../../__components__/Header"));
@@ -15,6 +17,7 @@ var _ProductDiscountCard = _interopRequireDefault(require("../../__containers__/
15
17
  var _ProductsCartOverview = _interopRequireDefault(require("../../__containers__/ProductsCartOverview"));
16
18
  var _VehicleData = _interopRequireDefault(require("../../__containers__/VehicleData"));
17
19
  var _FormulaContext = require("../../__context__/FormulaContext");
20
+ var _OrderSessionContext = require("../../__context__/OrderSessionContext");
18
21
  var _helpers__ = require("../../__helpers__");
19
22
  function _interopRequireDefault(obj) {
20
23
  return obj && obj.__esModule ? obj : {
@@ -23,6 +26,9 @@ function _interopRequireDefault(obj) {
23
26
  }
24
27
  const InternalOverviewPage = () => {
25
28
  const formula = (0, _FormulaContext.useFormula)();
29
+ const [{
30
+ existingDossierType
31
+ }] = (0, _OrderSessionContext.useOrderSession)();
26
32
  return /*#__PURE__*/_react.default.createElement("div", {
27
33
  className: (0, _helpers__.withStyle)('vh-100')
28
34
  }, /*#__PURE__*/_react.default.createElement(_internal.InternalCancelDossierEdit, null), /*#__PURE__*/_react.default.createElement(_Header.default, {
@@ -44,11 +50,11 @@ const InternalOverviewPage = () => {
44
50
  className: (0, _helpers__.withStyle)("sidebar col-xxl-auto col-lg-12 pt-5")
45
51
  }, /*#__PURE__*/_react.default.createElement(_VehicleData.default, null), /*#__PURE__*/_react.default.createElement("div", {
46
52
  className: (0, _helpers__.withStyle)('d-grid gap-2 mt-3')
47
- }, /*#__PURE__*/_react.default.createElement(_NavigationButton.default, {
53
+ }, (!existingDossierType || existingDossierType === _constants__.DOSSIER_TYPES.Quotation) && /*#__PURE__*/_react.default.createElement(_NavigationButton.default, {
48
54
  to: '/configurator/offerte',
49
55
  label: 'Mail mij de offerte',
50
56
  variant: 'outline-primary'
51
- }), /*#__PURE__*/_react.default.createElement(_NavigationButton.default, {
57
+ }), (!existingDossierType || existingDossierType === _constants__.DOSSIER_TYPES.AppointmentRequest || existingDossierType === _constants__.DOSSIER_TYPES.PlannedAppointment) && /*#__PURE__*/_react.default.createElement(_NavigationButton.default, {
52
58
  variant: "primary",
53
59
  to: '/configurator/montagelocatie',
54
60
  label: 'Maak een afspraak'
@@ -135,7 +135,7 @@ const InternalSessionEditPage = props => {
135
135
  const sessionProducts = (0, _dossier.extractSessionProductsByOrder)({
136
136
  lines: dossierById === null || dossierById === void 0 ? void 0 : dossierById.lines,
137
137
  orderProducts: orderRes === null || orderRes === void 0 || (_orderRes$data = orderRes.data) === null || _orderRes$data === void 0 || (_orderRes$data = _orderRes$data.data) === null || _orderRes$data === void 0 ? void 0 : _orderRes$data.articles,
138
- boardComputerUpdate: orderRes === null || orderRes === void 0 || (_orderRes$data2 = orderRes.data) === null || _orderRes$data2 === void 0 || (_orderRes$data2 = _orderRes$data2.data) === null || _orderRes$data2 === void 0 ? void 0 : _orderRes$data2.articles.boardComputerUpdate
138
+ boardComputerUpdate: orderRes === null || orderRes === void 0 || (_orderRes$data2 = orderRes.data) === null || _orderRes$data2 === void 0 || (_orderRes$data2 = _orderRes$data2.data) === null || _orderRes$data2 === void 0 || (_orderRes$data2 = _orderRes$data2.articles) === null || _orderRes$data2 === void 0 ? void 0 : _orderRes$data2.boardComputerUpdate
139
139
  });
140
140
  dispatch({
141
141
  type: _OrderSessionContext.orderSessionActions.INITIALIZE_EXISTING_ORDER,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thm-p3-configurator",
3
- "version": "0.0.30",
3
+ "version": "0.0.31",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "author": "EnoRm.",