This sample supports the normal kind of drag-and-drop from a Palette to a Diagram. The Data Inspector allows you to edit the properties of a selected node in the diagram.

This sample also supports dynamically adding a copy of a selected node in the diagram to the palette by the "Add To Palette" button. See the current state of the palette's model in the top textarea. The palette is Diagram.isReadOnly, so the user cannot delete selected nodes from the palette. But the "Delete From Palette" button removes any selected nodes from the palette.

Palette model:
Diagram model:
{ "class": "go.GraphLinksModel", "nodeDataArray": [ { "key": 1, "text": "hello", "figure":"Circle", "color":"green", "location":"0 0" }, { "key": 2, "text": "world", "figure":"Rectangle", "color":"red", "location":"100 0" } ], "linkDataArray": [ { "from":1, "to":2 } ]}