@@ -204,6 +204,15 @@ class MagnifyTool extends BaseTool {
204204 triggerAnnotationRenderForViewportIds ( viewportIdsToRender ) ;
205205 } ;
206206
207+ _cancelCallback = ( evt : EventTypes . InteractionEventType ) => {
208+ // Empêche l'affichage du menu contextuel par défaut du navigateur
209+ evt . preventDefault ( ) ;
210+ evt . stopPropagation ( ) ;
211+
212+ // Appelle la fonction qui désactive et nettoie l'outil
213+ this . _dragEndCallback ( evt ) ;
214+ } ;
215+
207216 _dragCallback = ( evt : EventTypes . InteractionEventType ) => {
208217 const eventDetail = evt . detail ;
209218
@@ -253,7 +262,15 @@ class MagnifyTool extends BaseTool {
253262 } ;
254263
255264 _dragEndCallback = ( evt : EventTypes . InteractionEventType ) => {
256- const { element } = evt . detail ;
265+ let { element } = evt . detail ;
266+
267+ if ( element === undefined ) {
268+ const { enabledElement } = this . editData ;
269+
270+ const { viewport } = enabledElement ;
271+ element = viewport . element ;
272+ }
273+
257274 const enabledElement = getEnabledElement ( element ) ;
258275 const { renderingEngine } = enabledElement ;
259276
@@ -289,6 +306,11 @@ class MagnifyTool extends BaseTool {
289306 this . _dragEndCallback as EventListener
290307 ) ;
291308
309+ element . addEventListener (
310+ 'contextmenu' ,
311+ this . _cancelCallback as EventListener
312+ ) ;
313+
292314 element . addEventListener (
293315 Events . TOUCH_END ,
294316 this . _dragEndCallback as EventListener
@@ -314,6 +336,11 @@ class MagnifyTool extends BaseTool {
314336 Events . MOUSE_CLICK ,
315337 this . _dragEndCallback as EventListener
316338 ) ;
339+
340+ element . removeEventListener (
341+ 'contextmenu' ,
342+ this . _cancelCallback as EventListener
343+ ) ;
317344 element . removeEventListener (
318345 Events . TOUCH_END ,
319346 this . _dragEndCallback as EventListener
0 commit comments