File tree Expand file tree Collapse file tree 3 files changed +25
-2
lines changed
bricks/diagram/src/draw-canvas Expand file tree Collapse file tree 3 files changed +25
-2
lines changed Original file line number Diff line number Diff line change @@ -266,6 +266,7 @@ export function CellComponent({
266
266
return ;
267
267
}
268
268
event . preventDefault ( ) ;
269
+ event . stopPropagation ( ) ;
269
270
onSwitchActiveTarget ( cellToTarget ( cell ) ) ;
270
271
onCellContextMenu ( {
271
272
cell,
Original file line number Diff line number Diff line change @@ -876,7 +876,28 @@ describe("eo-draw-canvas", () => {
876
876
locked : false ,
877
877
} ) ;
878
878
879
- expect ( onCanvasContextMenu ) . toHaveBeenCalled ( ) ;
879
+ // Context-menu event propagation is stopped.
880
+ expect ( onCanvasContextMenu ) . not . toHaveBeenCalled ( ) ;
881
+
882
+ act ( ( ) => {
883
+ fireEvent . contextMenu ( element . shadowRoot ! . querySelector ( "svg" ) ! , {
884
+ clientX : 100 ,
885
+ clientY : 200 ,
886
+ } ) ;
887
+ } ) ;
888
+
889
+ expect ( onCanvasContextMenu ) . toBeCalledWith ( {
890
+ clientX : 100 ,
891
+ clientY : 200 ,
892
+ view : {
893
+ x : 100 ,
894
+ y : 200 ,
895
+ } ,
896
+ } ) ;
897
+
898
+ // Active target is reset to null when right-click the canvas space area.
899
+ await act ( ( ) => new Promise ( ( resolve ) => setTimeout ( resolve , 1 ) ) ) ;
900
+ expect ( onActiveTargetChange ) . toHaveBeenCalledWith ( null ) ;
880
901
881
902
act ( ( ) => {
882
903
document . body . removeChild ( element ) ;
Original file line number Diff line number Diff line change @@ -1384,8 +1384,9 @@ function LegacyEoDrawCanvasComponent(
1384
1384
( event : React . MouseEvent < SVGElement > ) => {
1385
1385
event . preventDefault ( ) ;
1386
1386
onCanvasContextMenu ( [ event . clientX , event . clientY ] ) ;
1387
+ onSwitchActiveTarget ?.( null ) ;
1387
1388
} ,
1388
- [ onCanvasContextMenu ]
1389
+ [ onCanvasContextMenu , onSwitchActiveTarget ]
1389
1390
) ;
1390
1391
useEffect ( ( ) => {
1391
1392
const root = rootRef . current ;
You can’t perform that action at this time.
0 commit comments