7.6.3 release
This commit is contained in:
parent
4ad1c23d36
commit
658ef546ca
15 changed files with 2769 additions and 2684 deletions
|
@ -1,3 +1,8 @@
|
|||
26-OCT-2017: 7.6.3
|
||||
|
||||
- Adds current style to CSV and text
|
||||
- Uses mxGraph 3.7.6 beta 7
|
||||
|
||||
25-OCT-2017: 7.6.2
|
||||
|
||||
- Adds optional arguments for subclassers
|
||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
7.6.2
|
||||
7.6.3
|
|
@ -929,8 +929,8 @@ mxCellRenderer.prototype.isShapeEvent=function(a,b){return!0};mxCellRenderer.pro
|
|||
mxCellRenderer.prototype.installListeners=function(a){var b=a.view.graph,c=function(c){var d=a;if(b.dialect!=mxConstants.DIALECT_SVG&&"IMG"==mxEvent.getSource(c).nodeName||mxClient.IS_TOUCH)d=mxEvent.getClientX(c),c=mxEvent.getClientY(c),c=mxUtils.convertPoint(b.container,d,c),d=b.view.getState(b.getCellAt(c.x,c.y));return d};mxEvent.addGestureListeners(a.shape.node,mxUtils.bind(this,function(c){this.isShapeEvent(a,c)&&b.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(c,a))}),mxUtils.bind(this,
|
||||
function(d){this.isShapeEvent(a,d)&&b.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(d,c(d)))}),mxUtils.bind(this,function(d){this.isShapeEvent(a,d)&&b.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(d,c(d)))}));b.nativeDblClickEnabled&&mxEvent.addListener(a.shape.node,"dblclick",mxUtils.bind(this,function(c){this.isShapeEvent(a,c)&&(b.dblClick(c,a.cell),mxEvent.consume(c))}))};
|
||||
mxCellRenderer.prototype.redrawLabel=function(a,b){var c=this.getLabelValue(a);null==a.text&&null!=c&&(mxUtils.isNode(c)||0<c.length)?this.createLabel(a,c):null==a.text||null!=c&&0!=c.length||(a.text.destroy(),a.text=null);if(null!=a.text){var d=a.view.graph;b&&(null!=a.text.lastValue&&this.isTextShapeInvalid(a,a.text)&&(a.text.lastValue=null),a.text.resetStyles(),a.text.apply(a),a.text.valign=d.getVerticalAlign(a));var e=this.getLabelBounds(a),f=d.isWrapping(a.cell),d=d.isLabelClipped(a.cell),g=
|
||||
a.view.graph.isHtmlLabel(a.cell)||null!=c&&mxUtils.isNode(c)?mxConstants.DIALECT_STRICTHTML:a.view.graph.dialect,k=a.style[mxConstants.STYLE_OVERFLOW]||"visible",l=this.getTextScale(a);if(b||a.text.value!=c||a.text.isWrapping!=f||a.text.overflow!=k||a.text.isClipping!=d||a.text.scale!=l||a.text.dialect!=g||!a.text.bounds.equals(e))0!=a.text.bounds.width&&a.text.bounds.width/a.text.scale*l!=e.width&&(a.unscaledWidth=null),a.text.dialect=g,a.text.value=c,a.text.bounds=e,a.text.scale=l,a.text.wrap=f,
|
||||
a.text.clipped=d,a.text.overflow=k,c=a.text.node.style.visibility,this.redrawLabelShape(a.text),a.text.node.style.visibility=c}};
|
||||
a.view.graph.isHtmlLabel(a.cell)||null!=c&&mxUtils.isNode(c)?mxConstants.DIALECT_STRICTHTML:a.view.graph.dialect,k=a.style[mxConstants.STYLE_OVERFLOW]||"visible",l=this.getTextScale(a);if(b||a.text.value!=c||a.text.isWrapping!=f||a.text.overflow!=k||a.text.isClipping!=d||a.text.scale!=l||a.text.dialect!=g||!a.text.bounds.equals(e))0!=a.text.bounds.width&&0!=Math.round(a.text.bounds.width/a.text.scale*l-e.width)&&(a.unscaledWidth=null),a.text.dialect=g,a.text.value=c,a.text.bounds=e,a.text.scale=l,
|
||||
a.text.wrap=f,a.text.clipped=d,a.text.overflow=k,c=a.text.node.style.visibility,this.redrawLabelShape(a.text),a.text.node.style.visibility=c}};
|
||||
mxCellRenderer.prototype.isTextShapeInvalid=function(a,b){function c(c,e,f){return result="spacingTop"==e||"spacingRight"==e||"spacingBottom"==e||"spacingLeft"==e?parseFloat(b[c])-parseFloat(b.spacing)!=(a.style[e]||f):b[c]!=(a.style[e]||f)}return c("fontStyle",mxConstants.STYLE_FONTSTYLE,mxConstants.DEFAULT_FONTSTYLE)||c("family",mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY)||c("size",mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE)||c("color",mxConstants.STYLE_FONTCOLOR,"black")||
|
||||
c("align",mxConstants.STYLE_ALIGN,"")||c("valign",mxConstants.STYLE_VERTICAL_ALIGN,"")||c("spacing",mxConstants.STYLE_SPACING,2)||c("spacingTop",mxConstants.STYLE_SPACING_TOP,0)||c("spacingRight",mxConstants.STYLE_SPACING_RIGHT,0)||c("spacingBottom",mxConstants.STYLE_SPACING_BOTTOM,0)||c("spacingLeft",mxConstants.STYLE_SPACING_LEFT,0)||c("horizontal",mxConstants.STYLE_HORIZONTAL,!0)||c("background",mxConstants.STYLE_LABEL_BACKGROUNDCOLOR)||c("border",mxConstants.STYLE_LABEL_BORDERCOLOR)||c("opacity",
|
||||
mxConstants.STYLE_TEXT_OPACITY,100)||c("textDirection",mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION)};mxCellRenderer.prototype.redrawLabelShape=function(a){a.redraw()};mxCellRenderer.prototype.getTextScale=function(a){return a.view.scale};
|
||||
|
|
|
@ -54,6 +54,26 @@ public class ProxyServlet extends HttpServlet
|
|||
response.setHeader("Cache-control", "private, no-cache, no-store");
|
||||
response.setHeader("Expires", "0");
|
||||
|
||||
// build the UML source from the compressed request parameter
|
||||
String ref = request.getHeader("referer");
|
||||
String dom = null;
|
||||
|
||||
if (ref != null && ref.toLowerCase()
|
||||
.matches("https?://([a-z0-9,-]+[.])*draw[.]io/.*"))
|
||||
{
|
||||
dom = ref.toLowerCase().substring(0, ref.indexOf(".draw.io/") + 8);
|
||||
}
|
||||
else if (ref != null && ref.toLowerCase()
|
||||
.matches("https?://([a-z0-9,-]+[.])*quipelements[.]com/.*"))
|
||||
{
|
||||
dom = ref.toLowerCase().substring(0, ref.indexOf(".quipelements.com/") + 17);
|
||||
}
|
||||
|
||||
if (dom != null)
|
||||
{
|
||||
response.addHeader("Access-Control-Allow-Origin", dom);
|
||||
}
|
||||
|
||||
// Status code pass-through
|
||||
if (connection instanceof HttpURLConnection)
|
||||
{
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
CACHE MANIFEST
|
||||
|
||||
# THIS FILE WAS GENERATED. DO NOT MODIFY!
|
||||
# 10/25/2017 04:23 PM
|
||||
# 10/26/2017 11:09 AM
|
||||
|
||||
app.html
|
||||
index.html?offline=1
|
||||
|
|
1157
war/js/app.min.js
vendored
1157
war/js/app.min.js
vendored
File diff suppressed because it is too large
Load diff
1004
war/js/atlas-viewer.min.js
vendored
1004
war/js/atlas-viewer.min.js
vendored
File diff suppressed because it is too large
Load diff
1327
war/js/atlas.min.js
vendored
1327
war/js/atlas.min.js
vendored
File diff suppressed because it is too large
Load diff
|
@ -2245,7 +2245,7 @@ var ParseDialog = function(editorUi, title)
|
|||
var graph = editorUi.editor.graph;
|
||||
|
||||
var listCell = new mxCell(lines[0], new mxGeometry(0, 0, 160, 26 + 4),
|
||||
'swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;');
|
||||
'swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;');
|
||||
listCell.vertex = true;
|
||||
|
||||
var size = graph.getPreferredSizeForCell(listCell);
|
||||
|
@ -2255,6 +2255,8 @@ var ParseDialog = function(editorUi, title)
|
|||
listCell.geometry.width = size.width + 10;
|
||||
}
|
||||
|
||||
var inserted = [listCell];
|
||||
|
||||
if (lines.length > 1)
|
||||
{
|
||||
for (var i = 1; i < lines.length; i++)
|
||||
|
@ -2265,6 +2267,7 @@ var ParseDialog = function(editorUi, title)
|
|||
divider.vertex = true;
|
||||
listCell.geometry.height += divider.geometry.height;
|
||||
listCell.insert(divider);
|
||||
inserted.push(divider);
|
||||
}
|
||||
else if (lines[i].length > 0 && lines[i].charAt(0) != ';')
|
||||
{
|
||||
|
@ -2281,11 +2284,23 @@ var ParseDialog = function(editorUi, title)
|
|||
listCell.geometry.width = Math.max(listCell.geometry.width, field.geometry.width);
|
||||
listCell.geometry.height += field.geometry.height;
|
||||
listCell.insert(field);
|
||||
inserted.push(field);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
graph.setSelectionCells(graph.importCells([listCell], insertPoint.x, insertPoint.y));
|
||||
graph.getModel().beginUpdate();
|
||||
try
|
||||
{
|
||||
listCell = graph.importCells([listCell], insertPoint.x, insertPoint.y)[0];
|
||||
graph.fireEvent(new mxEventObject('cellsInserted', 'cells', [listCell].concat(listCell.children)));
|
||||
}
|
||||
finally
|
||||
{
|
||||
graph.getModel().endUpdate();
|
||||
}
|
||||
|
||||
graph.setSelectionCells(listCell);
|
||||
graph.scrollCellToVisible(graph.getSelectionCell());
|
||||
}
|
||||
}
|
||||
|
@ -2300,7 +2315,7 @@ var ParseDialog = function(editorUi, title)
|
|||
|
||||
if (vertex == null)
|
||||
{
|
||||
vertex = new mxCell(id, new mxGeometry(0, 0, 80, 30));
|
||||
vertex = new mxCell(id, new mxGeometry(0, 0, 80, 30), 'whiteSpace=wrap;html=1;');
|
||||
vertex.vertex = true;
|
||||
vertices[id] = vertex;
|
||||
cells.push(vertex);
|
||||
|
@ -2364,10 +2379,24 @@ var ParseDialog = function(editorUi, title)
|
|||
}
|
||||
|
||||
graph.clearCellOverlays();
|
||||
editorUi.editor.graph.setSelectionCells(editorUi.editor.graph.importCells(
|
||||
graph.getModel().getChildren(graph.getDefaultParent()), insertPoint.x, insertPoint.y));
|
||||
editorUi.editor.graph.scrollCellToVisible(editorUi.editor.graph.getSelectionCell());
|
||||
|
||||
// Copy to actual graph
|
||||
var inserted = [];
|
||||
|
||||
editorUi.editor.graph.getModel().beginUpdate();
|
||||
try
|
||||
{
|
||||
inserted = editorUi.editor.graph.importCells(graph.getModel().getChildren(
|
||||
graph.getDefaultParent()), insertPoint.x, insertPoint.y)
|
||||
editorUi.editor.graph.fireEvent(new mxEventObject('cellsInserted', 'cells', inserted));
|
||||
}
|
||||
finally
|
||||
{
|
||||
editorUi.editor.graph.getModel().endUpdate();
|
||||
}
|
||||
|
||||
editorUi.editor.graph.setSelectionCells(inserted[0]);
|
||||
editorUi.editor.graph.scrollCellToVisible(editorUi.editor.graph.getSelectionCell());
|
||||
graph.destroy();
|
||||
container.parentNode.removeChild(container);
|
||||
}
|
||||
|
@ -3067,6 +3096,16 @@ var CreateDialog = function(editorUi, title, createFn, cancelFn, dlgTitle, btnLa
|
|||
preview.style.maxHeight = '80px';
|
||||
mxUtils.setPrefixedStyle(preview.style, 'transform', 'translate(50%,-50%)');
|
||||
div.appendChild(preview);
|
||||
|
||||
if (allowTab)
|
||||
{
|
||||
preview.style.cursor = 'pointer';
|
||||
|
||||
mxEvent.addListener(preview, 'click', function()
|
||||
{
|
||||
create('_blank');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
mxUtils.br(div);
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
'#\n' +
|
||||
'## Padding for autosize. Default is 0.\n' +
|
||||
'#\n' +
|
||||
'# padding: -26\n' +
|
||||
'# padding: -12\n' +
|
||||
'#\n' +
|
||||
'## Comma-separated list of ignored columns for metadata. (These can be\n' +
|
||||
'## used for connections and styles but will not be added as metadata.)\n' +
|
||||
|
|
|
@ -3020,6 +3020,14 @@
|
|||
this.showDialog(dlg.container, 380, height, true, true);
|
||||
dlg.init();
|
||||
};
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
EditorUi.prototype.getEditBlankXml = function()
|
||||
{
|
||||
return this.getFileData(true);
|
||||
};
|
||||
|
||||
/**
|
||||
* Hook for subclassers.
|
||||
|
@ -4623,105 +4631,120 @@
|
|||
* For the fontCSS to be applied when rendering images on canvas, the actual
|
||||
* font data must be made available via a data URI encoding of the file.
|
||||
*/
|
||||
EditorUi.prototype.loadFonts = function(then)
|
||||
{
|
||||
if (this.editor.fontCss != null && this.editor.resolvedFontCss == null)
|
||||
{
|
||||
var parts = this.editor.fontCss.split('url(');
|
||||
var waiting = 0;
|
||||
var fonts = {};
|
||||
|
||||
var finish = mxUtils.bind(this, function()
|
||||
{
|
||||
if (waiting == 0)
|
||||
{
|
||||
// Constructs string
|
||||
var result = [parts[0]];
|
||||
|
||||
for (var j = 1; j < parts.length; j++)
|
||||
{
|
||||
var idx = parts[j].indexOf(')');
|
||||
result.push('url(');
|
||||
result.push(fonts[parts[j].substring(0, idx)]);
|
||||
result.push(parts[j].substring(idx));
|
||||
}
|
||||
|
||||
this.editor.resolvedFontCss = result.join('');
|
||||
then();
|
||||
}
|
||||
});
|
||||
|
||||
if (parts.length > 0)
|
||||
{
|
||||
for (var i = 1; i < parts.length; i++)
|
||||
{
|
||||
var idx = parts[i].indexOf(')');
|
||||
|
||||
(mxUtils.bind(this, function(url)
|
||||
{
|
||||
if (fonts[url] == null)
|
||||
{
|
||||
// Mark font es being fetched and fetch it
|
||||
fonts[url] = url;
|
||||
waiting++;
|
||||
|
||||
var mime = 'application/x-font-ttf';
|
||||
|
||||
// See https://stackoverflow.com/questions/2871655/proper-mime-type-for-fonts
|
||||
if (/(\.svg)($|\?)/i.test(url))
|
||||
{
|
||||
mime = 'image/svg+xml';
|
||||
}
|
||||
else if (/(\.otf)($|\?)/i.test(url))
|
||||
{
|
||||
mime = 'application/x-font-opentype';
|
||||
}
|
||||
else if (/(\.woff)($|\?)/i.test(url))
|
||||
{
|
||||
mime = 'application/font-woff';
|
||||
}
|
||||
else if (/(\.woff2)($|\?)/i.test(url))
|
||||
{
|
||||
mime = 'application/font-woff2';
|
||||
}
|
||||
else if (/(\.eot)($|\?)/i.test(url))
|
||||
{
|
||||
mime = 'application/vnd.ms-fontobject';
|
||||
}
|
||||
else if (/(\.sfnt)($|\?)/i.test(url))
|
||||
{
|
||||
mime = 'application/font-sfnt';
|
||||
}
|
||||
|
||||
var realUrl = url;
|
||||
|
||||
if ((/^https?:\/\//.test(realUrl)) && !this.isCorsEnabledForUrl(realUrl))
|
||||
{
|
||||
realUrl = PROXY_URL + '?url=' + encodeURIComponent(url);
|
||||
}
|
||||
|
||||
// LATER: Remove cache-control header
|
||||
this.loadUrl(realUrl, mxUtils.bind(this, function(uri)
|
||||
{
|
||||
fonts[url] = uri;
|
||||
waiting--;
|
||||
finish();
|
||||
}), mxUtils.bind(this, function(err)
|
||||
{
|
||||
// LATER: handle error
|
||||
waiting--;
|
||||
finish();
|
||||
}), true, null, 'data:' + mime + ';charset=utf-8;base64,');
|
||||
}
|
||||
}))(parts[i].substring(0, idx));
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
then();
|
||||
}
|
||||
};
|
||||
EditorUi.prototype.loadFonts = function(then)
|
||||
{
|
||||
if (this.editor.fontCss != null && this.editor.resolvedFontCss == null)
|
||||
{
|
||||
var parts = this.editor.fontCss.split('url(');
|
||||
var waiting = 0;
|
||||
var fonts = {};
|
||||
|
||||
// Strips leading and trailing quotes and spaces
|
||||
function trimString(str)
|
||||
{
|
||||
return str.replace(new RegExp("^[\\s\"']+", "g"), "").replace(new RegExp("[\\s\"']+$", "g"), "");
|
||||
};
|
||||
|
||||
var finish = mxUtils.bind(this, function()
|
||||
{
|
||||
if (waiting == 0)
|
||||
{
|
||||
// Constructs string
|
||||
var result = [parts[0]];
|
||||
|
||||
for (var j = 1; j < parts.length; j++)
|
||||
{
|
||||
var idx = parts[j].indexOf(')');
|
||||
result.push('url("');
|
||||
result.push(fonts[trimString(parts[j].substring(0, idx))]);
|
||||
result.push('"' + parts[j].substring(idx));
|
||||
}
|
||||
|
||||
this.editor.resolvedFontCss = result.join('');
|
||||
then();
|
||||
}
|
||||
});
|
||||
|
||||
if (parts.length > 0)
|
||||
{
|
||||
for (var i = 1; i < parts.length; i++)
|
||||
{
|
||||
var idx = parts[i].indexOf(')');
|
||||
var format = null;
|
||||
|
||||
// Checks if there is a format directive
|
||||
var fmtIdx = parts[i].indexOf('format(', idx);
|
||||
|
||||
if (fmtIdx > 0)
|
||||
{
|
||||
format = trimString(parts[i].substring(fmtIdx + 7, parts[i].indexOf(')', fmtIdx)));
|
||||
}
|
||||
|
||||
(mxUtils.bind(this, function(url)
|
||||
{
|
||||
if (fonts[url] == null)
|
||||
{
|
||||
// Mark font es being fetched and fetch it
|
||||
fonts[url] = url;
|
||||
waiting++;
|
||||
|
||||
var mime = 'application/x-font-ttf';
|
||||
|
||||
// See https://stackoverflow.com/questions/2871655/proper-mime-type-for-fonts
|
||||
if (format == 'svg' || /(\.svg)($|\?)/i.test(url))
|
||||
{
|
||||
mime = 'image/svg+xml';
|
||||
}
|
||||
else if (format == 'otf' || format == 'embedded-opentype' || /(\.otf)($|\?)/i.test(url))
|
||||
{
|
||||
mime = 'application/x-font-opentype';
|
||||
}
|
||||
else if (format == 'woff' || /(\.woff)($|\?)/i.test(url))
|
||||
{
|
||||
mime = 'application/font-woff';
|
||||
}
|
||||
else if (format == 'woff2' || /(\.woff2)($|\?)/i.test(url))
|
||||
{
|
||||
mime = 'application/font-woff2';
|
||||
}
|
||||
else if (format == 'eot' || /(\.eot)($|\?)/i.test(url))
|
||||
{
|
||||
mime = 'application/vnd.ms-fontobject';
|
||||
}
|
||||
else if (format == 'sfnt' || /(\.sfnt)($|\?)/i.test(url))
|
||||
{
|
||||
mime = 'application/font-sfnt';
|
||||
}
|
||||
|
||||
var realUrl = url;
|
||||
|
||||
if ((/^https?:\/\//.test(realUrl)) && !this.isCorsEnabledForUrl(realUrl))
|
||||
{
|
||||
realUrl = PROXY_URL + '?url=' + encodeURIComponent(url);
|
||||
}
|
||||
|
||||
// LATER: Remove cache-control header
|
||||
this.loadUrl(realUrl, mxUtils.bind(this, function(uri)
|
||||
{
|
||||
fonts[url] = uri;
|
||||
waiting--;
|
||||
finish();
|
||||
}), mxUtils.bind(this, function(err)
|
||||
{
|
||||
// LATER: handle error
|
||||
waiting--;
|
||||
finish();
|
||||
}), true, null, 'data:' + mime + ';charset=utf-8;base64,');
|
||||
}
|
||||
}))(trimString(parts[i].substring(0, idx)), format);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
then();
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -8863,10 +8886,10 @@
|
|||
if (this.importCsvDialog == null)
|
||||
{
|
||||
this.importCsvDialog = new TextareaDialog(this, mxResources.get('csv') + ':',
|
||||
Editor.defaultCsvValue, mxUtils.bind(this, function(newValue)
|
||||
{
|
||||
this.importCsv(newValue);
|
||||
}), null, null, 620, 430, null, true, true, mxResources.get('import'));
|
||||
Editor.defaultCsvValue, mxUtils.bind(this, function(newValue)
|
||||
{
|
||||
this.importCsv(newValue);
|
||||
}), null, null, 620, 430, null, true, true, mxResources.get('import'));
|
||||
}
|
||||
|
||||
this.showDialog(this.importCsvDialog.container, 640, 520, true, true);
|
||||
|
@ -8880,158 +8903,158 @@
|
|||
{
|
||||
try
|
||||
{
|
||||
var lines = text.split('\n');
|
||||
var cells = [];
|
||||
|
||||
if (lines.length > 0)
|
||||
{
|
||||
// Internal lookup table
|
||||
var lookups = {};
|
||||
|
||||
// Default values
|
||||
var style = null;
|
||||
var identity = null;
|
||||
var width = 'auto';
|
||||
var height = 'auto';
|
||||
var edgespacing = 40;
|
||||
var nodespacing = 40;
|
||||
var padding = 0;
|
||||
|
||||
var graph = this.editor.graph;
|
||||
var lines = text.split('\n');
|
||||
var cells = [];
|
||||
|
||||
if (lines.length > 0)
|
||||
{
|
||||
// Internal lookup table
|
||||
var lookups = {};
|
||||
|
||||
// Default values
|
||||
var style = null;
|
||||
var identity = null;
|
||||
var width = 'auto';
|
||||
var height = 'auto';
|
||||
var edgespacing = 40;
|
||||
var nodespacing = 40;
|
||||
var padding = 0;
|
||||
|
||||
var graph = this.editor.graph;
|
||||
var view = graph.view;
|
||||
var bds = graph.getGraphBounds();
|
||||
|
||||
// Delayed after optional layout
|
||||
var afterInsert = function()
|
||||
{
|
||||
graph.setSelectionCells(select);
|
||||
graph.scrollCellToVisible(graph.getSelectionCell());
|
||||
};
|
||||
|
||||
// Computes unscaled, untranslated graph bounds
|
||||
var pt = graph.getFreeInsertPoint();
|
||||
|
||||
// Delayed after optional layout
|
||||
var afterInsert = function()
|
||||
{
|
||||
graph.setSelectionCells(select);
|
||||
graph.scrollCellToVisible(graph.getSelectionCell());
|
||||
};
|
||||
|
||||
// Computes unscaled, untranslated graph bounds
|
||||
var pt = graph.getFreeInsertPoint();
|
||||
var x0 = pt.x;
|
||||
var y0 = pt.y;
|
||||
var y = y0;
|
||||
|
||||
// Default label value depends on column names
|
||||
var label = null;
|
||||
|
||||
// Default layout to run.
|
||||
var layout = 'auto';
|
||||
|
||||
// Name of the attribute that contains the parent reference
|
||||
var parent = null;
|
||||
|
||||
// Name of the attribute that contains the references for creating edges
|
||||
var edges = [];
|
||||
|
||||
// Name of the column for hyperlinks
|
||||
var link = null;
|
||||
|
||||
// String array of names to remove from metadata
|
||||
var ignore = null;
|
||||
|
||||
// Read processing instructions first
|
||||
var index = 0;
|
||||
|
||||
while (index < lines.length && lines[index].charAt(0) == '#')
|
||||
{
|
||||
var text = lines[index];
|
||||
index++;
|
||||
|
||||
while (index < lines.length && text.charAt(text.length - 1) == '\\' &&
|
||||
lines[index].charAt(0) == '#')
|
||||
{
|
||||
text = text.substring(0, text.length - 1) + mxUtils.trim(lines[index].substring(1));
|
||||
index++;
|
||||
}
|
||||
|
||||
if (text.charAt(1) != '#')
|
||||
{
|
||||
// Processing instruction
|
||||
var idx = text.indexOf(':');
|
||||
|
||||
if (idx > 0)
|
||||
{
|
||||
var key = mxUtils.trim(text.substring(1, idx));
|
||||
var value = mxUtils.trim(text.substring(idx + 1));
|
||||
|
||||
if (key == 'label')
|
||||
// Default label value depends on column names
|
||||
var label = null;
|
||||
|
||||
// Default layout to run.
|
||||
var layout = 'auto';
|
||||
|
||||
// Name of the attribute that contains the parent reference
|
||||
var parent = null;
|
||||
|
||||
// Name of the attribute that contains the references for creating edges
|
||||
var edges = [];
|
||||
|
||||
// Name of the column for hyperlinks
|
||||
var link = null;
|
||||
|
||||
// String array of names to remove from metadata
|
||||
var ignore = null;
|
||||
|
||||
// Read processing instructions first
|
||||
var index = 0;
|
||||
|
||||
while (index < lines.length && lines[index].charAt(0) == '#')
|
||||
{
|
||||
var text = lines[index];
|
||||
index++;
|
||||
|
||||
while (index < lines.length && text.charAt(text.length - 1) == '\\' &&
|
||||
lines[index].charAt(0) == '#')
|
||||
{
|
||||
text = text.substring(0, text.length - 1) + mxUtils.trim(lines[index].substring(1));
|
||||
index++;
|
||||
}
|
||||
|
||||
if (text.charAt(1) != '#')
|
||||
{
|
||||
// Processing instruction
|
||||
var idx = text.indexOf(':');
|
||||
|
||||
if (idx > 0)
|
||||
{
|
||||
label = graph.sanitizeHtml(value);
|
||||
var key = mxUtils.trim(text.substring(1, idx));
|
||||
var value = mxUtils.trim(text.substring(idx + 1));
|
||||
|
||||
if (key == 'label')
|
||||
{
|
||||
label = graph.sanitizeHtml(value);
|
||||
}
|
||||
else if (key == 'style')
|
||||
{
|
||||
style = value;
|
||||
}
|
||||
else if (key == 'identity' && value.length > 0 && value != '-')
|
||||
{
|
||||
identity = value;
|
||||
}
|
||||
else if (key == 'width')
|
||||
{
|
||||
width = value;
|
||||
}
|
||||
else if (key == 'height')
|
||||
{
|
||||
height = value;
|
||||
}
|
||||
else if (key == 'ignore')
|
||||
{
|
||||
ignore = value.split(',');
|
||||
}
|
||||
else if (key == 'connect')
|
||||
{
|
||||
edges.push(JSON.parse(value));
|
||||
}
|
||||
else if (key == 'link')
|
||||
{
|
||||
link = value;
|
||||
}
|
||||
else if (key == 'padding')
|
||||
{
|
||||
padding = parseFloat(value);
|
||||
}
|
||||
else if (key == 'edgespacing')
|
||||
{
|
||||
edgespacing = parseFloat(value);
|
||||
}
|
||||
else if (key == 'nodespacing')
|
||||
{
|
||||
nodespacing = parseFloat(value);
|
||||
}
|
||||
else if (key == 'layout')
|
||||
{
|
||||
layout = value;
|
||||
}
|
||||
}
|
||||
else if (key == 'style')
|
||||
{
|
||||
style = value;
|
||||
}
|
||||
else if (key == 'identity' && value.length > 0 && value != '-')
|
||||
{
|
||||
identity = value;
|
||||
}
|
||||
else if (key == 'width')
|
||||
{
|
||||
width = value;
|
||||
}
|
||||
else if (key == 'height')
|
||||
{
|
||||
height = value;
|
||||
}
|
||||
else if (key == 'ignore')
|
||||
{
|
||||
ignore = value.split(',');
|
||||
}
|
||||
else if (key == 'connect')
|
||||
{
|
||||
edges.push(JSON.parse(value));
|
||||
}
|
||||
else if (key == 'link')
|
||||
{
|
||||
link = value;
|
||||
}
|
||||
else if (key == 'padding')
|
||||
{
|
||||
padding = parseFloat(value);
|
||||
}
|
||||
else if (key == 'edgespacing')
|
||||
{
|
||||
edgespacing = parseFloat(value);
|
||||
}
|
||||
else if (key == 'nodespacing')
|
||||
{
|
||||
nodespacing = parseFloat(value);
|
||||
}
|
||||
else if (key == 'layout')
|
||||
{
|
||||
layout = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var keys = this.editor.csvToArray(lines[index]);
|
||||
|
||||
// Converts name of identity to index of column
|
||||
var identityIndex = null;
|
||||
|
||||
if (identity != null)
|
||||
{
|
||||
for (var i = 0; i < keys.length; i++)
|
||||
{
|
||||
if (identity == keys[i])
|
||||
{
|
||||
identityIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (label == null)
|
||||
{
|
||||
label = '%' + keys[0] + '%';
|
||||
}
|
||||
|
||||
if (edges != null)
|
||||
}
|
||||
}
|
||||
|
||||
var keys = this.editor.csvToArray(lines[index]);
|
||||
|
||||
// Converts name of identity to index of column
|
||||
var identityIndex = null;
|
||||
|
||||
if (identity != null)
|
||||
{
|
||||
for (var i = 0; i < keys.length; i++)
|
||||
{
|
||||
if (identity == keys[i])
|
||||
{
|
||||
identityIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (label == null)
|
||||
{
|
||||
label = '%' + keys[0] + '%';
|
||||
}
|
||||
|
||||
if (edges != null)
|
||||
{
|
||||
for (var e = 0; e < edges.length; e++)
|
||||
{
|
||||
|
@ -9041,45 +9064,45 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
graph.model.beginUpdate();
|
||||
try
|
||||
{
|
||||
for (var i = index + 1; i < lines.length; i++)
|
||||
{
|
||||
var values = this.editor.csvToArray(lines[i]);
|
||||
|
||||
if (values.length == keys.length)
|
||||
{
|
||||
var cell = null;
|
||||
var id = (identityIndex != null) ? values[identityIndex] : null;
|
||||
|
||||
if (id != null)
|
||||
{
|
||||
cell = graph.model.getCell(id);
|
||||
}
|
||||
|
||||
if (cell == null)
|
||||
{
|
||||
var cell = new mxCell(label, new mxGeometry(x0, y,
|
||||
0, 0), style || 'whiteSpace=wrap;html=1;');
|
||||
cell.vertex = true;
|
||||
cell.id = id;
|
||||
}
|
||||
|
||||
graph.model.beginUpdate();
|
||||
try
|
||||
{
|
||||
for (var i = index + 1; i < lines.length; i++)
|
||||
{
|
||||
var values = this.editor.csvToArray(lines[i]);
|
||||
|
||||
if (values.length == keys.length)
|
||||
{
|
||||
var cell = null;
|
||||
var id = (identityIndex != null) ? values[identityIndex] : null;
|
||||
|
||||
if (id != null)
|
||||
{
|
||||
cell = graph.model.getCell(id);
|
||||
}
|
||||
|
||||
if (cell == null)
|
||||
{
|
||||
var cell = new mxCell(label, new mxGeometry(x0, y,
|
||||
0, 0), style || 'whiteSpace=wrap;html=1;');
|
||||
cell.vertex = true;
|
||||
cell.id = id;
|
||||
}
|
||||
|
||||
for (var j = 0; j < values.length; j++)
|
||||
{
|
||||
graph.setAttributeForCell(cell, keys[j], values[j]);
|
||||
}
|
||||
{
|
||||
graph.setAttributeForCell(cell, keys[j], values[j]);
|
||||
}
|
||||
|
||||
graph.setAttributeForCell(cell, 'placeholders', '1');
|
||||
cell.style = graph.replacePlaceholders(cell, cell.style);
|
||||
|
||||
for (var e = 0; e < edges.length; e++)
|
||||
{
|
||||
lookups[edges[e].to][cell.getAttribute(edges[e].to)] = cell;
|
||||
}
|
||||
|
||||
|
||||
for (var e = 0; e < edges.length; e++)
|
||||
{
|
||||
lookups[edges[e].to][cell.getAttribute(edges[e].to)] = cell;
|
||||
}
|
||||
|
||||
if (link != null && link != 'link')
|
||||
{
|
||||
graph.setLinkForCell(cell, cell.getAttribute(link));
|
||||
|
@ -9087,82 +9110,78 @@
|
|||
// Removes attribute
|
||||
graph.setAttributeForCell(cell, link, null);
|
||||
}
|
||||
|
||||
|
||||
// Sets the size
|
||||
graph.fireEvent(new mxEventObject('cellsInserted', 'cells', [cell]));
|
||||
var size = this.editor.graph.getPreferredSizeForCell(cell);
|
||||
|
||||
cell.geometry.width = (width == 'auto') ? size.width + padding : parseFloat(width);
|
||||
cell.geometry.height = (height == 'auto') ? size.height + padding : parseFloat(height);
|
||||
y += cell.geometry.height + nodespacing;
|
||||
|
||||
|
||||
cells.push(graph.addCell(cell));
|
||||
}
|
||||
}
|
||||
|
||||
if (style == null)
|
||||
{
|
||||
graph.fireEvent(new mxEventObject('cellsInserted', 'cells', cells));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var roots = cells.slice();
|
||||
var select = cells.slice();
|
||||
|
||||
|
||||
for (var e = 0; e < edges.length; e++)
|
||||
{
|
||||
var edge = edges[e];
|
||||
|
||||
var edge = edges[e];
|
||||
|
||||
for (var i = 0; i < cells.length; i++)
|
||||
{
|
||||
var cell = cells[i];
|
||||
|
||||
var tmp = cell.getAttribute(edge.from);
|
||||
|
||||
if (tmp != null)
|
||||
{
|
||||
// Removes attribute
|
||||
graph.setAttributeForCell(cell, edge.from, null);
|
||||
var refs = tmp.split(',');
|
||||
var cell = cells[i];
|
||||
|
||||
var tmp = cell.getAttribute(edge.from);
|
||||
|
||||
for (var j = 0; j < refs.length; j++)
|
||||
{
|
||||
var ref = lookups[edge.to][refs[j]];
|
||||
|
||||
if (ref != null)
|
||||
{
|
||||
select.push(graph.insertEdge(null, null, edge.label || '',
|
||||
(edge.invert) ? ref : cell, (edge.invert) ? cell : ref,
|
||||
edge.style || graph.createCurrentEdgeStyle()));
|
||||
mxUtils.remove((edge.invert) ? cell : ref, roots);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (tmp != null)
|
||||
{
|
||||
// Removes attribute
|
||||
graph.setAttributeForCell(cell, edge.from, null);
|
||||
var refs = tmp.split(',');
|
||||
|
||||
for (var j = 0; j < refs.length; j++)
|
||||
{
|
||||
var ref = lookups[edge.to][refs[j]];
|
||||
|
||||
if (ref != null)
|
||||
{
|
||||
select.push(graph.insertEdge(null, null, edge.label || '',
|
||||
(edge.invert) ? ref : cell, (edge.invert) ? cell : ref,
|
||||
edge.style || graph.createCurrentEdgeStyle()));
|
||||
mxUtils.remove((edge.invert) ? cell : ref, roots);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Removes ignored attributes after processing above
|
||||
if (ignore != null)
|
||||
{
|
||||
for (var i = 0; i < cells.length; i++)
|
||||
{
|
||||
{
|
||||
var cell = cells[i];
|
||||
|
||||
for (var j = 0; j < ignore.length; j++)
|
||||
{
|
||||
{
|
||||
graph.setAttributeForCell(cell, mxUtils.trim(ignore[j]), null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var edgeLayout = new mxParallelEdgeLayout(graph);
|
||||
edgeLayout.spacing = edgespacing;
|
||||
edgeLayout.spacing = edgespacing;
|
||||
|
||||
var postProcess = function()
|
||||
{
|
||||
edgeLayout.execute(graph.getDefaultParent());
|
||||
|
||||
// Aligns cells to grid and/or rounds positions
|
||||
// Aligns cells to grid and/or rounds positions
|
||||
for (var i = 0; i < cells.length; i++)
|
||||
{
|
||||
{
|
||||
var geo = graph.getCellGeometry(cells[i]);
|
||||
geo.x = Math.round(graph.snap(geo.x));
|
||||
geo.y = Math.round(graph.snap(geo.y));
|
||||
|
@ -9176,113 +9195,113 @@
|
|||
{
|
||||
geo.height = Math.round(graph.snap(geo.height));
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
if (layout == 'circle')
|
||||
{
|
||||
var circleLayout = new mxCircleLayout(graph);
|
||||
circleLayout.resetEdges = false;
|
||||
|
||||
var circleLayoutIsVertexIgnored = circleLayout.isVertexIgnored;
|
||||
|
||||
// Ignore other cells
|
||||
circleLayout.isVertexIgnored = function(vertex)
|
||||
{
|
||||
return circleLayoutIsVertexIgnored.apply(this, arguments) ||
|
||||
mxUtils.indexOf(cells, vertex) < 0;
|
||||
};
|
||||
circleLayout.resetEdges = false;
|
||||
|
||||
var circleLayoutIsVertexIgnored = circleLayout.isVertexIgnored;
|
||||
|
||||
// Ignore other cells
|
||||
circleLayout.isVertexIgnored = function(vertex)
|
||||
{
|
||||
return circleLayoutIsVertexIgnored.apply(this, arguments) ||
|
||||
mxUtils.indexOf(cells, vertex) < 0;
|
||||
};
|
||||
|
||||
this.executeLayout(function()
|
||||
{
|
||||
circleLayout.execute(graph.getDefaultParent());
|
||||
postProcess();
|
||||
}, true, afterInsert);
|
||||
this.executeLayout(function()
|
||||
{
|
||||
circleLayout.execute(graph.getDefaultParent());
|
||||
postProcess();
|
||||
}, true, afterInsert);
|
||||
|
||||
afterInsert = null;
|
||||
afterInsert = null;
|
||||
}
|
||||
else if (layout == 'horizontaltree' || layout == 'verticaltree' ||
|
||||
(layout == 'auto' && select.length == 2 * cells.length - 1 && roots.length == 1))
|
||||
{
|
||||
// Required for layouts to work with new cells
|
||||
graph.view.validate();
|
||||
|
||||
var treeLayout = new mxCompactTreeLayout(graph, layout == 'horizontaltree');
|
||||
treeLayout.levelDistance = nodespacing;
|
||||
treeLayout.edgeRouting = false;
|
||||
treeLayout.resetEdges = false;
|
||||
|
||||
this.executeLayout(function()
|
||||
{
|
||||
treeLayout.execute(graph.getDefaultParent(), (roots.length > 0) ? roots[0] : null);
|
||||
}, true, afterInsert);
|
||||
|
||||
afterInsert = null;
|
||||
}
|
||||
else if (layout == 'horizontalflow' || layout == 'verticalflow' ||
|
||||
(layout == 'auto' && roots.length == 1))
|
||||
{
|
||||
// Required for layouts to work with new cells
|
||||
graph.view.validate();
|
||||
|
||||
var flowLayout = new mxHierarchicalLayout(graph,
|
||||
(layout == 'horizontalflow') ? mxConstants.DIRECTION_WEST : mxConstants.DIRECTION_NORTH);
|
||||
flowLayout.intraCellSpacing = nodespacing;
|
||||
flowLayout.disableEdgeStyle = false;
|
||||
|
||||
this.executeLayout(function()
|
||||
{
|
||||
flowLayout.execute(graph.getDefaultParent(), select);
|
||||
|
||||
// Workaround for flow layout moving cells to origin
|
||||
graph.moveCells(select, x0, y0);
|
||||
}, true, afterInsert);
|
||||
{
|
||||
// Required for layouts to work with new cells
|
||||
graph.view.validate();
|
||||
|
||||
afterInsert = null;
|
||||
}
|
||||
else if (layout == 'organic' || (layout == 'auto' &&
|
||||
select.length > cells.length))
|
||||
{
|
||||
// Required for layouts to work with new cells
|
||||
graph.view.validate();
|
||||
var treeLayout = new mxCompactTreeLayout(graph, layout == 'horizontaltree');
|
||||
treeLayout.levelDistance = nodespacing;
|
||||
treeLayout.edgeRouting = false;
|
||||
treeLayout.resetEdges = false;
|
||||
|
||||
this.executeLayout(function()
|
||||
{
|
||||
treeLayout.execute(graph.getDefaultParent(), (roots.length > 0) ? roots[0] : null);
|
||||
}, true, afterInsert);
|
||||
|
||||
afterInsert = null;
|
||||
}
|
||||
else if (layout == 'horizontalflow' || layout == 'verticalflow' ||
|
||||
(layout == 'auto' && roots.length == 1))
|
||||
{
|
||||
// Required for layouts to work with new cells
|
||||
graph.view.validate();
|
||||
|
||||
var flowLayout = new mxHierarchicalLayout(graph,
|
||||
(layout == 'horizontalflow') ? mxConstants.DIRECTION_WEST : mxConstants.DIRECTION_NORTH);
|
||||
flowLayout.intraCellSpacing = nodespacing;
|
||||
flowLayout.disableEdgeStyle = false;
|
||||
|
||||
this.executeLayout(function()
|
||||
{
|
||||
flowLayout.execute(graph.getDefaultParent(), select);
|
||||
|
||||
// Workaround for flow layout moving cells to origin
|
||||
graph.moveCells(select, x0, y0);
|
||||
}, true, afterInsert);
|
||||
|
||||
afterInsert = null;
|
||||
}
|
||||
else if (layout == 'organic' || (layout == 'auto' &&
|
||||
select.length > cells.length))
|
||||
{
|
||||
// Required for layouts to work with new cells
|
||||
graph.view.validate();
|
||||
|
||||
var organicLayout = new mxFastOrganicLayout(graph);
|
||||
organicLayout.forceConstant = nodespacing * 3;
|
||||
organicLayout.resetEdges = false;
|
||||
|
||||
var organicLayoutIsVertexIgnored = organicLayout.isVertexIgnored;
|
||||
|
||||
// Ignore other cells
|
||||
organicLayout.isVertexIgnored = function(vertex)
|
||||
{
|
||||
return organicLayoutIsVertexIgnored.apply(this, arguments) ||
|
||||
mxUtils.indexOf(cells, vertex) < 0;
|
||||
};
|
||||
|
||||
var edgeLayout = new mxParallelEdgeLayout(graph);
|
||||
edgeLayout.spacing = edgespacing;
|
||||
|
||||
this.executeLayout(function()
|
||||
{
|
||||
organicLayout.execute(graph.getDefaultParent());
|
||||
postProcess();
|
||||
}, true, afterInsert);
|
||||
|
||||
afterInsert = null;
|
||||
}
|
||||
|
||||
var organicLayout = new mxFastOrganicLayout(graph);
|
||||
organicLayout.forceConstant = nodespacing * 3;
|
||||
organicLayout.resetEdges = false;
|
||||
|
||||
var organicLayoutIsVertexIgnored = organicLayout.isVertexIgnored;
|
||||
|
||||
// Ignore other cells
|
||||
organicLayout.isVertexIgnored = function(vertex)
|
||||
{
|
||||
return organicLayoutIsVertexIgnored.apply(this, arguments) ||
|
||||
mxUtils.indexOf(cells, vertex) < 0;
|
||||
};
|
||||
|
||||
var edgeLayout = new mxParallelEdgeLayout(graph);
|
||||
edgeLayout.spacing = edgespacing;
|
||||
|
||||
this.executeLayout(function()
|
||||
{
|
||||
organicLayout.execute(graph.getDefaultParent());
|
||||
postProcess();
|
||||
}, true, afterInsert);
|
||||
|
||||
afterInsert = null;
|
||||
}
|
||||
|
||||
this.hideDialog();
|
||||
}
|
||||
finally
|
||||
{
|
||||
graph.model.endUpdate();
|
||||
}
|
||||
|
||||
if (afterInsert != null)
|
||||
{
|
||||
afterInsert();
|
||||
}
|
||||
}
|
||||
this.hideDialog();
|
||||
}
|
||||
finally
|
||||
{
|
||||
graph.model.endUpdate();
|
||||
}
|
||||
|
||||
if (afterInsert != null)
|
||||
{
|
||||
afterInsert();
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
|
|
6
war/js/embed-static.min.js
vendored
6
war/js/embed-static.min.js
vendored
|
@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+z.join(",")+"}";f=t;return l}}"function"!==typeof Date.prototy
|
|||
e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
|
||||
"function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
|
||||
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
|
||||
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"7.6.2",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
|
||||
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"7.6.3",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
|
||||
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
|
||||
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
|
||||
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||
|
||||
|
@ -965,8 +965,8 @@ mxCellRenderer.prototype.isShapeEvent=function(a,b){return!0};mxCellRenderer.pro
|
|||
mxCellRenderer.prototype.installListeners=function(a){var b=a.view.graph,c=function(c){var d=a;if(b.dialect!=mxConstants.DIALECT_SVG&&"IMG"==mxEvent.getSource(c).nodeName||mxClient.IS_TOUCH)d=mxEvent.getClientX(c),c=mxEvent.getClientY(c),c=mxUtils.convertPoint(b.container,d,c),d=b.view.getState(b.getCellAt(c.x,c.y));return d};mxEvent.addGestureListeners(a.shape.node,mxUtils.bind(this,function(c){this.isShapeEvent(a,c)&&b.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(c,a))}),mxUtils.bind(this,
|
||||
function(d){this.isShapeEvent(a,d)&&b.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(d,c(d)))}),mxUtils.bind(this,function(d){this.isShapeEvent(a,d)&&b.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(d,c(d)))}));b.nativeDblClickEnabled&&mxEvent.addListener(a.shape.node,"dblclick",mxUtils.bind(this,function(c){this.isShapeEvent(a,c)&&(b.dblClick(c,a.cell),mxEvent.consume(c))}))};
|
||||
mxCellRenderer.prototype.redrawLabel=function(a,b){var c=this.getLabelValue(a);null==a.text&&null!=c&&(mxUtils.isNode(c)||0<c.length)?this.createLabel(a,c):null==a.text||null!=c&&0!=c.length||(a.text.destroy(),a.text=null);if(null!=a.text){var d=a.view.graph;b&&(null!=a.text.lastValue&&this.isTextShapeInvalid(a,a.text)&&(a.text.lastValue=null),a.text.resetStyles(),a.text.apply(a),a.text.valign=d.getVerticalAlign(a));var e=this.getLabelBounds(a),f=d.isWrapping(a.cell),d=d.isLabelClipped(a.cell),g=
|
||||
a.view.graph.isHtmlLabel(a.cell)||null!=c&&mxUtils.isNode(c)?mxConstants.DIALECT_STRICTHTML:a.view.graph.dialect,h=a.style[mxConstants.STYLE_OVERFLOW]||"visible",k=this.getTextScale(a);if(b||a.text.value!=c||a.text.isWrapping!=f||a.text.overflow!=h||a.text.isClipping!=d||a.text.scale!=k||a.text.dialect!=g||!a.text.bounds.equals(e))0!=a.text.bounds.width&&a.text.bounds.width/a.text.scale*k!=e.width&&(a.unscaledWidth=null),a.text.dialect=g,a.text.value=c,a.text.bounds=e,a.text.scale=k,a.text.wrap=f,
|
||||
a.text.clipped=d,a.text.overflow=h,c=a.text.node.style.visibility,this.redrawLabelShape(a.text),a.text.node.style.visibility=c}};
|
||||
a.view.graph.isHtmlLabel(a.cell)||null!=c&&mxUtils.isNode(c)?mxConstants.DIALECT_STRICTHTML:a.view.graph.dialect,h=a.style[mxConstants.STYLE_OVERFLOW]||"visible",k=this.getTextScale(a);if(b||a.text.value!=c||a.text.isWrapping!=f||a.text.overflow!=h||a.text.isClipping!=d||a.text.scale!=k||a.text.dialect!=g||!a.text.bounds.equals(e))0!=a.text.bounds.width&&0!=Math.round(a.text.bounds.width/a.text.scale*k-e.width)&&(a.unscaledWidth=null),a.text.dialect=g,a.text.value=c,a.text.bounds=e,a.text.scale=k,
|
||||
a.text.wrap=f,a.text.clipped=d,a.text.overflow=h,c=a.text.node.style.visibility,this.redrawLabelShape(a.text),a.text.node.style.visibility=c}};
|
||||
mxCellRenderer.prototype.isTextShapeInvalid=function(a,b){function c(c,e,f){return result="spacingTop"==e||"spacingRight"==e||"spacingBottom"==e||"spacingLeft"==e?parseFloat(b[c])-parseFloat(b.spacing)!=(a.style[e]||f):b[c]!=(a.style[e]||f)}return c("fontStyle",mxConstants.STYLE_FONTSTYLE,mxConstants.DEFAULT_FONTSTYLE)||c("family",mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY)||c("size",mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE)||c("color",mxConstants.STYLE_FONTCOLOR,"black")||
|
||||
c("align",mxConstants.STYLE_ALIGN,"")||c("valign",mxConstants.STYLE_VERTICAL_ALIGN,"")||c("spacing",mxConstants.STYLE_SPACING,2)||c("spacingTop",mxConstants.STYLE_SPACING_TOP,0)||c("spacingRight",mxConstants.STYLE_SPACING_RIGHT,0)||c("spacingBottom",mxConstants.STYLE_SPACING_BOTTOM,0)||c("spacingLeft",mxConstants.STYLE_SPACING_LEFT,0)||c("horizontal",mxConstants.STYLE_HORIZONTAL,!0)||c("background",mxConstants.STYLE_LABEL_BACKGROUNDCOLOR)||c("border",mxConstants.STYLE_LABEL_BORDERCOLOR)||c("opacity",
|
||||
mxConstants.STYLE_TEXT_OPACITY,100)||c("textDirection",mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION)};mxCellRenderer.prototype.redrawLabelShape=function(a){a.redraw()};mxCellRenderer.prototype.getTextScale=function(a){return a.view.scale};
|
||||
|
|
|
@ -1661,7 +1661,7 @@ EditorUi.prototype.initCanvas = function()
|
|||
{
|
||||
if (this.editor.editButtonLink == '_blank')
|
||||
{
|
||||
this.editor.editAsNew(this.getEditBlankXml(), null, true);
|
||||
this.editor.editAsNew(this.getEditBlankXml());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -2299,7 +2299,7 @@ EditorUi.prototype.canUndo = function()
|
|||
*/
|
||||
EditorUi.prototype.getEditBlankXml = function()
|
||||
{
|
||||
return mxUtils.getXml(this.getGraphXml());
|
||||
return mxUtils.getXml(this.editor.getGraphXml());
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
6
war/js/reader.min.js
vendored
6
war/js/reader.min.js
vendored
|
@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+z.join(",")+"}";f=t;return l}}"function"!==typeof Date.prototy
|
|||
e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
|
||||
"function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
|
||||
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
|
||||
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"7.6.2",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
|
||||
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"7.6.3",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
|
||||
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
|
||||
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
|
||||
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||
|
||||
|
@ -965,8 +965,8 @@ mxCellRenderer.prototype.isShapeEvent=function(a,b){return!0};mxCellRenderer.pro
|
|||
mxCellRenderer.prototype.installListeners=function(a){var b=a.view.graph,c=function(c){var d=a;if(b.dialect!=mxConstants.DIALECT_SVG&&"IMG"==mxEvent.getSource(c).nodeName||mxClient.IS_TOUCH)d=mxEvent.getClientX(c),c=mxEvent.getClientY(c),c=mxUtils.convertPoint(b.container,d,c),d=b.view.getState(b.getCellAt(c.x,c.y));return d};mxEvent.addGestureListeners(a.shape.node,mxUtils.bind(this,function(c){this.isShapeEvent(a,c)&&b.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(c,a))}),mxUtils.bind(this,
|
||||
function(d){this.isShapeEvent(a,d)&&b.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(d,c(d)))}),mxUtils.bind(this,function(d){this.isShapeEvent(a,d)&&b.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(d,c(d)))}));b.nativeDblClickEnabled&&mxEvent.addListener(a.shape.node,"dblclick",mxUtils.bind(this,function(c){this.isShapeEvent(a,c)&&(b.dblClick(c,a.cell),mxEvent.consume(c))}))};
|
||||
mxCellRenderer.prototype.redrawLabel=function(a,b){var c=this.getLabelValue(a);null==a.text&&null!=c&&(mxUtils.isNode(c)||0<c.length)?this.createLabel(a,c):null==a.text||null!=c&&0!=c.length||(a.text.destroy(),a.text=null);if(null!=a.text){var d=a.view.graph;b&&(null!=a.text.lastValue&&this.isTextShapeInvalid(a,a.text)&&(a.text.lastValue=null),a.text.resetStyles(),a.text.apply(a),a.text.valign=d.getVerticalAlign(a));var e=this.getLabelBounds(a),f=d.isWrapping(a.cell),d=d.isLabelClipped(a.cell),g=
|
||||
a.view.graph.isHtmlLabel(a.cell)||null!=c&&mxUtils.isNode(c)?mxConstants.DIALECT_STRICTHTML:a.view.graph.dialect,h=a.style[mxConstants.STYLE_OVERFLOW]||"visible",k=this.getTextScale(a);if(b||a.text.value!=c||a.text.isWrapping!=f||a.text.overflow!=h||a.text.isClipping!=d||a.text.scale!=k||a.text.dialect!=g||!a.text.bounds.equals(e))0!=a.text.bounds.width&&a.text.bounds.width/a.text.scale*k!=e.width&&(a.unscaledWidth=null),a.text.dialect=g,a.text.value=c,a.text.bounds=e,a.text.scale=k,a.text.wrap=f,
|
||||
a.text.clipped=d,a.text.overflow=h,c=a.text.node.style.visibility,this.redrawLabelShape(a.text),a.text.node.style.visibility=c}};
|
||||
a.view.graph.isHtmlLabel(a.cell)||null!=c&&mxUtils.isNode(c)?mxConstants.DIALECT_STRICTHTML:a.view.graph.dialect,h=a.style[mxConstants.STYLE_OVERFLOW]||"visible",k=this.getTextScale(a);if(b||a.text.value!=c||a.text.isWrapping!=f||a.text.overflow!=h||a.text.isClipping!=d||a.text.scale!=k||a.text.dialect!=g||!a.text.bounds.equals(e))0!=a.text.bounds.width&&0!=Math.round(a.text.bounds.width/a.text.scale*k-e.width)&&(a.unscaledWidth=null),a.text.dialect=g,a.text.value=c,a.text.bounds=e,a.text.scale=k,
|
||||
a.text.wrap=f,a.text.clipped=d,a.text.overflow=h,c=a.text.node.style.visibility,this.redrawLabelShape(a.text),a.text.node.style.visibility=c}};
|
||||
mxCellRenderer.prototype.isTextShapeInvalid=function(a,b){function c(c,e,f){return result="spacingTop"==e||"spacingRight"==e||"spacingBottom"==e||"spacingLeft"==e?parseFloat(b[c])-parseFloat(b.spacing)!=(a.style[e]||f):b[c]!=(a.style[e]||f)}return c("fontStyle",mxConstants.STYLE_FONTSTYLE,mxConstants.DEFAULT_FONTSTYLE)||c("family",mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY)||c("size",mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE)||c("color",mxConstants.STYLE_FONTCOLOR,"black")||
|
||||
c("align",mxConstants.STYLE_ALIGN,"")||c("valign",mxConstants.STYLE_VERTICAL_ALIGN,"")||c("spacing",mxConstants.STYLE_SPACING,2)||c("spacingTop",mxConstants.STYLE_SPACING_TOP,0)||c("spacingRight",mxConstants.STYLE_SPACING_RIGHT,0)||c("spacingBottom",mxConstants.STYLE_SPACING_BOTTOM,0)||c("spacingLeft",mxConstants.STYLE_SPACING_LEFT,0)||c("horizontal",mxConstants.STYLE_HORIZONTAL,!0)||c("background",mxConstants.STYLE_LABEL_BACKGROUNDCOLOR)||c("border",mxConstants.STYLE_LABEL_BORDERCOLOR)||c("opacity",
|
||||
mxConstants.STYLE_TEXT_OPACITY,100)||c("textDirection",mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION)};mxCellRenderer.prototype.redrawLabelShape=function(a){a.redraw()};mxCellRenderer.prototype.getTextScale=function(a){return a.view.scale};
|
||||
|
|
1004
war/js/viewer.min.js
vendored
1004
war/js/viewer.min.js
vendored
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue