kitchen-simulator 4.0.0-react-18 → 4.0.0
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 +156 -108
- package/es/LiteRenderer.js +159 -130
- package/es/actions/export.js +25 -12
- package/es/assets/gltf/door_sliding.bin +0 -0
- package/es/assets/img/png/helper/video_preview_start.png +0 -0
- package/es/assets/img/svg/bottombar/elevation.svg +12 -5
- package/es/catalog/catalog.js +21 -5
- 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 +1 -0
- package/es/catalog/utils/item-loader.js +17 -12
- package/es/class/hole.js +0 -2
- package/es/class/item.js +95 -69
- package/es/class/line.js +4 -8
- package/es/class/project.js +91 -80
- package/es/components/content.js +5 -2
- 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 +11 -22
- 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/group.js +5 -4
- package/es/components/viewer2d/item.js +41 -16
- package/es/components/viewer2d/layer.js +1 -1
- package/es/components/viewer2d/line.js +17 -47
- package/es/components/viewer2d/ruler.js +5 -3
- package/es/components/viewer2d/rulerDist.js +8 -7
- package/es/components/viewer2d/rulerX.js +3 -0
- package/es/components/viewer2d/rulerY.js +3 -0
- package/es/components/viewer2d/scene.js +4 -1
- package/es/components/viewer2d/state.js +1 -1
- package/es/components/viewer2d/utils.js +2 -2
- package/es/components/viewer2d/viewer2d.js +51 -84
- package/es/components/viewer3d/scene-creator.js +51 -15
- package/es/components/viewer3d/viewer3d-first-person.js +8 -0
- package/es/components/viewer3d/viewer3d.js +80 -88
- package/es/constants.js +6 -2
- package/es/devLiteRenderer.js +491 -150
- package/es/index.js +567 -25
- package/es/models.js +2 -1
- package/es/plugins/SVGLoader.js +1414 -0
- package/es/plugins/console-debugger.js +0 -2
- package/es/styles/export.js +5 -0
- package/es/styles/tabs.css +40 -0
- package/es/utils/geometry.js +52 -96
- package/es/utils/helper.js +38 -1
- package/es/utils/isolate-event-handler.js +781 -577
- package/es/utils/molding.js +457 -11
- package/lib/AppContext.js +1 -1
- package/lib/LiteKitchenConfigurator.js +155 -108
- package/lib/LiteRenderer.js +158 -130
- package/lib/actions/export.js +35 -39
- package/lib/assets/gltf/door_sliding.bin +0 -0
- package/lib/assets/img/png/helper/video_preview_start.png +0 -0
- package/lib/assets/img/svg/bottombar/elevation.svg +12 -5
- package/lib/catalog/catalog.js +20 -4
- 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 +1 -0
- package/lib/catalog/utils/item-loader.js +17 -12
- package/lib/class/hole.js +0 -2
- package/lib/class/item.js +93 -67
- package/lib/class/line.js +3 -7
- package/lib/class/project.js +91 -80
- package/lib/components/content.js +5 -2
- 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 +11 -22
- 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/group.js +5 -4
- package/lib/components/viewer2d/item.js +41 -16
- package/lib/components/viewer2d/layer.js +1 -1
- package/lib/components/viewer2d/line.js +17 -47
- package/lib/components/viewer2d/ruler.js +4 -2
- package/lib/components/viewer2d/rulerDist.js +8 -7
- package/lib/components/viewer2d/rulerX.js +3 -0
- package/lib/components/viewer2d/rulerY.js +3 -0
- package/lib/components/viewer2d/scene.js +4 -1
- package/lib/components/viewer2d/state.js +1 -1
- package/lib/components/viewer2d/utils.js +2 -2
- package/lib/components/viewer2d/viewer2d.js +49 -81
- package/lib/components/viewer3d/scene-creator.js +49 -13
- package/lib/components/viewer3d/viewer3d-first-person.js +8 -0
- package/lib/components/viewer3d/viewer3d.js +77 -84
- package/lib/constants.js +11 -7
- package/lib/devLiteRenderer.js +489 -148
- package/lib/index.js +567 -25
- package/lib/models.js +2 -1
- package/lib/plugins/SVGLoader.js +1419 -0
- package/lib/plugins/console-debugger.js +0 -2
- package/lib/styles/export.js +13 -0
- package/lib/styles/tabs.css +40 -0
- package/lib/utils/geometry.js +52 -96
- package/lib/utils/helper.js +40 -1
- package/lib/utils/isolate-event-handler.js +781 -576
- package/lib/utils/molding.js +458 -9
- package/package.json +21 -16
- 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
|
@@ -8,13 +8,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
11
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
13
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
14
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
15
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
16
16
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
17
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"));
|
|
18
20
|
var _convertUnitsLite = require("./utils/convert-units-lite");
|
|
19
21
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
20
22
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -29,8 +31,8 @@ var _translator = _interopRequireDefault(require("./translator/translator"));
|
|
|
29
31
|
var _objectsUtils = require("./utils/objects-utils");
|
|
30
32
|
var _version = require("./version");
|
|
31
33
|
var _isolateEventHandler = require("./utils/isolate-event-handler");
|
|
32
|
-
var
|
|
33
|
-
var
|
|
34
|
+
var _excluded = ["width", "height", "extractedState"];
|
|
35
|
+
var _templateObject, _templateObject2; // LiteKitchenConfigurator.jsx
|
|
34
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); }
|
|
35
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; }
|
|
36
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; }
|
|
@@ -41,14 +43,16 @@ var wrapperStyle = {
|
|
|
41
43
|
display: 'flex',
|
|
42
44
|
flexFlow: 'row nowrap'
|
|
43
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
|
+
});
|
|
44
50
|
var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
45
51
|
function LiteKitchenConfigurator(props) {
|
|
46
52
|
var _utmRequestData2, _utmRequestData3, _utmRequestData4, _utmRequestData5, _utmRequestData6, _utmRequestData7, _utmRequestData8, _utmRequestData9, _utmRequestData0;
|
|
47
53
|
var _this;
|
|
48
54
|
(0, _classCallCheck2["default"])(this, LiteKitchenConfigurator);
|
|
49
55
|
_this = _callSuper(this, LiteKitchenConfigurator, [props]);
|
|
50
|
-
|
|
51
|
-
// utm tracking
|
|
52
56
|
var utmDetailParams = new URLSearchParams(_this.props.location && _this.props.location.search);
|
|
53
57
|
var utmStrEncoded = utmDetailParams.get('details');
|
|
54
58
|
var utmRequestData = null;
|
|
@@ -58,7 +62,7 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
58
62
|
utmRequestData = JSON.parse((0, _helper.base64Decode)(utmStrEncoded));
|
|
59
63
|
utmRequestData = JSON.parse((_utmRequestData = utmRequestData) === null || _utmRequestData === void 0 ? void 0 : _utmRequestData.utm);
|
|
60
64
|
} catch (e) {
|
|
61
|
-
console.error('Cannot parse utm parameter: ',
|
|
65
|
+
console.error('Cannot parse utm parameter: ', e);
|
|
62
66
|
utmRequestData = null;
|
|
63
67
|
}
|
|
64
68
|
}
|
|
@@ -77,7 +81,6 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
77
81
|
myProjectsOpen: false,
|
|
78
82
|
myProjectsToLogin: false,
|
|
79
83
|
downloadPopupVisible: false,
|
|
80
|
-
// For Toolbar Item
|
|
81
84
|
toolbar: '',
|
|
82
85
|
reviewQuotePopupOpened: false,
|
|
83
86
|
floorOpened: false,
|
|
@@ -95,8 +98,6 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
95
98
|
isSaved: false,
|
|
96
99
|
isLeaving: false
|
|
97
100
|
};
|
|
98
|
-
|
|
99
|
-
// For UTM tracking
|
|
100
101
|
_this.utm = {
|
|
101
102
|
utm_source: ((_utmRequestData2 = utmRequestData) === null || _utmRequestData2 === void 0 ? void 0 : _utmRequestData2.source) || 'source',
|
|
102
103
|
utm_medium: ((_utmRequestData3 = utmRequestData) === null || _utmRequestData3 === void 0 ? void 0 : _utmRequestData3.medium) || 'medium',
|
|
@@ -127,10 +128,13 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
127
128
|
_this.setDownloadPopupVisible = _this.setDownloadPopupVisible.bind(_this);
|
|
128
129
|
_this.neverShowInput = /*#__PURE__*/_react["default"].createRef(null);
|
|
129
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;
|
|
130
136
|
return _this;
|
|
131
137
|
}
|
|
132
|
-
|
|
133
|
-
// Toolbar control functions
|
|
134
138
|
(0, _inherits2["default"])(LiteKitchenConfigurator, _Component);
|
|
135
139
|
return (0, _createClass2["default"])(LiteKitchenConfigurator, [{
|
|
136
140
|
key: "setToolbar",
|
|
@@ -214,26 +218,32 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
214
218
|
}, {
|
|
215
219
|
key: "openFloor",
|
|
216
220
|
value: function openFloor() {
|
|
221
|
+
var _el$parentElement;
|
|
217
222
|
this.setState({
|
|
218
223
|
floorOpened: true
|
|
219
224
|
});
|
|
220
|
-
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;
|
|
221
227
|
}
|
|
222
228
|
}, {
|
|
223
229
|
key: "openCabinet",
|
|
224
230
|
value: function openCabinet() {
|
|
231
|
+
var _el$parentElement2;
|
|
225
232
|
this.setState({
|
|
226
233
|
cabinetOpened: true
|
|
227
234
|
});
|
|
228
|
-
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;
|
|
229
237
|
}
|
|
230
238
|
}, {
|
|
231
239
|
key: "toggleDoorStyle",
|
|
232
240
|
value: function toggleDoorStyle(visible) {
|
|
241
|
+
var _el$parentElement3;
|
|
233
242
|
this.setState({
|
|
234
243
|
doorStyleOpen: visible
|
|
235
244
|
});
|
|
236
|
-
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;
|
|
237
247
|
}
|
|
238
248
|
}, {
|
|
239
249
|
key: "replaceCabinet",
|
|
@@ -245,70 +255,83 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
245
255
|
}, {
|
|
246
256
|
key: "openAppliance",
|
|
247
257
|
value: function openAppliance() {
|
|
258
|
+
var _el$parentElement4;
|
|
248
259
|
this.setState({
|
|
249
260
|
applianceOpened: true
|
|
250
261
|
});
|
|
251
|
-
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;
|
|
252
264
|
}
|
|
253
265
|
}, {
|
|
254
266
|
key: "openFinishing",
|
|
255
267
|
value: function openFinishing() {
|
|
268
|
+
var _el$parentElement5;
|
|
256
269
|
this.setState({
|
|
257
270
|
finishingOpened: true
|
|
258
271
|
});
|
|
259
|
-
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;
|
|
260
274
|
}
|
|
261
275
|
}, {
|
|
262
276
|
key: "onReviewQuoteClicked",
|
|
263
277
|
value: function onReviewQuoteClicked(visible) {
|
|
278
|
+
var _el$parentElement6;
|
|
264
279
|
this.setState({
|
|
265
280
|
reviewQuotePopupOpened: visible
|
|
266
281
|
});
|
|
267
|
-
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;
|
|
268
284
|
}
|
|
269
285
|
}, {
|
|
270
286
|
key: "closeFloorTB",
|
|
271
287
|
value: function closeFloorTB() {
|
|
288
|
+
var _el$parentElement7;
|
|
272
289
|
this.setState({
|
|
273
290
|
floorOpened: false
|
|
274
291
|
});
|
|
275
|
-
|
|
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;
|
|
276
294
|
}
|
|
277
295
|
}, {
|
|
278
296
|
key: "closeCabinetTB",
|
|
279
297
|
value: function closeCabinetTB() {
|
|
298
|
+
var _el$parentElement8;
|
|
280
299
|
this.setState({
|
|
281
300
|
cabinetOpened: false
|
|
282
301
|
});
|
|
283
|
-
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;
|
|
284
304
|
}
|
|
285
305
|
}, {
|
|
286
306
|
key: "closeFinishingTB",
|
|
287
307
|
value: function closeFinishingTB() {
|
|
308
|
+
var _el$parentElement9;
|
|
288
309
|
this.setState({
|
|
289
310
|
finishingOpened: false
|
|
290
311
|
});
|
|
291
|
-
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;
|
|
292
314
|
}
|
|
293
315
|
}, {
|
|
294
316
|
key: "closeApplianceTB",
|
|
295
317
|
value: function closeApplianceTB() {
|
|
318
|
+
var _el$parentElement0;
|
|
296
319
|
this.setState({
|
|
297
320
|
applianceOpened: false
|
|
298
321
|
});
|
|
299
|
-
document.getElementById('add_appliances_inactive')
|
|
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;
|
|
300
324
|
}
|
|
301
325
|
}, {
|
|
302
|
-
key: "
|
|
303
|
-
value: function
|
|
304
|
-
this
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
document.getElementById('review_quote_inactive').parentElement.parentElement.style.zIndex = 6;
|
|
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
|
+
});
|
|
312
335
|
}
|
|
313
336
|
}, {
|
|
314
337
|
key: "componentDidMount",
|
|
@@ -318,30 +341,31 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
318
341
|
var _this$props = this.props,
|
|
319
342
|
stateExtractor = _this$props.stateExtractor,
|
|
320
343
|
plugins = _this$props.plugins;
|
|
344
|
+
|
|
345
|
+
// keep old behavior: run plugins once on mount
|
|
321
346
|
var newplugins = (0, _toConsumableArray2["default"])(plugins);
|
|
322
347
|
newplugins.forEach(function (newplugin) {
|
|
323
348
|
return newplugin(store, stateExtractor);
|
|
324
349
|
});
|
|
325
350
|
}
|
|
326
351
|
}, {
|
|
327
|
-
key: "
|
|
328
|
-
value: function
|
|
329
|
-
var
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
352
|
+
key: "componentDidUpdate",
|
|
353
|
+
value: function componentDidUpdate(prevProps) {
|
|
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;
|
|
335
360
|
|
|
336
|
-
// handle external
|
|
337
|
-
if (
|
|
338
|
-
(0, _isolateEventHandler.handleExternalEvent)(
|
|
339
|
-
}
|
|
340
|
-
var plannerState = stateExtractor(state);
|
|
341
|
-
var catalogReady = plannerState.getIn(['catalog', 'ready']);
|
|
342
|
-
if (!catalogReady) {
|
|
343
|
-
projectActions.initCatalog(catalog);
|
|
361
|
+
// same behavior: handle external event when it changes
|
|
362
|
+
if (prevProps.externalEvent !== externalEvent) {
|
|
363
|
+
(0, _isolateEventHandler.handleExternalEvent)(this.props);
|
|
344
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);
|
|
345
369
|
}
|
|
346
370
|
}, {
|
|
347
371
|
key: "isProjectEmpty",
|
|
@@ -351,24 +375,51 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
351
375
|
var layer = layers.get(selectedLayer);
|
|
352
376
|
return layer.areas.size + layer.lines.size + layer.holes.size + layer.items.size === 0;
|
|
353
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
|
+
}
|
|
354
415
|
}, {
|
|
355
416
|
key: "render",
|
|
356
417
|
value: function render() {
|
|
357
|
-
var
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
translator: this.props.translator,
|
|
363
|
-
// instance (defaultProps already gives one)
|
|
364
|
-
catalog: this.props.catalog
|
|
365
|
-
});
|
|
366
|
-
var _this$props2 = this.props,
|
|
367
|
-
width = _this$props2.width,
|
|
368
|
-
height = _this$props2.height,
|
|
369
|
-
state = _this$props2.state,
|
|
370
|
-
stateExtractor = _this$props2.stateExtractor,
|
|
371
|
-
props = (0, _objectWithoutProperties2["default"])(_this$props2, _excluded);
|
|
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);
|
|
372
423
|
var _this$state = this.state,
|
|
373
424
|
savePopupVisible = _this$state.savePopupVisible,
|
|
374
425
|
quotePopupVisible = _this$state.quotePopupVisible,
|
|
@@ -376,53 +427,22 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
376
427
|
signOpen = _this$state.signOpen,
|
|
377
428
|
myProjectsOpen = _this$state.myProjectsOpen;
|
|
378
429
|
var contentW = width - toolbarW;
|
|
379
|
-
// let contentW = width - toolbarW - sidebarW;
|
|
380
|
-
// let toolbarH = height - footerBarH;
|
|
381
|
-
// let contentH = height - footerBarH;
|
|
382
|
-
// let sidebarH = height - footerBarH;
|
|
383
|
-
var toolbarH = height;
|
|
384
430
|
var contentH = height;
|
|
385
|
-
var
|
|
386
|
-
var
|
|
387
|
-
var headerH = 60;
|
|
388
|
-
var extractedState = stateExtractor(state);
|
|
389
|
-
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);
|
|
390
433
|
var allVisible = firstVisit || signOpen || myProjectsOpen;
|
|
391
|
-
|
|
392
|
-
var len = (0, _convertUnitsLite.convert)(_scene.width).from(_scene.unit).to('cm');
|
|
393
|
-
var _viewer2D = extractedState.getIn(['viewer2D']);
|
|
394
|
-
if (_viewer2D.size > 0) {
|
|
395
|
-
var scaleX = width / len * 3;
|
|
396
|
-
var scaleY = height / len * 3;
|
|
397
|
-
var scale = scaleX > scaleY ? scaleY : scaleX;
|
|
398
|
-
var _e = width - len * scale,
|
|
399
|
-
_f = height - len * scale;
|
|
400
|
-
var viewer = _viewer2D.toJS();
|
|
401
|
-
if (viewer.e === 0 && viewer.f === 0) {
|
|
402
|
-
_viewer2D = _viewer2D.merge({
|
|
403
|
-
e: viewer.viewerWidth / 2 - viewer.SVGWidth / 2,
|
|
404
|
-
f: viewer.viewerHeight / 2 - viewer.SVGHeight / 2,
|
|
405
|
-
a: 0.99,
|
|
406
|
-
d: 0.99
|
|
407
|
-
});
|
|
408
|
-
}
|
|
409
|
-
}
|
|
410
|
-
extractedState = extractedState.merge({
|
|
411
|
-
viewer2D: _viewer2D
|
|
412
|
-
});
|
|
413
|
-
return /*#__PURE__*/_react["default"].createElement(_AppContext["default"].Provider, {
|
|
414
|
-
value: appCtxValue
|
|
415
|
-
}, /*#__PURE__*/_react["default"].createElement("section", null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
434
|
+
return /*#__PURE__*/_react["default"].createElement("section", null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
416
435
|
style: _objectSpread(_objectSpread({}, wrapperStyle), {}, {
|
|
417
436
|
height: height,
|
|
418
437
|
display: 'flex',
|
|
419
|
-
justifyContent: 'center'
|
|
438
|
+
justifyContent: 'center',
|
|
439
|
+
position: 'relative'
|
|
420
440
|
})
|
|
421
441
|
}, /*#__PURE__*/_react["default"].createElement(_export2.Content, (0, _extends2["default"])({
|
|
422
442
|
width: contentW,
|
|
423
443
|
height: contentH,
|
|
424
444
|
catalog: this.props.catalog,
|
|
425
|
-
state:
|
|
445
|
+
state: extracted,
|
|
426
446
|
toolBar: this.state.toolbar,
|
|
427
447
|
setToolbar: this.setToolbar,
|
|
428
448
|
replaceCabinet: this.replaceCabinet,
|
|
@@ -432,7 +452,20 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
432
452
|
return event.preventDefault();
|
|
433
453
|
},
|
|
434
454
|
onInternalEvent: this.props.onInternalEvent
|
|
435
|
-
}))
|
|
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.")));
|
|
436
469
|
}
|
|
437
470
|
}]);
|
|
438
471
|
}(_react.Component);
|
|
@@ -446,13 +479,21 @@ LiteKitchenConfigurator.propTypes = {
|
|
|
446
479
|
width: _propTypes["default"].number.isRequired,
|
|
447
480
|
height: _propTypes["default"].number.isRequired,
|
|
448
481
|
stateExtractor: _propTypes["default"].func.isRequired,
|
|
449
|
-
sidebarComponents: _propTypes["default"].array,
|
|
450
|
-
footerbarComponents: _propTypes["default"].array,
|
|
451
|
-
customContents: _propTypes["default"].object,
|
|
452
|
-
softwareSignature: _propTypes["default"].string,
|
|
453
482
|
configData: _propTypes["default"].object,
|
|
454
|
-
onInternalEvent: _propTypes["default"].func
|
|
483
|
+
onInternalEvent: _propTypes["default"].func,
|
|
484
|
+
extractedState: _propTypes["default"].object,
|
|
485
|
+
// ✅ injected by connect
|
|
486
|
+
externalEvent: _propTypes["default"].object
|
|
487
|
+
};
|
|
488
|
+
LiteKitchenConfigurator.contextTypes = {
|
|
489
|
+
store: _propTypes["default"].object.isRequired
|
|
455
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
|
+
});
|
|
456
497
|
LiteKitchenConfigurator.defaultProps = {
|
|
457
498
|
translator: new _translator["default"](),
|
|
458
499
|
catalog: new _catalog["default"](),
|
|
@@ -465,10 +506,16 @@ LiteKitchenConfigurator.defaultProps = {
|
|
|
465
506
|
configData: {}
|
|
466
507
|
};
|
|
467
508
|
|
|
468
|
-
//
|
|
469
|
-
|
|
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);
|
|
470
516
|
return {
|
|
471
|
-
|
|
517
|
+
extractedState: extractedState,
|
|
518
|
+
state: extractedState
|
|
472
519
|
};
|
|
473
520
|
}
|
|
474
521
|
function mapDispatchToProps(dispatch) {
|