bpmn.ftl 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  7. <#include "*/commonHeader.ftl">
  8. <script src="js/base64.min.js" type="text/javascript"></script>
  9. <#if currentUrl?contains("http://") || currentUrl?contains("https://") || currentUrl?contains("file://")>
  10. <#assign finalUrl="${currentUrl}">
  11. <#elseif currentUrl?contains("ftp://") >
  12. <#assign finalUrl="${currentUrl}">
  13. <#else>
  14. <#assign finalUrl="${baseUrl}${currentUrl}">
  15. </#if>
  16. <style>
  17. html, body, #diagram {
  18. height: 100%
  19. }
  20. </style>
  21. <title>kkFileView Bpmn</title>
  22. </head>
  23. <body>
  24. <h2>kkFileView Bpmn : ${fileName}</h2>
  25. <div id="diagram"></div>
  26. <!-- required modeler styles -->
  27. <link rel="stylesheet" href="bpmn/diagram-js.css">
  28. <link rel="stylesheet" href="bpmn/bpmn-js.css">
  29. <link rel="stylesheet" href="bpmn/css/bpmn.css">
  30. <!-- modeler distro -->
  31. <script src="bpmn/bpmn-modeler.development.js"></script>
  32. <script src="js/jquery-3.6.1.min.js"></script>
  33. <!-- app -->
  34. <script>
  35. const viewer = new BpmnJS({
  36. container: '#diagram'
  37. });
  38. var url = '${finalUrl}';
  39. var baseUrl = '${baseUrl}'.endsWith('/') ? '${baseUrl}' : '${baseUrl}' + '/';
  40. if (!url.startsWith(baseUrl)) {
  41. url = baseUrl + 'getCorsFile?urlPath=' + encodeURIComponent(Base64.encode(url));
  42. }
  43. async function showDiagram(diagramXML) {
  44. await viewer.importXML(diagramXML);
  45. }
  46. // load + show diagram
  47. $.get(url, showDiagram, 'text');
  48. </script>
  49. </body>
  50. </html>