@lypratt. For some history. The diagram editor demo was a proof of concept application that we developed quite a while ago over the course of a weekend. We had obtained a demo license of Rappid, which is a great library and created the demo application. This demo application is not a product of ours and isn’t published open source either since it contains the proprietary Rappid code, that requires a license.
When building out the demo, we just listened to the exact events from jointjs that the demo app itself caused to be emitted. If the demo app (as written) didn’t use some portion of the jointjs library, we didn’t add code to handle that. Similar to you, it was just a quick proof of concetp.
However, a large portion of the integration only needs jointjs. So we extracted the code we (quickly) wrote for the demo, refactored it and improved it for the jointjs-utils library on github. I don’t think we ever went back to the graph demo to re-factor it to actually use the jointjs-utils.
The demo (for our purposes) works as is and it was never a priority to go back and clean it up, since we had never shared it with anyone. I think the version of Rappid in that demo is also quite old. So it’s not that there is an “old version” of the jointjs-utils in this demo. It’s that this demo was the precursor to the jointjs utils.
Long term, if this is something you want to use, I would suggest that we updated it for both the Rappid version, and to use the jointjs-utils project. We should probably get the latest version of Rappid and their demo app from ClientIO and then re-integrate the chanced.
Looking at the code for the diagram editor demo, I don’t think it ever the fromJSON method (outside of loading the initial graph). I believe this triggers the “reset” event on the “cells” inside the graph. In the demo app, I don’t think we are listening to that, which is likely why nothing is happening when you load the graph. The GraphAdapter is not listening for that event.
To point you in the right direction… I looked at how to port my fix into this code and will suggest some edits below.