kitchen-simulator 4.4.2-dynamic-holes → 4.4.3
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/es/LiteRenderer.js +57 -153
- package/es/catalog/holes/door-double/door_double.png +0 -0
- package/es/catalog/holes/door-panic/panicDoor.png +0 -0
- package/es/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
- package/es/catalog/holes/gate/gate.jpg +0 -0
- package/es/catalog/holes/window-clear/texture.png +0 -0
- package/es/catalog/holes/window-cross/texture.png +0 -0
- package/es/catalog/holes/window-double-hung/texture.png +0 -0
- package/es/catalog/holes/window-vertical/texture.png +0 -0
- package/es/catalog/utils/item-loader.js +3 -18
- package/es/constants.js +9 -7
- package/es/devLiteRenderer.js +0 -2
- package/es/utils/helper.js +18 -9
- package/es/utils/isolate-event-handler.js +6 -4
- package/es/utils/molding.js +3 -235
- package/es/utils/skinPanelEngine.js +17 -3
- package/lib/LiteRenderer.js +57 -153
- package/lib/catalog/holes/door-double/door_double.png +0 -0
- package/lib/catalog/holes/door-panic/panicDoor.png +0 -0
- package/lib/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
- package/lib/catalog/holes/gate/gate.jpg +0 -0
- package/lib/catalog/holes/window-clear/texture.png +0 -0
- package/lib/catalog/holes/window-cross/texture.png +0 -0
- package/lib/catalog/holes/window-double-hung/texture.png +0 -0
- package/lib/catalog/holes/window-vertical/texture.png +0 -0
- package/lib/catalog/utils/item-loader.js +2 -17
- package/lib/constants.js +14 -12
- package/lib/devLiteRenderer.js +0 -2
- package/lib/utils/helper.js +20 -9
- package/lib/utils/isolate-event-handler.js +5 -3
- package/lib/utils/molding.js +3 -236
- package/lib/utils/skinPanelEngine.js +16 -2
- package/package.json +1 -1
package/es/LiteRenderer.js
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
2
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
|
-
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
5
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
6
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
7
|
+
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
8
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
9
|
+
var _excluded = ["width", "height", "configData", "externalEvent", "onInternalEvent", "onError"];
|
|
10
|
+
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; }
|
|
11
|
+
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) { _defineProperty(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; }
|
|
6
12
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
7
13
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
8
14
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
9
|
-
function
|
|
10
|
-
function
|
|
15
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
16
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
11
17
|
// LiteRenderer.jsx
|
|
12
18
|
import React, { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
13
19
|
import PropTypes from 'prop-types';
|
|
@@ -73,147 +79,48 @@ function serializeError(err) {
|
|
|
73
79
|
};
|
|
74
80
|
}
|
|
75
81
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
try {
|
|
83
|
-
return JSON.parse(value);
|
|
84
|
-
} catch (_unused3) {
|
|
85
|
-
return null;
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
var toCatalogLength = function toCatalogLength(value, prop) {
|
|
89
|
-
var _prop$defaultValue;
|
|
90
|
-
if (value == null) return null;
|
|
91
|
-
var unit = prop === null || prop === void 0 || (_prop$defaultValue = prop.defaultValue) === null || _prop$defaultValue === void 0 ? void 0 : _prop$defaultValue.unit;
|
|
92
|
-
if (unit && unit.toLowerCase() === 'in') return value;
|
|
93
|
-
return value * INCH_TO_CM;
|
|
94
|
-
};
|
|
95
|
-
var overrideLengthProperty = function overrideLengthProperty(prop, value) {
|
|
96
|
-
if (!prop || value == null) return prop;
|
|
97
|
-
var length = toCatalogLength(value, prop);
|
|
98
|
-
if (length == null) return prop;
|
|
99
|
-
return _objectSpread(_objectSpread({}, prop), {}, {
|
|
100
|
-
defaultValue: _objectSpread(_objectSpread({}, prop.defaultValue), {}, {
|
|
101
|
-
length: length
|
|
102
|
-
})
|
|
103
|
-
});
|
|
104
|
-
};
|
|
105
|
-
var findBaseHoleTemplate = function findBaseHoleTemplate(hole, templates) {
|
|
106
|
-
var target = normalizeKey(hole === null || hole === void 0 ? void 0 : hole.name);
|
|
107
|
-
if (!target) return null;
|
|
108
|
-
return templates.find(function (template) {
|
|
109
|
-
var _template$info, _template$info2;
|
|
110
|
-
var candidates = [template === null || template === void 0 ? void 0 : template.name, template === null || template === void 0 || (_template$info = template.info) === null || _template$info === void 0 ? void 0 : _template$info.title, template === null || template === void 0 || (_template$info2 = template.info) === null || _template$info2 === void 0 ? void 0 : _template$info2.description].map(normalizeKey);
|
|
111
|
-
return candidates.includes(target);
|
|
112
|
-
}) || null;
|
|
113
|
-
};
|
|
114
|
-
var buildHoleElementFromTemplate = function buildHoleElementFromTemplate(hole, base) {
|
|
115
|
-
var _base$info, _base$info2, _base$info3, _base$info4, _base$info5, _base$structure_json;
|
|
116
|
-
if (!hole || !base) return null;
|
|
117
|
-
var nextInfo = _objectSpread(_objectSpread({}, base.info), {}, {
|
|
118
|
-
title: hole.name || ((_base$info = base.info) === null || _base$info === void 0 ? void 0 : _base$info.title),
|
|
119
|
-
description: ((_base$info2 = base.info) === null || _base$info2 === void 0 ? void 0 : _base$info2.description) || hole.name || ((_base$info3 = base.info) === null || _base$info3 === void 0 ? void 0 : _base$info3.title),
|
|
120
|
-
image: hole.menu_thumbnail || ((_base$info4 = base.info) === null || _base$info4 === void 0 ? void 0 : _base$info4.image),
|
|
121
|
-
url: hole.gltf || ((_base$info5 = base.info) === null || _base$info5 === void 0 ? void 0 : _base$info5.url)
|
|
122
|
-
});
|
|
123
|
-
var nextProperties = _objectSpread({}, base.properties);
|
|
124
|
-
if (nextProperties.width) {
|
|
125
|
-
nextProperties.width = overrideLengthProperty(nextProperties.width, hole.width);
|
|
126
|
-
}
|
|
127
|
-
if (nextProperties.height) {
|
|
128
|
-
nextProperties.height = overrideLengthProperty(nextProperties.height, hole.height);
|
|
129
|
-
}
|
|
130
|
-
if (nextProperties.length) {
|
|
131
|
-
nextProperties.length = overrideLengthProperty(nextProperties.length, hole.length);
|
|
82
|
+
|
|
83
|
+
/* ---------- Error Boundary that pushes into buffer ---------- */
|
|
84
|
+
var ToolErrorBoundary = /*#__PURE__*/function (_React$Component) {
|
|
85
|
+
function ToolErrorBoundary() {
|
|
86
|
+
_classCallCheck(this, ToolErrorBoundary);
|
|
87
|
+
return _callSuper(this, ToolErrorBoundary, arguments);
|
|
132
88
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
})
|
|
146
|
-
});
|
|
147
|
-
};
|
|
148
|
-
var buildHoleElements = function buildHoleElements(holes) {
|
|
149
|
-
var categories = {
|
|
150
|
-
Doors: [],
|
|
151
|
-
Windows: []
|
|
152
|
-
};
|
|
153
|
-
var elements = [];
|
|
154
|
-
if (!Array.isArray(holes)) return {
|
|
155
|
-
elements: elements,
|
|
156
|
-
categories: categories
|
|
157
|
-
};
|
|
158
|
-
var templates = Object.values(Holes);
|
|
159
|
-
var usedNames = new Set();
|
|
160
|
-
holes.forEach(function (hole) {
|
|
161
|
-
var _base$info6;
|
|
162
|
-
if (!hole || hole.is_deleted) return;
|
|
163
|
-
var base = findBaseHoleTemplate(hole, templates);
|
|
164
|
-
if (!base) return;
|
|
165
|
-
var element = buildHoleElementFromTemplate(hole, base);
|
|
166
|
-
if (!element || !element.name || usedNames.has(element.name)) return;
|
|
167
|
-
usedNames.add(element.name);
|
|
168
|
-
elements.push(element);
|
|
169
|
-
var typeKey = normalizeKey(hole.type);
|
|
170
|
-
if (typeKey === 'window') {
|
|
171
|
-
categories.Windows.push(element);
|
|
172
|
-
} else if (typeKey === 'door') {
|
|
173
|
-
categories.Doors.push(element);
|
|
174
|
-
} else if ((_base$info6 = base.info) !== null && _base$info6 !== void 0 && (_base$info6 = _base$info6.tag) !== null && _base$info6 !== void 0 && _base$info6.includes('window')) {
|
|
175
|
-
categories.Windows.push(element);
|
|
176
|
-
} else {
|
|
177
|
-
categories.Doors.push(element);
|
|
89
|
+
_inherits(ToolErrorBoundary, _React$Component);
|
|
90
|
+
return _createClass(ToolErrorBoundary, [{
|
|
91
|
+
key: "componentDidCatch",
|
|
92
|
+
value: function componentDidCatch(error, info) {
|
|
93
|
+
var pushError = this.props.pushError;
|
|
94
|
+
pushError({
|
|
95
|
+
type: 'render-error',
|
|
96
|
+
error: serializeError(error),
|
|
97
|
+
info: {
|
|
98
|
+
componentStack: info === null || info === void 0 ? void 0 : info.componentStack
|
|
99
|
+
}
|
|
100
|
+
});
|
|
178
101
|
}
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
102
|
+
}, {
|
|
103
|
+
key: "render",
|
|
104
|
+
value: function render() {
|
|
105
|
+
return this.props.children;
|
|
106
|
+
}
|
|
107
|
+
}]);
|
|
108
|
+
}(React.Component);
|
|
109
|
+
ToolErrorBoundary.propTypes = {
|
|
110
|
+
pushError: PropTypes.func.isRequired,
|
|
111
|
+
children: PropTypes.any
|
|
184
112
|
};
|
|
185
113
|
|
|
186
114
|
// ----------------- catalog init -----------------
|
|
187
|
-
function initCatalogOnce(catalog
|
|
115
|
+
function initCatalogOnce(catalog) {
|
|
188
116
|
if (!catalog) return;
|
|
189
|
-
if (
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
if (!catalog.hasElement(element.name)) {
|
|
197
|
-
console.log(element);
|
|
198
|
-
catalog.registerElement(element);
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
var categories = (holePayload === null || holePayload === void 0 ? void 0 : holePayload.categories) || {};
|
|
202
|
-
Object.entries(categories).forEach(function (_ref) {
|
|
203
|
-
var _ref2 = _slicedToArray(_ref, 2),
|
|
204
|
-
name = _ref2[0],
|
|
205
|
-
elements = _ref2[1];
|
|
206
|
-
if (!elements.length) return;
|
|
207
|
-
if (!catalog.hasCategory(name)) {
|
|
208
|
-
catalog.registerCategory(name, name, elements);
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
elements.forEach(function (element) {
|
|
212
|
-
if (!catalog.categoryHasElement(name, element.name)) {
|
|
213
|
-
catalog.addToCategory(name, element);
|
|
214
|
-
}
|
|
215
|
-
});
|
|
216
|
-
});
|
|
117
|
+
if (catalog.__ksInitialized) return;
|
|
118
|
+
for (var x in Areas) catalog.registerElement(Areas[x]);
|
|
119
|
+
for (var _x in Lines) catalog.registerElement(Lines[_x]);
|
|
120
|
+
for (var _x2 in Holes) catalog.registerElement(Holes[_x2]);
|
|
121
|
+
catalog.registerCategory('Windows', 'Windows', [Holes.windowClear, Holes.windowCross, Holes.windowDoubleHung, Holes.windowVertical]);
|
|
122
|
+
catalog.registerCategory('Doors', 'Doors', [Holes.doorInterior, Holes.doorExterior, Holes.doorCloset, Holes.doorSliding, Holes.doorwayFramed, Holes.doorwayFrameless]);
|
|
123
|
+
catalog.__ksInitialized = true;
|
|
217
124
|
}
|
|
218
125
|
|
|
219
126
|
// ----------------- store factory -----------------
|
|
@@ -257,11 +164,7 @@ export default function LiteRenderer(props) {
|
|
|
257
164
|
externalEvent = props.externalEvent,
|
|
258
165
|
onInternalEvent = props.onInternalEvent,
|
|
259
166
|
onError = props.onError,
|
|
260
|
-
holes = props.holes,
|
|
261
167
|
passThrough = _objectWithoutProperties(props, _excluded);
|
|
262
|
-
var holePayload = useMemo(function () {
|
|
263
|
-
return buildHoleElements(holes);
|
|
264
|
-
}, [holes]);
|
|
265
168
|
|
|
266
169
|
// ✅ instance-scoped store (no module singleton)
|
|
267
170
|
var storeRef = useRef(null);
|
|
@@ -271,8 +174,8 @@ export default function LiteRenderer(props) {
|
|
|
271
174
|
var catalogRef = useRef(null);
|
|
272
175
|
if (!catalogRef.current) {
|
|
273
176
|
catalogRef.current = new Catalog();
|
|
177
|
+
initCatalogOnce(catalogRef.current);
|
|
274
178
|
}
|
|
275
|
-
initCatalogOnce(catalogRef.current, holePayload);
|
|
276
179
|
|
|
277
180
|
// ✅ stable plugins array
|
|
278
181
|
var plugins = useMemo(function () {
|
|
@@ -295,7 +198,7 @@ export default function LiteRenderer(props) {
|
|
|
295
198
|
try {
|
|
296
199
|
var maybeCleanup = p === null || p === void 0 ? void 0 : p(store, stateExtractor);
|
|
297
200
|
if (typeof maybeCleanup === 'function') cleanups.push(maybeCleanup);
|
|
298
|
-
} catch (
|
|
201
|
+
} catch (_unused4) {
|
|
299
202
|
// keep prior behavior: do not crash
|
|
300
203
|
}
|
|
301
204
|
}
|
|
@@ -313,7 +216,7 @@ export default function LiteRenderer(props) {
|
|
|
313
216
|
var fn = _step2.value;
|
|
314
217
|
try {
|
|
315
218
|
fn();
|
|
316
|
-
} catch (
|
|
219
|
+
} catch (_unused3) {}
|
|
317
220
|
}
|
|
318
221
|
} catch (err) {
|
|
319
222
|
_iterator2.e(err);
|
|
@@ -344,7 +247,7 @@ export default function LiteRenderer(props) {
|
|
|
344
247
|
};
|
|
345
248
|
try {
|
|
346
249
|
onError === null || onError === void 0 || onError(payload);
|
|
347
|
-
} catch (
|
|
250
|
+
} catch (_unused5) {}
|
|
348
251
|
// eslint-disable-next-line no-console
|
|
349
252
|
console.debug('[LiteRenderer:onError]', payload);
|
|
350
253
|
lastEmittedRef.current = payload;
|
|
@@ -405,11 +308,13 @@ export default function LiteRenderer(props) {
|
|
|
405
308
|
emit(lastExternalEventRef.current, last.errors);
|
|
406
309
|
}
|
|
407
310
|
}, [externalEvent, emit]);
|
|
408
|
-
var
|
|
409
|
-
logoImg =
|
|
410
|
-
companyUrl =
|
|
311
|
+
var _ref = configData || {},
|
|
312
|
+
logoImg = _ref.logoImg,
|
|
313
|
+
companyUrl = _ref.companyUrl;
|
|
411
314
|
return /*#__PURE__*/React.createElement(AppContext.Provider, null, /*#__PURE__*/React.createElement(Provider, {
|
|
412
315
|
store: storeRef.current
|
|
316
|
+
}, /*#__PURE__*/React.createElement(ToolErrorBoundary, {
|
|
317
|
+
pushError: pushError
|
|
413
318
|
}, /*#__PURE__*/React.createElement(LiteKitchenConfigurator, _extends({
|
|
414
319
|
catalog: catalogRef.current,
|
|
415
320
|
width: width,
|
|
@@ -423,7 +328,7 @@ export default function LiteRenderer(props) {
|
|
|
423
328
|
configData: configData,
|
|
424
329
|
externalEvent: externalEvent,
|
|
425
330
|
onInternalEvent: onInternalEvent
|
|
426
|
-
}, passThrough))));
|
|
331
|
+
}, passThrough)))));
|
|
427
332
|
}
|
|
428
333
|
LiteRenderer.propTypes = {
|
|
429
334
|
width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
@@ -443,6 +348,5 @@ LiteRenderer.propTypes = {
|
|
|
443
348
|
externalEvent: PropTypes.object,
|
|
444
349
|
onInternalEvent: PropTypes.func,
|
|
445
350
|
onError: PropTypes.func,
|
|
446
|
-
holes: PropTypes.array,
|
|
447
351
|
store: PropTypes.object
|
|
448
352
|
};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -12,7 +12,7 @@ import { ARROW_COLOR, BASE_CABINET_LAYOUTPOS, OBJTYPE_GROUP, OBJTYPE_MESH, SHADE
|
|
|
12
12
|
import { Item } from "../../models";
|
|
13
13
|
import * as GeomUtils from "./geom-utils";
|
|
14
14
|
import { loadGLTF } from "./load-obj";
|
|
15
|
-
import { animateDoor, isEmpty, translateDrawer } from "../../utils/helper";
|
|
15
|
+
import { animateDoor, getSkuAliasFromCatalogElement, isEmpty, translateDrawer } from "../../utils/helper";
|
|
16
16
|
import { isWarningItem } from "../../components/viewer2d/utils";
|
|
17
17
|
var INITIAL_NORMAL_MAP = '';
|
|
18
18
|
|
|
@@ -122,23 +122,8 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
122
122
|
var lineCount = 0; //parseInt(((newWidth) / 8 - 0.51).toFixed(), 10) - 1;
|
|
123
123
|
var rowCount = 0; //parseInt((element.type.length / lineCount - 0.51).toFixed(), 10);
|
|
124
124
|
|
|
125
|
-
// Get
|
|
126
|
-
var objSKU = this
|
|
127
|
-
if (objSKU.length !== 0) {
|
|
128
|
-
var dcId,
|
|
129
|
-
doorStyle = element.doorStyle;
|
|
130
|
-
if (doorStyle instanceof Map) {
|
|
131
|
-
dcId = doorStyle.get('id');
|
|
132
|
-
} else {
|
|
133
|
-
dcId = doorStyle.id;
|
|
134
|
-
}
|
|
135
|
-
var skuItem = this.obj.skuArray.find(function (el) {
|
|
136
|
-
return el.door_color_id === dcId;
|
|
137
|
-
});
|
|
138
|
-
if (skuItem !== undefined) {
|
|
139
|
-
objSKU = skuItem.sku;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
125
|
+
// Get SKU Alias
|
|
126
|
+
var objSKU = getSkuAliasFromCatalogElement(this, element);
|
|
142
127
|
if (rowCount > 0) {
|
|
143
128
|
for (var _x = 0; _x < rowCount; _x++) {
|
|
144
129
|
splitStr.push(objSKU.slice(lineCount * _x, lineCount * (_x + 1)));
|
package/es/constants.js
CHANGED
|
@@ -657,16 +657,16 @@ export var PROJECT_SETTING_OPTION = {
|
|
|
657
657
|
CHANGE_MEASUREMENT_UNIT: CHANGE_MEASUREMENT_UNIT
|
|
658
658
|
};
|
|
659
659
|
export var HOLE_NAMES = {
|
|
660
|
-
WINDOW_CLEAR: '
|
|
661
|
-
WINDOW_CROSS: 'Cross',
|
|
662
|
-
WINDOW_DOUBLE_HUNG: 'Double Hung',
|
|
663
|
-
WINDOW_VERTICAL: '
|
|
660
|
+
WINDOW_CLEAR: 'Window',
|
|
661
|
+
WINDOW_CROSS: 'Cross Window',
|
|
662
|
+
WINDOW_DOUBLE_HUNG: 'Double Hung Window',
|
|
663
|
+
WINDOW_VERTICAL: 'window-vertical',
|
|
664
664
|
DOOR_CLOSET: 'Closet',
|
|
665
665
|
DOOR_EXTERIOR: 'Exterior',
|
|
666
666
|
DOOR_INTERIOR: 'Interior',
|
|
667
667
|
DOOR_SLIDING: 'Sliding',
|
|
668
668
|
DOOR_FRAMED: 'Framed Doorway',
|
|
669
|
-
DOOR_FRAMELESS: '
|
|
669
|
+
DOOR_FRAMELESS: 'FrameLess Doorway'
|
|
670
670
|
};
|
|
671
671
|
|
|
672
672
|
// direction type
|
|
@@ -773,9 +773,11 @@ export var DOORSTYLE_SCOPE_SINGLE = 'single';
|
|
|
773
773
|
export var DOORSTYLE_SCOPE_MULTIPLE = 'multiple';
|
|
774
774
|
|
|
775
775
|
// skin panel SKU
|
|
776
|
-
export var SKIN_SKU_BSV_24 = '
|
|
776
|
+
export var SKIN_SKU_BSV_24 = 'BSV'; // 23.25" x 34.5" : For base cabinets
|
|
777
777
|
export var SKIN_SKU_BSV_48 = 'BSV48'; // 48" x 34.5" : For base cabinets back-to-back or island backs
|
|
778
778
|
export var SKIN_SKU_WSV_1242 = 'WSV1242'; // 11.25" x 42" : For 12" deep wall cabinets
|
|
779
779
|
export var SKIN_SKU_WSV_2442 = 'WSV2442'; // 23.25" x 42" : For 24" deep wall cabinets
|
|
780
780
|
export var SKIN_SKU_WSV_2460 = 'WSV2460'; // Usually used for CT3DR or CT2DR SKUs + stacked wall cabinets
|
|
781
|
-
export var SKIN_SKU_USV245325 = 'USV2453.25'; // 23.25" x 53.25" : For tall cabinets
|
|
781
|
+
export var SKIN_SKU_USV245325 = 'USV2453.25'; // 23.25" x 53.25" : For tall cabinets
|
|
782
|
+
|
|
783
|
+
export var DEFAULT_MOLDING_PIECE_LENGTH = 96; // in inch, 8 feet, standard length for molding pieces
|
package/es/devLiteRenderer.js
CHANGED
|
@@ -17,7 +17,6 @@ import furnishingPayload from "./mocks/furnishingPayload.json";
|
|
|
17
17
|
import rectangleData from "./mocks/rectangleShape.json";
|
|
18
18
|
import moldingPayload from "./mocks/moldingPayload.json";
|
|
19
19
|
import replaceCabinetPayload from "./mocks/replaceCabinetPayload.json";
|
|
20
|
-
import holesPayload from "./mocks/holesPayload.json";
|
|
21
20
|
import ReactDOM from 'react-dom';
|
|
22
21
|
import LiteRenderer from "./LiteRenderer";
|
|
23
22
|
import { Button } from 'antd';
|
|
@@ -861,7 +860,6 @@ function WorkSpace(props) {
|
|
|
861
860
|
logoImg: "/assets/logo.png",
|
|
862
861
|
companyUrl: "https://example.com",
|
|
863
862
|
toolbarButtons: [],
|
|
864
|
-
holes: holesPayload,
|
|
865
863
|
externalEvent: externalEvent,
|
|
866
864
|
onInternalEvent: onInternalEvent,
|
|
867
865
|
onError: function onError(payload) {
|
package/es/utils/helper.js
CHANGED
|
@@ -413,7 +413,6 @@ export function updatePayloadOfInternalEvent(currentObject, layer, catalog) {
|
|
|
413
413
|
updatedPayload.length = _length;
|
|
414
414
|
//////////////////////////////////////
|
|
415
415
|
} else if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'items') {
|
|
416
|
-
var _catalog$elements$cur;
|
|
417
416
|
// check this cabinet has warning box
|
|
418
417
|
updatedPayload.isWarning = isWarningItem(currentObject);
|
|
419
418
|
// check this item is available molding
|
|
@@ -424,14 +423,7 @@ export function updatePayloadOfInternalEvent(currentObject, layer, catalog) {
|
|
|
424
423
|
if (pointArray) updatedPayload.distArray = pointArray;
|
|
425
424
|
|
|
426
425
|
// update sku_number using sku_array
|
|
427
|
-
|
|
428
|
-
var skuArray = catalog === null || catalog === void 0 || (_catalog$elements$cur = catalog.elements[currentObject.get('name')]) === null || _catalog$elements$cur === void 0 || (_catalog$elements$cur = _catalog$elements$cur.obj) === null || _catalog$elements$cur === void 0 ? void 0 : _catalog$elements$cur.skuArray;
|
|
429
|
-
var correctSKU = skuArray === null || skuArray === void 0 ? void 0 : skuArray.find(function (sku) {
|
|
430
|
-
return sku.door_color_id === currentDoorColorId;
|
|
431
|
-
});
|
|
432
|
-
if (correctSKU) {
|
|
433
|
-
updatedPayload.sku_number = correctSKU.sku;
|
|
434
|
-
}
|
|
426
|
+
updatedPayload.sku_number = getSkuAliasFromCatalog(catalog, currentObject);
|
|
435
427
|
} else if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'holes') {
|
|
436
428
|
var _calcDistancesFromHol = calcDistancesFromHoleToNearestOneOrWall(currentObject, layer),
|
|
437
429
|
distLeft = _calcDistancesFromHol.distLeft,
|
|
@@ -448,4 +440,21 @@ export function updatePayloadOfInternalEvent(currentObject, layer, catalog) {
|
|
|
448
440
|
};
|
|
449
441
|
}
|
|
450
442
|
return updatedPayload;
|
|
443
|
+
}
|
|
444
|
+
export function getSkuAliasFromCatalog(catalog, sceneObject) {
|
|
445
|
+
var _catalog$elements;
|
|
446
|
+
var sceneObjectJS = typeof (sceneObject === null || sceneObject === void 0 ? void 0 : sceneObject.toJS) === 'function' ? sceneObject.toJS() : sceneObject;
|
|
447
|
+
var elementName = sceneObjectJS === null || sceneObjectJS === void 0 ? void 0 : sceneObjectJS.name;
|
|
448
|
+
var catalogElement = catalog === null || catalog === void 0 || (_catalog$elements = catalog.elements) === null || _catalog$elements === void 0 ? void 0 : _catalog$elements[elementName];
|
|
449
|
+
return getSkuAliasFromCatalogElement(catalogElement, sceneObjectJS);
|
|
450
|
+
}
|
|
451
|
+
export function getSkuAliasFromCatalogElement(catalogElement, sceneObject) {
|
|
452
|
+
var _sceneObjectJS$doorSt, _catalogElement$obj, _skuAlias$sku;
|
|
453
|
+
var sceneObjectJS = typeof (sceneObject === null || sceneObject === void 0 ? void 0 : sceneObject.toJS) === 'function' ? sceneObject.toJS() : sceneObject;
|
|
454
|
+
var doorColorId = sceneObjectJS === null || sceneObjectJS === void 0 || (_sceneObjectJS$doorSt = sceneObjectJS.doorStyle) === null || _sceneObjectJS$doorSt === void 0 ? void 0 : _sceneObjectJS$doorSt.id;
|
|
455
|
+
var skuArray = catalogElement === null || catalogElement === void 0 || (_catalogElement$obj = catalogElement.obj) === null || _catalogElement$obj === void 0 ? void 0 : _catalogElement$obj.skuArray;
|
|
456
|
+
var skuAlias = skuArray === null || skuArray === void 0 ? void 0 : skuArray.find(function (sku) {
|
|
457
|
+
return sku.door_color_id === doorColorId;
|
|
458
|
+
});
|
|
459
|
+
return (_skuAlias$sku = skuAlias === null || skuAlias === void 0 ? void 0 : skuAlias.sku) !== null && _skuAlias$sku !== void 0 ? _skuAlias$sku : sceneObjectJS === null || sceneObjectJS === void 0 ? void 0 : sceneObjectJS.sku_number;
|
|
451
460
|
}
|
|
@@ -6,7 +6,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
6
6
|
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) { _defineProperty(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; }
|
|
7
7
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
8
8
|
import { Map } from 'immutable';
|
|
9
|
-
import { EXTERNAL_EVENT_ADD_WALL, EXTERNAL_EVENT_TOGGLE_TO_3D, EXTERNAL_EVENT_TOGGLE_TO_2D, EXTERNAL_EVENT_TOGGLE_TO_ELEVATION, EXTERNAL_EVENT_MOVE_PAN, MODE_IDLE, MODE_2D_PAN, EXTERNAL_EVENT_ADD_ITEM, ARRAY_3D_MODES, MODE_IDLE_3D, MODE_ELEVATION_VIEW, MODE_DRAWING_LINE, TOP, BOTTOM, LEFT, RIGHT, EXTERNAL_EVENT_NEW_PROJECT, EXTERNAL_EVENT_CHANGE_DOORSTYLE, EXTERNAL_EVENT_ADD_ROOM_SHAPE, EXTERNAL_EVENT_ZOOM_IN, EXTERNAL_EVENT_ZOOM_OUT, EXTERNAL_EVENT_UNDO, EXTERNAL_EVENT_REDO, EXTERNAL_EVENT_SET_MOLDING, EXTERNAL_EVENT_PROJECT_SETTING, PROJECT_SETTING_OPTION, EXTERNAL_EVENT_SYNC_SCENE, INTERNAL_EVENT_SYNC_SCENE, EXTERNAL_EVENT_UPDATE_ATTRIBUTE, ATT_ITEM_POS, ATT_LINE_LENGTH, ATT_VERTEXT_ONE, ATT_VERTEXT_TWO, ATT_HOLE_OFFSET_A, ATT_HOLE_OFFSET_B, UNIT_CENTIMETER, UNIT_INCH, EXTERNAL_EVENT_UPDATE_PROPERTY, PROP_FLIP_DOOR_HANDLE, PROP_OPEN_DOORS, EXTERNAL_EVENT_LOAD_PROJECT, INTERNAL_EVENT_ITEMS_CATALOG, EXTERNAL_EVENT_ADD_HOLE, EXTERNAL_EVENT_CENTERING_2D, EXTERNAL_EVENT_DUPLICATE_ELEMENT, EXTERNAL_EVENT_DELETE_ELEMENT, ELEMENT_HOLE, ELEMENT_ITEM, ELEMENT_LINE, EXTERNAL_EVENT_REPLACE_CABINET, FINISHING_TYPE, EXTERNAL_EVENT_SET_FINISHING, EXTERNAL_EVENT_ROTATE_PAN, DOORSTYLE_SCOPE_SINGLE, DOORSTYLE_SCOPE_ALL, DOORSTYLE_SCOPE_MULTIPLE } from "../constants";
|
|
9
|
+
import { EXTERNAL_EVENT_ADD_WALL, EXTERNAL_EVENT_TOGGLE_TO_3D, EXTERNAL_EVENT_TOGGLE_TO_2D, EXTERNAL_EVENT_TOGGLE_TO_ELEVATION, EXTERNAL_EVENT_MOVE_PAN, MODE_IDLE, MODE_2D_PAN, EXTERNAL_EVENT_ADD_ITEM, ARRAY_3D_MODES, MODE_IDLE_3D, MODE_ELEVATION_VIEW, MODE_DRAWING_LINE, TOP, BOTTOM, LEFT, RIGHT, EXTERNAL_EVENT_NEW_PROJECT, EXTERNAL_EVENT_CHANGE_DOORSTYLE, EXTERNAL_EVENT_ADD_ROOM_SHAPE, EXTERNAL_EVENT_ZOOM_IN, EXTERNAL_EVENT_ZOOM_OUT, EXTERNAL_EVENT_UNDO, EXTERNAL_EVENT_REDO, EXTERNAL_EVENT_SET_MOLDING, EXTERNAL_EVENT_PROJECT_SETTING, PROJECT_SETTING_OPTION, EXTERNAL_EVENT_SYNC_SCENE, INTERNAL_EVENT_SYNC_SCENE, EXTERNAL_EVENT_UPDATE_ATTRIBUTE, ATT_ITEM_POS, ATT_LINE_LENGTH, ATT_VERTEXT_ONE, ATT_VERTEXT_TWO, ATT_HOLE_OFFSET_A, ATT_HOLE_OFFSET_B, UNIT_CENTIMETER, UNIT_INCH, EXTERNAL_EVENT_UPDATE_PROPERTY, PROP_FLIP_DOOR_HANDLE, PROP_OPEN_DOORS, EXTERNAL_EVENT_LOAD_PROJECT, INTERNAL_EVENT_ITEMS_CATALOG, EXTERNAL_EVENT_ADD_HOLE, EXTERNAL_EVENT_CENTERING_2D, EXTERNAL_EVENT_DUPLICATE_ELEMENT, EXTERNAL_EVENT_DELETE_ELEMENT, ELEMENT_HOLE, ELEMENT_ITEM, ELEMENT_LINE, EXTERNAL_EVENT_REPLACE_CABINET, FINISHING_TYPE, EXTERNAL_EVENT_SET_FINISHING, EXTERNAL_EVENT_ROTATE_PAN, DOORSTYLE_SCOPE_SINGLE, DOORSTYLE_SCOPE_ALL, DOORSTYLE_SCOPE_MULTIPLE, DEFAULT_MOLDING_PIECE_LENGTH } from "../constants";
|
|
10
10
|
import { isEmpty, updateViwer2D, centering2D } from "./helper";
|
|
11
11
|
import exporter from "../catalog/utils/exporter";
|
|
12
12
|
import { render2DItem, render3DItem, render3DApplianceItem, render3DLightingItem } from "../catalog/utils/item-loader";
|
|
@@ -1212,7 +1212,7 @@ export function handleExternalEvent(_x0) {
|
|
|
1212
1212
|
function _handleExternalEvent() {
|
|
1213
1213
|
_handleExternalEvent = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee0(props) {
|
|
1214
1214
|
var _evt$payload3, _evt$payload4;
|
|
1215
|
-
var evt, state, layerId, layer, _evt$payload, _state$catalog, cdsItems, itemKeys, _loop6, i, newScene, tempState, _props$onInternalEven, sLineCnt, element, _state$viewer2D, _evt$payload$initialP, mouseX, mouseY, v2d, vPosX, vPosY, layerID, defaulTitle, _evt$payload5, doorStyle, itemCDS, applyScope, _evt$payload5$itemIds, itemIds, _layerId, allItems, targetItems, idSet, selectedItemIds, _cdsItems, _loop7, _i2, _props$onInternalEven2, _evt$payload6, roomShapeType, width, height, measurementUnit, _doorStyle, value, _value, _evt$payload7, moldingInfo, isGlobal, distElement, _distElement, _evt$payload8, option, _value2, _layerId2, _layer, _layer$getIn, selectedLines, selectedHoles, selectedItems, _i4, _i5, _i6, _evt$payload9, _evt$payload0, _evt$payload1, _evt$payload10, _layerID, _layer2, orginalItemInfo, originalItem, originalItemPos, replaceItem, _props$onInternalEven3, sceneData, currentTexture, _t5, _t6, _t7;
|
|
1215
|
+
var evt, state, layerId, layer, _evt$payload, _state$catalog, cdsItems, itemKeys, _loop6, i, newScene, tempState, _props$onInternalEven, sLineCnt, element, _state$viewer2D, _evt$payload$initialP, mouseX, mouseY, v2d, vPosX, vPosY, layerID, defaulTitle, _evt$payload5, doorStyle, itemCDS, applyScope, _evt$payload5$itemIds, itemIds, _layerId, allItems, targetItems, idSet, selectedItemIds, _cdsItems, _loop7, _i2, _props$onInternalEven2, _evt$payload6, roomShapeType, width, height, measurementUnit, _doorStyle, value, _value, _evt$payload7, moldingInfo, isGlobal, distElement, _distElement, _evt$payload8, option, _value2, _layerId2, _layer, _layer$getIn, selectedLines, selectedHoles, selectedItems, _i4, _i5, _i6, _evt$payload9, _evt$payload0, _evt$payload1, _evt$payload10, _layerID, _layer2, orginalItemInfo, originalItem, originalItemPos, replaceItem, _props$configData$mol, _props$configData, _props$configData$ski, _props$configData2, _props$onInternalEven3, sceneData, currentTexture, moldingPieceLength, skinPanelExclusionSKUs, _t5, _t6, _t7;
|
|
1216
1216
|
return _regeneratorRuntime.wrap(function (_context11) {
|
|
1217
1217
|
while (1) switch (_context11.prev = _context11.next) {
|
|
1218
1218
|
case 0:
|
|
@@ -1607,10 +1607,12 @@ function _handleExternalEvent() {
|
|
|
1607
1607
|
case 48:
|
|
1608
1608
|
sceneData = state.scene.toJS(); // get molding data for "ReviewForQuote"
|
|
1609
1609
|
currentTexture = layer.doorStyle !== null || layer.doorStyle !== undefined ? layer.doorStyle : props.state.doorStyle.toJS();
|
|
1610
|
-
|
|
1610
|
+
moldingPieceLength = (_props$configData$mol = props === null || props === void 0 || (_props$configData = props.configData) === null || _props$configData === void 0 ? void 0 : _props$configData.moldingPieceLength) !== null && _props$configData$mol !== void 0 ? _props$configData$mol : DEFAULT_MOLDING_PIECE_LENGTH;
|
|
1611
|
+
sceneData.layers[layerId].moldingData = getMoldingDataOfScene2(layer, props.catalog, currentTexture, moldingPieceLength);
|
|
1611
1612
|
|
|
1612
1613
|
// get skin panel data
|
|
1613
|
-
|
|
1614
|
+
skinPanelExclusionSKUs = (_props$configData$ski = props === null || props === void 0 || (_props$configData2 = props.configData) === null || _props$configData2 === void 0 ? void 0 : _props$configData2.skinPanelExclusionSKUs) !== null && _props$configData$ski !== void 0 ? _props$configData$ski : [];
|
|
1615
|
+
sceneData.layers[layerId].skinPanelData = computeSkinPanels(layer, skinPanelExclusionSKUs, props.catalog);
|
|
1614
1616
|
|
|
1615
1617
|
// send scene object from 3DTool to HostApp using internalEvent
|
|
1616
1618
|
(_props$onInternalEven3 = props.onInternalEvent) === null || _props$onInternalEven3 === void 0 || _props$onInternalEven3.call(props, {
|