index.html 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Grapheditor</title>
  5. <!--[if IE]>
  6. <meta http-equiv="X-UA-Compatible" content="IE=5,IE=9">
  7. <![endif]-->
  8. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  9. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  10. <link rel="stylesheet" type="text/css" href="styles/grapheditor.css">
  11. <script type="text/javascript">
  12. var urlParams = (function (url) {
  13. var result = {};
  14. var idx = url.lastIndexOf('?');
  15. if (idx > 0) {
  16. var params = url.substring(idx + 1).split('&');
  17. for (var i = 0; i < params.length; i++) {
  18. idx = params[i].indexOf('=');
  19. if (idx > 0) {
  20. result[params[i].substring(0, idx)] = params[i].substring(idx + 1);
  21. }
  22. }
  23. }
  24. return result;
  25. })(window.location.href);
  26. mxLoadResources = false;
  27. window.mxBasePath = "./src";
  28. </script>
  29. <script type="text/javascript" src="js/Init.js"></script>
  30. <script type="text/javascript" src="deflate/pako.min.js"></script>
  31. <script type="text/javascript" src="deflate/base64.js"></script>
  32. <script type="text/javascript" src="jscolor/jscolor.js"></script>
  33. <script type="text/javascript" src="sanitizer/sanitizer.min.js"></script>
  34. <script type="text/javascript" src="js/mxClient.js"></script>
  35. <script type="text/javascript" src="js/EditorUi.js"></script>
  36. <script type="text/javascript" src="js/Editor.js"></script>
  37. <script type="text/javascript" src="js/Sidebar.js"></script>
  38. <script type="text/javascript" src="js/Graph.js"></script>
  39. <script type="text/javascript" src="js/Format.js"></script>
  40. <script type="text/javascript" src="js/Shapes.js"></script>
  41. <script type="text/javascript" src="js/Actions.js"></script>
  42. <script type="text/javascript" src="js/Menus.js"></script>
  43. <script type="text/javascript" src="js/Toolbar.js"></script>
  44. <script type="text/javascript" src="js/Dialogs.js"></script>
  45. </head>
  46. <body class="geEditor">
  47. <script type="text/javascript">
  48. (function () {
  49. var editorUiInit = EditorUi.prototype.init;
  50. EditorUi.prototype.init = function () {
  51. editorUiInit.apply(this, arguments);
  52. this.actions.get('new').setEnabled(false);
  53. this.actions.get('export').setEnabled(false);
  54. this.actions.get('open').setEnabled(false);
  55. this.actions.get('import').setEnabled(false);
  56. this.actions.get('save').setEnabled(false);
  57. this.actions.get('saveAs').setEnabled(false);
  58. this.actions.get('export').setEnabled(false);
  59. };
  60. EditorUi.prototype.menubarHeight = 0;
  61. EditorUi.prototype.footerHeight = 0;
  62. mxResources.loadDefaultBundle = false;
  63. var bundle = mxResources.getDefaultBundle(RESOURCE_BASE, mxLanguage) || mxResources.getSpecialBundle(RESOURCE_BASE, mxLanguage);
  64. mxUtils.getAll([bundle, STYLE_PATH + '/default.xml'], function (xhr) {
  65. mxResources.parse(xhr[0].getText());
  66. var themes = {};
  67. themes[Graph.prototype.defaultThemeName] = xhr[1].getDocumentElement();
  68. var editorUi = new EditorUi(new Editor(urlParams['chrome'] == '0', themes));
  69. var graph = editorUi.editor.graph;
  70. graph.getModel().addListener(mxEvent.CHANGE, mxUtils.bind(editorUi, function() {
  71. window.parent.postMessage({
  72. act: 'change',
  73. params: {
  74. xml: mxUtils.getPrettyXml(editorUi.editor.getGraphXml())
  75. }
  76. }, '*');
  77. }));
  78. window.addEventListener("message", function(event){
  79. var data = event.data;
  80. switch (data.act) {
  81. case 'setXml':
  82. try {
  83. var defaultXml = mxUtils.parseXml(data.params.xml);
  84. editorUi.editor.setGraphXml(defaultXml.documentElement);
  85. } catch (e) {
  86. }
  87. break;
  88. }
  89. });
  90. window.parent.postMessage({
  91. act: 'ready',
  92. params: {}
  93. }, '*');
  94. }, function () {
  95. document.body.innerHTML = '<center style="margin-top:10%;">Error loading resource files. Please check browser console.</center>';
  96. });
  97. })();
  98. </script>
  99. </body>
  100. </html>