File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -899,8 +899,24 @@ ${propertyOptions}|show-property-type=true
899899 }
900900
901901 function attachContextMenuListener ( ) {
902+ // Attach a listener for the "oncontext" event of the vis.Network instance
902903 self . Network . on ( 'oncontext' , function ( params ) {
903- params . event . preventDefault ( ) ;
904+ // Attempt to get the original DOM event from vis.Network's params
905+ // vis.js sometimes passes either 'event' or 'domEvent', depending on the version or context
906+ const domEvent = params . event || params . domEvent || null ;
907+
908+ // If no DOM event is available, or it doesn't have a preventDefault method, exit early
909+ // This prevents runtime errors when vis.Network calls the handler without a proper event
910+ if ( ! domEvent || typeof domEvent . preventDefault !== 'function' ) {
911+ return ; // No usable context event → nothing to do
912+ }
913+
914+ // Prevent the default context menu from appearing
915+ domEvent . preventDefault ( ) ;
916+
917+ // Stop the event from propagating further up the DOM tree
918+ // Optional chaining used in case stopPropagation is undefined
919+ domEvent . stopPropagation ?. ( ) ;
904920
905921 // pointer coordinates
906922 const pointer = { x : params . pointer . DOM . x , y : params . pointer . DOM . y } ;
You can’t perform that action at this time.
0 commit comments