od-macroEditor.html 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>OneDrive Connector Editor</title>
  6. <script src="../new_common/cac.js" type="text/javascript"></script>
  7. <script src="../onedrive_common/ac.js" type="text/javascript"></script>
  8. <script src="../../js/spin/spin.min.js" type="text/javascript"></script>
  9. <script type="text/javascript">
  10. // Sets global environment variables
  11. RESOURCE_BASE = '/resources/dia';
  12. STENCIL_PATH = '/stencils';
  13. SHAPES_PATH = '/shapes';
  14. IMAGE_PATH = '/images';
  15. // Overrides browser language with Confluence user language
  16. var lang = AC.getUrlParam('loc');
  17. // Language is in the Connect URL
  18. if (lang != null)
  19. {
  20. var dash = lang.indexOf('-');
  21. if (dash >= 0)
  22. {
  23. mxLanguage = lang.substring(0, dash);
  24. }
  25. }
  26. </script>
  27. <script type="text/javascript" src="/js/viewer.min.js"></script>
  28. <script type="text/javascript" src="../vsdx/importer.js"></script>
  29. <link rel="stylesheet" href="//aui-cdn.atlassian.com/aui-adg/5.9.12/css/aui.min.css" media="all">
  30. <style type="text/css">
  31. body {
  32. font-family:Arial, sans-serif;
  33. overflow:hidden;
  34. height:100%;
  35. width:100%;
  36. margin:0;
  37. }
  38. .thumbnail {
  39. box-sizing: border-box;
  40. height: 100px;
  41. width: 100px;
  42. border: 1px solid #CCCCCC;
  43. border-radius: 3px;
  44. line-height: 94px;
  45. text-align:center;
  46. }
  47. #thumbImg {
  48. vertical-align:middle;
  49. max-width: 96px;
  50. max-height: 96px;
  51. }
  52. </style>
  53. </head>
  54. <body style="height:100%;">
  55. <div style="height:100%;">
  56. <div style="height:100%;width:350px;border-right:1px solid #cccccc;position:absolute;top:0px;display:inline-block;">
  57. <form class="aui top-label" style="height:100%;top:0px;">
  58. <div class="field-group" style="padding-left:15px;">
  59. <label for="filename">File name</label>
  60. <input class="text macro-param-input" type="text" id="filename" name="filename" disabled placeholder="Choose a file...">
  61. <button class="aui-button aui-button-primary ap-dialog-submit" id="filePicker" disabled>Choose</button>
  62. <div id="spinner-container"></div>
  63. <div class="description">OneDrive file name</div>
  64. <div class="error" id="filenameError"></div>
  65. </div>
  66. <div class="field-group" style="padding-left:15px;">
  67. <label for="width">Width</label> <input class="text medium-field" id="width" value="800">
  68. <div class="description">Width of the viewer (px)</div>
  69. <div class="error" id="widthError"></div>
  70. </div>
  71. <div class="field-group" style="padding-left:15px;">
  72. <label for="height">Height</label> <input class="text medium-field" id="height" value="600">
  73. <div class="description">Height of the viewer (px)</div>
  74. <div class="error" id="heightError"></div>
  75. </div>
  76. <div class="field-group" style="padding-left:15px;">
  77. <input class="checkbox small-field" id="autoSize" type="checkbox" >
  78. <label for="autoSize" style="display:inline-block;">Automatically set the size of the viewer</label>
  79. </div>
  80. <div id="thumbGroup" class="field-group" style="padding-left:15px;">
  81. <label for="thumbImg">Thumbnail</label>
  82. <div class="thumbnail">
  83. <img id="thumbImg">
  84. </div>
  85. </div>
  86. <div class="field-group" style="padding-left:15px;">
  87. <input type="checkbox" class="checkbox small-fiel" id="useDrawio">
  88. <label for="useDrawio" style="display:inline-block;">Preview in draw.io</label>
  89. </div>
  90. </form>
  91. </div>
  92. <div id="preview" style="height:100%;left:351px;position:absolute;top:0px;right:0px;display:inline-block;">
  93. <a style="display:block;text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);cursor:pointer"
  94. onclick="document.getElementById('filePicker').click();">Choose a file...</a>
  95. </div>
  96. </div>
  97. <script src="../onedrive_common/editor.js" type="text/javascript"></script>
  98. <script type="text/javascript">
  99. AC.$('#thumbGroup').style.display = 'none';
  100. OneDriveEditor(function(selectedFile, width, height, autoSize, selFileContent)
  101. {
  102. var useDrawio = selectedFile.isDrawio || AC.$('#useDrawio').checked;
  103. function saveMacro()
  104. {
  105. var macroParams =
  106. {
  107. filename : selectedFile.name,
  108. fileId : selectedFile.id,
  109. driveId: selectedFile.parentReference.driveId,
  110. width : width,
  111. height : height,
  112. isDrawio: useDrawio,
  113. aspect: selectedFile.aspect,
  114. autoSize: autoSize? '1' : '0',
  115. mimeType : selectedFile.file.mimeType,
  116. embeddedUrl : selectedFile.embeddedUrl,
  117. dummy: Date.now() //This allows adding the same file more than once
  118. };
  119. AP.confluence.saveMacro(macroParams);
  120. AP.confluence.closeMacroEditor();
  121. };
  122. if (useDrawio && selFileContent != null)
  123. {
  124. var modifiedTS = new Date(selectedFile.lastModifiedDateTime).getTime();
  125. AC.uploadCachedMxFile(selFileContent, modifiedTS + '_' + selectedFile.name, saveMacro, saveMacro); //Save without caching
  126. }
  127. else
  128. {
  129. saveMacro();
  130. }
  131. }, function(cp)
  132. {
  133. AP.confluence.getMacroData(cp);
  134. });
  135. </script>
  136. </body>
  137. </html>