@ant-design/pro-flow
Version:
A React based Flow components
35 lines • 1.32 kB
JavaScript
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
export var EDGE_ID_CONNECT_SYMBOL = '$$';
export var EDGE_HANDLE_CONNECT_SYMBOL = '@@';
var genNodeId = function genNodeId(id, suffix) {
return id + EDGE_HANDLE_CONNECT_SYMBOL + (suffix || '');
};
export var generateEdgeId = function generateEdgeId(source, target, sourceHandle, targetHandle) {
return genNodeId(source, sourceHandle) + EDGE_ID_CONNECT_SYMBOL + genNodeId(target, targetHandle);
};
export var getConnectionFromEdgeId = function getConnectionFromEdgeId(id) {
var _id$split = id.split(EDGE_ID_CONNECT_SYMBOL),
_id$split2 = _slicedToArray(_id$split, 2),
source = _id$split2[0],
target = _id$split2[1];
if (!source || !target) return {
source: '',
target: '',
sourceHandle: '',
targetHandle: ''
};
var _source$split = source.split(EDGE_HANDLE_CONNECT_SYMBOL),
_source$split2 = _slicedToArray(_source$split, 2),
sourceId = _source$split2[0],
sourceHandle = _source$split2[1];
var _target$split = target.split(EDGE_HANDLE_CONNECT_SYMBOL),
_target$split2 = _slicedToArray(_target$split, 2),
targetId = _target$split2[0],
targetHandle = _target$split2[1];
return {
source: sourceId,
target: targetId,
sourceHandle: sourceHandle,
targetHandle: targetHandle
};
};