Skip to content

Commit

Permalink
Attach the 'mousemove' handler to the window and the shadow DOM root.
Browse files Browse the repository at this point in the history
Refs #3273
  • Loading branch information
mikekucera committed Sep 26, 2024
1 parent bce954c commit b6b959c
Showing 1 changed file with 23 additions and 2 deletions.
25 changes: 23 additions & 2 deletions src/extensions/renderer/base/load-listeners.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,20 @@ var BRp = {};

BRp.registerBinding = function( target, event, handler, useCapture ){ // eslint-disable-line no-unused-vars
var args = Array.prototype.slice.apply( arguments, [1] ); // copy
var b = this.binder( target );

if( Array.isArray(target) ){
let res = [];
for( var i = 0; i < target.length; i++ ){
let t = target[i];
if( t !== undefined ){
var b = this.binder( t );
res.push( b.on.apply( b, args ) );
}
}
return res;
}

var b = this.binder( target );
return b.on.apply( b, args );
};

Expand Down Expand Up @@ -90,6 +102,14 @@ BRp.load = function(){
var containerWindow = r.cy.window();
var isSelected = ele => ele.selected();

var getShadowRoot = function( element ){
const rootNode = element.getRootNode();
// Check if the root node is a shadow root
if ( rootNode && rootNode.nodeType === 11 && rootNode.host !== undefined ) {
return rootNode;
}
}

var triggerEvents = function( target, names, e, position ){
if( target == null ){
target = r.cy;
Expand Down Expand Up @@ -560,7 +580,8 @@ BRp.load = function(){

}, false );

r.registerBinding( containerWindow, 'mousemove', function mousemoveHandler( e ){ // eslint-disable-line no-undef
var shadowRoot = getShadowRoot( r.container );
r.registerBinding( [ containerWindow, shadowRoot ], 'mousemove', function mousemoveHandler( e ){ // eslint-disable-line no-undef
var capture = r.hoverData.capture;

if( !capture && !eventInContainer(e) ){ return; }
Expand Down

0 comments on commit b6b959c

Please sign in to comment.