2020-05-19 11:43:42 +03:00

38 lines
1.2 KiB
JavaScript

(function() {
'use strict';
function fcConnector(flowchartConstants) {
return {
restrict: 'A',
link: function(scope, element) {
if (scope.modelservice.isEditable()) {
element.attr('draggable', 'true');
element.on('dragover', scope.fcCallbacks.edgeDragoverConnector);
element.on('drop', scope.fcCallbacks.edgeDrop(scope.connector));
element.on('dragend', scope.fcCallbacks.edgeDragend);
element.on('dragstart', scope.fcCallbacks.edgeDragstart(scope.connector));
element.on('mouseenter', scope.fcCallbacks.connectorMouseEnter(scope.connector));
element.on('mouseleave', scope.fcCallbacks.connectorMouseLeave(scope.connector));
scope.$watch('mouseOverConnector', function(value) {
if (value === scope.connector) {
element.addClass(flowchartConstants.hoverClass);
} else {
element.removeClass(flowchartConstants.hoverClass);
}
});
}
element.addClass(flowchartConstants.connectorClass);
scope.modelservice.connectors.setHtmlElement(scope.connector.id, element[0]);
}
};
}
angular
.module('flowchart')
.directive('fcConnector', fcConnector);
}());