This commit is contained in:
parent
019647b04a
commit
78556c6c98
@ -1,5 +1,9 @@
|
||||
# Changelog
|
||||
|
||||
## 1.4.0
|
||||
|
||||
Allow specifying shapes for nodes
|
||||
|
||||
## 1.3.0
|
||||
|
||||
Stream:
|
||||
|
@ -1,6 +1,6 @@
|
||||
# @sapphirecode/graphviz-builder
|
||||
|
||||
version: 1.3.x
|
||||
version: 1.4.x
|
||||
|
||||
constructing graphviz files using an easy typescript interface
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
import { NodeStyles } from '../enums/Styles';
|
||||
import { NodeShapes } from '../enums/Shapes';
|
||||
import { Element } from './Element';
|
||||
import { Color } from './Color';
|
||||
|
||||
@ -15,6 +16,7 @@ export class Node extends Element {
|
||||
public table_contents?: Array<Array<string>>;
|
||||
public style?: NodeStyles;
|
||||
public color?: Color;
|
||||
public shape?: NodeShapes;
|
||||
|
||||
public constructor (name: string, parent: string, label?: string) {
|
||||
super (name, parent);
|
||||
@ -47,6 +49,8 @@ export class Node extends Element {
|
||||
}
|
||||
if (this.style)
|
||||
attributes.push ({ name: 'style', value: this.style.toString () });
|
||||
if (this.shape)
|
||||
attributes.push ({ name: 'shape', value: this.shape.toString () });
|
||||
if (this.color)
|
||||
attributes.push ({ name: 'color', value: this.color.toString () });
|
||||
|
||||
|
63
lib/enums/Shapes.ts
Normal file
63
lib/enums/Shapes.ts
Normal file
@ -0,0 +1,63 @@
|
||||
type NodeShapes =
|
||||
''
|
||||
|'box'
|
||||
|'polygon'
|
||||
|'ellipse'
|
||||
|'oval'
|
||||
|'circle'
|
||||
|'point'
|
||||
|'egg'
|
||||
|'triangle'
|
||||
|'plaintext'
|
||||
|'plain'
|
||||
|'diamond'
|
||||
|'trapezium'
|
||||
|'parallelogram'
|
||||
|'house'
|
||||
|'pentagon'
|
||||
|'hexagon'
|
||||
|'septagon'
|
||||
|'octagon'
|
||||
|'doublecircle'
|
||||
|'doubleoctagon'
|
||||
|'tripleoctagon'
|
||||
|'invtriangle'
|
||||
|'invtrapezium'
|
||||
|'invhouse'
|
||||
|'Mdiamond'
|
||||
|'Msquare'
|
||||
|'Mcircle'
|
||||
|'rect'
|
||||
|'rectangle'
|
||||
|'square'
|
||||
|'star'
|
||||
|'none'
|
||||
|'underline'
|
||||
|'cylinder'
|
||||
|'note'
|
||||
|'tab'
|
||||
|'folder'
|
||||
|'box3d'
|
||||
|'component'
|
||||
|'promoter'
|
||||
|'cds'
|
||||
|'terminator'
|
||||
|'utr'
|
||||
|'primersite'
|
||||
|'restrictionsite'
|
||||
|'fivepoverhang'
|
||||
|'threepoverhang'
|
||||
|'noverhang'
|
||||
|'assembly'
|
||||
|'signature'
|
||||
|'insulator'
|
||||
|'ribosite'
|
||||
|'rnastab'
|
||||
|'proteasesite'
|
||||
|'proteinstab'
|
||||
|'rpromoter'
|
||||
|'rarrow'
|
||||
|'larrow'
|
||||
|'lpromoter'
|
||||
|
||||
export {NodeShapes}
|
@ -6,34 +6,14 @@
|
||||
*/
|
||||
|
||||
type EdgeStyles =
|
||||
''
|
||||
|'solid'
|
||||
|'dashed'
|
||||
|'dotted'
|
||||
|'bold'
|
||||
'' | 'bold' | 'dashed' | 'dotted' | 'solid'
|
||||
|
||||
|
||||
type NodeStyles =
|
||||
''
|
||||
|'solid'
|
||||
|'dashed'
|
||||
|'dotted'
|
||||
|'bold'
|
||||
|'rounded'
|
||||
|'diagonals'
|
||||
|'filled'
|
||||
|'striped'
|
||||
|'wedged'
|
||||
|'invis'
|
||||
'' | 'bold' | 'dashed' | 'diagonals' | 'dotted' | 'filled' | 'invis' | 'rounded' | 'solid' | 'striped' | 'wedged'
|
||||
|
||||
|
||||
type GraphStyles =
|
||||
'solid'
|
||||
| 'dashed'
|
||||
| 'dotted'
|
||||
| 'bold'
|
||||
| 'rounded'
|
||||
| 'filled'
|
||||
| 'striped'
|
||||
'bold' | 'dashed' | 'dotted' | 'filled' | 'rounded' | 'solid' | 'striped'
|
||||
|
||||
export { EdgeStyles, NodeStyles, GraphStyles };
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@sapphirecode/graphviz-builder",
|
||||
"main": "dist/lib/index.js",
|
||||
"version": "1.3.4",
|
||||
"version": "1.4.0",
|
||||
"author": {
|
||||
"name": "Timo Hocker",
|
||||
"email": "timo@scode.ovh"
|
||||
|
@ -8,7 +8,7 @@
|
||||
import { Node, Color } from '../../lib';
|
||||
|
||||
const serialized_simple
|
||||
= 'bar_foo [label="baz", style="dashed", color="#00ff00"]';
|
||||
= 'bar_foo [label="baz", style="dashed", shape="tripleoctagon", color="#00ff00"]';
|
||||
const serialized_table = `bar_foo [label=<<table>
|
||||
<tr><td>foo</td><td>bar</td><td>baz</td></tr>
|
||||
<tr><td>bar</td><td>baz</td><td>foo</td></tr>
|
||||
@ -21,6 +21,7 @@ describe ('node', () => {
|
||||
|
||||
g.color = Color.green;
|
||||
g.style = 'dashed';
|
||||
g.shape = 'tripleoctagon';
|
||||
|
||||
const serialized = g.toString ();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user