kitchen-simulator 2.0.10 → 2.0.11
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/actions/project-actions.js +3 -1
- package/es/class/project.js +40 -17
- package/es/constants.js +10 -1
- package/es/devLiteRenderer.js +25 -1
- package/es/reducers/project-reducer.js +1 -1
- package/es/utils/isolate-event-handler.js +71 -27
- package/lib/actions/project-actions.js +3 -1
- package/lib/class/project.js +40 -17
- package/lib/constants.js +15 -6
- package/lib/devLiteRenderer.js +24 -0
- package/lib/reducers/project-reducer.js +1 -1
- package/lib/utils/isolate-event-handler.js +70 -26
- package/package.json +1 -1
|
@@ -98,8 +98,10 @@ export function setHolesAttributes(holesAttributes) {
|
|
|
98
98
|
};
|
|
99
99
|
}
|
|
100
100
|
export function remove() {
|
|
101
|
+
var delObject = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
101
102
|
return {
|
|
102
|
-
type: REMOVE
|
|
103
|
+
type: REMOVE,
|
|
104
|
+
delObject: delObject
|
|
103
105
|
};
|
|
104
106
|
}
|
|
105
107
|
export function undo() {
|
package/es/class/project.js
CHANGED
|
@@ -294,29 +294,52 @@ var Project = /*#__PURE__*/function () {
|
|
|
294
294
|
}
|
|
295
295
|
}, {
|
|
296
296
|
key: "remove",
|
|
297
|
-
value: function remove(state) {
|
|
297
|
+
value: function remove(state, delObject) {
|
|
298
298
|
var selectedLayer = state.getIn(['scene', 'selectedLayer']);
|
|
299
299
|
var _state$getIn = state.getIn(['scene', 'layers', selectedLayer, 'selected']),
|
|
300
300
|
selectedLines = _state$getIn.lines,
|
|
301
301
|
selectedHoles = _state$getIn.holes,
|
|
302
302
|
selectedItems = _state$getIn.items;
|
|
303
|
-
var allVertices = state.getIn(['scene', 'layers', selectedLayer, 'vertices']).toJS();
|
|
304
|
-
var selLines = state.getIn(['scene', 'layers', selectedLayer, 'selected', 'lines']).toJS();
|
|
305
|
-
var lineID = selLines[0];
|
|
306
|
-
var delLine = !isEmpty(lineID) && state.getIn(['scene', 'layers', selectedLayer, 'lines', lineID]).toJS();
|
|
307
|
-
var allLines = state.getIn(['scene', 'layers', selectedLayer, 'lines']).toJS();
|
|
308
303
|
var relatedLines = [];
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
}
|
|
319
|
-
|
|
304
|
+
|
|
305
|
+
// if deleting element is line then get the related lines that to update walls
|
|
306
|
+
if (delObject && delObject.prototype === constants.ELEMENT_LINE || isEmpty(delObject) && !isEmpty(selectedLines)) {
|
|
307
|
+
var allVertices = state.getIn(['scene', 'layers', selectedLayer, 'vertices']).toJS();
|
|
308
|
+
var selLines = state.getIn(['scene', 'layers', selectedLayer, 'selected', constants.ELEMENT_LINE]).toJS();
|
|
309
|
+
var curSelLineID = (delObject === null || delObject === void 0 ? void 0 : delObject.prototype) === constants.ELEMENT_LINE ? delObject.id : selLines[0];
|
|
310
|
+
var delLine = !isEmpty(curSelLineID) && state.getIn(['scene', 'layers', selectedLayer, 'lines', curSelLineID]).toJS();
|
|
311
|
+
var allLines = state.getIn(['scene', 'layers', selectedLayer, 'lines']).toJS();
|
|
312
|
+
!isEmpty(delLine) && GeometryUtils.getRelatedLines(relatedLines, delLine, allVertices, allLines);
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
// delete element
|
|
316
|
+
if (delObject) {
|
|
317
|
+
switch (delObject.prototype) {
|
|
318
|
+
case constants.ELEMENT_LINE:
|
|
319
|
+
state = Line.remove(state, selectedLayer, delObject.id).updatedState;
|
|
320
|
+
break;
|
|
321
|
+
case constants.ELEMENT_HOLE:
|
|
322
|
+
state = Hole.remove(state, selectedLayer, delObject.id).updatedState;
|
|
323
|
+
break;
|
|
324
|
+
case constants.ELEMENT_ITEM:
|
|
325
|
+
state = Item.remove(state, selectedLayer, delObject.id).updatedState;
|
|
326
|
+
break;
|
|
327
|
+
}
|
|
328
|
+
} else {
|
|
329
|
+
// no specified object, then remove all selected elements
|
|
330
|
+
selectedLines.forEach(function (lineID) {
|
|
331
|
+
state = Line.remove(state, selectedLayer, lineID).updatedState;
|
|
332
|
+
});
|
|
333
|
+
selectedHoles.forEach(function (holeID) {
|
|
334
|
+
state = Hole.remove(state, selectedLayer, holeID).updatedState;
|
|
335
|
+
});
|
|
336
|
+
selectedItems.forEach(function (itemID) {
|
|
337
|
+
state = Item.remove(state, selectedLayer, itemID).updatedState;
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
// update wall if line removed
|
|
342
|
+
if (!isEmpty(relatedLines)) {
|
|
320
343
|
state = state.setIn(['mode'], MODE_DRAWING_LINE);
|
|
321
344
|
relatedLines.forEach(function (relLine, index) {
|
|
322
345
|
state = Line.select(state, selectedLayer, relLine.id).updatedState;
|
package/es/constants.js
CHANGED
|
@@ -675,6 +675,12 @@ export var RIGHT_DIST_ANG = 180;
|
|
|
675
675
|
export var BACK_DIST_ANG = 90;
|
|
676
676
|
export var FRONT_DIST_ANG = -90;
|
|
677
677
|
|
|
678
|
+
// element prototype
|
|
679
|
+
export var ELEMENT_LINE = 'lines';
|
|
680
|
+
export var ELEMENT_HOLE = 'holes';
|
|
681
|
+
export var ELEMENT_ITEM = 'items';
|
|
682
|
+
export var ELEMENT_AREA = 'areas';
|
|
683
|
+
export var ELEMENT_VERTEX = 'vertices';
|
|
678
684
|
// element attributes
|
|
679
685
|
export var ATT_ITEM_POS = 'pos';
|
|
680
686
|
export var ATT_ITEM_ROTATION = 'rotation';
|
|
@@ -712,9 +718,12 @@ export var EXTERNAL_EVENT_UNDO = 'EXTERNAL_EVENT_UNDO';
|
|
|
712
718
|
export var EXTERNAL_EVENT_REDO = 'EXTERNAL_EVENT_REDO';
|
|
713
719
|
export var EXTERNAL_EVENT_SET_MOLDING = 'EXTERNAL_EVENT_SET_MOLDING';
|
|
714
720
|
export var EXTERNAL_EVENT_PROJECT_SETTING = 'EXTERNAL_EVENT_PROJECT_SETTING'; // project setting event
|
|
721
|
+
export var EXTERNAL_EVENT_CENTERING_2D = 'EXTERNAL_EVENT_CENTERING_2D';
|
|
722
|
+
export var EXTERNAL_EVENT_DUPLICATE_ELEMENT = 'EXTERNAL_EVENT_DUPLICATE_ELEMENT';
|
|
723
|
+
export var EXTERNAL_EVENT_DELETE_ELEMENT = 'EXTERNAL_EVENT_DELETE_ELEMENT';
|
|
715
724
|
export var EXTERNAL_EVENT_UPDATE_ATTRIBUTE = 'EXTERNAL_EVENT_UPDATE_ATTRIBUTE'; // update the element's attributes (distance, rotation...) in the property window
|
|
716
725
|
export var EXTERNAL_EVENT_UPDATE_PROPERTY = 'EXTERNAL_EVENT_UPDATE_PROPERTY'; // update the element's property (flip_doorhandle, open_doors...) in the property window
|
|
717
|
-
|
|
726
|
+
|
|
718
727
|
// internal event type
|
|
719
728
|
export var INTERNAL_EVENT_UNSELECT_ALL = 'INTERNAL_EVENT_UNSELECT_ALL';
|
|
720
729
|
export var INTERNAL_EVENT_SELECT_ELEMENT = 'INTERNAL_EVENT_SELECT_ELEMENT';
|
package/es/devLiteRenderer.js
CHANGED
|
@@ -15,7 +15,7 @@ import moldingPayload from "./mocks/moldingPayload.json";
|
|
|
15
15
|
import ReactDOM from 'react-dom';
|
|
16
16
|
import LiteRenderer from "./LiteRenderer";
|
|
17
17
|
import { Button } from 'antd';
|
|
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_UPDATE_ATTRIBUTE, BACK_DIST_ANG, ATT_ITEM_POS, ATT_ITEM_ROTATION, ATT_LINE_LENGTH, EXTERNAL_EVENT_UPDATE_PROPERTY, PROP_FLIP_DOOR_HANDLE, PROP_OPEN_DOORS, EXTERNAL_EVENT_LOAD_PROJECT, INTERNAL_EVENT_ITEMS_CATALOG, EXTERNAL_EVENT_ADD_HOLE, HOLE_NAMES, EXTERNAL_EVENT_CENTERING_2D, PROP_ALTITUDE } from "./constants";
|
|
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_UPDATE_ATTRIBUTE, BACK_DIST_ANG, ATT_ITEM_POS, ATT_ITEM_ROTATION, ATT_LINE_LENGTH, EXTERNAL_EVENT_UPDATE_PROPERTY, PROP_FLIP_DOOR_HANDLE, PROP_OPEN_DOORS, EXTERNAL_EVENT_LOAD_PROJECT, INTERNAL_EVENT_ITEMS_CATALOG, EXTERNAL_EVENT_ADD_HOLE, HOLE_NAMES, EXTERNAL_EVENT_CENTERING_2D, PROP_ALTITUDE, EXTERNAL_EVENT_DUPLICATE_ELEMENT, ELEMENT_ITEM, EXTERNAL_EVENT_DELETE_ELEMENT } from "./constants";
|
|
19
19
|
|
|
20
20
|
// --- renderer props ---
|
|
21
21
|
var options = {
|
|
@@ -391,6 +391,30 @@ function WorkSpace(props) {
|
|
|
391
391
|
setExternalEvent(evt);
|
|
392
392
|
}
|
|
393
393
|
}, "Distance from floor 10\""), /*#__PURE__*/React.createElement(Button, {
|
|
394
|
+
actionType: "danger",
|
|
395
|
+
onClick: function onClick() {
|
|
396
|
+
var evt = {
|
|
397
|
+
type: EXTERNAL_EVENT_DUPLICATE_ELEMENT,
|
|
398
|
+
payload: {
|
|
399
|
+
elementPrototype: ELEMENT_ITEM,
|
|
400
|
+
elementId: '' // id of current operating element
|
|
401
|
+
}
|
|
402
|
+
};
|
|
403
|
+
setExternalEvent(evt);
|
|
404
|
+
}
|
|
405
|
+
}, "Duplicate Item"), /*#__PURE__*/React.createElement(Button, {
|
|
406
|
+
actionType: "danger",
|
|
407
|
+
onClick: function onClick() {
|
|
408
|
+
var evt = {
|
|
409
|
+
type: EXTERNAL_EVENT_DELETE_ELEMENT,
|
|
410
|
+
payload: {
|
|
411
|
+
elementPrototype: ELEMENT_ITEM,
|
|
412
|
+
elementId: '' // id of current operating element
|
|
413
|
+
}
|
|
414
|
+
};
|
|
415
|
+
setExternalEvent(evt);
|
|
416
|
+
}
|
|
417
|
+
}, "Delete Item"), /*#__PURE__*/React.createElement(Button, {
|
|
394
418
|
actionType: "danger",
|
|
395
419
|
onClick: function onClick() {
|
|
396
420
|
var evt = {
|
|
@@ -43,7 +43,7 @@ export default function (state, action) {
|
|
|
43
43
|
state = state.merge({
|
|
44
44
|
sceneHistory: history.historyPush(state.sceneHistory, state.scene)
|
|
45
45
|
});
|
|
46
|
-
return Project.remove(state).updatedState;
|
|
46
|
+
return Project.remove(state, action.delObject).updatedState;
|
|
47
47
|
case UNDO:
|
|
48
48
|
return Project.undo(state).updatedState;
|
|
49
49
|
case REDO:
|
|
@@ -5,7 +5,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
5
5
|
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
6
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
7
7
|
import { Map } from 'immutable';
|
|
8
|
-
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_SET_INITIAL_DATA, EXTERNAL_EVENT_ADD_ROOM_SHAPE, EXTERNAL_EVENT_ZOOM_IN, EXTERNAL_EVENT_ZOOM_OUT, ZOOM_VARIABLE, 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 } from "../constants";
|
|
8
|
+
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_SET_INITIAL_DATA, EXTERNAL_EVENT_ADD_ROOM_SHAPE, EXTERNAL_EVENT_ZOOM_IN, EXTERNAL_EVENT_ZOOM_OUT, ZOOM_VARIABLE, 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 } from "../constants";
|
|
9
9
|
import { isEmpty } from "./helper";
|
|
10
10
|
import exporter from "../catalog/utils/exporter";
|
|
11
11
|
import { render2DItem, render3DItem, render3DApplianceItem, render3DLightingItem } from "../catalog/utils/item-loader";
|
|
@@ -896,13 +896,49 @@ projectActions) {
|
|
|
896
896
|
projectActions.setProperties(properties);
|
|
897
897
|
}
|
|
898
898
|
}
|
|
899
|
+
function getElement(objProps, state) {
|
|
900
|
+
var layerID = state.scene.selectedLayer;
|
|
901
|
+
var curObject = null;
|
|
902
|
+
if (!isEmpty(objProps === null || objProps === void 0 ? void 0 : objProps.elementPrototype) && !isEmpty(objProps === null || objProps === void 0 ? void 0 : objProps.elementId)) curObject = state.getIn(['scene', 'layers', layerID, objProps.elementPrototype, objProps.elementId]);else {
|
|
903
|
+
// if no specified object property then get the first selected element
|
|
904
|
+
var layer = state.scene.layers.get(state.scene.selectedLayer);
|
|
905
|
+
var selected = [];
|
|
906
|
+
layer.selected.forEach(function (data, prototype) {
|
|
907
|
+
if (prototype == 'vertices') return;
|
|
908
|
+
if (data.size > 0) {
|
|
909
|
+
var values = data.toJS();
|
|
910
|
+
for (var i = 0; i < values.length; i++) {
|
|
911
|
+
selected.push({
|
|
912
|
+
type: prototype,
|
|
913
|
+
id: values[i]
|
|
914
|
+
});
|
|
915
|
+
}
|
|
916
|
+
}
|
|
917
|
+
});
|
|
918
|
+
if (selected.length === 1) {
|
|
919
|
+
var selData = selected[0];
|
|
920
|
+
switch (selData.type) {
|
|
921
|
+
case ELEMENT_HOLE:
|
|
922
|
+
curObject = layer.holes.get(selData.id);
|
|
923
|
+
break;
|
|
924
|
+
case ELEMENT_ITEM:
|
|
925
|
+
curObject = layer.items.get(selData.id);
|
|
926
|
+
break;
|
|
927
|
+
case ELEMENT_LINE:
|
|
928
|
+
curObject = layer.lines.get(selData.id);
|
|
929
|
+
break;
|
|
930
|
+
}
|
|
931
|
+
}
|
|
932
|
+
}
|
|
933
|
+
return curObject;
|
|
934
|
+
}
|
|
899
935
|
export function handleExternalEvent(_x1) {
|
|
900
936
|
return _handleExternalEvent.apply(this, arguments);
|
|
901
937
|
}
|
|
902
938
|
function _handleExternalEvent() {
|
|
903
939
|
_handleExternalEvent = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee7(props) {
|
|
904
940
|
var _evt$payload3, _evt$payload4;
|
|
905
|
-
var evt, state, _evt$payload, cdsItems, itemKeys, _loop3, i, _props$onInternalEven, sLineCnt, element, _state$viewer2D, _evt$payload$initialP, mouseX, mouseY, v2d, vPosX, vPosY, layerID, _evt$payload5, moveType, moveValue, value, defaulTitle, _evt$payload6, doorStyle, itemCDS, isAll, _doorStyle, _value, _value2, layer, bb, w, h, viewer, _evt$payload7, moldingInfo, isGlobal, _evt$payload8, option, _value3, layerId, _layer, _layer$getIn, selectedLines, selectedHoles, selectedItems, _i2, _i3, _i4, _props$onInternalEven2, _t5, _t6;
|
|
941
|
+
var evt, state, _evt$payload, cdsItems, itemKeys, _loop3, i, _props$onInternalEven, sLineCnt, element, _state$viewer2D, _evt$payload$initialP, mouseX, mouseY, v2d, vPosX, vPosY, layerID, _evt$payload5, moveType, moveValue, value, defaulTitle, _evt$payload6, doorStyle, itemCDS, isAll, _doorStyle, _value, _value2, layer, bb, w, h, viewer, _evt$payload7, moldingInfo, isGlobal, distElement, _distElement, _evt$payload8, option, _value3, layerId, _layer, _layer$getIn, selectedLines, selectedHoles, selectedItems, _i2, _i3, _i4, _props$onInternalEven2, _t5, _t6;
|
|
906
942
|
return _regeneratorRuntime.wrap(function (_context8) {
|
|
907
943
|
while (1) switch (_context8.prev = _context8.next) {
|
|
908
944
|
case 0:
|
|
@@ -910,7 +946,7 @@ function _handleExternalEvent() {
|
|
|
910
946
|
evt = props.externalEvent;
|
|
911
947
|
state = props.state.get('KitchenConfigurator');
|
|
912
948
|
_t5 = evt === null || evt === void 0 ? void 0 : evt.type;
|
|
913
|
-
_context8.next = _t5 === EXTERNAL_EVENT_LOAD_PROJECT ? 1 : _t5 === EXTERNAL_EVENT_TOGGLE_TO_3D ? 5 : _t5 === EXTERNAL_EVENT_TOGGLE_TO_2D ? 6 : _t5 === EXTERNAL_EVENT_TOGGLE_TO_ELEVATION ? 7 : _t5 === EXTERNAL_EVENT_ADD_WALL ? 8 : _t5 === EXTERNAL_EVENT_ADD_ITEM ? 9 : _t5 === EXTERNAL_EVENT_ADD_HOLE ? 12 : _t5 === EXTERNAL_EVENT_MOVE_PAN ? 13 : _t5 === EXTERNAL_EVENT_NEW_PROJECT ? 19 : _t5 === EXTERNAL_EVENT_CHANGE_DOORSTYLE ? 20 : _t5 === EXTERNAL_EVENT_SET_INITIAL_DATA ? 21 : _t5 === EXTERNAL_EVENT_ADD_ROOM_SHAPE ? 22 : _t5 === EXTERNAL_EVENT_ZOOM_IN ? 23 : _t5 === EXTERNAL_EVENT_ZOOM_OUT ? 24 : _t5 === EXTERNAL_EVENT_CENTERING_2D ? 25 : _t5 === EXTERNAL_EVENT_UNDO ? 26 : _t5 === EXTERNAL_EVENT_REDO ? 27 : _t5 === EXTERNAL_EVENT_SET_MOLDING ? 28 : _t5 ===
|
|
949
|
+
_context8.next = _t5 === EXTERNAL_EVENT_LOAD_PROJECT ? 1 : _t5 === EXTERNAL_EVENT_TOGGLE_TO_3D ? 5 : _t5 === EXTERNAL_EVENT_TOGGLE_TO_2D ? 6 : _t5 === EXTERNAL_EVENT_TOGGLE_TO_ELEVATION ? 7 : _t5 === EXTERNAL_EVENT_ADD_WALL ? 8 : _t5 === EXTERNAL_EVENT_ADD_ITEM ? 9 : _t5 === EXTERNAL_EVENT_ADD_HOLE ? 12 : _t5 === EXTERNAL_EVENT_MOVE_PAN ? 13 : _t5 === EXTERNAL_EVENT_NEW_PROJECT ? 19 : _t5 === EXTERNAL_EVENT_CHANGE_DOORSTYLE ? 20 : _t5 === EXTERNAL_EVENT_SET_INITIAL_DATA ? 21 : _t5 === EXTERNAL_EVENT_ADD_ROOM_SHAPE ? 22 : _t5 === EXTERNAL_EVENT_ZOOM_IN ? 23 : _t5 === EXTERNAL_EVENT_ZOOM_OUT ? 24 : _t5 === EXTERNAL_EVENT_CENTERING_2D ? 25 : _t5 === EXTERNAL_EVENT_UNDO ? 26 : _t5 === EXTERNAL_EVENT_REDO ? 27 : _t5 === EXTERNAL_EVENT_SET_MOLDING ? 28 : _t5 === EXTERNAL_EVENT_DUPLICATE_ELEMENT ? 29 : _t5 === EXTERNAL_EVENT_DELETE_ELEMENT ? 30 : _t5 === EXTERNAL_EVENT_PROJECT_SETTING ? 31 : _t5 === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? 32 : _t5 === EXTERNAL_EVENT_UPDATE_PROPERTY ? 32 : _t5 === EXTERNAL_EVENT_SYNC_SCENE ? 33 : 34;
|
|
914
950
|
break;
|
|
915
951
|
case 1:
|
|
916
952
|
// prepare item data request
|
|
@@ -986,23 +1022,23 @@ function _handleExternalEvent() {
|
|
|
986
1022
|
};
|
|
987
1023
|
}());
|
|
988
1024
|
}
|
|
989
|
-
return _context8.abrupt("continue",
|
|
1025
|
+
return _context8.abrupt("continue", 34);
|
|
990
1026
|
case 5:
|
|
991
1027
|
props.projectActions.setMode(MODE_IDLE_3D);
|
|
992
|
-
return _context8.abrupt("continue",
|
|
1028
|
+
return _context8.abrupt("continue", 34);
|
|
993
1029
|
case 6:
|
|
994
1030
|
props.projectActions.setMode(MODE_IDLE);
|
|
995
|
-
return _context8.abrupt("continue",
|
|
1031
|
+
return _context8.abrupt("continue", 34);
|
|
996
1032
|
case 7:
|
|
997
1033
|
sLineCnt = state.getIn(['scene', 'layers', 'layer-1', 'selected', 'lines']).size;
|
|
998
1034
|
if (sLineCnt > 0) props.projectActions.setMode(MODE_ELEVATION_VIEW);
|
|
999
|
-
return _context8.abrupt("continue",
|
|
1035
|
+
return _context8.abrupt("continue", 34);
|
|
1000
1036
|
case 8:
|
|
1001
1037
|
if (state.mode === MODE_IDLE || state.mode === MODE_2D_PAN) props.linesActions.selectToolDrawingLine('wall');else {
|
|
1002
1038
|
props.projectActions.setMode(MODE_IDLE);
|
|
1003
1039
|
props.linesActions.selectToolDrawingLine('wall');
|
|
1004
1040
|
}
|
|
1005
|
-
return _context8.abrupt("continue",
|
|
1041
|
+
return _context8.abrupt("continue", 34);
|
|
1006
1042
|
case 9:
|
|
1007
1043
|
if (isEmpty(evt === null || evt === void 0 ? void 0 : evt.payload)) {
|
|
1008
1044
|
_context8.next = 11;
|
|
@@ -1033,10 +1069,10 @@ function _handleExternalEvent() {
|
|
|
1033
1069
|
props.projectActions.pushLastSelectedCatalogElementToHistory(element);
|
|
1034
1070
|
props.projectActions.setIsCabinetDrawing(true);
|
|
1035
1071
|
case 11:
|
|
1036
|
-
return _context8.abrupt("continue",
|
|
1072
|
+
return _context8.abrupt("continue", 34);
|
|
1037
1073
|
case 12:
|
|
1038
1074
|
ARRAY_3D_MODES.includes(state.mode) ? props.holesActions.selectToolDrawingHole3D(evt === null || evt === void 0 || (_evt$payload3 = evt.payload) === null || _evt$payload3 === void 0 ? void 0 : _evt$payload3.holeName) : props.holesActions.selectToolDrawingHole(evt === null || evt === void 0 || (_evt$payload4 = evt.payload) === null || _evt$payload4 === void 0 ? void 0 : _evt$payload4.holeName);
|
|
1039
|
-
return _context8.abrupt("continue",
|
|
1075
|
+
return _context8.abrupt("continue", 34);
|
|
1040
1076
|
case 13:
|
|
1041
1077
|
_evt$payload5 = evt.payload, moveType = _evt$payload5.moveType, moveValue = _evt$payload5.moveValue;
|
|
1042
1078
|
value = state.getIn(['viewer2D']).toJS();
|
|
@@ -1057,23 +1093,23 @@ function _handleExternalEvent() {
|
|
|
1057
1093
|
return _context8.abrupt("continue", 18);
|
|
1058
1094
|
case 18:
|
|
1059
1095
|
updateViwer2D(value, props.viewer2DActions);
|
|
1060
|
-
return _context8.abrupt("continue",
|
|
1096
|
+
return _context8.abrupt("continue", 34);
|
|
1061
1097
|
case 19:
|
|
1062
1098
|
defaulTitle = 'Untitle';
|
|
1063
1099
|
props.projectActions.newProject();
|
|
1064
1100
|
props.projectActions.rename(defaulTitle);
|
|
1065
|
-
return _context8.abrupt("continue",
|
|
1101
|
+
return _context8.abrupt("continue", 34);
|
|
1066
1102
|
case 20:
|
|
1067
1103
|
_evt$payload6 = evt.payload, doorStyle = _evt$payload6.doorStyle, itemCDS = _evt$payload6.itemCDS, isAll = _evt$payload6.isAll;
|
|
1068
1104
|
props.itemsActions.setDoorStyle(doorStyle, itemCDS, isAll);
|
|
1069
|
-
return _context8.abrupt("continue",
|
|
1105
|
+
return _context8.abrupt("continue", 34);
|
|
1070
1106
|
case 21:
|
|
1071
1107
|
_doorStyle = evt.payload.doorStyle;
|
|
1072
1108
|
props.itemsActions.setInitialDoorStyle(_doorStyle.doorStyle);
|
|
1073
|
-
return _context8.abrupt("continue",
|
|
1109
|
+
return _context8.abrupt("continue", 34);
|
|
1074
1110
|
case 22:
|
|
1075
1111
|
props.projectActions.loadProject(evt.payload);
|
|
1076
|
-
return _context8.abrupt("continue",
|
|
1112
|
+
return _context8.abrupt("continue", 34);
|
|
1077
1113
|
case 23:
|
|
1078
1114
|
_value = state.getIn(['viewer2D']).toJS();
|
|
1079
1115
|
_value.a += 0.1;
|
|
@@ -1081,7 +1117,7 @@ function _handleExternalEvent() {
|
|
|
1081
1117
|
_value.e -= _value.SVGWidth * 0.1 / 2;
|
|
1082
1118
|
_value.f -= _value.SVGHeight * 0.1 / 2;
|
|
1083
1119
|
updateViwer2D(_value, props.viewer2DActions);
|
|
1084
|
-
return _context8.abrupt("continue",
|
|
1120
|
+
return _context8.abrupt("continue", 34);
|
|
1085
1121
|
case 24:
|
|
1086
1122
|
_value2 = state.getIn(['viewer2D']).toJS();
|
|
1087
1123
|
_value2.a -= 0.1;
|
|
@@ -1089,7 +1125,7 @@ function _handleExternalEvent() {
|
|
|
1089
1125
|
_value2.e += _value2.SVGWidth * 0.1 / 2;
|
|
1090
1126
|
_value2.f += _value2.SVGHeight * 0.1 / 2;
|
|
1091
1127
|
updateViwer2D(_value2, props.viewer2DActions);
|
|
1092
|
-
return _context8.abrupt("continue",
|
|
1128
|
+
return _context8.abrupt("continue", 34);
|
|
1093
1129
|
case 25:
|
|
1094
1130
|
// calculate the bounding box of all elements in plan
|
|
1095
1131
|
layer = state.scene.getIn(['layers', state.scene.selectedLayer]);
|
|
@@ -1116,18 +1152,26 @@ function _handleExternalEvent() {
|
|
|
1116
1152
|
viewer.f = (viewer.viewerHeight - (bb.maxY + bb.minY) * viewer.a) / 2;
|
|
1117
1153
|
updateViwer2D(viewer, props.viewer2DActions);
|
|
1118
1154
|
}
|
|
1119
|
-
return _context8.abrupt("continue",
|
|
1155
|
+
return _context8.abrupt("continue", 34);
|
|
1120
1156
|
case 26:
|
|
1121
1157
|
props.projectActions.undo();
|
|
1122
|
-
return _context8.abrupt("continue",
|
|
1158
|
+
return _context8.abrupt("continue", 34);
|
|
1123
1159
|
case 27:
|
|
1124
1160
|
props.projectActions.redo();
|
|
1125
|
-
return _context8.abrupt("continue",
|
|
1161
|
+
return _context8.abrupt("continue", 34);
|
|
1126
1162
|
case 28:
|
|
1127
1163
|
_evt$payload7 = evt.payload, moldingInfo = _evt$payload7.moldingInfo, isGlobal = _evt$payload7.isGlobal;
|
|
1128
1164
|
props.itemsActions.setMolding(moldingInfo, isGlobal);
|
|
1129
|
-
return _context8.abrupt("continue",
|
|
1165
|
+
return _context8.abrupt("continue", 34);
|
|
1130
1166
|
case 29:
|
|
1167
|
+
distElement = getElement(evt.payload, state);
|
|
1168
|
+
if (distElement) props.itemsActions.duplicateSelected(distElement);
|
|
1169
|
+
return _context8.abrupt("continue", 34);
|
|
1170
|
+
case 30:
|
|
1171
|
+
_distElement = getElement(evt.payload, state);
|
|
1172
|
+
if (_distElement) props.projectActions.remove(_distElement);
|
|
1173
|
+
return _context8.abrupt("continue", 34);
|
|
1174
|
+
case 31:
|
|
1131
1175
|
_evt$payload8 = evt.payload, option = _evt$payload8.option, _value3 = _evt$payload8.value;
|
|
1132
1176
|
if (option === PROJECT_SETTING_OPTION.UPDATE_CEIL_HEIGHT) {
|
|
1133
1177
|
props.viewer2DActions.updateCeilHeight(_value3);
|
|
@@ -1141,16 +1185,16 @@ function _handleExternalEvent() {
|
|
|
1141
1185
|
} else if (option === PROJECT_SETTING_OPTION.CHANGE_WINDOW_DOOR_MEASURE) {
|
|
1142
1186
|
props.viewer2DActions.changeWindowDoorMeasure(_value3);
|
|
1143
1187
|
}
|
|
1144
|
-
return _context8.abrupt("continue",
|
|
1145
|
-
case
|
|
1188
|
+
return _context8.abrupt("continue", 34);
|
|
1189
|
+
case 32:
|
|
1146
1190
|
layerId = state.getIn(['scene', 'selectedLayer']);
|
|
1147
1191
|
_layer = state.getIn(['scene', 'layers', layerId]);
|
|
1148
1192
|
_layer$getIn = _layer.getIn(['selected']), selectedLines = _layer$getIn.lines, selectedHoles = _layer$getIn.holes, selectedItems = _layer$getIn.items;
|
|
1149
1193
|
for (_i2 = 0; _i2 < selectedLines.size; _i2++) (evt === null || evt === void 0 ? void 0 : evt.type) === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(_layer.getIn(['lines', selectedLines.get(_i2)]), evt.payload, state, _layer, props.projectActions) : updatePropertyOfSelectedElement(_layer.getIn(['lines', selectedLines.get(_i2)]), evt.payload, props.catalog, props.projectActions);
|
|
1150
1194
|
for (_i3 = 0; _i3 < selectedHoles.size; _i3++) (evt === null || evt === void 0 ? void 0 : evt.type) === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(_layer.getIn(['holes', selectedHoles.get(_i3)]), evt.payload, state, _layer, props.projectActions) : updatePropertyOfSelectedElement(_layer.getIn(['holes', selectedHoles.get(_i3)]), evt.payload, props.catalog, props.projectActions);
|
|
1151
1195
|
for (_i4 = 0; _i4 < selectedItems.size; _i4++) (evt === null || evt === void 0 ? void 0 : evt.type) === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(_layer.getIn(['items', selectedItems.get(_i4)]), evt.payload, state, _layer, props.projectActions) : updatePropertyOfSelectedElement(_layer.getIn(['items', selectedItems.get(_i4)]), evt.payload, props.catalog, props.projectActions);
|
|
1152
|
-
return _context8.abrupt("continue",
|
|
1153
|
-
case
|
|
1196
|
+
return _context8.abrupt("continue", 34);
|
|
1197
|
+
case 33:
|
|
1154
1198
|
// send scene object from 3DTool to HostApp using internalEvent
|
|
1155
1199
|
(_props$onInternalEven2 = props.onInternalEvent) === null || _props$onInternalEven2 === void 0 || _props$onInternalEven2.call(props, {
|
|
1156
1200
|
type: INTERNAL_EVENT_SYNC_SCENE,
|
|
@@ -1158,8 +1202,8 @@ function _handleExternalEvent() {
|
|
|
1158
1202
|
scene: state.scene.toJS()
|
|
1159
1203
|
}
|
|
1160
1204
|
});
|
|
1161
|
-
return _context8.abrupt("continue",
|
|
1162
|
-
case
|
|
1205
|
+
return _context8.abrupt("continue", 34);
|
|
1206
|
+
case 34:
|
|
1163
1207
|
case "end":
|
|
1164
1208
|
return _context8.stop();
|
|
1165
1209
|
}
|
|
@@ -150,8 +150,10 @@ function setHolesAttributes(holesAttributes) {
|
|
|
150
150
|
};
|
|
151
151
|
}
|
|
152
152
|
function remove() {
|
|
153
|
+
var delObject = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
153
154
|
return {
|
|
154
|
-
type: _constants.REMOVE
|
|
155
|
+
type: _constants.REMOVE,
|
|
156
|
+
delObject: delObject
|
|
155
157
|
};
|
|
156
158
|
}
|
|
157
159
|
function undo() {
|
package/lib/class/project.js
CHANGED
|
@@ -303,29 +303,52 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
303
303
|
}
|
|
304
304
|
}, {
|
|
305
305
|
key: "remove",
|
|
306
|
-
value: function remove(state) {
|
|
306
|
+
value: function remove(state, delObject) {
|
|
307
307
|
var selectedLayer = state.getIn(['scene', 'selectedLayer']);
|
|
308
308
|
var _state$getIn = state.getIn(['scene', 'layers', selectedLayer, 'selected']),
|
|
309
309
|
selectedLines = _state$getIn.lines,
|
|
310
310
|
selectedHoles = _state$getIn.holes,
|
|
311
311
|
selectedItems = _state$getIn.items;
|
|
312
|
-
var allVertices = state.getIn(['scene', 'layers', selectedLayer, 'vertices']).toJS();
|
|
313
|
-
var selLines = state.getIn(['scene', 'layers', selectedLayer, 'selected', 'lines']).toJS();
|
|
314
|
-
var lineID = selLines[0];
|
|
315
|
-
var delLine = !(0, _helper.isEmpty)(lineID) && state.getIn(['scene', 'layers', selectedLayer, 'lines', lineID]).toJS();
|
|
316
|
-
var allLines = state.getIn(['scene', 'layers', selectedLayer, 'lines']).toJS();
|
|
317
312
|
var relatedLines = [];
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
}
|
|
328
|
-
|
|
313
|
+
|
|
314
|
+
// if deleting element is line then get the related lines that to update walls
|
|
315
|
+
if (delObject && delObject.prototype === constants.ELEMENT_LINE || (0, _helper.isEmpty)(delObject) && !(0, _helper.isEmpty)(selectedLines)) {
|
|
316
|
+
var allVertices = state.getIn(['scene', 'layers', selectedLayer, 'vertices']).toJS();
|
|
317
|
+
var selLines = state.getIn(['scene', 'layers', selectedLayer, 'selected', constants.ELEMENT_LINE]).toJS();
|
|
318
|
+
var curSelLineID = (delObject === null || delObject === void 0 ? void 0 : delObject.prototype) === constants.ELEMENT_LINE ? delObject.id : selLines[0];
|
|
319
|
+
var delLine = !(0, _helper.isEmpty)(curSelLineID) && state.getIn(['scene', 'layers', selectedLayer, 'lines', curSelLineID]).toJS();
|
|
320
|
+
var allLines = state.getIn(['scene', 'layers', selectedLayer, 'lines']).toJS();
|
|
321
|
+
!(0, _helper.isEmpty)(delLine) && _export.GeometryUtils.getRelatedLines(relatedLines, delLine, allVertices, allLines);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
// delete element
|
|
325
|
+
if (delObject) {
|
|
326
|
+
switch (delObject.prototype) {
|
|
327
|
+
case constants.ELEMENT_LINE:
|
|
328
|
+
state = _export2.Line.remove(state, selectedLayer, delObject.id).updatedState;
|
|
329
|
+
break;
|
|
330
|
+
case constants.ELEMENT_HOLE:
|
|
331
|
+
state = _export2.Hole.remove(state, selectedLayer, delObject.id).updatedState;
|
|
332
|
+
break;
|
|
333
|
+
case constants.ELEMENT_ITEM:
|
|
334
|
+
state = _export2.Item.remove(state, selectedLayer, delObject.id).updatedState;
|
|
335
|
+
break;
|
|
336
|
+
}
|
|
337
|
+
} else {
|
|
338
|
+
// no specified object, then remove all selected elements
|
|
339
|
+
selectedLines.forEach(function (lineID) {
|
|
340
|
+
state = _export2.Line.remove(state, selectedLayer, lineID).updatedState;
|
|
341
|
+
});
|
|
342
|
+
selectedHoles.forEach(function (holeID) {
|
|
343
|
+
state = _export2.Hole.remove(state, selectedLayer, holeID).updatedState;
|
|
344
|
+
});
|
|
345
|
+
selectedItems.forEach(function (itemID) {
|
|
346
|
+
state = _export2.Item.remove(state, selectedLayer, itemID).updatedState;
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
// update wall if line removed
|
|
351
|
+
if (!(0, _helper.isEmpty)(relatedLines)) {
|
|
329
352
|
state = state.setIn(['mode'], _constants.MODE_DRAWING_LINE);
|
|
330
353
|
relatedLines.forEach(function (relLine, index) {
|
|
331
354
|
state = _export2.Line.select(state, selectedLayer, relLine.id).updatedState;
|
package/lib/constants.js
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
exports.
|
|
8
|
-
exports.
|
|
9
|
-
exports.
|
|
10
|
-
exports.ZOOM_VARIABLE = exports.WARRANTY_VIEW = exports.WARRANTY_SUPPORT = exports.WARNING_MESSAGE = exports.WALL_ITEM_MEASUREMENT_LINE_COLOR = exports.WALL_CABINET_LAYOUTPOS = void 0;
|
|
6
|
+
exports.END_UPLOADING_IMAGE = exports.END_ROTATING_ITEM_3D = exports.END_ROTATING_ITEM = exports.END_LOADING = exports.END_FITTING_IMAGE = exports.END_DRAWING_LINE = exports.END_DRAWING_ITEM = exports.END_DRAWING_HOLE_3D = exports.END_DRAWING_HOLE = exports.END_DRAGGING_VERTEX = exports.END_DRAGGING_LINE = exports.END_DRAGGING_ITEM_3D = exports.END_DRAGGING_ITEM = exports.END_DRAGGING_HOLE_3D = exports.END_DRAGGING_HOLE = exports.END_CREATING_HOLE = exports.END_CREATING_CABINET = exports.ELEVATION_VIEW_TITLE = exports.ELEVATION_VIEW_RIGHT = exports.ELEVATION_VIEW_LEFT = exports.ELEVATION_VIEW_KEYWORD = exports.ELEVATION_VIEW_FRONT = exports.ELEVATION_VIEW_BACK = exports.ELEVATION_VIEW = exports.ELEMENT_VERTEX = exports.ELEMENT_LINE = exports.ELEMENT_ITEM = exports.ELEMENT_HOLE = exports.ELEMENT_AREA = exports.EDIT_WIDTH = exports.EDIT = exports.DUPLICATE_SELECTED = exports.DISTANCE_MEASUREMENT_LINE_COLOR = exports.DISTANCE_EPSILON = exports.DIFFERENT_VALUES_PATH_LENGTH = exports.DELTA = exports.DEFAULT_FONT_FAMILY = exports.DECIMAL_PLACES_3 = exports.DECIMAL_PLACES_2 = exports.DASH_LINE_COLOR = exports.COPY_PROPERTIES = exports.CLIENTS_NAME = exports.CHANGE_WINDOW_DOOR_MEASURE = exports.CHANGE_WALL_LENGTH_MEASURE = exports.CHANGE_WALL_CABINET_MEASURE = exports.CHANGE_CATALOG_PAGE = exports.CHANGE_BASE_CABINET_MEASURE = exports.CEIL_UNITS_LENGTH = exports.BROWN_COLOR = exports.BOTTOM_MOLDING_LOCATION = exports.BOTTOM = exports.BG_COLOR_OVERLAY = exports.BG_COLOR_HOVER = exports.BG_COLOR_1 = exports.BG_COLOR_0 = exports.BEGIN_UPLOADING_IMAGE = exports.BEGIN_ROTATING_ITEM_3D = exports.BEGIN_ROTATING_ITEM = exports.BEGIN_FITTING_IMAGE = exports.BEGIN_DRAWING_LINE = exports.BEGIN_DRAGGING_VERTEX = exports.BEGIN_DRAGGING_LINE = exports.BEGIN_DRAGGING_ITEM_3D = exports.BEGIN_DRAGGING_ITEM = exports.BEGIN_DRAGGING_HOLE_3D = exports.BEGIN_DRAGGING_HOLE = exports.BASE_ITEM_MEASUREMENT_LINE_COLOR = exports.BASE_CABINET_LAYOUTPOS = exports.BACK_DIST_ANG = exports.ATT_VERTEXT_TWO = exports.ATT_VERTEXT_ONE = exports.ATT_LINE_LENGTH = exports.ATT_ITEM_ROTATION = exports.ATT_ITEM_POS = exports.ATT_HOLE_OFFSET_B = exports.ATT_HOLE_OFFSET_A = exports.ARROW_TEXT_FORECOLOR = exports.ARROW_TEXT_FONTFACE = exports.ARROW_TEXT_BACKCOLOR = exports.ARROW_COLOR = exports.ARRAY_ELEVATION_VIEW_MODES = exports.ARRAY_3D_MODES = exports.AREA_ACTIONS = exports.API_SERVER_URL = exports.ANIMATE_STEP_MIN = exports.ANIMATE_STEP_MAX = exports.ANIMATE_OBJECT_OPEN_DOOR_ROTATION_UNIT = exports.ANIMATE_OBJECT = exports.ALTERATE_STATE = exports.ADD_VERTICAL_GUIDE = exports.ADD_TO_GROUP = exports.ADD_LAYER = exports.ADD_HORIZONTAL_GUIDE = exports.ADD_GROUP_FROM_SELECTED = exports.ADD_GROUP = exports.ADD_ELEMENT_TO_CATALOG = exports.ADD_CIRCULAR_GUIDE = exports.ADD_CABINETS = exports.ADD_APPLIANCES = exports.ACCENT_COLOR = void 0;
|
|
7
|
+
exports.MODE_LEFT_ELEVATION_VIEW = exports.MODE_IDLE_3D = exports.MODE_IDLE = exports.MODE_FRONT_VIEW = exports.MODE_FRONT_ELEVATION_VIEW = exports.MODE_FITTING_IMAGE = exports.MODE_ELEVATION_VIEW = exports.MODE_DRAWING_LINE = exports.MODE_DRAWING_ITEM_3D = exports.MODE_DRAWING_ITEM = exports.MODE_DRAWING_HOLE_3D = exports.MODE_DRAWING_HOLE = exports.MODE_DRAGGING_VERTEX = exports.MODE_DRAGGING_LINE = exports.MODE_DRAGGING_ITEM_3D = exports.MODE_DRAGGING_ITEM = exports.MODE_DRAGGING_HOLE_3D = exports.MODE_DRAGGING_HOLE = exports.MODE_CONFIGURING_PROJECT = exports.MODE_BACK_ELEVATION_VIEW = exports.MODE_3D_VIEW = exports.MODE_3D_FIRST_PERSON = exports.MODE_2D_ZOOM_OUT = exports.MODE_2D_ZOOM_IN = exports.MODE_2D_PAN = exports.MODE = exports.MIN_ANGLE_DISALLOW_DRAW_WALL = exports.MIDDLE_MOLDING_LOCATION = exports.MEPSILON = exports.MAX_ANGLE_SCALE = exports.MAKE_FLOOR_PLAN = exports.LOGOUT = exports.LOGIN_SUCCESS = exports.LOGIN_ERROR = exports.LOCAL_STORAGE_TOKEN_VALUE = exports.LOCAL_STORAGE_TOKEN_NAME = exports.LOCAL_STORAGE_ORIGINAL_TOKEN = exports.LOCAL_STORAGE_CUSTOMER_INFO = exports.LOCAL_STORAGE_CART_ACTION = exports.LOAD_PROJECT = exports.LIST_QUANTITIES = exports.LIST_PARTS = exports.LINE_THICKNESS = exports.LINE_ACTIONS = exports.LEFT_DIST_ANG = exports.LEFT = exports.LABEL_COLOR = exports.KITCHEN_KONFIGURATOR = exports.KEYBOARD_BUTTON_CODE = exports.ITEM_TYPE = exports.ITEM_MOVE_UP = exports.ITEMS_ACTIONS = exports.INVERT = exports.INTERNAL_EVENT_UNSELECT_ALL = exports.INTERNAL_EVENT_SYNC_SCENE = exports.INTERNAL_EVENT_SELECT_ELEMENT = exports.INTERNAL_EVENT_ROTATE_ELEMENT = exports.INTERNAL_EVENT_ITEMS_CATALOG = exports.INTERNAL_EVENT_DRAW_ELEMENT = exports.INTERNAL_EVENT_DRAG_ELEMENT = exports.INSTALLATION_TYPE_SKU_SUFFIX = exports.INSTALLATION_TYPE_NAME = exports.INSTALLATION_SUFFIX_TYPE = exports.INIT_CATALOG = exports.HOLE_NAMES = exports.HOLE_ACTIONS = exports.HDR_URLS = exports.HAS_LOADINGBAR = exports.GROUP_TRANSLATE = exports.GROUP_ROTATE = exports.GROUP_ACTIONS = exports.GO_BACK_TO_CATALOG_PAGE = exports.FRONT_DIST_ANG = exports.FINISHING_TOUCH = exports.EXTERNAL_EVENT_ZOOM_OUT = exports.EXTERNAL_EVENT_ZOOM_IN = exports.EXTERNAL_EVENT_UPDATE_PROPERTY = exports.EXTERNAL_EVENT_UPDATE_ATTRIBUTE = exports.EXTERNAL_EVENT_UNDO = exports.EXTERNAL_EVENT_TOGGLE_TO_ELEVATION = exports.EXTERNAL_EVENT_TOGGLE_TO_3D = exports.EXTERNAL_EVENT_TOGGLE_TO_2D = exports.EXTERNAL_EVENT_SYNC_SCENE = exports.EXTERNAL_EVENT_SET_MOLDING = exports.EXTERNAL_EVENT_SET_INITIAL_DATA = exports.EXTERNAL_EVENT_REDO = exports.EXTERNAL_EVENT_PROJECT_SETTING = exports.EXTERNAL_EVENT_NEW_PROJECT = exports.EXTERNAL_EVENT_MOVE_PAN = exports.EXTERNAL_EVENT_LOAD_PROJECT = exports.EXTERNAL_EVENT_DUPLICATE_ELEMENT = exports.EXTERNAL_EVENT_DELETE_ELEMENT = exports.EXTERNAL_EVENT_CHANGE_DOORSTYLE = exports.EXTERNAL_EVENT_CENTERING_2D = exports.EXTERNAL_EVENT_ADD_WALL = exports.EXTERNAL_EVENT_ADD_ROOM_SHAPE = exports.EXTERNAL_EVENT_ADD_ITEM = exports.EXTERNAL_EVENT_ADD_HOLE = exports.ERROR_DATABASE = exports.EPSILON = void 0;
|
|
8
|
+
exports.SET_LINES_ATTRIBUTES = exports.SET_LAYER_PROPERTIES = exports.SET_ITEMS_ATTRIBUTES = exports.SET_IS_HELP = exports.SET_IS_CABINET_DRAWING = exports.SET_INITIAL_DOOR_STYLE = exports.SET_HOLES_ATTRIBUTES = exports.SET_HANDLE_MATERIAL = exports.SET_GROUP_PROPERTIES = exports.SET_GROUP_BARYCENTER = exports.SET_GROUP_ATTRIBUTES = exports.SET_FLOOR_STYLES = exports.SET_DOOR_STYLE = exports.SET_DOOR_HANDLE = exports.SET_DISTANT = exports.SET_COUNTER_TOP = exports.SET_BACKSPLASH_VISIBLE = exports.SET_BACKSPLASH = exports.SET_APPLIANCE_MATERIAL = exports.SELECT_TOOL_ZOOM_OUT = exports.SELECT_TOOL_ZOOM_IN = exports.SELECT_TOOL_UPLOAD_IMAGE = exports.SELECT_TOOL_PAN = exports.SELECT_TOOL_EDIT = exports.SELECT_TOOL_DRAWING_LINE = exports.SELECT_TOOL_DRAWING_ITEM_3D = exports.SELECT_TOOL_DRAWING_ITEM = exports.SELECT_TOOL_DRAWING_HOLE_3D = exports.SELECT_TOOL_DRAWING_HOLE = exports.SELECT_TOOL_3D_VIEW = exports.SELECT_TOOL_3D_FIRST_PERSON = exports.SELECT_LINE = exports.SELECT_LAYER = exports.SELECT_ITEM = exports.SELECT_HOLE = exports.SELECT_GROUP = exports.SELECT_DOOR_STYLE = exports.SELECT_AREA = exports.SELECT_ALL = exports.SELECTALL = exports.SECONDARY_PURPLE_COLOR = exports.SECONDARY_BLUE_COLOR = exports.SCENE_ACTIONS = exports.SAVE_PROJECT = exports.SAVE_DESIGN = exports.ROOM_SHAPE_MEASUREMENT_LINE_COLOR = exports.ROOM_ELEMENT_MEASUREMENT_LINE_COLOR = exports.ROLLBACK = exports.RIGHT_DIST_ANG = exports.RIGHT = exports.REVIEW_AND_QUOTE = exports.REQUEST_ASSISTANCE = exports.REPLACE_SUBMODULE = exports.REPLACE_ITEM = exports.REMOVE_VERTICAL_GUIDE = exports.REMOVE_REPLACE_SUBMODULE = exports.REMOVE_LINEAR = exports.REMOVE_LAYER = exports.REMOVE_HORIZONTAL_GUIDE = exports.REMOVE_GROUP_AND_DELETE_ELEMENTS = exports.REMOVE_GROUP = exports.REMOVE_FROM_GROUP = exports.REMOVE_DRAWING_SUPPORT = exports.REMOVE_CIRCULAR_GUIDE = exports.REMOVE = exports.REDO = exports.RECREATE = exports.PUSH_LAST_SELECTED_CATALOG_ELEMENT_TO_HISTORY = exports.PROP_OPEN_DOORS = exports.PROP_FLIP_DOOR_HANDLE = exports.PROP_ALTITUDE = exports.PROJECT_SETTING_OPTION = exports.PROJECT_RE_NAME = exports.PROJECT_NAME_LENGTH_LIMIT = exports.PROJECT_ACTIONS = exports.PRODUCT = exports.PRIMARY_GREEN_COLOR = exports.PASTE_PROPERTIES = exports.OVERLAP_SOME = exports.OVERLAP_SAME = exports.OVERLAP_NONE = exports.OVERLAP_LINK = exports.OVERLAP_INCLUDED = exports.OPEN_PROJECT_CONFIGURATOR = exports.OPEN_CATALOG = exports.OBJTYPE_MESH = exports.OBJTYPE_GROUP = exports.NO_DATA_DATABASE = exports.NEW_PROJECT_BTN = exports.NEW_PROJECT = exports.NEW_DESIGN = exports.MOVE_COMPONENT = exports.MOLDING_LOCATIONS = exports.MODE_WAITING_DRAWING_LINE = exports.MODE_VIEWING_CATALOG = exports.MODE_UPLOADING_IMAGE = exports.MODE_SNAPPING = exports.MODE_ROTATING_ITEM_3D = exports.MODE_ROTATING_ITEM = exports.MODE_RIGHT_ELEVATION_VIEW = void 0;
|
|
9
|
+
exports.UPDATE_ROTATING_ITEM = exports.UPDATE_ROTATING = exports.UPDATE_POPUP_OPEN = exports.UPDATE_MOVING_STATE = exports.UPDATE_MOUSE_COORDS = exports.UPDATE_MOLDING = exports.UPDATE_ITEM_POSITION = exports.UPDATE_DRAWING_LINE = exports.UPDATE_DRAWING_ITEM = exports.UPDATE_DRAWING_HOLE_3D = exports.UPDATE_DRAWING_HOLE = exports.UPDATE_DRAGGING_VERTEX = exports.UPDATE_DRAGGING_LINE = exports.UPDATE_DRAGGING_ITEM_CHANGED = exports.UPDATE_DRAGGING_ITEM_3DY = exports.UPDATE_DRAGGING_ITEM_3DX = exports.UPDATE_DRAGGING_ITEM = exports.UPDATE_DRAGGING_HOLE_RULER_CHANGED = exports.UPDATE_DRAGGING_HOLE_CHANGED = exports.UPDATE_DRAGGING_HOLE_3D = exports.UPDATE_DRAGGING_HOLE = exports.UPDATE_CEIL_HEIGHT_UNIT = exports.UPDATE_CEIL_HEIGHT = exports.UPDATE_3D_CEIL_HEIGHT_UNIT = exports.UPDATE_3D_CEIL_HEIGHT = exports.UPDATE_2D_CAMERA = exports.UNSELECT_GROUP = exports.UNSELECT_ALL = exports.UNIT_MILLIMETER = exports.UNIT_MILE = exports.UNIT_METER = exports.UNIT_INCH = exports.UNIT_FOOT = exports.UNIT_CENTIMETER = exports.UNIT_ANGLE = exports.UNITS_LENGTH = exports.UNDO = exports.UNCREATE = exports.TWO_D_FLOOR_PLAN = exports.TOP_MOLDING_LOCATION = exports.TOP = exports.TOGGLE_SNAP = exports.TOGGLE_LOADING_CABINET = exports.TOE_KICK_MOLDING = exports.TITLE_SMALL_COLOR = exports.TITLE_COLOR = exports.THROW_WARNING = exports.THROW_ERROR = exports.TEXT_COLOR_NEUTRAL_7 = exports.TEXT_COLOR_NEUTRAL_6 = exports.TEXT_COLOR_NEUTRAL_5 = exports.TEXT_COLOR_NEUTRAL_4 = exports.TEXT_COLOR_NEUTRAL_3 = exports.TEXT_COLOR_NEUTRAL_2 = exports.TEXT_COLOR_NEUTRAL_1 = exports.TEXT_COLOR_NEUTRAL_0 = exports.TEXT_COLOR = exports.TECHNICAL_VIEW = exports.TALL_CABINET_LAYOUTPOS = exports.TAKE_PICTURE = exports.SUBTOTAL = exports.SUBMIT_REQUEST_ASSIST = exports.SUBMIT_DESIGN = exports.SUBMIT_ADD_CART = exports.STORE_DIST_ARRAY = exports.STOP_DRAWING_LINE = exports.STEP_CABINET_CHOOSE_PRODUCT = exports.STATUS_WARNING_LIGHT_COLOR = exports.STATUS_WARNING_COLOR = exports.STATUS_POSITIVE_LIGHT_COLOR = exports.STATUS_POSITIVE_COLOR = exports.STATUS_OVERDUE_LIGHT_COLOR = exports.STATUS_OVERDUE_COLOR = exports.STATUS_NEGATIVE_LIGHT_COLOR = exports.STATUS_NEGATIVE_COLOR = exports.STATUS_INFO_LIGHT_COLOR = exports.STATUS_INFO_COLOR = exports.SHIFT2DON = exports.SHIFT2DOFF = exports.SHAPE_SVG_WIDTH = exports.SHAPE_SVG_PADDING = exports.SHAPE_SVG_DEPTH = exports.SHADE_LIGHT_PURPLE_COLOR = exports.SHADE_LIGHT_GREEN_COLOR = exports.SHADE_LIGHT_BLUE_COLOR = exports.SHADE_DARK_PURPLE_COLOR = exports.SHADE_DARK_GREEN_COLOR = exports.SHADE_DARK_BLUE_COLOR = exports.SET_WALL_COLOR = exports.SET_USER_DATA = exports.SET_STATE_PROPERTIES = exports.SET_ROTATE_STATUS = exports.SET_RELATED_LINE = exports.SET_PROPERTIES = exports.SET_PROJECT_PROPERTIES = exports.SET_PROJECT_ID = exports.SET_MOVE_STATUS = exports.SET_MOLDING = exports.SET_MODELLING = exports.SET_MODE = void 0;
|
|
10
|
+
exports.ZOOM_VARIABLE = exports.WARRANTY_VIEW = exports.WARRANTY_SUPPORT = exports.WARNING_MESSAGE = exports.WALL_ITEM_MEASUREMENT_LINE_COLOR = exports.WALL_CABINET_LAYOUTPOS = exports.VIEWER3D_ACTIONS = exports.VIEWER2D_ACTIONS = exports.VERTEX_ACTIONS = exports.VALIDATE_ITEM_POSTIONS = exports.USER_ACTIONS = exports.UPDATE_ZOOM_SCALE = exports.UPDATE_ROTATING_ITEM_CHANGED = void 0;
|
|
11
11
|
//API server
|
|
12
12
|
// export const API_SERVER = 'http://localhost:3000/';
|
|
13
13
|
// ACTIONS project
|
|
@@ -685,6 +685,12 @@ var RIGHT_DIST_ANG = exports.RIGHT_DIST_ANG = 180;
|
|
|
685
685
|
var BACK_DIST_ANG = exports.BACK_DIST_ANG = 90;
|
|
686
686
|
var FRONT_DIST_ANG = exports.FRONT_DIST_ANG = -90;
|
|
687
687
|
|
|
688
|
+
// element prototype
|
|
689
|
+
var ELEMENT_LINE = exports.ELEMENT_LINE = 'lines';
|
|
690
|
+
var ELEMENT_HOLE = exports.ELEMENT_HOLE = 'holes';
|
|
691
|
+
var ELEMENT_ITEM = exports.ELEMENT_ITEM = 'items';
|
|
692
|
+
var ELEMENT_AREA = exports.ELEMENT_AREA = 'areas';
|
|
693
|
+
var ELEMENT_VERTEX = exports.ELEMENT_VERTEX = 'vertices';
|
|
688
694
|
// element attributes
|
|
689
695
|
var ATT_ITEM_POS = exports.ATT_ITEM_POS = 'pos';
|
|
690
696
|
var ATT_ITEM_ROTATION = exports.ATT_ITEM_ROTATION = 'rotation';
|
|
@@ -722,9 +728,12 @@ var EXTERNAL_EVENT_UNDO = exports.EXTERNAL_EVENT_UNDO = 'EXTERNAL_EVENT_UNDO';
|
|
|
722
728
|
var EXTERNAL_EVENT_REDO = exports.EXTERNAL_EVENT_REDO = 'EXTERNAL_EVENT_REDO';
|
|
723
729
|
var EXTERNAL_EVENT_SET_MOLDING = exports.EXTERNAL_EVENT_SET_MOLDING = 'EXTERNAL_EVENT_SET_MOLDING';
|
|
724
730
|
var EXTERNAL_EVENT_PROJECT_SETTING = exports.EXTERNAL_EVENT_PROJECT_SETTING = 'EXTERNAL_EVENT_PROJECT_SETTING'; // project setting event
|
|
731
|
+
var EXTERNAL_EVENT_CENTERING_2D = exports.EXTERNAL_EVENT_CENTERING_2D = 'EXTERNAL_EVENT_CENTERING_2D';
|
|
732
|
+
var EXTERNAL_EVENT_DUPLICATE_ELEMENT = exports.EXTERNAL_EVENT_DUPLICATE_ELEMENT = 'EXTERNAL_EVENT_DUPLICATE_ELEMENT';
|
|
733
|
+
var EXTERNAL_EVENT_DELETE_ELEMENT = exports.EXTERNAL_EVENT_DELETE_ELEMENT = 'EXTERNAL_EVENT_DELETE_ELEMENT';
|
|
725
734
|
var EXTERNAL_EVENT_UPDATE_ATTRIBUTE = exports.EXTERNAL_EVENT_UPDATE_ATTRIBUTE = 'EXTERNAL_EVENT_UPDATE_ATTRIBUTE'; // update the element's attributes (distance, rotation...) in the property window
|
|
726
735
|
var EXTERNAL_EVENT_UPDATE_PROPERTY = exports.EXTERNAL_EVENT_UPDATE_PROPERTY = 'EXTERNAL_EVENT_UPDATE_PROPERTY'; // update the element's property (flip_doorhandle, open_doors...) in the property window
|
|
727
|
-
|
|
736
|
+
|
|
728
737
|
// internal event type
|
|
729
738
|
var INTERNAL_EVENT_UNSELECT_ALL = exports.INTERNAL_EVENT_UNSELECT_ALL = 'INTERNAL_EVENT_UNSELECT_ALL';
|
|
730
739
|
var INTERNAL_EVENT_SELECT_ELEMENT = exports.INTERNAL_EVENT_SELECT_ELEMENT = 'INTERNAL_EVENT_SELECT_ELEMENT';
|
package/lib/devLiteRenderer.js
CHANGED
|
@@ -395,6 +395,30 @@ function WorkSpace(props) {
|
|
|
395
395
|
setExternalEvent(evt);
|
|
396
396
|
}
|
|
397
397
|
}, "Distance from floor 10\""), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
398
|
+
actionType: "danger",
|
|
399
|
+
onClick: function onClick() {
|
|
400
|
+
var evt = {
|
|
401
|
+
type: _constants.EXTERNAL_EVENT_DUPLICATE_ELEMENT,
|
|
402
|
+
payload: {
|
|
403
|
+
elementPrototype: _constants.ELEMENT_ITEM,
|
|
404
|
+
elementId: '' // id of current operating element
|
|
405
|
+
}
|
|
406
|
+
};
|
|
407
|
+
setExternalEvent(evt);
|
|
408
|
+
}
|
|
409
|
+
}, "Duplicate Item"), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
410
|
+
actionType: "danger",
|
|
411
|
+
onClick: function onClick() {
|
|
412
|
+
var evt = {
|
|
413
|
+
type: _constants.EXTERNAL_EVENT_DELETE_ELEMENT,
|
|
414
|
+
payload: {
|
|
415
|
+
elementPrototype: _constants.ELEMENT_ITEM,
|
|
416
|
+
elementId: '' // id of current operating element
|
|
417
|
+
}
|
|
418
|
+
};
|
|
419
|
+
setExternalEvent(evt);
|
|
420
|
+
}
|
|
421
|
+
}, "Delete Item"), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
398
422
|
actionType: "danger",
|
|
399
423
|
onClick: function onClick() {
|
|
400
424
|
var evt = {
|
|
@@ -49,7 +49,7 @@ function _default(state, action) {
|
|
|
49
49
|
state = state.merge({
|
|
50
50
|
sceneHistory: _export.history.historyPush(state.sceneHistory, state.scene)
|
|
51
51
|
});
|
|
52
|
-
return _export2.Project.remove(state).updatedState;
|
|
52
|
+
return _export2.Project.remove(state, action.delObject).updatedState;
|
|
53
53
|
case _constants.UNDO:
|
|
54
54
|
return _export2.Project.undo(state).updatedState;
|
|
55
55
|
case _constants.REDO:
|
|
@@ -903,13 +903,49 @@ projectActions) {
|
|
|
903
903
|
projectActions.setProperties(properties);
|
|
904
904
|
}
|
|
905
905
|
}
|
|
906
|
+
function getElement(objProps, state) {
|
|
907
|
+
var layerID = state.scene.selectedLayer;
|
|
908
|
+
var curObject = null;
|
|
909
|
+
if (!(0, _helper.isEmpty)(objProps === null || objProps === void 0 ? void 0 : objProps.elementPrototype) && !(0, _helper.isEmpty)(objProps === null || objProps === void 0 ? void 0 : objProps.elementId)) curObject = state.getIn(['scene', 'layers', layerID, objProps.elementPrototype, objProps.elementId]);else {
|
|
910
|
+
// if no specified object property then get the first selected element
|
|
911
|
+
var layer = state.scene.layers.get(state.scene.selectedLayer);
|
|
912
|
+
var selected = [];
|
|
913
|
+
layer.selected.forEach(function (data, prototype) {
|
|
914
|
+
if (prototype == 'vertices') return;
|
|
915
|
+
if (data.size > 0) {
|
|
916
|
+
var values = data.toJS();
|
|
917
|
+
for (var i = 0; i < values.length; i++) {
|
|
918
|
+
selected.push({
|
|
919
|
+
type: prototype,
|
|
920
|
+
id: values[i]
|
|
921
|
+
});
|
|
922
|
+
}
|
|
923
|
+
}
|
|
924
|
+
});
|
|
925
|
+
if (selected.length === 1) {
|
|
926
|
+
var selData = selected[0];
|
|
927
|
+
switch (selData.type) {
|
|
928
|
+
case _constants.ELEMENT_HOLE:
|
|
929
|
+
curObject = layer.holes.get(selData.id);
|
|
930
|
+
break;
|
|
931
|
+
case _constants.ELEMENT_ITEM:
|
|
932
|
+
curObject = layer.items.get(selData.id);
|
|
933
|
+
break;
|
|
934
|
+
case _constants.ELEMENT_LINE:
|
|
935
|
+
curObject = layer.lines.get(selData.id);
|
|
936
|
+
break;
|
|
937
|
+
}
|
|
938
|
+
}
|
|
939
|
+
}
|
|
940
|
+
return curObject;
|
|
941
|
+
}
|
|
906
942
|
function handleExternalEvent(_x1) {
|
|
907
943
|
return _handleExternalEvent.apply(this, arguments);
|
|
908
944
|
}
|
|
909
945
|
function _handleExternalEvent() {
|
|
910
946
|
_handleExternalEvent = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7(props) {
|
|
911
947
|
var _evt$payload3, _evt$payload4;
|
|
912
|
-
var evt, state, _evt$payload, cdsItems, itemKeys, _loop3, i, _props$onInternalEven, sLineCnt, element, _state$viewer2D, _evt$payload$initialP, mouseX, mouseY, v2d, vPosX, vPosY, layerID, _evt$payload5, moveType, moveValue, value, defaulTitle, _evt$payload6, doorStyle, itemCDS, isAll, _doorStyle, _value, _value2, layer, bb, w, h, viewer, _evt$payload7, moldingInfo, isGlobal, _evt$payload8, option, _value3, layerId, _layer, _layer$getIn, selectedLines, selectedHoles, selectedItems, _i2, _i3, _i4, _props$onInternalEven2, _t5, _t6;
|
|
948
|
+
var evt, state, _evt$payload, cdsItems, itemKeys, _loop3, i, _props$onInternalEven, sLineCnt, element, _state$viewer2D, _evt$payload$initialP, mouseX, mouseY, v2d, vPosX, vPosY, layerID, _evt$payload5, moveType, moveValue, value, defaulTitle, _evt$payload6, doorStyle, itemCDS, isAll, _doorStyle, _value, _value2, layer, bb, w, h, viewer, _evt$payload7, moldingInfo, isGlobal, distElement, _distElement, _evt$payload8, option, _value3, layerId, _layer, _layer$getIn, selectedLines, selectedHoles, selectedItems, _i2, _i3, _i4, _props$onInternalEven2, _t5, _t6;
|
|
913
949
|
return _regenerator["default"].wrap(function (_context8) {
|
|
914
950
|
while (1) switch (_context8.prev = _context8.next) {
|
|
915
951
|
case 0:
|
|
@@ -917,7 +953,7 @@ function _handleExternalEvent() {
|
|
|
917
953
|
evt = props.externalEvent;
|
|
918
954
|
state = props.state.get('KitchenConfigurator');
|
|
919
955
|
_t5 = evt === null || evt === void 0 ? void 0 : evt.type;
|
|
920
|
-
_context8.next = _t5 === _constants.EXTERNAL_EVENT_LOAD_PROJECT ? 1 : _t5 === _constants.EXTERNAL_EVENT_TOGGLE_TO_3D ? 5 : _t5 === _constants.EXTERNAL_EVENT_TOGGLE_TO_2D ? 6 : _t5 === _constants.EXTERNAL_EVENT_TOGGLE_TO_ELEVATION ? 7 : _t5 === _constants.EXTERNAL_EVENT_ADD_WALL ? 8 : _t5 === _constants.EXTERNAL_EVENT_ADD_ITEM ? 9 : _t5 === _constants.EXTERNAL_EVENT_ADD_HOLE ? 12 : _t5 === _constants.EXTERNAL_EVENT_MOVE_PAN ? 13 : _t5 === _constants.EXTERNAL_EVENT_NEW_PROJECT ? 19 : _t5 === _constants.EXTERNAL_EVENT_CHANGE_DOORSTYLE ? 20 : _t5 === _constants.EXTERNAL_EVENT_SET_INITIAL_DATA ? 21 : _t5 === _constants.EXTERNAL_EVENT_ADD_ROOM_SHAPE ? 22 : _t5 === _constants.EXTERNAL_EVENT_ZOOM_IN ? 23 : _t5 === _constants.EXTERNAL_EVENT_ZOOM_OUT ? 24 : _t5 === _constants.EXTERNAL_EVENT_CENTERING_2D ? 25 : _t5 === _constants.EXTERNAL_EVENT_UNDO ? 26 : _t5 === _constants.EXTERNAL_EVENT_REDO ? 27 : _t5 === _constants.EXTERNAL_EVENT_SET_MOLDING ? 28 : _t5 === _constants.
|
|
956
|
+
_context8.next = _t5 === _constants.EXTERNAL_EVENT_LOAD_PROJECT ? 1 : _t5 === _constants.EXTERNAL_EVENT_TOGGLE_TO_3D ? 5 : _t5 === _constants.EXTERNAL_EVENT_TOGGLE_TO_2D ? 6 : _t5 === _constants.EXTERNAL_EVENT_TOGGLE_TO_ELEVATION ? 7 : _t5 === _constants.EXTERNAL_EVENT_ADD_WALL ? 8 : _t5 === _constants.EXTERNAL_EVENT_ADD_ITEM ? 9 : _t5 === _constants.EXTERNAL_EVENT_ADD_HOLE ? 12 : _t5 === _constants.EXTERNAL_EVENT_MOVE_PAN ? 13 : _t5 === _constants.EXTERNAL_EVENT_NEW_PROJECT ? 19 : _t5 === _constants.EXTERNAL_EVENT_CHANGE_DOORSTYLE ? 20 : _t5 === _constants.EXTERNAL_EVENT_SET_INITIAL_DATA ? 21 : _t5 === _constants.EXTERNAL_EVENT_ADD_ROOM_SHAPE ? 22 : _t5 === _constants.EXTERNAL_EVENT_ZOOM_IN ? 23 : _t5 === _constants.EXTERNAL_EVENT_ZOOM_OUT ? 24 : _t5 === _constants.EXTERNAL_EVENT_CENTERING_2D ? 25 : _t5 === _constants.EXTERNAL_EVENT_UNDO ? 26 : _t5 === _constants.EXTERNAL_EVENT_REDO ? 27 : _t5 === _constants.EXTERNAL_EVENT_SET_MOLDING ? 28 : _t5 === _constants.EXTERNAL_EVENT_DUPLICATE_ELEMENT ? 29 : _t5 === _constants.EXTERNAL_EVENT_DELETE_ELEMENT ? 30 : _t5 === _constants.EXTERNAL_EVENT_PROJECT_SETTING ? 31 : _t5 === _constants.EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? 32 : _t5 === _constants.EXTERNAL_EVENT_UPDATE_PROPERTY ? 32 : _t5 === _constants.EXTERNAL_EVENT_SYNC_SCENE ? 33 : 34;
|
|
921
957
|
break;
|
|
922
958
|
case 1:
|
|
923
959
|
// prepare item data request
|
|
@@ -993,23 +1029,23 @@ function _handleExternalEvent() {
|
|
|
993
1029
|
};
|
|
994
1030
|
}());
|
|
995
1031
|
}
|
|
996
|
-
return _context8.abrupt("continue",
|
|
1032
|
+
return _context8.abrupt("continue", 34);
|
|
997
1033
|
case 5:
|
|
998
1034
|
props.projectActions.setMode(_constants.MODE_IDLE_3D);
|
|
999
|
-
return _context8.abrupt("continue",
|
|
1035
|
+
return _context8.abrupt("continue", 34);
|
|
1000
1036
|
case 6:
|
|
1001
1037
|
props.projectActions.setMode(_constants.MODE_IDLE);
|
|
1002
|
-
return _context8.abrupt("continue",
|
|
1038
|
+
return _context8.abrupt("continue", 34);
|
|
1003
1039
|
case 7:
|
|
1004
1040
|
sLineCnt = state.getIn(['scene', 'layers', 'layer-1', 'selected', 'lines']).size;
|
|
1005
1041
|
if (sLineCnt > 0) props.projectActions.setMode(_constants.MODE_ELEVATION_VIEW);
|
|
1006
|
-
return _context8.abrupt("continue",
|
|
1042
|
+
return _context8.abrupt("continue", 34);
|
|
1007
1043
|
case 8:
|
|
1008
1044
|
if (state.mode === _constants.MODE_IDLE || state.mode === _constants.MODE_2D_PAN) props.linesActions.selectToolDrawingLine('wall');else {
|
|
1009
1045
|
props.projectActions.setMode(_constants.MODE_IDLE);
|
|
1010
1046
|
props.linesActions.selectToolDrawingLine('wall');
|
|
1011
1047
|
}
|
|
1012
|
-
return _context8.abrupt("continue",
|
|
1048
|
+
return _context8.abrupt("continue", 34);
|
|
1013
1049
|
case 9:
|
|
1014
1050
|
if ((0, _helper.isEmpty)(evt === null || evt === void 0 ? void 0 : evt.payload)) {
|
|
1015
1051
|
_context8.next = 11;
|
|
@@ -1040,10 +1076,10 @@ function _handleExternalEvent() {
|
|
|
1040
1076
|
props.projectActions.pushLastSelectedCatalogElementToHistory(element);
|
|
1041
1077
|
props.projectActions.setIsCabinetDrawing(true);
|
|
1042
1078
|
case 11:
|
|
1043
|
-
return _context8.abrupt("continue",
|
|
1079
|
+
return _context8.abrupt("continue", 34);
|
|
1044
1080
|
case 12:
|
|
1045
1081
|
_constants.ARRAY_3D_MODES.includes(state.mode) ? props.holesActions.selectToolDrawingHole3D(evt === null || evt === void 0 || (_evt$payload3 = evt.payload) === null || _evt$payload3 === void 0 ? void 0 : _evt$payload3.holeName) : props.holesActions.selectToolDrawingHole(evt === null || evt === void 0 || (_evt$payload4 = evt.payload) === null || _evt$payload4 === void 0 ? void 0 : _evt$payload4.holeName);
|
|
1046
|
-
return _context8.abrupt("continue",
|
|
1082
|
+
return _context8.abrupt("continue", 34);
|
|
1047
1083
|
case 13:
|
|
1048
1084
|
_evt$payload5 = evt.payload, moveType = _evt$payload5.moveType, moveValue = _evt$payload5.moveValue;
|
|
1049
1085
|
value = state.getIn(['viewer2D']).toJS();
|
|
@@ -1064,23 +1100,23 @@ function _handleExternalEvent() {
|
|
|
1064
1100
|
return _context8.abrupt("continue", 18);
|
|
1065
1101
|
case 18:
|
|
1066
1102
|
updateViwer2D(value, props.viewer2DActions);
|
|
1067
|
-
return _context8.abrupt("continue",
|
|
1103
|
+
return _context8.abrupt("continue", 34);
|
|
1068
1104
|
case 19:
|
|
1069
1105
|
defaulTitle = 'Untitle';
|
|
1070
1106
|
props.projectActions.newProject();
|
|
1071
1107
|
props.projectActions.rename(defaulTitle);
|
|
1072
|
-
return _context8.abrupt("continue",
|
|
1108
|
+
return _context8.abrupt("continue", 34);
|
|
1073
1109
|
case 20:
|
|
1074
1110
|
_evt$payload6 = evt.payload, doorStyle = _evt$payload6.doorStyle, itemCDS = _evt$payload6.itemCDS, isAll = _evt$payload6.isAll;
|
|
1075
1111
|
props.itemsActions.setDoorStyle(doorStyle, itemCDS, isAll);
|
|
1076
|
-
return _context8.abrupt("continue",
|
|
1112
|
+
return _context8.abrupt("continue", 34);
|
|
1077
1113
|
case 21:
|
|
1078
1114
|
_doorStyle = evt.payload.doorStyle;
|
|
1079
1115
|
props.itemsActions.setInitialDoorStyle(_doorStyle.doorStyle);
|
|
1080
|
-
return _context8.abrupt("continue",
|
|
1116
|
+
return _context8.abrupt("continue", 34);
|
|
1081
1117
|
case 22:
|
|
1082
1118
|
props.projectActions.loadProject(evt.payload);
|
|
1083
|
-
return _context8.abrupt("continue",
|
|
1119
|
+
return _context8.abrupt("continue", 34);
|
|
1084
1120
|
case 23:
|
|
1085
1121
|
_value = state.getIn(['viewer2D']).toJS();
|
|
1086
1122
|
_value.a += 0.1;
|
|
@@ -1088,7 +1124,7 @@ function _handleExternalEvent() {
|
|
|
1088
1124
|
_value.e -= _value.SVGWidth * 0.1 / 2;
|
|
1089
1125
|
_value.f -= _value.SVGHeight * 0.1 / 2;
|
|
1090
1126
|
updateViwer2D(_value, props.viewer2DActions);
|
|
1091
|
-
return _context8.abrupt("continue",
|
|
1127
|
+
return _context8.abrupt("continue", 34);
|
|
1092
1128
|
case 24:
|
|
1093
1129
|
_value2 = state.getIn(['viewer2D']).toJS();
|
|
1094
1130
|
_value2.a -= 0.1;
|
|
@@ -1096,7 +1132,7 @@ function _handleExternalEvent() {
|
|
|
1096
1132
|
_value2.e += _value2.SVGWidth * 0.1 / 2;
|
|
1097
1133
|
_value2.f += _value2.SVGHeight * 0.1 / 2;
|
|
1098
1134
|
updateViwer2D(_value2, props.viewer2DActions);
|
|
1099
|
-
return _context8.abrupt("continue",
|
|
1135
|
+
return _context8.abrupt("continue", 34);
|
|
1100
1136
|
case 25:
|
|
1101
1137
|
// calculate the bounding box of all elements in plan
|
|
1102
1138
|
layer = state.scene.getIn(['layers', state.scene.selectedLayer]);
|
|
@@ -1123,18 +1159,26 @@ function _handleExternalEvent() {
|
|
|
1123
1159
|
viewer.f = (viewer.viewerHeight - (bb.maxY + bb.minY) * viewer.a) / 2;
|
|
1124
1160
|
updateViwer2D(viewer, props.viewer2DActions);
|
|
1125
1161
|
}
|
|
1126
|
-
return _context8.abrupt("continue",
|
|
1162
|
+
return _context8.abrupt("continue", 34);
|
|
1127
1163
|
case 26:
|
|
1128
1164
|
props.projectActions.undo();
|
|
1129
|
-
return _context8.abrupt("continue",
|
|
1165
|
+
return _context8.abrupt("continue", 34);
|
|
1130
1166
|
case 27:
|
|
1131
1167
|
props.projectActions.redo();
|
|
1132
|
-
return _context8.abrupt("continue",
|
|
1168
|
+
return _context8.abrupt("continue", 34);
|
|
1133
1169
|
case 28:
|
|
1134
1170
|
_evt$payload7 = evt.payload, moldingInfo = _evt$payload7.moldingInfo, isGlobal = _evt$payload7.isGlobal;
|
|
1135
1171
|
props.itemsActions.setMolding(moldingInfo, isGlobal);
|
|
1136
|
-
return _context8.abrupt("continue",
|
|
1172
|
+
return _context8.abrupt("continue", 34);
|
|
1137
1173
|
case 29:
|
|
1174
|
+
distElement = getElement(evt.payload, state);
|
|
1175
|
+
if (distElement) props.itemsActions.duplicateSelected(distElement);
|
|
1176
|
+
return _context8.abrupt("continue", 34);
|
|
1177
|
+
case 30:
|
|
1178
|
+
_distElement = getElement(evt.payload, state);
|
|
1179
|
+
if (_distElement) props.projectActions.remove(_distElement);
|
|
1180
|
+
return _context8.abrupt("continue", 34);
|
|
1181
|
+
case 31:
|
|
1138
1182
|
_evt$payload8 = evt.payload, option = _evt$payload8.option, _value3 = _evt$payload8.value;
|
|
1139
1183
|
if (option === _constants.PROJECT_SETTING_OPTION.UPDATE_CEIL_HEIGHT) {
|
|
1140
1184
|
props.viewer2DActions.updateCeilHeight(_value3);
|
|
@@ -1148,16 +1192,16 @@ function _handleExternalEvent() {
|
|
|
1148
1192
|
} else if (option === _constants.PROJECT_SETTING_OPTION.CHANGE_WINDOW_DOOR_MEASURE) {
|
|
1149
1193
|
props.viewer2DActions.changeWindowDoorMeasure(_value3);
|
|
1150
1194
|
}
|
|
1151
|
-
return _context8.abrupt("continue",
|
|
1152
|
-
case
|
|
1195
|
+
return _context8.abrupt("continue", 34);
|
|
1196
|
+
case 32:
|
|
1153
1197
|
layerId = state.getIn(['scene', 'selectedLayer']);
|
|
1154
1198
|
_layer = state.getIn(['scene', 'layers', layerId]);
|
|
1155
1199
|
_layer$getIn = _layer.getIn(['selected']), selectedLines = _layer$getIn.lines, selectedHoles = _layer$getIn.holes, selectedItems = _layer$getIn.items;
|
|
1156
1200
|
for (_i2 = 0; _i2 < selectedLines.size; _i2++) (evt === null || evt === void 0 ? void 0 : evt.type) === _constants.EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(_layer.getIn(['lines', selectedLines.get(_i2)]), evt.payload, state, _layer, props.projectActions) : updatePropertyOfSelectedElement(_layer.getIn(['lines', selectedLines.get(_i2)]), evt.payload, props.catalog, props.projectActions);
|
|
1157
1201
|
for (_i3 = 0; _i3 < selectedHoles.size; _i3++) (evt === null || evt === void 0 ? void 0 : evt.type) === _constants.EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(_layer.getIn(['holes', selectedHoles.get(_i3)]), evt.payload, state, _layer, props.projectActions) : updatePropertyOfSelectedElement(_layer.getIn(['holes', selectedHoles.get(_i3)]), evt.payload, props.catalog, props.projectActions);
|
|
1158
1202
|
for (_i4 = 0; _i4 < selectedItems.size; _i4++) (evt === null || evt === void 0 ? void 0 : evt.type) === _constants.EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(_layer.getIn(['items', selectedItems.get(_i4)]), evt.payload, state, _layer, props.projectActions) : updatePropertyOfSelectedElement(_layer.getIn(['items', selectedItems.get(_i4)]), evt.payload, props.catalog, props.projectActions);
|
|
1159
|
-
return _context8.abrupt("continue",
|
|
1160
|
-
case
|
|
1203
|
+
return _context8.abrupt("continue", 34);
|
|
1204
|
+
case 33:
|
|
1161
1205
|
// send scene object from 3DTool to HostApp using internalEvent
|
|
1162
1206
|
(_props$onInternalEven2 = props.onInternalEvent) === null || _props$onInternalEven2 === void 0 || _props$onInternalEven2.call(props, {
|
|
1163
1207
|
type: _constants.INTERNAL_EVENT_SYNC_SCENE,
|
|
@@ -1165,8 +1209,8 @@ function _handleExternalEvent() {
|
|
|
1165
1209
|
scene: state.scene.toJS()
|
|
1166
1210
|
}
|
|
1167
1211
|
});
|
|
1168
|
-
return _context8.abrupt("continue",
|
|
1169
|
-
case
|
|
1212
|
+
return _context8.abrupt("continue", 34);
|
|
1213
|
+
case 34:
|
|
1170
1214
|
case "end":
|
|
1171
1215
|
return _context8.stop();
|
|
1172
1216
|
}
|