var selectedElement, offset, transform;
function startDrag(evt)
{
if (evt.target.classList.contains('draggable') && evt.buttons === 1)
{
selectedElement = evt.target.parentNode;
offset = getMousePosition(evt);
// Get all the transforms currently on this element
var transforms = selectedElement.transform.baseVal;
// Ensure the first transform is a translate transform
if (transforms.length === 0 ||
transforms.getItem(0).type !== SVGTransform.SVG_TRANSFORM_TRANSLATE)
{
// Create an transform that translates by (0, 0)
var translate = svg1.createSVGTransform();
translate.setTranslate(0, 0);
// Add the translation to the front of the transforms list
selectedElement.transform.baseVal.insertItemBefore(translate, 0);
// Сюда добавляем логику перемещения линий
}
// Get initial translation amount
transform = transforms.getItem(0);
offset.x -= transform.matrix.e;
offset.y -= transform.matrix.f;
}
}
function drag(evt)
{
if (selectedElement && evt.buttons === 1)
{
evt.preventDefault();
var coord = getMousePosition(evt);
transform.setTranslate(coord.x - offset.x, coord.y - offset.y);
// Сюда добавляем логику перемещения линий
}
}