diff --git a/examples/network/data/dotLanguage/dotEdgeStyles.html b/examples/network/data/dotLanguage/dotEdgeStyles.html
new file mode 100644
index 00000000..9d5644b0
--- /dev/null
+++ b/examples/network/data/dotLanguage/dotEdgeStyles.html
@@ -0,0 +1,197 @@
+
+
+
+ Network | DOT edge styles
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lib/network/dotparser.js b/lib/network/dotparser.js
index 9bb7e3c1..577f5ed9 100644
--- a/lib/network/dotparser.js
+++ b/lib/network/dotparser.js
@@ -52,6 +52,7 @@ var NODE_ATTR_MAPPING = {
};
var EDGE_ATTR_MAPPING = Object.create(NODE_ATTR_MAPPING);
EDGE_ATTR_MAPPING.color = 'color.color';
+EDGE_ATTR_MAPPING.style = 'dashes';
// token types enumeration
var TOKENTYPE = {
@@ -682,6 +683,13 @@ function parseEdge(graph, from) {
function parseAttributeList() {
var attr = null;
+ // edge styles of dot and vis
+ var edgeStyles = {
+ 'dashed': true,
+ 'solid': false,
+ 'dotted': [1, 5]
+ };
+
while (token === '[') {
getToken();
attr = {};
@@ -701,6 +709,12 @@ function parseAttributeList() {
throw newSyntaxError('Attribute value expected');
}
var value = token;
+
+ // convert from dot style to vis
+ if (name === 'style') {
+ value = edgeStyles[value];
+ }
+
setValue(attr, name, value); // name can be a path
getToken();
@@ -885,7 +899,6 @@ function DOTToGraph (data) {
}
}
- // TODO: support of solid/dotted/dashed edges (attr = 'style')
// TODO: support for attributes 'dir' and 'arrowhead' (edge arrows)
if (dotEdge.to instanceof Object) {