mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-09-16 22:09:57 +02:00
remove magic nos in renderer
This commit is contained in:
49
dist/www/javascripts/lib/mermaid.js
vendored
49
dist/www/javascripts/lib/mermaid.js
vendored
@@ -53632,6 +53632,14 @@ var Logger = require('../../logger');
|
|||||||
|
|
||||||
var log = new Logger.Log();
|
var log = new Logger.Log();
|
||||||
var allCommitsDict = {};
|
var allCommitsDict = {};
|
||||||
|
var branchNum;
|
||||||
|
var config = {
|
||||||
|
nodeWidth: 75,
|
||||||
|
lineStrokeWidth: 4,
|
||||||
|
branchLineHeight: 50,
|
||||||
|
lineColor: "grey",
|
||||||
|
leftMargin: 50
|
||||||
|
};
|
||||||
exports.setConf = function (config) {};
|
exports.setConf = function (config) {};
|
||||||
|
|
||||||
function svgCreateDefs(svg) {
|
function svgCreateDefs(svg) {
|
||||||
@@ -53655,7 +53663,7 @@ function svgDrawLine(svg, points, interpolate) {
|
|||||||
return Math.round(d.y);
|
return Math.round(d.y);
|
||||||
}).interpolate(interpolate);
|
}).interpolate(interpolate);
|
||||||
|
|
||||||
svg.append("svg:path").attr("d", lineGen(points)).style("stroke", "grey").style("stroke-width", "4").style("fill", "none");
|
svg.append("svg:path").attr("d", lineGen(points)).style("stroke", config.lineColor).style("stroke-width", config.lineStrokeWidth).style("fill", "none");
|
||||||
}
|
}
|
||||||
// Pass in the element and its pre-transform coords
|
// Pass in the element and its pre-transform coords
|
||||||
function getElementCoords(element, coords) {
|
function getElementCoords(element, coords) {
|
||||||
@@ -53677,20 +53685,20 @@ function svgDrawLineForCommits(svg, fromId, toId) {
|
|||||||
var fromBbox = getElementCoords(svg.select("#node-" + fromId + " circle"));
|
var fromBbox = getElementCoords(svg.select("#node-" + fromId + " circle"));
|
||||||
var toBbox = getElementCoords(svg.select("#node-" + toId + " circle"));
|
var toBbox = getElementCoords(svg.select("#node-" + toId + " circle"));
|
||||||
//log.debug("svgDrawLineForCommits: ", fromBbox, toBbox);
|
//log.debug("svgDrawLineForCommits: ", fromBbox, toBbox);
|
||||||
if (fromBbox.left - toBbox.left > 100) {
|
if (fromBbox.left - toBbox.left > config.nodeWidth) {
|
||||||
var lineStart = { x: fromBbox.left - 100, y: toBbox.top + toBbox.height / 2 };
|
var lineStart = { x: fromBbox.left - config.nodeWidth, y: toBbox.top + toBbox.height / 2 };
|
||||||
var lineEnd = { x: toBbox.left + toBbox.width, y: toBbox.top + toBbox.height / 2 };
|
var lineEnd = { x: toBbox.left + toBbox.width, y: toBbox.top + toBbox.height / 2 };
|
||||||
svgDrawLine(svg, [lineStart, lineEnd], "linear");
|
svgDrawLine(svg, [lineStart, lineEnd], "linear");
|
||||||
svgDrawLine(svg, [{ x: fromBbox.left, y: fromBbox.top + fromBbox.height / 2 }, { x: fromBbox.left - 50, y: fromBbox.top + fromBbox.height / 2 }, { x: fromBbox.left - 50, y: lineStart.y }, lineStart]);
|
svgDrawLine(svg, [{ x: fromBbox.left, y: fromBbox.top + fromBbox.height / 2 }, { x: fromBbox.left - config.nodeWidth / 2, y: fromBbox.top + fromBbox.height / 2 }, { x: fromBbox.left - config.nodeWidth / 2, y: lineStart.y }, lineStart]);
|
||||||
} else {
|
} else {
|
||||||
svgDrawLine(svg, [{
|
svgDrawLine(svg, [{
|
||||||
"x": fromBbox.left,
|
"x": fromBbox.left,
|
||||||
"y": fromBbox.top + fromBbox.height / 2
|
"y": fromBbox.top + fromBbox.height / 2
|
||||||
}, {
|
}, {
|
||||||
"x": fromBbox.left - 50,
|
"x": fromBbox.left - config.nodeWidth / 2,
|
||||||
"y": fromBbox.top + fromBbox.height / 2
|
"y": fromBbox.top + fromBbox.height / 2
|
||||||
}, {
|
}, {
|
||||||
"x": fromBbox.left - 50,
|
"x": fromBbox.left - config.nodeWidth / 2,
|
||||||
"y": toBbox.top + toBbox.height / 2
|
"y": toBbox.top + toBbox.height / 2
|
||||||
}, {
|
}, {
|
||||||
"x": toBbox.left + toBbox.width,
|
"x": toBbox.left + toBbox.width,
|
||||||
@@ -53703,25 +53711,22 @@ function cloneNode(svg, selector) {
|
|||||||
return svg.select(selector).node().cloneNode(true);
|
return svg.select(selector).node().cloneNode(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderCommitHistory(svg, commitid, branches, direction, branchNum) {
|
function renderCommitHistory(svg, commitid, branches, direction) {
|
||||||
var commit;
|
var commit;
|
||||||
branchNum = branchNum || 1;
|
|
||||||
if (_.isString(commitid)) {
|
if (_.isString(commitid)) {
|
||||||
do {
|
do {
|
||||||
commit = allCommitsDict[commitid];
|
commit = allCommitsDict[commitid];
|
||||||
log.debug("in renderCommitHistory", commit.id, commit.seq);
|
log.debug("in renderCommitHistory", commit.id, commit.seq);
|
||||||
if (svg.select("#node-" + commitid).size() > 0) return;
|
if (svg.select("#node-" + commitid).size() > 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
svg.append(function () {
|
svg.append(function () {
|
||||||
return cloneNode(svg, "#def-commit");
|
return cloneNode(svg, "#def-commit");
|
||||||
}).attr("class", "commit").attr("id", function () {
|
}).attr("class", "commit").attr("id", function () {
|
||||||
return "node-" + commit.id;
|
return "node-" + commit.id;
|
||||||
})
|
}).attr("transform", function () {
|
||||||
//.append("use")
|
return "translate(" + (commit.seq * config.nodeWidth + config.leftMargin) + ", " + branchNum * config.branchLineHeight + ")";
|
||||||
.attr("transform", function () {
|
}).attr("fill", "yellow").attr("stroke", "grey").attr("stroke-width", "2");
|
||||||
return "translate(" + (commit.seq * 100 + 50) + ", " + branchNum * 50 + ")";
|
|
||||||
})
|
|
||||||
//.attr("xlink:href", "#def-commit")
|
|
||||||
.attr("fill", "yellow").attr("stroke", "grey").attr("stroke-width", "2");
|
|
||||||
|
|
||||||
commitid = commit.parent;
|
commitid = commit.parent;
|
||||||
} while (commitid && allCommitsDict[commitid]);
|
} while (commitid && allCommitsDict[commitid]);
|
||||||
@@ -53729,8 +53734,9 @@ function renderCommitHistory(svg, commitid, branches, direction, branchNum) {
|
|||||||
|
|
||||||
if (_.isArray(commitid)) {
|
if (_.isArray(commitid)) {
|
||||||
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);
|
||||||
renderCommitHistory(svg, commitid[1], branches, direction, ++branchNum);
|
branchNum++;
|
||||||
|
renderCommitHistory(svg, commitid[1], branches, direction);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -53761,17 +53767,16 @@ exports.draw = function (txt, id, ver) {
|
|||||||
allCommitsDict = db.getCommits();
|
allCommitsDict = db.getCommits();
|
||||||
var branches = db.getBranchesAsObjArray();
|
var branches = db.getBranchesAsObjArray();
|
||||||
var svg = d3.select('#' + id);
|
var svg = d3.select('#' + id);
|
||||||
svgAddArrowMarker(svg);
|
|
||||||
svgCreateDefs(svg);
|
svgCreateDefs(svg);
|
||||||
var branchNum = 1;
|
branchNum = 1;
|
||||||
_.each(branches, function (v, k) {
|
_.each(branches, function (v, k) {
|
||||||
renderCommitHistory(svg, v.commit.id, branches, direction, branchNum);
|
renderCommitHistory(svg, v.commit.id, branches, direction);
|
||||||
renderLines(svg, v.commit);
|
renderLines(svg, v.commit);
|
||||||
branchNum++;
|
branchNum++;
|
||||||
});
|
});
|
||||||
|
|
||||||
svg.attr('height', 900);
|
svg.attr('height', 900);
|
||||||
svg.attr('width', 1200);
|
svg.attr('width', 2500);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
log.error("Error while rendering gitgraph");
|
log.error("Error while rendering gitgraph");
|
||||||
log.error(e.message);
|
log.error(e.message);
|
||||||
|
@@ -6,10 +6,19 @@ var Logger = require('../../logger');
|
|||||||
|
|
||||||
var log = new Logger.Log();
|
var log = new Logger.Log();
|
||||||
var allCommitsDict = {};
|
var allCommitsDict = {};
|
||||||
|
var branchNum;
|
||||||
|
var config = {
|
||||||
|
nodeWidth: 75,
|
||||||
|
lineStrokeWidth: 4,
|
||||||
|
branchLineHeight: 50,
|
||||||
|
lineColor: "grey",
|
||||||
|
leftMargin: 50
|
||||||
|
}
|
||||||
exports.setConf = function(config) {
|
exports.setConf = function(config) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function svgCreateDefs(svg) {
|
function svgCreateDefs(svg) {
|
||||||
svg.append("defs")
|
svg.append("defs")
|
||||||
.append("g")
|
.append("g")
|
||||||
@@ -52,8 +61,8 @@ function svgDrawLine(svg, points, interpolate) {
|
|||||||
svg
|
svg
|
||||||
.append("svg:path")
|
.append("svg:path")
|
||||||
.attr("d", lineGen(points))
|
.attr("d", lineGen(points))
|
||||||
.style("stroke", "grey")
|
.style("stroke", config.lineColor)
|
||||||
.style("stroke-width", "4")
|
.style("stroke-width", config.lineStrokeWidth)
|
||||||
.style("fill", "none");
|
.style("fill", "none");
|
||||||
}
|
}
|
||||||
// Pass in the element and its pre-transform coords
|
// Pass in the element and its pre-transform coords
|
||||||
@@ -76,24 +85,24 @@ function svgDrawLineForCommits(svg, fromId, toId) {
|
|||||||
var fromBbox = getElementCoords(svg.select("#node-" + fromId + " circle"));
|
var fromBbox = getElementCoords(svg.select("#node-" + fromId + " circle"));
|
||||||
var toBbox = getElementCoords(svg.select("#node-" + toId + " circle"));
|
var toBbox = getElementCoords(svg.select("#node-" + toId + " circle"));
|
||||||
//log.debug("svgDrawLineForCommits: ", fromBbox, toBbox);
|
//log.debug("svgDrawLineForCommits: ", fromBbox, toBbox);
|
||||||
if (fromBbox.left - toBbox.left > 100) {
|
if (fromBbox.left - toBbox.left > config.nodeWidth) {
|
||||||
var lineStart = { x: fromBbox.left - 100, y: toBbox.top + toBbox.height/2};
|
var lineStart = { x: fromBbox.left - config.nodeWidth, y: toBbox.top + toBbox.height/2};
|
||||||
var lineEnd ={ x: toBbox.left + toBbox.width, y: toBbox.top + toBbox.height/2 };
|
var lineEnd ={ x: toBbox.left + toBbox.width, y: toBbox.top + toBbox.height/2 };
|
||||||
svgDrawLine(svg, [lineStart , lineEnd], "linear")
|
svgDrawLine(svg, [lineStart , lineEnd], "linear")
|
||||||
svgDrawLine(svg, [
|
svgDrawLine(svg, [
|
||||||
{x: fromBbox.left, y: fromBbox.top + fromBbox.height/2},
|
{x: fromBbox.left, y: fromBbox.top + fromBbox.height/2},
|
||||||
{x: fromBbox.left - 50, y: fromBbox.top + fromBbox.height/2},
|
{x: fromBbox.left - config.nodeWidth/2, y: fromBbox.top + fromBbox.height/2},
|
||||||
{x: fromBbox.left - 50, y: lineStart.y},
|
{x: fromBbox.left - config.nodeWidth/2, y: lineStart.y},
|
||||||
lineStart]);
|
lineStart]);
|
||||||
} else {
|
} else {
|
||||||
svgDrawLine(svg, [{
|
svgDrawLine(svg, [{
|
||||||
"x": fromBbox.left,
|
"x": fromBbox.left,
|
||||||
"y": fromBbox.top + fromBbox.height / 2
|
"y": fromBbox.top + fromBbox.height / 2
|
||||||
}, {
|
}, {
|
||||||
"x": fromBbox.left - 50,
|
"x": fromBbox.left - config.nodeWidth/2,
|
||||||
"y": fromBbox.top + fromBbox.height / 2
|
"y": fromBbox.top + fromBbox.height / 2
|
||||||
}, {
|
}, {
|
||||||
"x": fromBbox.left - 50,
|
"x": fromBbox.left - config.nodeWidth/2,
|
||||||
"y": toBbox.top + toBbox.height / 2
|
"y": toBbox.top + toBbox.height / 2
|
||||||
}, {
|
}, {
|
||||||
"x": toBbox.left + toBbox.width,
|
"x": toBbox.left + toBbox.width,
|
||||||
@@ -106,14 +115,15 @@ function cloneNode(svg, selector) {
|
|||||||
return svg.select(selector).node().cloneNode(true);
|
return svg.select(selector).node().cloneNode(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderCommitHistory(svg, commitid, branches, direction, branchNum) {
|
function renderCommitHistory(svg, commitid, branches, direction) {
|
||||||
var commit;
|
var commit;
|
||||||
branchNum = branchNum || 1;
|
|
||||||
if (_.isString(commitid)) {
|
if (_.isString(commitid)) {
|
||||||
do {
|
do {
|
||||||
commit = allCommitsDict[commitid];
|
commit = allCommitsDict[commitid];
|
||||||
log.debug("in renderCommitHistory", commit.id, commit.seq);
|
log.debug("in renderCommitHistory", commit.id, commit.seq);
|
||||||
if (svg.select("#node-" + commitid).size() > 0) return;
|
if (svg.select("#node-" + commitid).size() > 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
svg
|
svg
|
||||||
.append(function() {
|
.append(function() {
|
||||||
return cloneNode(svg, "#def-commit");
|
return cloneNode(svg, "#def-commit");
|
||||||
@@ -122,11 +132,10 @@ function renderCommitHistory(svg, commitid, branches, direction, branchNum) {
|
|||||||
.attr("id", function() {
|
.attr("id", function() {
|
||||||
return "node-" + commit.id;
|
return "node-" + commit.id;
|
||||||
})
|
})
|
||||||
//.append("use")
|
|
||||||
.attr("transform", function() {
|
.attr("transform", function() {
|
||||||
return "translate(" + (commit.seq * 100 + 50) + ", " + (branchNum * 50) + ")";
|
return "translate(" + (commit.seq * config.nodeWidth + config.leftMargin) + ", "
|
||||||
|
+ (branchNum * config.branchLineHeight) + ")";
|
||||||
})
|
})
|
||||||
//.attr("xlink:href", "#def-commit")
|
|
||||||
.attr("fill", "yellow")
|
.attr("fill", "yellow")
|
||||||
.attr("stroke", "grey")
|
.attr("stroke", "grey")
|
||||||
.attr("stroke-width", "2");
|
.attr("stroke-width", "2");
|
||||||
@@ -137,8 +146,9 @@ function renderCommitHistory(svg, commitid, branches, direction, branchNum) {
|
|||||||
|
|
||||||
if (_.isArray(commitid)) {
|
if (_.isArray(commitid)) {
|
||||||
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);
|
||||||
renderCommitHistory(svg, commitid[1], branches, direction, ++branchNum);
|
branchNum++;
|
||||||
|
renderCommitHistory(svg, commitid[1], branches, direction);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -170,15 +180,15 @@ exports.draw = function(txt, id, ver) {
|
|||||||
var branches = db.getBranchesAsObjArray();
|
var branches = db.getBranchesAsObjArray();
|
||||||
var svg = d3.select('#' + id);
|
var svg = d3.select('#' + id);
|
||||||
svgCreateDefs(svg);
|
svgCreateDefs(svg);
|
||||||
var branchNum = 1;
|
branchNum = 1;
|
||||||
_.each(branches, function(v, k) {
|
_.each(branches, function(v, k) {
|
||||||
renderCommitHistory(svg, v.commit.id, branches, direction, branchNum);
|
renderCommitHistory(svg, v.commit.id, branches, direction);
|
||||||
renderLines(svg, v.commit);
|
renderLines(svg, v.commit);
|
||||||
branchNum++;
|
branchNum++;
|
||||||
})
|
})
|
||||||
|
|
||||||
svg.attr('height', 900);
|
svg.attr('height', 900);
|
||||||
svg.attr('width', 1200);
|
svg.attr('width', 2500);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
log.error("Error while rendering gitgraph");
|
log.error("Error while rendering gitgraph");
|
||||||
log.error(e.message);
|
log.error(e.message);
|
||||||
|
@@ -14,5 +14,13 @@ gitGraph :
|
|||||||
commit
|
commit
|
||||||
merge newbranch
|
merge newbranch
|
||||||
commit
|
commit
|
||||||
checkout newbranch
|
merge other
|
||||||
|
commit
|
||||||
|
branch bug
|
||||||
|
checkout bug
|
||||||
|
commit
|
||||||
|
commit
|
||||||
|
checkout master
|
||||||
|
commit
|
||||||
|
checkout bug
|
||||||
merge master
|
merge master
|
||||||
|
Reference in New Issue
Block a user