index.js
/**
     * Handle mouse up event after mouse button is released in initially clicked circle or outside any circle
     */
Handle mouse up event after mouse button is released in initially clicked circle or outside any circle
Handle mouse up event after mouse button is released in initially clicked circle or outside any circle
function handleUp(){
        resetFrom();
        line.clear();
        circleContainer.off('mousemove', handleMove);
        circleContainer.off('mouseup', handleUp);
        for (let i = 0;  i < circles.length; i++) {
          circles[i].off('mouseup', handleCircleUp);
          circles[i].off('mouseover', handleCircleOver);
          circles[i].off('mouseout', handleCircleOut);
        }
        render();
    }
function handleUp ( ) { resetFrom ( ) ; line . clear ( ) ; circleContainer . off ( 'mousemove' , handleMove ) ; circleContainer . off ( 'mouseup' , handleUp ) ; for ( let i = 0 ; i < circles . length ; i ++ ) { circles [ i ] . off ( 'mouseup' , handleCircleUp ) ; circles [ i ] . off ( 'mouseover' , handleCircleOver ) ; circles [ i ] . off ( 'mouseout' , handleCircleOut ) ; } render ( ) ; }
Handle mouse up event after mouse button is released in initially clicked circle or outside any circle
Handle mouse up event after mouse button is released in initially clicked circle or outside any circle
// Function render() is not neccesary, because circle scaling will do renderation // Hide user line