Skip to content

Proposal: Edges additional properties #27

Open
@chainlist

Description

@chainlist

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 between fromNode and toNode

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 between dotted and dashed
  • 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": "*"
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions