Gaudenz Alder 7 éve
szülő
commit
9c48956a94

+ 6 - 0
ChangeLog

@@ -1,3 +1,9 @@
+14-DEC-2017: 7.8.5
+
+- Uses mxGraph 3.8.1 beta 3
+- Uses relative path for templates
+- Adds configVersion to force reset of configuration
+
 05-DEC-2017: 7.8.4
 
 - Fixes font rendering in library dialog

+ 1 - 1
VERSION

@@ -1 +1 @@
-7.8.4
+7.8.5

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 14 - 15
etc/mxgraph/mxClient.js


+ 0 - 2
war/WEB-INF/appengine-web.xml

@@ -1,8 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
 	<application>drawdotio</application>
-	<!-- IMPORTANT! DO NOT CHANGE THIS VALUE IN SOURCE CONTROL! -->
-	<version>test</version>
 	
 	<!-- Configure java.util.logging -->
 	<system-properties>

+ 1 - 1
war/cache.manifest

@@ -1,7 +1,7 @@
 CACHE MANIFEST
 
 # THIS FILE WAS GENERATED. DO NOT MODIFY!
-# 12/05/2017 03:12 PM
+# 12/14/2017 11:54 AM
 
 app.html
 index.html?offline=1

+ 1 - 2
war/export3.html

@@ -266,10 +266,9 @@
 			{
 				if (--waitCounter < 1)
 				{
-					//TODO handle bounds in a different way
-					//window.callPhantom(bounds);
 					var doneDiv = document.createElement("div");
 					doneDiv.id = 'LoadingComplete';
+					doneDiv.setAttribute('bounds', JSON.stringify(bounds));
 					document.body.appendChild(doneDiv);
 				}
 			};

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 119 - 118
war/js/app.min.js


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 549 - 550
war/js/atlas-viewer.min.js


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 119 - 118
war/js/atlas.min.js


+ 1 - 0
war/js/diagramly/Editor.js

@@ -144,6 +144,7 @@
 	{
 		if (config != null)
 		{
+			Editor.configVersion = config.version;
 			Menus.prototype.defaultFonts = config.defaultFonts || Menus.prototype.defaultFonts;
 			ColorDialog.prototype.presetColors = config.presetColors || ColorDialog.prototype.presetColors;
 			ColorDialog.prototype.defaultColors = config.defaultColors || ColorDialog.prototype.defaultColors;

+ 1 - 1
war/js/diagramly/Init.js

@@ -19,7 +19,7 @@ window.SHAPES_PATH = window.SHAPES_PATH || 'shapes';
 window.GRAPH_IMAGE_PATH = window.GRAPH_IMAGE_PATH || 'img';
 window.ICONSEARCH_PATH = window.ICONSEARCH_PATH || ((navigator.userAgent.indexOf('MSIE') >= 0 ||
 	urlParams['dev']) && window.location.protocol != 'file:' ? 'iconSearch' : 'https://www.draw.io/iconSearch');
-window.TEMPLATE_PATH = window.TEMPLATE_PATH || '/templates';
+window.TEMPLATE_PATH = window.TEMPLATE_PATH || 'templates';
 
 // Directory for i18 files and basename for main i18n file
 window.RESOURCES_PATH = window.RESOURCES_PATH || 'resources';

+ 92 - 82
war/js/diagramly/Settings.js

@@ -173,6 +173,7 @@ var mxSettings =
 		mxSettings.settings = 
 		{
 			language: '',
+			configVersion: Editor.configVersion,
 			libraries: Sidebar.prototype.defaultEntries,
 			customLibraries: Editor.defaultCustomLibraries,
 			plugins: [],
@@ -225,92 +226,101 @@ var mxSettings =
 	{
 		if (value != null)
 		{
-			mxSettings.settings = JSON.parse(value);
-
-			if (mxSettings.settings.plugins == null)
-			{
-				mxSettings.settings.plugins = [];
-			}
-			
-			if (mxSettings.settings.recentColors == null)
-			{
-				mxSettings.settings.recentColors = [];
-			}
-			
-			if (mxSettings.settings.libraries == null)
-			{
-				mxSettings.settings.libraries = Sidebar.prototype.defaultEntries;
-			}
-			
-			if (mxSettings.settings.customLibraries == null)
-			{
-				mxSettings.settings.customLibraries = Editor.defaultCustomLibraries;
-			}
-			
-			if (mxSettings.settings.ui == null)
-			{
-				mxSettings.settings.ui = '';
-			}
-			
-			if (mxSettings.settings.formatWidth == null)
-			{
-				mxSettings.settings.formatWidth = mxSettings.defaultFormatWidth;
-			}
-			
-			if (mxSettings.settings.lastAlert != null)
-			{
-				delete mxSettings.settings.lastAlert;
-			}
-			
-			if (mxSettings.settings.currentEdgeStyle == null)
-			{
-				mxSettings.settings.currentEdgeStyle = Graph.prototype.defaultEdgeStyle;
-			}
-			else if (mxSettings.settings.version <= 10)
-			{
-				// Adds new defaults for jetty size and loop routing
-				mxSettings.settings.currentEdgeStyle['orthogonalLoop'] = 1;
-				mxSettings.settings.currentEdgeStyle['jettySize'] = 'auto';
-			}
-			
-			if (mxSettings.settings.currentVertexStyle == null)
-			{
-				mxSettings.settings.currentVertexStyle = Graph.prototype.defaultVertexStyle;
-			}
-			
-			if (mxSettings.settings.createTarget == null)
-			{
-				mxSettings.settings.createTarget = false;
-			}
-			
-			if (mxSettings.settings.pageFormat == null)
-			{
-				mxSettings.settings.pageFormat = mxGraph.prototype.pageFormat;
-			}
+			var temp = JSON.parse(value);
 			
-			if (mxSettings.settings.search == null)
+			if (temp.configVersion != Editor.configVersion)
 			{
-				mxSettings.settings.search = true;
+				mxSettings.settings = null;
 			}
-			
-			if (mxSettings.settings.showStartScreen == null)
-			{
-				mxSettings.settings.showStartScreen = true;
-			}		
-			
-			if (mxSettings.settings.gridColor == null)
-			{
-				mxSettings.settings.gridColor = mxGraphView.prototype.gridColor;
-			}
-			
-			if (mxSettings.settings.autosave == null)
-			{
-				mxSettings.settings.autosave = true;
-			}
-			
-			if (mxSettings.settings.scratchpadSeen != null)
+			else
 			{
-				delete mxSettings.settings.scratchpadSeen;
+				mxSettings.settings = temp;
+	
+				if (mxSettings.settings.plugins == null)
+				{
+					mxSettings.settings.plugins = [];
+				}
+				
+				if (mxSettings.settings.recentColors == null)
+				{
+					mxSettings.settings.recentColors = [];
+				}
+				
+				if (mxSettings.settings.libraries == null)
+				{
+					mxSettings.settings.libraries = Sidebar.prototype.defaultEntries;
+				}
+				
+				if (mxSettings.settings.customLibraries == null)
+				{
+					mxSettings.settings.customLibraries = Editor.defaultCustomLibraries;
+				}
+				
+				if (mxSettings.settings.ui == null)
+				{
+					mxSettings.settings.ui = '';
+				}
+				
+				if (mxSettings.settings.formatWidth == null)
+				{
+					mxSettings.settings.formatWidth = mxSettings.defaultFormatWidth;
+				}
+				
+				if (mxSettings.settings.lastAlert != null)
+				{
+					delete mxSettings.settings.lastAlert;
+				}
+				
+				if (mxSettings.settings.currentEdgeStyle == null)
+				{
+					mxSettings.settings.currentEdgeStyle = Graph.prototype.defaultEdgeStyle;
+				}
+				else if (mxSettings.settings.version <= 10)
+				{
+					// Adds new defaults for jetty size and loop routing
+					mxSettings.settings.currentEdgeStyle['orthogonalLoop'] = 1;
+					mxSettings.settings.currentEdgeStyle['jettySize'] = 'auto';
+				}
+				
+				if (mxSettings.settings.currentVertexStyle == null)
+				{
+					mxSettings.settings.currentVertexStyle = Graph.prototype.defaultVertexStyle;
+				}
+				
+				if (mxSettings.settings.createTarget == null)
+				{
+					mxSettings.settings.createTarget = false;
+				}
+				
+				if (mxSettings.settings.pageFormat == null)
+				{
+					mxSettings.settings.pageFormat = mxGraph.prototype.pageFormat;
+				}
+				
+				if (mxSettings.settings.search == null)
+				{
+					mxSettings.settings.search = true;
+				}
+				
+				if (mxSettings.settings.showStartScreen == null)
+				{
+					mxSettings.settings.showStartScreen = true;
+				}		
+				
+				if (mxSettings.settings.gridColor == null)
+				{
+					mxSettings.settings.gridColor = mxGraphView.prototype.gridColor;
+				}
+				
+				if (mxSettings.settings.autosave == null)
+				{
+					mxSettings.settings.autosave = true;
+				}
+				
+				if (mxSettings.settings.scratchpadSeen != null)
+				{
+					delete mxSettings.settings.scratchpadSeen;
+				}
 			}
 		}
 	},

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 561 - 313
war/js/diagramly/graphml/mxGraphMlCodec.js


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 80 - 81
war/js/embed-static.min.js


+ 24 - 6
war/js/mxgraph/Actions.js

@@ -99,15 +99,33 @@ Actions.prototype.init = function()
 				
 				if (cells != null)
 				{
-					var bb = graph.getBoundingBoxFromGeometry(cells);
+					var includeEdges = true;
 					
-					if (bb != null)
+					for (var i = 0; i < cells.length && includeEdges; i++)
 					{
-						var t = graph.view.translate;
-						var s = graph.view.scale;
-						var dx = t.x;
-						var dy = t.y;
+						includeEdges = includeEdges && graph.model.isEdge(cells[i]);
+					}
+
+					var t = graph.view.translate;
+					var s = graph.view.scale;
+					var dx = t.x;
+					var dy = t.y;
+					var bb = null;
+					
+					if (cells.length == 1 && includeEdges)
+					{
+						var geo = graph.getCellGeometry(cells[0]);
 						
+						if (geo != null)
+						{
+							bb = geo.getTerminalPoint(true);
+						}
+					}
+
+					bb = (bb != null) ? bb : graph.getBoundingBoxFromGeometry(cells, includeEdges);
+					
+					if (bb != null)
+					{
 						var x = Math.round(graph.snap(graph.popupMenuHandler.triggerX / s - dx));
 						var y = Math.round(graph.snap(graph.popupMenuHandler.triggerY / s - dy));
 						

+ 5 - 5
war/js/mxgraph/Format.js

@@ -3892,13 +3892,13 @@ StyleFormatPanel.prototype.addStroke = function(container)
 
 	var lineStart = this.editorUi.toolbar.addMenuFunctionInContainer(stylePanel2, 'geSprite-startclassic', mxResources.get('linestart'), false, mxUtils.bind(this, function(menu)
 	{
-		if (ss.style.shape == 'connector' || ss.style.shape == 'flexArrow')
+		if (ss.style.shape == 'connector' || ss.style.shape == 'flexArrow' || ss.style.shape == 'filledEdge')
 		{
 			var item = this.editorUi.menus.edgeStyleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.NONE, 0], 'geIcon', null, false);
 			item.setAttribute('title', mxResources.get('none'));
 			item.firstChild.firstChild.innerHTML = '<font style="font-size:10px;">' + mxUtils.htmlEntities(mxResources.get('none')) + '</font>';
 
-			if (ss.style.shape == 'connector')
+			if (ss.style.shape == 'connector' || ss.style.shape == 'filledEdge')
 			{
 				this.editorUi.menus.edgeStyleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_CLASSIC, 1], 'geIcon geSprite geSprite-startclassic', null, false).setAttribute('title', mxResources.get('classic'));
 				this.editorUi.menus.edgeStyleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_CLASSIC_THIN, 1], 'geIcon geSprite geSprite-startclassicthin', null, false);
@@ -3940,13 +3940,13 @@ StyleFormatPanel.prototype.addStroke = function(container)
 
 	var lineEnd = this.editorUi.toolbar.addMenuFunctionInContainer(stylePanel2, 'geSprite-endclassic', mxResources.get('lineend'), false, mxUtils.bind(this, function(menu)
 	{
-		if (ss.style.shape == 'connector' || ss.style.shape == 'flexArrow')
+		if (ss.style.shape == 'connector' || ss.style.shape == 'flexArrow' || ss.style.shape == 'filledEdge')
 		{
 			var item = this.editorUi.menus.edgeStyleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.NONE, 0], 'geIcon', null, false);
 			item.setAttribute('title', mxResources.get('none'));
 			item.firstChild.firstChild.innerHTML = '<font style="font-size:10px;">' + mxUtils.htmlEntities(mxResources.get('none')) + '</font>';
 			
-			if (ss.style.shape == 'connector')
+			if (ss.style.shape == 'connector' || ss.style.shape == 'filledEdge')
 			{
 				this.editorUi.menus.edgeStyleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_CLASSIC, 1], 'geIcon geSprite geSprite-endclassic', null, false).setAttribute('title', mxResources.get('classic'));
 				this.editorUi.menus.edgeStyleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_CLASSIC_THIN, 1], 'geIcon geSprite geSprite-endclassicthin', null, false);
@@ -4277,7 +4277,7 @@ StyleFormatPanel.prototype.addStroke = function(container)
 
 		mxUtils.setOpacity(edgeStyle, (ss.style.shape == 'arrow') ? 30 : 100);			
 		
-		if (ss.style.shape != 'connector' && ss.style.shape != 'flexArrow')
+		if (ss.style.shape != 'connector' && ss.style.shape != 'flexArrow' && ss.style.shape != 'filledEdge')
 		{
 			mxUtils.setOpacity(lineStart, 30);
 			mxUtils.setOpacity(lineEnd, 30);

+ 5 - 5
war/js/mxgraph/Graph.js

@@ -2596,31 +2596,31 @@ HoverIcons.prototype.checkCollisions = true;
  * Up arrow.
  */
 HoverIcons.prototype.triangleUp = (!mxClient.IS_SVG) ? new mxImage(IMAGE_PATH + '/triangle-up.png', 26, 14) :
-	Graph.createSvgImage(26, 14, '<path d="m 1 14 L 13 1 L 26 14 z" stroke="#fff" fill="rgb(41, 182, 242)"/>');
+	Graph.createSvgImage(26, 14, '<path d="m 1 14 L 13 1 L 26 14 z" stroke="#fff" fill="#007dfc"/>');
 
 /**
  * Right arrow.
  */
 HoverIcons.prototype.triangleRight = (!mxClient.IS_SVG) ? new mxImage(IMAGE_PATH + '/triangle-right.png', 14, 26) :
-	Graph.createSvgImage(14, 26, '<path d="m 1 1 L 14 13 L 1 26 z" stroke="#fff" fill="rgb(41, 182, 242)"/>');
+	Graph.createSvgImage(14, 26, '<path d="m 1 1 L 14 13 L 1 26 z" stroke="#fff" fill="#007dfc"/>');
 
 /**
  * Down arrow.
  */
 HoverIcons.prototype.triangleDown = (!mxClient.IS_SVG) ? new mxImage(IMAGE_PATH + '/triangle-down.png', 26, 14) :
-	Graph.createSvgImage(26, 14, '<path d="m 1 1 L 13 14 L 26 1 z" stroke="#fff" fill="rgb(41, 182, 242)"/>');
+	Graph.createSvgImage(26, 14, '<path d="m 1 1 L 13 14 L 26 1 z" stroke="#fff" fill="#007dfc"/>');
 
 /**
  * Left arrow.
  */
 HoverIcons.prototype.triangleLeft = (!mxClient.IS_SVG) ? new mxImage(IMAGE_PATH + '/triangle-left.png', 14, 26) :
-	Graph.createSvgImage(14, 26, '<path d="m 14 1 L 1 13 L 14 26 z" stroke="#fff" fill="rgb(41, 182, 242)"/>');
+	Graph.createSvgImage(14, 26, '<path d="m 14 1 L 1 13 L 14 26 z" stroke="#fff" fill="#007dfc"/>');
 
 /**
  * Round target.
  */
 HoverIcons.prototype.roundDrop = (!mxClient.IS_SVG) ? new mxImage(IMAGE_PATH + '/round-drop.png', 26, 26) :
-	Graph.createSvgImage(26, 26, '<circle cx="13" cy="13" r="12" stroke="#fff" fill="rgb(41, 182, 242)"/>');
+	Graph.createSvgImage(26, 26, '<circle cx="13" cy="13" r="12" stroke="#fff" fill="#007dfc"/>');
 
 /**
  * Refresh target.

+ 14 - 6
war/js/mxgraph/Shapes.js

@@ -2493,11 +2493,19 @@
 	FilledEdge.prototype.origPaintEdgeShape = FilledEdge.prototype.paintEdgeShape;
 	FilledEdge.prototype.paintEdgeShape = function(c, pts, rounded)
 	{
-		//paintEdgeShape reset dashed to false
-		var dashed = c.state.dashed;
-		var fixDash = c.state.fixDash; 
+		// Markers modify incoming points array
+		var temp = [];
+		
+		for (var i = 0; i < pts.length; i++)
+		{
+			temp.push(mxUtils.clone(pts[i]));
+		}
 		
-		FilledEdge.prototype.origPaintEdgeShape.apply(this, arguments);
+		// paintEdgeShape resets dashed to false
+		var dashed = c.state.dashed;
+		var fixDash = c.state.fixDash;
+		FilledEdge.prototype.origPaintEdgeShape.apply(this, [c, temp, rounded]);
+
 		if (c.state.strokeWidth >= 3)
 		{
 			var fillClr = mxUtils.getValue(this.style, 'fillColor', null);
@@ -2507,8 +2515,8 @@
 				c.setStrokeColor(fillClr);
 				c.setStrokeWidth(c.state.strokeWidth - 2);
 				c.setDashed(dashed, fixDash);
-			
-				FilledEdge.prototype.origPaintEdgeShape.apply(this, arguments);		
+				
+				FilledEdge.prototype.origPaintEdgeShape.apply(this, [c, pts, rounded]);
 			}
 		}
 	};

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 80 - 81
war/js/reader.min.js


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 549 - 550
war/js/viewer.min.js


+ 3 - 3
war/js/vsdx/importer.js

@@ -49,9 +49,9 @@ var com;
                 		{
                 			var tmp = "dmlzaW8=";
                 			mxVsdxCodec.vsdxPlaceholder = (window.atob) ? atob(tmp) : Base64.decode(tmp, true);
-                			
-                			return mxVsdxCodec.vsdxPlaceholder;
                 		}
+
+                		return mxVsdxCodec.vsdxPlaceholder;
                 };
                 
                 /**
@@ -74,7 +74,7 @@ var com;
 
                     var allDone = function () 
                     {
-	                    var path = mxVsdxCodec.vsdxPlaceholder_$LI$() + "/document.xml";
+	                    var path = mxVsdxCodec.vsdxPlaceholder + "/document.xml";
 	                    var rootDoc = (function (m, k) { return m[k] ? m[k] : null; })(docData, path);
 	                    var rootChild = rootDoc.firstChild;
 	                    while (rootChild != null && !(rootChild.nodeType == 1)) {