Building a workflow tool and evaluating GoJS

Hi all! We are currently building a workflow type of tool and are evaluating GoJS among others. So far, so good. It appears to be a pretty powerful platform!

I do have a quick question, though, and hopefully an answer or two might save me quite a bit of time tinkering and fiddling about :)

I love the idea of the “palette”, as seen in some of the demos. But we have potentially hundreds of different “objects” that could in theory be dragged onto the canvas. Is it possible to have, say, a GoJS tree view in the palette area, and use that to browse and then drag/drop onto the main diagram canvas? I would prefer this approach if it is doable, because that tree view is really slick :)

Alternatively, would there be a way to drag/drop from a “palette” like area managed by jQuery, sitting adjacent to the diagram canvas?

Thanks much in advance for any guidance!


Yes, there are many possible alternatives, each with its own pros and cons.

A Palette is just a Diagram with several of its properties pre-set, so it would be easy to adapt the TreeView, GoJS Tree View, as a “palette”. Furthermore you could implement incremental or on-demand loading of subtrees, as demonstrated by Incremental Tree, in order to minimize start-up time.

Or you could use a tree and drag-and-drop implemented in HTML. See HTML Drag and Drop, and external Clipboard pasting and HTML Drag and Drop.

Or you could use a bunch of Palettes, each one in its own DIV. As one example, consider using an Accordion: Planogram

I’m confident there are many other potential solutions.

Thanks for the quick response! I’ll take a peek at the links you provided and see where it takes me :)