13.0.9 release
This commit is contained in:
parent
4727adfcd3
commit
5876e39065
11 changed files with 715 additions and 658 deletions
|
@ -1,3 +1,7 @@
|
|||
07-MAY-2020: 13.0.9
|
||||
|
||||
- Adds patch chain validation for real time
|
||||
|
||||
05-MAY-2020: 13.0.8
|
||||
|
||||
- Adds ctrl+enter for table cells
|
||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
13.0.8
|
||||
13.0.9
|
|
@ -21,12 +21,23 @@ async function handleRequest(request)
|
|||
let params = new URL('http://dummy.com?' + reqBodyTxt).searchParams;
|
||||
let domain = params.get('domain');
|
||||
let confLicense = params.get('confLicense');
|
||||
let licenseDump = params.get('licenseDump');
|
||||
let sParams = new URL(request.url).searchParams;
|
||||
|
||||
//Try Query string parameters
|
||||
if (domain == null)
|
||||
{
|
||||
let params = new URL(request.url).searchParams;
|
||||
domain = params.get('domain');
|
||||
domain = sParams.get('domain');
|
||||
}
|
||||
|
||||
if (confLicense == null)
|
||||
{
|
||||
confLicense = sParams.get('confLicense');
|
||||
}
|
||||
|
||||
if (SEN == null)
|
||||
{
|
||||
SEN = sParams.get('SEN');
|
||||
}
|
||||
|
||||
let email = params.get('email');
|
||||
|
@ -52,6 +63,13 @@ async function handleRequest(request)
|
|||
fetch(url);
|
||||
}
|
||||
|
||||
if (licenseDump != null)
|
||||
{
|
||||
let msg = encodeURIComponent(('license:licenseDump=' + licenseDump));
|
||||
let url = "https://log.diagrams.net/" + msg;
|
||||
fetch(url);
|
||||
}
|
||||
|
||||
if (domain != null)
|
||||
{
|
||||
try
|
||||
|
|
|
@ -5,9 +5,16 @@
|
|||
async function handleRequest(request) {
|
||||
let requestURL = new URL(request.url)
|
||||
let host = requestURL.host
|
||||
let sub = host;
|
||||
let path = requestURL.pathname
|
||||
|
||||
let hostRedirectMap = redirectMap.get(host)
|
||||
if (host != null)
|
||||
{
|
||||
let parts = host.split('.')
|
||||
sub = parts[0]
|
||||
}
|
||||
|
||||
let hostRedirectMap = redirectMap.get(sub)
|
||||
|
||||
if (hostRedirectMap)
|
||||
{
|
||||
|
@ -54,7 +61,7 @@ addEventListener('fetch', async event => {
|
|||
})
|
||||
|
||||
const redirectMap = new Map([
|
||||
['about.draw.io', new Map([
|
||||
['about', new Map([
|
||||
['/drawio-desktop-10-7-5-release', 'https://github.com/jgraph/drawio-desktop/releases/tag/v10.7.5'],
|
||||
['/insert-from-text-now-supports-plantuml', '/use-plantuml-in-draw-io'],
|
||||
['/integrate-draw-io/', '/integrations-ecosystem/'],
|
||||
|
@ -128,40 +135,40 @@ const redirectMap = new Map([
|
|||
['/features/training-material/', 'https://drawio-app.com/tutorials/'],
|
||||
['/terms-conditions/', 'https://seibert-media.com/general-terms/'],
|
||||
['/support/', 'https://github.com/jgraph/drawio/wiki/Getting-Support'],
|
||||
['/', 'https://drawio-app.com/']
|
||||
['/', 'https://www.diagrams.net']
|
||||
])],
|
||||
['blog.draw.io', new Map([
|
||||
['/', 'https://drawio-app.com/blog']
|
||||
['blog', new Map([
|
||||
['/', 'https://www.diagrams.net/blog']
|
||||
])],
|
||||
['download.draw.io', new Map([
|
||||
['download', new Map([
|
||||
['/', 'https://github.com/jgraph/drawio-desktop/releases/latest']
|
||||
])],
|
||||
['get.draw.io', new Map([
|
||||
['get', new Map([
|
||||
['/', 'https://github.com/jgraph/drawio-desktop/releases/latest']
|
||||
])],
|
||||
['docsaddon.draw.io', new Map([
|
||||
['docsaddon', new Map([
|
||||
['/', 'https://gsuite.google.com/marketplace/app/drawio_viewer_for_docs/224440279306']
|
||||
])],
|
||||
['gsuite.draw.io', new Map([
|
||||
['gsuite', new Map([
|
||||
['/', 'https://gsuite.google.com/marketplace/app/drawio_diagrams/671128082532']
|
||||
])],
|
||||
['office.draw.io', new Map([
|
||||
['office', new Map([
|
||||
['/', 'https://appsource.microsoft.com/product/office/wa200000113']
|
||||
])],
|
||||
['slidesaddon.draw.io', new Map([
|
||||
['slidesaddon', new Map([
|
||||
['/', 'https://gsuite.google.com/marketplace/app/drawio_diagrams_for_slides/588283048931']
|
||||
])],
|
||||
['sheetsaddon.draw.io', new Map([
|
||||
['sheetsaddon', new Map([
|
||||
['/', 'https://gsuite.google.com/marketplace/app/drawio_diagrams_for_sheets/948903782998']
|
||||
])],
|
||||
['doc.draw.io', new Map([
|
||||
['doc', new Map([
|
||||
['/i18n', 'https://docs.google.com/spreadsheets/d/1FoYdyEraEQuWofzbYCDPKN7EdKgS_2ZrsDrOA8scgwQ'],
|
||||
['/', 'https://support.draw.io']
|
||||
['/', 'https://www.diagrams.net/doc/']
|
||||
])],
|
||||
['app.draw.io', new Map([
|
||||
['/', 'https://www.draw.io/app']
|
||||
['app', new Map([
|
||||
['/', 'https://app.diagrams.net']
|
||||
])],
|
||||
['new.draw.io', new Map([
|
||||
['/', 'https://www.draw.io/?splash=0']
|
||||
['new', new Map([
|
||||
['/', 'https://app.diagrams.net/?splash=0']
|
||||
])]
|
||||
])
|
|
@ -2,7 +2,7 @@
|
|||
"name": "draw.io",
|
||||
"description": "draw.io add-on for Confluence",
|
||||
"key": "com.mxgraph.confluence.plugins.diagramly",
|
||||
"baseUrl": "https://confluence.draw.io",
|
||||
"baseUrl": "https://ca14f165.ngrok.io",
|
||||
"enableLicensing": true,
|
||||
"apiMigrations": {
|
||||
"gdpr": true
|
||||
|
|
|
@ -1,185 +1,207 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>draw.io Editor</title>
|
||||
<script type="text/javascript">
|
||||
// To Avoid NPE in connectUtils
|
||||
urlParams = {};
|
||||
</script>
|
||||
<script src="connectUtils-1-4-8.js" type="text/javascript"></script>
|
||||
<style type="text/css">
|
||||
html, body {
|
||||
height:100%;
|
||||
overflow:hidden;
|
||||
}
|
||||
body {
|
||||
background-color:#ffffff;
|
||||
background-image:url(/images/drawlogo-text-bottom.svg);
|
||||
background-repeat:no-repeat;
|
||||
background-position:center;
|
||||
background-size:128px;
|
||||
font-family:Arial,Sans-Serif;
|
||||
overflow:hidden;
|
||||
width:100%;
|
||||
margin:0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript">
|
||||
//Logs uncaught errors
|
||||
window.onerror = function(message, url, linenumber, colno, err)
|
||||
{
|
||||
message = 'Confluence Cloud Editor: ' + ((message != null) ? message : '');
|
||||
|
||||
AC.logError(message, url, linenumber, colno, err);
|
||||
};
|
||||
|
||||
var baseUrl = AC.getBaseUrl();
|
||||
var connectUrl = baseUrl + '/atlassian-connect';
|
||||
var head = document.getElementsByTagName('head')[0];
|
||||
|
||||
|
||||
var script = document.createElement('script');
|
||||
script.setAttribute('data-options', 'resize:false;margin:false');
|
||||
|
||||
// Main
|
||||
script.onload = function()
|
||||
{
|
||||
var xdm_e = AC.getSiteUrl();
|
||||
var license = AC.getUrlParam('lic', false);
|
||||
|
||||
if (license != null && xdm_e != null)
|
||||
{
|
||||
if (license == 'none')
|
||||
{
|
||||
var hostParse = document.createElement('a');
|
||||
hostParse.href = xdm_e;
|
||||
var hostname = hostParse.hostname;
|
||||
|
||||
if (hostname != null)
|
||||
{
|
||||
if (hostname.indexOf('.ngrok.io') > -1)
|
||||
{
|
||||
console.log("License status = ", license);
|
||||
}
|
||||
else
|
||||
{
|
||||
AP.request({
|
||||
type: 'GET',
|
||||
url: '/rest/atlassian-connect/1/addons/com.mxgraph.confluence.plugins.diagramly',
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
success: function (resp)
|
||||
{
|
||||
resp = JSON.parse(resp);
|
||||
|
||||
var xhr = new XMLHttpRequest();
|
||||
|
||||
xhr.onreadystatechange = function()
|
||||
{
|
||||
if (xhr.readyState == XMLHttpRequest.DONE && xhr.status >= 200 && xhr.status <= 299)
|
||||
{
|
||||
var resp = xhr.responseText;
|
||||
|
||||
if (resp != null && resp.length > 0)
|
||||
{
|
||||
var lic = JSON.parse(resp);
|
||||
|
||||
if (lic != null && lic.atlasCloudLic != null)
|
||||
{
|
||||
// decide whether valid and close if not
|
||||
// AP.dialog.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
xhr.open('POST', '/license?domain=' + hostname + '&confLicense=' + license + '&SEN=' + resp.license? resp.license.supportEntitlementNumber : 'Unlicensed', true);
|
||||
xhr.send(null);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AP.resize('100%', '100%');
|
||||
|
||||
var config = null;
|
||||
var lang = null;
|
||||
var allDone = 0;
|
||||
|
||||
var startEditor = function ()
|
||||
{
|
||||
allDone++;
|
||||
|
||||
if (allDone == 2)
|
||||
{
|
||||
var isCustom = AC.getUrlParam('custom');
|
||||
|
||||
if (isCustom == "1")
|
||||
{
|
||||
var contentId = AC.getUrlParam('contentId') || AC.getUrlParam('custContentId');
|
||||
AP.dialog.getCustomData(function (customData)
|
||||
{
|
||||
AC.initAsync(baseUrl, customData.contentId || customData.custContentId || contentId, customData.macroData, config, lang);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
AC.initAsync(baseUrl, null, null, config, lang);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AP.user.getLocale(function(locale)
|
||||
{
|
||||
lang = locale;
|
||||
startEditor();
|
||||
});
|
||||
|
||||
AP.request({
|
||||
type: 'GET',
|
||||
url: '/rest/api/content/search?cql=type%3Dpage%20and%20space%3DDRAWIOCONFIG%20and%20title%3DConfiguration', //type=page and space=DRAWIOCONFIG and title=Configuration. Search doesn't return 404 if not found
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
success: function (resp)
|
||||
{
|
||||
resp = JSON.parse(resp);
|
||||
|
||||
if (resp.size == 1)
|
||||
{
|
||||
var configPageId = resp.results[0].id;
|
||||
//load the configuration file
|
||||
AP.request({
|
||||
type: 'GET',
|
||||
url: '/download/attachments/' + configPageId + '/configuration.json',
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
success: function (fileContent)
|
||||
{
|
||||
config = fileContent;
|
||||
startEditor();
|
||||
},
|
||||
error: startEditor //if there is an error loading the configuration, just load the editor normally. E.g., 404 when the space doesn't exist
|
||||
});
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
startEditor();
|
||||
}
|
||||
},
|
||||
error: startEditor //if there is an error loading the configuration, just load the editor normally. E.g., 404 when the space doesn't exist
|
||||
});
|
||||
};
|
||||
script.src = 'https://connect-cdn.atl-paas.net/all.js';
|
||||
head.appendChild(script);
|
||||
|
||||
var link = document.createElement('link');
|
||||
link.type = 'text/css';
|
||||
link.rel = 'stylesheet';
|
||||
link.href = connectUrl + '/all.css';
|
||||
head.appendChild(link);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>draw.io Editor</title>
|
||||
<script type="text/javascript">
|
||||
// To Avoid NPE in connectUtils
|
||||
urlParams = {};
|
||||
</script>
|
||||
<script src="connectUtils-1-4-8.js" type="text/javascript"></script>
|
||||
<style type="text/css">
|
||||
html, body {
|
||||
height:100%;
|
||||
overflow:hidden;
|
||||
}
|
||||
body {
|
||||
background-color:#ffffff;
|
||||
background-image:url(/images/drawlogo-text-bottom.svg);
|
||||
background-repeat:no-repeat;
|
||||
background-position:center;
|
||||
background-size:128px;
|
||||
font-family:Arial,Sans-Serif;
|
||||
overflow:hidden;
|
||||
width:100%;
|
||||
margin:0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript">
|
||||
//Logs uncaught errors
|
||||
window.onerror = function(message, url, linenumber, colno, err)
|
||||
{
|
||||
message = 'Confluence Cloud Editor: ' + ((message != null) ? message : '');
|
||||
|
||||
AC.logError(message, url, linenumber, colno, err);
|
||||
};
|
||||
|
||||
var xdm_e = AC.getSiteUrl();
|
||||
var baseUrl = AC.getBaseUrl();
|
||||
var license = AC.getUrlParam('lic', false);
|
||||
var connectUrl = baseUrl + '/atlassian-connect';
|
||||
var head = document.getElementsByTagName('head')[0];
|
||||
var licenseValid = true;
|
||||
|
||||
var script = document.createElement('script');
|
||||
script.setAttribute('data-options', 'resize:false;margin:false');
|
||||
|
||||
if (license != null && xdm_e != null)
|
||||
{
|
||||
if (license == 'none')
|
||||
{
|
||||
licenseValid = false;
|
||||
}
|
||||
|
||||
var hostParse = document.createElement('a');
|
||||
hostParse.href = xdm_e;
|
||||
var hostname = hostParse.hostname;
|
||||
|
||||
if (hostname != null)
|
||||
{
|
||||
var xhr = new XMLHttpRequest();
|
||||
|
||||
xhr.onreadystatechange = function()
|
||||
{
|
||||
if (xhr.readyState == XMLHttpRequest.DONE && xhr.status >= 200 && xhr.status <= 299)
|
||||
{
|
||||
var resp = xhr.responseText;
|
||||
|
||||
if (resp != null && resp.length > 0)
|
||||
{
|
||||
var lic = JSON.parse(resp);
|
||||
|
||||
if (lic != null && lic.atlasCloudLic != null)
|
||||
{
|
||||
licenseValid = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
xhr.open('POST', '/license?domain=' + hostname + '&confLicense=' + license, true);
|
||||
xhr.send(null);
|
||||
}
|
||||
}
|
||||
|
||||
// Main
|
||||
script.onload = function()
|
||||
{
|
||||
if (!licenseValid)
|
||||
{
|
||||
setTimeout(function() // XHR call doesn't work inside AP.Request
|
||||
{
|
||||
if (!licenseValid)
|
||||
{
|
||||
alert("Please install a license for the draw.io app");
|
||||
AP.dialog.close();
|
||||
}
|
||||
}, 8000);
|
||||
}
|
||||
|
||||
AP.resize('100%', '100%');
|
||||
|
||||
var config = null;
|
||||
var lang = null;
|
||||
var SEN = null;
|
||||
var installedDate = null;
|
||||
var lastUpdated = null;
|
||||
var allDone = 0;
|
||||
|
||||
var startEditor = function ()
|
||||
{
|
||||
allDone++;
|
||||
|
||||
if (allDone == 2)
|
||||
{
|
||||
var isCustom = AC.getUrlParam('custom');
|
||||
|
||||
if (isCustom == "1")
|
||||
{
|
||||
var contentId = AC.getUrlParam('contentId') || AC.getUrlParam('custContentId');
|
||||
AP.dialog.getCustomData(function (customData)
|
||||
{
|
||||
AC.initAsync(baseUrl, customData.contentId || customData.custContentId || contentId, customData.macroData, config, lang);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
AC.initAsync(baseUrl, null, null, config, lang);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AP.user.getLocale(function(locale)
|
||||
{
|
||||
lang = locale;
|
||||
startEditor();
|
||||
});
|
||||
|
||||
AP.request({
|
||||
type: 'GET',
|
||||
url: '/rest/api/content/search?cql=type%3Dpage%20and%20space%3DDRAWIOCONFIG%20and%20title%3DConfiguration', //type=page and space=DRAWIOCONFIG and title=Configuration. Search doesn't return 404 if not found
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
success: function (resp)
|
||||
{
|
||||
resp = JSON.parse(resp);
|
||||
|
||||
if (resp != null && resp.size == 1)
|
||||
{
|
||||
var configPageId = resp.results[0].id;
|
||||
//load the configuration file
|
||||
AP.request({
|
||||
type: 'GET',
|
||||
url: '/download/attachments/' + configPageId + '/configuration.json',
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
success: function (fileContent)
|
||||
{
|
||||
config = fileContent;
|
||||
startEditor();
|
||||
},
|
||||
error: startEditor //if there is an error loading the configuration, just load the editor normally. E.g., 404 when the space doesn't exist
|
||||
});
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
startEditor();
|
||||
}
|
||||
},
|
||||
error: startEditor //if there is an error loading the configuration, just load the editor normally. E.g., 404 when the space doesn't exist
|
||||
});
|
||||
|
||||
AP.request({
|
||||
type: 'GET',
|
||||
url: '/rest/atlassian-connect/1/addons/com.mxgraph.confluence.plugins.diagramly',
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
success: function (resp)
|
||||
{
|
||||
try
|
||||
{
|
||||
resp = JSON.parse(resp);
|
||||
|
||||
if (resp != null && resp.license != null)
|
||||
{
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open('POST', '/license?licenseDump=' + JSON.stringify(resp), true);
|
||||
xhr.send(null);
|
||||
}
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
// just throw away if it breaks, not important
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
script.src = 'https://connect-cdn.atl-paas.net/all.js';
|
||||
head.appendChild(script);
|
||||
|
||||
var link = document.createElement('link');
|
||||
link.type = 'text/css';
|
||||
link.rel = 'stylesheet';
|
||||
link.href = connectUrl + '/all.css';
|
||||
head.appendChild(link);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
894
src/main/webapp/js/app.min.js
vendored
894
src/main/webapp/js/app.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -1172,6 +1172,7 @@ DrawioFileSync.prototype.fileSaved = function(pages, lastDesc, success, error, t
|
|||
var shadow = (this.file.shadowPages != null) ?
|
||||
this.file.shadowPages : this.ui.getPagesForNode(
|
||||
mxUtils.parseXml(this.file.shadowData).documentElement)
|
||||
var lastSecret = this.file.getDescriptorSecret(lastDesc);
|
||||
var checksum = this.ui.getHashValueForPages(pages);
|
||||
var diff = this.ui.diffPages(shadow, pages);
|
||||
|
||||
|
@ -1191,6 +1192,7 @@ DrawioFileSync.prototype.fileSaved = function(pages, lastDesc, success, error, t
|
|||
mxUtils.post(EditorUi.cacheUrl, this.getIdParameters() +
|
||||
'&from=' + encodeURIComponent(etag) + '&to=' + encodeURIComponent(current) +
|
||||
'&msg=' + encodeURIComponent(msg) + ((secret != null) ? '&secret=' + encodeURIComponent(secret) : '') +
|
||||
((lastSecret != null) ? '&last-secret=' + encodeURIComponent(lastSecret) : '') +
|
||||
((data.length < this.maxCacheEntrySize) ? '&data=' + encodeURIComponent(data) : '') +
|
||||
((token != null) ? '&token=' + encodeURIComponent(token) : ''),
|
||||
mxUtils.bind(this, function(req)
|
||||
|
|
|
@ -112,7 +112,7 @@ Editor.rowMoveImage = (mxClient.IS_SVG) ? 'data:image/png;base64,iVBORw0KGgoAAAA
|
|||
/**
|
||||
* Images below are for lightbox and embedding toolbars.
|
||||
*/
|
||||
Editor.helpImage = (mxClient.IS_SVG) ? 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAEBAMAAACw6DhOAAAAGFBMVEUzMzP///9tbW1QUFCKiopBQUF8fHxfX1/IXlmXAAAAFElEQVQImWNgNVdzYBAUFBRggLMAEzYBy29kEPgAAAAASUVORK5CYII=' :
|
||||
Editor.helpImage = (mxClient.IS_SVG) ? 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDB6Ii8+PHBhdGggZD0iTTExIDE4aDJ2LTJoLTJ2MnptMS0xNkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAxOGMtNC40MSAwLTgtMy41OS04LThzMy41OS04IDgtOCA4IDMuNTkgOCA4LTMuNTkgOC04IDh6bTAtMTRjLTIuMjEgMC00IDEuNzktNCA0aDJjMC0xLjEuOS0yIDItMnMyIC45IDIgMmMwIDItMyAxLjc1LTMgNWgyYzAtMi4yNSAzLTIuNSAzLTUgMC0yLjIxLTEuNzktNC00LTR6Ii8+PC9zdmc+' :
|
||||
IMAGE_PATH + '/help.png';
|
||||
|
||||
/**
|
||||
|
|
8
src/main/webapp/js/viewer.min.js
vendored
8
src/main/webapp/js/viewer.min.js
vendored
|
@ -2010,9 +2010,11 @@ Editor=function(a,b,e,d,k){mxEventSource.call(this);this.chromeless=null!=a?a:th
|
|||
function(){return this.status};this.graphChangeListener=function(a,d){var c=null!=d?d.getProperty("edit"):null;null!=c&&c.ignoreEdit||this.setModified(!0)};this.graph.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.graphChangeListener.apply(this,arguments)}));this.graph.resetViewOnRootChange=!1;this.init()};Editor.pageCounter=0;
|
||||
(function(){try{for(var a=window;null!=a.opener&&"undefined"!==typeof a.opener.Editor&&!isNaN(a.opener.Editor.pageCounter)&&a.opener!=a;)a=a.opener;null!=a&&(a.Editor.pageCounter++,Editor.pageCounter=a.Editor.pageCounter)}catch(b){}})();Editor.useLocalStorage="undefined"!=typeof Storage&&mxClient.IS_IOS;
|
||||
Editor.moveImage=mxClient.IS_SVG?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI4cHgiIGhlaWdodD0iMjhweCI+PGc+PC9nPjxnPjxnPjxnPjxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIuNCwyLjQpc2NhbGUoMC44KXJvdGF0ZSg0NSwxMiwxMikiIHN0cm9rZT0iIzI5YjZmMiIgZmlsbD0iIzI5YjZmMiIgZD0iTTE1LDNsMi4zLDIuM2wtMi44OSwyLjg3bDEuNDIsMS40MkwxOC43LDYuN0wyMSw5VjNIMTV6IE0zLDlsMi4zLTIuM2wyLjg3LDIuODlsMS40Mi0xLjQyTDYuNyw1LjNMOSwzSDNWOXogTTksMjEgbC0yLjMtMi4zbDIuODktMi44N2wtMS40Mi0xLjQyTDUuMywxNy4zTDMsMTV2Nkg5eiBNMjEsMTVsLTIuMywyLjNsLTIuODctMi44OWwtMS40MiwxLjQybDIuODksMi44N0wxNSwyMWg2VjE1eiIvPjwvZz48L2c+PC9nPjwvc3ZnPgo=":IMAGE_PATH+
|
||||
"/move.png";Editor.rowMoveImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAEBAMAAACw6DhOAAAAGFBMVEUzMzP///9tbW1QUFCKiopBQUF8fHxfX1/IXlmXAAAAFElEQVQImWNgNVdzYBAUFBRggLMAEzYBy29kEPgAAAAASUVORK5CYII=":IMAGE_PATH+"/thumb_horz.png";Editor.helpImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAEBAMAAACw6DhOAAAAGFBMVEUzMzP///9tbW1QUFCKiopBQUF8fHxfX1/IXlmXAAAAFElEQVQImWNgNVdzYBAUFBRggLMAEzYBy29kEPgAAAAASUVORK5CYII=":IMAGE_PATH+"/help.png";
|
||||
Editor.checkmarkImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhFQAVAMQfAGxsbHx8fIqKioaGhvb29nJycvr6+sDAwJqamltbW5OTk+np6YGBgeTk5Ly8vJiYmP39/fLy8qWlpa6ursjIyOLi4vj4+N/f3+3t7fT09LCwsHZ2dubm5r6+vmZmZv///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OEY4NTZERTQ5QUFBMTFFMUE5MTVDOTM5MUZGMTE3M0QiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OEY4NTZERTU5QUFBMTFFMUE5MTVDOTM5MUZGMTE3M0QiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4Rjg1NkRFMjlBQUExMUUxQTkxNUM5MzkxRkYxMTczRCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4Rjg1NkRFMzlBQUExMUUxQTkxNUM5MzkxRkYxMTczRCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAB8ALAAAAAAVABUAAAVI4CeOZGmeaKqubKtylktSgCOLRyLd3+QJEJnh4VHcMoOfYQXQLBcBD4PA6ngGlIInEHEhPOANRkaIFhq8SuHCE1Hb8Lh8LgsBADs=":
|
||||
IMAGE_PATH+"/checkmark.gif";Editor.maximizeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAElBMVEUAAAAAAAAAAAAAAAAAAAAAAADgKxmiAAAABXRSTlMA758vX1Pw3BoAAABJSURBVAjXY8AJQkODGBhUQ0MhbAUGBiYY24CBgRnGFmZgMISwgwwDGRhEhVVBbAVmEQYGRwMmBjIAQi/CTIRd6G5AuA3dzYQBAHj0EFdHkvV4AAAAAElFTkSuQmCC";Editor.zoomOutImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAElBMVEUAAAAAAAAsLCxxcXEhISFgYGChjTUxAAAAAXRSTlMAQObYZgAAAEdJREFUCNdjIAMwCQrB2YKCggJQJqMwA7MglK1owMBgqABVApITgLJZXFxgbIQ4Qj3CHIT5ggoIe5kgNkM1KSDYKBKqxPkDAPo5BAZBE54hAAAAAElFTkSuQmCC";
|
||||
"/move.png";Editor.rowMoveImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAEBAMAAACw6DhOAAAAGFBMVEUzMzP///9tbW1QUFCKiopBQUF8fHxfX1/IXlmXAAAAFElEQVQImWNgNVdzYBAUFBRggLMAEzYBy29kEPgAAAAASUVORK5CYII=":IMAGE_PATH+"/thumb_horz.png";
|
||||
Editor.helpImage=mxClient.IS_SVG?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDB6Ii8+PHBhdGggZD0iTTExIDE4aDJ2LTJoLTJ2MnptMS0xNkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAxOGMtNC40MSAwLTgtMy41OS04LThzMy41OS04IDgtOCA4IDMuNTkgOCA4LTMuNTkgOC04IDh6bTAtMTRjLTIuMjEgMC00IDEuNzktNCA0aDJjMC0xLjEuOS0yIDItMnMyIC45IDIgMmMwIDItMyAxLjc1LTMgNWgyYzAtMi4yNSAzLTIuNSAzLTUgMC0yLjIxLTEuNzktNC00LTR6Ii8+PC9zdmc+":IMAGE_PATH+
|
||||
"/help.png";
|
||||
Editor.checkmarkImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhFQAVAMQfAGxsbHx8fIqKioaGhvb29nJycvr6+sDAwJqamltbW5OTk+np6YGBgeTk5Ly8vJiYmP39/fLy8qWlpa6ursjIyOLi4vj4+N/f3+3t7fT09LCwsHZ2dubm5r6+vmZmZv///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OEY4NTZERTQ5QUFBMTFFMUE5MTVDOTM5MUZGMTE3M0QiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OEY4NTZERTU5QUFBMTFFMUE5MTVDOTM5MUZGMTE3M0QiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4Rjg1NkRFMjlBQUExMUUxQTkxNUM5MzkxRkYxMTczRCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4Rjg1NkRFMzlBQUExMUUxQTkxNUM5MzkxRkYxMTczRCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAB8ALAAAAAAVABUAAAVI4CeOZGmeaKqubKtylktSgCOLRyLd3+QJEJnh4VHcMoOfYQXQLBcBD4PA6ngGlIInEHEhPOANRkaIFhq8SuHCE1Hb8Lh8LgsBADs=":IMAGE_PATH+
|
||||
"/checkmark.gif";Editor.maximizeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAElBMVEUAAAAAAAAAAAAAAAAAAAAAAADgKxmiAAAABXRSTlMA758vX1Pw3BoAAABJSURBVAjXY8AJQkODGBhUQ0MhbAUGBiYY24CBgRnGFmZgMISwgwwDGRhEhVVBbAVmEQYGRwMmBjIAQi/CTIRd6G5AuA3dzYQBAHj0EFdHkvV4AAAAAElFTkSuQmCC";Editor.zoomOutImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAElBMVEUAAAAAAAAsLCxxcXEhISFgYGChjTUxAAAAAXRSTlMAQObYZgAAAEdJREFUCNdjIAMwCQrB2YKCggJQJqMwA7MglK1owMBgqABVApITgLJZXFxgbIQ4Qj3CHIT5ggoIe5kgNkM1KSDYKBKqxPkDAPo5BAZBE54hAAAAAElFTkSuQmCC";
|
||||
Editor.zoomInImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAElBMVEUAAAAAAAAsLCwhISFxcXFgYGBavKaoAAAAAXRSTlMAQObYZgAAAElJREFUCNdjIAMwCQrB2YKCggJQJqMIA4sglK3owMzgqABVwsDMwCgAZTMbG8PYCHGEeoQ5CPMFFRD2MkFshmpSQLBRJFSJ8wcAEqcEM2uhl2MAAAAASUVORK5CYII=";Editor.zoomFitImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAD1BMVEUAAAAAAAAwMDBwcHBgYGC1xl09AAAAAXRSTlMAQObYZgAAAEFJREFUCNdjIAMwCQrB2YKCggJQJqMwA7MglK1owMBgqABVApITwMdGqEeYgzBfUAFhLxPEZqgmBQQbRUKFOH8AAK5OA3lA+FFOAAAAAElFTkSuQmCC";
|
||||
Editor.layersImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAAaVBMVEUAAAAgICAICAgdHR0PDw8WFhYICAgLCwsXFxcvLy8ODg4uLi4iIiIqKiokJCQYGBgKCgonJycFBQUCAgIqKiocHBwcHBwODg4eHh4cHBwnJycJCQkUFBQqKiojIyMuLi4ZGRkgICAEBATOWYXAAAAAGnRSTlMAD7+fnz8/H7/ff18/77+vr5+fn39/b28fH2xSoKsAAACQSURBVBjTrYxJEsMgDARZZMAY73sgCcn/HxnhKtnk7j6oRq0psfuoyndZ/SuODkHPLzfVT6KeyPePnJ7KrnkRjWMXTn4SMnN8mXe2SSM3ts8L/ZUxxrbAULSYJJULE0Iw9pjpenoICcgcX61mGgTgtCv9Be99pzCoDhNQWQnchD1mup5++CYGcoQexajZbfwAj/0MD8ZOaUgAAAAASUVORK5CYII=";
|
||||
Editor.previousImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAAh0lEQVQ4je3UsQnCUBCA4U8hpa1NsoEjpHQJS0dxADdwEMuMIJkgA1hYChbGQgMi+JC8q4L/AB/vDu7x74cWWEZhJU44RmA1zujR5GIbXF9YNrjD/Q0bDRY4fEBZ4P4LlgTnCbAf84pUM8/9hY08tMUtEoQ1LpEgrNBFglChFXR6Q6GfwwR6AGKJMF74Vtt3AAAAAElFTkSuQmCC";Editor.nextImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAAi0lEQVQ4jeXUIQ7CUAwA0MeGxWI2yylwnALJUdBcgYvM7QYLmjOQIAkIPmJZghiIvypoUtX0tfnJL38X5ZfaEgUeUcManFBHgS0SLlhHggk3bCPBhCf2keCQR8wjwYTDp6YiZxJmOU1jGw7vGALescuBxsArNlOwd/CM1VSM/ut1qCIw+uOwiMJ+OF4CQzBCXm3hyAAAAABJRU5ErkJggg==";
|
||||
|
|
|
@ -6,7 +6,7 @@ if (workbox)
|
|||
workbox.precaching.precacheAndRoute([
|
||||
{
|
||||
"url": "js/app.min.js",
|
||||
"revision": "8f905199962cb01eba11ac54b40cd630"
|
||||
"revision": "a32ef17f69e1f38d2c7f3235cd2e2dbc"
|
||||
},
|
||||
{
|
||||
"url": "js/extensions.min.js",
|
||||
|
|
Loading…
Reference in a new issue