The following changes to the Dojo Diagrammer API enable
modules to be loaded asynchronously:
- The ibm_ilog.diagram.Graph.setSelect and ibm_ilog.diagram.Graph.setMove methods have an additional callback argument. This callback function is called when the Select or Move interactor is actually loaded and activated, because these interactors can now be loaded and activated asynchronously. Loading and activating these interactors asynchronously is useful only in exceptional cases, where you want to access the interactor in your code immediately after setting the flag. Most applications do not need to be changed.
- On mobile platforms, if you want to use the “annotations” features of the Diagram widget, you must first add a dependency on the "ibm_ilog/diagram/adorners/AnnotationAdorner" module in your application. This constraint does not apply on desktop platforms.
- The automatic detection of mobile devices to switch Dojo Diagrammer to mobile mode no longer works, because of the way the AMD loader works. If you want to reduce the download size of your application, you must set the diagramForMobile flag to true explicitly in the dojoConfig object.
- The template engine used by Dojo Diagrammer (dojox.dtl) has been updated to run in asynchronous mode, provided that the template dependencies are explicitly required. These dependencies include the DTL default tags and filters that were previously dynamically loaded automatically. For example, if your template includes some logic tags, such as "{% for", the dependency on "dojox/dtl/tag/logics" is required. This modification is only mandatory with the AMD loader in asynchronous mode.