Groups
In J-Graph, groups are the means of displaying nested (children) states in the script.
State and group display
Consider the following JAICP DSL code snippet. The state contents are omitted for brevity.
theme: /
state: Start
state: Symptoms
state: Positive
state: Negative
state: Unrecognized
By default, the canvas only displays states which don’t have any children.
When opening this script in J‑Graph, only the /Start
state will appear on the canvas.
The others will be collapsed into a group named after the /Symptoms
parent state.
Group navigation
Click the icon to open the group.
This will make the canvas look different: the states from the previous level of nesting will disappear and be replaced only by the states comprising the group.
After navigating to the group, you can work with the script as you usually do at the root level. All states created in J‑Graph within the group will appear as children states of the group parent in the source code. Just as in JAICP DSL, groups can be nested into one another to an arbitrary depth.
There are two additional script navigation tools when you are within a group:
-
The top panel displays the path to the group in the script state hierarchy. Here you can jump to any previous nesting level.
-
On the canvas, two additional elements are always present: Incoming links and Outgoing links. All links connecting the states from this group with those from others converge on them.
You can quickly navigate to all states listed in incoming and outgoing links by clicking
.