@@ -334,18 +334,33 @@ limit <input id="limit"> url <input style="width:500px" id="url" value=""><br>
334334
335335 }
336336
337+ function onPanningDown (evt ) {
338+ lastMove = lively .getPosition (evt)
339+ lively .addEventListener (" changegraph" , document .body .parentElement , " pointermove" , evt => onPanningMove (evt))
340+ lively .addEventListener (" changegraph" , document .body .parentElement , " pointerup" , evt => {
341+ lively .removeEventListener (" changegraph" , document .body .parentElement )
342+ })
343+ evt .stopPropagation ()
344+ evt .preventDefault ()
345+ }
346+
347+ // always drag with ctrl pressed
337348 pane .addEventListener (" pointerdown" , evt => {
338349 if (evt .ctrlKey ) {
339- lastMove = lively .getPosition (evt)
340- lively .addEventListener (" changegraph" , document .body .parentElement , " pointermove" , evt => onPanningMove (evt))
341- lively .addEventListener (" changegraph" , document .body .parentElement , " pointerup" , evt => {
342- lively .removeEventListener (" changegraph" , document .body .parentElement )
343- })
344- evt .stopPropagation ()
345- evt .preventDefault ()
350+ onPanningDown (evt)
346351 }
347352 }, true )
348353
354+ // but if nothing else... normal drag will do
355+ pane .addEventListener (" pointerdown" , evt => {
356+ var element = _ .first (evt .composedPath ())
357+ lively .notify (" element " + element .localName )
358+ if (element .localName == " polygon" ) {
359+ onPanningDown (evt)
360+ }
361+ })
362+
363+
349364 return pane
350365 }
351366 }
0 commit comments