frontend: Bulk/Grouped/Parent nodes and associated functions
Closed this issue · 1 comments
From a UX standpoint, creating nodes individually to build a network is cumbersome.
Proposal: group nodes with similar attributes into a node-type to perform bulk functions, e.g create 20 nodes of this "node-type"
Proposing using specific attributes of nodes to group them, meaning all nodes of a node type share a specific set of attributes.
The attributes I think are worth considering are version
, latency
, ram
and cpu
.
A sha256
hash is used to create the unique "node-type" for nodes that share the same attributes.
The change is backwards compatible, we introduce no change to how the graphml structure is derived.
A feature implementation would be to include "node-type" details in the data attributes of the node in the graphml file. As the data attributes can take arbitrary key/value pairs this doesn't affect any previous implementation and keeps the grouped/node-type consistent on the frontend when reloading a saved graph
Task list
- group nodes with similar attributes
- bulk create nodes of a specific "node-type"
- edit a "node-type" to bulk edit nodes that share that "node-type"
- editing singular node should recalculate "node-type" and assign the node to any matching "node-type" or a new "node-type"
- bulk delete "node-type"
note: "node-type", "group", "grouped-nodes", "parent" all refer to the same concept
Going to close this for now as not planned. We can re-open in the future if needed.