## GoJS Class Index

### Diagram Classes

- Adornment
- Animation
- AnimationManager
- AnimationTrigger
- CommandHandler
- Diagram
- DiagramEvent
- DraggingInfo
- DraggingOptions
- GraphObject
- Group
- InputEvent
- Layer
- Link
- Node
- Overview
- Palette
- Panel
- PanelLayout
- Part
- Picture
- Placeholder
- RowColumnDefinition
- Shape
- TextBlock

### Geometry Classes

- Brush
- Geometry
- Margin
- PathFigure
- PathSegment
- Point
- Rect
- Size
- Spot

### Model Classes

- Binding
- ChangedEvent
- GraphLinksModel
- Model
- Transaction
- TreeModel
- UndoManager
- IncrementalData

### Layout Classes

- CircularLayout
- ForceDirectedLayout
- GridLayout
- LayeredDigraphLayout
- Layout
- LayoutEdge
- LayoutNetwork
- LayoutVertex
- TreeLayout

### Tool Classes

- ActionTool
- ClickCreatingTool
- ClickSelectingTool
- ContextMenuTool
- DragSelectingTool
- DraggingTool
- HTMLInfo
- LinkReshapingTool
- LinkingBaseTool
- LinkingTool
- PanningTool
- RelinkingTool
- ResizingTool
- RotatingTool
- TextEditingTool
- Tool
- ToolManager

### Collection Classes

- List
- Map
- Set
- Iterable
- Iterator

### Extension Classes

- DrawCommandHandler
- Inspector
- LocalStorageCommandHandler
- Robot
- ZoomSlider

### Layout Extension Classes

- DoubleTreeLayout
- FishboneLayout
- PackedLayout
- ParallelLayout
- Quadtree
- RadialLayout
- SerpentineLayout
- SpiralLayout
- TableLayout
- TreeMapLayout

### Part Extension Classes

- BalloonLink
- DimensioningLink
- FishboneLink
- ParallelRouteLink

### Tool Extension Classes

- ColumnResizingTool
- CurvedLinkReshapingTool
- DragCreatingTool
- DragZoomingTool
- FreehandDrawingTool
- GeometryReshapingTool
- GuidedDraggingTool
- LinkLabelDraggingTool
- LinkLabelOnPathDraggingTool
- LinkShiftingTool
- NodeLabelDraggingTool
- NonRealtimeDraggingTool
- OrthogonalLinkReshapingTool
- OverviewResizingTool
- PolygonDrawingTool
- PolylineLinkingTool
- PortShiftingTool
- RealtimeDragSelectingTool
- ResizeMultipleTool
- RotateMultipleTool
- RowResizingTool
- SectorReshapingTool
- SnapLinkReshapingTool

### Storage Classes

- GoCloudStorage
- GoCloudStorageManager
- GoDropBox
- GoGoogleDrive
- GoLocalStorage
- GoOneDrive
- DiagramFile

## Type

### BrushLike : Brush | string | null

The BrushLike type is the same as `Brush | string | null`. A string in place of a Brush object is treated as a Solid Brush of that color.

### EasingFunction : function(currentTime: number, startValue: number, byValue: number, duration: number): number

An EasingFunction describes how much to modify a scalar value based on the current time, the start value, the change in value, and the duration.

#### Type declaration

### Key : string | number | undefined

The Key type is the same as `string | number | undefined`.

### MarginLike : Margin | number

The MarginLike type is the same as `Margin | number`. A number in place of a Margin object is treated as a uniform Margin with that thickness.

Copyright © 1998-2019 by Northwoods Software Corporation.