jsoncanvas
jsoncanvas copied to clipboard
Proposal: Edges additional properties
I think some properties are missing to have the JSONCanvas standard to be adopted by awider range of apps.
type
property
It would be a good addition to have another property on the Edge
object:
type
which could have those values:
-
sharp
for sharp turns -
curved
for smooth turns (the default one) -
straight
no turns, a straight line betweenfromNode
andtoNode
See the example:
//edge object
{
...properties,
"type": "curved"
},
{
...properties,
"type": "sharp"
}
style
property
Having a canvas style would add more variety on edge styles.
style
would somehow follow the border
CSS property style:
-
solid
: For a solid line (the default one) -
dotted
: For a dotted line -
dashed
: For a dashed line -
mixed
: A mix betweendotted
anddashed
-
none
: To hide the edge without removing it
e.g:
//edge object
{
...properties,
"style": "solid"
},
{
...properties,
"style": "dashed"
},
{
...properties,
"style": "dotted"
},
{
...properties,
"style": "mixed"
},
{
...properties,
type: "none"
}
fromLabel
& toLabel
properties
For now we can only set a label to an edge, that would be supposedly displayed at the middle of it. What if we want to display a label that at the end or the beginning of the edge, or even both?
They would work like the label
property but used to be displayed at the start or/and the end of an edge.
Think about SQL schema n-m
relationships.
Those property would not be self exclusive and using the 3 labels properties would work.
{
...properties,
"fromLabel": "1",
"toLabel": "n",
"label": "1-n relationship"
},
{
...properties,
"fromLabel": "1"
},
{
...properties,
"toLabel": "*"
}