kitchen-simulator 10.4.0 → 10.5.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/es/catalog/utils/item-loader.js +2 -2
- package/es/class/item.js +1 -3
- package/es/class/line.js +1 -3
- package/es/components/viewer2d/item.js +1 -1
- package/es/components/viewer2d/viewer2d.js +1 -1
- package/es/components/viewer3d/ruler-utils/layer3D.js +2 -2
- package/es/components/viewer3d/scene-creator.js +2 -2
- package/es/components/viewer3d/viewer3d.js +4 -7
- package/es/events/external/handleExternalEvent.js +1 -0
- package/es/events/external/handlers.syncScene.js +1 -1
- package/es/utils/geometry.js +4 -7
- package/es/utils/helper.js +10 -20
- package/es/utils/skinPanelEngine.js +5 -9
- package/lib/catalog/utils/item-loader.js +1 -1
- package/lib/class/item.js +1 -3
- package/lib/class/line.js +1 -3
- package/lib/components/viewer2d/item.js +1 -1
- package/lib/components/viewer2d/viewer2d.js +1 -1
- package/lib/components/viewer3d/ruler-utils/layer3D.js +2 -2
- package/lib/components/viewer3d/scene-creator.js +2 -2
- package/lib/components/viewer3d/viewer3d.js +4 -7
- package/lib/events/external/handleExternalEvent.js +1 -0
- package/lib/events/external/handlers.syncScene.js +1 -1
- package/lib/utils/geometry.js +4 -7
- package/lib/utils/helper.js +11 -22
- package/lib/utils/skinPanelEngine.js +4 -8
- package/package.json +1 -1
|
@@ -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,
|
|
15
|
+
import { animateDoor, getCatalogCabinetSku, isEmpty, translateDrawer } from "../../utils/helper";
|
|
16
16
|
import { isWarningCabinet } from "../../shared/domain/cabinet-warning";
|
|
17
17
|
import { orderCabinetAssemblyKeys } from "../cabinet/cabinet-assembly-order";
|
|
18
18
|
var INITIAL_NORMAL_MAP = '';
|
|
@@ -124,7 +124,7 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
124
124
|
var rowCount = 0; //parseInt((element.type.length / lineCount - 0.51).toFixed(), 10);
|
|
125
125
|
|
|
126
126
|
// Get SKU Alias
|
|
127
|
-
var objSKU =
|
|
127
|
+
var objSKU = getCatalogCabinetSku(element);
|
|
128
128
|
if (rowCount > 0) {
|
|
129
129
|
for (var _x = 0; _x < rowCount; _x++) {
|
|
130
130
|
splitStr.push(objSKU.slice(lineCount * _x, lineCount * (_x + 1)));
|
package/es/class/item.js
CHANGED
|
@@ -567,9 +567,7 @@ var Item = /*#__PURE__*/function () {
|
|
|
567
567
|
break;
|
|
568
568
|
}
|
|
569
569
|
if (onInternalEvent && duplicatedElement) {
|
|
570
|
-
var
|
|
571
|
-
var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
|
|
572
|
-
var jsElement = updatePayloadOfInternalEvent(duplicatedElement, layer, catalog);
|
|
570
|
+
var jsElement = updatePayloadOfInternalEvent(duplicatedElement, layer);
|
|
573
571
|
onInternalEvent({
|
|
574
572
|
type: INTERNAL_EVENT_DRAW_ELEMENT,
|
|
575
573
|
value: jsElement
|
package/es/class/line.js
CHANGED
|
@@ -427,7 +427,6 @@ var Line = /*#__PURE__*/function () {
|
|
|
427
427
|
}, {
|
|
428
428
|
key: "beginDrawingLine",
|
|
429
429
|
value: function beginDrawingLine(state, layerID, x, y, onInternalEvent) {
|
|
430
|
-
var _state$get;
|
|
431
430
|
// if end drawing by created area
|
|
432
431
|
if (state.mode == MODE_IDLE) {
|
|
433
432
|
return {
|
|
@@ -481,8 +480,7 @@ var Line = /*#__PURE__*/function () {
|
|
|
481
480
|
drawingSupport: drawingSupport
|
|
482
481
|
});
|
|
483
482
|
var layer = state.getIn(['scene', 'layers', layerID]);
|
|
484
|
-
var
|
|
485
|
-
var payload = updatePayloadOfInternalEvent(line, layer, catalog);
|
|
483
|
+
var payload = updatePayloadOfInternalEvent(line, layer);
|
|
486
484
|
if (onInternalEvent) onInternalEvent({
|
|
487
485
|
type: INTERNAL_EVENT_START_DRAW_WALL,
|
|
488
486
|
value: payload
|
|
@@ -87,7 +87,7 @@ export default function Item(_ref, _ref2) {
|
|
|
87
87
|
length: itemDistanceFromLine,
|
|
88
88
|
angle: rotation,
|
|
89
89
|
rotation: element[1],
|
|
90
|
-
transform: "translate(".concat(element[1] === 180 ? -nw : element[1] === 0 ? nw : 0, ", ").concat(element[1] === 90 ? nh : element[1] === -90 ?
|
|
90
|
+
transform: "translate(".concat(element[1] === 180 ? -nw : element[1] === 0 ? nw : 0, ", ").concat(element[1] === 90 ? nh : element[1] === -90 ? (item === null || item === void 0 ? void 0 : item.is_corner) !== 1 ? -(nh + 4) : -nh : 0, ") rotate(").concat(element[1], ", 0, 0)")
|
|
91
91
|
})));
|
|
92
92
|
}
|
|
93
93
|
});
|
|
@@ -1256,7 +1256,7 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
1256
1256
|
_currentObject = state.getIn(['scene', 'layers', layerID, elementPrototype, elementID]);
|
|
1257
1257
|
}
|
|
1258
1258
|
if (_currentObject) {
|
|
1259
|
-
var payload = updatePayloadOfInternalEvent(_currentObject, layer
|
|
1259
|
+
var payload = updatePayloadOfInternalEvent(_currentObject, layer);
|
|
1260
1260
|
|
|
1261
1261
|
// send selection event befor replace event
|
|
1262
1262
|
if (internalType === constants.INTERNAL_EVENT_REPLACE_CABINET) {
|
|
@@ -94,8 +94,8 @@ export default function Layer3D(_ref) {
|
|
|
94
94
|
depth: depth,
|
|
95
95
|
altitude: altitude
|
|
96
96
|
};
|
|
97
|
-
val.layoutpos =
|
|
98
|
-
val.is_corner =
|
|
97
|
+
val.layoutpos = item === null || item === void 0 ? void 0 : item.layoutpos;
|
|
98
|
+
val.is_corner = item.is_corner;
|
|
99
99
|
val.item = item.toJS();
|
|
100
100
|
var calcrect = GeometryUtils.getCalcRectFromItem3D(val);
|
|
101
101
|
if (isSnapped(calcrect.rect[3], calcrect.rect[2]) || isSnapped(calcrect.rect[2], calcrect.rect[1]) || isSnapped(calcrect.rect[0], calcrect.rect[3])) {
|
|
@@ -2153,8 +2153,8 @@ function addItem(sceneData, planData, layer, itemID, catalog, itemsActions) {
|
|
|
2153
2153
|
height: height,
|
|
2154
2154
|
depth: depth
|
|
2155
2155
|
};
|
|
2156
|
-
val.layoutpos =
|
|
2157
|
-
val.is_corner =
|
|
2156
|
+
val.layoutpos = item === null || item === void 0 ? void 0 : item.layoutpos;
|
|
2157
|
+
val.is_corner = item === null || item === void 0 ? void 0 : item.is_corner;
|
|
2158
2158
|
val.item = item;
|
|
2159
2159
|
var calcrect = GeometryUtils.getCalcRectFromItem3D(val);
|
|
2160
2160
|
|
|
@@ -544,7 +544,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
544
544
|
if (item !== null) {
|
|
545
545
|
var catid = item.type;
|
|
546
546
|
var cat = catalog.elements[catid];
|
|
547
|
-
layoutpos =
|
|
547
|
+
layoutpos = item === null || item === void 0 ? void 0 : item.layoutpos;
|
|
548
548
|
}
|
|
549
549
|
var oPos = new Three.Vector2(pos.clone().x, pos.clone().y);
|
|
550
550
|
var sBounding = obj.children[0].userData;
|
|
@@ -564,9 +564,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
564
564
|
return false;
|
|
565
565
|
}
|
|
566
566
|
var _item = layer.items.getIn([data.id]);
|
|
567
|
-
var
|
|
568
|
-
var ocat = catalog.elements[ocatid];
|
|
569
|
-
var olayoutpos = ocat.info.layoutpos;
|
|
567
|
+
var olayoutpos = _item.layoutpos;
|
|
570
568
|
if (!(layoutpos === BASE_CABINET_LAYOUTPOS && olayoutpos === WALL_CABINET_LAYOUTPOS || layoutpos === WALL_CABINET_LAYOUTPOS && olayoutpos === BASE_CABINET_LAYOUTPOS)) {
|
|
571
569
|
var tRot = _item.rotation;
|
|
572
570
|
var tPos = new Three.Vector2(_item.x, _item.y);
|
|
@@ -1192,9 +1190,8 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1192
1190
|
var curLayerId = _this2.props.state.scene.selectedLayer;
|
|
1193
1191
|
var curLayer = _this2.props.state.scene.getIn(['layers', curLayerId]);
|
|
1194
1192
|
if (!isEmpty(evtType) && !isEmpty(evtElement)) {
|
|
1195
|
-
var
|
|
1196
|
-
var
|
|
1197
|
-
var payload = updatePayloadOfInternalEvent(evtElement, curLayer, catalog, pointArray);
|
|
1193
|
+
var _this2$props$onIntern, _this2$props;
|
|
1194
|
+
var payload = updatePayloadOfInternalEvent(evtElement, curLayer, pointArray);
|
|
1198
1195
|
(_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
|
|
1199
1196
|
type: evtType,
|
|
1200
1197
|
value: payload
|
|
@@ -128,6 +128,7 @@ function _handleExternalEvent() {
|
|
|
128
128
|
handleSetFinishing(props, state, evt.payload);
|
|
129
129
|
return _context.abrupt("continue", 31);
|
|
130
130
|
case 30:
|
|
131
|
+
console.log('*** catalog ***', props.catalog);
|
|
131
132
|
handleSyncScene(props, state, layer, layerId, getMoldingDataOfScene2, computeSkinPanels, DEFAULT_MOLDING_PIECE_LENGTH, INTERNAL_EVENT_SYNC_SCENE);
|
|
132
133
|
return _context.abrupt("continue", 31);
|
|
133
134
|
case 31:
|
|
@@ -9,7 +9,7 @@ export function handleSyncScene(props, state, layer, layerId, getMoldingDataOfSc
|
|
|
9
9
|
|
|
10
10
|
// get skin panel data
|
|
11
11
|
var 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 : [];
|
|
12
|
-
sceneData.layers[layerId].skinPanelData = computeSkinPanels(layer, skinPanelExclusionSKUs
|
|
12
|
+
sceneData.layers[layerId].skinPanelData = computeSkinPanels(layer, skinPanelExclusionSKUs);
|
|
13
13
|
|
|
14
14
|
// send scene object from 3DTool to HostApp using internalEvent
|
|
15
15
|
(_props$onInternalEven = props.onInternalEvent) === null || _props$onInternalEven === void 0 || _props$onInternalEven.call(props, {
|
package/es/utils/geometry.js
CHANGED
|
@@ -739,7 +739,8 @@ export function getAllItemSpecified(scene, catalog, filter) {
|
|
|
739
739
|
rotRad: item.rotation / 180 * Math.PI
|
|
740
740
|
};
|
|
741
741
|
var cat = item.type ? findCatalogElement(catalog, item.type) : null;
|
|
742
|
-
|
|
742
|
+
val.layoutpos = item.layoutpos;
|
|
743
|
+
val.is_corner = item.is_corner;
|
|
743
744
|
var props = item.properties;
|
|
744
745
|
var getSize = function getSize(key) {
|
|
745
746
|
var _props$getIn, _props$getIn2, _props$getIn3;
|
|
@@ -752,15 +753,11 @@ export function getAllItemSpecified(scene, catalog, filter) {
|
|
|
752
753
|
depth: getSize('depth')
|
|
753
754
|
};
|
|
754
755
|
val.item = item;
|
|
755
|
-
if (info) {
|
|
756
|
-
val.layoutpos = info.layoutpos;
|
|
757
|
-
val.is_corner = info.is_corner;
|
|
758
|
-
}
|
|
759
756
|
|
|
760
757
|
// Filter check
|
|
761
758
|
if (Array.isArray(filter)) {
|
|
762
|
-
if (
|
|
763
|
-
} else if (
|
|
759
|
+
if (!val.layoutpos || !filter.includes(val.layoutpos)) return;
|
|
760
|
+
} else if (val.layoutpos !== filter || isEmpty(cat) || (cat === null || cat === void 0 ? void 0 : cat.type) === 'appliance' && ['Cook Top', 'Microwave'].includes(cat === null || cat === void 0 || (_cat$obj = cat.obj) === null || _cat$obj === void 0 ? void 0 : _cat$obj.category)) {
|
|
764
761
|
return;
|
|
765
762
|
}
|
|
766
763
|
|
package/es/utils/helper.js
CHANGED
|
@@ -12,6 +12,7 @@ import { formatNumber } from "./math";
|
|
|
12
12
|
import AWS from 'aws-sdk';
|
|
13
13
|
import { GeometryUtils, MoldingUtils } from "./export";
|
|
14
14
|
import { calcDistancesFromHoleToNearestOneOrWall } from "./geometry";
|
|
15
|
+
import { toJSIfNeeded } from "../shared/objects/immutable";
|
|
15
16
|
var s3 = new AWS.S3({
|
|
16
17
|
accessKeyId: process.env.REACT_APP_AWS_ID,
|
|
17
18
|
secretAccessKey: process.env.REACT_APP_AWS_SECRET
|
|
@@ -400,11 +401,11 @@ export function centering2D(state) {
|
|
|
400
401
|
if (viewer2DActions) updateViwer2D(viewer, viewer2DActions);
|
|
401
402
|
return state;
|
|
402
403
|
}
|
|
403
|
-
export function updatePayloadOfInternalEvent(currentObject, layer
|
|
404
|
-
var pointArray = arguments.length >
|
|
404
|
+
export function updatePayloadOfInternalEvent(currentObject, layer) {
|
|
405
|
+
var pointArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
405
406
|
if (isEmpty(currentObject)) return null;
|
|
406
407
|
var updatedPayload = currentObject.toJS();
|
|
407
|
-
if (isEmpty(layer)
|
|
408
|
+
if (isEmpty(layer)) return updatedPayload;
|
|
408
409
|
if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'lines') {
|
|
409
410
|
// caculating length of selected line//
|
|
410
411
|
var v_a = layer.vertices.get(currentObject.vertices.get(0));
|
|
@@ -424,7 +425,7 @@ export function updatePayloadOfInternalEvent(currentObject, layer, catalog) {
|
|
|
424
425
|
if (pointArray) updatedPayload.distArray = pointArray;
|
|
425
426
|
|
|
426
427
|
// update sku_number using sku_array
|
|
427
|
-
updatedPayload.sku_number =
|
|
428
|
+
updatedPayload.sku_number = getCatalogCabinetSku(currentObject);
|
|
428
429
|
} else if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'holes') {
|
|
429
430
|
var _calcDistancesFromHol = calcDistancesFromHoleToNearestOneOrWall(currentObject, layer),
|
|
430
431
|
distLeft = _calcDistancesFromHol.distLeft,
|
|
@@ -442,20 +443,9 @@ export function updatePayloadOfInternalEvent(currentObject, layer, catalog) {
|
|
|
442
443
|
}
|
|
443
444
|
return updatedPayload;
|
|
444
445
|
}
|
|
445
|
-
export function
|
|
446
|
-
var
|
|
447
|
-
var sceneObjectJS =
|
|
448
|
-
var
|
|
449
|
-
|
|
450
|
-
return getSkuAliasFromCatalogElement(catalogElement, sceneObjectJS);
|
|
451
|
-
}
|
|
452
|
-
export function getSkuAliasFromCatalogElement(catalogElement, sceneObject) {
|
|
453
|
-
var _sceneObjectJS$doorSt, _catalogElement$obj, _skuAlias$sku;
|
|
454
|
-
var sceneObjectJS = typeof (sceneObject === null || sceneObject === void 0 ? void 0 : sceneObject.toJS) === 'function' ? sceneObject.toJS() : sceneObject;
|
|
455
|
-
var doorColorId = sceneObjectJS === null || sceneObjectJS === void 0 || (_sceneObjectJS$doorSt = sceneObjectJS.doorStyle) === null || _sceneObjectJS$doorSt === void 0 ? void 0 : _sceneObjectJS$doorSt.id;
|
|
456
|
-
var skuArray = catalogElement === null || catalogElement === void 0 || (_catalogElement$obj = catalogElement.obj) === null || _catalogElement$obj === void 0 ? void 0 : _catalogElement$obj.skuArray;
|
|
457
|
-
var skuAlias = skuArray === null || skuArray === void 0 ? void 0 : skuArray.find(function (sku) {
|
|
458
|
-
return sku.door_color_id === doorColorId;
|
|
459
|
-
});
|
|
460
|
-
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;
|
|
446
|
+
export function getCatalogCabinetSku(sceneObject) {
|
|
447
|
+
var _sceneObjectJS$ccdf;
|
|
448
|
+
var sceneObjectJS = toJSIfNeeded(sceneObject);
|
|
449
|
+
var ccdfSku = sceneObjectJS === null || sceneObjectJS === void 0 || (_sceneObjectJS$ccdf = sceneObjectJS.ccdf) === null || _sceneObjectJS$ccdf === void 0 ? void 0 : _sceneObjectJS$ccdf.catalog_cabinet_sku;
|
|
450
|
+
return ccdfSku;
|
|
461
451
|
}
|
|
@@ -6,7 +6,7 @@ import { BASE_CABINET_LAYOUTPOS, WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS,
|
|
|
6
6
|
import { buildRectFromLines, getAllLines, pointsDistance, relationshipOfTwoOverlappedLines, rotatePointAroundPoint } from "./geometry";
|
|
7
7
|
import { MathUtils } from "./export";
|
|
8
8
|
import { convert } from "./convert-units-lite";
|
|
9
|
-
import {
|
|
9
|
+
import { getCatalogCabinetSku, isEmpty } from "./helper";
|
|
10
10
|
import { SKIN_SKU_BSV_24, SKIN_SKU_BSV_48, SKIN_SKU_WSV_1242, SKIN_SKU_WSV_2442, SKIN_SKU_WSV_2460, SKIN_SKU_USV245325, SKIN_HEIGHT_53_25 } from "../constants/catalog/skinPanel";
|
|
11
11
|
function toCm(item, prop) {
|
|
12
12
|
var unit = item.properties.get(prop).get('_unit') || 'cm';
|
|
@@ -493,16 +493,12 @@ function buildSkinPanelData(faces) {
|
|
|
493
493
|
});
|
|
494
494
|
return result;
|
|
495
495
|
}
|
|
496
|
-
function shouldExcludeSkinPanel(itemJS, exclusionSet
|
|
497
|
-
var
|
|
498
|
-
|
|
499
|
-
var doorColorSku = itemJS === null || itemJS === void 0 || (_itemJS$doorStyle = itemJS.doorStyle) === null || _itemJS$doorStyle === void 0 ? void 0 : _itemJS$doorStyle.sku;
|
|
500
|
-
if (!cabinetSku || !doorColorSku) return false;
|
|
501
|
-
return exclusionSet.has("".concat(cabinetSku, "-").concat(doorColorSku));
|
|
496
|
+
function shouldExcludeSkinPanel(itemJS, exclusionSet) {
|
|
497
|
+
var catalogCabinetSku = getCatalogCabinetSku(itemJS);
|
|
498
|
+
return exclusionSet.has(catalogCabinetSku);
|
|
502
499
|
}
|
|
503
500
|
export function computeSkinPanels(layer) {
|
|
504
501
|
var skinPanelExclusionSKUs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
505
|
-
var catalog = arguments.length > 2 ? arguments[2] : undefined;
|
|
506
502
|
var exclusionSet = new Set(skinPanelExclusionSKUs);
|
|
507
503
|
|
|
508
504
|
// Get candidate skin panel items and other items
|
|
@@ -510,7 +506,7 @@ export function computeSkinPanels(layer) {
|
|
|
510
506
|
skinPanelItems = _collectLayerItems.skinPanelItems,
|
|
511
507
|
otherItems = _collectLayerItems.otherItems;
|
|
512
508
|
var filteredSkinPanelItems = skinPanelItems.filter(function (item) {
|
|
513
|
-
return !shouldExcludeSkinPanel(item.toJS(), exclusionSet
|
|
509
|
+
return !shouldExcludeSkinPanel(item.toJS(), exclusionSet);
|
|
514
510
|
});
|
|
515
511
|
|
|
516
512
|
// Get all skin face list of [skinPanelItems] & [otherItems]
|
|
@@ -138,7 +138,7 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
|
|
|
138
138
|
var rowCount = 0; //parseInt((element.type.length / lineCount - 0.51).toFixed(), 10);
|
|
139
139
|
|
|
140
140
|
// Get SKU Alias
|
|
141
|
-
var objSKU = (0, _helper.
|
|
141
|
+
var objSKU = (0, _helper.getCatalogCabinetSku)(element);
|
|
142
142
|
if (rowCount > 0) {
|
|
143
143
|
for (var _x = 0; _x < rowCount; _x++) {
|
|
144
144
|
splitStr.push(objSKU.slice(lineCount * _x, lineCount * (_x + 1)));
|
package/lib/class/item.js
CHANGED
|
@@ -574,9 +574,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
574
574
|
break;
|
|
575
575
|
}
|
|
576
576
|
if (onInternalEvent && duplicatedElement) {
|
|
577
|
-
var
|
|
578
|
-
var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
|
|
579
|
-
var jsElement = (0, _helper.updatePayloadOfInternalEvent)(duplicatedElement, layer, catalog);
|
|
577
|
+
var jsElement = (0, _helper.updatePayloadOfInternalEvent)(duplicatedElement, layer);
|
|
580
578
|
onInternalEvent({
|
|
581
579
|
type: _constants.INTERNAL_EVENT_DRAW_ELEMENT,
|
|
582
580
|
value: jsElement
|
package/lib/class/line.js
CHANGED
|
@@ -436,7 +436,6 @@ var Line = exports["default"] = /*#__PURE__*/function () {
|
|
|
436
436
|
}, {
|
|
437
437
|
key: "beginDrawingLine",
|
|
438
438
|
value: function beginDrawingLine(state, layerID, x, y, onInternalEvent) {
|
|
439
|
-
var _state$get;
|
|
440
439
|
// if end drawing by created area
|
|
441
440
|
if (state.mode == _constants.MODE_IDLE) {
|
|
442
441
|
return {
|
|
@@ -490,8 +489,7 @@ var Line = exports["default"] = /*#__PURE__*/function () {
|
|
|
490
489
|
drawingSupport: drawingSupport
|
|
491
490
|
});
|
|
492
491
|
var layer = state.getIn(['scene', 'layers', layerID]);
|
|
493
|
-
var
|
|
494
|
-
var payload = (0, _helper.updatePayloadOfInternalEvent)(line, layer, catalog);
|
|
492
|
+
var payload = (0, _helper.updatePayloadOfInternalEvent)(line, layer);
|
|
495
493
|
if (onInternalEvent) onInternalEvent({
|
|
496
494
|
type: _constants.INTERNAL_EVENT_START_DRAW_WALL,
|
|
497
495
|
value: payload
|
|
@@ -96,7 +96,7 @@ function Item(_ref, _ref2) {
|
|
|
96
96
|
length: itemDistanceFromLine,
|
|
97
97
|
angle: rotation,
|
|
98
98
|
rotation: element[1],
|
|
99
|
-
transform: "translate(".concat(element[1] === 180 ? -nw : element[1] === 0 ? nw : 0, ", ").concat(element[1] === 90 ? nh : element[1] === -90 ?
|
|
99
|
+
transform: "translate(".concat(element[1] === 180 ? -nw : element[1] === 0 ? nw : 0, ", ").concat(element[1] === 90 ? nh : element[1] === -90 ? (item === null || item === void 0 ? void 0 : item.is_corner) !== 1 ? -(nh + 4) : -nh : 0, ") rotate(").concat(element[1], ", 0, 0)")
|
|
100
100
|
})));
|
|
101
101
|
}
|
|
102
102
|
});
|
|
@@ -1265,7 +1265,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1265
1265
|
_currentObject = state.getIn(['scene', 'layers', layerID, elementPrototype, elementID]);
|
|
1266
1266
|
}
|
|
1267
1267
|
if (_currentObject) {
|
|
1268
|
-
var payload = (0, _helper.updatePayloadOfInternalEvent)(_currentObject, layer
|
|
1268
|
+
var payload = (0, _helper.updatePayloadOfInternalEvent)(_currentObject, layer);
|
|
1269
1269
|
|
|
1270
1270
|
// send selection event befor replace event
|
|
1271
1271
|
if (internalType === constants.INTERNAL_EVENT_REPLACE_CABINET) {
|
|
@@ -101,8 +101,8 @@ function Layer3D(_ref) {
|
|
|
101
101
|
depth: depth,
|
|
102
102
|
altitude: altitude
|
|
103
103
|
};
|
|
104
|
-
val.layoutpos =
|
|
105
|
-
val.is_corner =
|
|
104
|
+
val.layoutpos = item === null || item === void 0 ? void 0 : item.layoutpos;
|
|
105
|
+
val.is_corner = item.is_corner;
|
|
106
106
|
val.item = item.toJS();
|
|
107
107
|
var calcrect = _export.GeometryUtils.getCalcRectFromItem3D(val);
|
|
108
108
|
if (isSnapped(calcrect.rect[3], calcrect.rect[2]) || isSnapped(calcrect.rect[2], calcrect.rect[1]) || isSnapped(calcrect.rect[0], calcrect.rect[3])) {
|
|
@@ -2187,8 +2187,8 @@ function addItem(sceneData, planData, layer, itemID, catalog, itemsActions) {
|
|
|
2187
2187
|
height: height,
|
|
2188
2188
|
depth: depth
|
|
2189
2189
|
};
|
|
2190
|
-
val.layoutpos =
|
|
2191
|
-
val.is_corner =
|
|
2190
|
+
val.layoutpos = item === null || item === void 0 ? void 0 : item.layoutpos;
|
|
2191
|
+
val.is_corner = item === null || item === void 0 ? void 0 : item.is_corner;
|
|
2192
2192
|
val.item = item;
|
|
2193
2193
|
var calcrect = _export.GeometryUtils.getCalcRectFromItem3D(val);
|
|
2194
2194
|
|
|
@@ -551,7 +551,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
551
551
|
if (item !== null) {
|
|
552
552
|
var catid = item.type;
|
|
553
553
|
var cat = catalog.elements[catid];
|
|
554
|
-
layoutpos =
|
|
554
|
+
layoutpos = item === null || item === void 0 ? void 0 : item.layoutpos;
|
|
555
555
|
}
|
|
556
556
|
var oPos = new Three.Vector2(pos.clone().x, pos.clone().y);
|
|
557
557
|
var sBounding = obj.children[0].userData;
|
|
@@ -571,9 +571,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
571
571
|
return false;
|
|
572
572
|
}
|
|
573
573
|
var _item = layer.items.getIn([data.id]);
|
|
574
|
-
var
|
|
575
|
-
var ocat = catalog.elements[ocatid];
|
|
576
|
-
var olayoutpos = ocat.info.layoutpos;
|
|
574
|
+
var olayoutpos = _item.layoutpos;
|
|
577
575
|
if (!(layoutpos === _constants.BASE_CABINET_LAYOUTPOS && olayoutpos === _constants.WALL_CABINET_LAYOUTPOS || layoutpos === _constants.WALL_CABINET_LAYOUTPOS && olayoutpos === _constants.BASE_CABINET_LAYOUTPOS)) {
|
|
578
576
|
var tRot = _item.rotation;
|
|
579
577
|
var tPos = new Three.Vector2(_item.x, _item.y);
|
|
@@ -1199,9 +1197,8 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1199
1197
|
var curLayerId = _this2.props.state.scene.selectedLayer;
|
|
1200
1198
|
var curLayer = _this2.props.state.scene.getIn(['layers', curLayerId]);
|
|
1201
1199
|
if (!(0, _helper.isEmpty)(evtType) && !(0, _helper.isEmpty)(evtElement)) {
|
|
1202
|
-
var
|
|
1203
|
-
var
|
|
1204
|
-
var payload = (0, _helper.updatePayloadOfInternalEvent)(evtElement, curLayer, catalog, pointArray);
|
|
1200
|
+
var _this2$props$onIntern, _this2$props;
|
|
1201
|
+
var payload = (0, _helper.updatePayloadOfInternalEvent)(evtElement, curLayer, pointArray);
|
|
1205
1202
|
(_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
|
|
1206
1203
|
type: evtType,
|
|
1207
1204
|
value: payload
|
|
@@ -135,6 +135,7 @@ function _handleExternalEvent() {
|
|
|
135
135
|
(0, _handlers5.handleSetFinishing)(props, state, evt.payload);
|
|
136
136
|
return _context.abrupt("continue", 31);
|
|
137
137
|
case 30:
|
|
138
|
+
console.log('*** catalog ***', props.catalog);
|
|
138
139
|
(0, _handlers10.handleSyncScene)(props, state, layer, layerId, _molding.getMoldingDataOfScene2, _skinPanelEngine.computeSkinPanels, _constants.DEFAULT_MOLDING_PIECE_LENGTH, _constants.INTERNAL_EVENT_SYNC_SCENE);
|
|
139
140
|
return _context.abrupt("continue", 31);
|
|
140
141
|
case 31:
|
|
@@ -15,7 +15,7 @@ function handleSyncScene(props, state, layer, layerId, getMoldingDataOfScene2, c
|
|
|
15
15
|
|
|
16
16
|
// get skin panel data
|
|
17
17
|
var 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 : [];
|
|
18
|
-
sceneData.layers[layerId].skinPanelData = computeSkinPanels(layer, skinPanelExclusionSKUs
|
|
18
|
+
sceneData.layers[layerId].skinPanelData = computeSkinPanels(layer, skinPanelExclusionSKUs);
|
|
19
19
|
|
|
20
20
|
// send scene object from 3DTool to HostApp using internalEvent
|
|
21
21
|
(_props$onInternalEven = props.onInternalEvent) === null || _props$onInternalEven === void 0 || _props$onInternalEven.call(props, {
|
package/lib/utils/geometry.js
CHANGED
|
@@ -843,7 +843,8 @@ function getAllItemSpecified(scene, catalog, filter) {
|
|
|
843
843
|
rotRad: item.rotation / 180 * Math.PI
|
|
844
844
|
};
|
|
845
845
|
var cat = item.type ? findCatalogElement(catalog, item.type) : null;
|
|
846
|
-
|
|
846
|
+
val.layoutpos = item.layoutpos;
|
|
847
|
+
val.is_corner = item.is_corner;
|
|
847
848
|
var props = item.properties;
|
|
848
849
|
var getSize = function getSize(key) {
|
|
849
850
|
var _props$getIn, _props$getIn2, _props$getIn3;
|
|
@@ -856,15 +857,11 @@ function getAllItemSpecified(scene, catalog, filter) {
|
|
|
856
857
|
depth: getSize('depth')
|
|
857
858
|
};
|
|
858
859
|
val.item = item;
|
|
859
|
-
if (info) {
|
|
860
|
-
val.layoutpos = info.layoutpos;
|
|
861
|
-
val.is_corner = info.is_corner;
|
|
862
|
-
}
|
|
863
860
|
|
|
864
861
|
// Filter check
|
|
865
862
|
if (Array.isArray(filter)) {
|
|
866
|
-
if (
|
|
867
|
-
} else if (
|
|
863
|
+
if (!val.layoutpos || !filter.includes(val.layoutpos)) return;
|
|
864
|
+
} else if (val.layoutpos !== filter || (0, _helper.isEmpty)(cat) || (cat === null || cat === void 0 ? void 0 : cat.type) === 'appliance' && ['Cook Top', 'Microwave'].includes(cat === null || cat === void 0 || (_cat$obj = cat.obj) === null || _cat$obj === void 0 ? void 0 : _cat$obj.category)) {
|
|
868
865
|
return;
|
|
869
866
|
}
|
|
870
867
|
|
package/lib/utils/helper.js
CHANGED
|
@@ -11,9 +11,8 @@ exports.base64Decode = void 0;
|
|
|
11
11
|
exports.centering2D = centering2D;
|
|
12
12
|
exports.compareSVGRect = void 0;
|
|
13
13
|
exports.debugUtil = debugUtil;
|
|
14
|
+
exports.getCatalogCabinetSku = getCatalogCabinetSku;
|
|
14
15
|
exports.getSignedUrl = exports.getPathInfo = exports.getPath = void 0;
|
|
15
|
-
exports.getSkuAliasFromCatalog = getSkuAliasFromCatalog;
|
|
16
|
-
exports.getSkuAliasFromCatalogElement = getSkuAliasFromCatalogElement;
|
|
17
16
|
exports.handleCamRect = handleCamRect;
|
|
18
17
|
exports.isCeilLimitation = isCeilLimitation;
|
|
19
18
|
exports.isElevationView = isElevationView;
|
|
@@ -39,6 +38,7 @@ var _math = require("./math");
|
|
|
39
38
|
var _awsSdk = _interopRequireDefault(require("aws-sdk"));
|
|
40
39
|
var _export = require("./export");
|
|
41
40
|
var _geometry = require("./geometry");
|
|
41
|
+
var _immutable = require("../shared/objects/immutable");
|
|
42
42
|
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" != _typeof3(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); }
|
|
43
43
|
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; }
|
|
44
44
|
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; }
|
|
@@ -430,11 +430,11 @@ function centering2D(state) {
|
|
|
430
430
|
if (viewer2DActions) updateViwer2D(viewer, viewer2DActions);
|
|
431
431
|
return state;
|
|
432
432
|
}
|
|
433
|
-
function updatePayloadOfInternalEvent(currentObject, layer
|
|
434
|
-
var pointArray = arguments.length >
|
|
433
|
+
function updatePayloadOfInternalEvent(currentObject, layer) {
|
|
434
|
+
var pointArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
435
435
|
if (isEmpty(currentObject)) return null;
|
|
436
436
|
var updatedPayload = currentObject.toJS();
|
|
437
|
-
if (isEmpty(layer)
|
|
437
|
+
if (isEmpty(layer)) return updatedPayload;
|
|
438
438
|
if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'lines') {
|
|
439
439
|
// caculating length of selected line//
|
|
440
440
|
var v_a = layer.vertices.get(currentObject.vertices.get(0));
|
|
@@ -454,7 +454,7 @@ function updatePayloadOfInternalEvent(currentObject, layer, catalog) {
|
|
|
454
454
|
if (pointArray) updatedPayload.distArray = pointArray;
|
|
455
455
|
|
|
456
456
|
// update sku_number using sku_array
|
|
457
|
-
updatedPayload.sku_number =
|
|
457
|
+
updatedPayload.sku_number = getCatalogCabinetSku(currentObject);
|
|
458
458
|
} else if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'holes') {
|
|
459
459
|
var _calcDistancesFromHol = (0, _geometry.calcDistancesFromHoleToNearestOneOrWall)(currentObject, layer),
|
|
460
460
|
distLeft = _calcDistancesFromHol.distLeft,
|
|
@@ -472,20 +472,9 @@ function updatePayloadOfInternalEvent(currentObject, layer, catalog) {
|
|
|
472
472
|
}
|
|
473
473
|
return updatedPayload;
|
|
474
474
|
}
|
|
475
|
-
function
|
|
476
|
-
var
|
|
477
|
-
var sceneObjectJS =
|
|
478
|
-
var
|
|
479
|
-
|
|
480
|
-
return getSkuAliasFromCatalogElement(catalogElement, sceneObjectJS);
|
|
481
|
-
}
|
|
482
|
-
function getSkuAliasFromCatalogElement(catalogElement, sceneObject) {
|
|
483
|
-
var _sceneObjectJS$doorSt, _catalogElement$obj, _skuAlias$sku;
|
|
484
|
-
var sceneObjectJS = typeof (sceneObject === null || sceneObject === void 0 ? void 0 : sceneObject.toJS) === 'function' ? sceneObject.toJS() : sceneObject;
|
|
485
|
-
var doorColorId = sceneObjectJS === null || sceneObjectJS === void 0 || (_sceneObjectJS$doorSt = sceneObjectJS.doorStyle) === null || _sceneObjectJS$doorSt === void 0 ? void 0 : _sceneObjectJS$doorSt.id;
|
|
486
|
-
var skuArray = catalogElement === null || catalogElement === void 0 || (_catalogElement$obj = catalogElement.obj) === null || _catalogElement$obj === void 0 ? void 0 : _catalogElement$obj.skuArray;
|
|
487
|
-
var skuAlias = skuArray === null || skuArray === void 0 ? void 0 : skuArray.find(function (sku) {
|
|
488
|
-
return sku.door_color_id === doorColorId;
|
|
489
|
-
});
|
|
490
|
-
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;
|
|
475
|
+
function getCatalogCabinetSku(sceneObject) {
|
|
476
|
+
var _sceneObjectJS$ccdf;
|
|
477
|
+
var sceneObjectJS = (0, _immutable.toJSIfNeeded)(sceneObject);
|
|
478
|
+
var ccdfSku = sceneObjectJS === null || sceneObjectJS === void 0 || (_sceneObjectJS$ccdf = sceneObjectJS.ccdf) === null || _sceneObjectJS$ccdf === void 0 ? void 0 : _sceneObjectJS$ccdf.catalog_cabinet_sku;
|
|
479
|
+
return ccdfSku;
|
|
491
480
|
}
|
|
@@ -501,16 +501,12 @@ function buildSkinPanelData(faces) {
|
|
|
501
501
|
});
|
|
502
502
|
return result;
|
|
503
503
|
}
|
|
504
|
-
function shouldExcludeSkinPanel(itemJS, exclusionSet
|
|
505
|
-
var
|
|
506
|
-
|
|
507
|
-
var doorColorSku = itemJS === null || itemJS === void 0 || (_itemJS$doorStyle = itemJS.doorStyle) === null || _itemJS$doorStyle === void 0 ? void 0 : _itemJS$doorStyle.sku;
|
|
508
|
-
if (!cabinetSku || !doorColorSku) return false;
|
|
509
|
-
return exclusionSet.has("".concat(cabinetSku, "-").concat(doorColorSku));
|
|
504
|
+
function shouldExcludeSkinPanel(itemJS, exclusionSet) {
|
|
505
|
+
var catalogCabinetSku = (0, _helper.getCatalogCabinetSku)(itemJS);
|
|
506
|
+
return exclusionSet.has(catalogCabinetSku);
|
|
510
507
|
}
|
|
511
508
|
function computeSkinPanels(layer) {
|
|
512
509
|
var skinPanelExclusionSKUs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
513
|
-
var catalog = arguments.length > 2 ? arguments[2] : undefined;
|
|
514
510
|
var exclusionSet = new Set(skinPanelExclusionSKUs);
|
|
515
511
|
|
|
516
512
|
// Get candidate skin panel items and other items
|
|
@@ -518,7 +514,7 @@ function computeSkinPanels(layer) {
|
|
|
518
514
|
skinPanelItems = _collectLayerItems.skinPanelItems,
|
|
519
515
|
otherItems = _collectLayerItems.otherItems;
|
|
520
516
|
var filteredSkinPanelItems = skinPanelItems.filter(function (item) {
|
|
521
|
-
return !shouldExcludeSkinPanel(item.toJS(), exclusionSet
|
|
517
|
+
return !shouldExcludeSkinPanel(item.toJS(), exclusionSet);
|
|
522
518
|
});
|
|
523
519
|
|
|
524
520
|
// Get all skin face list of [skinPanelItems] & [otherItems]
|