浏览代码

5.6.0.5 release

David Benson 9 年之前
父节点
当前提交
b4e8847f12
共有 100 个文件被更改,包括 547 次插入391 次删除
  1. 5 0
      ChangeLog
  2. 1 1
      VERSION
  3. 15 390
      etc/build/build.xml
  4. 1 0
      etc/sandstorm/build/.sandstorm/.vagrant/machines/default/virtualbox/action_provision
  5. 1 0
      etc/sandstorm/build/.sandstorm/.vagrant/machines/default/virtualbox/action_set_name
  6. 1 0
      etc/sandstorm/build/.sandstorm/.vagrant/machines/default/virtualbox/creator_uid
  7. 1 0
      etc/sandstorm/build/.sandstorm/.vagrant/machines/default/virtualbox/id
  8. 1 0
      etc/sandstorm/build/.sandstorm/.vagrant/machines/default/virtualbox/index_uuid
  9. 27 0
      etc/sandstorm/build/.sandstorm/.vagrant/machines/default/virtualbox/private_key
  10. 1 0
      etc/sandstorm/build/.sandstorm/.vagrant/machines/default/virtualbox/synced_folders
  11. 19 0
      etc/sandstorm/build/.sandstorm/ChangeLog
  12. 26 0
      etc/sandstorm/build/.sandstorm/Makefile
  13. 103 0
      etc/sandstorm/build/.sandstorm/Vagrantfile
  14. 6 0
      etc/sandstorm/build/.sandstorm/build.sh
  15. 236 0
      etc/sandstorm/build/.sandstorm/client/export.html
  16. 二进制
      etc/sandstorm/build/.sandstorm/client/favicon.ico
  17. 二进制
      etc/sandstorm/build/.sandstorm/client/images/1x1.png
  18. 二进制
      etc/sandstorm/build/.sandstorm/client/images/2x2.png
  19. 二进制
      etc/sandstorm/build/.sandstorm/client/images/3x3.png
  20. 二进制
      etc/sandstorm/build/.sandstorm/client/images/ajax-loader.gif
  21. 二进制
      etc/sandstorm/build/.sandstorm/client/images/android-chrome-144x144.png
  22. 二进制
      etc/sandstorm/build/.sandstorm/client/images/android-chrome-192x192.png
  23. 二进制
      etc/sandstorm/build/.sandstorm/client/images/android-chrome-36x36.png
  24. 二进制
      etc/sandstorm/build/.sandstorm/client/images/android-chrome-48x48.png
  25. 二进制
      etc/sandstorm/build/.sandstorm/client/images/android-chrome-72x72.png
  26. 二进制
      etc/sandstorm/build/.sandstorm/client/images/android-chrome-96x96.png
  27. 二进制
      etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-114x114.png
  28. 二进制
      etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-120x120.png
  29. 二进制
      etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-144x144.png
  30. 二进制
      etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-152x152.png
  31. 二进制
      etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-180x180.png
  32. 二进制
      etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-57x57.png
  33. 二进制
      etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-60x60.png
  34. 二进制
      etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-72x72.png
  35. 二进制
      etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-76x76.png
  36. 二进制
      etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-precomposed.png
  37. 二进制
      etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon.png
  38. 12 0
      etc/sandstorm/build/.sandstorm/client/images/browserconfig.xml
  39. 二进制
      etc/sandstorm/build/.sandstorm/client/images/checkmark.gif
  40. 二进制
      etc/sandstorm/build/.sandstorm/client/images/chevron-down.png
  41. 二进制
      etc/sandstorm/build/.sandstorm/client/images/chevron-up.png
  42. 二进制
      etc/sandstorm/build/.sandstorm/client/images/clear.gif
  43. 二进制
      etc/sandstorm/build/.sandstorm/client/images/close.png
  44. 二进制
      etc/sandstorm/build/.sandstorm/client/images/collapsed.gif
  45. 二进制
      etc/sandstorm/build/.sandstorm/client/images/connector.png
  46. 二进制
      etc/sandstorm/build/.sandstorm/client/images/delete.png
  47. 二进制
      etc/sandstorm/build/.sandstorm/client/images/document-google-drive-icon-80.png
  48. 二进制
      etc/sandstorm/build/.sandstorm/client/images/download.png
  49. 二进制
      etc/sandstorm/build/.sandstorm/client/images/drawio448.png
  50. 二进制
      etc/sandstorm/build/.sandstorm/client/images/drawlogo128.png
  51. 二进制
      etc/sandstorm/build/.sandstorm/client/images/drawlogo256.png
  52. 二进制
      etc/sandstorm/build/.sandstorm/client/images/drawlogo48.png
  53. 13 0
      etc/sandstorm/build/.sandstorm/client/images/dropbox-logo-white.svg
  54. 11 0
      etc/sandstorm/build/.sandstorm/client/images/dropbox-logo.svg
  55. 二进制
      etc/sandstorm/build/.sandstorm/client/images/dropdown.gif
  56. 二进制
      etc/sandstorm/build/.sandstorm/client/images/dropdown.png
  57. 二进制
      etc/sandstorm/build/.sandstorm/client/images/droptarget.png
  58. 二进制
      etc/sandstorm/build/.sandstorm/client/images/edit.gif
  59. 二进制
      etc/sandstorm/build/.sandstorm/client/images/expanded.gif
  60. 二进制
      etc/sandstorm/build/.sandstorm/client/images/favicon-16x16.png
  61. 二进制
      etc/sandstorm/build/.sandstorm/client/images/favicon-194x194.png
  62. 二进制
      etc/sandstorm/build/.sandstorm/client/images/favicon-32x32.png
  63. 二进制
      etc/sandstorm/build/.sandstorm/client/images/favicon-96x96.png
  64. 二进制
      etc/sandstorm/build/.sandstorm/client/images/format-hide.png
  65. 二进制
      etc/sandstorm/build/.sandstorm/client/images/format-show.png
  66. 二进制
      etc/sandstorm/build/.sandstorm/client/images/fullscreen.png
  67. 二进制
      etc/sandstorm/build/.sandstorm/client/images/gadget-screenshot.png
  68. 二进制
      etc/sandstorm/build/.sandstorm/client/images/gadget-thumb.png
  69. 二进制
      etc/sandstorm/build/.sandstorm/client/images/glyphicons_blogger.png
  70. 二进制
      etc/sandstorm/build/.sandstorm/client/images/glyphicons_facebook.png
  71. 二进制
      etc/sandstorm/build/.sandstorm/client/images/glyphicons_google.png
  72. 二进制
      etc/sandstorm/build/.sandstorm/client/images/glyphicons_star.png
  73. 二进制
      etc/sandstorm/build/.sandstorm/client/images/glyphicons_twitter.png
  74. 二进制
      etc/sandstorm/build/.sandstorm/client/images/google-drive-connector-atlas.png
  75. 9 0
      etc/sandstorm/build/.sandstorm/client/images/google-drive-logo-white.svg
  76. 17 0
      etc/sandstorm/build/.sandstorm/client/images/google-drive-logo.svg
  77. 二进制
      etc/sandstorm/build/.sandstorm/client/images/grid.gif
  78. 二进制
      etc/sandstorm/build/.sandstorm/client/images/handle-connect.png
  79. 二进制
      etc/sandstorm/build/.sandstorm/client/images/handle-fixed.png
  80. 二进制
      etc/sandstorm/build/.sandstorm/client/images/handle-main.png
  81. 二进制
      etc/sandstorm/build/.sandstorm/client/images/handle-rotate.png
  82. 二进制
      etc/sandstorm/build/.sandstorm/client/images/handle-secondary.png
  83. 二进制
      etc/sandstorm/build/.sandstorm/client/images/handle-terminal.png
  84. 二进制
      etc/sandstorm/build/.sandstorm/client/images/help.png
  85. 二进制
      etc/sandstorm/build/.sandstorm/client/images/locked.png
  86. 二进制
      etc/sandstorm/build/.sandstorm/client/images/log.png
  87. 二进制
      etc/sandstorm/build/.sandstorm/client/images/logo-confluence.png
  88. 二进制
      etc/sandstorm/build/.sandstorm/client/images/logo-flat-small.png
  89. 二进制
      etc/sandstorm/build/.sandstorm/client/images/logo-flat.png
  90. 二进制
      etc/sandstorm/build/.sandstorm/client/images/logo-jira.png
  91. 二进制
      etc/sandstorm/build/.sandstorm/client/images/logo-small.gif
  92. 二进制
      etc/sandstorm/build/.sandstorm/client/images/logo-white.png
  93. 二进制
      etc/sandstorm/build/.sandstorm/client/images/logo.png
  94. 41 0
      etc/sandstorm/build/.sandstorm/client/images/manifest.json
  95. 二进制
      etc/sandstorm/build/.sandstorm/client/images/mstile-144x144.png
  96. 二进制
      etc/sandstorm/build/.sandstorm/client/images/mstile-150x150.png
  97. 二进制
      etc/sandstorm/build/.sandstorm/client/images/mstile-310x150.png
  98. 二进制
      etc/sandstorm/build/.sandstorm/client/images/mstile-310x310.png
  99. 二进制
      etc/sandstorm/build/.sandstorm/client/images/mstile-70x70.png
  100. 0 0
      etc/sandstorm/build/.sandstorm/client/images/nocolor.png

+ 5 - 0
ChangeLog

@@ -1,3 +1,8 @@
+13-SEP-2016: 5.0.6.5
+
+- Adds multiple (previous) predefined color sets
+- Adds Alt+(Shift+)Tab for select parent/child
+
 12-SEP-2016: 5.6.0.4
 
 - Uses mxGraph 3.6.0.1

+ 1 - 1
VERSION

@@ -1 +1 @@
-5.6.0.4
+5.6.0.5

+ 15 - 390
etc/build/build.xml

@@ -1,365 +1,12 @@
 <?xml version="1.0"?>
 <project basedir="." default="all">
-	
+	<import file="${basedir}/build-github.xml"/>
+
 	<property file="build.properties.local" />
 	<property file="build.properties" />
 	<taskdef name="jscomp" classname="com.google.javascript.jscomp.ant.CompileTask" classpath="${jscompiler}" />
 
-	<target name="merge">
-    	<concat destfile="${basedir}/../../build/shapes.js" fixlastline="yes" append="no">
-    		<fileset dir="${war.dir}/shapes" includes="**/*.js"/>
-    		<fileset dir="${war.dir}/stencils" includes="**/*.js"/>
-    	</concat>
-    	
-		<echo file="${war.dir}/stencils.xml" append="false"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>]]>${line.separator}</echo>
-		<echo file="${war.dir}/stencils.xml" append="true"><![CDATA[<stencils>]]>${line.separator}</echo>
-    	<concat destfile="${war.dir}/stencils.xml" fixlastline="yes" append="yes">
-    		<fileset dir="${war.dir}/shapes" includes="**/*.xml"/>
-    		<fileset dir="${war.dir}/stencils" includes="**/*.xml"/>
-    	</concat>
-    	<echo file="${war.dir}/stencils.xml" append="true"><![CDATA[</stencils>]]></echo>
-
-		<jscomp compilationLevel="simple" debug="false" forceRecompile="true" output="${war.dir}/js/shapes.min.js">
-			<sources dir="${basedir}/../../build">
-				<file name="shapes.js" />
-			</sources>
-		</jscomp>
-		
-		<tstamp>
-      		<format property="time.stamp" pattern="MM/dd/yyyy hh:mm aa" unit="hour"/>
-  		</tstamp>
-		
-		<echo file="${war.dir}/cache.manifest" append="false">CACHE MANIFEST${line.separator}${line.separator}</echo>
-		<echo file="${war.dir}/cache.manifest" append="true"># THIS FILE WAS GENERATED. DO NOT MODIFY!${line.separator}</echo>
-		<echo file="${war.dir}/cache.manifest" append="true"># ${time.stamp}${line.separator}${line.separator}</echo>
-    	<concat destfile="${war.dir}/cache.manifest" fixlastline="yes" append="yes">
-    		<fileset dir="${basedir}" includes="cache.txt"/>
-    	</concat>
-    	
-		<delete dir="${basedir}/../../build"/>
-	</target>
-
-	<target name="app" depends="merge">
-		<delete file=".tmp0.js"/>
-		<echo file=".tmp0.js">
-			var mxBasePath = 'https://www.draw.io/mxgraph/';
-			var mxLoadStylesheets = false;
-		</echo>
-
-		<delete file=".tmp1.js"/>
-		<copy file="${war.dir}/styles/default.xml" tofile=".tmp1.xml" overwrite="true"/>
-		<replaceregexp file=".tmp1.xml" match="\n" flags="g" replace=""/>
-		<replaceregexp file=".tmp1.xml" match="\t" flags="g" replace=""/>
-		<replaceregexp file=".tmp1.xml" match="'" replace="\\\\'" byline="true"/>
-		
-		<delete file="Graph-Stylesheet.js"/>
-		<echo file="Graph-Stylesheet.js">Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName] = mxUtils.parseXml('</echo>
-		<concat destfile="Graph-Stylesheet.js" fixlastline="no" append="yes">
-			<file name=".tmp1.xml" />
-    	</concat>
-		<echo file="Graph-Stylesheet.js" append="true">').documentElement;</echo>
-
-		<jscomp compilationLevel="simple" forceRecompile="true" debug="false" output="grapheditor.min.js">
-			<sources dir="${grapheditor.dir}">
-				<file name="Editor.js" />
-				<file name="EditorUi.js" />
-				<file name="Sidebar.js" />
-				<file name="Graph.js" />
-				<file name="Shapes.js" />
-				<file name="Actions.js" />
-				<file name="Menus.js" />
-				<file name="Format.js" />
-				<file name="Toolbar.js" />
-				<file name="Dialogs.js" />
-			</sources>
-		</jscomp>
-		
-		<jscomp compilationLevel="simple" debug="false" forceRecompile="true" output="sidebar.min.js">
-			<sources dir="${war.dir}/js/diagramly/sidebar">
-				<file name="Sidebar.js" />
-				<file name="Sidebar-Advanced.js" />
-				<file name="Sidebar-Android.js" />
-				<file name="Sidebar-ArchiMate.js" />
-				<file name="Sidebar-ArchiMate3.js" />
-				<file name="Sidebar-Arrows2.js" />
-				<file name="Sidebar-AWS.js" />
-				<file name="Sidebar-AWS3D.js" />
-				<file name="Sidebar-Azure.js" />
-				<file name="Sidebar-Basic.js" />
-				<file name="Sidebar-Bootstrap.js" />
-				<file name="Sidebar-BPMN.js" />
-				<file name="Sidebar-Cabinet.js" />
-				<file name="Sidebar-Citrix.js" />
-				<file name="Sidebar-EIP.js" />
-				<file name="Sidebar-Electrical.js" />
-				<file name="Sidebar-ER.js" />
-				<file name="Sidebar-Floorplan.js" />
-				<file name="Sidebar-Flowchart.js" />
-				<file name="Sidebar-Gmdl.js" />
-				<file name="Sidebar-Ios.js" />
-				<file name="Sidebar-Ios7.js" />
-				<file name="Sidebar-LeanMapping.js" />
-				<file name="Sidebar-Mockup.js" />
-				<file name="Sidebar-MSCAE.js" />
-				<file name="Sidebar-Network.js" />
-				<file name="Sidebar-Office.js" />
-				<file name="Sidebar-PID.js" />
-				<file name="Sidebar-Rack.js" />
-				<file name="Sidebar-Sysml.js" />
-			</sources>
-		</jscomp>
-
-		<jscomp compilationLevel="simple" forceRecompile="true" debug="false" output="${war.dir}/js/atlas-viewer.min.js">
-			<sources dir=".">
-				<file name=".tmp0.js"/>
-			</sources>
-			
-			<sources dir="${war.dir}/js/spin">
-				<file name="spin.min.js" />
-			</sources>
-				
-			<sources dir="${war.dir}/js/sanitizer">
-				<file name="sanitizer.min.js"/>
-			</sources>
-
-			<sources dir="${war.dir}/js/deflate">
-				<file name="base64.js" />
-				<file name="pako.min.js" />
-			</sources>
-			
-			<sources dir="${war.dir}/js/json">
-				<file name="json2.min.js" />
-			</sources>
-
-			<sources dir="${war.dir}/js/diagramly">
-				<file name="Init.js" />
-			</sources>
-
-			<sources dir="${grapheditor.dir}">
-				<file name="Init.js" />
-			</sources>
-
-			<sources dir="${basedir}/../mxgraph">
-				<file name="mxClient.js" />
-			</sources>
-
-			<sources dir="${grapheditor.dir}">
-				<file name="Editor.js" />
-				<file name="EditorUi.js" />
-				<file name="Graph.js" />
-				<file name="Shapes.js" />
-				<file name="Actions.js" />
-			</sources>
-			
-			<sources dir="${war.dir}/js/diagramly">
-				<file name="DrawioFile.js" />
-				<file name="LocalFile.js" />
-				<file name="EditorUi.js" />
-				<file name="Pages.js" />
-			</sources>
-					
-			<sources dir=".">
-				<file name="Graph-Stylesheet.js" />
-			</sources>
-
-			<sources dir="${war.dir}/js/diagramly">
-				<file name="GraphViewer.js" />
-			</sources>
-		</jscomp>
-		
-		<delete file=".tmp1.xml"/>
-
-		<echo file=".tmp1.js">
-			(function()
-			{
-				Editor.initMath();
-				GraphViewer.initCss();
-				mxStencilRegistry.dynamicLoading = false;
-				
-				if (window.onDrawioViewerLoad != null)
-				{
-					window.onDrawioViewerLoad();
-				}
-				else
-				{
-					GraphViewer.processElements();
-				}
-			})();
-		</echo>
-		
-		<jscomp compilationLevel="simple" forceRecompile="true" debug="false" output="${war.dir}/js/viewer.min.js">
-			<sources dir="${war.dir}/js">
-				<file name="atlas-viewer.min.js"/>
-			</sources>
-
-			<sources dir=".">
-				<file name=".tmp1.js"/>
-			</sources>
-		</jscomp>
-		
-		<delete file=".tmp0.js"/>
-		<delete file=".tmp1.js"/>
-
-		<jscomp compilationLevel="simple" debug="false" forceRecompile="true" output="${war.dir}/js/atlas.min.js">
-			<sources dir="${war.dir}/js/spin">
-				<file name="spin.min.js" />
-			</sources>
-
-			<sources dir="${war.dir}/js/sanitizer">
-				<file name="sanitizer.min.js" />
-			</sources>
-
-			<sources dir="${war.dir}/js/deflate">
-				<file name="pako.min.js" />
-				<file name="base64.js" />
-			</sources>
-			
-			<sources dir="${war.dir}/js/json">
-				<file name="json2.min.js"/>
-			</sources>
-
-			<sources dir="${war.dir}/js/diagramly">
-				<file name="Init.js" />
-			</sources>
-
-			<sources dir="${grapheditor.dir}">
-				<file name="Init.js" />
-			</sources>
-
-			<sources dir="${basedir}/../mxgraph">
-				<file name="mxClient.js" />
-			</sources>
-			
-			<sources dir=".">
-				<file name="grapheditor.min.js"/>
-				<file name="sidebar.min.js"/>
-			</sources>
-
-			<sources dir="${war.dir}/js/diagramly">
-				<file name="DrawioFile.js" />
-				<file name="LocalFile.js" />
-				<file name="LocalLibrary.js" />
-				<file name="StorageFile.js" />
-				<file name="StorageLibrary.js" />
-				<file name="Dialogs.js" />
-				<file name="EditorUi.js" />
-				<file name="Settings.js" />
-				<file name="App.js" />
-				<file name="Menus.js" />
-				<file name="Pages.js" />
-			</sources>
-				
-			<sources dir=".">
-				<file name="Graph-Stylesheet.js" />
-			</sources>
-		</jscomp>
-
-		<loadfile property="version" srcFile="../../VERSION"/>
-		<replace file="${war.dir}/js/atlas.min.js" token="@DRAWIO-VERSION@" value="${version}"/>
-		
-		<jscomp compilationLevel="simple" debug="false" forceRecompile="true" output="${war.dir}/js/extensions.min.js">
-			<sources dir="${war.dir}/js/diagramly">
-				<file name="Extensions.js" />
-			</sources>
-		</jscomp>
-		
-		<jscomp compilationLevel="simple" debug="false" forceRecompile="true" output="${war.dir}/js/app.min.js">
-			<sources dir="${war.dir}/js/spin">
-				<file name="spin.min.js" />
-			</sources>
-
-			<sources dir="${war.dir}/js/sanitizer">
-				<file name="sanitizer.min.js" />
-			</sources>
-
-			<sources dir="${war.dir}/js/deflate">
-				<file name="pako.min.js" />
-				<file name="base64.js" />
-			</sources>
-
-			<sources dir="${war.dir}/js/diagramly">
-				<file name="Init.js" />
-			</sources>
-
-			<sources dir="${grapheditor.dir}">
-				<file name="Init.js" />
-			</sources>
-
-			<sources dir="${basedir}/../mxgraph">
-				<file name="mxClient.js" />
-			</sources>
-
-			<sources dir=".">
-				<file name="grapheditor.min.js"/>
-				<file name="sidebar.min.js"/>
-			</sources>
-
-			<sources dir="${war.dir}/js/diagramly">
-				<file name="DrawioFile.js" />
-				<file name="LocalFile.js" />
-				<file name="LocalLibrary.js" />
-				<file name="StorageFile.js" />
-				<file name="StorageLibrary.js" />
-				<file name="Dialogs.js" />
-				<file name="EditorUi.js" />
-				<file name="Settings.js" />
-			</sources>
-				
-			<sources dir=".">
-				<file name="Graph-Stylesheet.js" />
-			</sources>
-
-			<sources dir="${war.dir}/js/dropbox">
-				<file name="dropbox.min.js" />
-			</sources>
-
-			<sources dir="${war.dir}/js/diagramly/util">
-				<file name="mxAsyncCanvas.js" />
-				<file name="mxJsCanvas.js" />
-			</sources>
-
-			<sources dir="${war.dir}/js/diagramly">
-				<file name="DrawioUser.js" />
-				<file name="UrlLibrary.js" />
-				<file name="DriveRealtime.js" />
-				<file name="RealtimeMapping.js" />
-				<file name="DriveFile.js" />
-				<file name="DriveLibrary.js" />
-				<file name="DriveClient.js" />
-				<file name="DropboxClient.js" />
-				<file name="DropboxFile.js" />
-				<file name="DropboxLibrary.js" />
-				<file name="OneDriveFile.js" />
-				<file name="OneDriveLibrary.js" />
-				<file name="OneDriveClient.js" />
-				<file name="ChatWindow.js" />
-			</sources>
-			
-			<sources dir="${war.dir}/js/diagramly">
-				<file name="App.js" />
-				<file name="Menus.js" />
-				<file name="Pages.js" />
-			</sources>
-		</jscomp>
-		
-		<replace file="${war.dir}/js/app.min.js" token="@DRAWIO-VERSION@" value="${version}"/>
-
-		<delete file="Graph-Stylesheet.js"/>
-		<delete file="grapheditor.min.js"/>
-		<delete file="sidebar.min.js"/>
-
-		<jscomp compilationLevel="simple" debug="false" forceRecompile="true" output="${war.dir}/js/atlas.min.js">
-			<sources dir="${war.dir}/js">
-				<file name="atlas.min.js" />
-			</sources>
-
-			<sources dir="${war.dir}/connect/common/js">
-				<file name="mxReader.js" />
-			</sources>
-		</jscomp>
-	</target>
-
-	<target name="reader" depends="app">
+	<target name="reader" depends="atlas">
 		<delete file=".tmp0.js"/>
 		<echo file=".tmp0.js">
 			var mxBasePath = 'https://www.draw.io/mxgraph/';
@@ -439,7 +86,7 @@
 		<replaceregexp file="${war.dir}/js/embed.min.js" match="}\)\(\);$" replace=""/>
 	</target>
 	
-	<target name="clean-desktop" depends="app">
+	<target name="clean-desktop" depends="atlas">
 		<delete dir="${desktop.dir}/js" />
 		<delete dir="${desktop.dir}/images" />
 		<delete dir="${desktop.dir}/img" />
@@ -527,40 +174,18 @@
   		</zip>
 	</target>
 
-	<target name="all" depends="build-desktop,reader">
-	</target>
-
-	<!-- ================== Stand-alone war creation ============================= -->
-
-	<path id="javac.class.path">
-		<fileset dir="${war.dir}/WEB-INF/lib" includes="mxgraph-core.jar" />
-		<fileset dir="${imageexport.dir}/jars" includes="servlet-api-2.5.jar" />
-	</path>
-
-	<target name="javac">
-		<mkdir dir="${javac.dir}"/>
-		<javac srcdir="${src.dir}" excludes="**/EmbedServlet.java" encoding="utf-8" destdir="${javac.dir}" source="1.7" target="1.7" debug="true" debuglevel="lines,vars,source">
-			<classpath refid="javac.class.path" />
-		</javac>
-		<copy todir="${javac.dir}/META-INF">
-			<fileset dir="${src.dir}/META-INF">
-			</fileset>
-		</copy>
-		<copy todir="${javac.dir}" file="${src.dir}/log4j.properties" />
-	</target>
-
-	<target name="clean-war" depends="javac" description="Create the stand-alone war file">
-		<delete failonerror="false">
-			<fileset dir="${javac.dir}">
-			</fileset>
-			<fileset dir="${build.dir}">
-			</fileset>
-		</delete>
+	<target name="atlas" depends="app">
+		<jscomp compilationLevel="simple" debug="false" forceRecompile="true" output="${war.dir}/js/atlas.min.js">
+			<sources dir="${war.dir}/js">
+				<file name="atlas.min.js" />
+			</sources>
+	
+			<sources dir="${war.dir}/connect/common/js">
+				<file name="mxReader.js" />
+			</sources>
+		</jscomp>
 	</target>
 	
-	<target name="war" depends="javac" description="Create the stand-alone war file">
-		<zip excludes="**/appengine*.jar,**/jsr*.jar,**/junit*.jar"  destfile="${build.dir}/${war.name}" basedir="${war.dir}" >
-		</zip>
+	<target name="all" depends="build-desktop,reader">
 	</target>
-
 </project>

+ 1 - 0
etc/sandstorm/build/.sandstorm/.vagrant/machines/default/virtualbox/action_provision

@@ -0,0 +1 @@
+1.5:51d5a026-11a5-421a-88d4-7f3713668157

+ 1 - 0
etc/sandstorm/build/.sandstorm/.vagrant/machines/default/virtualbox/action_set_name

@@ -0,0 +1 @@
+1473708649

+ 1 - 0
etc/sandstorm/build/.sandstorm/.vagrant/machines/default/virtualbox/creator_uid

@@ -0,0 +1 @@
+501

+ 1 - 0
etc/sandstorm/build/.sandstorm/.vagrant/machines/default/virtualbox/id

@@ -0,0 +1 @@
+51d5a026-11a5-421a-88d4-7f3713668157

+ 1 - 0
etc/sandstorm/build/.sandstorm/.vagrant/machines/default/virtualbox/index_uuid

@@ -0,0 +1 @@
+9e1a881e301c4ba7b3d69252ce260b0a

+ 27 - 0
etc/sandstorm/build/.sandstorm/.vagrant/machines/default/virtualbox/private_key

@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAm9KFsTQ7HcOAmLcLGV/95SXTCY+LJqGbgjlMfbWRSj9ZyXa7
+Lv/kTUP1TWVJLDH9iFma7gU8km9i+90khgUk8T+YQ+xmSBe/WkvBYInJCxwSqg9m
+lWg2p9H5AvjAC7+UF48rph8TaloB/oMhwS6kU4jl6v1dsmF9t1JFQid5jWYM0e1e
+jSgdDlZ0AK2ucEH2+215nYPuZdNEKZwaBNs4LGW/Z5k94NdxXQfGXPgHR5EoIxq5
+lWkp8ckfw5qOnNESQ/qpQnC8O1V5OfNHP9lo+ZH5Jg9eoKGtDpyLYhSs3ww5p2JV
+bI+u+ltfdunbo/N9hQzDkac41H0HnNQb7MVCWQIDAQABAoIBAFqh9Z8feS8Tsq2g
+8fS9b6kj+f76nf5HS3NQLpyDylE8TdYvmCp7Lmh+maR9wDTTktsG+2VsaFHoNdO3
+SfIl9dnYmpEPZGKUZXl4zK6BFg2/M1/0+z710ayFJehDlTiAIvwdC09hjeJzHevS
+jASYQ35PByRKYIBL0lqZoK0c1seV5nxlgw8S4HwjaA2ETImuD6pa7C0nvJQ6HZYK
+3WDka5ZIR+d5XmK3R+P8q7ibid4hE99VrKJqpXdN1kTIHPy+WublZC7wb3GoK6B8
+RvbleDuiw34s7ezlIdjKLQxEe2DCwl8sOY4YRmSbEjerXXXKIjEn26IcMifqjAGu
+ZCheUwECgYEAzSNi0TjVd/uqKNbUZI6+RO2JZ2iVQwkAZpcM/M+/IqcSd7Ah+DYC
+PzaWPOclr+0/haUo0quk/rg09WgHo6eqYkt4kE1xuqHOk+mKISbsb3l2lUO2CzFc
+CZZwWPj7cxt4gtWzNvV1ONPygm6GIctvTnXvLbnnld3Gk6J1mHwes/kCgYEAwnTw
+kaMSpx8EdR4e4KGAhEGgJNKNj3+6Ugsy5zbGzbDDmc/4VmjFh9JsyLwYGhR5jbJy
+CjX5tUTMgdxOhNFcOmwV2ESigAY0bHckNvdgliA3+oAFGHUkKXa8PRzRGadv1Kay
+6Ja/2Tj0oJlThsw/0SZg+SLhJ0Vq06nRLG592WECgYA6lUx3K5/q7/gcSZ3GSe2U
+ibGf0oIt7rgqlCClYj7Xipb/j1FkLShfHRuysOBWaY6mgBA0echY5gpZuyfTWOKT
+x7HapANCpUr1etBzv0XuX+W5ouiuMZ5zLn9PKWvF56Z21sijfV3IqN6s2Rt9MzfK
+VGvFxz2X0woOx2qF7YxnIQKBgBxzqcNVXeRP+IH+Xzw0xS4UwA7DM+08HhHlC5Sj
+AiGUbHoz4L0b5VMDKeGRC+G8/zAJXQA7d4bbQyT5DBAI5fqyV9vl5vTec4svP4A/
+X8V3f1lKo/Q5J4pdkhtK/RlI02cE4QaBEB8DY1+gL4V4mxnKCMRLIzBwyrmfjjh3
+DjjhAoGBAIwDOEMBrn8btQWri4zRXGj5JtXr6fFnawkUBeKkJF66sRW6/Vx5rcsz
+vbCxpg8zOpQ9xB29YImV/JhDdm+DTKsv8SxNhvrY1TCS7oXyTIFNNmxGCS8MjSVE
+p4CUkhKRCNOXfmO6i+kT71+A72x13PeK3RL1JRiJedD7e6sWPYTA
+-----END RSA PRIVATE KEY-----

+ 1 - 0
etc/sandstorm/build/.sandstorm/.vagrant/machines/default/virtualbox/synced_folders

@@ -0,0 +1 @@
+{"virtualbox":{"/opt/app":{"guestpath":"/opt/app","hostpath":"/Users/david/dev/drawio/etc/sandstorm/build","disabled":false,"__vagrantfile":true},"/host-dot-sandstorm":{"guestpath":"/host-dot-sandstorm","hostpath":"/Users/david/.sandstorm","disabled":false,"__vagrantfile":true}}}

+ 19 - 0
etc/sandstorm/build/.sandstorm/ChangeLog

@@ -0,0 +1,19 @@
+09-SEP-2016: 5.6.0.3
+
+- Updates to draw.io 5.6.0.3
+- Fixes Saving... status
+- Adds read-only permission option
+
+28-AUG-2015: 5.0.2.3
+
+- Updates to draw.io 5.0.2.3
+
+06-FEB-2015: 0.1.1.0
+
+- Fixes external image export (probably)
+- Fixes iconfinder calls (probably)
+- Updates draw to head
+
+02-FEB-2015: 0.1.0.0
+
+- Initial release

+ 26 - 0
etc/sandstorm/build/.sandstorm/Makefile

@@ -0,0 +1,26 @@
+CXX=g++
+CXXFLAGS=-O2 -Wall
+CXXFLAGS2=-std=c++1y -Itmp $(CXXFLAGS)
+SANDSTORM_CAPNP_DIR=/opt/sandstorm/latest/usr/include
+
+.PHONEY: all clean dev
+
+package.spk: server sandstorm-pkgdef.capnp empty
+	spk pack --keyring="drawio.key" package.spk
+
+dev: server sandstorm-pkgdef.capnp empty
+	spk dev
+
+clean:
+	rm -rf tmp server package.spk empty
+
+tmp/genfiles:
+	@mkdir -p tmp
+	capnp compile --src-prefix=$(SANDSTORM_CAPNP_DIR) -oc++:tmp $(SANDSTORM_CAPNP_DIR)/sandstorm/*.capnp
+	@touch tmp/genfiles
+
+server: tmp/genfiles server.c++
+	$(CXX) -static server.c++ tmp/sandstorm/*.capnp.c++ -o server $(CXXFLAGS2) `pkg-config capnp-rpc --cflags --libs`
+
+empty:
+	mkdir -p empty

+ 103 - 0
etc/sandstorm/build/.sandstorm/Vagrantfile

@@ -0,0 +1,103 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+# Guess at a reasonable name for the VM based on the folder vagrant-spk is
+# run from.  The timestamp is there to avoid conflicts if you have multiple
+# folders with the same name.
+VM_NAME = File.basename(File.dirname(File.dirname(__FILE__))) + "_sandstorm_#{Time.now.utc.to_i}"
+
+# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+  # Base on the Sandstorm snapshots of the official Debian 8 (jessie) box.
+  config.vm.box = "sandstorm/debian-jessie64"
+
+  if Vagrant.has_plugin?("vagrant-vbguest") then
+    # vagrant-vbguest is a Vagrant plugin that upgrades
+    # the version of VirtualBox Guest Additions within each
+    # guest. If you have the vagrant-vbguest plugin, then it
+    # needs to know how to compile kernel modules, etc., and so
+    # we give it this hint about operating system type.
+    config.vm.guest = "debian"
+  end
+
+  # We forward port 6080, the Sandstorm web port, so that developers can
+  # visit their sandstorm app from their browser as local.sandstorm.io:6080
+  # (aka 127.0.0.1:6080).
+  config.vm.network :forwarded_port, guest: 6080, host: 6080
+
+  # Use a shell script to "provision" the box. This installs Sandstorm using
+  # the bundled installer.
+  config.vm.provision "shell", inline: "sudo bash /opt/app/.sandstorm/global-setup.sh", keep_color: true
+  # Then, do stack-specific and app-specific setup.
+  config.vm.provision "shell", inline: "sudo bash /opt/app/.sandstorm/setup.sh", keep_color: true
+
+  # Shared folders are configured per-provider since vboxsf can't handle >4096 open files,
+  # NFS requires privilege escalation every time you bring a VM up,
+  # and 9p is only available on libvirt.
+
+  # Calculate the number of CPUs and the amount of RAM the system has,
+  # in a platform-dependent way; further logic below.
+  cpus = nil
+  total_kB_ram = nil
+
+  host = RbConfig::CONFIG['host_os']
+  if host =~ /darwin/
+    cpus = `sysctl -n hw.ncpu`.to_i
+    total_kB_ram =  `sysctl -n hw.memsize`.to_i / 1024
+  elsif host =~ /linux/
+    cpus = `nproc`.to_i
+    total_kB_ram = `grep MemTotal /proc/meminfo | awk '{print $2}'`.to_i
+  elsif host =~ /mingw/
+    # powershell may not be available on Windows XP and Vista, so wrap this in a rescue block
+    begin
+      cpus = `powershell -Command "(Get-WmiObject Win32_Processor -Property NumberOfLogicalProcessors | Select-Object -Property NumberOfLogicalProcessors | Measure-Object NumberOfLogicalProcessors -Sum).Sum"`.to_i
+      total_kB_ram = `powershell -Command "Get-CimInstance -class cim_physicalmemory | % $_.Capacity}"`.to_i / 1024
+    rescue
+    end
+  end
+  # Use the same number of CPUs within Vagrant as the system, with 1
+  # as a default.
+  #
+  # Use at least 512MB of RAM, and if the system has more than 2GB of
+  # RAM, use 1/4 of the system RAM. This seems a reasonable compromise
+  # between having the Vagrant guest operating system not run out of
+  # RAM entirely (which it basically would if we went much lower than
+  # 512MB) and also allowing it to use up a healthily large amount of
+  # RAM so it can run faster on systems that can afford it.
+  if cpus.nil? or cpus.zero?
+    cpus = 1
+  end
+  if total_kB_ram.nil? or total_kB_ram < 2048000
+    assign_ram_mb = 512
+  else
+    assign_ram_mb = (total_kB_ram / 1024 / 4)
+  end
+  # Actually apply these CPU/memory values to the providers.
+  config.vm.provider :virtualbox do |vb, override|
+    vb.cpus = cpus
+    vb.memory = assign_ram_mb
+    vb.name = VM_NAME
+    vb.customize ["modifyvm", :id, "--nictype1", "Am79C973"]
+
+    # /opt/app and /host-dot-sandstorm are used by vagrant-spk
+    override.vm.synced_folder "..", "/opt/app"
+    override.vm.synced_folder ENV["HOME"] + "/.sandstorm", "/host-dot-sandstorm"
+    # /vagrant is not used by vagrant-spk; we need this line so it gets disabled; if we removed the
+    # line, vagrant would automatically insert a synced folder in /vagrant, which is not what we want.
+    override.vm.synced_folder "..", "/vagrant", disabled: true
+  end
+  config.vm.provider :libvirt do |libvirt, override|
+    libvirt.cpus = cpus
+    libvirt.memory = assign_ram_mb
+    libvirt.default_prefix = VM_NAME
+
+    # /opt/app and /host-dot-sandstorm are used by vagrant-spk
+    override.vm.synced_folder "..", "/opt/app", type: "9p", accessmode: "passthrough"
+    override.vm.synced_folder ENV["HOME"] + "/.sandstorm", "/host-dot-sandstorm", type: "9p", accessmode: "passthrough"
+    # /vagrant is not used by vagrant-spk; we need this line so it gets disabled; if we removed the
+    # line, vagrant would automatically insert a synced folder in /vagrant, which is not what we want.
+    override.vm.synced_folder "..", "/vagrant", type: "9p", accessmode: "passthrough", disabled: true
+  end
+end

+ 6 - 0
etc/sandstorm/build/.sandstorm/build.sh

@@ -0,0 +1,6 @@
+#! /bin/bash
+#
+# Copyright (c) 2016, JGraph Ltd
+BUILD="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+cd $BUILD
+make server

+ 236 - 0
etc/sandstorm/build/.sandstorm/client/export.html

@@ -0,0 +1,236 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<script>
+		var mathJaxQueue = [];
+		
+		// Disables global typesetting and messages on startup, adds queue for
+		// asynchronous rendering while MathJax is loading
+		window.MathJax =
+		{
+			skipStartupTypeset: true,
+			messageStyle: 'none',
+			AuthorInit: function ()
+			{
+				MathJax.Hub.Register.StartupHook('Begin', function()
+				{
+					for (var i = 0; i < mathJaxQueue.length; i++)
+					{
+						MathJax.Hub.Queue(['Typeset', MathJax.Hub, mathJaxQueue[i]]);
+					}
+				});
+		    }
+		};
+	
+		// Adds global enqueue method for async rendering
+		window.MathJaxRender = function(container)
+		{
+			// Initial rendering when MathJax finished loading
+			if (typeof(MathJax) !== 'undefined' && typeof(MathJax.Hub) !== 'undefined')
+			{
+				MathJax.Hub.Queue(['Typeset', MathJax.Hub, container]);
+			}
+			else
+			{
+				mathJaxQueue.push(container);
+			}
+		}
+	</script>
+    <script src="https://cdn.mathjax.org/mathjax/2.6-latest/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script>
+	<script>
+		var urlParams = (function(url)
+		{
+			var result = new Object();
+			var params = window.location.search.slice(1).split('&');
+			
+			for (var i = 0; i < params.length; i++)
+			{
+				idx = params[i].indexOf('=');
+				
+				if (idx > 0)
+				{
+					result[params[i].substring(0, idx)] = params[i].substring(idx + 1);
+				}
+			}
+			
+			return result;
+		})(window.location.href);
+		
+		// Removes unused dependencies
+		urlParams['analytics'] = '0';
+		urlParams['picker'] = '0';
+		urlParams['gapi'] = '0';
+		urlParams['db'] = '0';
+		
+		// Public global variables
+		var MAX_REQUEST_SIZE = 10485760;
+		var MAX_AREA = 10000 * 10000;
+
+		// Paths and files
+		var STENCIL_PATH = 'stencils';
+		var SHAPES_PATH = 'shapes';
+		var IMAGE_PATH = 'images';
+		// Path for images inside the diagram
+		var GRAPH_IMAGE_PATH = 'img';
+		var STYLE_PATH = 'styles';
+		var CSS_PATH = 'styles';
+		
+		// Directory for i18 files and basename for main i18n file
+		var RESOURCES_PATH = 'resources';
+		var RESOURCE_BASE = RESOURCES_PATH + '/dia';
+	
+		// Specifies connection mode for touch devices (at least one should be true)
+		var isLocalStorage = false;
+		var uiTheme = null;
+
+		// Sets the base path, the UI language via URL param and configures the
+		// supported languages to avoid 404s. The loading of all core language
+		// resources is disabled as all required resources are in grapheditor.
+		// properties. Note that in this example the loading of two resource
+		// files (the special bundle and the default bundle) is disabled to
+		// save a GET request. This requires that all resources be present in
+		// the special bundle.
+		var mxLoadResources = false;
+		var mxLanguage = 'en'
+		var geBasePath = 'js';
+		var mxBasePath = 'mxgraph';
+
+		function render(data)
+		{
+			mxConstants.SHADOWCOLOR = '#000000';
+			mxConstants.SHADOW_OPACITY = 0.25;
+
+			var graph = new Graph(document.getElementById('graph'));
+			graph.foldingEnabled = false;
+			graph.setEnabled(false);
+			
+			if (data.math)
+			{
+				mxClient.NO_FO = true;
+			}
+
+			var xmlDoc = mxUtils.parseXml(data.xml);
+			var codec = new mxCodec(xmlDoc);
+			codec.decode(xmlDoc.documentElement, graph.getModel());
+
+			// Handles PDF output where the output should match the page format if the page is visible
+			if (data.math && data.format == 'pdf' && xmlDoc.documentElement.getAttribute('page') == '1')
+			{
+				graph.pageVisible = true;
+
+				var pw = xmlDoc.documentElement.getAttribute('pageWidth');
+				var ph = xmlDoc.documentElement.getAttribute('pageHeight');
+				
+				if (pw != null && ph != null)
+				{
+					graph.pageFormat = new mxRectangle(0, 0, parseFloat(pw), parseFloat(ph));
+				}
+				
+				var ps = xmlDoc.documentElement.getAttribute('pageScale');
+				
+				if (ps != null)
+				{
+					graph.pageScale = ps;
+				}
+				
+				graph.getPageSize = function()
+				{
+					return new mxRectangle(0, 0, this.pageFormat.width * this.pageScale,
+							this.pageFormat.height * this.pageScale);
+				};
+				
+				graph.getPageLayout = function()
+				{
+					var size = (this.pageVisible) ? this.getPageSize() : this.scrollTileSize;
+					var bounds = this.getGraphBounds();
+					
+					if (bounds.width == 0 || bounds.height == 0)
+					{
+						return new mxRectangle(0, 0, 1, 1);
+					}
+					else
+					{
+						// Computes untransformed graph bounds
+						var x = bounds.x / this.view.scale - this.view.translate.x;
+						var y = bounds.y / this.view.scale - this.view.translate.y;
+						var w = bounds.width / this.view.scale;
+						var h = bounds.height / this.view.scale;
+						
+						var x0 = Math.floor(x / size.width);
+						var y0 = Math.floor(y / size.height);
+						var w0 = Math.ceil((x + w) / size.width) - x0;
+						var h0 = Math.ceil((y + h) / size.height) - y0;
+						
+						return new mxRectangle(x0, y0, w0, h0);
+					}
+				};
+
+				// Fits the number of background pages to the graph
+				graph.view.getBackgroundPageBounds = function()
+				{
+					var layout = this.graph.getPageLayout();
+					var page = this.graph.getPageSize();
+					
+					return new mxRectangle(this.scale * (this.translate.x + layout.x * page.width),
+							this.scale * (this.translate.y + layout.y * page.height),
+							this.scale * layout.width * page.width,
+							this.scale * layout.height * page.height);
+				};
+			}
+			else if (data.crop)
+			{
+				var b = graph.getGraphBounds();
+				graph.view.setTranslate(-b.x, -b.y);
+			}
+			else if (data.w != null && data.h != null)
+			{
+				var b = graph.getGraphBounds();
+				var s = Math.floor(Math.min(data.w / b.width, data.h / b.height) * 100) / 100;
+				graph.view.scaleAndTranslate(s, (data.w - b.width * s) / 2 / s - b.x,
+						(data.h - b.height * s) / 2 / s - b.y);
+			}
+			
+			if (data.math)
+			{
+				window.MathJaxRender(graph.container);
+				
+				// Asynchronous callback when MathJax has finished
+				window.MathJax.Hub.Queue(function ()
+				{
+					if (typeof window.callPhantom === 'function')
+					{
+						window.callPhantom();
+					}
+				});
+			}
+
+			var bounds = (graph.pageVisible) ? graph.view.getBackgroundPageBounds() : graph.getGraphBounds();
+			var bg = xmlDoc.documentElement.getAttribute('background');
+			
+			// Apply background color for direct export
+			if (data.format == 'jpg' && bg == 'none')
+			{
+				bg = '#ffffff';
+			}
+			
+			if (graph.pageVisible)
+			{
+				document.body.style.width = bounds.width + 'px';
+				document.body.style.height = bounds.height + 'px';
+			}
+			
+			document.body.style.backgroundColor = bg || '#ffffff';
+
+			// SVG not needed for math export
+			var svg = (data.math) ? '' : mxUtils.getXml(graph.getSvg());
+			
+			return {width: bounds.width, height: bounds.height, bg: bg, svg: svg};
+		};
+	</script>
+	<script src="js/app.min.js"></script>
+</head>
+<body style="margin:0px;">
+	<div id="graph"></div>
+</body>
+</html>

二进制
etc/sandstorm/build/.sandstorm/client/favicon.ico


二进制
etc/sandstorm/build/.sandstorm/client/images/1x1.png


二进制
etc/sandstorm/build/.sandstorm/client/images/2x2.png


二进制
etc/sandstorm/build/.sandstorm/client/images/3x3.png


二进制
etc/sandstorm/build/.sandstorm/client/images/ajax-loader.gif


二进制
etc/sandstorm/build/.sandstorm/client/images/android-chrome-144x144.png


二进制
etc/sandstorm/build/.sandstorm/client/images/android-chrome-192x192.png


二进制
etc/sandstorm/build/.sandstorm/client/images/android-chrome-36x36.png


二进制
etc/sandstorm/build/.sandstorm/client/images/android-chrome-48x48.png


二进制
etc/sandstorm/build/.sandstorm/client/images/android-chrome-72x72.png


二进制
etc/sandstorm/build/.sandstorm/client/images/android-chrome-96x96.png


二进制
etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-114x114.png


二进制
etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-120x120.png


二进制
etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-144x144.png


二进制
etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-152x152.png


二进制
etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-180x180.png


二进制
etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-57x57.png


二进制
etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-60x60.png


二进制
etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-72x72.png


二进制
etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-76x76.png


二进制
etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon-precomposed.png


二进制
etc/sandstorm/build/.sandstorm/client/images/apple-touch-icon.png


+ 12 - 0
etc/sandstorm/build/.sandstorm/client/images/browserconfig.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<browserconfig>
+  <msapplication>
+    <tile>
+      <square70x70logo src="images/mstile-70x70.png"/>
+      <square150x150logo src="images/mstile-150x150.png"/>
+      <square310x310logo src="images/mstile-310x310.png"/>
+      <wide310x150logo src="images/mstile-310x150.png"/>
+      <TileColor>#da532c</TileColor>
+    </tile>
+  </msapplication>
+</browserconfig>

二进制
etc/sandstorm/build/.sandstorm/client/images/checkmark.gif


二进制
etc/sandstorm/build/.sandstorm/client/images/chevron-down.png


二进制
etc/sandstorm/build/.sandstorm/client/images/chevron-up.png


二进制
etc/sandstorm/build/.sandstorm/client/images/clear.gif


二进制
etc/sandstorm/build/.sandstorm/client/images/close.png


二进制
etc/sandstorm/build/.sandstorm/client/images/collapsed.gif


二进制
etc/sandstorm/build/.sandstorm/client/images/connector.png


二进制
etc/sandstorm/build/.sandstorm/client/images/delete.png


二进制
etc/sandstorm/build/.sandstorm/client/images/document-google-drive-icon-80.png


二进制
etc/sandstorm/build/.sandstorm/client/images/download.png


二进制
etc/sandstorm/build/.sandstorm/client/images/drawio448.png


二进制
etc/sandstorm/build/.sandstorm/client/images/drawlogo128.png


二进制
etc/sandstorm/build/.sandstorm/client/images/drawlogo256.png


二进制
etc/sandstorm/build/.sandstorm/client/images/drawlogo48.png


+ 13 - 0
etc/sandstorm/build/.sandstorm/client/images/dropbox-logo-white.svg

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="31.3002" height="29.1126" viewBox="0 0 31.3002 29.1126">
+<g transform="matrix(0.3,0,0,0.3,-9.8499,-10.9437)" style="fill:#ffffff">
+	<g style="fill:#ffffff">
+		<polygon points="63.524,36.479 32.833,56.518 54.054,73.512 85,54.403" style="fill:#ffffff" />
+		<polygon points="32.833,90.507 63.524,110.546 85,92.62 54.054,73.512" style="fill:#ffffff" />
+		<polygon points="85,92.62 106.476,110.546 137.167,90.507 115.946,73.512" style="fill:#ffffff" />
+		<polygon points="137.167,56.518 106.476,36.479 85,54.403 115.946,73.512" style="fill:#ffffff" />
+		<polygon points="85.063,96.477 63.524,114.35 54.307,108.332 54.307,115.078 85.063,133.521 115.819,115.078 115.819,108.332 106.602,114.35"
+		style="fill:#ffffff" />
+	</g>
+</g>
+</svg>

+ 11 - 0
etc/sandstorm/build/.sandstorm/client/images/dropbox-logo.svg

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="104.334" height="97.042" viewBox="0 0 104.334 97.042">
+<g transform="translate(-32.833,-36.479)" id="Layer_1">
+	<polygon points="63.524,36.479 32.833,56.518 54.054,73.512 85,54.403" style="fill:#007ee5" />
+	<polygon points="32.833,90.507 63.524,110.546 85,92.62 54.054,73.512" style="fill:#007ee5" />
+	<polygon points="85,92.62 106.476,110.546 137.167,90.507 115.946,73.512" style="fill:#007ee5" />
+	<polygon points="137.167,56.518 106.476,36.479 85,54.403 115.946,73.512" style="fill:#007ee5" />
+	<polygon points="85.063,133.521 115.819,115.078 115.819,108.332 106.602,114.35 85.063,96.477 63.524,114.35 54.307,108.332 54.307,115.078"
+		style="fill:#007ee5" />
+</g>
+</svg>

二进制
etc/sandstorm/build/.sandstorm/client/images/dropdown.gif


二进制
etc/sandstorm/build/.sandstorm/client/images/dropdown.png


二进制
etc/sandstorm/build/.sandstorm/client/images/droptarget.png


二进制
etc/sandstorm/build/.sandstorm/client/images/edit.gif


二进制
etc/sandstorm/build/.sandstorm/client/images/expanded.gif


二进制
etc/sandstorm/build/.sandstorm/client/images/favicon-16x16.png


二进制
etc/sandstorm/build/.sandstorm/client/images/favicon-194x194.png


二进制
etc/sandstorm/build/.sandstorm/client/images/favicon-32x32.png


二进制
etc/sandstorm/build/.sandstorm/client/images/favicon-96x96.png


二进制
etc/sandstorm/build/.sandstorm/client/images/format-hide.png


二进制
etc/sandstorm/build/.sandstorm/client/images/format-show.png


二进制
etc/sandstorm/build/.sandstorm/client/images/fullscreen.png


二进制
etc/sandstorm/build/.sandstorm/client/images/gadget-screenshot.png


二进制
etc/sandstorm/build/.sandstorm/client/images/gadget-thumb.png


二进制
etc/sandstorm/build/.sandstorm/client/images/glyphicons_blogger.png


二进制
etc/sandstorm/build/.sandstorm/client/images/glyphicons_facebook.png


二进制
etc/sandstorm/build/.sandstorm/client/images/glyphicons_google.png


二进制
etc/sandstorm/build/.sandstorm/client/images/glyphicons_star.png


二进制
etc/sandstorm/build/.sandstorm/client/images/glyphicons_twitter.png


二进制
etc/sandstorm/build/.sandstorm/client/images/google-drive-connector-atlas.png


+ 9 - 0
etc/sandstorm/build/.sandstorm/client/images/google-drive-logo-white.svg

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="24" height="21" viewBox="-10.5 10.5 24 21">
+	<rect width="40" height="60" x="-18.5" y="-8.5" style="opacity:0;fill:#ffffff" />
+	<g transform="translate(-8,-19)">
+		<polygon points="21.5,42.5 14.5,29.5 5.5,29.5 13.5,42.5" style="fill:#ffffff" />
+		<polygon points="4.5,29.864 -2.5,43.5 1.5,50.384 8.5,36.5" style="fill:#ffffff" />
+		<polygon points="6.5,43.5 2.5,50.5 17.305,50.5 21.5,43.5" style="fill:#ffffff" />
+	</g>
+</svg>

+ 17 - 0
etc/sandstorm/build/.sandstorm/client/images/google-drive-logo.svg

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="509.08mm" height="440.97mm" version="1.1" viewBox="0 0 133156 115341">
+ <defs>
+  <style type="text/css">
+   <![CDATA[
+    .fil2 {fill:#11A861}
+    .fil0 {fill:#3777E3}
+    .fil1 {fill:#FFCF63}
+   ]]>
+  </style>
+ </defs>
+ <g>
+  <polygon class="fil0" points="22194,115341 44385,76894 133156,76894 110963,115341 "/>
+  <polygon class="fil1" points="88772,76894 133156,76894 88772,0 44385,0 "/>
+  <polygon class="fil2" points="0,76894 22194,115341 66578,38447 44385,0 "/>
+ </g>
+</svg>

二进制
etc/sandstorm/build/.sandstorm/client/images/grid.gif


二进制
etc/sandstorm/build/.sandstorm/client/images/handle-connect.png


二进制
etc/sandstorm/build/.sandstorm/client/images/handle-fixed.png


二进制
etc/sandstorm/build/.sandstorm/client/images/handle-main.png


二进制
etc/sandstorm/build/.sandstorm/client/images/handle-rotate.png


二进制
etc/sandstorm/build/.sandstorm/client/images/handle-secondary.png


二进制
etc/sandstorm/build/.sandstorm/client/images/handle-terminal.png


二进制
etc/sandstorm/build/.sandstorm/client/images/help.png


二进制
etc/sandstorm/build/.sandstorm/client/images/locked.png


二进制
etc/sandstorm/build/.sandstorm/client/images/log.png


二进制
etc/sandstorm/build/.sandstorm/client/images/logo-confluence.png


二进制
etc/sandstorm/build/.sandstorm/client/images/logo-flat-small.png


二进制
etc/sandstorm/build/.sandstorm/client/images/logo-flat.png


二进制
etc/sandstorm/build/.sandstorm/client/images/logo-jira.png


二进制
etc/sandstorm/build/.sandstorm/client/images/logo-small.gif


二进制
etc/sandstorm/build/.sandstorm/client/images/logo-white.png


二进制
etc/sandstorm/build/.sandstorm/client/images/logo.png


+ 41 - 0
etc/sandstorm/build/.sandstorm/client/images/manifest.json

@@ -0,0 +1,41 @@
+{
+	"name": "draw.io",
+	"icons": [
+		{
+			"src": "images\/android-chrome-36x36.png",
+			"sizes": "36x36",
+			"type": "image\/png",
+			"density": 0.75
+		},
+		{
+			"src": "images\/android-chrome-48x48.png",
+			"sizes": "48x48",
+			"type": "image\/png",
+			"density": 1
+		},
+		{
+			"src": "images\/android-chrome-72x72.png",
+			"sizes": "72x72",
+			"type": "image\/png",
+			"density": 1.5
+		},
+		{
+			"src": "images\/android-chrome-96x96.png",
+			"sizes": "96x96",
+			"type": "image\/png",
+			"density": 2
+		},
+		{
+			"src": "images\/android-chrome-144x144.png",
+			"sizes": "144x144",
+			"type": "image\/png",
+			"density": 3
+		},
+		{
+			"src": "images\/android-chrome-192x192.png",
+			"sizes": "192x192",
+			"type": "image\/png",
+			"density": 4
+		}
+	]
+}

二进制
etc/sandstorm/build/.sandstorm/client/images/mstile-144x144.png


二进制
etc/sandstorm/build/.sandstorm/client/images/mstile-150x150.png


二进制
etc/sandstorm/build/.sandstorm/client/images/mstile-310x150.png


二进制
etc/sandstorm/build/.sandstorm/client/images/mstile-310x310.png


二进制
etc/sandstorm/build/.sandstorm/client/images/mstile-70x70.png


+ 0 - 0
etc/sandstorm/build/.sandstorm/client/images/nocolor.png


部分文件因为文件数量过多而无法显示