Do the elements of your diagram represent real-world objects - objects that can exist one at a time and cannot be easily duplicated? This demo shows how to manage a pool of objects that are either available in a stencil or already used on the canvas.
Drag the objects from the left stencil onto the canvas and notice that they are no longer available and cannot be duplicated.
The source code of this demo is available as part of the JointJS+ commercial license. Don't have a license yet? Start a trial and use the source code of this and many other demos for free, with no obligations, for 30 days.