kitchen-simulator 2.0.3-load-project-with-internal-event → 2.0.4-op-event
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 +14 -146
- package/es/actions/items-actions.js +0 -6
- package/es/class/item.js +24 -55
- package/es/constants.js +17 -1
- package/es/devLiteRenderer.js +41 -12
- package/es/utils/isolate-event-handler.js +328 -16
- package/lib/LiteRenderer.js +15 -147
- package/lib/actions/items-actions.js +0 -7
- package/lib/class/item.js +24 -55
- package/lib/constants.js +21 -5
- package/lib/devLiteRenderer.js +41 -12
- package/lib/utils/isolate-event-handler.js +326 -15
- package/package.json +1 -1
package/es/LiteRenderer.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
3
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
3
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
6
5
|
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
@@ -8,7 +7,7 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
|
8
7
|
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
9
8
|
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
10
9
|
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
11
|
-
var _excluded = ["width", "height", "projectElement", "
|
|
10
|
+
var _excluded = ["width", "height", "projectElement", "configData", "options", "user", "auth", "featureFlags", "sentry", "analytics", "externalEvent", "onInternalEvent", "onError"];
|
|
12
11
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
13
12
|
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; }
|
|
14
13
|
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; }
|
|
@@ -24,16 +23,13 @@ import PlannerReducer from "./reducers/reducer";
|
|
|
24
23
|
import AppContext from "./AppContext";
|
|
25
24
|
import Catalog from "./catalog/catalog";
|
|
26
25
|
import { SVGLoader } from 'three/addons/loaders/SVGLoader';
|
|
27
|
-
import { isEmpty } from "./utils/helper";
|
|
28
26
|
import { TOE_KICK_MOLDING } from "./constants";
|
|
29
27
|
import * as Areas from "./catalog/areas/area/planner-element";
|
|
30
28
|
import * as Lines from "./catalog/lines/wall/planner-element";
|
|
31
29
|
import * as Holes from "./catalog/holes/export";
|
|
32
|
-
import { render2DItem, render3DApplianceItem, render3DItem, render3DLightingItem } from "./catalog/utils/item-loader";
|
|
33
30
|
import { ConsoleDebugger, Keyboard } from "./plugins/export";
|
|
34
31
|
import { Map } from 'immutable';
|
|
35
32
|
import * as Sentry from '@sentry/react';
|
|
36
|
-
import exporter from "./catalog/utils/exporter";
|
|
37
33
|
import * as THREE from 'three';
|
|
38
34
|
import LiteKitchenConfigurator from "./LiteKitchenConfigurator";
|
|
39
35
|
if (typeof window !== 'undefined') window.THREE = THREE;
|
|
@@ -144,7 +140,6 @@ export default function LiteRenderer(props) {
|
|
|
144
140
|
var width = props.width,
|
|
145
141
|
height = props.height,
|
|
146
142
|
projectElement = props.projectElement,
|
|
147
|
-
dataBundle = props.dataBundle,
|
|
148
143
|
configData = props.configData,
|
|
149
144
|
options = props.options,
|
|
150
145
|
user = props.user,
|
|
@@ -243,25 +238,12 @@ export default function LiteRenderer(props) {
|
|
|
243
238
|
emit(lastExternalEventRef.current, last.errors);
|
|
244
239
|
}
|
|
245
240
|
}, [externalEvent, emit]);
|
|
246
|
-
var _ref = dataBundle || {},
|
|
247
|
-
_ref$data = _ref.data,
|
|
248
|
-
data = _ref$data === void 0 ? [] : _ref$data,
|
|
249
|
-
_ref$appliances = _ref.appliances,
|
|
250
|
-
appliances = _ref$appliances === void 0 ? [] : _ref$appliances,
|
|
251
|
-
_ref$furnishing = _ref.furnishing,
|
|
252
|
-
furnishing = _ref$furnishing === void 0 ? [] : _ref$furnishing,
|
|
253
|
-
_ref$lighting = _ref.lighting,
|
|
254
|
-
lighting = _ref$lighting === void 0 ? [] : _ref$lighting;
|
|
255
241
|
var id = configData.id,
|
|
256
242
|
logoImg = configData.logoImg,
|
|
257
243
|
companyUrl = configData.companyUrl;
|
|
258
|
-
var _React$useState = React.useState([]),
|
|
259
|
-
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
260
|
-
outlineSVGData = _React$useState2[0],
|
|
261
|
-
setOutlineSVGData = _React$useState2[1];
|
|
262
244
|
useEffect(function () {
|
|
263
245
|
var initMyCatalog = /*#__PURE__*/function () {
|
|
264
|
-
var
|
|
246
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
265
247
|
var x, _x, _x2;
|
|
266
248
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
267
249
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -278,11 +260,11 @@ export default function LiteRenderer(props) {
|
|
|
278
260
|
}, _callee);
|
|
279
261
|
}));
|
|
280
262
|
return function initMyCatalog() {
|
|
281
|
-
return
|
|
263
|
+
return _ref.apply(this, arguments);
|
|
282
264
|
};
|
|
283
265
|
}();
|
|
284
266
|
var loadMoldings = /*#__PURE__*/function () {
|
|
285
|
-
var
|
|
267
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
286
268
|
var molding, toeMoldingData, moldingData, promises;
|
|
287
269
|
return _regeneratorRuntime.wrap(function (_context2) {
|
|
288
270
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -318,144 +300,32 @@ export default function LiteRenderer(props) {
|
|
|
318
300
|
}, _callee2);
|
|
319
301
|
}));
|
|
320
302
|
return function loadMoldings() {
|
|
321
|
-
return
|
|
322
|
-
};
|
|
323
|
-
}();
|
|
324
|
-
var loadSVGs = /*#__PURE__*/function () {
|
|
325
|
-
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
|
|
326
|
-
var svgLoadPromises, outlineData;
|
|
327
|
-
return _regeneratorRuntime.wrap(function (_context4) {
|
|
328
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
329
|
-
case 0:
|
|
330
|
-
svgLoadPromises = data.map(/*#__PURE__*/function () {
|
|
331
|
-
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(item) {
|
|
332
|
-
var _parsed$xml$viewBox, _parsed$xml$viewBox2, response, svgText, loader, parsed, _t;
|
|
333
|
-
return _regeneratorRuntime.wrap(function (_context3) {
|
|
334
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
335
|
-
case 0:
|
|
336
|
-
if (item.outline) {
|
|
337
|
-
_context3.next = 1;
|
|
338
|
-
break;
|
|
339
|
-
}
|
|
340
|
-
return _context3.abrupt("return", null);
|
|
341
|
-
case 1:
|
|
342
|
-
_context3.prev = 1;
|
|
343
|
-
_context3.next = 2;
|
|
344
|
-
return fetch(item.outline, {
|
|
345
|
-
cache: 'no-store'
|
|
346
|
-
});
|
|
347
|
-
case 2:
|
|
348
|
-
response = _context3.sent;
|
|
349
|
-
_context3.next = 3;
|
|
350
|
-
return response.text();
|
|
351
|
-
case 3:
|
|
352
|
-
svgText = _context3.sent;
|
|
353
|
-
loader = new SVGLoader();
|
|
354
|
-
parsed = loader.parse(svgText);
|
|
355
|
-
if (!isEmpty(parsed.paths)) {
|
|
356
|
-
_context3.next = 4;
|
|
357
|
-
break;
|
|
358
|
-
}
|
|
359
|
-
return _context3.abrupt("return", null);
|
|
360
|
-
case 4:
|
|
361
|
-
return _context3.abrupt("return", {
|
|
362
|
-
paths: parsed.paths,
|
|
363
|
-
svgWidth: parseFloat(parsed.xml.getAttribute('width')) || ((_parsed$xml$viewBox = parsed.xml.viewBox) === null || _parsed$xml$viewBox === void 0 || (_parsed$xml$viewBox = _parsed$xml$viewBox.animVal) === null || _parsed$xml$viewBox === void 0 ? void 0 : _parsed$xml$viewBox.width) || 0,
|
|
364
|
-
svgHeight: parseFloat(parsed.xml.getAttribute('height')) || ((_parsed$xml$viewBox2 = parsed.xml.viewBox) === null || _parsed$xml$viewBox2 === void 0 || (_parsed$xml$viewBox2 = _parsed$xml$viewBox2.animVal) === null || _parsed$xml$viewBox2 === void 0 ? void 0 : _parsed$xml$viewBox2.height) || 0,
|
|
365
|
-
reverse: !parseFloat(parsed.xml.getAttribute('height'))
|
|
366
|
-
});
|
|
367
|
-
case 5:
|
|
368
|
-
_context3.prev = 5;
|
|
369
|
-
_t = _context3["catch"](1);
|
|
370
|
-
console.error('Failed to load SVG:', item.outline, _t);
|
|
371
|
-
return _context3.abrupt("return", null);
|
|
372
|
-
case 6:
|
|
373
|
-
case "end":
|
|
374
|
-
return _context3.stop();
|
|
375
|
-
}
|
|
376
|
-
}, _callee3, null, [[1, 5]]);
|
|
377
|
-
}));
|
|
378
|
-
return function (_x3) {
|
|
379
|
-
return _ref5.apply(this, arguments);
|
|
380
|
-
};
|
|
381
|
-
}());
|
|
382
|
-
_context4.next = 1;
|
|
383
|
-
return Promise.all(svgLoadPromises);
|
|
384
|
-
case 1:
|
|
385
|
-
outlineData = _context4.sent;
|
|
386
|
-
setOutlineSVGData(outlineData);
|
|
387
|
-
case 2:
|
|
388
|
-
case "end":
|
|
389
|
-
return _context4.stop();
|
|
390
|
-
}
|
|
391
|
-
}, _callee4);
|
|
392
|
-
}));
|
|
393
|
-
return function loadSVGs() {
|
|
394
|
-
return _ref4.apply(this, arguments);
|
|
303
|
+
return _ref2.apply(this, arguments);
|
|
395
304
|
};
|
|
396
305
|
}();
|
|
397
306
|
var initCatalog = /*#__PURE__*/function () {
|
|
398
|
-
var
|
|
399
|
-
return _regeneratorRuntime.wrap(function (
|
|
400
|
-
while (1) switch (
|
|
307
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
308
|
+
return _regeneratorRuntime.wrap(function (_context3) {
|
|
309
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
401
310
|
case 0:
|
|
402
|
-
|
|
311
|
+
_context3.next = 1;
|
|
403
312
|
return initMyCatalog();
|
|
404
313
|
case 1:
|
|
405
|
-
|
|
314
|
+
_context3.next = 2;
|
|
406
315
|
return loadMoldings();
|
|
407
316
|
case 2:
|
|
408
|
-
_context5.next = 3;
|
|
409
|
-
return loadSVGs();
|
|
410
|
-
case 3:
|
|
411
317
|
case "end":
|
|
412
|
-
return
|
|
318
|
+
return _context3.stop();
|
|
413
319
|
}
|
|
414
|
-
},
|
|
320
|
+
}, _callee3);
|
|
415
321
|
}));
|
|
416
322
|
return function initCatalog() {
|
|
417
|
-
return
|
|
323
|
+
return _ref3.apply(this, arguments);
|
|
418
324
|
};
|
|
419
325
|
}();
|
|
420
326
|
initCatalog();
|
|
421
327
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
422
|
-
}, [
|
|
423
|
-
|
|
424
|
-
// Register items once SVGs are loaded
|
|
425
|
-
useEffect(function () {
|
|
426
|
-
if (!outlineSVGData.length) return;
|
|
427
|
-
var Item = [];
|
|
428
|
-
data.forEach(function (obj, index) {
|
|
429
|
-
Item.push(exporter(_objectSpread(_objectSpread({}, obj), {}, {
|
|
430
|
-
type: 'cabinet',
|
|
431
|
-
outlineSVGData: outlineSVGData[index],
|
|
432
|
-
render2DItem: render2DItem,
|
|
433
|
-
render3DItem: render3DItem
|
|
434
|
-
})));
|
|
435
|
-
});
|
|
436
|
-
appliances.forEach(function (obj) {
|
|
437
|
-
Item.push(exporter(_objectSpread(_objectSpread({}, obj), {}, {
|
|
438
|
-
render2DItem: render2DItem,
|
|
439
|
-
render3DItem: render3DApplianceItem,
|
|
440
|
-
type: 'appliance'
|
|
441
|
-
})));
|
|
442
|
-
});
|
|
443
|
-
lighting.forEach(function (obj) {
|
|
444
|
-
Item.push(exporter(_objectSpread(_objectSpread({}, obj), {}, {
|
|
445
|
-
type: 'lighting',
|
|
446
|
-
render2DItem: render2DItem,
|
|
447
|
-
render3DItem: render3DLightingItem
|
|
448
|
-
})));
|
|
449
|
-
});
|
|
450
|
-
furnishing.forEach(function (obj) {
|
|
451
|
-
Item.push(exporter(_objectSpread(_objectSpread({}, obj), {}, {
|
|
452
|
-
type: 'furnishing',
|
|
453
|
-
render2DItem: render2DItem,
|
|
454
|
-
render3DItem: render3DApplianceItem
|
|
455
|
-
})));
|
|
456
|
-
});
|
|
457
|
-
for (var x in Item) MyCatalog.registerElement(Item[x]);
|
|
458
|
-
}, [outlineSVGData, data, appliances, furnishing, lighting]);
|
|
328
|
+
}, [id]);
|
|
459
329
|
return /*#__PURE__*/React.createElement(AppContext.Provider, null, /*#__PURE__*/React.createElement(Provider, {
|
|
460
330
|
store: store
|
|
461
331
|
}, /*#__PURE__*/React.createElement(ToolErrorBoundary, {
|
|
@@ -470,7 +340,6 @@ export default function LiteRenderer(props) {
|
|
|
470
340
|
stateExtractor: function stateExtractor(state) {
|
|
471
341
|
return state.get('KitchenConfigurator');
|
|
472
342
|
},
|
|
473
|
-
data: data,
|
|
474
343
|
configData: configData,
|
|
475
344
|
externalEvent: externalEvent,
|
|
476
345
|
onInternalEvent: onInternalEvent
|
|
@@ -483,7 +352,6 @@ LiteRenderer.propTypes = {
|
|
|
483
352
|
width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
484
353
|
height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
485
354
|
projectElement: PropTypes.arrayOf(PropTypes.object),
|
|
486
|
-
dataBundle: PropTypes.any,
|
|
487
355
|
configData: PropTypes.any,
|
|
488
356
|
catalog: PropTypes.oneOfType([PropTypes.object, PropTypes.instanceOf(Models.Catalog)]),
|
|
489
357
|
logoImg: PropTypes.any,
|
|
@@ -231,12 +231,6 @@ export function setDoorStyle(doorStyle, itemCDS, isAll) {
|
|
|
231
231
|
isAll: isAll
|
|
232
232
|
};
|
|
233
233
|
}
|
|
234
|
-
export function changeDistance(distancePayload) {
|
|
235
|
-
return {
|
|
236
|
-
type: CHANGE_DISTANCE,
|
|
237
|
-
distancePayload: distancePayload
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
234
|
export function setCounterTop(counterTop) {
|
|
241
235
|
return {
|
|
242
236
|
type: SET_COUNTER_TOP,
|
package/es/class/item.js
CHANGED
|
@@ -1265,42 +1265,11 @@ var Item = /*#__PURE__*/function () {
|
|
|
1265
1265
|
updatedState: state
|
|
1266
1266
|
};
|
|
1267
1267
|
}
|
|
1268
|
-
}, {
|
|
1269
|
-
key: "changeDistance",
|
|
1270
|
-
value: function changeDistance(state, distancePayload) {
|
|
1271
|
-
var _state9 = state,
|
|
1272
|
-
scene = _state9.scene;
|
|
1273
|
-
var Left = distancePayload.distanceLeft;
|
|
1274
|
-
var Right = distancePayload.distanceRight;
|
|
1275
|
-
var Back = distancePayload.distanceBack;
|
|
1276
|
-
var Front = distancePayload.distanceFront;
|
|
1277
|
-
var LeftRotRad = Left ? 180 : null;
|
|
1278
|
-
var RightRotRad = Right ? 0 : null;
|
|
1279
|
-
var BackRotRad = Back ? -90 : null;
|
|
1280
|
-
var FrontRotRad = Front ? 90 : null;
|
|
1281
|
-
var directR = LeftRotRad || RightRotRad || BackRotRad || FrontRotRad;
|
|
1282
|
-
var dist = Left || Right || Back || Front;
|
|
1283
|
-
var layerID = scene.get('selectedLayer');
|
|
1284
|
-
var layer = scene.layers.get(layerID).toJS();
|
|
1285
|
-
var selectedItemId = layer.selected.items[0];
|
|
1286
|
-
var selectedItem = layer.items[selectedItemId];
|
|
1287
|
-
if (selectedItem) {
|
|
1288
|
-
var renderedR = selectedItem.rotation || 0;
|
|
1289
|
-
var rotRad = (directR + renderedR) / 180 * Math.PI;
|
|
1290
|
-
var newX = selectedItem.x + convert(dist * Math.cos(rotRad)).from('in').to('cm');
|
|
1291
|
-
var newY = selectedItem.y + convert(dist * Math.sin(rotRad)).from('in').to('cm');
|
|
1292
|
-
state = state.setIn(['scene', 'layers', layerID, 'items', layer.selected.items[0], 'x'], newX);
|
|
1293
|
-
state = state.setIn(['scene', 'layers', layerID, 'items', layer.selected.items[0], 'y'], newY);
|
|
1294
|
-
}
|
|
1295
|
-
return {
|
|
1296
|
-
updatedState: state
|
|
1297
|
-
};
|
|
1298
|
-
}
|
|
1299
1268
|
}, {
|
|
1300
1269
|
key: "setCounterTop",
|
|
1301
1270
|
value: function setCounterTop(state, counterTop) {
|
|
1302
|
-
var
|
|
1303
|
-
scene =
|
|
1271
|
+
var _state9 = state,
|
|
1272
|
+
scene = _state9.scene;
|
|
1304
1273
|
var layerID = scene.get('selectedLayer');
|
|
1305
1274
|
var layers = scene.layers.get(layerID);
|
|
1306
1275
|
layers = layers.mergeIn(['counterTop'], counterTop);
|
|
@@ -1344,8 +1313,8 @@ var Item = /*#__PURE__*/function () {
|
|
|
1344
1313
|
}, {
|
|
1345
1314
|
key: "setDoorHandle",
|
|
1346
1315
|
value: function setDoorHandle(state, doorHandle) {
|
|
1347
|
-
var
|
|
1348
|
-
scene =
|
|
1316
|
+
var _state0 = state,
|
|
1317
|
+
scene = _state0.scene;
|
|
1349
1318
|
var layerID = scene.get('selectedLayer');
|
|
1350
1319
|
var layer = scene.layers.get(layerID);
|
|
1351
1320
|
layer = layer.mergeIn(['doorHandle'], doorHandle);
|
|
@@ -1369,8 +1338,8 @@ var Item = /*#__PURE__*/function () {
|
|
|
1369
1338
|
}, {
|
|
1370
1339
|
key: "setHandleMaterial",
|
|
1371
1340
|
value: function setHandleMaterial(state, material) {
|
|
1372
|
-
var
|
|
1373
|
-
scene =
|
|
1341
|
+
var _state1 = state,
|
|
1342
|
+
scene = _state1.scene;
|
|
1374
1343
|
var layerID = scene.get('selectedLayer');
|
|
1375
1344
|
var layers = scene.layers.get(layerID);
|
|
1376
1345
|
var items = layers.items;
|
|
@@ -1395,8 +1364,8 @@ var Item = /*#__PURE__*/function () {
|
|
|
1395
1364
|
}, {
|
|
1396
1365
|
key: "setWallColor",
|
|
1397
1366
|
value: function setWallColor(state, wallColor) {
|
|
1398
|
-
var
|
|
1399
|
-
scene =
|
|
1367
|
+
var _state10 = state,
|
|
1368
|
+
scene = _state10.scene;
|
|
1400
1369
|
var layerID = scene.get('selectedLayer');
|
|
1401
1370
|
var layer = scene.layers.get(layerID);
|
|
1402
1371
|
layer = layer.merge({
|
|
@@ -1422,8 +1391,8 @@ var Item = /*#__PURE__*/function () {
|
|
|
1422
1391
|
}, {
|
|
1423
1392
|
key: "setBacksplash",
|
|
1424
1393
|
value: function setBacksplash(state, backsplash) {
|
|
1425
|
-
var
|
|
1426
|
-
scene =
|
|
1394
|
+
var _state11 = state,
|
|
1395
|
+
scene = _state11.scene;
|
|
1427
1396
|
var layerID = scene.get('selectedLayer');
|
|
1428
1397
|
var layer = scene.layers.get(layerID);
|
|
1429
1398
|
var dataJSON = layer.toJS();
|
|
@@ -1451,8 +1420,8 @@ var Item = /*#__PURE__*/function () {
|
|
|
1451
1420
|
}, {
|
|
1452
1421
|
key: "setMolding",
|
|
1453
1422
|
value: function setMolding(state, molding, isAll) {
|
|
1454
|
-
var
|
|
1455
|
-
scene =
|
|
1423
|
+
var _state12 = state,
|
|
1424
|
+
scene = _state12.scene;
|
|
1456
1425
|
var layerID = scene.get('selectedLayer');
|
|
1457
1426
|
var layer = scene.layers.get(layerID);
|
|
1458
1427
|
if (isAll) {
|
|
@@ -1541,8 +1510,8 @@ var Item = /*#__PURE__*/function () {
|
|
|
1541
1510
|
}, {
|
|
1542
1511
|
key: "updateMolding",
|
|
1543
1512
|
value: function updateMolding(state) {
|
|
1544
|
-
var
|
|
1545
|
-
scene =
|
|
1513
|
+
var _state13 = state,
|
|
1514
|
+
scene = _state13.scene;
|
|
1546
1515
|
var layerID = scene.get('selectedLayer');
|
|
1547
1516
|
var layer = scene.layers.get(layerID);
|
|
1548
1517
|
var selectedItem = layer.getIn(['items', layer.selected.toJS().items[0]]);
|
|
@@ -1663,8 +1632,8 @@ var Item = /*#__PURE__*/function () {
|
|
|
1663
1632
|
}, {
|
|
1664
1633
|
key: "setBacksplashVisible",
|
|
1665
1634
|
value: function setBacksplashVisible(state, itemID, backsplashVisible) {
|
|
1666
|
-
var
|
|
1667
|
-
scene =
|
|
1635
|
+
var _state14 = state,
|
|
1636
|
+
scene = _state14.scene;
|
|
1668
1637
|
var layerID = scene.get('selectedLayer');
|
|
1669
1638
|
var layer = scene.layers.get(layerID);
|
|
1670
1639
|
layer = layer.mergeIn(['items', itemID, 'backsplashVisible'], backsplashVisible);
|
|
@@ -1684,8 +1653,8 @@ var Item = /*#__PURE__*/function () {
|
|
|
1684
1653
|
}, {
|
|
1685
1654
|
key: "setApplianceMaterial",
|
|
1686
1655
|
value: function setApplianceMaterial(state, material) {
|
|
1687
|
-
var
|
|
1688
|
-
scene =
|
|
1656
|
+
var _state15 = state,
|
|
1657
|
+
scene = _state15.scene;
|
|
1689
1658
|
var layerID = scene.get('selectedLayer');
|
|
1690
1659
|
var layers = scene.layers.get(layerID);
|
|
1691
1660
|
var items = layers.items;
|
|
@@ -1709,8 +1678,8 @@ var Item = /*#__PURE__*/function () {
|
|
|
1709
1678
|
}, {
|
|
1710
1679
|
key: "setModelling",
|
|
1711
1680
|
value: function setModelling(state, molding) {
|
|
1712
|
-
var
|
|
1713
|
-
scene =
|
|
1681
|
+
var _state16 = state,
|
|
1682
|
+
scene = _state16.scene;
|
|
1714
1683
|
var layerID = scene.get('selectedLayer');
|
|
1715
1684
|
var layers = scene.layers.get(layerID);
|
|
1716
1685
|
var items = layers.items;
|
|
@@ -1820,8 +1789,8 @@ var Item = /*#__PURE__*/function () {
|
|
|
1820
1789
|
}, {
|
|
1821
1790
|
key: "toggleLoadingCabinet",
|
|
1822
1791
|
value: function toggleLoadingCabinet(state) {
|
|
1823
|
-
var
|
|
1824
|
-
scene =
|
|
1792
|
+
var _state17 = state,
|
|
1793
|
+
scene = _state17.scene;
|
|
1825
1794
|
console.log('scene.isLoadingCabinet: ', !scene.isLoadingCabinet);
|
|
1826
1795
|
// scene = scene.set('isLoadingCabinet', !scene.isLoadingCabinet);
|
|
1827
1796
|
// state = state.set('scene', scene);
|
|
@@ -1833,8 +1802,8 @@ var Item = /*#__PURE__*/function () {
|
|
|
1833
1802
|
}, {
|
|
1834
1803
|
key: "endLoading",
|
|
1835
1804
|
value: function endLoading(state) {
|
|
1836
|
-
var
|
|
1837
|
-
scene =
|
|
1805
|
+
var _state18 = state,
|
|
1806
|
+
scene = _state18.scene;
|
|
1838
1807
|
state = state.setIn(['scene', 'loadFlag'], true);
|
|
1839
1808
|
return {
|
|
1840
1809
|
updatedState: state
|
package/es/constants.js
CHANGED
|
@@ -660,6 +660,21 @@ export var RIGHT = 'Right';
|
|
|
660
660
|
export var TOP = 'Top';
|
|
661
661
|
export var BOTTOM = 'Bottom';
|
|
662
662
|
|
|
663
|
+
// distance direction angle
|
|
664
|
+
export var LEFT_DIST_ANG = 0;
|
|
665
|
+
export var RIGHT_DIST_ANG = 180;
|
|
666
|
+
export var BACK_DIST_ANG = 90;
|
|
667
|
+
export var FRONT_DIST_ANG = -90;
|
|
668
|
+
|
|
669
|
+
// element attributes
|
|
670
|
+
export var ATT_ITEM_POS = 'pos';
|
|
671
|
+
export var ATT_ITEM_ROTATION = 'rotation';
|
|
672
|
+
export var ATT_LINE_LENGTH = 'lineLength';
|
|
673
|
+
export var ATT_VERTEXT_ONE = 'vertexOne';
|
|
674
|
+
export var ATT_VERTEXT_TWO = 'vertexTwo';
|
|
675
|
+
export var ATT_HOLE_OFFSET_A = 'offsetA';
|
|
676
|
+
export var ATT_HOLE_OFFSET_B = 'offsetB';
|
|
677
|
+
|
|
663
678
|
// external event type
|
|
664
679
|
export var EXTERNAL_EVENT_SYNC_SCENE = 'EXTERNAL_EVENT_SYNC_SCENE'; // Host request the scene data to 3DTool for sync : Host -> 3DTool
|
|
665
680
|
export var INTERNAL_EVENT_SYNC_SCENE = 'INTERNAL_EVENT_SYNC_SCENE'; // 3DTool send the scene data to Host for sync : 3DTool -> HostApp
|
|
@@ -682,7 +697,8 @@ export var EXTERNAL_EVENT_ZOOM_OUT = 'EXTERNAL_EVENT_ZOOM_OUT';
|
|
|
682
697
|
export var EXTERNAL_EVENT_UNDO = 'EXTERNAL_EVENT_UNDO';
|
|
683
698
|
export var EXTERNAL_EVENT_REDO = 'EXTERNAL_EVENT_REDO';
|
|
684
699
|
export var EXTERNAL_EVENT_SET_MOLDING = 'EXTERNAL_EVENT_SET_MOLDING';
|
|
685
|
-
export var EXTERNAL_EVENT_PROJECT_SETTING = 'EXTERNAL_EVENT_PROJECT_SETTING';
|
|
700
|
+
export var EXTERNAL_EVENT_PROJECT_SETTING = 'EXTERNAL_EVENT_PROJECT_SETTING'; // project setting event
|
|
701
|
+
export var EXTERNAL_EVENT_UPDATE_ATTRIBUTE = 'EXTERNAL_EVENT_UPDATE_ATTRIBUTE'; // update the element's attributes (distance, rotation...) in the property window
|
|
686
702
|
|
|
687
703
|
// internal event type
|
|
688
704
|
export var INTERNAL_EVENT_SELECT_ELEMENT = 'INTERNAL_EVENT_SELECT_ELEMENT';
|
package/es/devLiteRenderer.js
CHANGED
|
@@ -7,7 +7,6 @@ import projectItemsCatalog from "./mocks/projectItemsCatalog.json";
|
|
|
7
7
|
import mockProps from "./mocks/mockProps.json";
|
|
8
8
|
import mockDataBundle from "./mocks/dataBundle2.json";
|
|
9
9
|
import cabinetPaylod from "./mocks/cabinetPayload2.json";
|
|
10
|
-
import doorStylePaylod from "./mocks/doorStylePayload.json";
|
|
11
10
|
import doorStylePaylod2 from "./mocks/doorStylePayload2.json";
|
|
12
11
|
import itemCDSPayload from "./mocks/itemCDSPayload.json";
|
|
13
12
|
import rectangleData from "./mocks/rectangleShape.json";
|
|
@@ -16,7 +15,7 @@ import distancePayload from "./mocks/distancePayload.json";
|
|
|
16
15
|
import ReactDOM from 'react-dom';
|
|
17
16
|
import LiteRenderer from "./LiteRenderer";
|
|
18
17
|
import { Button } from 'antd';
|
|
19
|
-
import { LEFT, RIGHT, TOP, BOTTOM, EXTERNAL_EVENT_ADD_ITEM, EXTERNAL_EVENT_ADD_WALL, EXTERNAL_EVENT_TOGGLE_TO_3D, EXTERNAL_EVENT_TOGGLE_TO_2D, EXTERNAL_EVENT_TOGGLE_TO_ELEVATION, EXTERNAL_EVENT_MOVE_PAN, EXTERNAL_EVENT_NEW_PROJECT, EXTERNAL_EVENT_CHANGE_DOORSTYLE, EXTERNAL_EVENT_SET_INITIAL_DATA, 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,
|
|
18
|
+
import { LEFT, RIGHT, TOP, BOTTOM, EXTERNAL_EVENT_ADD_ITEM, EXTERNAL_EVENT_ADD_WALL, EXTERNAL_EVENT_TOGGLE_TO_3D, EXTERNAL_EVENT_TOGGLE_TO_2D, EXTERNAL_EVENT_TOGGLE_TO_ELEVATION, EXTERNAL_EVENT_MOVE_PAN, EXTERNAL_EVENT_NEW_PROJECT, EXTERNAL_EVENT_CHANGE_DOORSTYLE, EXTERNAL_EVENT_SET_INITIAL_DATA, 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, EXTERNAL_EVENT_LOAD_PROJECT, INTERNAL_EVENT_ITEMS_CATALOG, EXTERNAL_EVENT_UPDATE_ATTRIBUTE, BACK_DIST_ANG, ATT_ITEM_POS, ATT_ITEM_ROTATION, ATT_LINE_LENGTH } from "./constants";
|
|
20
19
|
|
|
21
20
|
// --- renderer props ---
|
|
22
21
|
var options = {
|
|
@@ -60,7 +59,7 @@ function WorkSpace(props) {
|
|
|
60
59
|
type: EXTERNAL_EVENT_SET_INITIAL_DATA,
|
|
61
60
|
payload: {
|
|
62
61
|
doorStyle: {
|
|
63
|
-
doorStyle:
|
|
62
|
+
doorStyle: doorStylePaylod2
|
|
64
63
|
}
|
|
65
64
|
}
|
|
66
65
|
};
|
|
@@ -68,7 +67,17 @@ function WorkSpace(props) {
|
|
|
68
67
|
}, []);
|
|
69
68
|
return /*#__PURE__*/React.createElement("div", {
|
|
70
69
|
className: "flex gap-4"
|
|
71
|
-
}, /*#__PURE__*/React.createElement(Button, {
|
|
70
|
+
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
|
|
71
|
+
actionType: "danger",
|
|
72
|
+
onClick: function onClick() {
|
|
73
|
+
var evt = {
|
|
74
|
+
type: EXTERNAL_EVENT_SYNC_SCENE,
|
|
75
|
+
// send request for sync scene data to 3DTool
|
|
76
|
+
payload: {}
|
|
77
|
+
};
|
|
78
|
+
setExternalEvent(evt);
|
|
79
|
+
}
|
|
80
|
+
}, "Event-sync"), /*#__PURE__*/React.createElement(Button, {
|
|
72
81
|
actionType: "danger",
|
|
73
82
|
onClick: function onClick() {
|
|
74
83
|
var evt = {
|
|
@@ -302,26 +311,46 @@ function WorkSpace(props) {
|
|
|
302
311
|
actionType: "danger",
|
|
303
312
|
onClick: function onClick() {
|
|
304
313
|
var evt = {
|
|
305
|
-
type:
|
|
306
|
-
payload:
|
|
314
|
+
type: EXTERNAL_EVENT_UPDATE_ATTRIBUTE,
|
|
315
|
+
payload: {
|
|
316
|
+
attributeName: ATT_ITEM_POS,
|
|
317
|
+
value: {
|
|
318
|
+
directionAng: BACK_DIST_ANG,
|
|
319
|
+
oldDistance: 0,
|
|
320
|
+
newDistance: 10
|
|
321
|
+
}
|
|
322
|
+
}
|
|
307
323
|
};
|
|
308
324
|
setExternalEvent(evt);
|
|
309
325
|
}
|
|
310
|
-
}, "
|
|
326
|
+
}, "OP-Cabinet Back Distance to 10"), /*#__PURE__*/React.createElement(Button, {
|
|
311
327
|
actionType: "danger",
|
|
312
328
|
onClick: function onClick() {
|
|
313
329
|
var evt = {
|
|
314
|
-
type:
|
|
315
|
-
|
|
316
|
-
|
|
330
|
+
type: EXTERNAL_EVENT_UPDATE_ATTRIBUTE,
|
|
331
|
+
payload: {
|
|
332
|
+
attributeName: ATT_ITEM_ROTATION,
|
|
333
|
+
value: 45
|
|
334
|
+
}
|
|
335
|
+
};
|
|
336
|
+
setExternalEvent(evt);
|
|
337
|
+
}
|
|
338
|
+
}, "OP-Cabinet Rotation to 45"), /*#__PURE__*/React.createElement(Button, {
|
|
339
|
+
actionType: "danger",
|
|
340
|
+
onClick: function onClick() {
|
|
341
|
+
var evt = {
|
|
342
|
+
type: EXTERNAL_EVENT_UPDATE_ATTRIBUTE,
|
|
343
|
+
payload: {
|
|
344
|
+
attributeName: ATT_LINE_LENGTH,
|
|
345
|
+
value: 100
|
|
346
|
+
}
|
|
317
347
|
};
|
|
318
348
|
setExternalEvent(evt);
|
|
319
349
|
}
|
|
320
|
-
}, "
|
|
350
|
+
}, "OP-Wall Length to 100")), /*#__PURE__*/React.createElement(LiteRenderer, {
|
|
321
351
|
width: props.width,
|
|
322
352
|
height: props.height,
|
|
323
353
|
projectElement: mockProps.projectElement,
|
|
324
|
-
dataBundle: mockDataBundle,
|
|
325
354
|
configData: mockProps.configData,
|
|
326
355
|
options: options,
|
|
327
356
|
logoImg: "/assets/logo.png",
|