mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-01-28 07:03:17 +08:00
draw bezier curves - still butt ugly
This commit is contained in:
parent
9cb9407e1c
commit
c6494f92fa
32
dist/www/javascripts/lib/mermaid.js
vendored
32
dist/www/javascripts/lib/mermaid.js
vendored
@ -53608,7 +53608,7 @@ function svgDrawLine(svg, points) {
|
|||||||
return d.x;
|
return d.x;
|
||||||
}).y(function (d) {
|
}).y(function (d) {
|
||||||
return d.y;
|
return d.y;
|
||||||
}).interpolate("linear");
|
}).interpolate("basis");
|
||||||
|
|
||||||
svg.append("svg:path").attr("d", lineGen(points)).style("stroke", "grey").style("stroke-width", "2").style("fill", "none");
|
svg.append("svg:path").attr("d", lineGen(points)).style("stroke", "grey").style("stroke-width", "2").style("fill", "none");
|
||||||
}
|
}
|
||||||
@ -53618,7 +53618,7 @@ function svgDrawLineForCommits(svg, fromId, toId) {
|
|||||||
var fromBbox = svg.select("#node-" + fromId).node().getBBox();
|
var fromBbox = svg.select("#node-" + fromId).node().getBBox();
|
||||||
var toBbox = svg.select("#node-" + toId).node().getBBox();
|
var toBbox = svg.select("#node-" + toId).node().getBBox();
|
||||||
log.debug("svgDrawLineForCommits: ", fromBbox, toBbox);
|
log.debug("svgDrawLineForCommits: ", fromBbox, toBbox);
|
||||||
svgDrawLine(svg, [{ "x": fromBbox.x, "y": fromBbox.y + fromBbox.height / 2 }, { "x": toBbox.x + toBbox.width, "y": toBbox.y + toBbox.height / 2 }]);
|
svgDrawLine(svg, [{ "x": fromBbox.x, "y": fromBbox.y + fromBbox.height / 2 }, { "x": toBbox.x + (fromBbox.x - toBbox.x) / 2, "y": fromBbox.y + fromBbox.height / 2 }, { "x": toBbox.x + (fromBbox.x - toBbox.x) / 2, "y": toBbox.y + toBbox.height / 2 }, { "x": toBbox.x + toBbox.width, "y": toBbox.y + toBbox.height / 2 }]);
|
||||||
}
|
}
|
||||||
function renderCommitHistory(svg, commitid, branches, direction, branchNum) {
|
function renderCommitHistory(svg, commitid, branches, direction, branchNum) {
|
||||||
var commit;
|
var commit;
|
||||||
@ -53640,19 +53640,25 @@ function renderCommitHistory(svg, commitid, branches, direction, branchNum) {
|
|||||||
log.debug("parentid: ", parent.id);
|
log.debug("parentid: ", parent.id);
|
||||||
var parentNode = svg.select("#node-" + parent.id);
|
var parentNode = svg.select("#node-" + parent.id);
|
||||||
log.debug("parent:", parentNode.size());
|
log.debug("parent:", parentNode.size());
|
||||||
//var parentNode = document.getElementById("node-"+parent.id);
|
|
||||||
//if (parentNode) {
|
|
||||||
//log.debug("parent ", parentNode);
|
|
||||||
//log.debug("parent BBox", parentNode.);
|
|
||||||
//}
|
|
||||||
var pathInfo = [{ x: commit.seq * 100 + 35, y: branchNum * 50 }, { x: parent.seq * 100 + 65, y: branchNum * 50 }];
|
var pathInfo = [{ x: commit.seq * 100 + 35, y: branchNum * 50 }, { x: parent.seq * 100 + 65, y: branchNum * 50 }];
|
||||||
if (parentNode.node()) {
|
if (parentNode.node()) {
|
||||||
//var rect = parentNode.node().getBoundingClientRect()
|
|
||||||
//log.debug("parent BCR", rect);
|
|
||||||
var rect = parentNode.node().getBBox();
|
var rect = parentNode.node().getBBox();
|
||||||
log.debug("parent BBox", rect);
|
//log.debug("parent BBox", rect);
|
||||||
pathInfo[1].x = rect.x + rect.width;
|
var endX = rect.x + rect.width;
|
||||||
pathInfo[1].y = rect.y + rect.height / 2;
|
var endY = rect.y + rect.height / 2;
|
||||||
|
pathInfo[1] = {
|
||||||
|
x: endX + (pathInfo[0].x - endX) / 2,
|
||||||
|
y: pathInfo[0].y
|
||||||
|
};
|
||||||
|
pathInfo.push({
|
||||||
|
x: endX + (pathInfo[0].x - endX) / 2,
|
||||||
|
y: endY
|
||||||
|
});
|
||||||
|
pathInfo.push({
|
||||||
|
x: endX,
|
||||||
|
y: endY
|
||||||
|
});
|
||||||
|
log.debug("pathinfo:", pathInfo);
|
||||||
}
|
}
|
||||||
svgDrawLine(svg, pathInfo);
|
svgDrawLine(svg, pathInfo);
|
||||||
}
|
}
|
||||||
@ -53664,7 +53670,7 @@ function renderCommitHistory(svg, commitid, branches, direction, branchNum) {
|
|||||||
log.debug("found merge commmit", commitid);
|
log.debug("found merge commmit", commitid);
|
||||||
renderCommitHistory(svg, commitid[0], branches, direction, branchNum);
|
renderCommitHistory(svg, commitid[0], branches, direction, branchNum);
|
||||||
renderCommitHistory(svg, commitid[1], branches, direction, ++branchNum);
|
renderCommitHistory(svg, commitid[1], branches, direction, ++branchNum);
|
||||||
//confusing... commit should still refer to original commit.
|
//confusing but works... commit should still refer to original commit.
|
||||||
// commitid has been modified as commitid = commit.parent;
|
// commitid has been modified as commitid = commit.parent;
|
||||||
svgDrawLineForCommits(svg, commit.id, commitid[1]);
|
svgDrawLineForCommits(svg, commit.id, commitid[1]);
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@ function svgDrawLine(svg, points) {
|
|||||||
var lineGen = d3.svg.line()
|
var lineGen = d3.svg.line()
|
||||||
.x(function(d) { return d.x })
|
.x(function(d) { return d.x })
|
||||||
.y(function(d) {return d.y})
|
.y(function(d) {return d.y})
|
||||||
.interpolate("linear");
|
.interpolate("basis");
|
||||||
|
|
||||||
svg
|
svg
|
||||||
.append("svg:path")
|
.append("svg:path")
|
||||||
@ -65,6 +65,8 @@ function svgDrawLineForCommits(svg, fromId, toId) {
|
|||||||
log.debug("svgDrawLineForCommits: ", fromBbox, toBbox);
|
log.debug("svgDrawLineForCommits: ", fromBbox, toBbox);
|
||||||
svgDrawLine(svg, [
|
svgDrawLine(svg, [
|
||||||
{"x": fromBbox.x, "y": fromBbox.y + fromBbox.height/2 },
|
{"x": fromBbox.x, "y": fromBbox.y + fromBbox.height/2 },
|
||||||
|
{"x": toBbox.x + (fromBbox.x - toBbox.x)/2, "y": fromBbox.y + fromBbox.height/2 },
|
||||||
|
{"x": toBbox.x + (fromBbox.x - toBbox.x)/2, "y": toBbox.y + toBbox.height/2 },
|
||||||
{"x": toBbox.x + toBbox.width, "y": toBbox.y + toBbox.height/2 }
|
{"x": toBbox.x + toBbox.width, "y": toBbox.y + toBbox.height/2 }
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@ -95,22 +97,28 @@ function renderCommitHistory(svg, commitid, branches, direction, branchNum) {
|
|||||||
log.debug("parentid: ", parent.id);
|
log.debug("parentid: ", parent.id);
|
||||||
var parentNode = svg.select("#node-" + parent.id);
|
var parentNode = svg.select("#node-" + parent.id);
|
||||||
log.debug("parent:", parentNode.size());
|
log.debug("parent:", parentNode.size());
|
||||||
//var parentNode = document.getElementById("node-"+parent.id);
|
|
||||||
//if (parentNode) {
|
|
||||||
//log.debug("parent ", parentNode);
|
|
||||||
//log.debug("parent BBox", parentNode.);
|
|
||||||
//}
|
|
||||||
var pathInfo = [
|
var pathInfo = [
|
||||||
{x: commit.seq *100 + 35, y: branchNum* 50},
|
{x: commit.seq *100 + 35, y: branchNum* 50},
|
||||||
{x: parent.seq *100 + 65, y: branchNum* 50}
|
{x: parent.seq *100 + 65, y: branchNum* 50}
|
||||||
];
|
];
|
||||||
if (parentNode.node()) {
|
if (parentNode.node()) {
|
||||||
//var rect = parentNode.node().getBoundingClientRect()
|
|
||||||
//log.debug("parent BCR", rect);
|
|
||||||
var rect = parentNode.node().getBBox();
|
var rect = parentNode.node().getBBox();
|
||||||
log.debug("parent BBox", rect);
|
//log.debug("parent BBox", rect);
|
||||||
pathInfo[1].x = rect.x + rect.width;
|
var endX = rect.x + rect.width;
|
||||||
pathInfo[1].y = rect.y + rect.height/2;
|
var endY = rect.y + rect.height/2;
|
||||||
|
pathInfo[1] = {
|
||||||
|
x: endX + (pathInfo[0].x - endX)/2,
|
||||||
|
y: pathInfo[0].y
|
||||||
|
};
|
||||||
|
pathInfo.push({
|
||||||
|
x : endX + (pathInfo[0].x - endX)/2,
|
||||||
|
y : endY
|
||||||
|
});
|
||||||
|
pathInfo.push({
|
||||||
|
x : endX,
|
||||||
|
y : endY
|
||||||
|
});
|
||||||
|
log.debug("pathinfo:", pathInfo);
|
||||||
}
|
}
|
||||||
svgDrawLine(svg, pathInfo);
|
svgDrawLine(svg, pathInfo);
|
||||||
}
|
}
|
||||||
@ -122,7 +130,7 @@ function renderCommitHistory(svg, commitid, branches, direction, branchNum) {
|
|||||||
log.debug("found merge commmit", commitid);
|
log.debug("found merge commmit", commitid);
|
||||||
renderCommitHistory(svg, commitid[0], branches, direction, branchNum);
|
renderCommitHistory(svg, commitid[0], branches, direction, branchNum);
|
||||||
renderCommitHistory(svg, commitid[1], branches, direction, ++branchNum);
|
renderCommitHistory(svg, commitid[1], branches, direction, ++branchNum);
|
||||||
//confusing... commit should still refer to original commit.
|
//confusing but works... commit should still refer to original commit.
|
||||||
// commitid has been modified as commitid = commit.parent;
|
// commitid has been modified as commitid = commit.parent;
|
||||||
svgDrawLineForCommits(svg, commit.id, commitid[1]);
|
svgDrawLineForCommits(svg, commit.id, commitid[1]);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user