HighCharts with AngularJS and draggable chart line

I wanted to merge highcharts with angularjs and draggable line markers. after searching for a while, i came up with this.

by edgarszagorskis

HTML

<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.12/angular.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="https://rawgithub.com/pablojim/highcharts-ng/master/src/highcharts-ng.js"></script>
<script src="https://rawgithub.com/highslide-software/draggable-points/master/draggable-points.js"></script>
<!--
 REF http://jsfiddle.net/highcharts/AyUbx/
 REF http://jsfiddle.net/pablojim/Cp73s/
-->
<div ng-app="myapp">
    <div ng-controller="myctrl">
        <highchart id="container" config="highchartsNG" style="height: 300px"></highchart>
    </div>
</div>

JavaScript

//See External Resources for external resources
var myapp = angular.module('myapp', ["highcharts-ng"]);

myapp.controller('myctrl', function ($scope) {

    $scope.highchartsNG = {
        options: {
            chart: {
                type: 'spline'
            },
                plotOptions: {
        series: {
            cursor: 'ns-resize',
            point: {
                events: {
                    
                    drag: function(e) {
                        // Returning false stops the drag and drops. Example:
                        /*
                        if (e.newY > 300) {
                            this.y = 300;
                            return false;
                        }
                        */
                        $('#drag').html(
                            'Dragging <b>' + this.series.name + '</b>, <b>' +
                            this.category + '</b> to <b>' + 
                            Highcharts.numberFormat(e.newY, 2) + '</b>'
                        );
                    },
                    drop: function() {
                        $('#drop').html(
                            'In <b>' + this.series.name + '</b>, <b>' +
                            this.category + '</b> was set to <b>' + 
                            Highcharts.numberFormat(this.y, 2) + '</b>'
                        );
                    }
                }
            },
            stickyTracking: true
        },
        column: {
            stacking: 'normal'
        }
    },
    
    tooltip: {
        yDecimals: 2
    },

        },
        
    xAxis: {
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    },

series: [
    {
        data: [0, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
        draggableY: false,
        dashStyle: 'dash'
    }
,
    {
        data: [0, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
   ...