Properties
Name:
Title:
Comments:

Double click on a node in order to add a person. Drag a node onto another in order to change relationships.

This is the Org Chart Editor sample, but each node includes a TreeExpanderButton, and there are additional non-tree links connecting some of the nodes.

Diagram Model saved in JSON format:
{ "class": "go.GraphLinksModel", "nodeDataArray": [ {"key":"1", "name":"Corrado 'Junior' Soprano", "title":"The Boss"}, {"key":"2", "name":"Tony Soprano", "title":"Underboss"}, {"key":"3", "name":"Herman 'Hesh' Rabkin", "title":"Advisor"}, {"key":"4", "name":"Paulie Walnuts", "title":"Capo"}, {"key":"5", "name":"Ralph Cifaretto", "title":"Capo MIA"}, {"key":"6", "name":"Silvio Dante", "title":"Consigliere"}, {"key":"7", "name":"Bobby Baccilien", "title":"Capo"}, {"key":"8", "name":"Sal Bonpensiero", "title":"MIA"}, {"key":"9", "name":"Christopher Moltisanti", "title":"Made Man"}, {"key":"10", "name":"Furio Giunta", "title":"Muscle"}, {"key":"11", "name":"Patsy Parisi", "title":"Accountant"} ], "linkDataArray": [ {"from":"1", "to":"2"}, {"from":"1", "to":"3"}, {"from":"2", "to":"4"}, {"from":"2", "to":"5"}, {"from":"2", "to":"6"}, {"from":"2", "to":"7"}, {"from":"4", "to":"8"}, {"from":"4", "to":"9"}, {"from":"4", "to":"10"}, {"from":"4", "to":"11"}, {"from":"11", "to":"6", "category":"Support", "text":"50% support"}, {"from":"9", "to":"7", "category":"Motion", "text":"will change here in 2 months"} ] }

### GoJS Features in this sample

#### Table Panels

The "Table" Panel, Panel.Table, arranges objects in rows and columns. Each object in a Table Panel is put into the cell indexed by the value of GraphObject.row and GraphObject.column. The panel will look at the rows and columns for all of the objects in the panel to determine how many rows and columns the table should have. More information can be found in the GoJS Intro.

Related samples

#### Tree Layout

This predefined layout is used for placing Nodes of a tree-structured graph in layers (rows or columns). For discussion and examples of the most commonly used properties of the TreeLayout, see the Trees page in the Introduction. More information can be found in the GoJS Intro.

Related samples

#### ToolTips

A tooltip is an Adornment that is shown when the mouse hovers over an object that has its GraphObject.toolTip set. The tooltip part is bound to the same data as the part itself.

It is typical to implement a tooltip as a "ToolTip" Panel holding a TextBlock or a Panel of TextBlocks and other objects. Each "ToolTip" is just an "Auto" Panel Adornment that is shadowed, and where the border is a rectangular Shape with a light gray fill. However you can implement the tooltip as any arbitrarily complicated Adornment.

More information can be found in the GoJS Intro.

Related samples

#### Buttons

GoJS defines several Panels for common uses. These include "Button", "TreeExpanderButton", "SubGraphExpanderButton", "PanelExpanderButton", "ContextMenuButton", and "CheckBoxButton". "ContextMenuButton"s are typically used inside of "ContextMenu" Panels; "CheckBoxButton"s are used in the implementation of "CheckBox" Panels.

These predefined panels can be used as if they were Panel-derived classes in calls to GraphObject.make. They are implemented as simple visual trees of GraphObjects in Panels, with pre-set properties and event handlers.

More information can be found in the GoJS Intro.

Related samples