8.6.6 release
This commit is contained in:
parent
afa5ef2f68
commit
1909920a5d
74 changed files with 3669 additions and 3457 deletions
|
@ -1,3 +1,10 @@
|
|||
22-MAY-2018: 8.6.6
|
||||
|
||||
- Fixes enabled state for some menu items
|
||||
- Moves SQL and PlantUML to insert menu
|
||||
- Fixes loading libraries from OneDrive
|
||||
- Adds reverse edge to context menu
|
||||
|
||||
17-MAY-2018: 8.6.5
|
||||
|
||||
- Fixes timing error for export in Safari
|
||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
8.6.5
|
||||
8.6.6
|
|
@ -1,7 +1,7 @@
|
|||
CACHE MANIFEST
|
||||
|
||||
# THIS FILE WAS GENERATED. DO NOT MODIFY!
|
||||
# 05/17/2018 11:10 AM
|
||||
# 05/22/2018 06:17 PM
|
||||
|
||||
app.html
|
||||
index.html?offline=1
|
||||
|
|
1666
src/main/webapp/js/app.min.js
vendored
1666
src/main/webapp/js/app.min.js
vendored
File diff suppressed because one or more lines are too long
1524
src/main/webapp/js/atlas-viewer.min.js
vendored
1524
src/main/webapp/js/atlas-viewer.min.js
vendored
File diff suppressed because one or more lines are too long
1624
src/main/webapp/js/atlas.min.js
vendored
1624
src/main/webapp/js/atlas.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -4859,8 +4859,8 @@ App.prototype.updateUserElement = function()
|
|||
'" style="font-size:10pt;padding:20px 20px 10px 10px;">' +
|
||||
'<tr><td valign="top">' +
|
||||
((driveUser.pictureUrl != null) ?
|
||||
'<img style="margin-right:10px;border-radius:50%;" src="' + driveUser.pictureUrl + '"/>' :
|
||||
'<img style="margin-right:4px;margin-top:2px;" src="' + this.defaultUserPicture + '"/>') +
|
||||
'<img width="80" height="80" style="margin-right:10px;border-radius:50%;" src="' + driveUser.pictureUrl + '"/>' :
|
||||
'<img width="80" height="80" style="margin-right:4px;margin-top:2px;" src="' + this.defaultUserPicture + '"/>') +
|
||||
'</td><td valign="top" style="white-space:nowrap;' +
|
||||
((driveUser.pictureUrl != null) ? 'padding-top:14px;' : '') +
|
||||
'"><b>' + mxUtils.htmlEntities(driveUser.displayName) + '</b><br>' +
|
||||
|
|
|
@ -2098,7 +2098,7 @@ var BackgroundImageDialog = function(editorUi, applyFn)
|
|||
/**
|
||||
* Constructs a new parse dialog.
|
||||
*/
|
||||
var ParseDialog = function(editorUi, title)
|
||||
var ParseDialog = function(editorUi, title, defaultType)
|
||||
{
|
||||
var insertPoint = editorUi.editor.graph.getFreeInsertPoint();
|
||||
|
||||
|
@ -2541,15 +2541,24 @@ var ParseDialog = function(editorUi, title)
|
|||
|
||||
var listOption = document.createElement('option');
|
||||
listOption.setAttribute('value', 'list');
|
||||
listOption.setAttribute('selected', 'selected');
|
||||
mxUtils.write(listOption, mxResources.get('list'));
|
||||
typeSelect.appendChild(listOption);
|
||||
|
||||
if (defaultType == null || defaultType == 'fromText')
|
||||
{
|
||||
listOption.setAttribute('selected', 'selected');
|
||||
}
|
||||
|
||||
var tableOption = document.createElement('option');
|
||||
tableOption.setAttribute('value', 'table');
|
||||
mxUtils.write(tableOption, mxResources.get('table'));
|
||||
typeSelect.appendChild(tableOption);
|
||||
|
||||
if (defaultType == 'formatSql')
|
||||
{
|
||||
tableOption.setAttribute('selected', 'selected');
|
||||
}
|
||||
|
||||
var diagramOption = document.createElement('option');
|
||||
diagramOption.setAttribute('value', 'diagram');
|
||||
mxUtils.write(diagramOption, mxResources.get('diagram'));
|
||||
|
@ -2559,6 +2568,11 @@ var ParseDialog = function(editorUi, title)
|
|||
plantUmlSvgOption.setAttribute('value', 'plantUmlSvg');
|
||||
mxUtils.write(plantUmlSvgOption, mxResources.get('plantUml') + ' (' + mxResources.get('formatSvg') + ')');
|
||||
|
||||
if (defaultType == 'plantUml')
|
||||
{
|
||||
plantUmlSvgOption.setAttribute('selected', 'selected');
|
||||
}
|
||||
|
||||
var plantUmlPngOption = document.createElement('option');
|
||||
plantUmlPngOption.setAttribute('value', 'plantUmlPng');
|
||||
mxUtils.write(plantUmlPngOption, mxResources.get('plantUml') + ' (' + mxResources.get('formatPng') + ')');
|
||||
|
@ -2583,8 +2597,11 @@ var ParseDialog = function(editorUi, title)
|
|||
}
|
||||
else if (typeSelect.value == 'table')
|
||||
{
|
||||
return 'CREATE TABLE Persons\n(\nPersonID int NOT NULL PRIMARY KEY,\nLastName varchar(255),\n' +
|
||||
'FirstName varchar(255),\nAddress varchar(255),\nCity varchar(255)\n);';
|
||||
return 'CREATE TABLE Suppliers\n(\nsupplier_id int NOT NULL PRIMARY KEY,\n' +
|
||||
'supplier_name char(50) NOT NULL,\ncontact_name char(50),\n);\n' +
|
||||
'CREATE TABLE Customers\n(\ncustomer_id int NOT NULL PRIMARY KEY,\n' +
|
||||
'customer_name char(50) NOT NULL,\naddress char(50),\n' +
|
||||
'city char(50),\nstate char(25),\nzip_code char(10)\n);\n';
|
||||
}
|
||||
else if (typeSelect.value == 'plantUmlPng')
|
||||
{
|
||||
|
@ -3487,7 +3504,7 @@ var CreateDialog = function(editorUi, title, createFn, cancelFn, dlgTitle, btnLa
|
|||
mxUtils.setPrefixedStyle(preview.style, 'transform', 'translate(50%,-50%)');
|
||||
div.appendChild(preview);
|
||||
|
||||
if (allowTab)
|
||||
if (allowTab && Editor.popupsAllowed)
|
||||
{
|
||||
preview.style.cursor = 'pointer';
|
||||
|
||||
|
|
|
@ -535,19 +535,13 @@ DriveClient.prototype.updateUser = function(success, error, remember)
|
|||
this.ui.loadUrl(url, mxUtils.bind(this, function(data)
|
||||
{
|
||||
var info = JSON.parse(data);
|
||||
|
||||
// Requests more information about the user
|
||||
this.executeRequest(gapi.client.drive.about.get(), mxUtils.bind(this, function(resp)
|
||||
{
|
||||
this.setUser(new DrawioUser(info.id, resp.user.emailAddress, resp.user.displayName,
|
||||
(resp.user.picture != null) ? resp.user.picture.url : null, info.locale));
|
||||
this.setUserId(info.id, remember);
|
||||
this.setUser(new DrawioUser(info.id, info.email, info.name, info.picture, info.locale));
|
||||
this.setUserId(info.id, remember);
|
||||
|
||||
if (success != null)
|
||||
{
|
||||
success();
|
||||
}
|
||||
}), error);
|
||||
if (success != null)
|
||||
{
|
||||
success();
|
||||
}
|
||||
}), error);
|
||||
};
|
||||
|
||||
|
|
|
@ -737,18 +737,36 @@
|
|||
this.clear();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Hook for subclassers.
|
||||
*/
|
||||
DiagramFormatPanel.prototype.isShadowOptionVisible = function()
|
||||
{
|
||||
var file = this.editorUi.getCurrentFile();
|
||||
|
||||
return urlParams['embed'] == '1' || (file != null && file.isEditable());
|
||||
};
|
||||
|
||||
/**
|
||||
* Option is not visible in default theme.
|
||||
*/
|
||||
DiagramFormatPanel.prototype.isMathOptionVisible = function(div)
|
||||
{
|
||||
return false;
|
||||
};
|
||||
|
||||
/**
|
||||
* Add global shadow option.
|
||||
*/
|
||||
var diagramFormatPanelAddView = DiagramFormatPanel.prototype.addView;
|
||||
|
||||
|
||||
DiagramFormatPanel.prototype.addView = function(div)
|
||||
{
|
||||
var div = diagramFormatPanelAddView.apply(this, arguments);
|
||||
var file = this.editorUi.getCurrentFile();
|
||||
|
||||
if (mxClient.IS_SVG && (urlParams['embed'] == '1' || (file != null && file.isEditable())))
|
||||
if (mxClient.IS_SVG && this.isShadowOptionVisible())
|
||||
{
|
||||
var ui = this.editorUi;
|
||||
var editor = ui.editor;
|
||||
|
@ -793,7 +811,7 @@
|
|||
|
||||
return div;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Adds autosave and math typesetting options.
|
||||
*/
|
||||
|
@ -838,7 +856,42 @@
|
|||
div.appendChild(opt);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (this.isMathOptionVisible() && graph.isEnabled() && typeof(MathJax) !== 'undefined')
|
||||
{
|
||||
// Math
|
||||
var option = this.createOption(mxResources.get('mathematicalTypesetting'), function()
|
||||
{
|
||||
return graph.mathEnabled;
|
||||
}, function(checked)
|
||||
{
|
||||
ui.actions.get('mathematicalTypesetting').funct();
|
||||
},
|
||||
{
|
||||
install: function(apply)
|
||||
{
|
||||
this.listener = function()
|
||||
{
|
||||
apply(graph.mathEnabled);
|
||||
};
|
||||
|
||||
ui.addListener('mathEnabledChanged', this.listener);
|
||||
},
|
||||
destroy: function()
|
||||
{
|
||||
ui.removeListener(this.listener);
|
||||
}
|
||||
});
|
||||
|
||||
option.style.paddingTop = '0px';
|
||||
div.appendChild(option);
|
||||
|
||||
var help = ui.menus.createHelpLink('https://desk.draw.io/support/solutions/articles/16000032875');
|
||||
help.style.position = 'relative';
|
||||
help.style.top = '4px';
|
||||
option.appendChild(help);
|
||||
}
|
||||
|
||||
return div;
|
||||
};
|
||||
|
||||
|
|
|
@ -1060,7 +1060,7 @@
|
|||
* @param {number} dx X-coordinate of the translation.
|
||||
* @param {number} dy Y-coordinate of the translation.
|
||||
*/
|
||||
EditorUi.prototype.downloadFile = function(format, nonCompressed, addShadow, ignoreSelection, currentPage, pageVisible)
|
||||
EditorUi.prototype.downloadFile = function(format, nonCompressed, addShadow, ignoreSelection, currentPage, pageVisible, transparent)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -1070,74 +1070,74 @@
|
|||
|
||||
if (format == 'xml')
|
||||
{
|
||||
var data = '<?xml version="1.0" encoding="UTF-8"?>\n' +
|
||||
((nonCompressed) ? mxUtils.getXml(this.editor.getGraphXml(ignoreSelection)) :
|
||||
this.getFileData(true, null, null, null, ignoreSelection, currentPage));
|
||||
|
||||
this.saveData(filename, format, data, 'text/xml');
|
||||
var data = '<?xml version="1.0" encoding="UTF-8"?>\n' +
|
||||
((nonCompressed) ? mxUtils.getXml(this.editor.getGraphXml(ignoreSelection)) :
|
||||
this.getFileData(true, null, null, null, ignoreSelection, currentPage));
|
||||
|
||||
this.saveData(filename, format, data, 'text/xml');
|
||||
}
|
||||
else if (format == 'html')
|
||||
{
|
||||
var data = this.getHtml2(this.getFileData(true), this.editor.graph, basename);
|
||||
this.saveData(filename, format, data, 'text/html');
|
||||
var data = this.getHtml2(this.getFileData(true), this.editor.graph, basename);
|
||||
this.saveData(filename, format, data, 'text/html');
|
||||
}
|
||||
else if ((format == 'svg' || format == 'xmlsvg') && this.spinner.spin(document.body, mxResources.get('export')))
|
||||
{
|
||||
var svg = null;
|
||||
|
||||
var saveSvg = mxUtils.bind(this, function(data)
|
||||
{
|
||||
if (data.length <= MAX_REQUEST_SIZE)
|
||||
{
|
||||
this.saveData(filename, 'svg', data, 'image/svg+xml');
|
||||
}
|
||||
else
|
||||
{
|
||||
this.handleError({message: mxResources.get('drawingTooLarge')}, mxResources.get('error'), mxUtils.bind(this, function()
|
||||
{
|
||||
mxUtils.popup(svg);
|
||||
}));
|
||||
}
|
||||
});
|
||||
|
||||
if (format == 'svg')
|
||||
{
|
||||
var bg = this.editor.graph.background;
|
||||
|
||||
if (bg == mxConstants.NONE)
|
||||
{
|
||||
bg = null;
|
||||
}
|
||||
|
||||
// Sets or disables alternate text for foreignObjects. Disabling is needed
|
||||
// because PhantomJS seems to ignore switch statements and paint all text.
|
||||
var svgRoot = this.editor.graph.getSvg(bg, null, null, null, null, ignoreSelection);
|
||||
var svg = null;
|
||||
|
||||
var saveSvg = mxUtils.bind(this, function(data)
|
||||
{
|
||||
if (data.length <= MAX_REQUEST_SIZE)
|
||||
{
|
||||
this.saveData(filename, 'svg', data, 'image/svg+xml');
|
||||
}
|
||||
else
|
||||
{
|
||||
this.handleError({message: mxResources.get('drawingTooLarge')}, mxResources.get('error'), mxUtils.bind(this, function()
|
||||
{
|
||||
mxUtils.popup(svg);
|
||||
}));
|
||||
}
|
||||
});
|
||||
|
||||
if (format == 'svg')
|
||||
{
|
||||
var bg = this.editor.graph.background;
|
||||
|
||||
if (transparent || bg == mxConstants.NONE)
|
||||
{
|
||||
bg = null;
|
||||
}
|
||||
|
||||
// Sets or disables alternate text for foreignObjects. Disabling is needed
|
||||
// because PhantomJS seems to ignore switch statements and paint all text.
|
||||
var svgRoot = this.editor.graph.getSvg(bg, null, null, null, null, ignoreSelection);
|
||||
|
||||
if (addShadow)
|
||||
{
|
||||
this.editor.graph.addSvgShadow(svgRoot);
|
||||
}
|
||||
|
||||
// Embeds the images in the SVG output (async)
|
||||
this.convertImages(svgRoot, mxUtils.bind(this, mxUtils.bind(this, function(svgRoot2)
|
||||
{
|
||||
this.spinner.stop();
|
||||
|
||||
if (addShadow)
|
||||
{
|
||||
this.editor.graph.addSvgShadow(svgRoot);
|
||||
}
|
||||
|
||||
// Embeds the images in the SVG output (async)
|
||||
this.convertImages(svgRoot, mxUtils.bind(this, mxUtils.bind(this, function(svgRoot2)
|
||||
{
|
||||
this.spinner.stop();
|
||||
|
||||
saveSvg('<?xml version="1.0" encoding="UTF-8"?>\n' +
|
||||
'<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n' +
|
||||
mxUtils.getXml(svgRoot2));
|
||||
})));
|
||||
}
|
||||
else
|
||||
{
|
||||
filename = basename + '.svg';
|
||||
|
||||
svg = this.getFileData(false, true, null, mxUtils.bind(this, function(svg)
|
||||
{
|
||||
this.spinner.stop();
|
||||
saveSvg(svg);
|
||||
}), ignoreSelection);
|
||||
}
|
||||
saveSvg('<?xml version="1.0" encoding="UTF-8"?>\n' +
|
||||
'<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n' +
|
||||
mxUtils.getXml(svgRoot2));
|
||||
})));
|
||||
}
|
||||
else
|
||||
{
|
||||
filename = basename + '.svg';
|
||||
|
||||
svg = this.getFileData(false, true, null, mxUtils.bind(this, function(svg)
|
||||
{
|
||||
this.spinner.stop();
|
||||
saveSvg(svg);
|
||||
}), ignoreSelection);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1161,7 +1161,7 @@
|
|||
this.editor.graph.pageVisible = pageVisible;
|
||||
}
|
||||
|
||||
var req = this.createDownloadRequest(newTitle, format, ignoreSelection, base64);
|
||||
var req = this.createDownloadRequest(newTitle, format, ignoreSelection, base64, transparent);
|
||||
this.editor.graph.pageVisible = prev;
|
||||
|
||||
return req;
|
||||
|
@ -1185,7 +1185,7 @@
|
|||
* @param {number} dx X-coordinate of the translation.
|
||||
* @param {number} dy Y-coordinate of the translation.
|
||||
*/
|
||||
EditorUi.prototype.createDownloadRequest = function(filename, format, ignoreSelection, base64)
|
||||
EditorUi.prototype.createDownloadRequest = function(filename, format, ignoreSelection, base64, transparent)
|
||||
{
|
||||
var bounds = this.editor.graph.getGraphBounds();
|
||||
|
||||
|
@ -1221,7 +1221,15 @@
|
|||
}
|
||||
}
|
||||
|
||||
var bg = this.editor.graph.background;
|
||||
|
||||
if (format == 'png' && transparent)
|
||||
{
|
||||
bg = mxConstants.NONE;
|
||||
}
|
||||
|
||||
return new mxXmlRequest(EXPORT_URL, 'format=' + format + range +
|
||||
'&bg=' + ((bg != null) ? bg : mxConstants.NONE) +
|
||||
'&base64=' + base64 + '&embedXml=' + embed + '&xml=' +
|
||||
encodeURIComponent(data) + ((filename != null) ?
|
||||
'&filename=' + encodeURIComponent(filename) : ''));
|
||||
|
@ -2558,9 +2566,9 @@
|
|||
* @param {number} dx X-coordinate of the translation.
|
||||
* @param {number} dy Y-coordinate of the translation.
|
||||
*/
|
||||
EditorUi.prototype.showError = function(title, msg, btn, fn, retry, btn2, fn2, btn3, fn3, w, h)
|
||||
EditorUi.prototype.showError = function(title, msg, btn, fn, retry, btn2, fn2, btn3, fn3, w, h, hide)
|
||||
{
|
||||
var dlg = new ErrorDialog(this, title, msg, btn, fn, retry, btn2, fn2, null, btn3, fn3);
|
||||
var dlg = new ErrorDialog(this, title, msg, btn || mxResources.get('ok'), fn, retry, btn2, fn2, hide, btn3, fn3);
|
||||
this.showDialog(dlg.container, w || 340, h || 150, true, false);
|
||||
dlg.init();
|
||||
};
|
||||
|
@ -4020,16 +4028,21 @@
|
|||
this.editor.graph.isSelectionEmpty());
|
||||
var include = (hideInclude) ? null : this.addCheckbox(div, mxResources.get('includeCopyOfMyDiagram'), true);
|
||||
|
||||
if (include != null)
|
||||
var graph = this.editor.graph;
|
||||
var transparent = (hideInclude) ? null : this.addCheckbox(div, mxResources.get('transparentBackground'),
|
||||
graph.background == mxConstants.NONE || graph.background == null);
|
||||
|
||||
if (transparent != null)
|
||||
{
|
||||
include.style.marginBottom = '16px';
|
||||
transparent.style.marginBottom = '16px';
|
||||
}
|
||||
|
||||
var dlg = new CustomDialog(this, div, mxUtils.bind(this, function()
|
||||
{
|
||||
callback(!selection.checked, (include != null) ? include.checked : false);
|
||||
callback(!selection.checked, (include != null) ? include.checked : false,
|
||||
(transparent != null) ? transparent.checked : false);
|
||||
}), null, btnLabel, helpLink);
|
||||
this.showDialog(dlg.container, 300, (hideInclude) ? 100 : 146, true, true);
|
||||
this.showDialog(dlg.container, 300, (hideInclude) ? 100 : 186, true, true);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -8424,6 +8437,29 @@
|
|||
{
|
||||
this.tabContainer.style.visibility = (enabled) ? '' : 'hidden';
|
||||
}
|
||||
|
||||
if (!enabled)
|
||||
{
|
||||
if (this.actions.outlineWindow != null)
|
||||
{
|
||||
this.actions.outlineWindow.window.setVisible(false);
|
||||
}
|
||||
|
||||
if (this.actions.layersWindow != null)
|
||||
{
|
||||
this.actions.layersWindow.window.setVisible(false);
|
||||
}
|
||||
|
||||
if (this.menus.tagsWindow != null)
|
||||
{
|
||||
this.menus.tagsWindow.window.setVisible(false);
|
||||
}
|
||||
|
||||
if (this.menus.findWindow != null)
|
||||
{
|
||||
this.menus.findWindow.window.setVisible(false);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -8937,57 +8973,57 @@
|
|||
else
|
||||
{
|
||||
// Creates a preview with no alt text for unsupported browsers
|
||||
mxSvgCanvas2D.prototype.foAltText = null;
|
||||
|
||||
var bg = this.editor.graph.background;
|
||||
|
||||
if (bg == mxConstants.NONE)
|
||||
{
|
||||
bg = null;
|
||||
}
|
||||
mxSvgCanvas2D.prototype.foAltText = null;
|
||||
|
||||
var bg = this.editor.graph.background;
|
||||
|
||||
if (bg == mxConstants.NONE)
|
||||
{
|
||||
bg = null;
|
||||
}
|
||||
|
||||
msg.xml = this.getFileData(true);
|
||||
msg.format = 'svg';
|
||||
|
||||
if (data.embedImages || data.embedImages == null)
|
||||
{
|
||||
if (data.embedImages || data.embedImages == null)
|
||||
{
|
||||
if ((data.spin == null && data.spinKey == null) || this.spinner.spin(document.body,
|
||||
(data.spinKey != null) ? mxResources.get(data.spinKey) : data.spin))
|
||||
{
|
||||
this.editor.graph.setEnabled(false);
|
||||
|
||||
if (data.format == 'xmlsvg')
|
||||
{
|
||||
this.getEmbeddedSvg(msg.xml, this.editor.graph, null, true, mxUtils.bind(this, function(svg)
|
||||
{
|
||||
this.editor.graph.setEnabled(true);
|
||||
this.spinner.stop();
|
||||
|
||||
msg.data = this.createSvgDataUri(svg);
|
||||
parent.postMessage(JSON.stringify(msg), '*');
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
this.convertImages(this.editor.graph.getSvg(bg), mxUtils.bind(this, function(svgRoot)
|
||||
{
|
||||
this.editor.graph.setEnabled(true);
|
||||
this.spinner.stop();
|
||||
|
||||
msg.data = this.createSvgDataUri(mxUtils.getXml(svgRoot));
|
||||
parent.postMessage(JSON.stringify(msg), '*');
|
||||
}));
|
||||
}
|
||||
if (data.format == 'xmlsvg')
|
||||
{
|
||||
this.getEmbeddedSvg(msg.xml, this.editor.graph, null, true, mxUtils.bind(this, function(svg)
|
||||
{
|
||||
this.editor.graph.setEnabled(true);
|
||||
this.spinner.stop();
|
||||
|
||||
msg.data = this.createSvgDataUri(svg);
|
||||
parent.postMessage(JSON.stringify(msg), '*');
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
this.convertImages(this.editor.graph.getSvg(bg), mxUtils.bind(this, function(svgRoot)
|
||||
{
|
||||
this.editor.graph.setEnabled(true);
|
||||
this.spinner.stop();
|
||||
|
||||
msg.data = this.createSvgDataUri(mxUtils.getXml(svgRoot));
|
||||
parent.postMessage(JSON.stringify(msg), '*');
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
var svg = (data.format == 'xmlsvg') ? this.getEmbeddedSvg(this.getFileData(true),
|
||||
this.editor.graph, null, true) : mxUtils.getXml(this.editor.graph.getSvg(bg));
|
||||
msg.data = this.createSvgDataUri(svg);
|
||||
}
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
var svg = (data.format == 'xmlsvg') ? this.getEmbeddedSvg(this.getFileData(true),
|
||||
this.editor.graph, null, true) : mxUtils.getXml(this.editor.graph.getSvg(bg));
|
||||
msg.data = this.createSvgDataUri(svg);
|
||||
}
|
||||
}
|
||||
|
||||
parent.postMessage(JSON.stringify(msg), '*');
|
||||
|
@ -10114,6 +10150,7 @@
|
|||
var graph = this.editor.graph;
|
||||
var active = this.isDiagramActive();
|
||||
var file = this.getCurrentFile();
|
||||
var enabled = file != null || urlParams['embed'] == '1';
|
||||
this.actions.get('pageSetup').setEnabled(active);
|
||||
this.actions.get('autosave').setEnabled(file != null && file.isEditable() && file.isAutosaveOptional());
|
||||
this.actions.get('guides').setEnabled(active);
|
||||
|
@ -10131,6 +10168,9 @@
|
|||
this.actions.get('editDiagram').setEnabled(active && (file == null || !file.isRestricted()));
|
||||
this.actions.get('publishLink').setEnabled(file != null && !file.isRestricted());
|
||||
this.actions.get('tags').setEnabled(active && (file == null || !file.isRestricted()));
|
||||
this.actions.get('find').setEnabled(enabled);
|
||||
this.actions.get('layers').setEnabled(enabled);
|
||||
this.actions.get('outline').setEnabled(enabled);
|
||||
this.actions.get('rename').setEnabled(file != null && file.isRenamable());
|
||||
this.actions.get('close').setEnabled(file != null);
|
||||
this.menus.get('publish').setEnabled(file != null && !file.isRestricted());
|
||||
|
|
|
@ -570,9 +570,9 @@
|
|||
}
|
||||
else if (!editorUi.isOffline() && (!mxClient.IS_IOS || !navigator.standalone))
|
||||
{
|
||||
editorUi.showRemoteExportDialog(mxResources.get('export'), null, mxUtils.bind(this, function(ignoreSelection, editable)
|
||||
editorUi.showRemoteExportDialog(mxResources.get('export'), null, mxUtils.bind(this, function(ignoreSelection, editable, transparent)
|
||||
{
|
||||
editorUi.downloadFile((editable) ? 'xmlpng' : 'png', null, null, ignoreSelection);
|
||||
editorUi.downloadFile((editable) ? 'xmlpng' : 'png', null, null, ignoreSelection, null, null, transparent);
|
||||
}));
|
||||
}
|
||||
}));
|
||||
|
@ -2018,15 +2018,16 @@
|
|||
}
|
||||
})));
|
||||
|
||||
var methods = ['horizontalFlow', 'verticalFlow', '-', 'horizontalTree', 'verticalTree', 'radialTree', '-', 'organic', 'circle', '-', 'fromText'];
|
||||
var methods = ['horizontalFlow', 'verticalFlow', '-', 'horizontalTree', 'verticalTree', 'radialTree', '-',
|
||||
'organic', 'circle', '-', 'fromText', 'plantUml', 'formatSql'];
|
||||
|
||||
var addInsertItem = function(menu, parent, title, method)
|
||||
{
|
||||
menu.addItem(title, null, mxUtils.bind(this, function()
|
||||
{
|
||||
if (method == 'fromText')
|
||||
if (method == 'fromText' || method == 'formatSql' || method == 'plantUml')
|
||||
{
|
||||
var dlg = new ParseDialog(editorUi, title);
|
||||
var dlg = new ParseDialog(editorUi, title, method);
|
||||
editorUi.showDialog(dlg.container, 620, 420, true, false);
|
||||
editorUi.dialog.container.style.overflow = 'auto';
|
||||
dlg.init();
|
||||
|
|
|
@ -18,6 +18,7 @@ EditorUi.initMinimalTheme = function()
|
|||
style.innerHTML = '* { -webkit-font-smoothing: antialiased; }' +
|
||||
'html body .mxWindow button.geBtn { font-size:12px !important; margin-left: 0;}' +
|
||||
'html body div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }' +
|
||||
'html body button.geBtn:active { opacity: 0.6; }' +
|
||||
'.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }' +
|
||||
'div.geDialog { border-radius: 5px; }' +
|
||||
'html body div.geDialog button.geBigButton { color: #fff !important; }' +
|
||||
|
@ -156,7 +157,7 @@ EditorUi.initMinimalTheme = function()
|
|||
var w = Math.min(graph.container.clientWidth - 10, 266);
|
||||
|
||||
ui.sidebarWindow = new WrapperWindow(ui, mxResources.get('shapes'), 10, 56,
|
||||
w - 6, Math.min(600, graph.container.clientHeight - 30),
|
||||
w - 6, Math.min(650, graph.container.clientHeight - 30),
|
||||
function(container)
|
||||
{
|
||||
var div = document.createElement('div');
|
||||
|
@ -344,6 +345,25 @@ EditorUi.initMinimalTheme = function()
|
|||
this.tabContainer.style.right = '70px';
|
||||
}
|
||||
};
|
||||
|
||||
// Overridden to update save menu state
|
||||
|
||||
/**
|
||||
* Updates action states depending on the selection.
|
||||
*/
|
||||
var editorUiUpdateActionStates = EditorUi.prototype.updateActionStates;
|
||||
|
||||
EditorUi.prototype.updateActionStates = function()
|
||||
{
|
||||
editorUiUpdateActionStates.apply(this, arguments);
|
||||
|
||||
var saveMenu = this.menus.get('save');
|
||||
|
||||
if (saveMenu != null)
|
||||
{
|
||||
saveMenu.setEnabled(this.getCurrentFile() != null || urlParams['embed'] == '1');
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Sets the XML node for the current diagram.
|
||||
|
@ -555,55 +575,9 @@ EditorUi.initMinimalTheme = function()
|
|||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Adds math switch in format panel.
|
||||
*/
|
||||
var diagramFormatPanelAddOptions = DiagramFormatPanel.prototype.addOptions;
|
||||
|
||||
DiagramFormatPanel.prototype.addOptions = function(div)
|
||||
DiagramFormatPanel.prototype.isMathOptionVisible = function(div)
|
||||
{
|
||||
var div = diagramFormatPanelAddOptions.apply(this, arguments);
|
||||
|
||||
var ui = this.editorUi;
|
||||
var editor = ui.editor;
|
||||
var graph = editor.graph;
|
||||
|
||||
if (graph.isEnabled() && typeof(MathJax) !== 'undefined')
|
||||
{
|
||||
// Math
|
||||
var option = this.createOption(mxResources.get('mathematicalTypesetting'), function()
|
||||
{
|
||||
return graph.mathEnabled;
|
||||
}, function(checked)
|
||||
{
|
||||
ui.actions.get('mathematicalTypesetting').funct();
|
||||
},
|
||||
{
|
||||
install: function(apply)
|
||||
{
|
||||
this.listener = function()
|
||||
{
|
||||
apply(graph.mathEnabled);
|
||||
};
|
||||
|
||||
ui.addListener('mathEnabledChanged', this.listener);
|
||||
},
|
||||
destroy: function()
|
||||
{
|
||||
ui.removeListener(this.listener);
|
||||
}
|
||||
});
|
||||
|
||||
option.style.paddingTop = '0px';
|
||||
div.appendChild(option);
|
||||
|
||||
var help = ui.menus.createHelpLink('https://desk.draw.io/support/solutions/articles/16000032875');
|
||||
help.style.position = 'relative';
|
||||
help.style.top = '4px';
|
||||
option.appendChild(help);
|
||||
}
|
||||
|
||||
return div;
|
||||
return true;
|
||||
};
|
||||
|
||||
// Initializes the user interface
|
||||
|
@ -619,45 +593,69 @@ EditorUi.initMinimalTheme = function()
|
|||
|
||||
if (this.formatWindow != null)
|
||||
{
|
||||
this.formatWindow.window.setVisible(false);
|
||||
this.formatWindow.window.destroy();
|
||||
this.formatWindow = null;
|
||||
this.formatWindow.window.setVisible(false);
|
||||
this.formatWindow.window.destroy();
|
||||
this.formatWindow = null;
|
||||
}
|
||||
|
||||
if (this.actions.outlineWindow != null)
|
||||
{
|
||||
this.actions.outlineWindow.destroy();
|
||||
this.actions.outlineWindow = null;
|
||||
this.actions.outlineWindow.window.setVisible(false);
|
||||
this.actions.outlineWindow.window.destroy();
|
||||
this.actions.outlineWindow = null;
|
||||
}
|
||||
|
||||
if (this.actions.layersWindow != null)
|
||||
{
|
||||
this.actions.layersWindow.destroy();
|
||||
this.actions.layersWindow = null;
|
||||
this.actions.layersWindow.window.setVisible(false);
|
||||
this.actions.layersWindow.window.destroy();
|
||||
this.actions.layersWindow = null;
|
||||
}
|
||||
|
||||
if (this.actions.tagsWindow != null)
|
||||
if (this.menus.tagsWindow != null)
|
||||
{
|
||||
this.actions.tagsWindow.window.setVisible(false);
|
||||
this.actions.tagsWindow.window.destroy();
|
||||
this.actions.tagsWindow = null;
|
||||
this.menus.tagsWindow.window.setVisible(false);
|
||||
this.menus.tagsWindow.window.destroy();
|
||||
this.menus.tagsWindow = null;
|
||||
}
|
||||
|
||||
if (this.actions.findWindow != null)
|
||||
if (this.menus.findWindow != null)
|
||||
{
|
||||
this.actions.findWindow.window.setVisible(false);
|
||||
this.actions.findWindow.window.destroy();
|
||||
this.actions.findWindow = null;
|
||||
this.menus.findWindow.window.setVisible(false);
|
||||
this.menus.findWindow.window.destroy();
|
||||
this.menus.findWindow = null;
|
||||
}
|
||||
|
||||
|
||||
editorUiDestroy.apply(this, arguments);
|
||||
};
|
||||
|
||||
// Hides windows when a file is closed
|
||||
var editorUiSetGraphEnabled = EditorUi.prototype.setGraphEnabled;
|
||||
|
||||
EditorUi.prototype.setGraphEnabled = function(enabled)
|
||||
{
|
||||
editorUiSetGraphEnabled.apply(this, arguments);
|
||||
|
||||
if (!enabled)
|
||||
{
|
||||
if (this.sidebarWindow != null)
|
||||
{
|
||||
this.sidebarWindow.window.setVisible(false);
|
||||
}
|
||||
|
||||
if (this.formatWindow != null)
|
||||
{
|
||||
this.formatWindow.window.setVisible(false);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// Disables centering of graph after iframe resize
|
||||
EditorUi.prototype.chromelessWindowResize = function() {};
|
||||
|
||||
// Initializes the user interface
|
||||
var editorUiInit = EditorUi.prototype.init;
|
||||
|
||||
EditorUi.prototype.init = function()
|
||||
{
|
||||
editorUiInit.apply(this, arguments);
|
||||
|
@ -711,7 +709,18 @@ EditorUi.initMinimalTheme = function()
|
|||
ui.showDialog(dlg.container, 620, 420, true, false);
|
||||
dlg.init();
|
||||
}));
|
||||
|
||||
ui.actions.put('formatSql', new Action(mxResources.get('formatSql') + '...', function()
|
||||
{
|
||||
var dlg = new ParseDialog(ui, 'Insert from Text', 'formatSql');
|
||||
ui.showDialog(dlg.container, 620, 420, true, false);
|
||||
dlg.init();
|
||||
}));
|
||||
ui.actions.put('plantUml', new Action(mxResources.get('plantUml') + '...', function()
|
||||
{
|
||||
var dlg = new ParseDialog(ui, 'Insert from Text', 'plantUml');
|
||||
ui.showDialog(dlg.container, 620, 420, true, false);
|
||||
dlg.init();
|
||||
}));
|
||||
ui.actions.put('toggleShapes', new Action(mxResources.get('shapes') + '...', function()
|
||||
{
|
||||
toggleShapes(ui);
|
||||
|
@ -874,7 +883,7 @@ EditorUi.initMinimalTheme = function()
|
|||
|
||||
ui.menus.put('insertAdvanced', new Menu(mxUtils.bind(this, function(menu, parent)
|
||||
{
|
||||
ui.menus.addMenuItems(menu, ['importText', 'createShape', '-', 'importCsv', 'editDiagram', '-', 'insertPage'], parent);
|
||||
ui.menus.addMenuItems(menu, ['importText', 'createShape', 'plantUml', '-', 'importCsv', 'editDiagram', 'formatSql', '-', 'insertPage'], parent);
|
||||
})));
|
||||
|
||||
mxResources.parse('insertLayout=' + mxResources.get('layout'));
|
||||
|
@ -996,7 +1005,7 @@ EditorUi.initMinimalTheme = function()
|
|||
{
|
||||
if (btn.getAttribute('disabled') != 'disabled')
|
||||
{
|
||||
fn();
|
||||
fn(evt);
|
||||
}
|
||||
|
||||
mxEvent.consume(evt);
|
||||
|
@ -1027,7 +1036,7 @@ EditorUi.initMinimalTheme = function()
|
|||
else
|
||||
{
|
||||
btn.setAttribute('disabled', 'disabled');
|
||||
mxUtils.setOpacity(btn, (img != null) ? 10 : 50);
|
||||
mxUtils.setOpacity(btn, (img != null) ? 10 : 20);
|
||||
btn.style.cursor = 'default';
|
||||
}
|
||||
};
|
||||
|
@ -1077,7 +1086,7 @@ EditorUi.initMinimalTheme = function()
|
|||
addMenuItem(mxResources.get('shapes'), ui.actions.get('toggleShapes').funct, null, mxResources.get('shapes'), ui.actions.get('image'),
|
||||
(small) ? 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTMgMTN2OGg4di04aC04ek0zIDIxaDh2LThIM3Y4ek0zIDN2OGg4VjNIM3ptMTMuNjYtMS4zMUwxMSA3LjM0IDE2LjY2IDEzbDUuNjYtNS42Ni01LjY2LTUuNjV6Ii8+PC9zdmc+' : null),
|
||||
addMenuItem(mxResources.get('format'), ui.actions.get('toggleFormat').funct, null,
|
||||
mxResources.get('format') + ' (' + ui.actions.get('formatPanel').shortcut + ')', null,
|
||||
mxResources.get('format') + ' (' + ui.actions.get('formatPanel').shortcut + ')', ui.actions.get('image'),
|
||||
(small) ? 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgM2MtNC45NyAwLTkgNC4wMy05IDlzNC4wMyA5IDkgOWMuODMgMCAxLjUtLjY3IDEuNS0xLjUgMC0uMzktLjE1LS43NC0uMzktMS4wMS0uMjMtLjI2LS4zOC0uNjEtLjM4LS45OSAwLS44My42Ny0xLjUgMS41LTEuNUgxNmMyLjc2IDAgNS0yLjI0IDUtNSAwLTQuNDItNC4wMy04LTktOHptLTUuNSA5Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTNS42NyA5IDYuNSA5IDggOS42NyA4IDEwLjUgNy4zMyAxMiA2LjUgMTJ6bTMtNEM4LjY3IDggOCA3LjMzIDggNi41UzguNjcgNSA5LjUgNXMxLjUuNjcgMS41IDEuNVMxMC4zMyA4IDkuNSA4em01IDBjLS44MyAwLTEuNS0uNjctMS41LTEuNVMxMy42NyA1IDE0LjUgNXMxLjUuNjcgMS41IDEuNVMxNS4zMyA4IDE0LjUgOHptMyA0Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTYuNjcgOSAxNy41IDlzMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiIvPjwvc3ZnPg==' : null)]);
|
||||
var elt = addMenu('insert', true, (small) ? 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==' : null, 40);
|
||||
createGroup([elt, addMenuItem(mxResources.get('delete'), ui.actions.get('delete').funct, null, mxResources.get('delete'), ui.actions.get('delete'),
|
||||
|
@ -1097,6 +1106,10 @@ EditorUi.initMinimalTheme = function()
|
|||
|
||||
if (iw >= 560)
|
||||
{
|
||||
var zoomInAction = ui.actions.get('zoomIn');
|
||||
var zoomOutAction = ui.actions.get('zoomOut');
|
||||
var resetViewAction = ui.actions.get('resetView');
|
||||
|
||||
createGroup([addMenuItem('', function()
|
||||
{
|
||||
graph.popupMenuHandler.hideMenu();
|
||||
|
@ -1112,11 +1125,11 @@ EditorUi.initMinimalTheme = function()
|
|||
{
|
||||
ui.actions.get((graph.pageVisible) ? 'fitPage' : 'fitWindow').funct();
|
||||
}
|
||||
}, true, mxResources.get('fit') + ' (' + Editor.ctrlKey + '+H)', null,
|
||||
}, true, mxResources.get('fit') + ' (' + Editor.ctrlKey + '+H)', resetViewAction,
|
||||
'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyA1djRoMlY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMiAxMEgzdjRjMCAxLjEuOSAyIDIgMmg0di0ySDV2LTR6bTE0IDRoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6bTAtMTZoLTR2Mmg0djRoMlY1YzAtMS4xLS45LTItMi0yeiIvPjwvc3ZnPg=='),
|
||||
(iw >= 640) ? addMenuItem('', ui.actions.get('zoomIn').funct, true, mxResources.get('zoomIn') + ' (' + Editor.ctrlKey + ' +)', null,
|
||||
(iw >= 640) ? addMenuItem('', zoomInAction.funct, true, mxResources.get('zoomIn') + ' (' + Editor.ctrlKey + ' +)', zoomInAction,
|
||||
'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHptMi41LTRoLTJ2Mkg5di0ySDdWOWgyVjdoMXYyaDJ2MXoiLz48L3N2Zz4=') : null,
|
||||
(iw >= 640) ? addMenuItem('', ui.actions.get('zoomOut').funct, true, mxResources.get('zoomOut') + ' (' + Editor.ctrlKey + ' -)', null,
|
||||
(iw >= 640) ? addMenuItem('', zoomOutAction.funct, true, mxResources.get('zoomOut') + ' (' + Editor.ctrlKey + ' -)', zoomOutAction,
|
||||
'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpNNyA5aDV2MUg3eiIvPjwvc3ZnPg==') : null]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -688,7 +688,11 @@ OneDriveClient.prototype.parseRequestText = function(req)
|
|||
*/
|
||||
OneDriveClient.prototype.pickLibrary = function(fn)
|
||||
{
|
||||
this.pickFile(fn);
|
||||
this.pickFile(function(id)
|
||||
{
|
||||
// Ignores second argument
|
||||
fn(id);
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
74
src/main/webapp/js/embed-static.min.js
vendored
74
src/main/webapp/js/embed-static.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -3056,7 +3056,7 @@ TextFormatPanel.prototype.addFont = function(container)
|
|||
node = graph.cellEditor.textarea.firstChild;
|
||||
}
|
||||
|
||||
if (node != null && node != graph.cellEditor.textarea)
|
||||
if (node != null && node != graph.cellEditor.textarea && graph.cellEditor.textarea.contains(node))
|
||||
{
|
||||
node.style.lineHeight = value + '%';
|
||||
}
|
||||
|
|
|
@ -5912,7 +5912,18 @@ if (typeof mxVertexHandler != 'undefined')
|
|||
// Implements ignoreSelection flag
|
||||
imgExport.drawCellState = function(state, canvas)
|
||||
{
|
||||
if (ignoreSelection || state.view.graph.isCellSelected(state.cell))
|
||||
var graph = state.view.graph;
|
||||
var selected = graph.isCellSelected(state.cell);
|
||||
var parent = graph.model.getParent(state.cell);
|
||||
|
||||
// Checks if parent cell is selected
|
||||
while (!ignoreSelection && !selected && parent != null)
|
||||
{
|
||||
selected = graph.isCellSelected(parent);
|
||||
parent = graph.model.getParent(parent);
|
||||
}
|
||||
|
||||
if (ignoreSelection || selected)
|
||||
{
|
||||
imgExportDrawCellState.apply(this, arguments);
|
||||
}
|
||||
|
|
|
@ -933,13 +933,13 @@ Menus.prototype.toggleStyle = function(key, defaultValue)
|
|||
/**
|
||||
* Creates the keyboard event handler for the current graph and history.
|
||||
*/
|
||||
Menus.prototype.addMenuItem = function(menu, key, parent, trigger, sprite)
|
||||
Menus.prototype.addMenuItem = function(menu, key, parent, trigger, sprite, label)
|
||||
{
|
||||
var action = this.editorUi.actions.get(key);
|
||||
|
||||
if (action != null && (menu.showDisabled || action.isEnabled()) && action.visible)
|
||||
{
|
||||
var item = menu.addItem(action.label, null, function()
|
||||
var item = menu.addItem(label || action.label, null, function()
|
||||
{
|
||||
action.funct(trigger);
|
||||
}, parent, sprite, action.isEnabled());
|
||||
|
@ -1044,8 +1044,10 @@ Menus.prototype.createPopupMenu = function(menu, cell, evt)
|
|||
isWaypoint = index > 0 && index < handler.bends.length - 1;
|
||||
}
|
||||
|
||||
this.addMenuItems(menu, ['-', (isWaypoint) ? 'removeWaypoint' : 'addWaypoint'], null, evt);
|
||||
|
||||
menu.addSeparator();
|
||||
this.addMenuItem(menu, 'turn', null, evt, null, mxResources.get('reverse'));
|
||||
this.addMenuItems(menu, [(isWaypoint) ? 'removeWaypoint' : 'addWaypoint'], null, evt);
|
||||
|
||||
// Adds reset waypoints option if waypoints exist
|
||||
var geo = graph.getModel().getGeometry(cell);
|
||||
hasWaypoints = geo != null && geo.points != null && geo.points.length > 0;
|
||||
|
@ -1072,7 +1074,7 @@ Menus.prototype.createPopupMenu = function(menu, cell, evt)
|
|||
if (graph.getSelectionCount() == 1)
|
||||
{
|
||||
menu.addSeparator();
|
||||
this.addMenuItems(menu, ['edit', '-', 'editData', 'editLink'], null, evt);
|
||||
this.addMenuItems(menu, ['editData', 'editLink'], null, evt);
|
||||
|
||||
// Shows edit image action if there is an image in the style
|
||||
if (graph.getModel().isVertex(cell) && mxUtils.getValue(state.style, mxConstants.STYLE_IMAGE, null) != null)
|
||||
|
|
74
src/main/webapp/js/reader.min.js
vendored
74
src/main/webapp/js/reader.min.js
vendored
File diff suppressed because one or more lines are too long
1524
src/main/webapp/js/viewer.min.js
vendored
1524
src/main/webapp/js/viewer.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (مع XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (с XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (sa XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (amb XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (s XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (med XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (mit XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (με XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (kun XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (con XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (XML-ifa)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (XML:n kanssa)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (may XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (avec XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (עם XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML-be beágyazott
|
||||
formatSvgEmbedded=SVG-be beágyazott XML (.svg)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=formatPng
|
|||
formatGif=formatGif
|
||||
formatJpg=formatJpg
|
||||
formatPdf=formatPdf
|
||||
formatSql=formatSql
|
||||
formatSvg=formatSvg
|
||||
formatHtmlEmbedded=formatHtmlEmbedded
|
||||
formatSvgEmbedded=formatSvgEmbedded
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (dengan XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (con XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (XMLを含む)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (XML 포함)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (dengan XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (met XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (med XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (z XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (com XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (com XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (cu XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (с XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=Portable Network Graphics (.png)
|
|||
formatGif=Graphics Interchange Format (.gif)
|
||||
formatJpg=JPEG File Interchange Format (.jpg)
|
||||
formatPdf=Portable Document Format (.pdf)
|
||||
formatSql=SQL
|
||||
formatSvg=Scalable Vector Graphics (.svg)
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (med XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (with XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (กับ XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (XML ile)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (з XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (với XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG (XML)
|
||||
|
|
|
@ -289,6 +289,7 @@ formatPng=PNG
|
|||
formatGif=GIF
|
||||
formatJpg=JPEG
|
||||
formatPdf=PDF
|
||||
formatSql=SQL
|
||||
formatSvg=SVG
|
||||
formatHtmlEmbedded=HTML
|
||||
formatSvgEmbedded=SVG(含XML)
|
||||
|
|
Loading…
Reference in a new issue