Refactor code

This commit is contained in:
Tyler Long
2017-04-16 23:48:36 +08:00
parent 87c7f73245
commit 5624453c87
17 changed files with 632 additions and 923 deletions

View File

@@ -4,12 +4,9 @@ var log = Logger.Log
var relations = [] var relations = []
var classes var classes
// var idCache
classes = { classes = {
} }
// Functions to be run after graph rendering
// var funs = []
/** /**
* Function called by parser when a node definition has been found. * Function called by parser when a node definition has been found.
* @param id * @param id

View File

@@ -149,7 +149,6 @@ var drawEdge = function (elem, path, relation) {
.y(function (d) { .y(function (d) {
return d.y return d.y
}) })
// .interpolate('cardinal');
.interpolate('basis') .interpolate('basis')
var svgPath = elem.append('path') var svgPath = elem.append('path')
@@ -163,7 +162,6 @@ var drawEdge = function (elem, path, relation) {
url = url.replace(/\)/g, '\\)') url = url.replace(/\)/g, '\\)')
} }
// console.log(relation.relation.type1);
if (relation.relation.type1 !== 'none') { if (relation.relation.type1 !== 'none') {
svgPath.attr('marker-start', 'url(' + url + '#' + getRelationType(relation.relation.type1) + 'Start' + ')') svgPath.attr('marker-start', 'url(' + url + '#' + getRelationType(relation.relation.type1) + 'Start' + ')')
} }
@@ -171,9 +169,6 @@ var drawEdge = function (elem, path, relation) {
svgPath.attr('marker-end', 'url(' + url + '#' + getRelationType(relation.relation.type2) + 'End' + ')') svgPath.attr('marker-end', 'url(' + url + '#' + getRelationType(relation.relation.type2) + 'End' + ')')
} }
// var bbox = svgPath[0][0].getBBox();
// var x = Math.floor(bbox.x + bbox.width/2.0);
// var y = Math.floor(bbox.y + bbox.height/2.0);
var x, y var x, y
var l = path.points.length var l = path.points.length
if ((l % 2) !== 0) { if ((l % 2) !== 0) {
@@ -207,10 +202,6 @@ var drawEdge = function (elem, path, relation) {
.attr('y', bounds.y - conf.padding / 2) .attr('y', bounds.y - conf.padding / 2)
.attr('width', bounds.width + 2 * conf.padding / 2) .attr('width', bounds.width + 2 * conf.padding / 2)
.attr('height', bounds.height + 2 * conf.padding / 2) .attr('height', bounds.height + 2 * conf.padding / 2)
// .append('textpath')
// .attr('xlink:href','#edge'+edgeCount)
// .attr('text-anchor','middle')
// .attr('startOffset','50%')
} }
edgeCount++ edgeCount++
@@ -263,10 +254,6 @@ var drawClass = function (elem, classDef) {
addTspan(members, member, isFirst) addTspan(members, member, isFirst)
isFirst = false isFirst = false
}) })
// for (var member of classDef.members) {
// addTspan(members, member, isFirst);
// isFirst = false;
// }
var membersBox = members.node().getBBox() var membersBox = members.node().getBBox()
@@ -287,10 +274,6 @@ var drawClass = function (elem, classDef) {
addTspan(methods, method, isFirst) addTspan(methods, method, isFirst)
isFirst = false isFirst = false
}) })
// for (var method of classDef.methods) {
// addTspan(methods, method, isFirst);
// isFirst = false;
// }
var classBox = g.node().getBBox() var classBox = g.node().getBBox()
g.insert('rect', ':first-child') g.insert('rect', ':first-child')
@@ -331,7 +314,6 @@ module.exports.draw = function (text, id) {
/// / Fetch the default direction, use TD if none was found /// / Fetch the default direction, use TD if none was found
var diagram = d3.select('#' + id) var diagram = d3.select('#' + id)
insertMarkers(diagram) insertMarkers(diagram)
// var svg = diagram.append('svg');
// Layout graph, Create a new directed graph // Layout graph, Create a new directed graph
var g = new dagre.graphlib.Graph({ var g = new dagre.graphlib.Graph({
@@ -359,32 +341,18 @@ module.exports.draw = function (text, id) {
// our nodes. // our nodes.
g.setNode(node.id, node) g.setNode(node.id, node)
log.info('Org height: ' + node.height) log.info('Org height: ' + node.height)
// g.setNode("swilliams", { label: "Saul Williams", width: 160, height: 100 });
// g.setNode("bpitt", { label: "Brad Pitt", width: 108, height: 100 });
// g.setNode("hford", { label: "Harrison Ford", width: 168, height: 100 });
// g.setNode("lwilson", { label: "Luke Wilson", width: 144, height: 100 });
// g.setNode("kbacon", { label: "Kevin Bacon", width: 121, height: 100 });
} }
var relations = cDDb.getRelations() var relations = cDDb.getRelations()
// var i = 0
relations.forEach(function (relation) { relations.forEach(function (relation) {
// i = i + 1
log.info('tjoho' + getGraphId(relation.id1) + getGraphId(relation.id2) + JSON.stringify(relation)) log.info('tjoho' + getGraphId(relation.id1) + getGraphId(relation.id2) + JSON.stringify(relation))
g.setEdge(getGraphId(relation.id1), getGraphId(relation.id2), {relation: relation}) g.setEdge(getGraphId(relation.id1), getGraphId(relation.id2), { relation: relation })
}) })
// for (var relation of relations) {
// i = i + 1;
// log.info('tjoho' + getGraphId(relation.id1) + getGraphId(relation.id2) + JSON.stringify(relation));
// g.setEdge(getGraphId(relation.id1), getGraphId(relation.id2), {relation: relation});
// }
dagre.layout(g) dagre.layout(g)
g.nodes().forEach(function (v) { g.nodes().forEach(function (v) {
if (typeof v !== 'undefined') { if (typeof v !== 'undefined') {
log.debug('Node ' + v + ': ' + JSON.stringify(g.node(v))) log.debug('Node ' + v + ': ' + JSON.stringify(g.node(v)))
d3.select('#' + v).attr('transform', 'translate(' + (g.node(v).x - (g.node(v).width / 2)) + ',' + (g.node(v).y - (g.node(v).height / 2)) + ' )') d3.select('#' + v).attr('transform', 'translate(' + (g.node(v).x - (g.node(v).width / 2)) + ',' + (g.node(v).y - (g.node(v).height / 2)) + ' )')
// d3.select('#' +v +' rect').attr('x',(g.node(v).x-(g.node(v).width/2)))
// .attr('y',(g.node(v).y-(g.node(v).height/2)));
} }
}) })
g.edges().forEach(function (e) { g.edges().forEach(function (e) {
@@ -392,21 +360,7 @@ module.exports.draw = function (text, id) {
drawEdge(diagram, g.edge(e), g.edge(e).relation) drawEdge(diagram, g.edge(e), g.edge(e).relation)
}) })
//
diagram.attr('height', '100%') diagram.attr('height', '100%')
diagram.attr('width', '100%') diagram.attr('width', '100%')
diagram.attr('viewBox', '0 0 ' + (g.graph().width + 20) + ' ' + (g.graph().height + 20)) diagram.attr('viewBox', '0 0 ' + (g.graph().width + 20) + ' ' + (g.graph().height + 20))
//
//
//
//
// if(conf.useMaxWidth) {
// diagram.attr('height', '100%');
// diagram.attr('width', '100%');
// diagram.attr('style', 'max-width:' + (width) + 'px;');
// }else{
// diagram.attr('height',height);
// diagram.attr('width', width );
// }
// diagram.attr('viewBox', (box.startx-conf.diagramMarginX) + ' -' +conf.diagramMarginY + ' ' + width + ' ' + height);
} }

View File

@@ -1,90 +1,14 @@
/* eslint-env jasmine */ /* eslint-env jasmine */
// var proxyquire = require('proxyquire'); /**
// var newD3; * Created by knut on 14-11-18.
/// ** */
// * Created by knut on 14-11-18.
// */
//
// var d3 = {
// select:function(){
// return new newD3();
// },
// selectAll:function(){
// return new newD3();
// }
// };
// var classRenderer = proxyquire('./classRenderer', { '../../d3': d3 });
// var testDom = require('testdom')('<html><body><div id="tst"></div></body></html>');
// var classRenderer = require('./classRenderer')
// var parser = require('./parser/classDiagram').parser
describe('class diagram, ', function () { describe('class diagram, ', function () {
describe('when rendering a classDiagram', function () { describe('when rendering a classDiagram', function () {
// var conf
beforeEach(function () { beforeEach(function () {
/// /parser.yy = require('./classDb');
/// /parser.yy.clear();
/// /parseError = function(err, hash) {
/// / log.debug('Syntax error:' + err);
/// / log.debug(hash);
/// /};
/// /sq.yy.parseError = parseError;
//
// newD3 = function() {
// var o = {
// append: function () {
// return newD3();
// },
// attr: function () {
// return this;
// },
// style: function () {
// return this;
// },
// text: function () {
// return this;
// },
// 0:{
// 0: {
// getBBox: function () {
// return {
// height: 10,
// width: 20
// };
// }
// }
//
// }
// };
//
// return o;
// };
//
// conf = {
// diagramMarginX:50,
// diagramMarginY:10,
// actorMargin:50,
// width:150,
// // Height of actor boxes
// height:65,
// boxMargin:10,
// messageMargin:40,
// boxTextMargin:15,
// noteMargin:25,
// mirrorActors:true,
// // Depending on css styling this might need adjustment
// // Prolongs the edge of the diagram downwards
// bottomMarginAdj:1
// };
// classRenderer.setConf(conf);
// ... add whatever browser globals your tests might need ...
// }
Object.defineProperties(window.HTMLElement.prototype, { Object.defineProperties(window.HTMLElement.prototype, {
getBBox: { getBBox: {
get: function () { return {x: 10, y: 10, width: 100, height: 100} } get: function () { return { x: 10, y: 10, width: 100, height: 100 } }
}, },
offsetLeft: { offsetLeft: {
get: function () { return parseFloat(window.getComputedStyle(this).marginLeft) || 0 } get: function () { return parseFloat(window.getComputedStyle(this).marginLeft) || 0 }
@@ -100,13 +24,5 @@ describe('class diagram, ', function () {
} }
}) })
}) })
it('it should handle one actor', function () {
// var str = 'classDiagram\n' +
// 'Class01 --|> Class02'
// classRenderer.draw(str,'tst');
// console.log(document.body.innerHTML);
})
}) })
}) })

View File

@@ -7,7 +7,6 @@ var d3 = require('../../d3')
var Logger = require('../../logger') var Logger = require('../../logger')
var log = Logger.Log var log = Logger.Log
// var log = new Logger.Log();
/** /**
* Draws a an info picture in the tag with id: id based on the graph definition in text. * Draws a an info picture in the tag with id: id based on the graph definition in text.
@@ -35,13 +34,6 @@ exports.draw = function (txt, id, ver) {
.style('text-anchor', 'middle') .style('text-anchor', 'middle')
.text('mermaid ' + ver) .text('mermaid ' + ver)
/*
var box = exports.bounds.getBounds();
var height = box.stopy-box.starty+2*conf.diagramMarginY;
var width = box.stopx-box.startx+2*conf.diagramMarginX; */
svg.attr('height', 100) svg.attr('height', 100)
svg.attr('width', 400) svg.attr('width', 400)
// svg.attr('viewBox', '0 0 300 150');
} }

View File

@@ -50,8 +50,6 @@ exports.addVertices = function (vert, g) {
*/ */
var classStr = '' var classStr = ''
// log.debug(vertice.classes);
if (vertice.classes.length > 0) { if (vertice.classes.length > 0) {
classStr = vertice.classes.join(' ') classStr = vertice.classes.join(' ')
} }
@@ -94,9 +92,6 @@ exports.addVertices = function (vert, g) {
labelTypeStr = 'svg' labelTypeStr = 'svg'
verticeText = svgLabel verticeText = svgLabel
// verticeText = verticeText.replace(/<br\/>/g, '\n');
// labelTypeStr = 'text';
} }
var radious = 0 var radious = 0
@@ -242,7 +237,6 @@ exports.getClasses = function (text, isDot) {
// Add default class if undefined // Add default class if undefined
if (typeof (classes.default) === 'undefined') { if (typeof (classes.default) === 'undefined') {
classes.default = { id: 'default' } classes.default = { id: 'default' }
// classes.default.styles = ['fill:#ffa','stroke:#666','stroke-width:3px'];
classes.default.styles = [] classes.default.styles = []
classes.default.clusterStyles = ['rx:4px', 'fill: rgb(255, 255, 222)', 'rx: 4px', 'stroke: rgb(170, 170, 51)', 'stroke-width: 1px'] classes.default.clusterStyles = ['rx:4px', 'fill: rgb(255, 255, 222)', 'rx: 4px', 'stroke: rgb(170, 170, 51)', 'stroke-width: 1px']
classes.default.nodeLabelStyles = ['fill:#000', 'stroke:none', 'font-weight:300', 'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf', 'font-size:14px'] classes.default.nodeLabelStyles = ['fill:#000', 'stroke:none', 'font-weight:300', 'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf', 'font-size:14px']
@@ -307,7 +301,6 @@ exports.draw = function (text, id, isDot) {
// Fetch the verices/nodes and edges/links from the parsed graph definition // Fetch the verices/nodes and edges/links from the parsed graph definition
var vert = graph.getVertices() var vert = graph.getVertices()
// log.debug(vert);
var edges = graph.getEdges() var edges = graph.getEdges()
i = 0 i = 0
@@ -318,7 +311,6 @@ exports.draw = function (text, id, isDot) {
d3.selectAll('cluster').append('text') d3.selectAll('cluster').append('text')
for (j = 0; j < subG.nodes.length; j++) { for (j = 0; j < subG.nodes.length; j++) {
// log.debug('Setting node',subG.nodes[j],' to subgraph '+id);
g.setParent(subG.nodes[j], subG.id) g.setParent(subG.nodes[j], subG.id)
} }
} }
@@ -435,35 +427,20 @@ exports.draw = function (text, id, isDot) {
// Set up an SVG group so that we can translate the final graph. // Set up an SVG group so that we can translate the final graph.
var svg = d3.select('#' + id) var svg = d3.select('#' + id)
// svgGroup = d3.select('#' + id + ' g');
// Run the renderer. This is what draws the final graph. // Run the renderer. This is what draws the final graph.
var element = d3.select('#' + id + ' g') var element = d3.select('#' + id + ' g')
render(element, g) render(element, g)
// var tip = d3.tip().html(function(d) { return d; });
element.selectAll('g.node') element.selectAll('g.node')
.attr('title', function () { .attr('title', function () {
return graph.getTooltip(this.id) return graph.getTooltip(this.id)
}) })
/*
var xPos = document.querySelectorAll('.clusters rect')[0].x.baseVal.value;
var width = document.querySelectorAll('.clusters rect')[0].width.baseVal.value;
var cluster = d3.selectAll('.cluster');
var te = cluster.append('text');
te.attr('x', xPos+width/2);
te.attr('y', 12);
//te.stroke('black');
te.attr('id', 'apa12');
te.style('text-anchor', 'middle');
te.text('Title for cluster');
*/
if (conf.useMaxWidth) { if (conf.useMaxWidth) {
// Center the graph // Center the graph
svg.attr('height', '100%') svg.attr('height', '100%')
svg.attr('width', conf.width) svg.attr('width', conf.width)
// svg.attr('viewBox', svgb.getBBox().x + ' 0 '+ g.graph().width+' '+ g.graph().height);
svg.attr('viewBox', '0 0 ' + (g.graph().width + 20) + ' ' + (g.graph().height + 20)) svg.attr('viewBox', '0 0 ' + (g.graph().width + 20) + ' ' + (g.graph().height + 20))
svg.attr('style', 'max-width:' + (g.graph().width + 20) + 'px;') svg.attr('style', 'max-width:' + (g.graph().width + 20) + 'px;')
} else { } else {
@@ -474,7 +451,6 @@ exports.draw = function (text, id, isDot) {
} else { } else {
svg.attr('width', conf.width) svg.attr('width', conf.width)
} }
// svg.attr('viewBox', svgb.getBBox().x + ' 0 '+ g.graph().width+' '+ g.graph().height);
svg.attr('viewBox', '0 0 ' + (g.graph().width + 20) + ' ' + (g.graph().height + 20)) svg.attr('viewBox', '0 0 ' + (g.graph().width + 20) + ' ' + (g.graph().height + 20))
} }
@@ -486,7 +462,6 @@ exports.draw = function (text, id, isDot) {
if (subG.title !== 'undefined') { if (subG.title !== 'undefined') {
var clusterRects = document.querySelectorAll('#' + id + ' #' + subG.id + ' rect') var clusterRects = document.querySelectorAll('#' + id + ' #' + subG.id + ' rect')
// log.debug('looking up: #' + id + ' #' + subG.id)
var clusterEl = document.querySelectorAll('#' + id + ' #' + subG.id) var clusterEl = document.querySelectorAll('#' + id + ' #' + subG.id)
var xPos = clusterRects[0].x.baseVal.value var xPos = clusterRects[0].x.baseVal.value
@@ -504,7 +479,6 @@ exports.draw = function (text, id, isDot) {
if (typeof subG.title === 'undefined') { if (typeof subG.title === 'undefined') {
te.text('Undef') te.text('Undef')
} else { } else {
// te.text(subGraphs[subGraphs.length-i-1].title);
te.text(subG.title) te.text(subG.title)
} }
} }

View File

@@ -33,7 +33,7 @@ exports.addVertex = function (id, text, type, style) {
} }
if (typeof vertices[id] === 'undefined') { if (typeof vertices[id] === 'undefined') {
vertices[id] = {id: id, styles: [], classes: []} vertices[id] = { id: id, styles: [], classes: [] }
} }
if (typeof text !== 'undefined') { if (typeof text !== 'undefined') {
txt = text.trim() txt = text.trim()
@@ -69,7 +69,7 @@ exports.addVertex = function (id, text, type, style) {
*/ */
exports.addLink = function (start, end, type, linktext) { exports.addLink = function (start, end, type, linktext) {
log.info('Got edge...', start, end) log.info('Got edge...', start, end)
var edge = {start: start, end: end, type: undefined, text: ''} var edge = { start: start, end: end, type: undefined, text: '' }
linktext = type.text linktext = type.text
if (typeof linktext !== 'undefined') { if (typeof linktext !== 'undefined') {
@@ -119,7 +119,7 @@ exports.updateLink = function (pos, style) {
exports.addClass = function (id, style) { exports.addClass = function (id, style) {
if (typeof classes[id] === 'undefined') { if (typeof classes[id] === 'undefined') {
classes[id] = {id: id, styles: []} classes[id] = { id: id, styles: [] }
} }
if (typeof style !== 'undefined') { if (typeof style !== 'undefined') {
@@ -314,7 +314,7 @@ exports.defaultStyle = function () {
*/ */
exports.addSubGraph = function (list, title) { exports.addSubGraph = function (list, title) {
function uniq (a) { function uniq (a) {
var prims = {'boolean': {}, 'number': {}, 'string': {}} var prims = { 'boolean': {}, 'number': {}, 'string': {} }
var objs = [] var objs = []
return a.filter(function (item) { return a.filter(function (item) {
@@ -330,9 +330,7 @@ exports.addSubGraph = function (list, title) {
nodeList = uniq(nodeList.concat.apply(nodeList, list)) nodeList = uniq(nodeList.concat.apply(nodeList, list))
var subGraph = {id: 'subGraph' + subCount, nodes: nodeList, title: title} var subGraph = { id: 'subGraph' + subCount, nodes: nodeList, title: title }
// log.debug('subGraph:' + subGraph.title + subGraph.id);
// log.debug(subGraph.nodes);
subGraphs.push(subGraph) subGraphs.push(subGraph)
subCount = subCount + 1 subCount = subCount + 1
return subGraph.id return subGraph.id
@@ -342,11 +340,9 @@ var getPosForId = function (id) {
var i var i
for (i = 0; i < subGraphs.length; i++) { for (i = 0; i < subGraphs.length; i++) {
if (subGraphs[i].id === id) { if (subGraphs[i].id === id) {
// log.debug('Found pos for ',id,' ',i);
return i return i
} }
} }
// log.debug('No pos found for ',id,' ',i);
return -1 return -1
} }
var secCount = -1 var secCount = -1
@@ -357,7 +353,6 @@ var indexNodes = function (id, pos) {
if (secCount > 2000) { if (secCount > 2000) {
return return
} }
// var nPos = getPosForId(subGraphs[pos].id);
posCrossRef[secCount] = pos posCrossRef[secCount] = pos
// Check if match // Check if match
if (subGraphs[pos].id === id) { if (subGraphs[pos].id === id) {

View File

@@ -7,8 +7,6 @@ describe('when parsing a gantt diagram it', function () {
beforeEach(function () { beforeEach(function () {
gantt = require('./parser/gantt').parser gantt = require('./parser/gantt').parser
gantt.yy = require('./ganttDb') gantt.yy = require('./ganttDb')
// ex.yy.parseError = parseError;
}) })
it('should handle an dateFormat definition', function () { it('should handle an dateFormat definition', function () {
@@ -52,5 +50,3 @@ describe('when parsing a gantt diagram it', function () {
gantt.parse(str) gantt.parse(str)
}) })
}) })
// Ogiltigt id i after id

View File

@@ -53,20 +53,10 @@ exports.getTasks = function () {
tasks = rawTasks tasks = rawTasks
// var i;
// for(i=10000;i<tasks.length;i++){
// tasks[i].startTime = moment(tasks[i].startTime).format(dateFormat);
// tasks[i].endTime = moment(tasks[i].endTime).format(dateFormat);
// }
return tasks return tasks
} }
var getStartDate = function (prevTime, dateFormat, str) { var getStartDate = function (prevTime, dateFormat, str) {
// console.log('Deciding start date:'+JSON.stringify(str));
// log.debug('Deciding start date:'+str);
// log.debug('with dateformat:'+dateFormat);
str = str.trim() str = str.trim()
// Test for after // Test for after
@@ -80,7 +70,6 @@ var getStartDate = function (prevTime, dateFormat, str) {
var dt = new Date() var dt = new Date()
dt.setHours(0, 0, 0, 0) dt.setHours(0, 0, 0, 0)
return dt return dt
// return undefined;
} }
return task.endTime return task.endTime
} }
@@ -91,7 +80,6 @@ var getStartDate = function (prevTime, dateFormat, str) {
} else { } else {
log.debug('Invalid date:' + str) log.debug('Invalid date:' + str)
log.debug('With date format:' + dateFormat.trim()) log.debug('With date format:' + dateFormat.trim())
// log.debug('----');
} }
// Default date - now // Default date - now
@@ -256,18 +244,18 @@ var parseData = function (prevTaskId, dataStr) {
switch (data.length) { switch (data.length) {
case 1: case 1:
task.id = parseId() task.id = parseId()
task.startTime = {type: 'prevTaskEnd', id: prevTaskId} task.startTime = { type: 'prevTaskEnd', id: prevTaskId }
task.endTime = {data: data[0]} task.endTime = { data: data[0] }
break break
case 2: case 2:
task.id = parseId() task.id = parseId()
task.startTime = {type: 'getStartDate', startData: data[0]} task.startTime = { type: 'getStartDate', startData: data[0] }
task.endTime = {data: data[1]} task.endTime = { data: data[1] }
break break
case 3: case 3:
task.id = parseId(data[0]) task.id = parseId(data[0])
task.startTime = {type: 'getStartDate', startData: data[1]} task.startTime = { type: 'getStartDate', startData: data[1] }
task.endTime = {data: data[2]} task.endTime = { data: data[2] }
break break
default: default:
} }
@@ -284,7 +272,7 @@ exports.addTask = function (descr, data) {
section: currentSection, section: currentSection,
type: currentSection, type: currentSection,
processed: false, processed: false,
raw: {data: data}, raw: { data: data },
task: descr task: descr
} }
var taskInfo = parseData(lastTaskID, data) var taskInfo = parseData(lastTaskID, data)
@@ -304,13 +292,6 @@ exports.addTask = function (descr, data) {
} }
exports.findTaskById = function (id) { exports.findTaskById = function (id) {
// var i;
// for(i=0;i<tasks.length;i++){
// if(tasks[i].id === id){
// return tasks[i];
// }
// }
var pos = taskDb[id] var pos = taskDb[id]
return rawTasks[pos] return rawTasks[pos]
} }

View File

@@ -7,11 +7,8 @@ describe('when using the ganttDb', function () {
var moment = require('moment') var moment = require('moment')
beforeEach(function () { beforeEach(function () {
// gantt = require('./parser/gantt').parser;
gDb = require('./ganttDb') gDb = require('./ganttDb')
gDb.clear() gDb.clear()
// ex.yy.parseError = parseError;
}) })
it('should handle an fixed dates', function () { it('should handle an fixed dates', function () {
@@ -180,5 +177,3 @@ describe('when using the ganttDb', function () {
expect(tasks[2].endTime).toEqual(moment('2013-01-17', 'YYYY-MM-DD').toDate()) expect(tasks[2].endTime).toEqual(moment('2013-01-17', 'YYYY-MM-DD').toDate())
}) })
}) })
// Ogiltigt id i after id

View File

@@ -2,7 +2,6 @@ var gantt = require('./parser/gantt').parser
gantt.yy = require('./ganttDb') gantt.yy = require('./ganttDb')
var d3 = require('../../d3') var d3 = require('../../d3')
var moment = require('moment') var moment = require('moment')
// var log = require('../../logger').create();
var daysInChart var daysInChart
var conf = { var conf = {
@@ -49,8 +48,6 @@ module.exports.draw = function (text, id) {
elem.setAttribute('viewBox', '0 0 ' + w + ' ' + h) elem.setAttribute('viewBox', '0 0 ' + w + ' ' + h)
var svg = d3.select('#' + id) var svg = d3.select('#' + id)
// var dateFormat = d3.time.format('%Y-%m-%d');
var startDate = d3.min(taskArray, function (d) { var startDate = d3.min(taskArray, function (d) {
return d.startTime return d.startTime
}) })
@@ -67,7 +64,6 @@ module.exports.draw = function (text, id) {
return d.endTime return d.endTime
})]) })])
.rangeRound([0, w - conf.leftPadding - conf.rightPadding]) .rangeRound([0, w - conf.leftPadding - conf.rightPadding])
// .nice(d3.time.monday);
var categories = [] var categories = []
@@ -188,7 +184,6 @@ module.exports.draw = function (text, id) {
return d.task return d.task
}) })
.attr('font-size', conf.fontSize) .attr('font-size', conf.fontSize)
// .attr('font-family',conf.fontFamily)
.attr('x', function (d) { .attr('x', function (d) {
var startX = timeScale(d.startTime) var startX = timeScale(d.startTime)
var endX = timeScale(d.endTime) var endX = timeScale(d.endTime)
@@ -208,7 +203,6 @@ module.exports.draw = function (text, id) {
.attr('y', function (d, i) { .attr('y', function (d, i) {
return i * theGap + (conf.barHeight / 2) + (conf.fontSize / 2 - 2) + theTopPad return i * theGap + (conf.barHeight / 2) + (conf.fontSize / 2 - 2) + theTopPad
}) })
// .attr('text-anchor', 'middle')
.attr('text-height', theBarHeight) .attr('text-height', theBarHeight)
.attr('class', function (d) { .attr('class', function (d) {
var startX = timeScale(d.startTime) var startX = timeScale(d.startTime)
@@ -279,7 +273,6 @@ module.exports.draw = function (text, id) {
}], }],
// Day within a week (not monday) // Day within a week (not monday)
['%a %d', function (d) { ['%a %d', function (d) {
// return d.getDay() ==1;
return d.getDay() && d.getDate() !== 1 return d.getDay() && d.getDate() !== 1
}], }],
// within a month // within a month
@@ -346,7 +339,6 @@ module.exports.draw = function (text, id) {
if (i > 0) { if (i > 0) {
for (var j = 0; j < i; j++) { for (var j = 0; j < i; j++) {
prevGap += numOccurances[i - 1][1] prevGap += numOccurances[i - 1][1]
// log.debug(prevGap);
return d[1] * theGap / 2 + prevGap * theGap + theTopPad return d[1] * theGap / 2 + prevGap * theGap + theTopPad
} }
} else { } else {

View File

@@ -66,10 +66,12 @@ exports.getOptions = function () {
} }
exports.commit = function (msg) { exports.commit = function (msg) {
var commit = { id: getId(), var commit = {
id: getId(),
message: msg, message: msg,
seq: seq++, seq: seq++,
parent: head == null ? null : head.id} parent: head == null ? null : head.id
}
head = commit head = commit
commits[commit.id] = commit commits[commit.id] = commit
branches[curBranch] = commit.id branches[curBranch] = commit.id
@@ -141,7 +143,6 @@ function upsert (arr, key, newval) {
} else { } else {
arr.push(newval) arr.push(newval)
} }
// console.log(arr);
} }
function prettyPrintCommitHistory (commitArr) { function prettyPrintCommitHistory (commitArr) {
@@ -160,11 +161,9 @@ function prettyPrintCommitHistory (commitArr) {
}) })
log.debug(label.join(' ')) log.debug(label.join(' '))
if (Array.isArray(commit.parent)) { if (Array.isArray(commit.parent)) {
// console.log("here", commit.parent);
var newCommit = commits[commit.parent[0]] var newCommit = commits[commit.parent[0]]
upsert(commitArr, commit, newCommit) upsert(commitArr, commit, newCommit)
commitArr.push(commits[commit.parent[1]]) commitArr.push(commits[commit.parent[1]])
// console.log("shoudl have 2", commitArr);
} else if (commit.parent == null) { } else if (commit.parent == null) {
return return
} else { } else {
@@ -191,9 +190,8 @@ exports.clear = function () {
exports.getBranchesAsObjArray = function () { exports.getBranchesAsObjArray = function () {
var branchArr = _.map(branches, function (v, k) { var branchArr = _.map(branches, function (v, k) {
return {'name': k, 'commit': commits[v]} return { 'name': k, 'commit': commits[v] }
}) })
// return _.orderBy(branchArr, [function(b) { return b.commit.seq}], ['desc']);
return branchArr return branchArr
} }

View File

@@ -15,7 +15,6 @@ describe('when parsing a gitGraph', function () {
parser.parse(str) parser.parse(str)
var commits = parser.yy.getCommits() var commits = parser.yy.getCommits()
// console.log(commits);
expect(Object.keys(commits).length).toBe(1) expect(Object.keys(commits).length).toBe(1)
expect(parser.yy.getCurrentBranch()).toBe('master') expect(parser.yy.getCurrentBranch()).toBe('master')
@@ -31,7 +30,6 @@ describe('when parsing a gitGraph', function () {
parser.parse(str) parser.parse(str)
var commits = parser.yy.getCommits() var commits = parser.yy.getCommits()
// console.log(commits);
expect(parser.yy.getOptions()).toEqual({}) expect(parser.yy.getOptions()).toEqual({})
expect(Object.keys(commits).length).toBe(1) expect(Object.keys(commits).length).toBe(1)
@@ -49,8 +47,6 @@ describe('when parsing a gitGraph', function () {
parser.parse(str) parser.parse(str)
var commits = parser.yy.getCommits() var commits = parser.yy.getCommits()
// console.log(commits);
// console.log('options object', parser.yy.getOptions());
expect(parser.yy.getOptions()['key']).toBe('value') expect(parser.yy.getOptions()['key']).toBe('value')
expect(Object.keys(commits).length).toBe(1) expect(Object.keys(commits).length).toBe(1)
expect(parser.yy.getCurrentBranch()).toBe('master') expect(parser.yy.getCurrentBranch()).toBe('master')
@@ -67,7 +63,6 @@ describe('when parsing a gitGraph', function () {
parser.parse(str) parser.parse(str)
var commits = parser.yy.getCommits() var commits = parser.yy.getCommits()
// console.log(commits);
expect(Object.keys(commits).length).toBe(1) expect(Object.keys(commits).length).toBe(1)
expect(parser.yy.getCurrentBranch()).toBe('master') expect(parser.yy.getCurrentBranch()).toBe('master')
expect(parser.yy.getDirection()).toBe('LR') expect(parser.yy.getDirection()).toBe('LR')
@@ -80,7 +75,6 @@ describe('when parsing a gitGraph', function () {
parser.parse(str) parser.parse(str)
var commits = parser.yy.getCommits() var commits = parser.yy.getCommits()
// console.log(commits);
expect(Object.keys(commits).length).toBe(1) expect(Object.keys(commits).length).toBe(1)
expect(parser.yy.getCurrentBranch()).toBe('master') expect(parser.yy.getCurrentBranch()).toBe('master')
@@ -122,7 +116,6 @@ describe('when parsing a gitGraph', function () {
parser.parse(str) parser.parse(str)
var commits = parser.yy.getCommits() var commits = parser.yy.getCommits()
// console.log(commits);
expect(Object.keys(commits).length).toBe(1) expect(Object.keys(commits).length).toBe(1)
var key = Object.keys(commits)[0] var key = Object.keys(commits)[0]
@@ -179,7 +172,6 @@ describe('when parsing a gitGraph', function () {
parser.parse(str) parser.parse(str)
var commits = parser.yy.getCommits() var commits = parser.yy.getCommits()
// console.log(commits);
expect(Object.keys(commits).length).toBe(3) expect(Object.keys(commits).length).toBe(3)
expect(parser.yy.getCurrentBranch()).toBe('master') expect(parser.yy.getCurrentBranch()).toBe('master')
expect(parser.yy.getBranches()['newbranch']).toEqual(parser.yy.getBranches()['master']) expect(parser.yy.getBranches()['newbranch']).toEqual(parser.yy.getBranches()['master'])
@@ -198,7 +190,6 @@ describe('when parsing a gitGraph', function () {
parser.parse(str) parser.parse(str)
var commits = parser.yy.getCommits() var commits = parser.yy.getCommits()
// console.log(commits);
expect(Object.keys(commits).length).toBe(3) expect(Object.keys(commits).length).toBe(3)
expect(parser.yy.getCurrentBranch()).toBe('newbranch') expect(parser.yy.getCurrentBranch()).toBe('newbranch')
expect(parser.yy.getBranches()['newbranch']).not.toEqual(parser.yy.getBranches()['master']) expect(parser.yy.getBranches()['newbranch']).not.toEqual(parser.yy.getBranches()['master'])
@@ -219,7 +210,6 @@ describe('when parsing a gitGraph', function () {
parser.parse(str) parser.parse(str)
var commits = parser.yy.getCommits() var commits = parser.yy.getCommits()
// console.log(commits);
expect(Object.keys(commits).length).toBe(5) expect(Object.keys(commits).length).toBe(5)
expect(parser.yy.getCurrentBranch()).toBe('master') expect(parser.yy.getCurrentBranch()).toBe('master')
expect(parser.yy.getBranches()['newbranch']).not.toEqual(parser.yy.getBranches()['master']) expect(parser.yy.getBranches()['newbranch']).not.toEqual(parser.yy.getBranches()['master'])
@@ -243,7 +233,6 @@ describe('when parsing a gitGraph', function () {
parser.parse(str) parser.parse(str)
var commits = parser.yy.getCommits() var commits = parser.yy.getCommits()
// console.log(commits);
expect(Object.keys(commits).length).toBe(6) expect(Object.keys(commits).length).toBe(6)
expect(parser.yy.getCurrentBranch()).toBe('newbranch') expect(parser.yy.getCurrentBranch()).toBe('newbranch')
expect(parser.yy.getBranches()['newbranch']).toEqual(parser.yy.getBranches()['master']) expect(parser.yy.getBranches()['newbranch']).toEqual(parser.yy.getBranches()['master'])

View File

@@ -76,7 +76,6 @@ function getElementCoords (element, coords) {
var ctm = element.node().getCTM() var ctm = element.node().getCTM()
var xn = ctm.e + coords.x * ctm.a var xn = ctm.e + coords.x * ctm.a
var yn = ctm.f + coords.y * ctm.d var yn = ctm.f + coords.y * ctm.d
// log.debug(ctm, coords);
return { return {
left: xn, left: xn,
top: yn, top: yn,
@@ -89,7 +88,6 @@ function svgDrawLineForCommits (svg, fromId, toId, direction, color) {
log.debug('svgDrawLineForCommits: ', fromId, toId) log.debug('svgDrawLineForCommits: ', 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);
switch (direction) { switch (direction) {
case 'LR': case 'LR':
// (toBbox) // (toBbox)
@@ -100,9 +98,9 @@ function svgDrawLineForCommits (svg, fromId, toId, direction, color) {
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], color, 'linear') svgDrawLine(svg, [lineStart, lineEnd], color, '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 - config.nodeSpacing / 2, y: fromBbox.top + fromBbox.height / 2}, { x: fromBbox.left - config.nodeSpacing / 2, y: fromBbox.top + fromBbox.height / 2 },
{x: fromBbox.left - config.nodeSpacing / 2, y: lineStart.y}, { x: fromBbox.left - config.nodeSpacing / 2, y: lineStart.y },
lineStart], color) lineStart], color)
} else { } else {
svgDrawLine(svg, [{ svgDrawLine(svg, [{
@@ -130,9 +128,9 @@ function svgDrawLineForCommits (svg, fromId, toId, direction, color) {
lineEnd = { x: toBbox.left + toBbox.width / 2, y: toBbox.top } lineEnd = { x: toBbox.left + toBbox.width / 2, y: toBbox.top }
svgDrawLine(svg, [lineStart, lineEnd], color, 'linear') svgDrawLine(svg, [lineStart, lineEnd], color, 'linear')
svgDrawLine(svg, [ svgDrawLine(svg, [
{x: fromBbox.left + fromBbox.width / 2, y: fromBbox.top + fromBbox.height}, { x: fromBbox.left + fromBbox.width / 2, y: fromBbox.top + fromBbox.height },
{x: fromBbox.left + fromBbox.width / 2, y: fromBbox.top + fromBbox.height + config.nodeSpacing / 2}, { x: fromBbox.left + fromBbox.width / 2, y: fromBbox.top + fromBbox.height + config.nodeSpacing / 2 },
{x: toBbox.left + toBbox.width / 2, y: lineStart.y - config.nodeSpacing / 2}, { x: toBbox.left + toBbox.width / 2, y: lineStart.y - config.nodeSpacing / 2 },
lineStart], color) lineStart], color)
} else { } else {
svgDrawLine(svg, [{ svgDrawLine(svg, [{
@@ -269,10 +267,6 @@ exports.draw = function (txt, id, ver) {
if (direction === 'BT') return Object.keys(allCommitsDict).length * config.nodeSpacing if (direction === 'BT') return Object.keys(allCommitsDict).length * config.nodeSpacing
return (branches.length + 1) * config.branchOffset return (branches.length + 1) * config.branchOffset
}) })
// svg.attr('width', function() {
// if (direction === 'LR') return Object.keys(allCommitsDict).length * config.nodeSpacing + config.leftMargin;
// return (branches.length + 1) * config.branchOffset;
// });
} catch (e) { } catch (e) {
log.error('Error while rendering gitgraph') log.error('Error while rendering gitgraph')
log.error(e.message) log.error(e.message)

View File

@@ -16,19 +16,16 @@ exports.addActor = function (id, name, description) {
// Don't allow null descriptions, either // Don't allow null descriptions, either
if (description == null) description = name if (description == null) description = name
actors[id] = {name: name, description: description} actors[id] = { name: name, description: description }
} }
exports.addMessage = function (idFrom, idTo, message, answer) { exports.addMessage = function (idFrom, idTo, message, answer) {
messages.push({from: idFrom, to: idTo, message: message, answer: answer}) messages.push({ from: idFrom, to: idTo, message: message, answer: answer })
} }
/**
*
*/
exports.addSignal = function (idFrom, idTo, message, messageType) { exports.addSignal = function (idFrom, idTo, message, messageType) {
log.debug('Adding message from=' + idFrom + ' to=' + idTo + ' message=' + message + ' type=' + messageType) log.debug('Adding message from=' + idFrom + ' to=' + idTo + ' message=' + message + ' type=' + messageType)
messages.push({from: idFrom, to: idTo, message: message, type: messageType}) messages.push({ from: idFrom, to: idTo, message: message, type: messageType })
} }
exports.getMessages = function () { exports.getMessages = function () {
@@ -87,13 +84,13 @@ exports.PLACEMENT = {
} }
exports.addNote = function (actor, placement, message) { exports.addNote = function (actor, placement, message) {
var note = {actor: actor, placement: placement, message: message} var note = { actor: actor, placement: placement, message: message }
// Coerce actor into a [to, from, ...] array // Coerce actor into a [to, from, ...] array
var actors = [].concat(actor, actor) var actors = [].concat(actor, actor)
notes.push(note) notes.push(note)
messages.push({from: actors[0], to: actors[1], message: message, type: exports.LINETYPE.NOTE, placement: placement}) messages.push({ from: actors[0], to: actors[1], message: message, type: exports.LINETYPE.NOTE, placement: placement })
} }
exports.setTitle = function (titleText) { exports.setTitle = function (titleText) {
@@ -110,7 +107,6 @@ exports.apply = function (param) {
exports.apply(item) exports.apply(item)
}) })
} else { } else {
// console.info(param);
switch (param.type) { switch (param.type) {
case 'addActor': case 'addActor':
exports.addActor(param.actor, param.actor, param.description) exports.addActor(param.actor, param.actor, param.description)
@@ -128,25 +124,19 @@ exports.apply = function (param) {
exports.addSignal(param.from, param.to, param.msg, param.signalType) exports.addSignal(param.from, param.to, param.msg, param.signalType)
break break
case 'loopStart': case 'loopStart':
// log.debug('Loop text: ',param.loopText);
exports.addSignal(undefined, undefined, param.loopText, param.signalType) exports.addSignal(undefined, undefined, param.loopText, param.signalType)
// yy.addSignal(undefined, undefined, $2, yy.LINETYPE.LOOP_START);
break break
case 'loopEnd': case 'loopEnd':
exports.addSignal(undefined, undefined, undefined, param.signalType) exports.addSignal(undefined, undefined, undefined, param.signalType)
break break
case 'optStart': case 'optStart':
// log.debug('Loop text: ',param.loopText);
exports.addSignal(undefined, undefined, param.optText, param.signalType) exports.addSignal(undefined, undefined, param.optText, param.signalType)
// yy.addSignal(undefined, undefined, $2, yy.LINETYPE.LOOP_START);
break break
case 'optEnd': case 'optEnd':
exports.addSignal(undefined, undefined, undefined, param.signalType) exports.addSignal(undefined, undefined, undefined, param.signalType)
break break
case 'altStart': case 'altStart':
// log.debug('Loop text: ',param.loopText);
exports.addSignal(undefined, undefined, param.altText, param.signalType) exports.addSignal(undefined, undefined, param.altText, param.signalType)
// yy.addSignal(undefined, undefined, $2, yy.LINETYPE.LOOP_START);
break break
case 'else': case 'else':
exports.addSignal(undefined, undefined, param.altText, param.signalType) exports.addSignal(undefined, undefined, param.altText, param.signalType)

View File

@@ -3,8 +3,6 @@ var proxyquire = require('proxyquire')
/** /**
* Created by knut on 14-11-18. * Created by knut on 14-11-18.
*/ */
// var proxyquire = require('proxyquire');
// var log = require('../../logger').create();
var sq = require('./parser/sequenceDiagram').parser var sq = require('./parser/sequenceDiagram').parser
var NewD3 var NewD3
@@ -17,13 +15,8 @@ var d3 = {
return new NewD3() return new NewD3()
} }
} }
// var sd = proxyquire('./sequenceRenderer', { './d3': d3 });
var sd = proxyquire('./sequenceRenderer', { '../../d3': d3 }) var sd = proxyquire('./sequenceRenderer', { '../../d3': d3 })
//
//
// var sd = require('./sequenceRenderer');
function addConf (conf, key, value) { function addConf (conf, key, value) {
if (value !== undefined) { if (value !== undefined) {
conf[key] = value conf[key] = value
@@ -36,11 +29,6 @@ describe('when parsing a sequenceDiagram', function () {
beforeEach(function () { beforeEach(function () {
sq.yy = require('./sequenceDb') sq.yy = require('./sequenceDb')
sq.yy.clear() sq.yy.clear()
// parseError = function(err, hash) {
// log.debug('Syntax error:' + err);
// log.debug(hash);
// };
// sq.yy.parseError = parseError;
}) })
it('it should handle a sequenceDiagram defintion', function () { it('it should handle a sequenceDiagram defintion', function () {
str = 'sequenceDiagram\n' + str = 'sequenceDiagram\n' +
@@ -615,12 +603,6 @@ describe('when checking the bounds in a sequenceDiagram', function () {
beforeEach(function () { beforeEach(function () {
sq.yy = require('./sequenceDb') sq.yy = require('./sequenceDb')
sq.yy.clear() sq.yy.clear()
// parseError = function(err, hash) {
// log.debug('Syntax error:' + err);
// log.debug(hash);
// };
// sq.yy.parseError = parseError;
conf = { conf = {
diagramMarginX: 50, diagramMarginX: 50,
diagramMarginY: 10, diagramMarginY: 10,
@@ -758,21 +740,8 @@ describe('when rendering a sequenceDiagram', function () {
sq.yy = require('./sequenceDb') sq.yy = require('./sequenceDb')
sq.yy.clear() sq.yy.clear()
// var MockBrowser = require('mock-browser').mocks.MockBrowser;
// var mock = new MockBrowser();
delete global.mermaid_config delete global.mermaid_config
// and in the run-code inside some object
// global.document = mock.getDocument();
// global.window = mock.getWindow();
// parseError = function(err, hash) {
// log.debug('Syntax error:' + err);
// log.debug(hash);
// };
// sq.yy.parseError = parseError;
NewD3 = function () { NewD3 = function () {
var o = { var o = {
append: function () { append: function () {
@@ -816,11 +785,6 @@ describe('when rendering a sequenceDiagram', function () {
noteMargin: 25 noteMargin: 25
} }
sd.setConf(conf) sd.setConf(conf)
// document.body.innerHTML = '<div id="tst"></div>';
// document.body.innerHTML = '<svg height="30" width="200"><text id="tst" x="0" y="15" fill="red">I love SVG!</text></svg>';
// document.body.innerHTML = '<svg height="30" width="200"><text x="0" y="15" fill="red"><tspan x="46" id="tst">Alice thinks</tspan></text></svg>';
// console.log('document.body');
// console.log(document.querySelector('#tst').getBBox());
}); });
['tspan', 'fo', 'old', undefined].forEach(function (textPlacement) { ['tspan', 'fo', 'old', undefined].forEach(function (textPlacement) {
it('it should handle one actor, when textPlacement is ' + textPlacement, function () { it('it should handle one actor, when textPlacement is ' + textPlacement, function () {
@@ -992,11 +956,6 @@ describe('when rendering a sequenceDiagram with actor mirror activated', functio
beforeEach(function () { beforeEach(function () {
sq.yy = require('./sequenceDb') sq.yy = require('./sequenceDb')
sq.yy.clear() sq.yy.clear()
// parseError = function(err, hash) {
// log.debug('Syntax error:' + err);
// log.debug(hash);
// };
// sq.yy.parseError = parseError;
NewD3 = function () { NewD3 = function () {
var o = { var o = {

View File

@@ -114,7 +114,8 @@ exports.bounds = {
var actorRect = sq.yy.getActors()[message.from.actor] var actorRect = sq.yy.getActors()[message.from.actor]
var stackedSize = actorActivations(message.from.actor).length var stackedSize = actorActivations(message.from.actor).length
var x = actorRect.x + conf.width / 2 + (stackedSize - 1) * conf.activationWidth / 2 var x = actorRect.x + conf.width / 2 + (stackedSize - 1) * conf.activationWidth / 2
this.activations.push({startx: x, this.activations.push({
startx: x,
starty: this.verticalPos + 2, starty: this.verticalPos + 2,
stopx: x + conf.activationWidth, stopx: x + conf.activationWidth,
stopy: undefined, stopy: undefined,
@@ -131,7 +132,7 @@ exports.bounds = {
return activation return activation
}, },
newLoop: function (title) { newLoop: function (title) {
this.sequenceItems.push({startx: undefined, starty: this.verticalPos, stopx: undefined, stopy: undefined, title: title}) this.sequenceItems.push({ startx: undefined, starty: this.verticalPos, stopx: undefined, stopy: undefined, title: title })
}, },
endLoop: function () { endLoop: function () {
var loop = this.sequenceItems.pop() var loop = this.sequenceItems.pop()
@@ -225,9 +226,7 @@ var drawMessage = function (elem, startx, stopx, verticalPos, msg) {
if (typeof textElem[0][0].getBBox !== 'undefined') { if (typeof textElem[0][0].getBBox !== 'undefined') {
textWidth = textElem[0][0].getBBox().width textWidth = textElem[0][0].getBBox().width
} else { } else {
// textWidth = getBBox(textElem).width; //.getComputedTextLength()
textWidth = textElem[0][0].getBoundingClientRect() textWidth = textElem[0][0].getBoundingClientRect()
// textWidth = textElem[0][0].getComputedTextLength();
} }
var line var line
@@ -294,7 +293,6 @@ module.exports.drawActors = function (diagram, actors, actorKeys, verticalPos) {
} }
// Add a margin between the actor boxes and the first arrow // Add a margin between the actor boxes and the first arrow
// exports.bounds.bumpVerticalPos(conf.height+conf.messageMargin);
exports.bounds.bumpVerticalPos(conf.height) exports.bounds.bumpVerticalPos(conf.height)
} }

View File

@@ -1,7 +1,6 @@
/** /**
* Created by knut on 14-12-20. * Created by knut on 14-12-20.
*/ */
// var log = require('../../logger').create();
exports.drawRect = function (elem, rectData) { exports.drawRect = function (elem, rectData) {
var rectElem = elem.append('rect') var rectElem = elem.append('rect')
rectElem.attr('x', rectData.x) rectElem.attr('x', rectData.x)
@@ -32,17 +31,9 @@ exports.drawText = function (elem, textData, width) {
if (typeof textData.class !== 'undefined') { if (typeof textData.class !== 'undefined') {
textElem.attr('class', textData.class) textElem.attr('class', textData.class)
} }
/* textData.text.split(/<br\/?>/ig).forEach(function(rowText){
var span = textElem.append('tspan');
span.attr('x', textData.x +textData.textMargin);
span.attr('dy', textData.dy);
span.text(rowText);
}); */
var span = textElem.append('tspan') var span = textElem.append('tspan')
// span.attr('x', textData.x);
span.attr('x', textData.x + textData.textMargin * 2) span.attr('x', textData.x + textData.textMargin * 2)
// span.attr('dy', textData.dy);
span.attr('fill', textData.fill) span.attr('fill', textData.fill)
span.text(nText) span.text(nText)
if (typeof textElem.textwrap !== 'undefined') { if (typeof textElem.textwrap !== 'undefined') {
@@ -73,8 +64,6 @@ exports.drawLabel = function (elem, txtObject) {
txtObject.x = txtObject.x + 0.5 * txtObject.labelMargin txtObject.x = txtObject.x + 0.5 * txtObject.labelMargin
txtObject.fill = 'white' txtObject.fill = 'white'
exports.drawText(elem, txtObject) exports.drawText(elem, txtObject)
// return textElem;
} }
var actorCnt = -1 var actorCnt = -1
/** /**
@@ -111,7 +100,7 @@ exports.drawActor = function (elem, left, verticalPos, description, conf) {
exports.drawRect(g, rect) exports.drawRect(g, rect)
_drawTextCandidateFunc(conf)(description, g, _drawTextCandidateFunc(conf)(description, g,
rect.x, rect.y, rect.width, rect.height, {'class': 'actor'}) rect.x, rect.y, rect.width, rect.height, { 'class': 'actor' })
} }
exports.anchorElement = function (elem) { exports.anchorElement = function (elem) {