From 5512c0b244e865fbfeeae26654fa4f63416fca68 Mon Sep 17 00:00:00 2001 From: Henning Dieterichs Date: Wed, 30 Sep 2020 17:45:15 +0200 Subject: [PATCH] Adds style property to graph edges. --- .../graph-graphviz-visualizer/GraphvizGraphVisualizer.tsx | 4 ++-- .../graph/graph-visjs-visualizer/VisJsGraphViewer.tsx | 6 ++++-- visualization-bundle/src/visualizers/graph/sGraph.ts | 5 ++++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/visualization-bundle/src/visualizers/graph/graph-graphviz-visualizer/GraphvizGraphVisualizer.tsx b/visualization-bundle/src/visualizers/graph/graph-graphviz-visualizer/GraphvizGraphVisualizer.tsx index 7d025a4..4009d85 100644 --- a/visualization-bundle/src/visualizers/graph/graph-graphviz-visualizer/GraphvizGraphVisualizer.tsx +++ b/visualization-bundle/src/visualizers/graph/graph-graphviz-visualizer/GraphvizGraphVisualizer.tsx @@ -5,7 +5,7 @@ import { GraphvizDotViewer } from "../dot-graphviz-visualizer/GraphvizDotVisuali @observer export class GraphvizGraphViewer extends React.Component<{ nodes: { id: string; label?: string }[]; - edges: { from: string; to: string; label?: string }[]; + edges: { from: string; to: string; label?: string; style: string }[]; }> { render() { const { nodes, edges } = this.props; @@ -26,7 +26,7 @@ export class GraphvizGraphViewer extends React.Component<{ e.to }" [ label = ${JSON.stringify( e.label !== undefined ? e.label : "" - )} ];` + )} style = ${JSON.stringify(e.style || "")} ];` ) .join("\n")} } diff --git a/visualization-bundle/src/visualizers/graph/graph-visjs-visualizer/VisJsGraphViewer.tsx b/visualization-bundle/src/visualizers/graph/graph-visjs-visualizer/VisJsGraphViewer.tsx index 22143f5..0cf8781 100644 --- a/visualization-bundle/src/visualizers/graph/graph-visjs-visualizer/VisJsGraphViewer.tsx +++ b/visualization-bundle/src/visualizers/graph/graph-visjs-visualizer/VisJsGraphViewer.tsx @@ -21,7 +21,7 @@ export class VisJsGraphViewer extends React.Component<{ to: string; label?: string; color?: string; - dashes?: boolean; + dashes?: boolean | number[]; shape?: boolean; }>(); @@ -69,7 +69,9 @@ export class VisJsGraphViewer extends React.Component<{ from: n.from, to: n.to, color: n.color, - dashes: n.dashes, + dashes: { dashed: true, dotted: [1, 4], solid: false }[ + n.style || "solid" + ], }); } this.edges.forEach(item => { diff --git a/visualization-bundle/src/visualizers/graph/sGraph.ts b/visualization-bundle/src/visualizers/graph/sGraph.ts index 3dbf330..141a3a9 100644 --- a/visualization-bundle/src/visualizers/graph/sGraph.ts +++ b/visualization-bundle/src/visualizers/graph/sGraph.ts @@ -25,7 +25,10 @@ export const sGraphEdge = sOpenObject({ label: sOptionalProp(sString(), {}), id: sOptionalProp(sString(), {}), color: sOptionalProp(sString(), {}), - dashes: sOptionalProp(sBoolean(), {}), + style: sOptionalProp( + sUnion([sLiteral("solid"), sLiteral("dashed"), sLiteral("dotted")]), + {} + ), }).defineAs(visualizationNs("GraphEdge")); export const sGraph = sOpenObject({