瀏覽代碼

6.2.5 release

Gaudenz Alder 8 年之前
父節點
當前提交
8870f1259d
共有 75 個文件被更改,包括 845 次插入781 次删除
  1. 6 0
      ChangeLog
  2. 1 1
      VERSION
  3. 二進制
      war/WEB-INF/lib/datanucleus-appengine-1.0.10.final.jar
  4. 二進制
      war/WEB-INF/lib/datanucleus-core-1.1.5.jar
  5. 二進制
      war/WEB-INF/lib/datanucleus-jpa-1.1.5.jar
  6. 二進制
      war/WEB-INF/lib/geronimo-jpa_3.0_spec-1.1.1.jar
  7. 二進制
      war/WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar
  8. 二進制
      war/WEB-INF/lib/jdo2-api-2.3-eb.jar
  9. 1 1
      war/cache.manifest
  10. 4 76
      war/electron.js
  11. 166 164
      war/js/app.min.js
  12. 89 89
      war/js/atlas-viewer.min.js
  13. 278 276
      war/js/atlas.min.js
  14. 4 6
      war/js/diagramly/App.js
  15. 52 33
      war/js/diagramly/Dialogs.js
  16. 20 7
      war/js/diagramly/EditorUi.js
  17. 15 1
      war/js/diagramly/GitHubClient.js
  18. 34 5
      war/js/diagramly/Menus.js
  19. 1 1
      war/js/embed-static.min.js
  20. 1 1
      war/js/reader.min.js
  21. 89 89
      war/js/viewer.min.js
  22. 31 31
      war/package.json
  23. 1 0
      war/resources/dia.txt
  24. 1 0
      war/resources/dia_am.txt
  25. 1 0
      war/resources/dia_ar.txt
  26. 1 0
      war/resources/dia_bg.txt
  27. 1 0
      war/resources/dia_bn.txt
  28. 1 0
      war/resources/dia_bs.txt
  29. 1 0
      war/resources/dia_ca.txt
  30. 1 0
      war/resources/dia_cs.txt
  31. 1 0
      war/resources/dia_da.txt
  32. 1 0
      war/resources/dia_de.txt
  33. 1 0
      war/resources/dia_el.txt
  34. 1 0
      war/resources/dia_es.txt
  35. 1 0
      war/resources/dia_et.txt
  36. 1 0
      war/resources/dia_fa.txt
  37. 1 0
      war/resources/dia_fi.txt
  38. 1 0
      war/resources/dia_fil.txt
  39. 1 0
      war/resources/dia_fr.txt
  40. 1 0
      war/resources/dia_gu.txt
  41. 1 0
      war/resources/dia_he.txt
  42. 1 0
      war/resources/dia_hi.txt
  43. 1 0
      war/resources/dia_hr.txt
  44. 1 0
      war/resources/dia_hu.txt
  45. 1 0
      war/resources/dia_i18n.txt
  46. 1 0
      war/resources/dia_id.txt
  47. 1 0
      war/resources/dia_it.txt
  48. 1 0
      war/resources/dia_ja.txt
  49. 1 0
      war/resources/dia_kn.txt
  50. 1 0
      war/resources/dia_ko.txt
  51. 1 0
      war/resources/dia_lt.txt
  52. 1 0
      war/resources/dia_lv.txt
  53. 1 0
      war/resources/dia_ml.txt
  54. 1 0
      war/resources/dia_mr.txt
  55. 1 0
      war/resources/dia_ms.txt
  56. 1 0
      war/resources/dia_nl.txt
  57. 1 0
      war/resources/dia_no.txt
  58. 1 0
      war/resources/dia_pl.txt
  59. 1 0
      war/resources/dia_pt-br.txt
  60. 1 0
      war/resources/dia_pt.txt
  61. 1 0
      war/resources/dia_ro.txt
  62. 1 0
      war/resources/dia_ru.txt
  63. 1 0
      war/resources/dia_sk.txt
  64. 1 0
      war/resources/dia_sl.txt
  65. 1 0
      war/resources/dia_sr.txt
  66. 1 0
      war/resources/dia_sv.txt
  67. 1 0
      war/resources/dia_sw.txt
  68. 1 0
      war/resources/dia_ta.txt
  69. 1 0
      war/resources/dia_te.txt
  70. 1 0
      war/resources/dia_th.txt
  71. 1 0
      war/resources/dia_tr.txt
  72. 1 0
      war/resources/dia_uk.txt
  73. 1 0
      war/resources/dia_vi.txt
  74. 1 0
      war/resources/dia_zh-tw.txt
  75. 1 0
      war/resources/dia_zh.txt

+ 6 - 0
ChangeLog

@@ -1,3 +1,9 @@
+07-MAR-2017: 6.2.5
+
+- Adds remote JPEG export option
+- Fixes OneDrive, adds GitHub in Edit Link dialog
+- Fixes import of JPG and GIF from GitHub and URL
+
 01-MAR-2017: 6.2.4
 
 - Uses mxGraph 3.7.1

+ 1 - 1
VERSION

@@ -1 +1 @@
-6.2.4
+6.2.5

二進制
war/WEB-INF/lib/datanucleus-appengine-1.0.10.final.jar


二進制
war/WEB-INF/lib/datanucleus-core-1.1.5.jar


二進制
war/WEB-INF/lib/datanucleus-jpa-1.1.5.jar


二進制
war/WEB-INF/lib/geronimo-jpa_3.0_spec-1.1.1.jar


二進制
war/WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar


二進制
war/WEB-INF/lib/jdo2-api-2.3-eb.jar


+ 1 - 1
war/cache.manifest

@@ -1,7 +1,7 @@
 CACHE MANIFEST
 
 # THIS FILE WAS GENERATED. DO NOT MODIFY!
-# 03/01/2017 02:39 PM
+# 03/07/2017 08:44 AM
 
 app.html
 index.html?offline=1

+ 4 - 76
war/electron.js

@@ -1,21 +1,11 @@
 const fs = require('fs')
 const path = require('path')
-const url = require('url')
 const electron = require('electron')
 const ipcMain = electron.ipcMain
 const dialog = electron.dialog
 const app = electron.app
 const BrowserWindow = electron.BrowserWindow
 
-const autoUpdater = require('electron-updater').autoUpdater
-const log = require('electron-log')
-autoUpdater.logger = log
-autoUpdater.logger.transports.file.level = 'info'
-// autoUpdater.autoDownload = false
-autoUpdater.autoDownload = true
-
-const __DEV__ = process.env.NODE_ENV === 'development'
-
 let windowsRegistry = []
 
 function createWindow (opt = {}) {
@@ -23,9 +13,6 @@ function createWindow (opt = {}) {
 		width: 1600,
 		height: 1200,
 		'web-security': false,
-		webPreferences: {
-			// preload: path.resolve('./preload.js'),
-		},
 	}, opt)
 
 	let mainWindow = new BrowserWindow(options)
@@ -33,27 +20,9 @@ function createWindow (opt = {}) {
 
 	console.log('createWindow', opt)
 
-	let wurl = url.format({
-		pathname: `${__dirname}/index.html`,
-		protocol: 'file:',
-		query: {
-			'dev': __DEV__ ? 1 : 0,
-			'test': 1,
-			'db': 0,
-			'gapi': 0,
-			'od': 0,
-			'analytics': 0,
-			'picker': 0,
-			'mode': 'device',
-			'browser': 0,
-			'p': 'electron',
-		},
-		slashes: true,
-	})
-
-//`file://${__dirname}/index.html?dev=1&test=1&db=0&gapi=0&od=0&analytics=0&picker=0&mode=device&browser=0&p=electron`
 	// and load the index.html of the app.
-	mainWindow.loadURL(wurl)
+	mainWindow.loadURL(
+		`file://${__dirname}/index.html?dev=1&test=1&db=0&gapi=0&od=0&analytics=0&picker=0&mode=device&browser=0&p=electron`)
 
 	// Open the DevTools.
 	mainWindow.webContents.openDevTools()
@@ -116,8 +85,6 @@ app.on('ready', e => {
 		event.returnValue = 'pong'
 	})
 	createWindow()
-	// checkUpdate()
-	autoUpdater.checkForUpdates()
 })
 
 // Quit when all windows are closed.
@@ -139,44 +106,5 @@ app.on('activate', function () {
 	}
 })
 
-function checkUpdate () {
-	autoUpdater.checkForUpdates().then(UpdateCheckResult => {
-		if (UpdateCheckResult) {
-			let idx = dialog.showMessageBox({
-				type: 'question',
-				buttons: ['Ok', 'Cancel'],
-				title: 'Confirm Update',
-				message: 'Update available.\n\nWould you like to download and install new version?',
-				detail: 'Application will automatically restart to apply update after download',
-			})
-			if (idx === 0) return autoUpdater.downloadUpdate()
-		}
-	}).then((a, b) => {
-		log.info('@cfu update-downloaded@\n', a, b)
-	}).catch(e => {
-		log.error('@cfu then error@\n', e)
-	})
-}
-
-autoUpdater.on('error', e => log.error('@error@\n', e))
-
-autoUpdater.on('update-available',
-	(a, b) => log.info('@update-available@\n', a, b))
-
-/**/
-autoUpdater.on('update-downloaded', (event, info) => {
-	log.info('@update-downloaded@\n', info, event)
-	// Ask user to update the app
-	dialog.showMessageBox({
-		type: 'question',
-		buttons: ['Install and Relaunch', 'Later'],
-		defaultId: 0,
-		message: 'A new version of ' + app.getName() + ' has been downloaded',
-		detail: 'It will be installed the next time you restart the application',
-	}, response => {
-		if (response === 0) {
-			setTimeout(() => autoUpdater.quitAndInstall(), 1)
-		}
-	})
-})
-/**/
+// In this file you can include the rest of your app's specific main process
+// code. You can also put them in separate files and require them here.

文件差異過大導致無法顯示
+ 166 - 164
war/js/app.min.js


文件差異過大導致無法顯示
+ 89 - 89
war/js/atlas-viewer.min.js


文件差異過大導致無法顯示
+ 278 - 276
war/js/atlas.min.js


+ 4 - 6
war/js/diagramly/App.js

@@ -4237,10 +4237,6 @@ App.prototype.convertFile = function(url, filename, mimeType, extension, success
 					    	{
 					    		data = 'data:image/png;base64,' + data;	
 					    	}
-					    	else if (/\.jpe?g$/i.test(filename))
-					    	{
-					    		data = 'data:image/jpeg;base64,' + data;	
-					    	}
 					    	else
 					    	{
 					    		// Workaround for character encoding issues in IE10/11
@@ -4283,7 +4279,8 @@ App.prototype.loadUrl = function(url, success, error, forceBinary, retry)
 {
 	try
 	{
-		var binary = (forceBinary || /(\.png)($|\?)/i.test(url) || /(\.jpe?g)($|\?)/i.test(url));
+		var binary = forceBinary || /(\.png)($|\?)/i.test(url) ||
+			/(\.jpe?g)($|\?)/i.test(url) || /(\.gif)($|\?)/i.test(url);
 		retry = (retry != null) ? retry : true;
 		
 		var fn = mxUtils.bind(this, function()
@@ -4314,7 +4311,8 @@ App.prototype.loadUrl = function(url, success, error, forceBinary, retry)
 								data = tmp.join('');
 							}
 							
-							// LATER: Could be JPG but modern browser ignore the mime type
+							// LATER: Could be JPG but modern browsers
+							// ignore the mime type in the data URI
 							data = 'data:image/png;base64,' + this.base64Encode(data);
 						}
 			    		

+ 52 - 33
war/js/diagramly/Dialogs.js

@@ -4304,7 +4304,7 @@ var LinkDialog = function(editorUi, initialValue, btnLabel, fn)
 	};
 	
 	var btns = document.createElement('div');
-	btns.style.marginTop = '14px';
+	btns.style.marginTop = '20px';
 	btns.style.textAlign = 'right';
 	
 	var cancelBtn = mxUtils.button(mxResources.get('cancel'), function()
@@ -4352,10 +4352,25 @@ var LinkDialog = function(editorUi, initialValue, btnLabel, fn)
 		
 		linkInput.focus();
 	};
+	
+	function addButton(src, tooltip, fn)
+	{
+		var gpBtn = mxUtils.button('', fn);
+		gpBtn.className = 'geBtn';
+		gpBtn.setAttribute('title', tooltip);
+		var img = document.createElement('img');
+		img.style.height = '26px';
+		img.style.width = '26px';
+		img.setAttribute('src', src);
+		img.setAttribute('valign', 'bottom');
+		gpBtn.style.minWidth = '42px';
+		gpBtn.appendChild(img);
+		btns.appendChild(gpBtn);
+	};
 
 	if (typeof(google) != 'undefined' && typeof(google.picker) != 'undefined' && editorUi.drive != null)
 	{
-		var gpBtn = mxUtils.button(mxResources.get('googlePlus'), function()
+		addButton(IMAGE_PATH + '/google-drive-logo.svg', mxResources.get('googlePlus'), function()
 		{
 			if (editorUi.spinner.spin(document.body, mxResources.get('authorizing')))
 			{
@@ -4403,13 +4418,11 @@ var LinkDialog = function(editorUi, initialValue, btnLabel, fn)
 				}));
 			}
 		});
-		gpBtn.className = 'geBtn';
-		btns.appendChild(gpBtn);
 	}
 	
 	if (typeof(Dropbox) != 'undefined' && typeof(Dropbox.choose) != 'undefined')
 	{
-		var dbBtn = mxUtils.button(mxResources.get('dropbox'), function()
+		addButton(IMAGE_PATH + '/dropbox-logo.svg', mxResources.get('dropbox'), function()
 		{
 			// Authentication will be carried out on open to make sure the
 			// autosave does not show an auth dialog. Showing it here will
@@ -4427,42 +4440,48 @@ var LinkDialog = function(editorUi, initialValue, btnLabel, fn)
 				}
 			});
 		});
-		dbBtn.className = 'geBtn';
-		btns.appendChild(dbBtn);
 	}
 	
 	if (typeof(WL) != 'undefined' && typeof(WL.fileDialog) != 'undefined' && editorUi.oneDrive != null)
 	{
-		var dbBtn = mxUtils.button(mxResources.get('oneDrive'), function()
+		addButton(IMAGE_PATH + '/onedrive-logo.svg', mxResources.get('oneDrive'), function()
+		{
+		    WL.fileDialog(
+	        {
+	            mode: 'open',
+	            select: 'single'
+	        }).then(
+	            function (resp)
+	            {
+	            	if (resp != null && resp.data != null && resp.data.files != null && resp.data.files.length > 0)
+	            	{
+            			linkInput.value = resp.data.files[0].link;
+	            	}
+	            },
+	            function (responseFailed) {}
+	        );
+		});
+	}
+	
+	if (editorUi.gitHub != null)
+	{
+		addButton(IMAGE_PATH + '/github-logo.svg', mxResources.get('github'), function()
 		{
-			if (editorUi.spinner.spin(document.body, mxResources.get('authorizing')))
+			editorUi.gitHub.pickFile(function(path)
 			{
-				editorUi.oneDrive.execute(mxUtils.bind(this, function(token)
+				if (path != null)
 				{
-					if (token != null)
-					{
-						editorUi.spinner.stop();
-						
-					    WL.fileDialog(
-				        {
-				            mode: 'open',
-				            select: 'single'
-				        }).then(
-				            function (resp)
-				            {
-				            	if (resp != null && resp.data != null && resp.data.files != null && resp.data.files.length > 0)
-				            	{
-			            			linkInput.value = resp.data.files[0].link;
-				            	}
-				            },
-				            function (responseFailed) {}
-				        );
-					}
-				}));
-			}
+					var tokens = path.split('/');
+					var org = tokens[0];
+					var repo = tokens[1];
+					var ref = tokens[2];
+					var path = tokens.slice(3, tokens.length).join('/');
+					
+					linkInput.value = 'https://github.com/' + org + '/' +
+						repo + '/blob/' + ref + '/' + path;
+				}
+			});
 		});
-		dbBtn.className = 'geBtn';
-		btns.appendChild(dbBtn);
 	}
 
 	mxEvent.addListener(linkInput, 'keypress', function(e)

+ 20 - 7
war/js/diagramly/EditorUi.js

@@ -79,6 +79,11 @@
 	 */
 	EditorUi.prototype.enableLogging = true;
 	
+	/**
+	 * Specifies if PDF export with pages is enabled.
+	 */
+	EditorUi.prototype.pdfPageExport = true;
+	
 	/**
 	 * Capability check for canvas export
 	 */
@@ -1087,6 +1092,10 @@
 				{
 					filename = basename + '.png';
 				}
+				else if (format == 'jpeg')
+				{
+					filename = basename + '.jpg';
+				}
 				
 				this.saveRequest(filename, format, mxUtils.bind(this, function(newTitle, base64)
 				{
@@ -1284,7 +1293,7 @@
 				this.editor.fireEvent(new mxEventObject('fileLoaded'));
 				result = true;
 				
-				if (this.enableLogging && !this.isOffline())
+				if (this.enableLogging && !this.isOffline() && file.getMode() != null)
 				{
 		        	try
 		        	{
@@ -3459,7 +3468,7 @@
 	/**
 	 * 
 	 */
-	EditorUi.prototype.showRemoteExportDialog = function(btnLabel, helpLink, callback)
+	EditorUi.prototype.showRemoteExportDialog = function(btnLabel, helpLink, callback, hideInclude)
 	{
 		var div = document.createElement('div');
 		div.style.whiteSpace = 'nowrap';
@@ -3471,14 +3480,18 @@
 
 		var selection = this.addCheckbox(div, mxResources.get('selectionOnly'), false,
 			this.editor.graph.isSelectionEmpty());
-		var include = this.addCheckbox(div, mxResources.get('includeCopyOfMyDiagram'), true);
-		include.style.marginBottom = '16px';
-
+		var include = (hideInclude) ? null : this.addCheckbox(div, mxResources.get('includeCopyOfMyDiagram'), true);
+		
+		if (include != null)
+		{
+			include.style.marginBottom = '16px';
+		}
+		
 		var dlg = new CustomDialog(this, div, mxUtils.bind(this, function()
 		{
-			callback(!selection.checked, include.checked);
+			callback(!selection.checked, (include != null) ? include.checked : false);
 		}), null, btnLabel, helpLink);
-		this.showDialog(dlg.container, 300, 146, true, true);
+		this.showDialog(dlg.container, 300, (hideInclude) ? 100 : 146, true, true);
 	};
 	
 	/**

+ 15 - 1
war/js/diagramly/GitHubClient.js

@@ -397,7 +397,18 @@ GitHubClient.prototype.createGitHubFile = function(org, repo, ref, data, asLibra
 	
 	if (data.encoding === 'base64')
 	{
-		content = Base64.decode(content);
+		if (/\.jpe?g$/i.test(data.name))
+		{
+			content = 'data:image/jpeg;base64,' + content;
+		}
+		else if (/\.gif$/i.test(data.name))
+		{
+			content = 'data:image/gif;base64,' + content;	
+		}
+		else
+		{
+			content = Base64.decode(content);
+		}
 	}
 	
 	return (asLibrary) ? new GitHubLibrary(this.ui, content, meta) : new GitHubFile(this.ui, content, meta);
@@ -615,6 +626,9 @@ GitHubClient.prototype.saveFile = function(file, success, error)
 							this.getFile(org + '/' + repo + '/' + ref + '/' + path, mxUtils.bind(this, function(tempFile)
 							{
 								fn(tempFile.meta.sha);
+							}), mxUtils.bind(this, function()
+							{
+								fn(null);
 							}));
 						}));
 					this.ui.showDialog(dlg.container, 340, 150, true, false);

+ 34 - 5
war/js/diagramly/Menus.js

@@ -1201,13 +1201,21 @@
 			// Disabled for standalone mode in iOS because new tab cannot be closed
 			else if (!editorUi.isOffline() && (!mxClient.IS_IOS || !navigator.standalone))
 			{
-				menu.addItem(mxResources.get('image') + '...', null, mxUtils.bind(this, function()
+				menu.addItem(mxResources.get('formatPng') + '...', null, mxUtils.bind(this, function()
 				{
 					editorUi.showRemoteExportDialog(mxResources.get('export'), null, mxUtils.bind(this, function(ignoreSelection, editable)
 					{
 						this.editorUi.downloadFile((editable) ? 'xmlpng' : 'png', null, null, ignoreSelection);
 					}));
 				}), parent);
+				
+				menu.addItem(mxResources.get('formatJpg') + '...', null, mxUtils.bind(this, function()
+				{
+					editorUi.showRemoteExportDialog(mxResources.get('export'), null, mxUtils.bind(this, function(ignoreSelection, editable)
+					{
+						this.editorUi.downloadFile('jpeg', null, null, ignoreSelection);
+					}), true);
+				}), parent);
 			}
 			
 			menu.addItem(mxResources.get('formatSvg') + '...', null, mxUtils.bind(this, function()
@@ -1250,9 +1258,26 @@
 					var selection = editorUi.addCheckbox(div, mxResources.get('selectionOnly'),
 						false, graph.isSelectionEmpty());
 					var crop = editorUi.addCheckbox(div, mxResources.get('crop'),
-						!graph.pageVisible);
+						!graph.pageVisible || !editorUi.pdfPageExport,
+						!editorUi.pdfPageExport);
 					crop.style.marginBottom = '16px';
 					
+					// Crop is only enabled if selection only is selected
+					if (!editorUi.pdfPageExport)
+					{
+						mxEvent.addListener(selection, 'change', function()
+						{
+							if (selection.checked)
+							{
+								crop.removeAttribute('disabled');
+							}
+							else
+							{
+								crop.setAttribute('disabled', 'disabled');
+							}
+						});	
+					}
+					
 					var dlg = new CustomDialog(editorUi, div, mxUtils.bind(this, function()
 					{
 						this.editorUi.downloadFile('pdf', null, null, !selection.checked, null, !crop.checked);
@@ -1421,7 +1446,7 @@
 				var x = graph.snap(Math.ceil(Math.max(0, bds.x / view.scale - view.translate.x) + 4 * graph.gridSize));
 				var y = graph.snap(Math.ceil(Math.max(0, (bds.y + bds.height) / view.scale - view.translate.y) + 4 * graph.gridSize));
 
-				if (mime.substring(0, 6) == 'image/')
+				if (data.substring(0, 11) == 'data:image/')
 				{
 					editorUi.loadImage(data, mxUtils.bind(this, function(img)
 	    			{
@@ -1456,14 +1481,18 @@
 			{
 				var mime = 'text/xml';
 				
-				if (/(\.png)$/i.test(filename))
+				if (/\.png$/i.test(filename))
 				{
 					mime = 'image/png';
 				}
-				else if (/(\.jpe?g)$/i.test(filename))
+				else if (/\.jpe?g$/i.test(filename))
 				{
 					mime = 'image/jpg';
 				}
+				else if (/\.gif$/i.test(filename))
+				{
+					mime = 'image/gif';
+				}
 				
 				return mime;
 			});

文件差異過大導致無法顯示
+ 1 - 1
war/js/embed-static.min.js


文件差異過大導致無法顯示
+ 1 - 1
war/js/reader.min.js


文件差異過大導致無法顯示
+ 89 - 89
war/js/viewer.min.js


+ 31 - 31
war/package.json

@@ -1,32 +1,32 @@
 {
-  "name": "draw.io",
-  "version": "6.2.4",
-  "description": "draw.io desktop",
-  "main": "electron.js",
-  "scripts": {
-    "start": "electron ."
-  },
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/jgraph/draw.io.git"
-  },
-  "keywords": [
-    "draw.io",
-    "diagram",
-    "flowchart",
-    "UML"
-  ],
-  "author": "JGraph",
-  "license": "GPL-3.0",
-  "bugs": {
-    "url": "https://github.com/jgraph/draw.io/issues"
-  },
-  "homepage": "https://github.com/jgraph/draw.io",
-  "dependencies": {
-    "electron-log": "^1.3.0",
-    "electron-updater": "^1.8.2"
-  },
-  "devDependencies": {
-    "electron": "^1.6.2"
-  }
-}
+	"name": "draw.io",
+	"version": "1.0.0",
+	"description": "draw.io desktop",
+	"main": "electron.js",
+	"scripts":
+	{
+		"start": "electron ."
+	},
+	"repository":
+	{
+		"type": "git",
+		"url": "git+https://github.com/jgraph/draw.io.git"
+	},
+	"keywords": [
+		"draw.io",
+		"diagram",
+		"flowchart",
+		"UML"
+	],
+	"author": "JGraph",
+	"license": "GPL-3.0",
+	"bugs":
+	{
+		"url": "https://github.com/jgraph/draw.io/issues"
+	},
+	"homepage": "https://github.com/jgraph/draw.io",
+	"devDependencies":
+	{
+    	"electron": "^1.4.13"
+	}
+}

+ 1 - 0
war/resources/dia.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_am.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_ar.txt

@@ -466,6 +466,7 @@ otherViewers=‫مشاهدون آخرون‬
 outline=‫حد‬
 oval=‫بيضاوي‬
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=‫صفحات‬
 pageView=‫مشاهدة الصفحة‬

+ 1 - 0
war/resources/dia_bg.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_bn.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_bs.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Ovalan
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Stranice
 pageView=Pregled strane

+ 1 - 0
war/resources/dia_ca.txt

@@ -466,6 +466,7 @@ otherViewers=altres usuaris
 outline=Contorn
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pàgines
 pageView=Vista de pàgina

+ 1 - 0
war/resources/dia_cs.txt

@@ -466,6 +466,7 @@ otherViewers=další diváci
 outline=Obrys
 oval=Ovál
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Stránky
 pageView=Zobrazení stránky

+ 1 - 0
war/resources/dia_da.txt

@@ -466,6 +466,7 @@ otherViewers=andre, der kigger med
 outline=Oversigt
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Sider
 pageView=Sidevisning 

+ 1 - 0
war/resources/dia_de.txt

@@ -466,6 +466,7 @@ otherViewers=weitere Betrachter
 outline=Übersicht
 oval=Oval
 page=Seite
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Seite-{1}
 pages=Seiten
 pageView=Seitenansicht

+ 1 - 0
war/resources/dia_el.txt

@@ -466,6 +466,7 @@ otherViewers=άλλοι θεατές
 outline=Περίγραμμα
 oval=Οβάλ
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Σελίδες
 pageView=Προβολή Σελίδας

+ 1 - 0
war/resources/dia_es.txt

@@ -466,6 +466,7 @@ otherViewers=otros usuarios
 outline=Contorno
 oval=Óvalo
 page=Página
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Página-{1}
 pages=Páginas
 pageView=Vista de página

+ 1 - 0
war/resources/dia_et.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_fa.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_fi.txt

@@ -466,6 +466,7 @@ otherViewers=toiset katselijat
 outline=Ääriviiva
 oval=Ovaali
 page=Sivu
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Sivu-{1}
 pages=Sivut
 pageView=Sivun katselu

+ 1 - 0
war/resources/dia_fil.txt

@@ -466,6 +466,7 @@ otherViewers=ibang mga tumitingin
 outline=Balangkas
 oval=Oblong
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Mga pahina
 pageView=Pagtingin sa pahina

+ 1 - 0
war/resources/dia_fr.txt

@@ -466,6 +466,7 @@ otherViewers=autres lecteurs
 outline=Contour
 oval=Ovale
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Mise en page

+ 1 - 0
war/resources/dia_gu.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_he.txt

@@ -466,6 +466,7 @@ otherViewers=‫צופים אחרים‬
 outline=‫מתאר‬
 oval=‫אליפסי‬
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=‫עמודים‬
 pageView=‫תצוגת עמוד‬

+ 1 - 0
war/resources/dia_hi.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_hr.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_hu.txt

@@ -466,6 +466,7 @@ otherViewers=másik néző
 outline=Áttekintés
 oval=Ovális
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Oldalak
 pageView=Oldal elrendezés

+ 1 - 0
war/resources/dia_i18n.txt

@@ -466,6 +466,7 @@ otherViewers=otherViewers
 outline=outline
 oval=oval
 page=page
+pageContentLinkDescription=pageContentLinkDescription
 pageWithNumber=pageWithNumber
 pages=pages
 pageView=pageView

+ 1 - 0
war/resources/dia_id.txt

@@ -466,6 +466,7 @@ otherViewers=Pengunjung-pengunjung lain
 outline=Ikhtisar
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Halaman-Halaman
 pageView=Tampilan Halaman

+ 1 - 0
war/resources/dia_it.txt

@@ -466,6 +466,7 @@ otherViewers=altri visitatori
 outline=Contorno
 oval=Ovale
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pagine
 pageView=Vista pagina

+ 1 - 0
war/resources/dia_ja.txt

@@ -466,6 +466,7 @@ otherViewers=他の閲覧者
 outline=アウトライン
 oval=丸
 page=ページ
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=ページ{1}
 pages=ページ
 pageView=ページのレイアウト

+ 1 - 0
war/resources/dia_kn.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_ko.txt

@@ -466,6 +466,7 @@ otherViewers=다른 뷰어
 outline=윤곽
 oval=타원형
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=페이지
 pageView=페이지 보기

+ 1 - 0
war/resources/dia_lt.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_lv.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_ml.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_mr.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_ms.txt

@@ -466,6 +466,7 @@ otherViewers=Penonton-penonton lain
 outline=Garis
 oval=Bujur
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Muka surat
 pageView=Pandangan muka surat

+ 1 - 0
war/resources/dia_nl.txt

@@ -466,6 +466,7 @@ otherViewers=andere bekijkers
 outline=Overzicht
 oval=Ovaal
 page=Pagina
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Pagina-{1}
 pages=Pagina's
 pageView=Weergave pagina

+ 1 - 0
war/resources/dia_no.txt

@@ -466,6 +466,7 @@ otherViewers=andre lesere
 outline=Konturlinje
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Sider
 pageView=Sidevisning

+ 1 - 0
war/resources/dia_pl.txt

@@ -466,6 +466,7 @@ otherViewers=inni użytkownicy
 outline=Obramowanie
 oval=Owalny
 page=Strona
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Strona-{1}
 pages=Strony
 pageView=Widok strony

+ 1 - 0
war/resources/dia_pt-br.txt

@@ -466,6 +466,7 @@ otherViewers=outros usuários
 outline=Contorno
 oval=Oval 
 page=Página
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Página-{1}
 pages=Páginas
 pageView=Layout da Página 

+ 1 - 0
war/resources/dia_pt.txt

@@ -466,6 +466,7 @@ otherViewers=outros usuários
 outline=Contorno
 oval=Oval 
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Páginas
 pageView=Layout da página 

+ 1 - 0
war/resources/dia_ro.txt

@@ -466,6 +466,7 @@ otherViewers=alţi participanţi
 outline=Contur
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pagini
 pageView=Stil de pagină

+ 1 - 0
war/resources/dia_ru.txt

@@ -466,6 +466,7 @@ otherViewers=другие просматривающие
 outline=Контур
 oval=Овал
 page=Страница
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Страница {1}
 pages=Страницы
 pageView=Отображать страницы

+ 1 - 0
war/resources/dia_sk.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_sl.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_sr.txt

@@ -466,6 +466,7 @@ otherViewers=drugih posmatrača
 outline=Pregled
 oval=Ovalan
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Stranice
 pageView=Pregled strane

+ 1 - 0
war/resources/dia_sv.txt

@@ -466,6 +466,7 @@ otherViewers=andra läsare
 outline=Konturlinje
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Sidor
 pageView=Sidvisning

+ 1 - 0
war/resources/dia_sw.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_ta.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_te.txt

@@ -466,6 +466,7 @@ otherViewers=other viewers
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Pages
 pageView=Page View

+ 1 - 0
war/resources/dia_th.txt

@@ -466,6 +466,7 @@ otherViewers=ผู้ดูอื่นๆ
 outline=แบบร่าง
 oval=รูปไข่
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=หน้า
 pageView=มุมมองหน้า

+ 1 - 0
war/resources/dia_tr.txt

@@ -466,6 +466,7 @@ otherViewers=diğer izleyici
 outline=Kuş bakışı
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Sayfalar
 pageView=Sayfa görünümü

+ 1 - 0
war/resources/dia_uk.txt

@@ -466,6 +466,7 @@ otherViewers=це також переглядають
 outline=Контур
 oval=Овал
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Сторінки
 pageView=Перегляд сторінки

+ 1 - 0
war/resources/dia_vi.txt

@@ -466,6 +466,7 @@ otherViewers=Người xem khác
 outline=Phác thảo
 oval=Hình bầu dục
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=Trang
 pageView=Xem trang

+ 1 - 0
war/resources/dia_zh-tw.txt

@@ -466,6 +466,7 @@ otherViewers=其他檢視之使用者
 outline=Outline
 oval=Oval
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=第 {1} 頁
 pages=頁面
 pageView=頁面檢視

+ 1 - 0
war/resources/dia_zh.txt

@@ -466,6 +466,7 @@ otherViewers=其他观众
 outline=缩略图
 oval=椭圆形
 page=Page
+pageContentLinkDescription=To link to an anchor or title on this page, type #anchorname or #titlename. For other pages, type in spacename:pagename#anchorname
 pageWithNumber=Page-{1}
 pages=页面
 pageView=页面视图