document.addEventListener('DOMContentLoaded', function () {
    'use strict';

    var sns="http://www.w3.org/2000/svg",
        xns="http://www.w3.org/1999/xlink",
        root = document.getElementById('svg-edit-demo'),
        star = document.getElementById('edit-star'),
        rootMatrix,
        originalPoints = [],
        transformedPoints = [];

    for (var i = 0, len = star.points.numberOfItems; i < len; i++) {
        var handle = document.createElementNS(sns, 'use'),
            point = star.points.getItem(i),
            newPoint = root.createSVGPoint();

        handle.setAttributeNS(xns, 'href', '#point-handle');
        handle.setAttribute('class', 'point-handle');

        handle.x.baseVal.value = newPoint.x = point.x;
        handle.y.baseVal.value = newPoint.y = point.y;

        handle.setAttribute('data-index', i);

        originalPoints.push(newPoint);

        root.appendChild(handle);
    }

    function applyTransforms (event) {
        rootMatrix = root.getScreenCTM();

        transformedPoints = originalPoints.map(function(point) {
            return point.matrixTransform(rootMatrix);
        });

        interact('.point-handle').snap({
            anchors: transformedPoints,
            range: 20 * Math.max(rootMatrix.a, rootMatrix.d)
        });
    }

    interact(root)
        .on('mousedown', applyTransforms)
        .on('touchstart', applyTransforms);

    interact('.point-handle')
        .draggable({
            onstart: function (event) {
                root.setAttribute('class', 'dragging');
            },
            onmove: function (event) {
                var i = event.target.getAttribute('data-index')|0,
                    point = star.points.getItem(i);

                point.x += event.dx / rootMatrix.a;
                point.y += event.dy / rootMatrix.d;

                event.target.x.baseVal.value = point.x;
                event.target.y.baseVal.value = point.y;
            },
            onend: function (event) {
                root.setAttribute('class', '');
            },
        })
        .snap({
            mode: 'anchor',
            anchors: originalPoints,
            range: 10
        })
        .styleCursor(false);
});

@@ -2197,25 +2197,178 @@
    .
-styleCursor(false
+restrict(%7B drag: document.rootElement %7D)%0A        .styleCursor(false);%0A%0A    document.addEventListener('dragstart', function (event) %7B%0A        event.preventDefault();%0A    %7D
 );%0A%7D

add restriction and prevent native drag