kitchen-simulator 2.0.16 → 2.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/catalog/holes/door-closet/planner-element.js +1 -1
- package/es/catalog/holes/door-exterior/planner-element.js +1 -1
- package/es/catalog/holes/door-interior/planner-element.js +1 -1
- package/es/catalog/holes/door-sliding/planner-element.js +1 -1
- package/es/catalog/holes/window-vertical/planner-element.js +1 -1
- package/es/components/viewer2d/viewer2d.js +214 -147
- package/es/constants.js +6 -1
- package/es/devLiteRenderer.js +31 -2
- package/es/utils/isolate-event-handler.js +74 -39
- package/lib/catalog/holes/door-closet/planner-element.js +1 -1
- package/lib/catalog/holes/door-exterior/planner-element.js +1 -1
- package/lib/catalog/holes/door-interior/planner-element.js +1 -1
- package/lib/catalog/holes/door-sliding/planner-element.js +1 -1
- package/lib/catalog/holes/window-vertical/planner-element.js +1 -1
- package/lib/components/viewer2d/viewer2d.js +214 -147
- package/lib/constants.js +10 -5
- package/lib/devLiteRenderer.js +30 -1
- package/lib/utils/isolate-event-handler.js +73 -38
- package/package.json +1 -1
|
@@ -567,6 +567,7 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
567
567
|
// let evt = new Event('mousemove-planner-event');
|
|
568
568
|
// evt.viewerEvent = viewerEvent;
|
|
569
569
|
// document.dispatchEvent(evt);
|
|
570
|
+
var elementPrototype, internalType;
|
|
570
571
|
var _mapCursorPosition = mapCursorPosition(viewerEvent),
|
|
571
572
|
x = _mapCursorPosition.x,
|
|
572
573
|
y = _mapCursorPosition.y;
|
|
@@ -580,56 +581,168 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
580
581
|
y: y - sPoint.y
|
|
581
582
|
};
|
|
582
583
|
projectActions.selectAll(differs);
|
|
583
|
-
} else
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
584
|
+
} else {
|
|
585
|
+
switch (mode) {
|
|
586
|
+
case constants.MODE_DRAWING_LINE:
|
|
587
|
+
elementPrototype = 'lines';
|
|
588
|
+
internalType = INTERNAL_EVENT_DRAW_ELEMENT;
|
|
589
|
+
break;
|
|
590
|
+
case constants.MODE_DRAWING_HOLE:
|
|
591
|
+
elementPrototype = 'holes';
|
|
592
|
+
internalType = INTERNAL_EVENT_DRAW_ELEMENT;
|
|
593
|
+
break;
|
|
594
|
+
case constants.MODE_DRAWING_ITEM:
|
|
595
|
+
elementPrototype = 'items';
|
|
596
|
+
internalType = INTERNAL_EVENT_DRAW_ELEMENT;
|
|
597
|
+
break;
|
|
598
|
+
case constants.MODE_DRAGGING_HOLE:
|
|
599
|
+
elementPrototype = 'holes';
|
|
600
|
+
internalType = INTERNAL_EVENT_DRAG_ELEMENT;
|
|
601
|
+
break;
|
|
602
|
+
case constants.MODE_DRAGGING_LINE:
|
|
603
|
+
elementPrototype = 'lines';
|
|
604
|
+
internalType = INTERNAL_EVENT_DRAG_ELEMENT;
|
|
605
|
+
break;
|
|
606
|
+
case constants.MODE_DRAGGING_VERTEX:
|
|
607
|
+
elementPrototype = 'lines';
|
|
608
|
+
internalType = INTERNAL_EVENT_DRAG_ELEMENT;
|
|
609
|
+
break;
|
|
610
|
+
case constants.MODE_DRAGGING_ITEM:
|
|
611
|
+
elementPrototype = 'items';
|
|
612
|
+
internalType = INTERNAL_EVENT_DRAG_ELEMENT;
|
|
613
|
+
break;
|
|
614
|
+
case constants.MODE_ROTATING_ITEM:
|
|
615
|
+
elementPrototype = 'items';
|
|
616
|
+
internalType = INTERNAL_EVENT_ROTATE_ELEMENT;
|
|
617
|
+
break;
|
|
618
|
+
}
|
|
619
|
+
switch (mode) {
|
|
620
|
+
case constants.MODE_DRAWING_LINE:
|
|
621
|
+
// check whether the drawing line is started.
|
|
587
622
|
var lineID = state.getIn(['scene', 'layers', layerID, 'selected', 'lines']).first();
|
|
588
|
-
var _vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
|
|
589
623
|
var lines = state.getIn(['scene', 'layers', layerID, 'lines']).toJS();
|
|
590
624
|
var drawingLine = state.getIn(['scene', 'layers', layerID, 'lines', lineID]).toJS();
|
|
591
625
|
var tlines = [];
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
// let prevVertexID = state.getIn(['scene', 'layers', layerID, 'selected', 'vertices']).toJS()[0];
|
|
602
|
-
// let prevVertex = state.getIn(['scene', 'layers', layerID, 'vertices', prevVertexID]);
|
|
603
|
-
// let dx = Math.abs(x - prevVertex.x);
|
|
604
|
-
// let dy = Math.abs(y - prevVertex.y);
|
|
605
|
-
// if (dx > dy) y = prevVertex.y
|
|
606
|
-
// else x = prevVertex.x;
|
|
607
|
-
break;
|
|
608
|
-
case constants.MODE_DRAWING_HOLE:
|
|
609
|
-
holesActions.updateDrawingHole(layerID, x, y);
|
|
610
|
-
break;
|
|
611
|
-
case constants.MODE_DRAWING_ITEM:
|
|
612
|
-
var _layer = scene.layers.get(layerID);
|
|
613
|
-
var flag = false;
|
|
614
|
-
_layer.items.some(function (item) {
|
|
615
|
-
if (item.selected) {
|
|
616
|
-
item.counterTop.uri = _layer.counterTop.uri;
|
|
617
|
-
current_sel_obj_id = item.id;
|
|
618
|
-
flag = true;
|
|
626
|
+
if (drawStart || state.getIn(['scene', 'setLineAttributes'])) {
|
|
627
|
+
var _vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
|
|
628
|
+
setdrawStart(false);
|
|
629
|
+
// get the lines that have same points with drawing line.
|
|
630
|
+
getRelatedLines(tlines, drawingLine, _vertices, lines);
|
|
631
|
+
setRelatedLines(tlines);
|
|
632
|
+
linesActions.updateDrawingLine(x, y, tlines, state.snapMask);
|
|
633
|
+
} else {
|
|
634
|
+
linesActions.updateDrawingLine(x, y, relatedLines, state.snapMask);
|
|
619
635
|
}
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
636
|
+
|
|
637
|
+
// Blocked 90 degree snap.
|
|
638
|
+
// let prevVertexID = state.getIn(['scene', 'layers', layerID, 'selected', 'vertices']).toJS()[0];
|
|
639
|
+
// let prevVertex = state.getIn(['scene', 'layers', layerID, 'vertices', prevVertexID]);
|
|
640
|
+
// let dx = Math.abs(x - prevVertex.x);
|
|
641
|
+
// let dy = Math.abs(y - prevVertex.y);
|
|
642
|
+
// if (dx > dy) y = prevVertex.y
|
|
643
|
+
// else x = prevVertex.x;
|
|
644
|
+
break;
|
|
645
|
+
case constants.MODE_DRAWING_HOLE:
|
|
646
|
+
holesActions.updateDrawingHole(layerID, x, y);
|
|
647
|
+
break;
|
|
648
|
+
case constants.MODE_DRAWING_ITEM:
|
|
649
|
+
var _layer = scene.layers.get(layerID);
|
|
650
|
+
var flag = false;
|
|
651
|
+
_layer.items.some(function (item) {
|
|
652
|
+
if (item.selected) {
|
|
653
|
+
item.counterTop.uri = _layer.counterTop.uri;
|
|
654
|
+
current_sel_obj_id = item.id;
|
|
655
|
+
flag = true;
|
|
656
|
+
}
|
|
657
|
+
});
|
|
658
|
+
if (current_sel_obj_id === null || !flag) {
|
|
659
|
+
itemsActions.updateDrawingItem(layerID, x, y);
|
|
660
|
+
endPoint.x = x;
|
|
661
|
+
endPoint.y = y;
|
|
662
|
+
} else {
|
|
663
|
+
prepareSnap();
|
|
664
|
+
var _GeometryUtils$calcSn = GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
|
|
665
|
+
nx = _GeometryUtils$calcSn.nx,
|
|
666
|
+
ny = _GeometryUtils$calcSn.ny,
|
|
667
|
+
rot = _GeometryUtils$calcSn.rot,
|
|
668
|
+
rotRad = _GeometryUtils$calcSn.rotRad;
|
|
669
|
+
var _val = {
|
|
670
|
+
pos: {
|
|
671
|
+
x: x,
|
|
672
|
+
y: y
|
|
673
|
+
},
|
|
674
|
+
rotRad: rotRad,
|
|
675
|
+
size: allItemRect.cur && allItemRect.cur.size,
|
|
676
|
+
layoutpos: allItemRect.cur && allItemRect.cur.layoutpos,
|
|
677
|
+
is_corner: allItemRect.cur && allItemRect.cur.is_corner
|
|
678
|
+
};
|
|
679
|
+
var _GeometryUtils$getAll = GeometryUtils.getAllHoleRect(scene, _val),
|
|
680
|
+
_isSect = _GeometryUtils$getAll.isSect,
|
|
681
|
+
_snap = _GeometryUtils$getAll.snap;
|
|
682
|
+
if (!isEmpty(_snap) && _isSect) {
|
|
683
|
+
if (_snap.length == 1) _val.pos = {
|
|
684
|
+
x: _snap[0].x,
|
|
685
|
+
y: _snap[0].y
|
|
686
|
+
};else {
|
|
687
|
+
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 = {
|
|
688
|
+
x: _snap[0].x,
|
|
689
|
+
y: _snap[0].y
|
|
690
|
+
};else _val.pos = {
|
|
691
|
+
x: _snap[1].x,
|
|
692
|
+
y: _snap[1].y
|
|
693
|
+
};
|
|
694
|
+
}
|
|
695
|
+
var interSect = GeometryUtils.validInterSect(allItemRect.others, _val);
|
|
696
|
+
if (interSect) {
|
|
697
|
+
nx = _val.pos.x;
|
|
698
|
+
ny = _val.pos.y;
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
_val.pos = {
|
|
702
|
+
x: nx,
|
|
703
|
+
y: ny
|
|
704
|
+
};
|
|
705
|
+
var _isrectSect = GeometryUtils.validInterSect(allItemRect.others, _val);
|
|
706
|
+
if (_isrectSect && _isSect) {
|
|
707
|
+
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
708
|
+
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
709
|
+
endPoint.x = nx;
|
|
710
|
+
endPoint.y = ny;
|
|
711
|
+
}
|
|
712
|
+
if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('cabinet')) {
|
|
713
|
+
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
714
|
+
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
715
|
+
endPoint.x = nx;
|
|
716
|
+
endPoint.y = ny;
|
|
717
|
+
}
|
|
718
|
+
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')) {
|
|
719
|
+
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
720
|
+
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
721
|
+
endPoint.x = nx;
|
|
722
|
+
endPoint.y = ny;
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
break;
|
|
726
|
+
case constants.MODE_DRAGGING_HOLE:
|
|
727
|
+
holesActions.updateDraggingHole(x, y);
|
|
728
|
+
break;
|
|
729
|
+
case constants.MODE_DRAGGING_LINE:
|
|
730
|
+
linesActions.updateDraggingLine(x, y, relatedLines, state.snapMask);
|
|
731
|
+
break;
|
|
732
|
+
case constants.MODE_DRAGGING_VERTEX:
|
|
733
|
+
var vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
|
|
734
|
+
getConnectedLines();
|
|
735
|
+
var result = getEndPoint(vertices, x, y, 'DRAGGING_VERTEX');
|
|
736
|
+
verticesActions.updateDraggingVertex(result.x, result.y, state.snapMask);
|
|
737
|
+
break;
|
|
738
|
+
case constants.MODE_DRAGGING_ITEM:
|
|
626
739
|
prepareSnap();
|
|
627
|
-
var _GeometryUtils$
|
|
628
|
-
nx = _GeometryUtils$
|
|
629
|
-
ny = _GeometryUtils$
|
|
630
|
-
rot = _GeometryUtils$
|
|
631
|
-
rotRad = _GeometryUtils$
|
|
632
|
-
var
|
|
740
|
+
var _GeometryUtils$calcSn2 = GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
|
|
741
|
+
nx = _GeometryUtils$calcSn2.nx,
|
|
742
|
+
ny = _GeometryUtils$calcSn2.ny,
|
|
743
|
+
rot = _GeometryUtils$calcSn2.rot,
|
|
744
|
+
rotRad = _GeometryUtils$calcSn2.rotRad;
|
|
745
|
+
var val = {
|
|
633
746
|
pos: {
|
|
634
747
|
x: x,
|
|
635
748
|
y: y
|
|
@@ -639,125 +752,58 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
639
752
|
layoutpos: allItemRect.cur && allItemRect.cur.layoutpos,
|
|
640
753
|
is_corner: allItemRect.cur && allItemRect.cur.is_corner
|
|
641
754
|
};
|
|
642
|
-
var _GeometryUtils$
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
if (!isEmpty(
|
|
646
|
-
if (
|
|
647
|
-
x:
|
|
648
|
-
y:
|
|
649
|
-
};else {
|
|
650
|
-
if ((
|
|
651
|
-
x:
|
|
652
|
-
y:
|
|
653
|
-
};else
|
|
654
|
-
x:
|
|
655
|
-
y:
|
|
755
|
+
var _GeometryUtils$getAll2 = GeometryUtils.getAllHoleRect(scene, val),
|
|
756
|
+
isSect = _GeometryUtils$getAll2.isSect,
|
|
757
|
+
snap = _GeometryUtils$getAll2.snap;
|
|
758
|
+
if (!isEmpty(snap) && isSect) {
|
|
759
|
+
if (snap.length == 1) val.pos = {
|
|
760
|
+
x: snap[0].x,
|
|
761
|
+
y: snap[0].y
|
|
762
|
+
};else if (snap.length == 2) {
|
|
763
|
+
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 = {
|
|
764
|
+
x: snap[0].x,
|
|
765
|
+
y: snap[0].y
|
|
766
|
+
};else val.pos = {
|
|
767
|
+
x: snap[1].x,
|
|
768
|
+
y: snap[1].y
|
|
656
769
|
};
|
|
657
770
|
}
|
|
658
|
-
var
|
|
659
|
-
if (
|
|
660
|
-
nx =
|
|
661
|
-
ny =
|
|
771
|
+
var _interSect = GeometryUtils.validInterSect(allItemRect.others, val);
|
|
772
|
+
if (_interSect) {
|
|
773
|
+
nx = val.pos.x;
|
|
774
|
+
ny = val.pos.y;
|
|
662
775
|
}
|
|
663
776
|
}
|
|
664
|
-
|
|
777
|
+
val.pos = {
|
|
665
778
|
x: nx,
|
|
666
779
|
y: ny
|
|
667
780
|
};
|
|
668
|
-
var
|
|
669
|
-
if (
|
|
781
|
+
var isrectSect = GeometryUtils.validInterSect(allItemRect.others, val);
|
|
782
|
+
if (isrectSect && isSect) {
|
|
670
783
|
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
671
784
|
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
672
|
-
endPoint.x = nx;
|
|
673
|
-
endPoint.y = ny;
|
|
674
785
|
}
|
|
675
|
-
if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('
|
|
786
|
+
if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cabinet')) {
|
|
676
787
|
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
677
788
|
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
678
|
-
endPoint.x = nx;
|
|
679
|
-
endPoint.y = ny;
|
|
680
789
|
}
|
|
681
790
|
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')) {
|
|
682
791
|
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
683
792
|
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
684
|
-
endPoint.x = nx;
|
|
685
|
-
endPoint.y = ny;
|
|
686
|
-
}
|
|
687
|
-
}
|
|
688
|
-
break;
|
|
689
|
-
case constants.MODE_DRAGGING_HOLE:
|
|
690
|
-
holesActions.updateDraggingHole(x, y);
|
|
691
|
-
break;
|
|
692
|
-
case constants.MODE_DRAGGING_LINE:
|
|
693
|
-
linesActions.updateDraggingLine(x, y, relatedLines, state.snapMask);
|
|
694
|
-
break;
|
|
695
|
-
case constants.MODE_DRAGGING_VERTEX:
|
|
696
|
-
var vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
|
|
697
|
-
getConnectedLines();
|
|
698
|
-
var result = getEndPoint(vertices, x, y, 'DRAGGING_VERTEX');
|
|
699
|
-
verticesActions.updateDraggingVertex(result.x, result.y, state.snapMask);
|
|
700
|
-
break;
|
|
701
|
-
case constants.MODE_DRAGGING_ITEM:
|
|
702
|
-
prepareSnap();
|
|
703
|
-
var _GeometryUtils$calcSn2 = GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
|
|
704
|
-
nx = _GeometryUtils$calcSn2.nx,
|
|
705
|
-
ny = _GeometryUtils$calcSn2.ny,
|
|
706
|
-
rot = _GeometryUtils$calcSn2.rot,
|
|
707
|
-
rotRad = _GeometryUtils$calcSn2.rotRad;
|
|
708
|
-
var val = {
|
|
709
|
-
pos: {
|
|
710
|
-
x: x,
|
|
711
|
-
y: y
|
|
712
|
-
},
|
|
713
|
-
rotRad: rotRad,
|
|
714
|
-
size: allItemRect.cur && allItemRect.cur.size,
|
|
715
|
-
layoutpos: allItemRect.cur && allItemRect.cur.layoutpos,
|
|
716
|
-
is_corner: allItemRect.cur && allItemRect.cur.is_corner
|
|
717
|
-
};
|
|
718
|
-
var _GeometryUtils$getAll2 = GeometryUtils.getAllHoleRect(scene, val),
|
|
719
|
-
isSect = _GeometryUtils$getAll2.isSect,
|
|
720
|
-
snap = _GeometryUtils$getAll2.snap;
|
|
721
|
-
if (!isEmpty(snap) && isSect) {
|
|
722
|
-
if (snap.length == 1) val.pos = {
|
|
723
|
-
x: snap[0].x,
|
|
724
|
-
y: snap[0].y
|
|
725
|
-
};else if (snap.length == 2) {
|
|
726
|
-
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 = {
|
|
727
|
-
x: snap[0].x,
|
|
728
|
-
y: snap[0].y
|
|
729
|
-
};else val.pos = {
|
|
730
|
-
x: snap[1].x,
|
|
731
|
-
y: snap[1].y
|
|
732
|
-
};
|
|
733
|
-
}
|
|
734
|
-
var _interSect = GeometryUtils.validInterSect(allItemRect.others, val);
|
|
735
|
-
if (_interSect) {
|
|
736
|
-
nx = val.pos.x;
|
|
737
|
-
ny = val.pos.y;
|
|
738
793
|
}
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
x
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
}
|
|
753
|
-
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')) {
|
|
754
|
-
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
755
|
-
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
756
|
-
}
|
|
757
|
-
break;
|
|
758
|
-
case constants.MODE_ROTATING_ITEM:
|
|
759
|
-
itemsActions.updateRotatingItem(x, y);
|
|
760
|
-
break;
|
|
794
|
+
break;
|
|
795
|
+
case constants.MODE_ROTATING_ITEM:
|
|
796
|
+
itemsActions.updateRotatingItem(x, y);
|
|
797
|
+
break;
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
if (!isEmpty(elementPrototype)) {
|
|
801
|
+
var elementID = state.getIn(['scene', 'layers', layerID, 'selected', elementPrototype]).first();
|
|
802
|
+
var currentObject = state.getIn(['scene', 'layers', layerID, elementPrototype, elementID]);
|
|
803
|
+
onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
|
|
804
|
+
type: internalType,
|
|
805
|
+
value: currentObject === null || currentObject === void 0 ? void 0 : currentObject.toJS()
|
|
806
|
+
});
|
|
761
807
|
}
|
|
762
808
|
viewerEvent.originalEvent.stopPropagation();
|
|
763
809
|
};
|
|
@@ -779,6 +825,10 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
779
825
|
return;
|
|
780
826
|
}
|
|
781
827
|
}
|
|
828
|
+
if (mode === constants.MODE_DRAWING_ITEM) {
|
|
829
|
+
endPoint.x = x;
|
|
830
|
+
endPoint.y = y;
|
|
831
|
+
}
|
|
782
832
|
if (mode === constants.MODE_IDLE) {
|
|
783
833
|
var elementData = extractElementData(event.target);
|
|
784
834
|
if (!elementData) return;
|
|
@@ -818,9 +868,22 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
818
868
|
break;
|
|
819
869
|
}
|
|
820
870
|
var currentObject = state.getIn(['scene', 'layers', layerID, elementData.prototype, elementData.id]);
|
|
871
|
+
if (elementData.prototype === 'lines' && currentObject) {
|
|
872
|
+
// caculating length of selected line//
|
|
873
|
+
var v_a = layer.vertices.get(currentObject.vertices.get(0));
|
|
874
|
+
var v_b = layer.vertices.get(currentObject.vertices.get(1));
|
|
875
|
+
var distance = GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
|
|
876
|
+
var _length = convert(distance).from('cm').to('in');
|
|
877
|
+
elementData.length = _length;
|
|
878
|
+
//////////////////////////////////////
|
|
879
|
+
}
|
|
880
|
+
// Adding length field to internal event payload when selected lines
|
|
881
|
+
var payloadValue = (elementData === null || elementData === void 0 ? void 0 : elementData.prototype) === 'lines' ? _objectSpread(_objectSpread({}, currentObject === null || currentObject === void 0 ? void 0 : currentObject.toJS()), {}, {
|
|
882
|
+
length: elementData === null || elementData === void 0 ? void 0 : elementData.length
|
|
883
|
+
}) : currentObject === null || currentObject === void 0 ? void 0 : currentObject.toJS();
|
|
821
884
|
onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
|
|
822
885
|
type: INTERNAL_EVENT_SELECT_ELEMENT,
|
|
823
|
-
value:
|
|
886
|
+
value: payloadValue
|
|
824
887
|
});
|
|
825
888
|
} else {
|
|
826
889
|
sPoint.x = x;
|
|
@@ -944,6 +1007,10 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
944
1007
|
if (document.getElementById('setting_dialog')) {
|
|
945
1008
|
document.getElementById('setting_dialog').style.display = 'none';
|
|
946
1009
|
}
|
|
1010
|
+
onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
|
|
1011
|
+
type: constants.INTERNAL_EVENT_REPLACE_CABINET,
|
|
1012
|
+
value: state.getIn(['scene', 'layers', layerID, 'items', elementData.id]).toJS()
|
|
1013
|
+
});
|
|
947
1014
|
itemsActions.selectItem(elementData.layer, elementData.id);
|
|
948
1015
|
replaceCabinet(true);
|
|
949
1016
|
break;
|
package/es/constants.js
CHANGED
|
@@ -693,6 +693,9 @@ export var ATT_HOLE_OFFSET_B = 'offsetB';
|
|
|
693
693
|
export var PROP_FLIP_DOOR_HANDLE = 'flip_doorhandle';
|
|
694
694
|
export var PROP_OPEN_DOORS = 'open_doors';
|
|
695
695
|
export var PROP_ALTITUDE = 'altitude';
|
|
696
|
+
export var PROP_RESIZE_WIDTH = 'width';
|
|
697
|
+
export var PROP_RESIZE_HEIGHT = 'height';
|
|
698
|
+
export var PROP_RESIZE_DEPTH = 'depth';
|
|
696
699
|
export var MAX_ZOOM_IN_SCALE = Infinity;
|
|
697
700
|
|
|
698
701
|
// external event type
|
|
@@ -724,10 +727,12 @@ export var EXTERNAL_EVENT_DUPLICATE_ELEMENT = 'EXTERNAL_EVENT_DUPLICATE_ELEMENT'
|
|
|
724
727
|
export var EXTERNAL_EVENT_DELETE_ELEMENT = 'EXTERNAL_EVENT_DELETE_ELEMENT';
|
|
725
728
|
export var EXTERNAL_EVENT_UPDATE_ATTRIBUTE = 'EXTERNAL_EVENT_UPDATE_ATTRIBUTE'; // update the element's attributes (distance, rotation...) in the property window
|
|
726
729
|
export var EXTERNAL_EVENT_UPDATE_PROPERTY = 'EXTERNAL_EVENT_UPDATE_PROPERTY'; // update the element's property (flip_doorhandle, open_doors...) in the property window
|
|
730
|
+
export var EXTERNAL_EVENT_REPLACE_CABINET = 'EXTERNAL_EVENT_REPLACE_CABINET';
|
|
727
731
|
|
|
728
732
|
// internal event type
|
|
729
733
|
export var INTERNAL_EVENT_UNSELECT_ALL = 'INTERNAL_EVENT_UNSELECT_ALL';
|
|
730
734
|
export var INTERNAL_EVENT_SELECT_ELEMENT = 'INTERNAL_EVENT_SELECT_ELEMENT';
|
|
731
735
|
export var INTERNAL_EVENT_DRAG_ELEMENT = 'INTERNAL_EVENT_DRAG_ELEMENT';
|
|
732
736
|
export var INTERNAL_EVENT_DRAW_ELEMENT = 'INTERNAL_EVENT_DRAW_ELEMENT';
|
|
733
|
-
export var INTERNAL_EVENT_ROTATE_ELEMENT = 'INTERNAL_EVENT_ROTATE_ELEMENT';
|
|
737
|
+
export var INTERNAL_EVENT_ROTATE_ELEMENT = 'INTERNAL_EVENT_ROTATE_ELEMENT';
|
|
738
|
+
export var INTERNAL_EVENT_REPLACE_CABINET = 'INTERNAL_EVENT_REPLACE_CABINET';
|
package/es/devLiteRenderer.js
CHANGED
|
@@ -12,10 +12,11 @@ import doorStylePaylod2 from "./mocks/doorStylePayload2.json";
|
|
|
12
12
|
import itemCDSPayload from "./mocks/itemCDSPayload.json";
|
|
13
13
|
import rectangleData from "./mocks/rectangleShape.json";
|
|
14
14
|
import moldingPayload from "./mocks/moldingPayload.json";
|
|
15
|
+
import replaceCabinetPayload from "./mocks/replaceCabinetPayload.json";
|
|
15
16
|
import ReactDOM from 'react-dom';
|
|
16
17
|
import LiteRenderer from "./LiteRenderer";
|
|
17
18
|
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, EXTERNAL_EVENT_DUPLICATE_ELEMENT, ELEMENT_ITEM, EXTERNAL_EVENT_DELETE_ELEMENT } from "./constants";
|
|
19
|
+
import { LEFT, RIGHT, TOP, BOTTOM, EXTERNAL_EVENT_ADD_ITEM, EXTERNAL_EVENT_ADD_WALL, EXTERNAL_EVENT_TOGGLE_TO_3D, EXTERNAL_EVENT_TOGGLE_TO_2D, EXTERNAL_EVENT_TOGGLE_TO_ELEVATION, EXTERNAL_EVENT_MOVE_PAN, EXTERNAL_EVENT_NEW_PROJECT, EXTERNAL_EVENT_CHANGE_DOORSTYLE, EXTERNAL_EVENT_SET_INITIAL_DATA, EXTERNAL_EVENT_ADD_ROOM_SHAPE, EXTERNAL_EVENT_ZOOM_IN, EXTERNAL_EVENT_ZOOM_OUT, EXTERNAL_EVENT_UNDO, EXTERNAL_EVENT_REDO, EXTERNAL_EVENT_SET_MOLDING, EXTERNAL_EVENT_PROJECT_SETTING, PROJECT_SETTING_OPTION, 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, PROP_RESIZE_WIDTH, EXTERNAL_EVENT_REPLACE_CABINET } from "./constants";
|
|
19
20
|
|
|
20
21
|
// --- renderer props ---
|
|
21
22
|
var options = {
|
|
@@ -458,7 +459,35 @@ function WorkSpace(props) {
|
|
|
458
459
|
};
|
|
459
460
|
setExternalEvent(evt);
|
|
460
461
|
}
|
|
461
|
-
}, "Centering Viewer2D")
|
|
462
|
+
}, "Centering Viewer2D"), /*#__PURE__*/React.createElement(Button, {
|
|
463
|
+
actionType: "danger",
|
|
464
|
+
onClick: function onClick() {
|
|
465
|
+
var evt = {
|
|
466
|
+
type: EXTERNAL_EVENT_UPDATE_PROPERTY,
|
|
467
|
+
payload: {
|
|
468
|
+
propertyName: PROP_RESIZE_WIDTH,
|
|
469
|
+
// this property should be Map
|
|
470
|
+
value: new Map({
|
|
471
|
+
length: 68.57999780544007,
|
|
472
|
+
// cm
|
|
473
|
+
_length: 27,
|
|
474
|
+
// inch
|
|
475
|
+
_unit: 'in'
|
|
476
|
+
})
|
|
477
|
+
}
|
|
478
|
+
};
|
|
479
|
+
setExternalEvent(evt);
|
|
480
|
+
}
|
|
481
|
+
}, "Change width to 27\""), /*#__PURE__*/React.createElement(Button, {
|
|
482
|
+
actionType: "danger",
|
|
483
|
+
onClick: function onClick() {
|
|
484
|
+
var evt = {
|
|
485
|
+
type: EXTERNAL_EVENT_REPLACE_CABINET,
|
|
486
|
+
payload: replaceCabinetPayload // B12 Data
|
|
487
|
+
};
|
|
488
|
+
setExternalEvent(evt);
|
|
489
|
+
}
|
|
490
|
+
}, "Replace cabinet to B12")), /*#__PURE__*/React.createElement(LiteRenderer, {
|
|
462
491
|
width: props.width,
|
|
463
492
|
height: props.height,
|
|
464
493
|
configData: mockProps.configData,
|