drawio.html 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. <!-- draw.io -->
  2. {% if getConfig('crowi', 'app:drawioUri') %}
  3. <script type="text/javascript">
  4. // refs: https://github.com/jgraph/drawio/blob/v13.4.3/etc/build/build.xml#L35-L38
  5. let url = new URL("{{ getConfig('crowi', 'app:drawioUri') }}");
  6. let origin = url.origin;
  7. window.DRAWIO_BASE_URL = origin;
  8. window.DRAWIO_LIGHTBOX_URL = origin;
  9. window.STENCIL_PATH = [origin, 'stencils'].join('/');
  10. window.SHAPES_PATH = [origin, 'shapes'].join('/');
  11. window.mxBasePath = [origin, 'mxgraph'].join('/');
  12. </script>
  13. {% endif %}
  14. <script type="text/javascript">
  15. // define callback function invoked by viewer.min.js of draw.io
  16. // refs: https://github.com/jgraph/drawio/blob/v12.9.1/etc/build/build.xml#L219-L232
  17. window.onDrawioViewerLoad = function() {
  18. const DrawioViewer = window.GraphViewer;
  19. if (DrawioViewer != null) {
  20. // disable useResizeSensor and checkVisibleState
  21. // for preventing resize event by viewer.min.js
  22. DrawioViewer.useResizeSensor = false;
  23. DrawioViewer.prototype.checkVisibleState = false;
  24. // initialize
  25. DrawioViewer.processElements();
  26. }
  27. };
  28. </script>