kitchen-simulator 4.0.0-queuedEvents → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/LiteKitchenConfigurator.js +141 -288
- package/es/LiteRenderer.js +159 -398
- package/es/actions/items-actions.js +10 -6
- package/es/actions/lines-actions.js +3 -1
- package/es/actions/project-actions.js +15 -5
- package/es/assets/img/svg/bottombar/elevation.svg +12 -5
- package/es/catalog/areas/area/planner-element.js +10 -5
- package/es/catalog/catalog.js +1 -4
- package/es/catalog/factories/area-factory-3d.js +2 -1
- package/es/catalog/factories/wall-factory-3d.js +2 -2
- package/es/catalog/factories/wall-factory.js +8 -8
- package/es/catalog/lines/wall/planner-element.js +18 -9
- package/es/catalog/utils/exporter.js +7 -3
- package/es/catalog/utils/item-loader.js +24 -14
- package/es/catalog/utils/mtl-loader.js +2 -2
- package/es/catalog/utils/obj-loader.js +2 -2
- package/es/class/hole.js +0 -2
- package/es/class/item.js +183 -184
- package/es/class/line.js +11 -3
- package/es/class/project.js +165 -48
- package/es/components/content.js +19 -6
- package/es/components/viewer2d/grids/grid-streak.js +1 -1
- package/es/components/viewer2d/item.js +84 -51
- package/es/components/viewer2d/line.js +315 -243
- package/es/components/viewer2d/ruler.js +20 -38
- package/es/components/viewer2d/rulerDist.js +48 -78
- package/es/components/viewer2d/utils.js +6 -0
- package/es/components/viewer2d/viewer2d.js +298 -220
- package/es/components/viewer3d/front3D.js +3 -2
- package/es/components/viewer3d/libs/mtl-loader.js +2 -2
- package/es/components/viewer3d/libs/obj-loader.js +2 -2
- package/es/components/viewer3d/libs/orbit-controls.js +3 -4
- package/es/components/viewer3d/libs/pointer-lock-controls.js +6 -7
- package/es/components/viewer3d/scene-creator.js +51 -15
- package/es/components/viewer3d/viewer3d.js +121 -82
- package/es/constants.js +111 -3
- package/es/devLiteRenderer.js +688 -31
- package/es/index.js +567 -87
- package/es/models.js +9 -5
- package/es/plugins/SVGLoader.js +7 -5
- package/es/plugins/console-debugger.js +0 -2
- package/es/plugins/keyboard.js +15 -6
- package/es/reducers/items-reducer.js +5 -5
- package/es/reducers/lines-reducer.js +1 -1
- package/es/reducers/project-reducer.js +5 -3
- package/es/shared-style.js +4 -4
- package/es/utils/geometry.js +163 -2
- package/es/utils/get-edges-of-subgraphs.js +1 -1
- package/es/utils/graph-cycles.js +1 -1
- package/es/utils/graph.js +1 -1
- package/es/utils/helper.js +105 -3
- package/es/utils/isolate-event-handler.js +1542 -164
- package/es/utils/molding.js +461 -11
- package/lib/LiteKitchenConfigurator.js +141 -289
- package/lib/LiteRenderer.js +159 -399
- package/lib/actions/items-actions.js +10 -6
- package/lib/actions/lines-actions.js +3 -1
- package/lib/actions/project-actions.js +15 -4
- package/lib/assets/img/svg/bottombar/elevation.svg +12 -5
- package/lib/catalog/areas/area/planner-element.js +11 -5
- package/lib/catalog/catalog.js +1 -4
- package/lib/catalog/factories/area-factory-3d.js +2 -1
- package/lib/catalog/factories/wall-factory-3d.js +2 -2
- package/lib/catalog/factories/wall-factory.js +8 -8
- package/lib/catalog/lines/wall/planner-element.js +19 -9
- package/lib/catalog/utils/exporter.js +7 -3
- package/lib/catalog/utils/item-loader.js +24 -14
- package/lib/catalog/utils/mtl-loader.js +9 -2
- package/lib/catalog/utils/obj-loader.js +10 -2
- package/lib/class/hole.js +0 -2
- package/lib/class/item.js +180 -181
- package/lib/class/line.js +9 -1
- package/lib/class/project.js +164 -47
- package/lib/components/content.js +19 -6
- package/lib/components/viewer2d/grids/grid-streak.js +1 -1
- package/lib/components/viewer2d/item.js +83 -50
- package/lib/components/viewer2d/line.js +315 -242
- package/lib/components/viewer2d/ruler.js +19 -37
- package/lib/components/viewer2d/rulerDist.js +48 -78
- package/lib/components/viewer2d/utils.js +7 -0
- package/lib/components/viewer2d/viewer2d.js +296 -219
- package/lib/components/viewer3d/front3D.js +3 -2
- package/lib/components/viewer3d/libs/mtl-loader.js +9 -2
- package/lib/components/viewer3d/libs/obj-loader.js +9 -2
- package/lib/components/viewer3d/libs/orbit-controls.js +11 -5
- package/lib/components/viewer3d/libs/pointer-lock-controls.js +13 -7
- package/lib/components/viewer3d/scene-creator.js +49 -13
- package/lib/components/viewer3d/viewer3d.js +119 -80
- package/lib/constants.js +116 -7
- package/lib/devLiteRenderer.js +687 -30
- package/lib/index.js +567 -87
- package/lib/models.js +9 -5
- package/lib/plugins/SVGLoader.js +7 -5
- package/lib/plugins/console-debugger.js +0 -2
- package/lib/plugins/keyboard.js +15 -6
- package/lib/reducers/items-reducer.js +5 -5
- package/lib/reducers/lines-reducer.js +1 -1
- package/lib/reducers/project-reducer.js +4 -2
- package/lib/shared-style.js +4 -4
- package/lib/utils/geometry.js +164 -2
- package/lib/utils/get-edges-of-subgraphs.js +6 -1
- package/lib/utils/graph-cycles.js +7 -8
- package/lib/utils/graph.js +6 -1
- package/lib/utils/helper.js +108 -2
- package/lib/utils/isolate-event-handler.js +1538 -159
- package/lib/utils/molding.js +463 -9
- package/package.json +1 -1
- package/es/assets/Window.hdr +0 -2100
- package/es/assets/img/1.jpg +0 -0
- package/lib/assets/Window.hdr +0 -2100
- package/lib/assets/img/1.jpg +0 -0
|
@@ -22,14 +22,15 @@ var _convertUnitsLite = require("../../utils/convert-units-lite");
|
|
|
22
22
|
var _immutable = require("immutable");
|
|
23
23
|
var _math = require("../../utils/math");
|
|
24
24
|
var _helper = require("../../utils/helper");
|
|
25
|
+
var _utils = require("./utils");
|
|
25
26
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
26
27
|
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; }
|
|
27
|
-
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; }
|
|
28
|
-
// variables
|
|
28
|
+
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; } // variables
|
|
29
29
|
// variables
|
|
30
30
|
var pinFlag = false;
|
|
31
31
|
var sFlag = false; //for all object move
|
|
32
32
|
var sPoint = {}; //for all object move
|
|
33
|
+
var mouseDownPoint = {}; // mouse clicked point
|
|
33
34
|
var endPoint = {};
|
|
34
35
|
var current_sel_obj_id = null;
|
|
35
36
|
var allItemRect;
|
|
@@ -133,7 +134,8 @@ function Viewer2D(_ref, _ref2) {
|
|
|
133
134
|
width = _ref.width,
|
|
134
135
|
height = _ref.height,
|
|
135
136
|
setToolbar = _ref.setToolbar,
|
|
136
|
-
replaceCabinet = _ref.replaceCabinet
|
|
137
|
+
replaceCabinet = _ref.replaceCabinet,
|
|
138
|
+
onInternalEvent = _ref.onInternalEvent;
|
|
137
139
|
var viewer2DActions = _ref2.viewer2DActions,
|
|
138
140
|
linesActions = _ref2.linesActions,
|
|
139
141
|
holesActions = _ref2.holesActions,
|
|
@@ -588,56 +590,134 @@ function Viewer2D(_ref, _ref2) {
|
|
|
588
590
|
y: y - sPoint.y
|
|
589
591
|
};
|
|
590
592
|
projectActions.selectAll(differs);
|
|
591
|
-
} else
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
593
|
+
} else {
|
|
594
|
+
switch (mode) {
|
|
595
|
+
case constants.MODE_DRAWING_LINE:
|
|
596
|
+
// check whether the drawing line is started.
|
|
595
597
|
var lineID = state.getIn(['scene', 'layers', layerID, 'selected', 'lines']).first();
|
|
596
|
-
var _vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
|
|
597
598
|
var lines = state.getIn(['scene', 'layers', layerID, 'lines']).toJS();
|
|
598
599
|
var drawingLine = state.getIn(['scene', 'layers', layerID, 'lines', lineID]).toJS();
|
|
599
600
|
var tlines = [];
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
// let prevVertexID = state.getIn(['scene', 'layers', layerID, 'selected', 'vertices']).toJS()[0];
|
|
610
|
-
// let prevVertex = state.getIn(['scene', 'layers', layerID, 'vertices', prevVertexID]);
|
|
611
|
-
// let dx = Math.abs(x - prevVertex.x);
|
|
612
|
-
// let dy = Math.abs(y - prevVertex.y);
|
|
613
|
-
// if (dx > dy) y = prevVertex.y
|
|
614
|
-
// else x = prevVertex.x;
|
|
615
|
-
break;
|
|
616
|
-
case constants.MODE_DRAWING_HOLE:
|
|
617
|
-
holesActions.updateDrawingHole(layerID, x, y);
|
|
618
|
-
break;
|
|
619
|
-
case constants.MODE_DRAWING_ITEM:
|
|
620
|
-
var _layer = scene.layers.get(layerID);
|
|
621
|
-
var flag = false;
|
|
622
|
-
_layer.items.some(function (item) {
|
|
623
|
-
if (item.selected) {
|
|
624
|
-
item.counterTop.uri = _layer.counterTop.uri;
|
|
625
|
-
current_sel_obj_id = item.id;
|
|
626
|
-
flag = true;
|
|
601
|
+
if (drawStart || state.getIn(['scene', 'setLineAttributes'])) {
|
|
602
|
+
var _vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
|
|
603
|
+
setdrawStart(false);
|
|
604
|
+
// get the lines that have same points with drawing line.
|
|
605
|
+
getRelatedLines(tlines, drawingLine, _vertices, lines);
|
|
606
|
+
setRelatedLines(tlines);
|
|
607
|
+
linesActions.updateDrawingLine(x, y, tlines, state.snapMask);
|
|
608
|
+
} else {
|
|
609
|
+
linesActions.updateDrawingLine(x, y, relatedLines, state.snapMask);
|
|
627
610
|
}
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
611
|
+
|
|
612
|
+
// Blocked 90 degree snap.
|
|
613
|
+
// let prevVertexID = state.getIn(['scene', 'layers', layerID, 'selected', 'vertices']).toJS()[0];
|
|
614
|
+
// let prevVertex = state.getIn(['scene', 'layers', layerID, 'vertices', prevVertexID]);
|
|
615
|
+
// let dx = Math.abs(x - prevVertex.x);
|
|
616
|
+
// let dy = Math.abs(y - prevVertex.y);
|
|
617
|
+
// if (dx > dy) y = prevVertex.y
|
|
618
|
+
// else x = prevVertex.x;
|
|
619
|
+
break;
|
|
620
|
+
case constants.MODE_DRAWING_HOLE:
|
|
621
|
+
holesActions.updateDrawingHole(layerID, x, y);
|
|
622
|
+
break;
|
|
623
|
+
case constants.MODE_DRAWING_ITEM:
|
|
624
|
+
var _layer = scene.layers.get(layerID);
|
|
625
|
+
var flag = false;
|
|
626
|
+
_layer.items.some(function (item) {
|
|
627
|
+
if (item.selected) {
|
|
628
|
+
item.counterTop.uri = _layer.counterTop.uri;
|
|
629
|
+
current_sel_obj_id = item.id;
|
|
630
|
+
flag = true;
|
|
631
|
+
}
|
|
632
|
+
});
|
|
633
|
+
if (current_sel_obj_id === null || !flag) {
|
|
634
|
+
itemsActions.updateDrawingItem(layerID, x, y);
|
|
635
|
+
endPoint.x = x;
|
|
636
|
+
endPoint.y = y;
|
|
637
|
+
} else {
|
|
638
|
+
prepareSnap();
|
|
639
|
+
var _GeometryUtils$calcSn = _export2.GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
|
|
640
|
+
nx = _GeometryUtils$calcSn.nx,
|
|
641
|
+
ny = _GeometryUtils$calcSn.ny,
|
|
642
|
+
rot = _GeometryUtils$calcSn.rot,
|
|
643
|
+
rotRad = _GeometryUtils$calcSn.rotRad;
|
|
644
|
+
var _val = {
|
|
645
|
+
pos: {
|
|
646
|
+
x: x,
|
|
647
|
+
y: y
|
|
648
|
+
},
|
|
649
|
+
rotRad: rotRad,
|
|
650
|
+
size: allItemRect.cur && allItemRect.cur.size,
|
|
651
|
+
layoutpos: allItemRect.cur && allItemRect.cur.layoutpos,
|
|
652
|
+
is_corner: allItemRect.cur && allItemRect.cur.is_corner
|
|
653
|
+
};
|
|
654
|
+
var _GeometryUtils$getAll = _export2.GeometryUtils.getAllHoleRect(scene, _val),
|
|
655
|
+
_isSect = _GeometryUtils$getAll.isSect,
|
|
656
|
+
_snap = _GeometryUtils$getAll.snap;
|
|
657
|
+
if (!(0, _helper.isEmpty)(_snap) && _isSect) {
|
|
658
|
+
if (_snap.length == 1) _val.pos = {
|
|
659
|
+
x: _snap[0].x,
|
|
660
|
+
y: _snap[0].y
|
|
661
|
+
};else {
|
|
662
|
+
if ((_snap[0].x - x) * (_snap[0].x - x) + (_snap[0].y - y) * (_snap[0].y - y) < (_snap[1].x - x) * (_snap[1].x - x) + (_snap[1].y - y) * (_snap[1].y - y)) _val.pos = {
|
|
663
|
+
x: _snap[0].x,
|
|
664
|
+
y: _snap[0].y
|
|
665
|
+
};else _val.pos = {
|
|
666
|
+
x: _snap[1].x,
|
|
667
|
+
y: _snap[1].y
|
|
668
|
+
};
|
|
669
|
+
}
|
|
670
|
+
var interSect = _export2.GeometryUtils.validInterSect(allItemRect.others, _val);
|
|
671
|
+
if (interSect) {
|
|
672
|
+
nx = _val.pos.x;
|
|
673
|
+
ny = _val.pos.y;
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
_val.pos = {
|
|
677
|
+
x: nx,
|
|
678
|
+
y: ny
|
|
679
|
+
};
|
|
680
|
+
var _isrectSect = _export2.GeometryUtils.validInterSect(allItemRect.others, _val);
|
|
681
|
+
if (_isrectSect && _isSect) {
|
|
682
|
+
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
683
|
+
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
684
|
+
endPoint.x = nx;
|
|
685
|
+
endPoint.y = ny;
|
|
686
|
+
}
|
|
687
|
+
if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('cabinet')) {
|
|
688
|
+
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
689
|
+
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
690
|
+
endPoint.x = nx;
|
|
691
|
+
endPoint.y = ny;
|
|
692
|
+
}
|
|
693
|
+
if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Hood') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Range') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top')) {
|
|
694
|
+
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
695
|
+
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
696
|
+
endPoint.x = nx;
|
|
697
|
+
endPoint.y = ny;
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
break;
|
|
701
|
+
case constants.MODE_DRAGGING_HOLE:
|
|
702
|
+
holesActions.updateDraggingHole(x, y);
|
|
703
|
+
break;
|
|
704
|
+
case constants.MODE_DRAGGING_LINE:
|
|
705
|
+
linesActions.updateDraggingLine(x, y, relatedLines, state.snapMask);
|
|
706
|
+
break;
|
|
707
|
+
case constants.MODE_DRAGGING_VERTEX:
|
|
708
|
+
var vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
|
|
709
|
+
getConnectedLines();
|
|
710
|
+
var result = getEndPoint(vertices, x, y, 'DRAGGING_VERTEX');
|
|
711
|
+
verticesActions.updateDraggingVertex(result.x, result.y, state.snapMask);
|
|
712
|
+
break;
|
|
713
|
+
case constants.MODE_DRAGGING_ITEM:
|
|
634
714
|
prepareSnap();
|
|
635
|
-
var _GeometryUtils$
|
|
636
|
-
nx = _GeometryUtils$
|
|
637
|
-
ny = _GeometryUtils$
|
|
638
|
-
rot = _GeometryUtils$
|
|
639
|
-
rotRad = _GeometryUtils$
|
|
640
|
-
var
|
|
715
|
+
var _GeometryUtils$calcSn2 = _export2.GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
|
|
716
|
+
nx = _GeometryUtils$calcSn2.nx,
|
|
717
|
+
ny = _GeometryUtils$calcSn2.ny,
|
|
718
|
+
rot = _GeometryUtils$calcSn2.rot,
|
|
719
|
+
rotRad = _GeometryUtils$calcSn2.rotRad;
|
|
720
|
+
var val = {
|
|
641
721
|
pos: {
|
|
642
722
|
x: x,
|
|
643
723
|
y: y
|
|
@@ -647,125 +727,50 @@ function Viewer2D(_ref, _ref2) {
|
|
|
647
727
|
layoutpos: allItemRect.cur && allItemRect.cur.layoutpos,
|
|
648
728
|
is_corner: allItemRect.cur && allItemRect.cur.is_corner
|
|
649
729
|
};
|
|
650
|
-
var _GeometryUtils$
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
if (!(0, _helper.isEmpty)(
|
|
654
|
-
if (
|
|
655
|
-
x:
|
|
656
|
-
y:
|
|
657
|
-
};else {
|
|
658
|
-
if ((
|
|
659
|
-
x:
|
|
660
|
-
y:
|
|
661
|
-
};else
|
|
662
|
-
x:
|
|
663
|
-
y:
|
|
730
|
+
var _GeometryUtils$getAll2 = _export2.GeometryUtils.getAllHoleRect(scene, val),
|
|
731
|
+
isSect = _GeometryUtils$getAll2.isSect,
|
|
732
|
+
snap = _GeometryUtils$getAll2.snap;
|
|
733
|
+
if (!(0, _helper.isEmpty)(snap) && isSect) {
|
|
734
|
+
if (snap.length == 1) val.pos = {
|
|
735
|
+
x: snap[0].x,
|
|
736
|
+
y: snap[0].y
|
|
737
|
+
};else if (snap.length == 2) {
|
|
738
|
+
if ((snap[0].x - x) * (snap[0].x - x) + (snap[0].y - y) * (snap[0].y - y) < (snap[1].x - x) * (snap[1].x - x) + (snap[1].y - y) * (snap[1].y - y)) val.pos = {
|
|
739
|
+
x: snap[0].x,
|
|
740
|
+
y: snap[0].y
|
|
741
|
+
};else val.pos = {
|
|
742
|
+
x: snap[1].x,
|
|
743
|
+
y: snap[1].y
|
|
664
744
|
};
|
|
665
745
|
}
|
|
666
|
-
var
|
|
667
|
-
if (
|
|
668
|
-
nx =
|
|
669
|
-
ny =
|
|
746
|
+
var _interSect = _export2.GeometryUtils.validInterSect(allItemRect.others, val);
|
|
747
|
+
if (_interSect) {
|
|
748
|
+
nx = val.pos.x;
|
|
749
|
+
ny = val.pos.y;
|
|
670
750
|
}
|
|
671
751
|
}
|
|
672
|
-
|
|
752
|
+
val.pos = {
|
|
673
753
|
x: nx,
|
|
674
754
|
y: ny
|
|
675
755
|
};
|
|
676
|
-
var
|
|
677
|
-
if (
|
|
756
|
+
var isrectSect = _export2.GeometryUtils.validInterSect(allItemRect.others, val);
|
|
757
|
+
if (isrectSect && isSect) {
|
|
678
758
|
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
679
759
|
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
680
|
-
endPoint.x = nx;
|
|
681
|
-
endPoint.y = ny;
|
|
682
760
|
}
|
|
683
|
-
if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('
|
|
761
|
+
if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cabinet')) {
|
|
684
762
|
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
685
763
|
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
686
|
-
endPoint.x = nx;
|
|
687
|
-
endPoint.y = ny;
|
|
688
764
|
}
|
|
689
765
|
if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Hood') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Range') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top')) {
|
|
690
766
|
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
691
767
|
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
692
|
-
endPoint.x = nx;
|
|
693
|
-
endPoint.y = ny;
|
|
694
|
-
}
|
|
695
|
-
}
|
|
696
|
-
break;
|
|
697
|
-
case constants.MODE_DRAGGING_HOLE:
|
|
698
|
-
holesActions.updateDraggingHole(x, y);
|
|
699
|
-
break;
|
|
700
|
-
case constants.MODE_DRAGGING_LINE:
|
|
701
|
-
linesActions.updateDraggingLine(x, y, relatedLines, state.snapMask);
|
|
702
|
-
break;
|
|
703
|
-
case constants.MODE_DRAGGING_VERTEX:
|
|
704
|
-
var vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
|
|
705
|
-
getConnectedLines();
|
|
706
|
-
var result = getEndPoint(vertices, x, y, 'DRAGGING_VERTEX');
|
|
707
|
-
verticesActions.updateDraggingVertex(result.x, result.y, state.snapMask);
|
|
708
|
-
break;
|
|
709
|
-
case constants.MODE_DRAGGING_ITEM:
|
|
710
|
-
prepareSnap();
|
|
711
|
-
var _GeometryUtils$calcSn2 = _export2.GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
|
|
712
|
-
nx = _GeometryUtils$calcSn2.nx,
|
|
713
|
-
ny = _GeometryUtils$calcSn2.ny,
|
|
714
|
-
rot = _GeometryUtils$calcSn2.rot,
|
|
715
|
-
rotRad = _GeometryUtils$calcSn2.rotRad;
|
|
716
|
-
var val = {
|
|
717
|
-
pos: {
|
|
718
|
-
x: x,
|
|
719
|
-
y: y
|
|
720
|
-
},
|
|
721
|
-
rotRad: rotRad,
|
|
722
|
-
size: allItemRect.cur && allItemRect.cur.size,
|
|
723
|
-
layoutpos: allItemRect.cur && allItemRect.cur.layoutpos,
|
|
724
|
-
is_corner: allItemRect.cur && allItemRect.cur.is_corner
|
|
725
|
-
};
|
|
726
|
-
var _GeometryUtils$getAll2 = _export2.GeometryUtils.getAllHoleRect(scene, val),
|
|
727
|
-
isSect = _GeometryUtils$getAll2.isSect,
|
|
728
|
-
snap = _GeometryUtils$getAll2.snap;
|
|
729
|
-
if (!(0, _helper.isEmpty)(snap) && isSect) {
|
|
730
|
-
if (snap.length == 1) val.pos = {
|
|
731
|
-
x: snap[0].x,
|
|
732
|
-
y: snap[0].y
|
|
733
|
-
};else if (snap.length == 2) {
|
|
734
|
-
if ((snap[0].x - x) * (snap[0].x - x) + (snap[0].y - y) * (snap[0].y - y) < (snap[1].x - x) * (snap[1].x - x) + (snap[1].y - y) * (snap[1].y - y)) val.pos = {
|
|
735
|
-
x: snap[0].x,
|
|
736
|
-
y: snap[0].y
|
|
737
|
-
};else val.pos = {
|
|
738
|
-
x: snap[1].x,
|
|
739
|
-
y: snap[1].y
|
|
740
|
-
};
|
|
741
|
-
}
|
|
742
|
-
var _interSect = _export2.GeometryUtils.validInterSect(allItemRect.others, val);
|
|
743
|
-
if (_interSect) {
|
|
744
|
-
nx = val.pos.x;
|
|
745
|
-
ny = val.pos.y;
|
|
746
768
|
}
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
x
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
var isrectSect = _export2.GeometryUtils.validInterSect(allItemRect.others, val);
|
|
753
|
-
if (isrectSect && isSect) {
|
|
754
|
-
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
755
|
-
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
756
|
-
}
|
|
757
|
-
if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cabinet')) {
|
|
758
|
-
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
759
|
-
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
760
|
-
}
|
|
761
|
-
if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Hood') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Range') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top')) {
|
|
762
|
-
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
763
|
-
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
764
|
-
}
|
|
765
|
-
break;
|
|
766
|
-
case constants.MODE_ROTATING_ITEM:
|
|
767
|
-
itemsActions.updateRotatingItem(x, y);
|
|
768
|
-
break;
|
|
769
|
+
break;
|
|
770
|
+
case constants.MODE_ROTATING_ITEM:
|
|
771
|
+
itemsActions.updateRotatingItem(x, y);
|
|
772
|
+
break;
|
|
773
|
+
}
|
|
769
774
|
}
|
|
770
775
|
viewerEvent.originalEvent.stopPropagation();
|
|
771
776
|
};
|
|
@@ -787,38 +792,44 @@ function Viewer2D(_ref, _ref2) {
|
|
|
787
792
|
return;
|
|
788
793
|
}
|
|
789
794
|
}
|
|
795
|
+
mouseDownPoint = {
|
|
796
|
+
x: x,
|
|
797
|
+
y: y
|
|
798
|
+
};
|
|
790
799
|
if (mode === constants.MODE_IDLE) {
|
|
791
800
|
var elementData = extractElementData(event.target);
|
|
792
801
|
if (!elementData) return;
|
|
793
|
-
if (sCount < 2)
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
if (elementData.
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
break;
|
|
800
|
-
case 'vertices':
|
|
801
|
-
verticesActions.beginDraggingVertex(elementData.layer, elementData.id, x, y, state.snapMask);
|
|
802
|
-
break;
|
|
803
|
-
case 'items':
|
|
804
|
-
setToolbar('');
|
|
805
|
-
current_sel_obj_id = elementData.id;
|
|
806
|
-
if (elementData.part === 'rotation-anchor') itemsActions.beginRotatingItem(elementData.layer, elementData.id, x, y);else if (elementData.part === 'remove') break;else if (elementData.part === 'duplicate') break;else if (elementData.part === 'warning_edit') break;else {
|
|
807
|
-
// closes the setting dialog
|
|
808
|
-
if (document.getElementById('setting_dialog')) {
|
|
809
|
-
document.getElementById('setting_dialog').style.display = 'none';
|
|
802
|
+
if (sCount < 2) {
|
|
803
|
+
switch (elementData.prototype) {
|
|
804
|
+
case 'lines':
|
|
805
|
+
if (elementData.selected) {
|
|
806
|
+
if (elementData.part === 'remove') break;else if (elementData.part === 'elevation') break;
|
|
807
|
+
linesActions.beginDraggingLine(elementData.layer, elementData.id, x, y, state.snapMask);
|
|
810
808
|
}
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
809
|
+
break;
|
|
810
|
+
case 'vertices':
|
|
811
|
+
verticesActions.beginDraggingVertex(elementData.layer, elementData.id, x, y, state.snapMask);
|
|
812
|
+
break;
|
|
813
|
+
case 'items':
|
|
814
|
+
setToolbar('');
|
|
815
|
+
current_sel_obj_id = elementData.id;
|
|
816
|
+
if (elementData.part === 'rotation-anchor') itemsActions.beginRotatingItem(elementData.layer, elementData.id, x, y);else if (elementData.part === 'remove') break;else if (elementData.part === 'duplicate') break;else if (elementData.part === 'warning_edit') break;else {
|
|
817
|
+
// closes the setting dialog
|
|
818
|
+
if (document.getElementById('setting_dialog')) {
|
|
819
|
+
document.getElementById('setting_dialog').style.display = 'none';
|
|
820
|
+
}
|
|
821
|
+
itemsActions.selectItem(elementData.layer, elementData.id);
|
|
822
|
+
// projectActions.setMode(constants.MODE_DRAGGING_ITEM);
|
|
823
|
+
itemsActions.beginDraggingItem(elementData.layer, elementData.id, x, y);
|
|
824
|
+
replaceCabinet(false);
|
|
825
|
+
}
|
|
826
|
+
break;
|
|
827
|
+
case 'holes':
|
|
828
|
+
if (elementData.selected) holesActions.beginDraggingHole(elementData.layer, elementData.id, x, y);
|
|
829
|
+
break;
|
|
830
|
+
default:
|
|
831
|
+
break;
|
|
832
|
+
}
|
|
822
833
|
} else {
|
|
823
834
|
sPoint.x = x;
|
|
824
835
|
sPoint.y = y;
|
|
@@ -830,15 +841,17 @@ function Viewer2D(_ref, _ref2) {
|
|
|
830
841
|
var onMouseUp = function onMouseUp(viewerEvent) {
|
|
831
842
|
//set move all flag false
|
|
832
843
|
sFlag = false;
|
|
833
|
-
// //////////////////////
|
|
834
|
-
// setRulerEdit(null);
|
|
835
844
|
var event = viewerEvent.originalEvent;
|
|
836
|
-
var
|
|
845
|
+
var parent = document.querySelector('#kitchen-simulator-container');
|
|
846
|
+
var targetRect = event.target.getBoundingClientRect();
|
|
847
|
+
var parentRect = parent.getBoundingClientRect();
|
|
848
|
+
var left = targetRect.left - parentRect.left;
|
|
849
|
+
var top = targetRect.top - parentRect.top;
|
|
850
|
+
left = left - (200 - targetRect.width) / 2;
|
|
851
|
+
top = top - (50 - targetRect.height) / 2;
|
|
837
852
|
if (!mode.includes('ING')) {
|
|
838
853
|
setToolbar('');
|
|
839
854
|
}
|
|
840
|
-
// bbox.width = event.target.getBBox().width;
|
|
841
|
-
// bbox.height = event.target.getBBox().height;
|
|
842
855
|
if (event.target.tagName === 'rect') {
|
|
843
856
|
if (event.target.id) {
|
|
844
857
|
setRulerEditID(event.target.id);
|
|
@@ -852,12 +865,63 @@ function Viewer2D(_ref, _ref2) {
|
|
|
852
865
|
var _mapCursorPosition3 = mapCursorPosition(viewerEvent),
|
|
853
866
|
x = _mapCursorPosition3.x,
|
|
854
867
|
y = _mapCursorPosition3.y;
|
|
868
|
+
var draggingDistance = Math.sqrt((x - mouseDownPoint.x) * (x - mouseDownPoint.x) + (y - mouseDownPoint.y) * (y - mouseDownPoint.y));
|
|
855
869
|
var vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
|
|
856
870
|
var lines = state.getIn(['scene', 'layers', layerID, 'lines']).toJS();
|
|
871
|
+
var elementData = extractElementData(event.target);
|
|
872
|
+
var selectedLayer = scene.getIn(['layers', layerID]);
|
|
873
|
+
var elementPrototype = null;
|
|
874
|
+
var internalType = null;
|
|
875
|
+
switch (mode) {
|
|
876
|
+
case constants.MODE_DRAWING_LINE:
|
|
877
|
+
elementPrototype = 'lines';
|
|
878
|
+
internalType = _constants.INTERNAL_EVENT_DRAW_ELEMENT;
|
|
879
|
+
break;
|
|
880
|
+
case constants.MODE_DRAWING_HOLE:
|
|
881
|
+
elementPrototype = 'holes';
|
|
882
|
+
internalType = _constants.INTERNAL_EVENT_DRAW_ELEMENT;
|
|
883
|
+
break;
|
|
884
|
+
case constants.MODE_DRAWING_ITEM:
|
|
885
|
+
elementPrototype = 'items';
|
|
886
|
+
internalType = _constants.INTERNAL_EVENT_DRAW_ELEMENT;
|
|
887
|
+
break;
|
|
888
|
+
case constants.MODE_DRAGGING_LINE:
|
|
889
|
+
elementPrototype = 'lines';
|
|
890
|
+
internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
|
|
891
|
+
break;
|
|
892
|
+
case constants.MODE_DRAGGING_HOLE:
|
|
893
|
+
elementPrototype = 'holes';
|
|
894
|
+
internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
|
|
895
|
+
break;
|
|
896
|
+
case constants.MODE_DRAGGING_VERTEX:
|
|
897
|
+
elementPrototype = 'lines';
|
|
898
|
+
internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
|
|
899
|
+
break;
|
|
900
|
+
case constants.MODE_ROTATING_ITEM:
|
|
901
|
+
elementPrototype = 'items';
|
|
902
|
+
internalType = _constants.INTERNAL_EVENT_ROTATE_ELEMENT;
|
|
903
|
+
break;
|
|
904
|
+
|
|
905
|
+
// item selection be came from dragging mode
|
|
906
|
+
case constants.MODE_DRAGGING_ITEM:
|
|
907
|
+
elementPrototype = 'items';
|
|
908
|
+
internalType = _constants.INTERNAL_EVENT_SELECT_ELEMENT;
|
|
909
|
+
break;
|
|
910
|
+
case constants.MODE_IDLE:
|
|
911
|
+
switch (elementData === null || elementData === void 0 ? void 0 : elementData.prototype) {
|
|
912
|
+
case 'areas':
|
|
913
|
+
case 'lines':
|
|
914
|
+
case 'holes':
|
|
915
|
+
if ((0, _helper.isEmpty)(elementData === null || elementData === void 0 ? void 0 : elementData.part)) {
|
|
916
|
+
elementPrototype = elementData === null || elementData === void 0 ? void 0 : elementData.prototype;
|
|
917
|
+
internalType = _constants.INTERNAL_EVENT_SELECT_ELEMENT;
|
|
918
|
+
}
|
|
919
|
+
break;
|
|
920
|
+
}
|
|
921
|
+
break;
|
|
922
|
+
}
|
|
857
923
|
switch (mode) {
|
|
858
924
|
case constants.MODE_IDLE:
|
|
859
|
-
var elementData = extractElementData(event.target);
|
|
860
|
-
var selectedLayer = scene.getIn(['layers', layerID]);
|
|
861
925
|
switch (elementData ? elementData.prototype : 'none') {
|
|
862
926
|
case 'areas':
|
|
863
927
|
if (document.getElementById('setting_dialog')) {
|
|
@@ -894,7 +958,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
894
958
|
case 'items':
|
|
895
959
|
if (elementData.part === 'duplicate') {
|
|
896
960
|
var currentObject = state.getIn(['scene', 'layers', layerID, 'items', elementData.id]);
|
|
897
|
-
itemsActions.duplicateSelected(currentObject);
|
|
961
|
+
if (!(0, _utils.isWarningItem)(currentObject)) itemsActions.duplicateSelected(currentObject, onInternalEvent); // send draw internal event when duplicating
|
|
898
962
|
break;
|
|
899
963
|
} else if (elementData.part === 'remove') {
|
|
900
964
|
projectActions.remove();
|
|
@@ -904,6 +968,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
904
968
|
if (document.getElementById('setting_dialog')) {
|
|
905
969
|
document.getElementById('setting_dialog').style.display = 'none';
|
|
906
970
|
}
|
|
971
|
+
internalType = constants.INTERNAL_EVENT_REPLACE_CABINET;
|
|
907
972
|
itemsActions.selectItem(elementData.layer, elementData.id);
|
|
908
973
|
replaceCabinet(true);
|
|
909
974
|
break;
|
|
@@ -918,14 +983,12 @@ function Viewer2D(_ref, _ref2) {
|
|
|
918
983
|
id: "ruler_numberInput",
|
|
919
984
|
style: {
|
|
920
985
|
position: 'absolute',
|
|
921
|
-
left:
|
|
922
|
-
top:
|
|
986
|
+
left: left,
|
|
987
|
+
top: top,
|
|
923
988
|
zIndex: 1000
|
|
924
989
|
}
|
|
925
990
|
}, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
|
|
926
991
|
style: {
|
|
927
|
-
width: 150,
|
|
928
|
-
height: 50,
|
|
929
992
|
textAlign: 'center',
|
|
930
993
|
paddingRight: 10,
|
|
931
994
|
fontSize: '16px',
|
|
@@ -952,14 +1015,12 @@ function Viewer2D(_ref, _ref2) {
|
|
|
952
1015
|
id: "ruler_numberInput",
|
|
953
1016
|
style: {
|
|
954
1017
|
position: 'absolute',
|
|
955
|
-
left:
|
|
956
|
-
top:
|
|
1018
|
+
left: left,
|
|
1019
|
+
top: top,
|
|
957
1020
|
zIndex: 1000
|
|
958
1021
|
}
|
|
959
1022
|
}, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
|
|
960
1023
|
style: {
|
|
961
|
-
width: 150,
|
|
962
|
-
height: 50,
|
|
963
1024
|
textAlign: 'center',
|
|
964
1025
|
paddingRight: 10,
|
|
965
1026
|
fontSize: '16px',
|
|
@@ -987,14 +1048,12 @@ function Viewer2D(_ref, _ref2) {
|
|
|
987
1048
|
id: "ruler_numberInput",
|
|
988
1049
|
style: {
|
|
989
1050
|
position: 'absolute',
|
|
990
|
-
left:
|
|
991
|
-
top:
|
|
1051
|
+
left: left,
|
|
1052
|
+
top: top,
|
|
992
1053
|
zIndex: 1000
|
|
993
1054
|
}
|
|
994
1055
|
}, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
|
|
995
1056
|
style: {
|
|
996
|
-
width: 150,
|
|
997
|
-
height: 50,
|
|
998
1057
|
textAlign: 'center',
|
|
999
1058
|
padding: 'auto',
|
|
1000
1059
|
fontSize: '16px',
|
|
@@ -1022,14 +1081,12 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1022
1081
|
id: "ruler_numberInput",
|
|
1023
1082
|
style: {
|
|
1024
1083
|
position: 'absolute',
|
|
1025
|
-
left:
|
|
1026
|
-
top:
|
|
1084
|
+
left: left,
|
|
1085
|
+
top: top,
|
|
1027
1086
|
zIndex: 1000
|
|
1028
1087
|
}
|
|
1029
1088
|
}, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
|
|
1030
1089
|
style: {
|
|
1031
|
-
width: 150,
|
|
1032
|
-
height: 50,
|
|
1033
1090
|
textAlign: 'center',
|
|
1034
1091
|
paddingRight: 10,
|
|
1035
1092
|
fontSize: '16px',
|
|
@@ -1057,14 +1114,12 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1057
1114
|
id: "ruler_numberInput",
|
|
1058
1115
|
style: {
|
|
1059
1116
|
position: 'absolute',
|
|
1060
|
-
left:
|
|
1061
|
-
top:
|
|
1117
|
+
left: left,
|
|
1118
|
+
top: top,
|
|
1062
1119
|
zIndex: 1000
|
|
1063
1120
|
}
|
|
1064
1121
|
}, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
|
|
1065
1122
|
style: {
|
|
1066
|
-
width: 150,
|
|
1067
|
-
height: 50,
|
|
1068
1123
|
textAlign: 'center',
|
|
1069
1124
|
paddingRight: 10,
|
|
1070
1125
|
fontSize: '16px',
|
|
@@ -1092,14 +1147,12 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1092
1147
|
id: "ruler_numberInput",
|
|
1093
1148
|
style: {
|
|
1094
1149
|
position: 'absolute',
|
|
1095
|
-
left:
|
|
1096
|
-
top:
|
|
1150
|
+
left: left,
|
|
1151
|
+
top: top,
|
|
1097
1152
|
zIndex: 1000
|
|
1098
1153
|
}
|
|
1099
1154
|
}, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
|
|
1100
1155
|
style: {
|
|
1101
|
-
width: 150,
|
|
1102
|
-
height: 50,
|
|
1103
1156
|
textAlign: 'center',
|
|
1104
1157
|
paddingRight: 10,
|
|
1105
1158
|
fontSize: '16px',
|
|
@@ -1126,8 +1179,8 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1126
1179
|
id: "ruler_numberInput",
|
|
1127
1180
|
style: {
|
|
1128
1181
|
position: 'absolute',
|
|
1129
|
-
left:
|
|
1130
|
-
top:
|
|
1182
|
+
left: left,
|
|
1183
|
+
top: top,
|
|
1131
1184
|
zIndex: 1000
|
|
1132
1185
|
}
|
|
1133
1186
|
}, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
|
|
@@ -1156,7 +1209,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1156
1209
|
break;
|
|
1157
1210
|
case constants.MODE_WAITING_DRAWING_LINE:
|
|
1158
1211
|
setdrawStart(true);
|
|
1159
|
-
linesActions.beginDrawingLine(layerID, x, y, state.snapMask);
|
|
1212
|
+
linesActions.beginDrawingLine(layerID, x, y, state.snapMask, onInternalEvent);
|
|
1160
1213
|
break;
|
|
1161
1214
|
case constants.MODE_DRAWING_LINE:
|
|
1162
1215
|
// Blocked 90 degree snap.
|
|
@@ -1170,13 +1223,16 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1170
1223
|
getConnectedLines();
|
|
1171
1224
|
var endInfor = getEndPoint(vertices, x, y, 'END_DRAWIN_LINE');
|
|
1172
1225
|
linesActions.endDrawingLine(endInfor.x, endInfor.y, state.snapMask);
|
|
1173
|
-
linesActions.beginDrawingLine(layerID, endInfor.x, endInfor.y, state.snapMask);
|
|
1226
|
+
linesActions.beginDrawingLine(layerID, endInfor.x, endInfor.y, state.snapMask, onInternalEvent);
|
|
1174
1227
|
break;
|
|
1175
1228
|
case constants.MODE_DRAWING_HOLE:
|
|
1176
1229
|
holesActions.endDrawingHole(layerID, x, y);
|
|
1177
1230
|
break;
|
|
1178
1231
|
case constants.MODE_DRAWING_ITEM:
|
|
1179
|
-
|
|
1232
|
+
{
|
|
1233
|
+
var itemData = state.getIn(['scene', 'layers', layerID, elementData === null || elementData === void 0 ? void 0 : elementData.prototype, elementData === null || elementData === void 0 ? void 0 : elementData.id]);
|
|
1234
|
+
itemsActions.endDrawingItem(layerID, itemData.isInitialPos ? itemData.x : endPoint.x, itemData.isInitialPos ? itemData.y : endPoint.y);
|
|
1235
|
+
}
|
|
1180
1236
|
break;
|
|
1181
1237
|
case constants.MODE_DRAGGING_LINE:
|
|
1182
1238
|
linesActions.endDraggingLine(x, y, relatedLines, state.snapMask);
|
|
@@ -1197,24 +1253,45 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1197
1253
|
itemsActions.endRotatingItem(x, y);
|
|
1198
1254
|
break;
|
|
1199
1255
|
}
|
|
1256
|
+
if (internalType) {
|
|
1257
|
+
var _currentObject2;
|
|
1258
|
+
var _currentObject = state.getIn(['scene', 'layers', layerID, elementData === null || elementData === void 0 ? void 0 : elementData.prototype, elementData === null || elementData === void 0 ? void 0 : elementData.id]);
|
|
1259
|
+
if (internalType === _constants.INTERNAL_EVENT_SELECT_ELEMENT && ((_currentObject2 = _currentObject) === null || _currentObject2 === void 0 ? void 0 : _currentObject2.prototype) === 'items' && draggingDistance > constants.EPSILON) internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;else if (internalType === _constants.INTERNAL_EVENT_DRAW_ELEMENT || draggingDistance > constants.EPSILON) {
|
|
1260
|
+
var elementID = state.getIn(['scene', 'layers', layerID, 'selected', elementPrototype]).first();
|
|
1261
|
+
_currentObject = state.getIn(['scene', 'layers', layerID, elementPrototype, elementID]);
|
|
1262
|
+
}
|
|
1263
|
+
if (_currentObject) {
|
|
1264
|
+
var payload = (0, _helper.updatePayloadOfInternalEvent)(_currentObject, layer, catalog);
|
|
1265
|
+
|
|
1266
|
+
// send selection event befor replace event
|
|
1267
|
+
if (internalType === constants.INTERNAL_EVENT_REPLACE_CABINET) {
|
|
1268
|
+
onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
|
|
1269
|
+
type: _constants.INTERNAL_EVENT_SELECT_ELEMENT,
|
|
1270
|
+
value: payload
|
|
1271
|
+
});
|
|
1272
|
+
}
|
|
1273
|
+
onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
|
|
1274
|
+
type: internalType,
|
|
1275
|
+
value: payload
|
|
1276
|
+
});
|
|
1277
|
+
}
|
|
1278
|
+
}
|
|
1200
1279
|
event.stopPropagation();
|
|
1201
1280
|
};
|
|
1202
1281
|
var onChangeValue = function onChangeValue(value) {
|
|
1203
1282
|
if (sFlag) return;
|
|
1204
1283
|
var _zoomValue = parseInt((value.a - 0.5) / constants.ZOOM_VARIABLE);
|
|
1205
|
-
if (_zoomValue >
|
|
1284
|
+
if (_zoomValue > constants.MAX_ZOOM_IN_SCALE) return;
|
|
1206
1285
|
if (_zoomValue < 0 || Number.isNaN(_zoomValue)) return;
|
|
1207
1286
|
if (rulerEdit !== null && value.startX && value.startY || value.lastAction === 'zoom') {
|
|
1208
|
-
var _rulerEdit = document.getElementById('ruler_numberInput'),
|
|
1287
|
+
var _rulerEdit = document.getElementById('ruler_numberInput') && document.getElementById('ruler_numberInput'),
|
|
1209
1288
|
_rect;
|
|
1210
1289
|
if (rulerEditID !== null) {
|
|
1211
|
-
_rect = document.getElementById(rulerEditID);
|
|
1290
|
+
_rect = document.getElementById(rulerEditID) && document.getElementById(rulerEditID);
|
|
1212
1291
|
}
|
|
1213
1292
|
var bbox;
|
|
1214
1293
|
if (_rect && _rulerEdit) {
|
|
1215
1294
|
bbox = _rect.getBoundingClientRect();
|
|
1216
|
-
// bbox.width = _rect.getBBox().width;
|
|
1217
|
-
// bbox.height = _rect.getBBox().height;
|
|
1218
1295
|
_rulerEdit.style.left = "".concat(bbox.left - (150 - bbox.width) / 2, "px");
|
|
1219
1296
|
_rulerEdit.style.top = "".concat(bbox.top - (50 - bbox.height) / 2, "px");
|
|
1220
1297
|
}
|