@eccenca/gui-elements
Version:
GUI elements based on other libraries, usable in React application, written in Typescript.
41 lines • 1.65 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.EdgeNew = void 0;
const react_1 = __importDefault(require("react"));
const react_2 = require("@xyflow/react");
const index_1 = require("./../index");
const constants_1 = require("../../../configuration/constants");
const EdgeNew = (edgeNewProps) => {
const { connectionLineType, fromX, fromY, toX, toY, connectionStatus, fromPosition, toPosition, } = edgeNewProps;
let EdgeType;
switch (connectionLineType) {
case react_2.ConnectionLineType.Step:
case react_2.ConnectionLineType.SmoothStep:
EdgeType = index_1.EdgeStep;
break;
case react_2.ConnectionLineType.Bezier:
case react_2.ConnectionLineType.SimpleBezier:
EdgeType = index_1.EdgeBezier;
break;
default:
EdgeType = index_1.EdgeStraight;
}
return react_1.default.createElement(EdgeType, Object.assign({}, {
sourceX: fromX,
sourceY: fromY,
targetX: toX,
targetY: toY,
sourcePosition: fromPosition,
targetPosition: toPosition,
data: {
strokeType: !connectionStatus ? "dashed" : undefined,
edgeSvgProps: { className: `${constants_1.CLASSPREFIX}-graphviz__edge--dragged` },
intent: connectionStatus === "valid" ? "success" : connectionStatus === "invalid" ? "warning" : "accent"
},
}));
};
exports.EdgeNew = EdgeNew;
//# sourceMappingURL=EdgeNew.js.map