kitchen-simulator 2.0.16 → 2.0.17

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.
@@ -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 switch (mode) {
584
- case constants.MODE_DRAWING_LINE:
585
- // check whether the drawing line is started.
586
- if (drawStart || state.getIn(['scene', 'setLineAttributes'])) {
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
- setdrawStart(false);
593
- // get the lines that have same points with drawing line.
594
- getRelatedLines(tlines, drawingLine, _vertices, lines);
595
- setRelatedLines(tlines);
596
- linesActions.updateDrawingLine(x, y, tlines, state.snapMask);
597
- } else {
598
- linesActions.updateDrawingLine(x, y, relatedLines, state.snapMask);
599
- }
600
- // Blocked 90 degree snap.
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
- if (current_sel_obj_id === null || !flag) {
622
- itemsActions.updateDrawingItem(layerID, x, y);
623
- endPoint.x = x;
624
- endPoint.y = y;
625
- } else {
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$calcSn = GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
628
- nx = _GeometryUtils$calcSn.nx,
629
- ny = _GeometryUtils$calcSn.ny,
630
- rot = _GeometryUtils$calcSn.rot,
631
- rotRad = _GeometryUtils$calcSn.rotRad;
632
- var _val = {
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$getAll = GeometryUtils.getAllHoleRect(scene, _val),
643
- _isSect = _GeometryUtils$getAll.isSect,
644
- _snap = _GeometryUtils$getAll.snap;
645
- if (!isEmpty(_snap) && _isSect) {
646
- if (_snap.length == 1) _val.pos = {
647
- x: _snap[0].x,
648
- y: _snap[0].y
649
- };else {
650
- 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 = {
651
- x: _snap[0].x,
652
- y: _snap[0].y
653
- };else _val.pos = {
654
- x: _snap[1].x,
655
- y: _snap[1].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 interSect = GeometryUtils.validInterSect(allItemRect.others, _val);
659
- if (interSect) {
660
- nx = _val.pos.x;
661
- ny = _val.pos.y;
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
- _val.pos = {
777
+ val.pos = {
665
778
  x: nx,
666
779
  y: ny
667
780
  };
668
- var _isrectSect = GeometryUtils.validInterSect(allItemRect.others, _val);
669
- if (_isrectSect && _isSect) {
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('cabinet')) {
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
- val.pos = {
741
- x: nx,
742
- y: ny
743
- };
744
- var isrectSect = GeometryUtils.validInterSect(allItemRect.others, val);
745
- if (isrectSect && isSect) {
746
- itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
747
- itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
748
- }
749
- if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cabinet')) {
750
- itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
751
- itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
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: currentObject === null || currentObject === void 0 ? void 0 : currentObject.toJS()
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';
@@ -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")), /*#__PURE__*/React.createElement(LiteRenderer, {
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,