kitchen-simulator 4.1.7-react-18 → 4.2.1
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/README.md +3 -0
- package/es/AppContext.js +1 -1
- package/es/LiteKitchenConfigurator.js +171 -111
- package/es/LiteRenderer.js +161 -129
- package/es/actions/export.js +25 -12
- package/es/actions/project-actions.js +2 -1
- package/es/assets/gltf/door_sliding.bin +0 -0
- package/es/assets/img/svg/bottombar/elevation.svg +12 -5
- package/es/catalog/catalog.js +21 -5
- package/es/catalog/factories/area-factory-3d.js +17 -17
- package/es/catalog/factories/wall-factory.js +1 -1
- package/es/catalog/holes/window-clear/planner-element.js +2 -2
- package/es/catalog/properties/export.js +21 -0
- package/es/catalog/properties/property-checkbox.js +68 -0
- package/es/catalog/properties/property-color.js +39 -0
- package/es/catalog/properties/property-enum.js +50 -0
- package/es/catalog/properties/property-hidden.js +19 -0
- package/es/catalog/properties/property-lenght-measure.js +100 -0
- package/es/catalog/properties/property-length-measure.js +84 -0
- package/es/catalog/properties/property-length-measure_hole.js +100 -0
- package/es/catalog/properties/property-number.js +48 -0
- package/es/catalog/properties/property-read-only.js +26 -0
- package/es/catalog/properties/property-string.js +48 -0
- package/es/catalog/properties/property-toggle.js +39 -0
- package/es/catalog/properties/shared-property-style.js +14 -0
- package/es/catalog/utils/exporter.js +24 -11
- package/es/catalog/utils/item-loader.js +224 -220
- package/es/class/hole.js +0 -2
- package/es/class/item.js +92 -70
- package/es/class/layer.js +1 -1
- package/es/class/line.js +4 -8
- package/es/class/project.js +96 -81
- package/es/components/content.js +10 -93
- package/es/components/export.js +4 -6
- package/es/components/style/button.js +106 -0
- package/es/components/style/cancel-button.js +21 -0
- package/es/components/style/content-container.js +30 -0
- package/es/components/style/content-title.js +25 -0
- package/es/components/style/delete-button.js +24 -0
- package/es/components/style/export.js +28 -2
- package/es/components/style/form-block.js +20 -0
- package/es/components/style/form-color-input.js +26 -0
- package/es/components/style/form-label.js +22 -0
- package/es/components/style/form-number-input.js +29 -29
- package/es/components/style/form-number-input_2.js +200 -0
- package/es/components/style/form-select.js +19 -0
- package/es/components/style/form-slider.js +60 -0
- package/es/components/style/form-submit-button.js +25 -0
- package/es/components/style/form-text-input.js +69 -0
- package/es/components/viewer2d/grids/grid-streak.js +1 -1
- package/es/components/viewer2d/group.js +5 -4
- package/es/components/viewer2d/item.js +155 -359
- package/es/components/viewer2d/layer.js +1 -1
- package/es/components/viewer2d/line.js +22 -54
- package/es/components/viewer2d/ruler.js +16 -11
- package/es/components/viewer2d/rulerDist.js +38 -51
- package/es/components/viewer2d/rulerX.js +4 -2
- package/es/components/viewer2d/rulerY.js +3 -0
- package/es/components/viewer2d/scene.js +17 -12
- package/es/components/viewer2d/state.js +1 -1
- package/es/components/viewer2d/utils.js +2 -2
- package/es/components/viewer2d/vertex.js +3 -2
- package/es/components/viewer2d/viewer2d.js +81 -118
- package/es/components/viewer3d/front3D.js +13 -1
- package/es/components/viewer3d/ruler-utils/scene3D.js +1 -1
- package/es/components/viewer3d/scene-creator.js +270 -69
- package/es/components/viewer3d/viewer3d-first-person.js +26 -32
- package/es/components/viewer3d/viewer3d.js +110 -130
- package/es/constants.js +7 -2
- package/es/devLiteRenderer.js +491 -150
- package/es/index.js +589 -62
- package/es/models.js +13 -8
- package/es/plugins/SVGLoader.js +1414 -0
- package/es/plugins/console-debugger.js +34 -0
- package/es/plugins/export.js +7 -0
- package/es/plugins/keyboard.js +110 -0
- package/es/reducers/project-reducer.js +4 -1
- package/es/reducers/viewer2d-reducer.js +3 -1
- package/es/reducers/viewer3d-reducer.js +3 -1
- package/es/styles/export.js +5 -0
- package/es/styles/tabs.css +40 -0
- package/es/utils/geometry.js +77 -119
- package/es/utils/helper.js +38 -1
- package/es/utils/isolate-event-handler.js +829 -609
- package/es/utils/molding.js +459 -11
- package/es/utils/ruler.js +58 -0
- package/lib/AppContext.js +1 -1
- package/lib/LiteKitchenConfigurator.js +170 -111
- package/lib/LiteRenderer.js +160 -129
- package/lib/actions/export.js +35 -39
- package/lib/actions/project-actions.js +2 -1
- package/lib/assets/gltf/door_sliding.bin +0 -0
- package/lib/assets/img/svg/bottombar/elevation.svg +12 -5
- package/lib/catalog/catalog.js +20 -4
- package/lib/catalog/factories/area-factory-3d.js +14 -14
- package/lib/catalog/factories/wall-factory.js +1 -1
- package/lib/catalog/holes/window-clear/planner-element.js +2 -2
- package/lib/catalog/properties/export.js +81 -0
- package/lib/catalog/properties/property-checkbox.js +76 -0
- package/lib/catalog/properties/property-color.js +47 -0
- package/lib/catalog/properties/property-enum.js +58 -0
- package/lib/catalog/properties/property-hidden.js +27 -0
- package/lib/catalog/properties/property-lenght-measure.js +108 -0
- package/lib/catalog/properties/property-length-measure.js +92 -0
- package/lib/catalog/properties/property-length-measure_hole.js +108 -0
- package/lib/catalog/properties/property-number.js +56 -0
- package/lib/catalog/properties/property-read-only.js +34 -0
- package/lib/catalog/properties/property-string.js +56 -0
- package/lib/catalog/properties/property-toggle.js +47 -0
- package/lib/catalog/properties/shared-property-style.js +21 -0
- package/lib/catalog/utils/exporter.js +24 -11
- package/lib/catalog/utils/item-loader.js +221 -217
- package/lib/class/hole.js +0 -2
- package/lib/class/item.js +90 -68
- package/lib/class/layer.js +1 -1
- package/lib/class/line.js +3 -7
- package/lib/class/project.js +96 -81
- package/lib/components/content.js +10 -93
- package/lib/components/export.js +6 -26
- package/lib/components/style/button.js +115 -0
- package/lib/components/style/cancel-button.js +29 -0
- package/lib/components/style/content-container.js +38 -0
- package/lib/components/style/content-title.js +35 -0
- package/lib/components/style/delete-button.js +34 -0
- package/lib/components/style/export.js +105 -1
- package/lib/components/style/form-block.js +28 -0
- package/lib/components/style/form-color-input.js +34 -0
- package/lib/components/style/form-label.js +30 -0
- package/lib/components/style/form-number-input.js +29 -29
- package/lib/components/style/form-number-input_2.js +209 -0
- package/lib/components/style/form-select.js +29 -0
- package/lib/components/style/form-slider.js +68 -0
- package/lib/components/style/form-submit-button.js +35 -0
- package/lib/components/style/form-text-input.js +78 -0
- package/lib/components/viewer2d/grids/grid-streak.js +1 -1
- package/lib/components/viewer2d/group.js +5 -4
- package/lib/components/viewer2d/item.js +152 -356
- package/lib/components/viewer2d/layer.js +1 -1
- package/lib/components/viewer2d/line.js +22 -54
- package/lib/components/viewer2d/ruler.js +15 -10
- package/lib/components/viewer2d/rulerDist.js +38 -51
- package/lib/components/viewer2d/rulerX.js +4 -2
- package/lib/components/viewer2d/rulerY.js +3 -0
- package/lib/components/viewer2d/scene.js +17 -12
- package/lib/components/viewer2d/state.js +1 -1
- package/lib/components/viewer2d/utils.js +2 -2
- package/lib/components/viewer2d/vertex.js +3 -2
- package/lib/components/viewer2d/viewer2d.js +79 -115
- package/lib/components/viewer3d/front3D.js +13 -1
- package/lib/components/viewer3d/ruler-utils/scene3D.js +1 -1
- package/lib/components/viewer3d/scene-creator.js +267 -66
- package/lib/components/viewer3d/viewer3d-first-person.js +26 -32
- package/lib/components/viewer3d/viewer3d.js +107 -126
- package/lib/constants.js +12 -7
- package/lib/devLiteRenderer.js +489 -148
- package/lib/index.js +591 -62
- package/lib/models.js +13 -8
- package/lib/plugins/SVGLoader.js +1419 -0
- package/lib/plugins/console-debugger.js +42 -0
- package/lib/plugins/export.js +25 -0
- package/lib/plugins/keyboard.js +117 -0
- package/lib/reducers/project-reducer.js +4 -1
- package/lib/reducers/viewer2d-reducer.js +3 -1
- package/lib/reducers/viewer3d-reducer.js +3 -1
- package/lib/styles/export.js +13 -0
- package/lib/styles/tabs.css +40 -0
- package/lib/utils/geometry.js +77 -119
- package/lib/utils/helper.js +40 -1
- package/lib/utils/isolate-event-handler.js +829 -608
- package/lib/utils/molding.js +460 -9
- package/lib/utils/ruler.js +63 -0
- package/package.json +21 -20
- package/es/mocks/appliancePayload.json +0 -27
- package/es/mocks/cabinetPayload.json +0 -1914
- package/es/mocks/cabinetPayload2.json +0 -76
- package/es/mocks/dataBundle2.json +0 -4
- package/es/mocks/distancePayload.json +0 -6
- package/es/mocks/doorStylePayload2.json +0 -84
- package/es/mocks/furnishingPayload.json +0 -23
- package/es/mocks/itemCDSPayload.json +0 -27
- package/es/mocks/lightingPayload.json +0 -23
- package/es/mocks/mockProps.json +0 -43
- package/es/mocks/mockProps2.json +0 -9
- package/es/mocks/moldingPayload.json +0 -19
- package/es/mocks/projectItemsCatalog.json +0 -133
- package/es/mocks/rectangleShape.json +0 -238
- package/es/mocks/replaceCabinetPayload.json +0 -81
- package/es/mocks/roomShapePayload.json +0 -5
- package/es/useAppContext.js +0 -8
- package/lib/mocks/appliancePayload.json +0 -27
- package/lib/mocks/cabinetPayload.json +0 -1914
- package/lib/mocks/cabinetPayload2.json +0 -76
- package/lib/mocks/dataBundle2.json +0 -4
- package/lib/mocks/distancePayload.json +0 -6
- package/lib/mocks/doorStylePayload2.json +0 -84
- package/lib/mocks/furnishingPayload.json +0 -23
- package/lib/mocks/itemCDSPayload.json +0 -27
- package/lib/mocks/lightingPayload.json +0 -23
- package/lib/mocks/mockProps.json +0 -43
- package/lib/mocks/mockProps2.json +0 -9
- package/lib/mocks/moldingPayload.json +0 -19
- package/lib/mocks/projectItemsCatalog.json +0 -133
- package/lib/mocks/rectangleShape.json +0 -238
- package/lib/mocks/replaceCabinetPayload.json +0 -81
- package/lib/mocks/roomShapePayload.json +0 -5
- package/lib/useAppContext.js +0 -16
|
@@ -7,13 +7,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
13
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
14
15
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
16
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
17
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
18
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
19
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
17
20
|
var _convertUnitsLite = require("./utils/convert-units-lite");
|
|
18
21
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
22
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -28,8 +31,8 @@ var _translator = _interopRequireDefault(require("./translator/translator"));
|
|
|
28
31
|
var _objectsUtils = require("./utils/objects-utils");
|
|
29
32
|
var _version = require("./version");
|
|
30
33
|
var _isolateEventHandler = require("./utils/isolate-event-handler");
|
|
31
|
-
var
|
|
32
|
-
var
|
|
34
|
+
var _excluded = ["width", "height", "extractedState"];
|
|
35
|
+
var _templateObject, _templateObject2; // LiteKitchenConfigurator.jsx
|
|
33
36
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
34
37
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
35
38
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -40,14 +43,16 @@ var wrapperStyle = {
|
|
|
40
43
|
display: 'flex',
|
|
41
44
|
flexFlow: 'row nowrap'
|
|
42
45
|
};
|
|
46
|
+
var WarningItem = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n opacity: 0.8;\n position: absolute;\n border-radius: 6px;\n z-index: 11;\n background-color: #ff7400;\n width: max-content;\n align-items: center;\n padding: 10px;\n display: none;\n box-shadow:\n 0px 3px 5px -1px rgba(0, 0, 0, 0.2),\n 0px 6px 10px 0px rgba(0, 0, 0, 0.39),\n 0px 1px 18px 0px rgba(0, 0, 0, 0.12);\n top: -50px;\n left: 5px;\n color: white;\n"])));
|
|
47
|
+
var SubCategoryItemImage = _styledComponents["default"].img(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n height: 30px;\n width: 30px;\n -webkit-mask-image: url(", ");\n -webkit-mask-size: calc(100% - 2px) calc(100% - 2px);\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-position: 1px 1px;\n"])), constants.SECONDARY_PURPLE_COLOR, function (props) {
|
|
48
|
+
return props.maskImage + '?nocache=2025';
|
|
49
|
+
});
|
|
43
50
|
var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
44
51
|
function LiteKitchenConfigurator(props) {
|
|
45
52
|
var _utmRequestData2, _utmRequestData3, _utmRequestData4, _utmRequestData5, _utmRequestData6, _utmRequestData7, _utmRequestData8, _utmRequestData9, _utmRequestData0;
|
|
46
53
|
var _this;
|
|
47
54
|
(0, _classCallCheck2["default"])(this, LiteKitchenConfigurator);
|
|
48
55
|
_this = _callSuper(this, LiteKitchenConfigurator, [props]);
|
|
49
|
-
|
|
50
|
-
// utm tracking
|
|
51
56
|
var utmDetailParams = new URLSearchParams(_this.props.location && _this.props.location.search);
|
|
52
57
|
var utmStrEncoded = utmDetailParams.get('details');
|
|
53
58
|
var utmRequestData = null;
|
|
@@ -57,7 +62,7 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
57
62
|
utmRequestData = JSON.parse((0, _helper.base64Decode)(utmStrEncoded));
|
|
58
63
|
utmRequestData = JSON.parse((_utmRequestData = utmRequestData) === null || _utmRequestData === void 0 ? void 0 : _utmRequestData.utm);
|
|
59
64
|
} catch (e) {
|
|
60
|
-
console.error('Cannot parse utm parameter: ',
|
|
65
|
+
console.error('Cannot parse utm parameter: ', e);
|
|
61
66
|
utmRequestData = null;
|
|
62
67
|
}
|
|
63
68
|
}
|
|
@@ -76,7 +81,6 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
76
81
|
myProjectsOpen: false,
|
|
77
82
|
myProjectsToLogin: false,
|
|
78
83
|
downloadPopupVisible: false,
|
|
79
|
-
// For Toolbar Item
|
|
80
84
|
toolbar: '',
|
|
81
85
|
reviewQuotePopupOpened: false,
|
|
82
86
|
floorOpened: false,
|
|
@@ -94,8 +98,6 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
94
98
|
isSaved: false,
|
|
95
99
|
isLeaving: false
|
|
96
100
|
};
|
|
97
|
-
|
|
98
|
-
// For UTM tracking
|
|
99
101
|
_this.utm = {
|
|
100
102
|
utm_source: ((_utmRequestData2 = utmRequestData) === null || _utmRequestData2 === void 0 ? void 0 : _utmRequestData2.source) || 'source',
|
|
101
103
|
utm_medium: ((_utmRequestData3 = utmRequestData) === null || _utmRequestData3 === void 0 ? void 0 : _utmRequestData3.medium) || 'medium',
|
|
@@ -117,6 +119,7 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
117
119
|
_this.closeCabinetTB = _this.closeCabinetTB.bind(_this);
|
|
118
120
|
_this.closeFinishingTB = _this.closeFinishingTB.bind(_this);
|
|
119
121
|
_this.closeApplianceTB = _this.closeApplianceTB.bind(_this);
|
|
122
|
+
_this.setToolbar = _this.setToolbar.bind(_this);
|
|
120
123
|
_this.replaceCabinet = _this.replaceCabinet.bind(_this);
|
|
121
124
|
_this.setSubmitToSave = _this.setSubmitToSave.bind(_this);
|
|
122
125
|
_this.setSignOpen = _this.setSignOpen.bind(_this);
|
|
@@ -125,12 +128,22 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
125
128
|
_this.setDownloadPopupVisible = _this.setDownloadPopupVisible.bind(_this);
|
|
126
129
|
_this.neverShowInput = /*#__PURE__*/_react["default"].createRef(null);
|
|
127
130
|
_this.setShowProperty = _this.setShowProperty.bind(_this);
|
|
131
|
+
|
|
132
|
+
// cache for viewer2D init so we don't allocate merges every render
|
|
133
|
+
_this._lastExtractedStateRef = null;
|
|
134
|
+
_this._cachedViewer2DKey = null;
|
|
135
|
+
_this._cachedExtractedState = null;
|
|
128
136
|
return _this;
|
|
129
137
|
}
|
|
130
|
-
|
|
131
|
-
// Toolbar control functions
|
|
132
138
|
(0, _inherits2["default"])(LiteKitchenConfigurator, _Component);
|
|
133
139
|
return (0, _createClass2["default"])(LiteKitchenConfigurator, [{
|
|
140
|
+
key: "setToolbar",
|
|
141
|
+
value: function setToolbar(toolBarKey) {
|
|
142
|
+
this.setState({
|
|
143
|
+
toolbar: toolBarKey
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
}, {
|
|
134
147
|
key: "setShowProperty",
|
|
135
148
|
value: function setShowProperty(value) {
|
|
136
149
|
this.setState({
|
|
@@ -205,26 +218,32 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
205
218
|
}, {
|
|
206
219
|
key: "openFloor",
|
|
207
220
|
value: function openFloor() {
|
|
221
|
+
var _el$parentElement;
|
|
208
222
|
this.setState({
|
|
209
223
|
floorOpened: true
|
|
210
224
|
});
|
|
211
|
-
document.getElementById('make_floorplan_inactive')
|
|
225
|
+
var el = document.getElementById('make_floorplan_inactive');
|
|
226
|
+
if (el !== null && el !== void 0 && (_el$parentElement = el.parentElement) !== null && _el$parentElement !== void 0 && _el$parentElement.parentElement) el.parentElement.parentElement.style.zIndex = 999;
|
|
212
227
|
}
|
|
213
228
|
}, {
|
|
214
229
|
key: "openCabinet",
|
|
215
230
|
value: function openCabinet() {
|
|
231
|
+
var _el$parentElement2;
|
|
216
232
|
this.setState({
|
|
217
233
|
cabinetOpened: true
|
|
218
234
|
});
|
|
219
|
-
document.getElementById('add_cabinets_inactive')
|
|
235
|
+
var el = document.getElementById('add_cabinets_inactive');
|
|
236
|
+
if (el !== null && el !== void 0 && (_el$parentElement2 = el.parentElement) !== null && _el$parentElement2 !== void 0 && _el$parentElement2.parentElement) el.parentElement.parentElement.style.zIndex = 999;
|
|
220
237
|
}
|
|
221
238
|
}, {
|
|
222
239
|
key: "toggleDoorStyle",
|
|
223
240
|
value: function toggleDoorStyle(visible) {
|
|
241
|
+
var _el$parentElement3;
|
|
224
242
|
this.setState({
|
|
225
243
|
doorStyleOpen: visible
|
|
226
244
|
});
|
|
227
|
-
document.getElementById('select_doorstyle_inactive')
|
|
245
|
+
var el = document.getElementById('select_doorstyle_inactive');
|
|
246
|
+
if (el !== null && el !== void 0 && (_el$parentElement3 = el.parentElement) !== null && _el$parentElement3 !== void 0 && _el$parentElement3.parentElement) el.parentElement.parentElement.style.zIndex = visible ? 999 : 6;
|
|
228
247
|
}
|
|
229
248
|
}, {
|
|
230
249
|
key: "replaceCabinet",
|
|
@@ -236,101 +255,117 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
236
255
|
}, {
|
|
237
256
|
key: "openAppliance",
|
|
238
257
|
value: function openAppliance() {
|
|
258
|
+
var _el$parentElement4;
|
|
239
259
|
this.setState({
|
|
240
260
|
applianceOpened: true
|
|
241
261
|
});
|
|
242
|
-
document.getElementById('add_appliances_inactive')
|
|
262
|
+
var el = document.getElementById('add_appliances_inactive');
|
|
263
|
+
if (el !== null && el !== void 0 && (_el$parentElement4 = el.parentElement) !== null && _el$parentElement4 !== void 0 && _el$parentElement4.parentElement) el.parentElement.parentElement.style.zIndex = 999;
|
|
243
264
|
}
|
|
244
265
|
}, {
|
|
245
266
|
key: "openFinishing",
|
|
246
267
|
value: function openFinishing() {
|
|
268
|
+
var _el$parentElement5;
|
|
247
269
|
this.setState({
|
|
248
270
|
finishingOpened: true
|
|
249
271
|
});
|
|
250
|
-
document.getElementById('finishing_touches_inactive')
|
|
272
|
+
var el = document.getElementById('finishing_touches_inactive');
|
|
273
|
+
if (el !== null && el !== void 0 && (_el$parentElement5 = el.parentElement) !== null && _el$parentElement5 !== void 0 && _el$parentElement5.parentElement) el.parentElement.parentElement.style.zIndex = 999;
|
|
251
274
|
}
|
|
252
275
|
}, {
|
|
253
276
|
key: "onReviewQuoteClicked",
|
|
254
277
|
value: function onReviewQuoteClicked(visible) {
|
|
278
|
+
var _el$parentElement6;
|
|
255
279
|
this.setState({
|
|
256
280
|
reviewQuotePopupOpened: visible
|
|
257
281
|
});
|
|
258
|
-
document.getElementById('review_quote_inactive')
|
|
282
|
+
var el = document.getElementById('review_quote_inactive');
|
|
283
|
+
if (el !== null && el !== void 0 && (_el$parentElement6 = el.parentElement) !== null && _el$parentElement6 !== void 0 && _el$parentElement6.parentElement) el.parentElement.parentElement.style.zIndex = visible ? 999 : 6;
|
|
259
284
|
}
|
|
260
285
|
}, {
|
|
261
286
|
key: "closeFloorTB",
|
|
262
287
|
value: function closeFloorTB() {
|
|
288
|
+
var _el$parentElement7;
|
|
263
289
|
this.setState({
|
|
264
290
|
floorOpened: false
|
|
265
291
|
});
|
|
266
|
-
|
|
292
|
+
var el = document.getElementById('make_floorplan_inactive');
|
|
293
|
+
if (el !== null && el !== void 0 && (_el$parentElement7 = el.parentElement) !== null && _el$parentElement7 !== void 0 && _el$parentElement7.parentElement) el.parentElement.parentElement.style.zIndex = 6;
|
|
267
294
|
}
|
|
268
295
|
}, {
|
|
269
296
|
key: "closeCabinetTB",
|
|
270
297
|
value: function closeCabinetTB() {
|
|
298
|
+
var _el$parentElement8;
|
|
271
299
|
this.setState({
|
|
272
300
|
cabinetOpened: false
|
|
273
301
|
});
|
|
274
|
-
document.getElementById('add_cabinets_inactive')
|
|
302
|
+
var el = document.getElementById('add_cabinets_inactive');
|
|
303
|
+
if (el !== null && el !== void 0 && (_el$parentElement8 = el.parentElement) !== null && _el$parentElement8 !== void 0 && _el$parentElement8.parentElement) el.parentElement.parentElement.style.zIndex = 6;
|
|
275
304
|
}
|
|
276
305
|
}, {
|
|
277
306
|
key: "closeFinishingTB",
|
|
278
307
|
value: function closeFinishingTB() {
|
|
308
|
+
var _el$parentElement9;
|
|
279
309
|
this.setState({
|
|
280
310
|
finishingOpened: false
|
|
281
311
|
});
|
|
282
|
-
document.getElementById('finishing_touches_inactive')
|
|
312
|
+
var el = document.getElementById('finishing_touches_inactive');
|
|
313
|
+
if (el !== null && el !== void 0 && (_el$parentElement9 = el.parentElement) !== null && _el$parentElement9 !== void 0 && _el$parentElement9.parentElement) el.parentElement.parentElement.style.zIndex = 6;
|
|
283
314
|
}
|
|
284
315
|
}, {
|
|
285
316
|
key: "closeApplianceTB",
|
|
286
317
|
value: function closeApplianceTB() {
|
|
318
|
+
var _el$parentElement0;
|
|
287
319
|
this.setState({
|
|
288
320
|
applianceOpened: false
|
|
289
321
|
});
|
|
290
|
-
document.getElementById('add_appliances_inactive')
|
|
291
|
-
|
|
292
|
-
}, {
|
|
293
|
-
key: "closeDoorstyle",
|
|
294
|
-
value: function closeDoorstyle() {
|
|
295
|
-
this.setState({});
|
|
296
|
-
document.getElementById('select_doorstyle_inactive').parentElement.parentElement.style.zIndex = 6;
|
|
322
|
+
var el = document.getElementById('add_appliances_inactive');
|
|
323
|
+
if (el !== null && el !== void 0 && (_el$parentElement0 = el.parentElement) !== null && _el$parentElement0 !== void 0 && _el$parentElement0.parentElement) el.parentElement.parentElement.style.zIndex = 6;
|
|
297
324
|
}
|
|
298
325
|
}, {
|
|
299
|
-
key: "
|
|
300
|
-
value: function
|
|
301
|
-
this
|
|
302
|
-
|
|
326
|
+
key: "getChildContext",
|
|
327
|
+
value: function getChildContext() {
|
|
328
|
+
var _this2 = this;
|
|
329
|
+
return _objectSpread(_objectSpread({}, (0, _objectsUtils.objectsMap)(_export["default"], function (actionNamespace) {
|
|
330
|
+
return _this2.props[actionNamespace];
|
|
331
|
+
})), {}, {
|
|
332
|
+
translator: this.props.translator,
|
|
333
|
+
catalog: this.props.catalog
|
|
334
|
+
});
|
|
303
335
|
}
|
|
304
336
|
}, {
|
|
305
337
|
key: "componentDidMount",
|
|
306
338
|
value: function componentDidMount() {
|
|
307
339
|
window.forRedo = [];
|
|
340
|
+
var store = this.context.store;
|
|
341
|
+
var _this$props = this.props,
|
|
342
|
+
stateExtractor = _this$props.stateExtractor,
|
|
343
|
+
plugins = _this$props.plugins;
|
|
344
|
+
|
|
345
|
+
// keep old behavior: run plugins once on mount
|
|
346
|
+
var newplugins = (0, _toConsumableArray2["default"])(plugins);
|
|
347
|
+
newplugins.forEach(function (newplugin) {
|
|
348
|
+
return newplugin(store, stateExtractor);
|
|
349
|
+
});
|
|
308
350
|
}
|
|
309
351
|
}, {
|
|
310
352
|
key: "componentDidUpdate",
|
|
311
353
|
value: function componentDidUpdate(prevProps) {
|
|
312
|
-
var
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
if (
|
|
321
|
-
|
|
322
|
-
}
|
|
323
|
-
if (prevProps.externalEvent !== externalEvent && externalEvent) {
|
|
324
|
-
var _externalEvent$id, _externalEvent$payloa, _externalEvent$payloa2;
|
|
325
|
-
var key = (_externalEvent$id = externalEvent.id) !== null && _externalEvent$id !== void 0 ? _externalEvent$id : JSON.stringify({
|
|
326
|
-
type: externalEvent.type,
|
|
327
|
-
payload: (_externalEvent$payloa = (_externalEvent$payloa2 = externalEvent.payload) === null || _externalEvent$payloa2 === void 0 ? void 0 : _externalEvent$payloa2.mode) !== null && _externalEvent$payloa !== void 0 ? _externalEvent$payloa : externalEvent.payload
|
|
328
|
-
});
|
|
329
|
-
if (key !== this.lastHandledExternalEventKey) {
|
|
330
|
-
this.lastHandledExternalEventKey = key;
|
|
331
|
-
(0, _isolateEventHandler.handleExternalEvent)(this.props);
|
|
332
|
-
}
|
|
354
|
+
var _extractedState$getIn;
|
|
355
|
+
var _this$props2 = this.props,
|
|
356
|
+
externalEvent = _this$props2.externalEvent,
|
|
357
|
+
extractedState = _this$props2.extractedState,
|
|
358
|
+
projectActions = _this$props2.projectActions,
|
|
359
|
+
catalog = _this$props2.catalog;
|
|
360
|
+
|
|
361
|
+
// same behavior: handle external event when it changes
|
|
362
|
+
if (prevProps.externalEvent !== externalEvent) {
|
|
363
|
+
(0, _isolateEventHandler.handleExternalEvent)(this.props);
|
|
333
364
|
}
|
|
365
|
+
|
|
366
|
+
// same behavior: init catalog until ready
|
|
367
|
+
var catalogReady = extractedState === null || extractedState === void 0 || (_extractedState$getIn = extractedState.getIn) === null || _extractedState$getIn === void 0 ? void 0 : _extractedState$getIn.call(extractedState, ['catalog', 'ready']);
|
|
368
|
+
if (!catalogReady) projectActions.initCatalog(catalog);
|
|
334
369
|
}
|
|
335
370
|
}, {
|
|
336
371
|
key: "isProjectEmpty",
|
|
@@ -340,23 +375,51 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
340
375
|
var layer = layers.get(selectedLayer);
|
|
341
376
|
return layer.areas.size + layer.lines.size + layer.holes.size + layer.items.size === 0;
|
|
342
377
|
}
|
|
378
|
+
}, {
|
|
379
|
+
key: "getExtractedStateWithViewer2DInit",
|
|
380
|
+
value: function getExtractedStateWithViewer2DInit(extractedState, width, height) {
|
|
381
|
+
if (!extractedState) return extractedState;
|
|
382
|
+
|
|
383
|
+
// ✅ If the extractedState reference changed, drop cache immediately.
|
|
384
|
+
if (this._lastExtractedStateRef !== extractedState) {
|
|
385
|
+
this._lastExtractedStateRef = extractedState;
|
|
386
|
+
this._cachedViewer2DKey = null;
|
|
387
|
+
this._cachedExtractedState = null;
|
|
388
|
+
}
|
|
389
|
+
var _viewer2D = extractedState.getIn(['viewer2D']);
|
|
390
|
+
if (!_viewer2D || _viewer2D.size <= 0) return extractedState;
|
|
391
|
+
var v = _viewer2D.toJS();
|
|
392
|
+
|
|
393
|
+
// Only do the "center viewer2D if e/f are zero" logic.
|
|
394
|
+
// ✅ No need to build keys from unrelated parts of state.
|
|
395
|
+
if (v.e !== 0 || v.f !== 0) return extractedState;
|
|
396
|
+
|
|
397
|
+
// Build a cache key ONLY for this viewer2D-centering computation.
|
|
398
|
+
var cacheKey = "".concat(width, ":").concat(height, ":").concat(v.viewerWidth, ":").concat(v.viewerHeight, ":").concat(v.SVGWidth, ":").concat(v.SVGHeight);
|
|
399
|
+
if (this._cachedViewer2DKey === cacheKey && this._cachedExtractedState) {
|
|
400
|
+
return this._cachedExtractedState;
|
|
401
|
+
}
|
|
402
|
+
var centeredViewer2D = _viewer2D.merge({
|
|
403
|
+
e: v.viewerWidth / 2 - v.SVGWidth / 2,
|
|
404
|
+
f: v.viewerHeight / 2 - v.SVGHeight / 2,
|
|
405
|
+
a: 0.99,
|
|
406
|
+
d: 0.99
|
|
407
|
+
});
|
|
408
|
+
var merged = extractedState.merge({
|
|
409
|
+
viewer2D: centeredViewer2D
|
|
410
|
+
});
|
|
411
|
+
this._cachedViewer2DKey = cacheKey;
|
|
412
|
+
this._cachedExtractedState = merged;
|
|
413
|
+
return merged;
|
|
414
|
+
}
|
|
343
415
|
}, {
|
|
344
416
|
key: "render",
|
|
345
417
|
value: function render() {
|
|
346
|
-
var
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
stateExtractor = _this$props2.stateExtractor,
|
|
352
|
-
props = (0, _objectWithoutProperties2["default"])(_this$props2, _excluded);
|
|
353
|
-
var actionsFromProps = (0, _objectsUtils.objectsMap)(_export["default"], function (ns) {
|
|
354
|
-
return _this2.props[ns];
|
|
355
|
-
});
|
|
356
|
-
var appCtxValue = _objectSpread(_objectSpread({}, actionsFromProps), {}, {
|
|
357
|
-
translator: this.props.translator,
|
|
358
|
-
catalog: this.props.catalog
|
|
359
|
-
});
|
|
418
|
+
var _this$props3 = this.props,
|
|
419
|
+
width = _this$props3.width,
|
|
420
|
+
height = _this$props3.height,
|
|
421
|
+
extractedState = _this$props3.extractedState,
|
|
422
|
+
props = (0, _objectWithoutProperties2["default"])(_this$props3, _excluded);
|
|
360
423
|
var _this$state = this.state,
|
|
361
424
|
savePopupVisible = _this$state.savePopupVisible,
|
|
362
425
|
quotePopupVisible = _this$state.quotePopupVisible,
|
|
@@ -364,43 +427,11 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
364
427
|
signOpen = _this$state.signOpen,
|
|
365
428
|
myProjectsOpen = _this$state.myProjectsOpen;
|
|
366
429
|
var contentW = width - toolbarW;
|
|
367
|
-
// let contentW = width - toolbarW - sidebarW;
|
|
368
|
-
// let toolbarH = height - footerBarH;
|
|
369
|
-
// let contentH = height - footerBarH;
|
|
370
|
-
// let sidebarH = height - footerBarH;
|
|
371
|
-
var toolbarH = height;
|
|
372
430
|
var contentH = height;
|
|
373
|
-
var
|
|
374
|
-
var
|
|
375
|
-
var headerH = 60;
|
|
376
|
-
var extractedState = stateExtractor(state);
|
|
377
|
-
var firstVisit = this.state.wizardStepOpend && this.isProjectEmpty(extractedState.scene);
|
|
431
|
+
var extracted = this.getExtractedStateWithViewer2DInit(extractedState, width, height);
|
|
432
|
+
var firstVisit = this.state.wizardStepOpend && this.isProjectEmpty(extracted.scene);
|
|
378
433
|
var allVisible = firstVisit || signOpen || myProjectsOpen;
|
|
379
|
-
|
|
380
|
-
var len = (0, _convertUnitsLite.convert)(_scene.width).from(_scene.unit).to('cm');
|
|
381
|
-
var _viewer2D = extractedState.getIn(['viewer2D']);
|
|
382
|
-
if (_viewer2D.size > 0) {
|
|
383
|
-
var scaleX = width / len * 3;
|
|
384
|
-
var scaleY = height / len * 3;
|
|
385
|
-
var scale = scaleX > scaleY ? scaleY : scaleX;
|
|
386
|
-
var _e = width - len * scale,
|
|
387
|
-
_f = height - len * scale;
|
|
388
|
-
var viewer = _viewer2D.toJS();
|
|
389
|
-
if (viewer.e === 0 && viewer.f === 0) {
|
|
390
|
-
_viewer2D = _viewer2D.merge({
|
|
391
|
-
e: viewer.viewerWidth / 2 - viewer.SVGWidth / 2,
|
|
392
|
-
f: viewer.viewerHeight / 2 - viewer.SVGHeight / 2,
|
|
393
|
-
a: 0.99,
|
|
394
|
-
d: 0.99
|
|
395
|
-
});
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
extractedState = extractedState.merge({
|
|
399
|
-
viewer2D: _viewer2D
|
|
400
|
-
});
|
|
401
|
-
return /*#__PURE__*/_react["default"].createElement(_AppContext["default"].Provider, {
|
|
402
|
-
value: appCtxValue
|
|
403
|
-
}, /*#__PURE__*/_react["default"].createElement("section", null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
434
|
+
return /*#__PURE__*/_react["default"].createElement("section", null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
404
435
|
style: _objectSpread(_objectSpread({}, wrapperStyle), {}, {
|
|
405
436
|
height: height,
|
|
406
437
|
display: 'flex',
|
|
@@ -411,8 +442,9 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
411
442
|
width: contentW,
|
|
412
443
|
height: contentH,
|
|
413
444
|
catalog: this.props.catalog,
|
|
414
|
-
state:
|
|
445
|
+
state: extracted,
|
|
415
446
|
toolBar: this.state.toolbar,
|
|
447
|
+
setToolbar: this.setToolbar,
|
|
416
448
|
replaceCabinet: this.replaceCabinet,
|
|
417
449
|
keyDownEnable: !savePopupVisible && !quotePopupVisible && !assistPopupVisible
|
|
418
450
|
}, props, {
|
|
@@ -420,7 +452,20 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
420
452
|
return event.preventDefault();
|
|
421
453
|
},
|
|
422
454
|
onInternalEvent: this.props.onInternalEvent
|
|
423
|
-
}))
|
|
455
|
+
})), /*#__PURE__*/_react["default"].createElement(WarningItem, {
|
|
456
|
+
id: "warning_box_2d",
|
|
457
|
+
style: {
|
|
458
|
+
display: 'none'
|
|
459
|
+
}
|
|
460
|
+
}, /*#__PURE__*/_react["default"].createElement(SubCategoryItemImage, {
|
|
461
|
+
maskImage: "/assets/img/svg/3d_item_warning_info.svg",
|
|
462
|
+
style: {
|
|
463
|
+
backgroundColor: constants.BG_COLOR_1,
|
|
464
|
+
marginRight: 10,
|
|
465
|
+
height: 30,
|
|
466
|
+
width: 30
|
|
467
|
+
}
|
|
468
|
+
}), "This item is not available in the current door style. Replace it with another one.")));
|
|
424
469
|
}
|
|
425
470
|
}]);
|
|
426
471
|
}(_react.Component);
|
|
@@ -434,13 +479,21 @@ LiteKitchenConfigurator.propTypes = {
|
|
|
434
479
|
width: _propTypes["default"].number.isRequired,
|
|
435
480
|
height: _propTypes["default"].number.isRequired,
|
|
436
481
|
stateExtractor: _propTypes["default"].func.isRequired,
|
|
437
|
-
sidebarComponents: _propTypes["default"].array,
|
|
438
|
-
footerbarComponents: _propTypes["default"].array,
|
|
439
|
-
customContents: _propTypes["default"].object,
|
|
440
|
-
softwareSignature: _propTypes["default"].string,
|
|
441
482
|
configData: _propTypes["default"].object,
|
|
442
|
-
onInternalEvent: _propTypes["default"].func
|
|
483
|
+
onInternalEvent: _propTypes["default"].func,
|
|
484
|
+
extractedState: _propTypes["default"].object,
|
|
485
|
+
// ✅ injected by connect
|
|
486
|
+
externalEvent: _propTypes["default"].object
|
|
443
487
|
};
|
|
488
|
+
LiteKitchenConfigurator.contextTypes = {
|
|
489
|
+
store: _propTypes["default"].object.isRequired
|
|
490
|
+
};
|
|
491
|
+
LiteKitchenConfigurator.childContextTypes = _objectSpread(_objectSpread({}, (0, _objectsUtils.objectsMap)(_export["default"], function () {
|
|
492
|
+
return _propTypes["default"].object;
|
|
493
|
+
})), {}, {
|
|
494
|
+
translator: _propTypes["default"].object,
|
|
495
|
+
catalog: _propTypes["default"].object
|
|
496
|
+
});
|
|
444
497
|
LiteKitchenConfigurator.defaultProps = {
|
|
445
498
|
translator: new _translator["default"](),
|
|
446
499
|
catalog: new _catalog["default"](),
|
|
@@ -453,10 +506,16 @@ LiteKitchenConfigurator.defaultProps = {
|
|
|
453
506
|
configData: {}
|
|
454
507
|
};
|
|
455
508
|
|
|
456
|
-
//
|
|
457
|
-
|
|
509
|
+
// ✅ Only select the slice you actually use.
|
|
510
|
+
// This preserves behavior but massively reduces rerenders.
|
|
511
|
+
function mapStateToProps(reduxState, ownProps) {
|
|
512
|
+
var stateExtractor = ownProps.stateExtractor || function (s) {
|
|
513
|
+
return s;
|
|
514
|
+
};
|
|
515
|
+
var extractedState = stateExtractor(reduxState);
|
|
458
516
|
return {
|
|
459
|
-
|
|
517
|
+
extractedState: extractedState,
|
|
518
|
+
state: extractedState
|
|
460
519
|
};
|
|
461
520
|
}
|
|
462
521
|
function mapDispatchToProps(dispatch) {
|