JointJS is a cross-browser JavaScript library for creating fully interactive diagrams.

It makes use of Raphaël.js, can connect vector objects with different types of arrowsand interact with connections + objects.

Joint JavaScript Diagrams Library

The library is plugin-based for extending easily and there are ready-to-use plugins for popular diagrams (ERD, Org chart, FSA, UML, PN, DEVS, LDM).

Objects can be drag 'n' dropped by still keeping the hierarchy created and there are callback functions provided on every level.

WebResourcesDepot Feed