Dists for new shapes

This commit is contained in:
Björn Weström 2014-11-27 09:01:54 +01:00
parent c7b44679c1
commit 28f6b93c16
5 changed files with 75 additions and 18 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
node_modules/*

40
dist/mermaid.full.js vendored
View File

@ -735,7 +735,10 @@ var addVertices = function (vert, g) {
_shape = 'question'; _shape = 'question';
break; break;
case 'odd': case 'odd':
_shape = 'question'; _shape = 'rect_left_inv_arrow';
break;
case 'circle':
_shape = 'circle';
break; break;
} }
@ -842,12 +845,13 @@ var draw = function (text, id) {
// Add custom shape for rhombus type of boc (decision) // Add custom shape for rhombus type of boc (decision)
render.shapes().question = function (parent, bbox, node) { render.shapes().question = function (parent, bbox, node) {
var w = bbox.width, var w = bbox.width,
h = bbox.height * 3, h = bbox.height,
s = (w + h) * 0.8,
points = [ points = [
{x: w / 2, y: 0}, {x: s / 2, y: 0},
{x: w, y: -h / 2}, {x: s, y: -s / 2},
{x: w / 2, y: -h}, {x: s / 2, y: -s},
{x: 0, y: -h / 2} {x: 0, y: -s / 2}
]; ];
shapeSvg = parent.insert("polygon", ":first-child") shapeSvg = parent.insert("polygon", ":first-child")
.attr("points", points.map(function (d) { .attr("points", points.map(function (d) {
@ -857,6 +861,30 @@ var draw = function (text, id) {
.style("stroke", "#333") .style("stroke", "#333")
.attr("rx", 5) .attr("rx", 5)
.attr("ry", 5) .attr("ry", 5)
.attr("transform", "translate(" + (-s / 2) + "," + (s * 2 / 4) + ")");
node.intersect = function (point) {
return dagreD3.intersect.polygon(node, points, point);
};
return shapeSvg;
};
// Add custom shape for box with inverted arrow on left side
render.shapes().rect_left_inv_arrow = function (parent, bbox, node) {
var w = bbox.width,
h = bbox.height,
points = [
{x: -h/2, y: 0},
{x: w, y: 0},
{x: w, y: -h},
{x: -h/2, y: -h},
{x: 0, y: -h/2},
];
shapeSvg = parent.insert("polygon", ":first-child")
.attr("points", points.map(function (d) {
return d.x + "," + d.y;
}).join(" "))
.style("fill", "#fff")
.style("stroke", "#333")
.attr("transform", "translate(" + (-w / 2) + "," + (h * 2 / 4) + ")"); .attr("transform", "translate(" + (-w / 2) + "," + (h * 2 / 4) + ")");
node.intersect = function (point) { node.intersect = function (point) {
return dagreD3.intersect.polygon(node, points, point); return dagreD3.intersect.polygon(node, points, point);

File diff suppressed because one or more lines are too long

40
dist/mermaid.slim.js vendored
View File

@ -703,7 +703,10 @@ var addVertices = function (vert, g) {
_shape = 'question'; _shape = 'question';
break; break;
case 'odd': case 'odd':
_shape = 'question'; _shape = 'rect_left_inv_arrow';
break;
case 'circle':
_shape = 'circle';
break; break;
} }
@ -810,12 +813,13 @@ var draw = function (text, id) {
// Add custom shape for rhombus type of boc (decision) // Add custom shape for rhombus type of boc (decision)
render.shapes().question = function (parent, bbox, node) { render.shapes().question = function (parent, bbox, node) {
var w = bbox.width, var w = bbox.width,
h = bbox.height * 3, h = bbox.height,
s = (w + h) * 0.8,
points = [ points = [
{x: w / 2, y: 0}, {x: s / 2, y: 0},
{x: w, y: -h / 2}, {x: s, y: -s / 2},
{x: w / 2, y: -h}, {x: s / 2, y: -s},
{x: 0, y: -h / 2} {x: 0, y: -s / 2}
]; ];
shapeSvg = parent.insert("polygon", ":first-child") shapeSvg = parent.insert("polygon", ":first-child")
.attr("points", points.map(function (d) { .attr("points", points.map(function (d) {
@ -825,6 +829,30 @@ var draw = function (text, id) {
.style("stroke", "#333") .style("stroke", "#333")
.attr("rx", 5) .attr("rx", 5)
.attr("ry", 5) .attr("ry", 5)
.attr("transform", "translate(" + (-s / 2) + "," + (s * 2 / 4) + ")");
node.intersect = function (point) {
return dagreD3.intersect.polygon(node, points, point);
};
return shapeSvg;
};
// Add custom shape for box with inverted arrow on left side
render.shapes().rect_left_inv_arrow = function (parent, bbox, node) {
var w = bbox.width,
h = bbox.height,
points = [
{x: -h/2, y: 0},
{x: w, y: 0},
{x: w, y: -h},
{x: -h/2, y: -h},
{x: 0, y: -h/2},
];
shapeSvg = parent.insert("polygon", ":first-child")
.attr("points", points.map(function (d) {
return d.x + "," + d.y;
}).join(" "))
.style("fill", "#fff")
.style("stroke", "#333")
.attr("transform", "translate(" + (-w / 2) + "," + (h * 2 / 4) + ")"); .attr("transform", "translate(" + (-w / 2) + "," + (h * 2 / 4) + ")");
node.intersect = function (point) { node.intersect = function (point) {
return dagreD3.intersect.polygon(node, points, point); return dagreD3.intersect.polygon(node, points, point);

File diff suppressed because one or more lines are too long