14.1.2 release

This commit is contained in:
David Benson [draw.io] 2020-12-23 15:43:10 +00:00
parent 0f40a2939a
commit 69e664876d
34 changed files with 2931 additions and 3006 deletions

View file

@ -1,3 +1,7 @@
23-DEC-2020: 14.1.2
- Adds UML 2.5 library
18-DEC-2020: 14.1.1
- Fixes Math config

View file

@ -1 +1 @@
14.1.1
14.1.2

View file

@ -1,7 +1,7 @@
jscompiler=${basedir}/compiler.jar
grapheditor.dir=${basedir}/../../src/main/grapheditor
src.dir=${basedir}/../../src/main/java
war.dir=${basedir}/../../src/main/webapp
grapheditor.dir=${war.dir}/js/grapheditor
javac.dir=${war.dir}/WEB-INF/classes
build.dir=${basedir}/../../build
war.name=draw.war

View file

@ -128,7 +128,6 @@
<file name="Sidebar-FluidPower.js" />
<file name="Sidebar-GCP.js" />
<file name="Sidebar-GCP2.js" />
<file name="Sidebar-General.js" />
<file name="Sidebar-Gmdl.js" />
<file name="Sidebar-IBM.js" />
<file name="Sidebar-Infographic.js" />
@ -146,6 +145,7 @@
<file name="Sidebar-Sitemap.js" />
<file name="Sidebar-Sysml.js" />
<file name="Sidebar-ThreatModeling.js" />
<file name="Sidebar-UML25.js" />
<file name="Sidebar-Veeam.js" />
<file name="Sidebar-Veeam2.js" />
<file name="Sidebar-VVD.js" />

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View file

@ -249,14 +249,14 @@
// Used to request draw.io sources in dev mode
var drawDevUrl = document.location.protocol + '//devhost.jgraph.com/drawio/src/main/webapp/';
var geBasePath = mxDevUrl + '/grapheditor';
var geBasePath = drawDevUrl + '/js/grapheditor';
var mxBasePath = mxDevUrl + '/mxgraph';
if (document.location.protocol == 'file:')
{
drawDevUrl = './';
geBasePath = '../grapheditor';
geBasePath = './js/grapheditor';
mxBasePath = './mxgraph';
drawDevUrl = './';
// Forces includes for dev environment in node.js
mxForceIncludes = true;

File diff suppressed because it is too large Load diff

View file

@ -632,7 +632,7 @@ App.main = function(callback, createUi)
{
var content = mxUtils.getTextContent(scripts[0]);
if (CryptoJS.MD5(content).toString() != '7ec5b116e26db60a0939c154aef4254a')
if (CryptoJS.MD5(content).toString() != 'f13d3aba97e718436f2562cef8787e06')
{
console.log('Change bootstrap script MD5 in the previous line:', CryptoJS.MD5(content).toString());
alert('[Dev] Bootstrap script change requires update of CSP');

View file

@ -19,7 +19,8 @@ if (!mxIsElectron && location.protocol !== 'http:')
//----------------------------------------------------------//
//------------- Bootstrap script in index.html -------------//
//----------------------------------------------------------//
// Version 14.0.2
'\'sha256-8HtpzsH4zj5+RKfTWMxPmWJKBu0OYbn+WuPrLbVky+g=\' ' +
// Version 14.1.1
'\'sha256-gCA3yqbX5kV5cXQOyvSd4v54e8cOLCBlaKU4tuhJF3Y=\' ' +
// Version 14.0.1
'\'sha256-ZMnCMK9Jg5ijd0Viqw4KAFn39HeC1LrVwervb9uC7Mo=\' ' +
@ -154,7 +155,6 @@ mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Flowchart.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-FluidPower.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-GCP.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-GCP2.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-General.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Gmdl.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-IBM.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Infographic.js');
@ -172,6 +172,7 @@ mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Signs.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Sitemap.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Sysml.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-ThreatModeling.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-UML25.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Veeam.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Veeam2.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-VVD.js');

View file

@ -2050,6 +2050,10 @@
console.log('ExtFonts format error: ' + e.message);
}
}
else if (this.graph.extFonts != null && this.graph.extFonts.length > 0)
{
this.graph.extFonts = [];
}
}
// Calls updateGraphComponents
@ -6605,6 +6609,7 @@
mxStencilRegistry.libraries['aws3d'] = [SHAPES_PATH + '/mxAWS3D.js', STENCIL_PATH + '/aws3d.xml'];
mxStencilRegistry.libraries['aws4'] = [SHAPES_PATH + '/mxAWS4.js', STENCIL_PATH + '/aws4.xml'];
mxStencilRegistry.libraries['aws4b'] = [SHAPES_PATH + '/mxAWS4.js', STENCIL_PATH + '/aws4.xml'];
mxStencilRegistry.libraries['uml25'] = [SHAPES_PATH + '/mxUML25.js'];
mxStencilRegistry.libraries['veeam'] = [STENCIL_PATH + '/veeam/2d.xml', STENCIL_PATH + '/veeam/3d.xml', STENCIL_PATH + '/veeam/veeam.xml'];
mxStencilRegistry.libraries['veeam2'] = [STENCIL_PATH + '/veeam/2d.xml', STENCIL_PATH + '/veeam/3d.xml', STENCIL_PATH + '/veeam/veeam2.xml'];
mxStencilRegistry.libraries['pid2inst'] = [SHAPES_PATH + '/pid2/mxPidInstruments.js'];

View file

@ -9916,23 +9916,27 @@
this.editor.autosave = mxSettings.getAutosave();
}
/**
*
*/
if (this.sidebar != null)
{
this.sidebar.showPalette('search', mxSettings.settings.search);
}
/**
* Shows scratchpad if never shown.
*/
if ((!this.editor.chromeless || this.editor.editable) &&
this.sidebar != null && (mxSettings.settings.isNew ||
parseInt(mxSettings.settings.version || 0) <= 8))
{
this.toggleScratchpad();
mxSettings.save();
if (urlParams['search-shapes'] != null && this.sidebar.searchShapes != null)
{
this.sidebar.searchShapes(urlParams['search-shapes']);
this.sidebar.showEntries('search');
}
else
{
this.sidebar.showPalette('search', mxSettings.settings.search);
/**
* Shows scratchpad if never shown.
*/
if ((!this.editor.chromeless || this.editor.editable) && (mxSettings.settings.isNew ||
parseInt(mxSettings.settings.version || 0) <= 8))
{
this.toggleScratchpad();
mxSettings.save();
}
}
}
// Saves app defaults for UI

View file

@ -16,7 +16,7 @@ LucidImporter = {};
var arcSize = 6;
var edgeStyle = 'html=1;jettySize=18;';
var vertexStyle = 'html=1;overflow=block;whiteSpace=wrap;';
var vertexStyle = 'html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;';
var labelStyle = 'text;html=1;resizable=0;labelBackgroundColor=#ffffff;align=center;verticalAlign=middle;';
var c = 'fillColor=#036897;strokeColor=#ffffff';
@ -97,7 +97,7 @@ LucidImporter = {};
'DataBlockNew': 'shape=parallelogram;perimeter=parallelogramPerimeter;anchorPointDirection=0',
'DatabaseBlock': 'shape=cylinder3;size=4;anchorPointDirection=0;boundedLbl=1;',
'DirectAccessStorageBlock': 'shape=cylinder3;direction=south;size=10;anchorPointDirection=0;boundedLbl=1;',
'InternalStorageBlock': 'shape=internalStorage;dx=10;dy=10',
'InternalStorageBlock': cs,
'PaperTapeBlock': 'shape=tape;size=0.2',
'ManualOperationBlockNew': 'shape=trapezoid;perimeter=trapezoidPerimeter;anchorPointDirection=0;flipV=1',
'DelayBlock': 'shape=delay',
@ -4487,7 +4487,7 @@ LucidImporter = {};
function getLabelStyle(properties, noLblStyle)
{
var style = 'whiteSpace=wrap;' + (noLblStyle?
'overflow=block;html=1;fontSize=' + defaultFontSize + ';' +
'overflow=block;blockSpacing=1;html=1;fontSize=' + defaultFontSize + ';' +
gFontFamilyStyle
:
getFontSize(properties) +
@ -4518,7 +4518,7 @@ LucidImporter = {};
}
s += 'whiteSpace=wrap;' +
(noLblStyle? (hasStyle(style, 'overflow')? '' : 'overflow=block;') +
(noLblStyle? (hasStyle(style, 'overflow')? '' : 'overflow=block;blockSpacing=1;') +
(hasStyle(style, 'html')? '' : 'html=1;') + 'fontSize=' + defaultFontSize + ';' +
gFontFamilyStyle
:
@ -4911,7 +4911,7 @@ LucidImporter = {};
{
if (currM.n == 'il')
{
return 'spacingLeft=' + currM.v * 0.6 + ';';
return 'spacingLeft=' + currM.v * scale + ';';
}
/*else
{
@ -4920,7 +4920,7 @@ LucidImporter = {};
if (currM.n == 's' && align != 'align=center;' && align != '')
{
// TODO: Fix condition to apply this only when necessary
//return 'spacingLeft=' + currM.v * 0.6 + ';';
//return 'spacingLeft=' + currM.v * scale + ';';
}
}*/
}
@ -4952,7 +4952,7 @@ LucidImporter = {};
{
isIR = true;
return 'spacingRight=' + currM.v + ';';
return 'spacingRight=' + currM.v * scale + ';';
}
}
@ -4982,7 +4982,7 @@ LucidImporter = {};
if (currM.v != null)
{
isMT = true;
return 'spacingTop=' + currM.v + ';';
return 'spacingTop=' + currM.v * scale + ';';
}
}
@ -5012,7 +5012,7 @@ LucidImporter = {};
if (currM.v != null)
{
isMB = true;
return 'spacingBottom=' + currM.v + ';';
return 'spacingBottom=' + currM.v * scale + ';';
}
}
@ -6502,6 +6502,11 @@ LucidImporter = {};
LucidImporter.hasUnknownShapes = false;
var xml = ['<?xml version=\"1.0\" encoding=\"UTF-8\"?>', '<mxfile>'];
if (advImpConfig && advImpConfig.transparentEdgeLabels)
{
labelStyle = labelStyle.replace('labelBackgroundColor=#ffffff;', 'labelBackgroundColor=none;');
}
// Extracts and sorts all pages
var pages = [];
@ -6936,7 +6941,7 @@ LucidImporter = {};
if (hasTxt)
{
v.value = convertText(p[mainTxtFld]);
v.style += (isLastLblHTML? 'overflow=block;fontSize=' + defaultFontSize + ';' +
v.style += (isLastLblHTML? 'overflow=block;blockSpacing=1;fontSize=' + defaultFontSize + ';' +
gFontFamilyStyle
:
getFontSize(p[mainTxtFld]) +
@ -7955,7 +7960,7 @@ LucidImporter = {};
v.insert(tab[i]);
tab[i].value = convertText(p["Tab_" + i]);
tab[i].style += (isLastLblHTML? 'overflow=block;html=1;fontSize=' + defaultFontSize + ';' +
tab[i].style += (isLastLblHTML? 'overflow=block;blockSpacing=1;html=1;fontSize=' + defaultFontSize + ';' +
gFontFamilyStyle
:
getFontSize(p["Tab_" + i]) +
@ -12797,6 +12802,7 @@ LucidImporter = {};
{
var shape = stencil.stencils[i];
var cell = new mxCell('', new mxGeometry(0, 0, w, h), 'shape=' + shape.shapeStencil + ';');
var sfc = shape.FillColor, slc = shape.LineColor, slw = shape.LineWidth;
if (shape.FillColor == 'prop')
{
@ -12824,6 +12830,8 @@ LucidImporter = {};
}
//Add stencil styles
cell.style += addAllStyles(cell.style, shape, a, cell, isLastLblHTML);
// Restore shape properties
shape.FillColor = sfc; shape.LineColor = slc; shape.LineWidth = slw;
//Add other styles from parent
var fc = p.FillColor, lc = p.LineColor, lw = p.LineWidth;
p.FillColor = null; p.LineColor = null; p.LineWidth = null;
@ -13056,6 +13064,52 @@ LucidImporter = {};
break;
}
break;
case 'InternalStorageBlock':
v.style += 'shape=internalStorage;dx=10;dy=10';
//Adjust left and top spacing to handle the shape
if (p.Text && p.Text.m)
{
var m = p.Text.m, isMT = false, isIL = false;
for (var i = 0; i < m.length; i++)
{
var currM = m[i];
if (!isMT && currM.n == 'mt')
{
currM.v = 17 + (currM.v || 0);
isMT = true;
}
else if (!isIL && currM.n == 'il')
{
currM.v = 17 + (currM.v || 0);
isIL = true;
}
}
if (!isMT)
{
m.push({
"s": 0,
"n": "mt",
"v": 17
});
}
if (!isIL)
{
m.push({
"s": 0,
"n": "il",
"v": 17
});
}
}
v.value = convertText(p);
v.style += addAllStyles(v.style, p, a, v, isLastLblHTML);
break;
}
if (v.style && v.style.indexOf('html') < 0)

View file

@ -1012,9 +1012,15 @@ EditorUi.initMinimalTheme = function()
div.style.bottom = (urlParams['embed'] != '1' || urlParams['libraries'] == '1') ? '63px' : '32px';
this.sidebar = this.createSidebar(div);
if (iw >= 1000 || urlParams['clibs'] != null || urlParams['libs'] != null)
if (iw >= 1000 || urlParams['clibs'] != null || urlParams['libs'] != null || urlParams['search-shapes'] != null)
{
toggleShapes(this, true);
if (this.sidebar != null && urlParams['search-shapes'] != null && this.sidebar.searchShapes != null)
{
this.sidebar.searchShapes(urlParams['search-shapes']);
this.sidebar.showEntries('search');
}
}
if (iw >= 1000)

View file

@ -1,331 +0,0 @@
(function()
{
// Adds general shapes
Sidebar.prototype.addGeneralPalette = function()
{
this.setCurrentSearchEntryLibrary('general', 'generalGeneral');
this.addGeneralGeneralPalette();
this.setCurrentSearchEntryLibrary('general', 'generalMisc');
this.addGeneralMiscPalette();
this.setCurrentSearchEntryLibrary('general', 'generalAdvanced');
this.addGeneralAdvancedPalette();
this.setCurrentSearchEntryLibrary();
};
Sidebar.prototype.addGeneralGeneralPalette = function()
{
var sb = this;
var gn = 'mxgraph.aws3';
var dt = 'aws amazon web service analytics';
var lineTags = 'line lines connector connectors connection connections arrow arrows ';
this.addPaletteFunctions('generalGeneral', 'General', true,
[
this.createVertexTemplateEntry('rounded=0;whiteSpace=wrap;html=1;', 120, 60, '', 'Rectangle', null, null, 'rect rectangle box'),
this.createVertexTemplateEntry('rounded=1;whiteSpace=wrap;html=1;', 120, 60, '', 'Rounded Rectangle', null, null, 'rounded rect rectangle box'),
// Explicit strokecolor/fillcolor=none is a workaround to maintain transparent background regardless of current style
this.createVertexTemplateEntry('text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;',
40, 20, 'Text', 'Text', null, null, 'text textbox textarea label'),
this.createVertexTemplateEntry('text;html=1;strokeColor=none;fillColor=none;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;', 190, 120,
'<h1>Heading</h1><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>',
'Textbox', null, null, 'text textbox textarea'),
this.createVertexTemplateEntry('ellipse;whiteSpace=wrap;html=1;', 120, 80, '', 'Ellipse', null, null, 'oval ellipse state'),
this.createVertexTemplateEntry('whiteSpace=wrap;html=1;aspect=fixed;', 80, 80, '', 'Square', null, null, 'square'),
this.createVertexTemplateEntry('ellipse;whiteSpace=wrap;html=1;aspect=fixed;', 80, 80, '', 'Circle', null, null, 'circle'),
this.createVertexTemplateEntry('shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;', 120, 60, '', 'Process', null, null, 'process task'),
this.createVertexTemplateEntry('rhombus;whiteSpace=wrap;html=1;', 80, 80, '', 'Diamond', null, null, 'diamond rhombus if condition decision conditional question test'),
this.createVertexTemplateEntry('shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;', 120, 60, '', 'Parallelogram'),
this.createVertexTemplateEntry('shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;', 120, 80, '', 'Hexagon', null, null, 'hexagon preparation'),
this.createVertexTemplateEntry('triangle;whiteSpace=wrap;html=1;', 60, 80, '', 'Triangle', null, null, 'triangle logic inverter buffer'),
this.createVertexTemplateEntry('shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;', 60, 80, '', 'Cylinder', null, null, 'cylinder data database'),
this.createVertexTemplateEntry('ellipse;shape=cloud;whiteSpace=wrap;html=1;', 120, 80, '', 'Cloud', null, null, 'cloud network'),
this.createVertexTemplateEntry('shape=document;whiteSpace=wrap;html=1;boundedLbl=1;', 120, 80, '', 'Document'),
this.createVertexTemplateEntry('shape=internalStorage;whiteSpace=wrap;html=1;backgroundOutline=1;', 80, 80, '', 'Internal Storage'),
this.createVertexTemplateEntry('shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;', 120, 80, '', 'Cube'),
this.createVertexTemplateEntry('shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;', 120, 80, '', 'Step'),
this.createVertexTemplateEntry('shape=trapezoid;perimeter=trapezoidPerimeter;whiteSpace=wrap;html=1;fixedSize=1;', 120, 60, '', 'Trapezoid'),
this.createVertexTemplateEntry('shape=tape;whiteSpace=wrap;html=1;', 120, 100, '', 'Tape'),
this.createVertexTemplateEntry('shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;', 80, 100, '', 'Note'),
this.createVertexTemplateEntry('shape=card;whiteSpace=wrap;html=1;', 80, 100, '', 'Card'),
this.createVertexTemplateEntry('shape=callout;whiteSpace=wrap;html=1;perimeter=calloutPerimeter;', 120, 80, '', 'Callout', null, null, 'bubble chat thought speech message'),
this.createVertexTemplateEntry('shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;', 30, 60, 'Actor', 'Actor', false, null, 'user person human stickman'),
this.createVertexTemplateEntry('shape=xor;whiteSpace=wrap;html=1;', 60, 80, '', 'Or', null, null, 'logic or'),
this.createVertexTemplateEntry('shape=or;whiteSpace=wrap;html=1;', 60, 80, '', 'And', null, null, 'logic and'),
this.createVertexTemplateEntry('shape=dataStorage;whiteSpace=wrap;html=1;fixedSize=1;', 100, 80, '', 'Data Storage'),
this.addEntry('curve', mxUtils.bind(this, function()
{
var cell = new mxCell('', new mxGeometry(0, 0, 50, 50), 'curved=1;endArrow=classic;html=1;');
cell.geometry.setTerminalPoint(new mxPoint(0, 50), true);
cell.geometry.setTerminalPoint(new mxPoint(50, 0), false);
cell.geometry.points = [new mxPoint(50, 50), new mxPoint(0, 0)];
cell.geometry.relative = true;
cell.edge = true;
return this.createEdgeTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'Curve');
})),
this.createEdgeTemplateEntry('shape=flexArrow;endArrow=classic;startArrow=classic;html=1;', 50, 50, '', 'Bidirectional Arrow', null, lineTags + 'bidirectional'),
this.createEdgeTemplateEntry('shape=flexArrow;endArrow=classic;html=1;', 50, 50, '', 'Arrow', null, lineTags + 'directional directed'),
this.createEdgeTemplateEntry('endArrow=none;dashed=1;html=1;', 50, 50, '', 'Dashed Line', null, lineTags + 'dashed undirected no'),
this.createEdgeTemplateEntry('endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;', 50, 50, '', 'Dotted Line', null, lineTags + 'dotted undirected no'),
this.createEdgeTemplateEntry('endArrow=none;html=1;', 50, 50, '', 'Line', null, lineTags + 'simple undirected plain blank no'),
this.createEdgeTemplateEntry('endArrow=classic;startArrow=classic;html=1;', 50, 50, '', 'Bidirectional Connector', null, lineTags + 'bidirectional'),
this.createEdgeTemplateEntry('endArrow=classic;html=1;', 50, 50, '', 'Directional Connector', null, lineTags + 'directional directed'),
this.createEdgeTemplateEntry('shape=link;html=1;', 100, 0, '', 'Link', null, lineTags + 'link'),
this.addEntry(lineTags + 'edge title', mxUtils.bind(this, function()
{
var edge = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=classic;html=1;');
edge.geometry.setTerminalPoint(new mxPoint(0, 0), true);
edge.geometry.setTerminalPoint(new mxPoint(100, 0), false);
edge.geometry.relative = true;
edge.edge = true;
var cell0 = new mxCell('Label', new mxGeometry(0, 0, 0, 0), 'edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;');
cell0.geometry.relative = true;
cell0.setConnectable(false);
cell0.vertex = true;
edge.insert(cell0);
return this.createEdgeTemplateFromCells([edge], 100, 0, 'Connector with Label');
})),
this.addEntry(lineTags + 'edge title multiplicity', mxUtils.bind(this, function()
{
var edge = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=classic;html=1;');
edge.geometry.setTerminalPoint(new mxPoint(0, 0), true);
edge.geometry.setTerminalPoint(new mxPoint(160, 0), false);
edge.geometry.relative = true;
edge.edge = true;
var cell0 = new mxCell('Label', new mxGeometry(0, 0, 0, 0), 'edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;');
cell0.geometry.relative = true;
cell0.setConnectable(false);
cell0.vertex = true;
edge.insert(cell0);
var cell1 = new mxCell('Source', new mxGeometry(-1, 0, 0, 0), 'edgeLabel;resizable=0;html=1;align=left;verticalAlign=bottom;');
cell1.geometry.relative = true;
cell1.setConnectable(false);
cell1.vertex = true;
edge.insert(cell1);
return this.createEdgeTemplateFromCells([edge], 160, 0, 'Connector with 2 Labels');
})),
this.addEntry(lineTags + 'edge title multiplicity', mxUtils.bind(this, function()
{
var edge = new mxCell('Label', new mxGeometry(0, 0, 0, 0), 'endArrow=classic;html=1;');
edge.geometry.setTerminalPoint(new mxPoint(0, 0), true);
edge.geometry.setTerminalPoint(new mxPoint(160, 0), false);
edge.geometry.relative = true;
edge.edge = true;
var cell0 = new mxCell('Label', new mxGeometry(0, 0, 0, 0), 'edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;');
cell0.geometry.relative = true;
cell0.setConnectable(false);
cell0.vertex = true;
edge.insert(cell0);
var cell1 = new mxCell('Source', new mxGeometry(-1, 0, 0, 0), 'edgeLabel;resizable=0;html=1;align=left;verticalAlign=bottom;');
cell1.geometry.relative = true;
cell1.setConnectable(false);
cell1.vertex = true;
edge.insert(cell1);
var cell2 = new mxCell('Target', new mxGeometry(1, 0, 0, 0), 'edgeLabel;resizable=0;html=1;align=right;verticalAlign=bottom;');
cell2.geometry.relative = true;
cell2.setConnectable(false);
cell2.vertex = true;
edge.insert(cell2);
return this.createEdgeTemplateFromCells([edge], 160, 0, 'Connector with 3 Labels');
})),
this.addEntry(lineTags + 'edge shape symbol message mail email', mxUtils.bind(this, function()
{
var edge = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=classic;html=1;');
edge.geometry.setTerminalPoint(new mxPoint(0, 0), true);
edge.geometry.setTerminalPoint(new mxPoint(100, 0), false);
edge.geometry.relative = true;
edge.edge = true;
var cell = new mxCell('', new mxGeometry(0, 0, 20, 14), 'shape=message;html=1;outlineConnect=0;');
cell.geometry.relative = true;
cell.vertex = true;
cell.geometry.offset = new mxPoint(-10, -7);
edge.insert(cell);
return this.createEdgeTemplateFromCells([edge], 100, 0, 'Connector with Symbol');
}))
]);
};
Sidebar.prototype.addGeneralMiscPalette = function()
{
var sb = this;
var gn = 'general misc';
var dt = '';
var lineTags = 'line lines connector connectors connection connections arrow arrows '
this.addPaletteFunctions('generalMisc', 'Misc', false,
[
this.createVertexTemplateEntry('text;strokeColor=none;fillColor=none;html=1;fontSize=24;fontStyle=1;verticalAlign=middle;align=center;', 100, 40, 'Title', 'Title', null, null, 'text heading title'),
this.createVertexTemplateEntry('text;strokeColor=none;fillColor=none;html=1;whiteSpace=wrap;verticalAlign=middle;overflow=hidden;', 100, 80,
'<ul><li>Value 1</li><li>Value 2</li><li>Value 3</li></ul>', 'Unordered List'),
this.createVertexTemplateEntry('text;strokeColor=none;fillColor=none;html=1;whiteSpace=wrap;verticalAlign=middle;overflow=hidden;', 100, 80,
'<ol><li>Value 1</li><li>Value 2</li><li>Value 3</li></ol>', 'Ordered List'),
this.addDataEntry('table', 180, 120, 'Table 1', '7ZjJTsMwEIafJleUhZZybVgucAFewDTT2pLjiewpaXl6xolLVQFqWBJArZRKns2xv5H7y4myvFxdW1HJWyxAR9lllOUWkdpRucpB6yiNVRFlF1GaxvyL0qsPokkTjSthwVCXgrQteBJ6Ca2ndTha6+BwUlR+SOLRu6aSSl7mRcLDWiqC+0rMfLzmTbDPkbB0r569K2Z7hoaEMmBDzQy1FpVTzWRthlS6uBFrXNLmNRtrGpYHlmD14RYbV9jfNWAJZNecUquCZMiYtBhiCWohN2WBTSxc61i81m6J8SBAex9g1h0gL5mU0HcwI2EWXVi+ZVVYrB6EXQAFR4XKENjLJ6bhgm+utM5Ro0du0PgXEVYhqGG+qX1EIiyDYQOY10kbKKMpP4wpj09G0Yh3k7OdbG1+fLqlHI0jy432c4BwVIPr3MD0aw08/YH+nfbbP2N89rZ/324NMsq5xppNqYoCTFfG2V7G454Qjw4c8WoX7wDEx0fiO3/wAyA/O+pAbzqw3m3TELIwOZQTdPZrsnB+4IiHl4UkPiIfWheS5CgMfQvDZEBhSD5xY/7fZyjZf63u7dD0fKv++5B/QRwO5ia8h3mP6sDm9tNeE9v58vcC'),
this.addDataEntry('table', 180, 120, 'Table 2', '7ZjBbqMwEIafhmuFISTptbTbS/eyrfbuBie2ZDzITEqyT79jMMlGWVTUBlqVSkTyjGeM+SbDLxPEab67t7yQPyETOojvgji1ANiM8l0qtA6iUGVBfBtEUUi/IPrRMcvq2bDgVhjskxA1CS9cb0XjaRwl7rV3lJIXboj82bluJOa0zVtGw0oqFI8FX7n5ih6CfCVyi4/qj3OFZK/AIFdGWJ+zAq15Uap6sSZCKp098D1ssb1Na7nobW4eKL/00Raqf02/f2FR7DoZ1C4P4F5ALtDuKaRSGUofsWw4hVKojWzTPLyQl41jc8g9IqWBp/p/wnF/wrRlVFz/EivkZtMH9jnMzELxxO1GoHcUoAwKe/dCNFpoa6V1ChpcTQwYdyOEwk9qsW5znwER8ha8B3NYtIaS3NBFmNLwKgkSepqUbHa06XLhFlMwJVr6J7g1BC+xEiX2LWD0tgLOLlC/2Vn9ftfDKGQXLaQxLvpYyHfXCIjpWkNFplRZJkxf2PGrsOcDsU46WV+2aT49690p5xHQzzvRx5NEf3j3j8B+8S0Rg0nE/rRMYyjGsrOVZl+0lRYfphjXnayTabEeXzFY2Ml+Pkn2Y0oGY9+aMbRmLEfUDHZ+EG+bafFFm4m9fiofrHvOD+Ut7eXEaH+AbnSfqK+nCX9A4SDz+DGxnjv51vgX'),
this.addDataEntry('table title', 180, 120, 'Table with Title 1', '7ZhRb6MwDMc/Da8nAmPdvZbu9nJ7WfcFMnAhUohR4o12n34OpKumrmqlDXa6VqJS/Lcdkp8bWSFK82Z9Z2Vb32MJOkpvozS3iDSMmnUOWkdJrMooXURJEvMvSv4c8IreG7fSgqFTEpIh4UXqZxiUR/mkYVAdbXRQXS1bP6Tem85ranitC8HDrlYEy1YW3t/xTlhzJC0t1auX0piFAg1JZcCGpAK1lq1T/WyLPqJWuvwrN/hM2/dsrfmKs5dhMT5balUZHhe8Sz/lPOwCLMH6IIleChjuABsgu+GQTpVUh4ibgVZcg6rqbVoWROkGoXrP3YHlQWD7Oed0j/NBxLxkUlI/QEHSVKfQ3odZWmwfpa2AgtCi8qhuX5iGC9pKaZ2jRl8Tg8a/iLANTg2rbe4TEmETDBvAvE/aQ8nm/DCmPP6VRRnvJmdb7Gx+fLilHI0jy/8EPwdIRx04OrWAyecF3ATEoUzH6nn1DeW8GrecxvjoXTm/XClksiuNHZu1KkswpyJPj56Z65EQZ2eOeP0R7wTEry/E+4RkOuSzS1sYuy3MJmwLN+dygmY/1hZ+nzni6duCiC/Ip+4LQlwaw9iNQYgJO4PYv2j/p4dIHL9mj3ZqRr5l//uQf6A7nM1V+AjzEdsDm7svgr3vwwfDNw=='),
this.addDataEntry('table title', 180, 150, 'Table with Title 2', '7Zhdb5swFIZ/DbcTHyVrbiFdb7Kbptq9Cw5YMj7IPi1kv37HYJK1FDWbQoOmSUSyz4dt3id+L/CitGrvNavL75Bz6UV3XpRqAOxHVZtyKb3QF7kXbbww9Onnhd8mskGX9WumucJzGsK+4YXJZ95HHtmT5H3U4EG6qClZbYfYZaOkxIrOuglo2JQC+a5mmc039CYUM8g07sRPG4p8CmSgkAnFtWvKQEpWG9GttukqSiHzLTvAMw77DLNkL1qeP0BjXLeGZkuLGde6p8V37qw2zaQoFI0zEsHumLiX5Bp5OylUF3Iq3XOoOOoDlTQix9JV3PZi+iUXRTm0xS7ITB8ojr0n3WngpH8fQzTCMEmAjoyCyQeeIVPFOTDGWuca6kemC44uUIOwUt29kBpHVYWUKUiwyBQouxFC7ZKS74feJ0CEaiDjhDku2okSJ/SQTKn/JfZiepuU5sFpTo8t15iCMqjpj2LX4Mxgww2eCzB8H+DBSewwfcQzugDOmxHO4KI8lbLVJ55/jMp/gwpI2r2EhqalyHOuztU8+vDS3MykcTzS+Ec3DP2Faz24U1+bGNpQqGLbd65mgNG+BvH7BZgLzupf8LO34JblZ6tP9LOvI5yX5bkcP1tdzc9uJ/1s4VrP52cTMK7gZ+v/fja3n60/0c8Cf8QzWvYl++s7tL6aoQXBpKMtXOz5HG2CxvyORtPTR4Uu9+qbwy8='),
this.addDataEntry('crossfunctional cross-functional cross functional flowchart swimlane table', 400, 400, 'Cross-Functional Flowchart', '7ZhRb5swEMc/DY+bMCRt97jQpi+tVC2fwINbbMnYyD4C6aefjaHpBrTRlNCoTALJPp9t+P25O5kgTvL6XtOCPaoMRBDfBXGilULfyusEhAiikGdBfBtEUWjvIFqPjJJmNCyoBonHTIj8hB0VJXiL3dyYL+tSpsiVpM55LVSVMqrROxvci9bZMFq4JtKfzrRKGRfZA92rEjtr11tpVT1wCcYOhM5ViTKXry0G7RYb/uwWXDgDw9wCuSW2WTGOsClo6gYri8uvIGhheLN1s4KGtNSG7+AHGL+Os0JdUJm1nUJxiaDvdhZQt/EvJXHTvpTbjAq+lbadgnO1hhYSaIR6FHRjainfg8oB9d66VDxD5j0WoRcjZMC3DP8yUuMN25e5B91so5VuWMa4J+P3FJW2JtLXrOK5oNLJxZTmz/blqXhNp3mO5cpe9smS8OsyWNp5ie2TQ99ezl1joqRBTXmDAajBCgxejprHKBcNK7fvBPIz3hOSRCcQctET8olRA+8JmSopIW2j8GOD6Sji8TDxepT4C9yTE1+OEo/mQ5xcTYn8ahR5PB/k0c2UyK9HC8SbX/mnLBAnqAlD8XK+onDTE+/fw+TiQF9fTin4Nl/O0xYAEs6X9LR5n5Ae6S7xv1lr/yf+4cQ/pN75Ej/pH88/UZyQkRPzR6R+0j9Bz4f0xMm/f8adD+qzZn/bPfw5bMb++LH4Gw=='),
this.createVertexTemplateEntry('text;html=1;strokeColor=#c0c0c0;fillColor=#ffffff;overflow=fill;rounded=0;', 280, 160,
'<table border="1" width="100%" height="100%" cellpadding="4" style="width:100%;height:100%;border-collapse:collapse;">' +
'<tr style="background-color:#A7C942;color:#ffffff;border:1px solid #98bf21;"><th align="left">Title 1</th><th align="left">Title 2</th><th align="left">Title 3</th></tr>' +
'<tr style="border:1px solid #98bf21;"><td>Value 1</td><td>Value 2</td><td>Value 3</td></tr>' +
'<tr style="background-color:#EAF2D3;border:1px solid #98bf21;"><td>Value 4</td><td>Value 5</td><td>Value 6</td></tr>' +
'<tr style="border:1px solid #98bf21;"><td>Value 7</td><td>Value 8</td><td>Value 9</td></tr>' +
'<tr style="background-color:#EAF2D3;border:1px solid #98bf21;"><td>Value 10</td><td>Value 11</td><td>Value 12</td></tr></table>', 'HTML Table 1'),
this.createVertexTemplateEntry('text;html=1;strokeColor=#c0c0c0;fillColor=none;overflow=fill;', 180, 140,
'<table border="0" width="100%" height="100%" style="width:100%;height:100%;border-collapse:collapse;">' +
'<tr><td align="center">Value 1</td><td align="center">Value 2</td><td align="center">Value 3</td></tr>' +
'<tr><td align="center">Value 4</td><td align="center">Value 5</td><td align="center">Value 6</td></tr>' +
'<tr><td align="center">Value 7</td><td align="center">Value 8</td><td align="center">Value 9</td></tr></table>', 'HTML Table 2'),
this.createVertexTemplateEntry('text;html=1;strokeColor=none;fillColor=none;overflow=fill;', 180, 140,
'<table border="1" width="100%" height="100%" style="width:100%;height:100%;border-collapse:collapse;">' +
'<tr><td align="center">Value 1</td><td align="center">Value 2</td><td align="center">Value 3</td></tr>' +
'<tr><td align="center">Value 4</td><td align="center">Value 5</td><td align="center">Value 6</td></tr>' +
'<tr><td align="center">Value 7</td><td align="center">Value 8</td><td align="center">Value 9</td></tr></table>', 'HTML Table 3'),
this.createVertexTemplateEntry('text;html=1;strokeColor=none;fillColor=none;overflow=fill;', 160, 140,
'<table border="1" width="100%" height="100%" cellpadding="4" style="width:100%;height:100%;border-collapse:collapse;">' +
'<tr><th align="center"><b>Title</b></th></tr>' +
'<tr><td align="center">Section 1.1\nSection 1.2\nSection 1.3</td></tr>' +
'<tr><td align="center">Section 2.1\nSection 2.2\nSection 2.3</td></tr></table>', 'HTML Table 4'),
this.addEntry('link hyperlink', mxUtils.bind(this, function()
{
var cell = new mxCell('Link', new mxGeometry(0, 0, 60, 40), 'text;html=1;strokeColor=none;fillColor=none;whiteSpace=wrap;align=center;verticalAlign=middle;fontColor=#0000EE;fontStyle=4;');
cell.vertex = true;
this.graph.setLinkForCell(cell, 'https://www.draw.io');
return this.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'Link');
})),
this.addEntry('timestamp date time text label', mxUtils.bind(this, function()
{
var cell = new mxCell('%date{ddd mmm dd yyyy HH:MM:ss}%', new mxGeometry(0, 0, 160, 20), 'text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;');
cell.vertex = true;
this.graph.setAttributeForCell(cell, 'placeholders', '1');
return this.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'Timestamp');
})),
this.addEntry('variable placeholder metadata hello world text label', mxUtils.bind(this, function()
{
var cell = new mxCell('%name% Text', new mxGeometry(0, 0, 80, 20), 'text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;');
cell.vertex = true;
this.graph.setAttributeForCell(cell, 'placeholders', '1');
this.graph.setAttributeForCell(cell, 'name', 'Variable');
return this.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'Variable');
})),
this.createVertexTemplateEntry('shape=ext;double=1;rounded=0;whiteSpace=wrap;html=1;', 120, 80, '', 'Double Rectangle', null, null, 'rect rectangle box double'),
this.createVertexTemplateEntry('shape=ext;double=1;rounded=1;whiteSpace=wrap;html=1;', 120, 80, '', 'Double Rounded Rectangle', null, null, 'rounded rect rectangle box double'),
this.createVertexTemplateEntry('ellipse;shape=doubleEllipse;whiteSpace=wrap;html=1;', 100, 60, '', 'Double Ellipse', null, null, 'oval ellipse start end state double'),
this.createVertexTemplateEntry('shape=ext;double=1;whiteSpace=wrap;html=1;aspect=fixed;', 80, 80, '', 'Double Square', null, null, 'double square'),
this.createVertexTemplateEntry('ellipse;shape=doubleEllipse;whiteSpace=wrap;html=1;aspect=fixed;', 80, 80, '', 'Double Circle', null, null, 'double circle'),
this.createVertexTemplateEntry('rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;fillWeight=4;hachureGap=8;hachureAngle=45;fillColor=#1ba1e2;sketch=1;', 120, 60, '', 'Rectangle Sketch', true, null, 'rectangle rect box text sketch comic retro'),
this.createVertexTemplateEntry('ellipse;whiteSpace=wrap;html=1;strokeWidth=2;fillWeight=2;hachureGap=8;fillColor=#990000;fillStyle=dots;sketch=1;', 120, 60, '', 'Ellipse Sketch', true, null, 'ellipse oval sketch comic retro'),
this.createVertexTemplateEntry('rhombus;whiteSpace=wrap;html=1;strokeWidth=2;fillWeight=-1;hachureGap=8;fillStyle=cross-hatch;fillColor=#006600;sketch=1;', 120, 60, '', 'Diamond Sketch', true, null, 'diamond sketch comic retro'),
this.createVertexTemplateEntry('html=1;whiteSpace=wrap;shape=isoCube2;backgroundOutline=1;isoAngle=15;', 90, 100, '', 'Isometric Cube', true, null, 'cube box iso isometric'),
this.createVertexTemplateEntry('html=1;whiteSpace=wrap;aspect=fixed;shape=isoRectangle;', 150, 90, '', 'Isometric Square', true, null, 'rectangle rect box iso isometric'),
this.createEdgeTemplateEntry('edgeStyle=isometricEdgeStyle;endArrow=none;html=1;', 50, 100, '', 'Isometric Edge 1'),
this.createEdgeTemplateEntry('edgeStyle=isometricEdgeStyle;endArrow=none;html=1;elbow=vertical;', 50, 100, '', 'Isometric Edge 2'),
this.createVertexTemplateEntry('shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;', 20, 120, '', 'Curly Bracket'),
this.createVertexTemplateEntry('line;strokeWidth=2;html=1;', 160, 10, '', 'Horizontal Line'),
this.createVertexTemplateEntry('line;strokeWidth=2;direction=south;html=1;', 10, 160, '', 'Vertical Line'),
this.createVertexTemplateEntry('line;strokeWidth=4;html=1;perimeter=backbonePerimeter;points=[];outlineConnect=0;', 160, 10, '', 'Horizontal Backbone', false, null, 'backbone bus network'),
this.createVertexTemplateEntry('line;strokeWidth=4;direction=south;html=1;perimeter=backbonePerimeter;points=[];outlineConnect=0;', 10, 160, '', 'Vertical Backbone', false, null, 'backbone bus network'),
this.createVertexTemplateEntry('shape=crossbar;whiteSpace=wrap;html=1;rounded=1;', 120, 20, '', 'Crossbar', false, null, 'crossbar distance measure dimension unit'),
this.createVertexTemplateEntry('shape=image;html=1;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=1;aspect=fixed;image=' + this.gearImage, 52, 61, '', 'Image (Fixed Aspect)', false, null, 'fixed image icon symbol'),
this.createVertexTemplateEntry('shape=image;html=1;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;image=' + this.gearImage, 50, 60, '', 'Image (Variable Aspect)', false, null, 'strechted image icon symbol'),
this.createVertexTemplateEntry('icon;html=1;image=' + this.gearImage, 60, 60, 'Icon', 'Icon', false, null, 'icon image symbol'),
this.createVertexTemplateEntry('label;whiteSpace=wrap;html=1;image=' + this.gearImage, 140, 60, 'Label', 'Label 1', null, null, 'label image icon symbol'),
this.createVertexTemplateEntry('label;whiteSpace=wrap;html=1;align=center;verticalAlign=bottom;spacingLeft=0;spacingBottom=4;imageAlign=center;imageVerticalAlign=top;image=' + this.gearImage, 120, 80, 'Label', 'Label 2', null, null, 'label image icon symbol'),
this.addEntry('shape group container', function()
{
var cell = new mxCell('Label', new mxGeometry(0, 0, 160, 70),
'html=1;whiteSpace=wrap;container=1;recursiveResize=0;collapsible=0;');
cell.vertex = true;
var symbol = new mxCell('', new mxGeometry(20, 20, 20, 30), 'triangle;html=1;whiteSpace=wrap;');
symbol.vertex = true;
cell.insert(symbol);
return sb.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'Shape Group');
}),
this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;left=0;right=0;fillColor=none;', 120, 60, '', 'Partial Rectangle'),
this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;bottom=1;right=1;left=1;top=0;fillColor=none;routingCenterX=-0.5;', 120, 60, '', 'Partial Rectangle'),
this.createEdgeTemplateEntry('edgeStyle=segmentEdgeStyle;endArrow=classic;html=1;', 50, 50, '', 'Manual Line', null, lineTags + 'manual'),
this.createEdgeTemplateEntry('shape=filledEdge;rounded=0;fixDash=1;endArrow=none;strokeWidth=10;fillColor=#ffffff;edgeStyle=orthogonalEdgeStyle;', 60, 40, '', 'Filled Edge'),
this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;', 50, 50, '', 'Horizontal Elbow', null, lineTags + 'elbow horizontal'),
this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;elbow=vertical;endArrow=classic;html=1;', 50, 50, '', 'Vertical Elbow', null, lineTags + 'elbow vertical')
]);
};
Sidebar.prototype.addGeneralAdvancedPalette = function()
{
var sb = this;
var gn = 'general misc';
var dt = '';
var lineTags = 'line lines connector connectors connection connections arrow arrows '
// Reusable cells
var field = new mxCell('List Item', new mxGeometry(0, 0, 60, 26), 'text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;');
field.vertex = true;
this.addPaletteFunctions('generalAdvanced', 'Advanced', false,
[
this.createVertexTemplateEntry('shape=tapeData;whiteSpace=wrap;html=1;perimeter=ellipsePerimeter;', 80, 80, '', 'Tape Data'),
this.createVertexTemplateEntry('shape=manualInput;whiteSpace=wrap;html=1;', 80, 80, '', 'Manual Input'),
this.createVertexTemplateEntry('shape=loopLimit;whiteSpace=wrap;html=1;', 100, 80, '', 'Loop Limit'),
this.createVertexTemplateEntry('shape=offPageConnector;whiteSpace=wrap;html=1;', 80, 80, '', 'Off Page Connector'),
this.createVertexTemplateEntry('shape=delay;whiteSpace=wrap;html=1;', 80, 40, '', 'Delay'),
this.createVertexTemplateEntry('shape=display;whiteSpace=wrap;html=1;', 80, 40, '', 'Display'),
this.createVertexTemplateEntry('shape=singleArrow;direction=west;whiteSpace=wrap;html=1;', 100, 60, '', 'Arrow Left'),
this.createVertexTemplateEntry('shape=singleArrow;whiteSpace=wrap;html=1;', 100, 60, '', 'Arrow Right'),
this.createVertexTemplateEntry('shape=singleArrow;direction=north;whiteSpace=wrap;html=1;', 60, 100, '', 'Arrow Up'),
this.createVertexTemplateEntry('shape=singleArrow;direction=south;whiteSpace=wrap;html=1;', 60, 100, '', 'Arrow Down'),
this.createVertexTemplateEntry('shape=doubleArrow;whiteSpace=wrap;html=1;', 100, 60, '', 'Double Arrow'),
this.createVertexTemplateEntry('shape=doubleArrow;direction=south;whiteSpace=wrap;html=1;', 60, 100, '', 'Double Arrow Vertical', null, null, 'double arrow'),
this.createVertexTemplateEntry('shape=actor;whiteSpace=wrap;html=1;', 40, 60, '', 'User', null, null, 'user person human'),
this.createVertexTemplateEntry('shape=cross;whiteSpace=wrap;html=1;', 80, 80, '', 'Cross'),
this.createVertexTemplateEntry('shape=corner;whiteSpace=wrap;html=1;', 80, 80, '', 'Corner'),
this.createVertexTemplateEntry('shape=tee;whiteSpace=wrap;html=1;', 80, 80, '', 'Tee'),
this.createVertexTemplateEntry('shape=datastore;whiteSpace=wrap;html=1;', 60, 60, '', 'Data Store', null, null, 'data store cylinder database'),
this.createVertexTemplateEntry('shape=orEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;', 80, 80, '', 'Or', null, null, 'or circle oval ellipse'),
this.createVertexTemplateEntry('shape=sumEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;', 80, 80, '', 'Sum', null, null, 'sum circle oval ellipse'),
this.createVertexTemplateEntry('shape=lineEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;', 80, 80, '', 'Ellipse with horizontal divider', null, null, 'circle oval ellipse'),
this.createVertexTemplateEntry('shape=lineEllipse;line=vertical;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;', 80, 80, '', 'Ellipse with vertical divider', null, null, 'circle oval ellipse'),
this.createVertexTemplateEntry('shape=sortShape;perimeter=rhombusPerimeter;whiteSpace=wrap;html=1;', 80, 80, '', 'Sort', null, null, 'sort'),
this.createVertexTemplateEntry('shape=collate;whiteSpace=wrap;html=1;', 80, 80, '', 'Collate', null, null, 'collate'),
this.createVertexTemplateEntry('shape=switch;whiteSpace=wrap;html=1;', 60, 60, '', 'Switch', null, null, 'switch router'),
this.addEntry('process bar', function()
{
return sb.createVertexTemplateFromData('zZXRaoMwFIafJpcDjbNrb2233rRQ8AkyPdPQaCRJV+3T7yTG2rUVBoOtgpDzn/xJzncCIdGyateKNeVW5iBI9EqipZLS9KOqXYIQhAY8J9GKUBrgT+jbRDZ02aBhCmrzEwPtDZ9MHKBXdkpmoDWKCVN9VptO+Kw+8kqwGqMkK7nIN6yTB7uTNizbD1FSSsVPsjYMC1qFKHxwIZZSSIVxLZ1/nJNar5+oQPMT7IYCrqUta1ENzuqGaeOFTArBGs3f3Vmtoo2Se7ja1h00kSoHK4bBIKUNy3hdoPYU0mF91i9mT8EEL2ocZ3gKa00ayWujLZY4IfHKFonVDLsRGgXuQ90zBmWgneyTk3yT1iArMKrDKUeem9L3ajHrbSXwohxsQd/ggOleKM7ese048J2/fwuim1uQGmhQCW8vQMkacP3GCQgBFMftHEsr7cYYe95CnmKTPMFbYD8CQ++DGQy+/M5X4ku5wHYmdIktfvk9tecpavThqS3m/0YtnqIWPTy1cD77K2wYjo+Ay317I74A', 296, 100, 'Process Bar');
}),
this.createVertexTemplateEntry('swimlane;', 200, 200, 'Container', 'Container', null, null, 'container swimlane lane pool group'),
this.addEntry('list group erd table', function()
{
var cell = new mxCell('List', new mxGeometry(0, 0, 140, 110),
'swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;' +
'resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;');
cell.vertex = true;
cell.insert(sb.cloneCell(field, 'Item 1'));
cell.insert(sb.cloneCell(field, 'Item 2'));
cell.insert(sb.cloneCell(field, 'Item 3'));
return sb.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'List');
}),
this.addEntry('list item entry value group erd table', function()
{
return sb.createVertexTemplateFromCells([sb.cloneCell(field, 'List Item')], field.geometry.width, field.geometry.height, 'List Item');
})
]);
};
})();

View file

@ -142,7 +142,7 @@
return sb.createVertexTemplateFromCells([cell1], cell1.geometry.width, cell1.geometry.height, 'Classifier');
}),
this.addEntry('interface generalization', function()
this.addEntry(dt + 'interface generalization', function()
{
var edge = new mxCell('Interface1, Interface2...', new mxGeometry(-1, 0, 0, 0), 'html=1;verticalAlign=bottom;labelBackgroundColor=none;startArrow=oval;startFill=0;startSize=8;endArrow=none;');
edge.geometry.setTerminalPoint(new mxPoint(0, 0), true);
@ -154,7 +154,7 @@
return sb.createEdgeTemplateFromCells([edge], 160, 0, 'Interface Generalization');
}),
this.addEntry('required interface', function()
this.addEntry(dt + 'required interface', function()
{
var edge = new mxCell('Interface1', new mxGeometry(-1, 0, 0, 0), 'html=1;verticalAlign=bottom;labelBackgroundColor=none;startArrow=halfCircle;startFill=0;startSize=2;endArrow=none;');
edge.geometry.setTerminalPoint(new mxPoint(0, 0), true);
@ -183,31 +183,33 @@
}),
this.createVertexTemplateEntry('fontStyle=0;dashed=1;', 140, 30, 'Property1', 'Property', null, null, 'property'),
this.createVertexTemplateEntry('fontStyle=0;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=2;', 30, 30, 'port1', 'Port', null, null, 'port'),
this.addEntry('port provided interface', function()
this.addEntry(dt + 'port provided interface lollipop notation', function()
{
var cell1 = new mxCell('', new mxGeometry(0, 0, 30, 30), 'html=1;rounded=0;');
cell1.vertex = true;
var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=oval;html=1;rounded=0;align=center;verticalAlign=top;endFill=0;labelBackgroundColor=none;endSize=8;');
edge1.geometry.setTerminalPoint(new mxPoint(60, 15), false);
var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=none;html=1;rounded=0;align=center;verticalAlign=top;endFill=0;labelBackgroundColor=none;endSize=2;');
edge1.geometry.relative = true;
edge1.edge = true;
cell1.insertEdge(edge1, true);
var cell2 = new mxCell('', new mxGeometry(52, 11, 8, 8), 'ellipse;html=1;fontSize=11;align=center;fillColor=none;points=[];aspect=fixed;resizable=0;verticalAlign=bottom;labelPosition=center;verticalLabelPosition=top;flipH=1;');
cell2.vertex = true;
cell2.insertEdge(edge1, false);
return sb.createEdgeTemplateFromCells([cell1, edge1], 60, 30, 'Port with provided interface');
return sb.createEdgeTemplateFromCells([cell1, edge1, cell2], 60, 30, 'Port with provided interface');
}),
this.addEntry('port required interface', function()
this.addEntry(dt + 'port required interface lollipop notation', function()
{
var cell1 = new mxCell('', new mxGeometry(0, 0, 30, 30), 'html=1;rounded=0;');
cell1.vertex = true;
var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=halfCircle;html=1;rounded=0;align=center;verticalAlign=top;endFill=0;labelBackgroundColor=none;endSize=2;');
edge1.geometry.setTerminalPoint(new mxPoint(60, 15), false);
var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=none;html=1;rounded=0;align=center;verticalAlign=top;endFill=0;labelBackgroundColor=none;endSize=2;');
edge1.geometry.relative = true;
edge1.edge = true;
cell1.insertEdge(edge1, true);
return sb.createEdgeTemplateFromCells([cell1, edge1], 60, 30, 'Port with required interface');
var cell2 = new mxCell('', new mxGeometry(55, 10, 5, 10), 'shape=requiredInterface;html=1;fontSize=11;align=center;fillColor=none;points=[];aspect=fixed;resizable=0;verticalAlign=bottom;labelPosition=center;verticalLabelPosition=top;flipH=1;');
cell2.vertex = true;
cell2.insertEdge(edge1, false);
return sb.createEdgeTemplateFromCells([cell1, edge1, cell2], 60, 30, 'Port with required interface');
}),
this.addEntry(dt + 'component', function()
{
var cell1 = new mxCell('', new mxGeometry(0, 0, 140, 200), 'fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;marginBottom=0;');
@ -237,7 +239,6 @@
return sb.createVertexTemplateFromCells([cell1], cell1.geometry.width, cell1.geometry.height, 'Component');
}),
this.addEntry(dt + 'classifier', function()
{
var cell1 = new mxCell('', new mxGeometry(0, 0, 270, 230),
@ -547,11 +548,11 @@
return sb.createEdgeTemplateFromCells([cell1, edge1, edge2], 160, 30, 'Object Flow');
}),
this.createVertexTemplateEntry('fontStyle=0;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=2;html=1;points=[[0,0.5],[1,0.5]];fillColor=#000000;strokeColor=none;', 30, 30, '', 'Pin ', null, null, 'pin'),
this.createVertexTemplateEntry('shape=mxgraph.uml.inputPin;html=1;points=[[0,0.5],[1,0.5]];', 30, 30, '', 'Input Pin', null, null, 'input pin'),
this.createVertexTemplateEntry('shape=mxgraph.uml.inputPin;html=1;points=[[0,0.5],[1,0.5]];strokeColor=#ffffff;fillColor=#000000;', 30, 30, '', 'Input Pin', null, null, 'input pin'),
this.createVertexTemplateEntry('shape=mxgraph.uml.inputPin;html=1;points=[[0,0.5],[1,0.5]];flipH=1;', 30, 30, '', 'Output Pin', null, null, 'output pin'),
this.createVertexTemplateEntry('shape=mxgraph.uml.inputPin;html=1;points=[[0,0.5],[1,0.5]];strokeColor=#ffffff;fillColor=#000000;flipH=1;', 30, 30, '', 'Output Pin', null, null, 'output pin'),
this.createVertexTemplateEntry('shape=mxgraph.uml.behaviorAction;html=1;rounded=1;absoluteArcSize=1;arcSize=10;align=left;spacingLeft=5;', 190, 60, 'CallBehaviorAction1', 'Behavior Action', null, null, 'behavior action'),
this.createVertexTemplateEntry('shape=mxgraph.uml25.inputPin;html=1;points=[[0,0.5],[1,0.5]];', 30, 30, '', 'Input Pin', null, null, 'input pin'),
this.createVertexTemplateEntry('shape=mxgraph.uml25.inputPin;html=1;points=[[0,0.5],[1,0.5]];strokeColor=#ffffff;fillColor=#000000;', 30, 30, '', 'Input Pin', null, null, 'input pin'),
this.createVertexTemplateEntry('shape=mxgraph.uml25.inputPin;html=1;points=[[0,0.5],[1,0.5]];flipH=1;', 30, 30, '', 'Output Pin', null, null, 'output pin'),
this.createVertexTemplateEntry('shape=mxgraph.uml25.inputPin;html=1;points=[[0,0.5],[1,0.5]];strokeColor=#ffffff;fillColor=#000000;flipH=1;', 30, 30, '', 'Output Pin', null, null, 'output pin'),
this.createVertexTemplateEntry('shape=mxgraph.uml25.behaviorAction;html=1;rounded=1;absoluteArcSize=1;arcSize=10;align=left;spacingLeft=5;', 190, 60, 'CallBehaviorAction1', 'Behavior Action', null, null, 'behavior action'),
this.createVertexTemplateEntry('html=1;align=center;verticalAlign=top;rounded=1;absoluteArcSize=1;arcSize=10;dashed=0;', 140, 40,
'Action1<br>(Operation1)', 'Call Operation Action', null, null, dt + 'call operation action'),
this.createVertexTemplateEntry('html=1;align=center;verticalAlign=middle;rounded=1;absoluteArcSize=1;arcSize=10;dashed=0;', 140, 40,
@ -559,7 +560,7 @@
this.addEntry(dt + 'action with output', function()
{
var cell1 = new mxCell('Action1', new mxGeometry(0, 20, 110, 40),
'shape=mxgraph.uml.action;html=1;align=center;verticalAlign=middle;absoluteArcSize=1;arcSize=10;dashed=0;spacingRight=10;');
'shape=mxgraph.uml25.action;html=1;align=center;verticalAlign=middle;absoluteArcSize=1;arcSize=10;dashed=0;spacingRight=10;');
cell1.vertex = true;
var field1 = new mxCell('variable1',
new mxGeometry(110, 0, 60, 30), 'text;verticalAlign=middle;align=left;');
@ -571,7 +572,7 @@
this.addEntry(dt + 'action with input', function()
{
var cell1 = new mxCell('Action1', new mxGeometry(60, 0, 110, 40),
'shape=mxgraph.uml.action;html=1;align=center;verticalAlign=middle;absoluteArcSize=1;arcSize=10;dashed=0;spacingLeft=10;flipH=1;');
'shape=mxgraph.uml25.action;html=1;align=center;verticalAlign=middle;absoluteArcSize=1;arcSize=10;dashed=0;spacingLeft=10;flipH=1;');
cell1.vertex = true;
var field1 = new mxCell('variable1',
new mxGeometry(0, 0, 60, 40), 'text;verticalAlign=middle;align=right;');
@ -583,7 +584,7 @@
this.addEntry(dt + 'read self object action', function()
{
var cell1 = new mxCell('Action1', new mxGeometry(60, 0, 110, 40),
'shape=mxgraph.uml.action;html=1;align=center;verticalAlign=middle;absoluteArcSize=1;arcSize=10;dashed=0;spacingLeft=10;flipH=1;');
'shape=mxgraph.uml25.action;html=1;align=center;verticalAlign=middle;absoluteArcSize=1;arcSize=10;dashed=0;spacingLeft=10;flipH=1;');
cell1.vertex = true;
var field1 = new mxCell('self',
@ -596,7 +597,7 @@
this.addEntry(dt + 'value specification action', function()
{
var cell1 = new mxCell('Action1', new mxGeometry(60, 0, 110, 40),
'shape=mxgraph.uml.action;html=1;align=center;verticalAlign=middle;absoluteArcSize=1;arcSize=10;dashed=0;spacingLeft=10;flipH=1;');
'shape=mxgraph.uml25.action;html=1;align=center;verticalAlign=middle;absoluteArcSize=1;arcSize=10;dashed=0;spacingLeft=10;flipH=1;');
cell1.vertex = true;
var field1 = new mxCell('value1',
new mxGeometry(0, 0, 60, 40), 'text;verticalAlign=middle;align=right;');
@ -611,258 +612,11 @@
'AcceptEventAction1', 'Accept Event Action', null, null, dt + 'acceppt event action'),
this.createVertexTemplateEntry('shape=collate;whiteSpace=wrap;html=1;', 40, 40,
'', 'Time Event Trigger', null, null, dt + 'time event trigger'),
this.createVertexTemplateEntry('shape=mxgraph.uml.actionParams;html=1;align=center;verticalAlign=top;absoluteArcSize=1;arcSize=10;dashed=0;spacingLeft=10;spacingTop=5;', 150, 50,
this.createVertexTemplateEntry('shape=mxgraph.uml25.actionParams;html=1;align=center;verticalAlign=top;absoluteArcSize=1;arcSize=10;dashed=0;spacingLeft=10;spacingTop=5;', 150, 50,
'Action1', 'Action with Parameters', null, null, dt + 'action with parameters'),
this.createVertexTemplateEntry('dashed=1;rounded=1;absoluteArcSize=1;arcSize=20;html=1;verticalAlign=top;align=left;spacingTop=5;spacingLeft=10;', 200, 100,
'&lt;&lt;structured&gt;&gt;', 'Structured Activity Node', null, null, dt + 'structured activity node'),
this.addEntry(dt + 'expansion', function()
{
var cell1 = new mxCell('&lt;&lt;keyword&gt;&gt;', new mxGeometry(0, 0, 300, 300),
'html=1;dashed=1;rounded=1;absoluteArcSize=1;arcSize=20;verticalAlign=top;align=left;spacingTop=20;spacingLeft=20;');
cell1.vertex = true;
var group1 = new mxCell('',
new mxGeometry(0, 0, 80, 20), 'group;resizeWidth=0;resizeHeight=0;');
group1.vertex = true;
group1.geometry.relative = true;
group1.geometry.offset = new mxPoint(30, -10);
cell1.insert(group1);
var field1 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field1.vertex = true;
field1.geometry.relative = true;
field1.geometry.offset = new mxPoint(0, 0);
group1.insert(field1);
var field2 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field2.vertex = true;
field2.geometry.relative = true;
field2.geometry.offset = new mxPoint(20, 0);
group1.insert(field2);
var field3 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field3.vertex = true;
field3.geometry.relative = true;
field3.geometry.offset = new mxPoint(40, 0);
group1.insert(field3);
var field4 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field4.vertex = true;
field4.geometry.relative = true;
field4.geometry.offset = new mxPoint(60, 0);
group1.insert(field4);
var group2 = new mxCell('',
new mxGeometry(1, 0, 80, 20), 'group;resizeWidth=0;resizeHeight=0;');
group2.vertex = true;
group2.geometry.relative = true;
group2.geometry.offset = new mxPoint(-110, -10);
cell1.insert(group2);
var field5 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field5.vertex = true;
field5.geometry.relative = true;
field5.geometry.offset = new mxPoint(0, 0);
group2.insert(field5);
var field6 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field6.vertex = true;
field6.geometry.relative = true;
field6.geometry.offset = new mxPoint(20, 0);
group2.insert(field6);
var field7 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field7.vertex = true;
field7.geometry.relative = true;
field7.geometry.offset = new mxPoint(40, 0);
group2.insert(field7);
var field8 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field8.vertex = true;
field8.geometry.relative = true;
field8.geometry.offset = new mxPoint(60, 0);
group2.insert(field8);
var group3 = new mxCell('',
new mxGeometry(0, 1, 80, 20), 'group;resizeWidth=0;resizeHeight=0;');
group3.vertex = true;
group3.geometry.relative = true;
group3.geometry.offset = new mxPoint(30, -10);
cell1.insert(group3);
var field9 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,1],[0.5,1],[1,1]];');
field9.vertex = true;
field9.geometry.relative = true;
field9.geometry.offset = new mxPoint(0, 0);
group3.insert(field9);
var field10 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,1],[0.5,1],[1,1]];');
field10.vertex = true;
field10.geometry.relative = true;
field10.geometry.offset = new mxPoint(20, 0);
group3.insert(field10);
var field11 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,1],[0.5,1],[1,1]];');
field11.vertex = true;
field11.geometry.relative = true;
field11.geometry.offset = new mxPoint(40, 0);
group3.insert(field11);
var field12 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,1],[0.5,1],[1,1]];');
field12.vertex = true;
field12.geometry.relative = true;
field12.geometry.offset = new mxPoint(60, 0);
group3.insert(field12);
var group4 = new mxCell('',
new mxGeometry(1, 1, 80, 20), 'group;resizeWidth=0;resizeHeight=0;');
group4.vertex = true;
group4.geometry.relative = true;
group4.geometry.offset = new mxPoint(-110, -10);
cell1.insert(group4);
var field13 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,1],[0.5,1],[1,1]];');
field13.vertex = true;
field13.geometry.relative = true;
field13.geometry.offset = new mxPoint(0, 0);
group4.insert(field13);
var field14 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,1],[0.5,1],[1,1]];');
field14.vertex = true;
field14.geometry.relative = true;
field14.geometry.offset = new mxPoint(20, 0);
group4.insert(field14);
var field15 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,1],[0.5,1],[1,1]];');
field15.vertex = true;
field15.geometry.relative = true;
field15.geometry.offset = new mxPoint(40, 0);
group4.insert(field15);
var field16 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,1],[0.5,1],[1,1]];');
field16.vertex = true;
field16.geometry.relative = true;
field16.geometry.offset = new mxPoint(60, 0);
group4.insert(field16);
var group5 = new mxCell('',
new mxGeometry(0, 0, 20, 80), 'group;resizeWidth=0;resizeHeight=0;');
group5.vertex = true;
group5.geometry.relative = true;
group5.geometry.offset = new mxPoint(-10, 30);
cell1.insert(group5);
var field17 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field17.vertex = true;
field17.geometry.relative = true;
field17.geometry.offset = new mxPoint(0, 0);
group5.insert(field17);
var field18 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field18.vertex = true;
field18.geometry.relative = true;
field18.geometry.offset = new mxPoint(0, 20);
group5.insert(field18);
var field19 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field19.vertex = true;
field19.geometry.relative = true;
field19.geometry.offset = new mxPoint(0, 40);
group5.insert(field19);
var field20 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field20.vertex = true;
field20.geometry.relative = true;
field20.geometry.offset = new mxPoint(0, 60);
group5.insert(field20);
var group6 = new mxCell('',
new mxGeometry(0, 1, 20, 80), 'group;resizeWidth=0;resizeHeight=0;');
group6.vertex = true;
group6.geometry.relative = true;
group6.geometry.offset = new mxPoint(-10, -110);
cell1.insert(group6);
var field21 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field21.vertex = true;
field21.geometry.relative = true;
field21.geometry.offset = new mxPoint(0, 0);
group6.insert(field21);
var field22 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field22.vertex = true;
field22.geometry.relative = true;
field22.geometry.offset = new mxPoint(0, 20);
group6.insert(field22);
var field23 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field23.vertex = true;
field23.geometry.relative = true;
field23.geometry.offset = new mxPoint(0, 40);
group6.insert(field23);
var field24 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field24.vertex = true;
field24.geometry.relative = true;
field24.geometry.offset = new mxPoint(0, 60);
group6.insert(field24);
var group7 = new mxCell('',
new mxGeometry(1, 0, 20, 80), 'group;resizeWidth=0;resizeHeight=0;');
group7.vertex = true;
group7.geometry.relative = true;
group7.geometry.offset = new mxPoint(-10, 30);
cell1.insert(group7);
var field25 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field25.vertex = true;
field25.geometry.relative = true;
field25.geometry.offset = new mxPoint(0, 0);
group7.insert(field25);
var field26 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field26.vertex = true;
field26.geometry.relative = true;
field26.geometry.offset = new mxPoint(0, 20);
group7.insert(field26);
var field27 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field27.vertex = true;
field27.geometry.relative = true;
field27.geometry.offset = new mxPoint(0, 40);
group7.insert(field27);
var field28 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field28.vertex = true;
field28.geometry.relative = true;
field28.geometry.offset = new mxPoint(0, 60);
group7.insert(field28);
var group8 = new mxCell('',
new mxGeometry(1, 1, 20, 80), 'group;resizeWidth=0;resizeHeight=0;');
group8.vertex = true;
group8.geometry.relative = true;
group8.geometry.offset = new mxPoint(-10, -110);
cell1.insert(group8);
var field29 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field29.vertex = true;
field29.geometry.relative = true;
field29.geometry.offset = new mxPoint(0, 0);
group8.insert(field29);
var field30 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field30.vertex = true;
field30.geometry.relative = true;
field30.geometry.offset = new mxPoint(0, 20);
group8.insert(field30);
var field31 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field31.vertex = true;
field31.geometry.relative = true;
field31.geometry.offset = new mxPoint(0, 40);
group8.insert(field31);
var field32 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field32.vertex = true;
field32.geometry.relative = true;
field32.geometry.offset = new mxPoint(0, 60);
group8.insert(field32);
return sb.createVertexTemplateFromCells([cell1], 300, 300, 'Expansion');
}),
this.addDataEntry(dt + 'expansion', 300, 300, 'Expansion', '7ZtRr5owFMc/DY93oa0693j1bncPW7JkS/bcXSqQVTFQvbJPv2ILDi8Glnha2pBo4jmlpf218e8/RwKy3p6ec7pPvmYR4wH5GJB1nmVCfdqe1ozzAIdpFJCnAONQvgP86UYrOreGe5qznRjSAasOR8oPTGUCvKDbfUBWXA6wake/Wfma5VGTjFuX6KgarxAl1+MlYitX9YRkW0SLhEU6yLPDLmoi+qvI+EGwx/zle/qH1dkmkssgqyPLRfpC+SNP451Miqy6LdURZ5tqAsWevqS7+EfVprrpzJdzu0rpVcvx2OkmuXNKY3tm2ZaJvJSXvKaRSNQVJFR0w4SlcSKukrRQibjpe9kI+UHvRfe+kI59uQIbS4LV+nNWSEY/9azCJvO5ntPgBePeBS871qtPWJgzTkV6ZK3huxjoO3zLUnljHJ5qbKpHqcIHdEUx22wKJt4wbOY5COusH+sgnPtq7ueJzVfyJae6DoO57L6uonfzVozqSL4G7gTp3QkMsBN3RT2fUPcfegxxyBcT+X7yMwjy7yfy/eQXEOSXI9LLdgcz6vmAkAn9/ODIAV+6r5/1/k2sjQsoQhN6SwqKugzphN6EhKIxec7SgoYacaAI0IKiqwOOWgcc/d8BRx54UARoQn2ADSqigDbUI/YwKgpoRD1iDyOj47WiNkTVkDFFgM70vifeA2taT2aCbV5WMaA39Yg9iKzWqCf25mV1rBXRLo7Le0lnWzkJCFdXSqI+1ESdKYpagl1CCqcrZVG77GGE05XCqF32MMI5Jj9604EalNGLI70vZ1dqoz4UR+ufQhNs80JKXKmO2mUPIqQE0IF6xB5ESMmYHOjN/xi57keJK36UeOBHiSt+1BJsUBl1xY/aZQ8jo674UbvsYWR0TH50YH3UfXdKXHGnxAN3Wn9nTbDNy+rMFXdqlz2IrM5ccad22d9DVmV4eUhYXf7vM8R/AQ=='),
this.addEntry(dt + 'execution region', function()
{
var cell1 = new mxCell('Action', new mxGeometry(0, 0, 160, 50),
@ -877,74 +631,7 @@
return sb.createVertexTemplateFromCells([cell1], 160, 50, 'Execution region');
}),
this.addEntry(dt + 'execution node action', function()
{
var cell1 = new mxCell('Action1', new mxGeometry(0, 0, 210, 60),
'html=1;dashed=0;rounded=1;absoluteArcSize=1;arcSize=20;verticalAlign=middle;align=center;');
cell1.vertex = true;
var group1 = new mxCell('',
new mxGeometry(0, 0, 80, 20), 'group;resizeWidth=0;resizeHeight=0;');
group1.vertex = true;
group1.geometry.relative = true;
group1.geometry.offset = new mxPoint(30, -10);
cell1.insert(group1);
var field1 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field1.vertex = true;
field1.geometry.relative = true;
field1.geometry.offset = new mxPoint(0, 0);
group1.insert(field1);
var field2 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field2.vertex = true;
field2.geometry.relative = true;
field2.geometry.offset = new mxPoint(20, 0);
group1.insert(field2);
var field3 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field3.vertex = true;
field3.geometry.relative = true;
field3.geometry.offset = new mxPoint(40, 0);
group1.insert(field3);
var field4 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,0],[0.5,0],[1,0]];');
field4.vertex = true;
field4.geometry.relative = true;
field4.geometry.offset = new mxPoint(60, 0);
group1.insert(field4);
var group3 = new mxCell('',
new mxGeometry(0, 1, 80, 20), 'group;resizeWidth=0;resizeHeight=0;');
group3.vertex = true;
group3.geometry.relative = true;
group3.geometry.offset = new mxPoint(30, -10);
cell1.insert(group3);
var field9 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,1],[0.5,1],[1,1]];');
field9.vertex = true;
field9.geometry.relative = true;
field9.geometry.offset = new mxPoint(0, 0);
group3.insert(field9);
var field10 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,1],[0.5,1],[1,1]];');
field10.vertex = true;
field10.geometry.relative = true;
field10.geometry.offset = new mxPoint(20, 0);
group3.insert(field10);
var field11 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,1],[0.5,1],[1,1]];');
field11.vertex = true;
field11.geometry.relative = true;
field11.geometry.offset = new mxPoint(40, 0);
group3.insert(field11);
var field12 = new mxCell('',
new mxGeometry(0, 0, 20, 20), 'resizeWidth=0;resizeHeight=0;points=[[0,1],[0.5,1],[1,1]];');
field12.vertex = true;
field12.geometry.relative = true;
field12.geometry.offset = new mxPoint(60, 0);
group3.insert(field12);
return sb.createVertexTemplateFromCells([cell1], 210, 60, 'Execution node with action');
}),
this.addDataEntry(dt + 'execution node action', 210, 60, 'Execution node with action', '7ZhNb4MwDIZ/TY6bklC67tjSrbtMmrTDzhm4ECk0KKRdu18/UwJdvwSTyr6EBBJ24uT1E0sWIV6QrmdGZMmjjkAR7454gdHall/pOgClCKcyIt6UcE7xJfz+zCjbjtJMGFjYNgG8DFgJtYTSMw6t1Au3UG43yvkTm6K6KSPeJBJ5AsUCFA2jl4toaxVD4jXXamlhbMJn+Q6Vt7Z4EbICY2Uo1FjJeIHOVEZRsc1EOEeI6sGgw6nD+bA+m+HW5dKbgU7Bmg1OeZORTVyWrKRAE5Bx4sKGzify0o7r0B0v/HDITuPzjvAdcYsRUFZwghwRvDhRtPY8VJJo23x5Y76jE+m6QqAGlLByBXvLn2LgdnjSEjfm1Onx3DKb0rxiBxT1fJ6DPWJY62yFddCMtRXOrNC+FeZP8EGpASU+hgeFde3v2ayy8Gl5El5z5XVwEhdF7feom4ued1Hkw558M/lBF+RvevLN5A/b40XIj35Rv9zsBfyj7nnbXXmzg/Jme+XNvlbeo7/fPavz61l/e/tkrEf/Q/2THf819ug7aaBo7u4Cyumfrwo+AA=='),
this.addEntry(dt + 'interaction', function()
{
var cell1 = new mxCell('Interaction1 heading', new mxGeometry(0, 0, 290, 160),
@ -965,84 +652,13 @@
return sb.createVertexTemplateFromCells([cell1], cell1.geometry.width, cell1.geometry.height, 'Interaction');
}),
this.addEntry(dt + 'lifeline', function()
{
var cell1 = new mxCell('LifeLine1', new mxGeometry(0, 0, 100, 30),
'rounded=0;dashed=0;');
cell1.vertex = true;
var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'html=1;verticalAlign=bottom;startArrow=none;endArrow=none;dashed=1;');
edge1.geometry.setTerminalPoint(new mxPoint(50, 200), true);
edge1.geometry.relative = true;
edge1.edge = true;
cell1.insertEdge(edge1, false);
var cell2 = new mxCell('LifeLine2', new mxGeometry(120, 0, 100, 30),
'rounded=0;dashed=0;');
cell2.vertex = true;
var edge2 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'html=1;verticalAlign=bottom;startArrow=none;endArrow=none;dashed=0;');
edge2.geometry.setTerminalPoint(new mxPoint(170, 200), true);
edge2.geometry.relative = true;
edge2.edge = true;
cell2.insertEdge(edge2, false);
return sb.createVertexTemplateFromCells([cell1, edge1, cell2, edge2], 220, 30, 'Lifeline');
}),
this.addEntry(dt + 'lifeline execution', function()
{
var cell1 = new mxCell('LifeLine1', new mxGeometry(0, 0, 100, 30),
'rounded=0;dashed=0;');
cell1.vertex = true;
var cell2 = new mxCell('', new mxGeometry(45, 70, 10, 60),
'rounded=0;dashed=0;');
cell2.vertex = true;
var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'html=1;verticalAlign=bottom;startArrow=none;endArrow=none;dashed=1;');
edge1.geometry.relative = true;
edge1.edge = true;
cell1.insertEdge(edge1, false);
cell2.insertEdge(edge1, true);
var edge2 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'html=1;verticalAlign=bottom;startArrow=none;endArrow=none;dashed=1;');
edge2.geometry.setTerminalPoint(new mxPoint(50, 200), true);
edge2.geometry.relative = true;
edge2.edge = true;
cell2.insertEdge(edge2, false);
var cell3 = new mxCell('LifeLine2', new mxGeometry(120, 0, 100, 30),
'rounded=0;dashed=0;');
cell3.vertex = true;
var cell4 = new mxCell('', new mxGeometry(165, 70, 10, 60),
'rounded=0;dashed=0;fillColor=#808080;');
cell4.vertex = true;
var edge3 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'html=1;verticalAlign=bottom;startArrow=none;endArrow=none;dashed=1;');
edge3.geometry.relative = true;
edge3.edge = true;
cell3.insertEdge(edge3, false);
cell4.insertEdge(edge3, true);
var edge4 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'html=1;verticalAlign=bottom;startArrow=none;endArrow=none;dashed=1;');
edge4.geometry.setTerminalPoint(new mxPoint(170, 200), true);
edge4.geometry.relative = true;
edge4.edge = true;
cell4.insertEdge(edge4, false);
return sb.createVertexTemplateFromCells([cell1, edge1, cell2, edge2, cell3, edge3, cell4, edge4], 220, 200, 'Lifeline');
}),
this.addEntry(dt + 'destruction occurence specification', function()
{
var cell1 = new mxCell('LifeLine1', new mxGeometry(0, 0, 100, 30),
'rounded=0;dashed=0;');
cell1.vertex = true;
var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'html=1;verticalAlign=bottom;startArrow=none;endArrow=none;dashed=1;entryX=0.5;entryY=0.5;entryPerimeter=0;');
edge1.geometry.relative = true;
edge1.edge = true;
var cell2 = new mxCell('', new mxGeometry(30, 180, 40, 40),
'shape=umlDestroy;dashed=0;');
cell2.vertex = true;
cell1.insertEdge(edge1, true);
cell2.insertEdge(edge1, false);
return sb.createVertexTemplateFromCells([cell1, edge1, cell2], cell1.geometry.width, 220, 'Destruction Occurence Specification');
}),
this.addDataEntry(dt + 'lifeline sequence participant', 220, 300, 'Lifelines', '1ZPBbsMgDIafhjuFN2iy9bJJ0/oELPEKEgQETpPu6ecEaDRpkXbYDjsgmc/+4/gHmGzcfIoq6Gffg2Xygckmeo85cnMD1jLBTc9ky4TgtJh43Mke1iwPKsKAPxGILLgqO0ImT+YdrBmgfCrhzZZM0ios4ehsLWLyGCAaBwiRMrbgl40dJ20QzkF1i3SiQYlpdDRpe6Cw8wMqksT73loVknlbu3IiEboxJnOFV0jmo1I/4tKp8cMAHRZYhoGIMO8asqLixgk8/We8UclketSlgmfTuAZz0UUmK1Qpg8tdu/lLQbH4e7vlrt3iH9pd+7cqaeh/4QyqoFzaPzkT2m7Pa819eX2f'),
this.addDataEntry(dt + 'lifeline execution', 220, 300, 'Lifelines', '5ZTbasMwDIafxvdu3MB223TrzQZjewIvVWuDYhlH6WFPPydx2m5pR2FsDEYISL8syfoQFqqodougvXmkJaBQd0IVgYh7q9oVgCgyaZdCzUWWyfiL7P5CdNJFpdcBHF+TkPUJG40N9MqDXQFaBylS8x5TpDbat2ZT4XBIqJmHYCtgCDGCSX46arOtsQwvXpdt6jYOGjXDVZx0PolmSY51TAkHH1H72r52XWVUApRNqO0GnqG2b4NKDbedCnIOSk5iGgYCw+4ikE5KNBZA8Z5hH48MCQmY3Nolm6TJpBmwa5PKqEHUdS+sD7WOvKORkJ/Hr0b4R9RPWHmyjrtu+Uzk80/wKbChNTmNp/hXFrEgpNBVUzey/a5FlX2Japr3GfvevT0HbsztAPg73KYX13byz9b2V9Y0//E1vQrB9I+sY3SPL3QX+/CAvwM='),
this.addDataEntry(dt + 'destruction occurence specification', 100, 300, 'Destruction Occurence Specification', 'lZJBboMwEEVP471jZ9F1oM2mlaL2BC5MY0sGW/YQoKfvgE1oVVI1C6SZP/Nt/pOZLJrhGJTXL64Gy+Qjk0VwDlPVDAVYywQ3NZMlE4LTx8TTjelunnKvArT4H4NIhouyHSTl2XyANS3koyKONk+iVn4qu8YuS0wePATTAEKgic3yadUOvTYIb15Vk7WnoKRpbChpuaOyci0qsoRrb63y0bzPt3JSAlRdiOYCrxDN56K6DqebCte2UGEWcxgICMNNILOUaRzB0X+GkVZ6U6POGzxB4xrMWWebXEQVk3C+ele+VGTE27jlL9x/US4hYnAjBatV1FDfk1JspxyWMMkx5uWH3H+DsN9gsL8fAbXra55nPx77Fw=='),
this.addEntry(dt + 'interaction', function()
{
var cell1 = new mxCell('Interaction1 heading', new mxGeometry(0, 0, 290, 250),
'shape=umlFrame;tabWidth=110;tabHeight=30;tabPosition=left;html=1;boundedLbl=1;labelInHeader=1;width=140;height=30;swimlaneFillColor=#ffffff;');
'shape=umlFrame;tabWidth=110;tabHeight=30;tabPosition=left;html=1;boundedLbl=1;labelInHeader=1;width=140;height=30;');
cell1.vertex = true;
var field1 = new mxCell('[constraint1]',
new mxGeometry(0, 0, 100, 20), 'text');
@ -1063,48 +679,35 @@
var cell1 = new mxCell('Continuation1', new mxGeometry(30, 60, 160, 30),
'rounded=1;dashed=0;');
cell1.vertex = true;
var cell2 = new mxCell('LifeLine1', new mxGeometry(0, 0, 100, 30),
'rounded=0;dashed=0;');
var cell2 = new mxCell('Lifeline1', new mxGeometry(0, 0, 100, 200),
'shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;');
cell2.vertex = true;
var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'html=1;verticalAlign=bottom;startArrow=none;endArrow=none;dashed=1;');
edge1.geometry.setTerminalPoint(new mxPoint(50, 200), true);
edge1.geometry.relative = true;
edge1.edge = true;
cell2.insertEdge(edge1, false);
var cell3 = new mxCell('LifeLine2', new mxGeometry(120, 0, 100, 30),
'rounded=0;dashed=0;');
var cell3 = new mxCell('Lifeline2', new mxGeometry(120, 0, 100, 200),
'shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;');
cell3.vertex = true;
var edge2 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'html=1;verticalAlign=bottom;startArrow=none;endArrow=none;dashed=1;');
edge2.geometry.setTerminalPoint(new mxPoint(170, 200), true);
edge2.geometry.relative = true;
edge2.edge = true;
cell3.insertEdge(edge2, false);
return sb.createVertexTemplateFromCells([cell1, cell2, cell3, edge1, edge2], 220, 200, 'Lifeline Continuation');
return sb.createVertexTemplateFromCells([cell1, cell2, cell3], 220, 200, 'Lifeline Continuation');
}),
this.addEntry(dt + 'lifeline state invariant', function()
{
var cell1 = new mxCell('State1 inv.', new mxGeometry(10, 50, 80, 30),
'rounded=1;dashed=0;');
var cell1 = new mxCell('Lifeline1', new mxGeometry(0, 0, 100, 200),
'shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;');
cell1.vertex = true;
var cell2 = new mxCell('LifeLine1', new mxGeometry(0, 0, 100, 30),
'rounded=0;dashed=0;');
var cell2 = new mxCell('State1 inv.', new mxGeometry(10, 50, 80, 30),
'rounded=1;dashed=0;point=[];connectable=0;');
cell2.vertex = true;
var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'html=1;verticalAlign=bottom;startArrow=none;endArrow=none;dashed=1;');
edge1.geometry.setTerminalPoint(new mxPoint(50, 200), true);
edge1.geometry.relative = true;
edge1.edge = true;
cell2.insertEdge(edge1, false);
cell1.insert(cell2);
var cell3 = new mxCell('{State2 inv.}', new mxGeometry(0, 140, 100, 30),
'text;align=center;');
'text;align=center;point=[];connectable=0;');
cell3.vertex = true;
cell1.insert(cell3);
return sb.createVertexTemplateFromCells([cell1, cell2, cell3, edge1], 100, 200, 'Lifeline State Invariant');
return sb.createVertexTemplateFromCells([cell1], 100, 200, 'Lifeline State Invariant');
}),
this.addEntry(dt + 'interaction use', function()
{
var cell1 = new mxCell('ref', new mxGeometry(0, 0, 260, 120),
'shape=umlFrame;tabPosition=left;html=1;boundedLbl=1;labelInHeader=1;width=50;height=30;swimlaneFillColor=#ffffff;');
'shape=umlFrame;tabPosition=left;html=1;boundedLbl=1;labelInHeader=1;width=50;height=30;');
cell1.vertex = true;
var field1 = new mxCell('Interaction1',
new mxGeometry(0, 0, 100, 20), 'text;align=center;');
@ -1117,22 +720,19 @@
}),
this.addEntry(dt + 'lifeline state invariant', function()
{
var cell1 = new mxCell('LifeLine1', new mxGeometry(0, 0, 100, 30),
'rounded=0;dashed=0;');
var cell1 = new mxCell('Lifeline1', new mxGeometry(0, 0, 100, 200),
'shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;');
cell1.vertex = true;
var cell2 = new mxCell('', new mxGeometry(30, 70, 40, 20),
'shape=partialRectangle;whiteSpace=wrap;html=1;bottom=0;fillColor=none;');
'shape=partialRectangle;whiteSpace=wrap;html=1;bottom=0;fillColor=none;point=[];connectable=0;');
cell2.vertex = true;
cell1.insert(cell2);
var cell3 = new mxCell('', new mxGeometry(30, 150, 40, 20),
'shape=partialRectangle;whiteSpace=wrap;html=1;top=0;fillColor=none;');
'shape=partialRectangle;whiteSpace=wrap;html=1;top=0;fillColor=none;point=[];connectable=0;');
cell3.vertex = true;
var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'html=1;verticalAlign=bottom;startArrow=none;endArrow=none;dashed=1;');
edge1.geometry.setTerminalPoint(new mxPoint(50, 200), true);
edge1.geometry.relative = true;
edge1.edge = true;
cell1.insertEdge(edge1, false);
cell1.insert(cell3);
return sb.createVertexTemplateFromCells([cell1, cell2, cell3, edge1], 100, 200, 'Lifeline');
return sb.createVertexTemplateFromCells([cell1], 100, 200, 'Lifeline');
}),
this.addEntry(dt + 'use case', function()
{
@ -1269,9 +869,6 @@
this.createVertexTemplateEntry('text;html=1;align=center;verticalAlign=middle;dashed=0;fillColor=#ffffff;strokeColor=#000000;', 180, 60,
'&lt;&lt;artifact&gt;&gt;<br><br><b>Artifact1</b>',
'Artifact', null, null, dt + 'artifact'),
this.createVertexTemplateEntry('text;html=1;align=center;verticalAlign=middle;dashed=0;fillColor=#ffffff;strokeColor=#000000;', 180, 60,
'InformationItem1',
'Information Item', null, null, dt + 'information item'),
this.addEntry('information item', function()
{
var cell1 = new mxCell('InformationItem1', new mxGeometry(0, 0, 200, 50), 'align=left;spacingLeft=10;html=1;dashed=0;');

View file

@ -79,8 +79,6 @@
'Database', 'End User Computing', 'Developer Tools', 'Game Tech', 'Internet of Things', 'IoT Things', 'IoT Resources', 'Machine Learning', 'Management Governance',
'Media Services', 'Migration Transfer', 'Mobile', 'Network Content Delivery', 'Quantum Technologies', 'Robotics', 'Satellite', 'Security Identity Compliance', 'Storage'];
Sidebar.prototype.general = ['General', 'Advanced', 'Misc'];
Sidebar.prototype.office = ['Clouds', 'Communications', 'Concepts', 'Databases', 'Devices', 'Security', 'Servers', 'Services', 'Sites', 'Users'];
Sidebar.prototype.veeam = ['Data Center', 'Misc', 'Software', 'Storage', 'UsersStatus', 'VASComponents', 'Backup Replication', 'Products', 'VMs and Tape', '2D', '3D'];
@ -111,10 +109,8 @@
/**
*
*/
Sidebar.prototype.configuration = [
// {id: 'general', libs: ['general', 'misc', 'advanced']},
{id: 'general', prefix: 'general', libs: Sidebar.prototype.general},
{id: 'uml'}, {id: 'search'}, {id: 'er'},
Sidebar.prototype.configuration = [{id: 'general', libs: ['general', 'misc', 'advanced']},
{id: 'uml'}, {id: 'uml25'}, {id: 'search'}, {id: 'er'},
{id: 'azure2', prefix: 'azure2', libs: ['AI Machine Learning', 'Analytics', 'App Services', 'Azure Stack', 'Azure VMware Solution', 'Blockchain', 'Compute', 'Containers', 'CXP', 'Databases', 'DevOps', 'General', 'Identity', 'Integration', 'Internet of Things', 'Intune', 'IoT', 'Management Governance', 'Migrate', 'Mixed Reality', 'Monitor', 'Networking', 'Other', 'Preview', 'Security', 'Storage', 'Web']},
{id: 'ios', prefix: 'ios', libs: [''/*prefix is library*/, '7icons', '7ui']},
{id: 'android', prefix: 'android', libs: [''/*prefix is library*/]}, {id: 'aws3d'},
@ -459,8 +455,7 @@
// Defines all entries for the sidebar. This is used in the MoreShapes dialog. Create screenshots using the savesidebar URL parameter and
// http://www.alderg.com/merge.html for creating a vertical stack of PNG images if multiple sidebars are part of an entry.
this.entries = [{title: mxResources.get('standard'),
entries: [
{title: mxResources.get('general'), id: 'general', image: IMAGE_PATH + '/sidebar-general.png'},
entries: [{title: mxResources.get('general'), id: 'general', image: IMAGE_PATH + '/sidebar-general.png'},
{title: mxResources.get('basic'), id: 'basic', image: IMAGE_PATH + '/sidebar-basic.png'},
{title: mxResources.get('arrows'), id: 'arrows2', image: IMAGE_PATH + '/sidebar-arrows2.png'},
{title: mxResources.get('clipart'), id: 'clipart', image: IMAGE_PATH + '/sidebar-clipart.png'},
@ -476,6 +471,7 @@
{title: mxResources.get('ios'), id: 'ios', image: IMAGE_PATH + '/sidebar-ios.png'},
{title: mxResources.get('mockups'), id: 'mockups', image: IMAGE_PATH + '/sidebar-mockups.png'},
{title: 'Sitemap', id: 'sitemap', image: IMAGE_PATH + '/sidebar-sitemap.png'},
{title: mxResources.get('uml') + ' 2.5', id: 'uml25', image: IMAGE_PATH + '/sidebar-uml25.png'},
{title: mxResources.get('uml'), id: 'uml', image: IMAGE_PATH + '/sidebar-uml.png'}]},
{title: mxResources.get('networking'),
entries: [{title: 'Allied Telesis', id: 'allied_telesis', image: IMAGE_PATH + '/sidebar-allied_telesis.png'},
@ -1036,7 +1032,9 @@
}
}
this.addGeneralPalette();
this.addGeneralPalette(this.customEntries == null);
this.addMiscPalette(false);
this.addAdvancedPalette(false);
this.addBasicPalette();
this.addStencilPalette('arrows', mxResources.get('arrows'), dir + '/arrows.xml',
';html=1;' + mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;' + mxConstants.STYLE_STROKEWIDTH + '=2;strokeColor=#000000;',
@ -1156,6 +1154,7 @@
this.addKubernetesPalette();
this.addMockupPalette();
this.addSitemapPalette();
this.addUml25Palette();
this.addUmlPalette(false);
this.addAlliedTelesisPalette();
this.addAWS3Palette();

File diff suppressed because one or more lines are too long

View file

@ -375,7 +375,6 @@
mxCellRenderer.registerShape('isoCube', IsoCubeShape);
// DataStore Shape, supports size style
function DataStoreShape()
{
@ -818,15 +817,17 @@
return null;
};
// UML State Shape, supports tabWidth, tabHeight styles
//**********************************************************************************************************************************************************
//UML State shape
//**********************************************************************************************************************************************************
function UMLStateShape()
{
mxCylinder.call(this);
};
mxUtils.extend(UMLStateShape, mxCylinder);
UMLStateShape.prototype.arcSize = 0.1;
UMLStateShape.prototype.paintVertexShape = function(c, x, y, w, h)
{
c.translate(x, y);
@ -868,7 +869,7 @@
c.fillAndStroke();
c.setShadow(false);
var sym = mxUtils.getValue(this.style, 'umlStateSymbol', null);
if (sym == 'collapseState')
@ -882,7 +883,7 @@
c.lineTo(w - 20, h - 15);
c.stroke();
}
if (connPoint == 'connPointRefEntry')
{
c.ellipse(0, h * 0.5 - 10, 20, 20);
@ -902,8 +903,6 @@
}
};
mxCellRenderer.registerShape('umlState', UMLStateShape);
UMLStateShape.prototype.getLabelMargins = function(rect)
{
if (mxUtils.getValue(this.style, 'boundedLbl', false))
@ -919,6 +918,8 @@
return null;
};
mxCellRenderer.registerShape('umlState', UMLStateShape);
// Card shape
function CardShape()
{
@ -1592,6 +1593,8 @@
};
mxCellRenderer.registerShape('process', ProcessShape);
//Register the same shape with another name for backwards compatibility
mxCellRenderer.registerShape('process2', ProcessShape);
// Transparent Shape
function TransparentShape()
@ -1943,246 +1946,6 @@
// Replaces existing actor shape
mxCellRenderer.registerShape('umlActor', UmlActorShape);
////////////// UML Input Pin Shape ///////////////
function mxShapeUMLInputPin(bounds, fill, stroke, strokewidth)
{
mxShape.call(this);
this.bounds = bounds;
this.fill = fill;
this.stroke = stroke;
this.strokewidth = (strokewidth != null) ? strokewidth : 1;
this.dx = 0.5;
};
/**
* Extends mxShape.
*/
mxUtils.extend(mxShapeUMLInputPin, mxActor);
mxShapeUMLInputPin.prototype.cst = {INPUT_PIN : 'mxgraph.uml.inputPin'};
mxShapeUMLInputPin.prototype.paintVertexShape = function(c, x, y, w, h)
{
c.translate(x, y);
c.begin();
c.moveTo(0, 0);
c.lineTo(w, 0);
c.lineTo(w, h);
c.lineTo(0, h);
c.close();
c.fillAndStroke();
c.setShadow(false);
c.begin();
c.moveTo(w * 0.75, h * 0.5);
c.lineTo(w * 0.25, h * 0.5);
c.moveTo(w * 0.4, h * 0.4);
c.lineTo(w * 0.25, h * 0.5);
c.lineTo(w * 0.4, h * 0.6);
c.stroke();
};
mxCellRenderer.registerShape(mxShapeUMLInputPin.prototype.cst.INPUT_PIN, mxShapeUMLInputPin);
mxShapeUMLInputPin.prototype.constraints = null;
////////////// UML Behaviour Shape ///////////////
function mxShapeUMLBehaviorAction(bounds, fill, stroke, strokewidth)
{
mxShape.call(this);
this.bounds = bounds;
this.fill = fill;
this.stroke = stroke;
this.strokewidth = (strokewidth != null) ? strokewidth : 1;
this.dx = 0.5;
};
mxUtils.extend(mxShapeUMLBehaviorAction, mxActor);
mxShapeUMLBehaviorAction.prototype.cst = {BEHAVIOR_ACTION : 'mxgraph.uml.behaviorAction'};
/**
* Function: paintVertexShape
*
* Paints the vertex shape.
*/
mxShapeUMLBehaviorAction.prototype.paintVertexShape = function(c, x, y, w, h)
{
c.translate(x, y);
var rounded = mxUtils.getValue(this.style, 'rounded', false);
var absArcSize = mxUtils.getValue(this.style, 'absoluteArcSize', false);
var arcSize = parseFloat(mxUtils.getValue(this.style, 'arcSize', this.arcSize));
if (!absArcSize)
{
arcSize = Math.min(w, h) * arcSize;
}
arcSize = Math.min(arcSize, w * 0.5, h * 0.5);
if (!rounded)
{
arcSize = 0;
}
c.begin();
if (rounded)
{
c.moveTo(0, arcSize);
c.arcTo(arcSize, arcSize, 0, 0, 1, arcSize, 0);
c.lineTo(w - arcSize, 0);
c.arcTo(arcSize, arcSize, 0, 0, 1, w, arcSize);
c.lineTo(w, h - arcSize);
c.arcTo(arcSize, arcSize, 0, 0, 1, w - arcSize, h);
c.lineTo(arcSize, h);
c.arcTo(arcSize, arcSize, 0, 0, 1, 0, h - arcSize);
}
else
{
c.moveTo(0, 0);
c.lineTo(w, 0);
c.lineTo(w, h);
c.lineTo(0, h);
}
c.close();
c.fillAndStroke();
c.setShadow(false);
if (w >= 60 && h >= 40)
{
c.begin();
c.moveTo(w - 60, h * 0.5 + 20);
c.lineTo(w - 60, h * 0.5);
c.lineTo(w - 20, h * 0.5);
c.lineTo(w - 20, h * 0.5 + 20);
c.moveTo(w - 40, h * 0.5 - 20);
c.lineTo(w - 40, h * 0.5 + 20);
c.stroke();
}
};
mxCellRenderer.registerShape(mxShapeUMLBehaviorAction.prototype.cst.BEHAVIOR_ACTION, mxShapeUMLBehaviorAction);
mxShapeUMLBehaviorAction.prototype.constraints = null;
////////////// UML Action Shape ///////////////
function mxShapeUMLAction(bounds, fill, stroke, strokewidth)
{
mxShape.call(this);
this.bounds = bounds;
this.fill = fill;
this.stroke = stroke;
this.strokewidth = (strokewidth != null) ? strokewidth : 1;
this.dx = 0.5;
};
/**
* Extends mxShape.
*/
mxUtils.extend(mxShapeUMLAction, mxActor);
mxShapeUMLAction.prototype.cst = {ACTION : 'mxgraph.uml.action'};
/**
* Function: paintVertexShape
*
* Paints the vertex shape.
*/
mxShapeUMLAction.prototype.paintVertexShape = function(c, x, y, w, h)
{
c.translate(x, y);
var absArcSize = mxUtils.getValue(this.style, 'absoluteArcSize', false);
var arcSize = parseFloat(mxUtils.getValue(this.style, 'arcSize', this.arcSize));
if (!absArcSize)
{
arcSize = Math.min(w, h) * arcSize;
}
arcSize = Math.min(arcSize, w * 0.5, h * 0.5);
c.begin();
c.moveTo(0, arcSize);
c.arcTo(arcSize, arcSize, 0, 0, 1, arcSize, 0);
c.lineTo(w - arcSize - 10, 0);
c.arcTo(arcSize, arcSize, 0, 0, 1, w - 10, arcSize);
c.lineTo(w - 10, h - arcSize);
c.arcTo(arcSize, arcSize, 0, 0, 1, w - arcSize - 10, h);
c.lineTo(arcSize, h);
c.arcTo(arcSize, arcSize, 0, 0, 1, 0, h - arcSize);
c.close();
c.fillAndStroke();
c.rect(w - 10, h * 0.5 - 10, 10, 20);
c.fillAndStroke();
};
mxCellRenderer.registerShape(mxShapeUMLAction.prototype.cst.ACTION, mxShapeUMLAction);
mxShapeUMLAction.prototype.constraints = null;
////////////// UML Action Parameter Shape ///////////////
function mxShapeUMLActionParams(bounds, fill, stroke, strokewidth)
{
mxShape.call(this);
this.bounds = bounds;
this.fill = fill;
this.stroke = stroke;
this.strokewidth = (strokewidth != null) ? strokewidth : 1;
this.dx = 0.5;
};
mxUtils.extend(mxShapeUMLActionParams, mxActor);
mxShapeUMLActionParams.prototype.cst = {ACTION_PARAMS : 'mxgraph.uml.actionParams'};
mxShapeUMLActionParams.prototype.paintVertexShape = function(c, x, y, w, h)
{
c.translate(x, y);
var absArcSize = mxUtils.getValue(this.style, 'absoluteArcSize', false);
var arcSize = parseFloat(mxUtils.getValue(this.style, 'arcSize', this.arcSize));
if (!absArcSize)
{
arcSize = Math.min(w, h) * arcSize;
}
arcSize = Math.min(arcSize, w * 0.5, h * 0.5);
c.begin();
c.moveTo(20, arcSize);
c.arcTo(arcSize, arcSize, 0, 0, 1, 20 + arcSize, 0);
c.lineTo(w - arcSize, 0);
c.arcTo(arcSize, arcSize, 0, 0, 1, w, arcSize);
c.lineTo(w, h - arcSize);
c.arcTo(arcSize, arcSize, 0, 0, 1, w - arcSize, h);
c.lineTo(20 + arcSize, h);
c.arcTo(arcSize, arcSize, 0, 0, 1, 20, h - arcSize);
c.close();
c.fillAndStroke();
c.rect(5, h * 0.5 - 17, 20, 34);
c.fillAndStroke();
c.rect(0, h * 0.5 - 13, 10, 10);
c.fillAndStroke();
c.rect(0, h * 0.5 + 3, 10, 10);
c.fillAndStroke();
};
mxCellRenderer.registerShape(mxShapeUMLActionParams.prototype.cst.ACTION_PARAMS, mxShapeUMLActionParams);
mxShapeUMLActionParams.prototype.constraints = null;
////////////// UML Boundary Shape ///////////////
function UmlBoundaryShape()
{
@ -2216,7 +1979,6 @@
c.fillAndStroke();
};
// Replaces existing actor shape
mxCellRenderer.registerShape('umlBoundary', UmlBoundaryShape);
// UML Entity Shape
@ -2340,7 +2102,7 @@
if (size < h)
{
c.setDashed(true);
c.setDashed(mxUtils.getValue(this.style, 'lifelineDashed', '1') == '1');
c.begin();
c.moveTo(x + w / 2, y + size);
c.lineTo(x + w / 2, y + h);

View file

@ -82,6 +82,9 @@ Sidebar.prototype.init = function()
var dir = STENCIL_PATH;
this.addSearchPalette(true);
this.addGeneralPalette(true);
this.addMiscPalette(false);
this.addAdvancedPalette(false);
this.addBasicPalette(dir);
this.setCurrentSearchEntryLibrary('arrows');
@ -947,6 +950,12 @@ Sidebar.prototype.addSearchPalette = function(expand)
input.focus();
}
});
this.searchShapes = function(value)
{
input.value = value;
find();
};
mxEvent.addListener(input, 'keydown', mxUtils.bind(this, function(evt)
{
@ -1041,6 +1050,415 @@ Sidebar.prototype.insertSearchHint = function(div, searchTerm, count, page, resu
}
};
/**
* Adds the general palette to the sidebar.
*/
Sidebar.prototype.addGeneralPalette = function(expand)
{
var lineTags = 'line lines connector connectors connection connections arrow arrows ';
this.setCurrentSearchEntryLibrary('general', 'general');
var fns = [
this.createVertexTemplateEntry('rounded=0;whiteSpace=wrap;html=1;', 120, 60, '', 'Rectangle', null, null, 'rect rectangle box'),
this.createVertexTemplateEntry('rounded=1;whiteSpace=wrap;html=1;', 120, 60, '', 'Rounded Rectangle', null, null, 'rounded rect rectangle box'),
// Explicit strokecolor/fillcolor=none is a workaround to maintain transparent background regardless of current style
this.createVertexTemplateEntry('text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;',
40, 20, 'Text', 'Text', null, null, 'text textbox textarea label'),
this.createVertexTemplateEntry('text;html=1;strokeColor=none;fillColor=none;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;', 190, 120,
'<h1>Heading</h1><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>',
'Textbox', null, null, 'text textbox textarea'),
this.createVertexTemplateEntry('ellipse;whiteSpace=wrap;html=1;', 120, 80, '', 'Ellipse', null, null, 'oval ellipse state'),
this.createVertexTemplateEntry('whiteSpace=wrap;html=1;aspect=fixed;', 80, 80, '', 'Square', null, null, 'square'),
this.createVertexTemplateEntry('ellipse;whiteSpace=wrap;html=1;aspect=fixed;', 80, 80, '', 'Circle', null, null, 'circle'),
this.createVertexTemplateEntry('shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;', 120, 60, '', 'Process', null, null, 'process task'),
this.createVertexTemplateEntry('rhombus;whiteSpace=wrap;html=1;', 80, 80, '', 'Diamond', null, null, 'diamond rhombus if condition decision conditional question test'),
this.createVertexTemplateEntry('shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;', 120, 60, '', 'Parallelogram'),
this.createVertexTemplateEntry('shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;', 120, 80, '', 'Hexagon', null, null, 'hexagon preparation'),
this.createVertexTemplateEntry('triangle;whiteSpace=wrap;html=1;', 60, 80, '', 'Triangle', null, null, 'triangle logic inverter buffer'),
this.createVertexTemplateEntry('shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;', 60, 80, '', 'Cylinder', null, null, 'cylinder data database'),
this.createVertexTemplateEntry('ellipse;shape=cloud;whiteSpace=wrap;html=1;', 120, 80, '', 'Cloud', null, null, 'cloud network'),
this.createVertexTemplateEntry('shape=document;whiteSpace=wrap;html=1;boundedLbl=1;', 120, 80, '', 'Document'),
this.createVertexTemplateEntry('shape=internalStorage;whiteSpace=wrap;html=1;backgroundOutline=1;', 80, 80, '', 'Internal Storage'),
this.createVertexTemplateEntry('shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;', 120, 80, '', 'Cube'),
this.createVertexTemplateEntry('shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;', 120, 80, '', 'Step'),
this.createVertexTemplateEntry('shape=trapezoid;perimeter=trapezoidPerimeter;whiteSpace=wrap;html=1;fixedSize=1;', 120, 60, '', 'Trapezoid'),
this.createVertexTemplateEntry('shape=tape;whiteSpace=wrap;html=1;', 120, 100, '', 'Tape'),
this.createVertexTemplateEntry('shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;', 80, 100, '', 'Note'),
this.createVertexTemplateEntry('shape=card;whiteSpace=wrap;html=1;', 80, 100, '', 'Card'),
this.createVertexTemplateEntry('shape=callout;whiteSpace=wrap;html=1;perimeter=calloutPerimeter;', 120, 80, '', 'Callout', null, null, 'bubble chat thought speech message'),
this.createVertexTemplateEntry('shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;', 30, 60, 'Actor', 'Actor', false, null, 'user person human stickman'),
this.createVertexTemplateEntry('shape=xor;whiteSpace=wrap;html=1;', 60, 80, '', 'Or', null, null, 'logic or'),
this.createVertexTemplateEntry('shape=or;whiteSpace=wrap;html=1;', 60, 80, '', 'And', null, null, 'logic and'),
this.createVertexTemplateEntry('shape=dataStorage;whiteSpace=wrap;html=1;fixedSize=1;', 100, 80, '', 'Data Storage'),
this.addEntry('curve', mxUtils.bind(this, function()
{
var cell = new mxCell('', new mxGeometry(0, 0, 50, 50), 'curved=1;endArrow=classic;html=1;');
cell.geometry.setTerminalPoint(new mxPoint(0, 50), true);
cell.geometry.setTerminalPoint(new mxPoint(50, 0), false);
cell.geometry.points = [new mxPoint(50, 50), new mxPoint(0, 0)];
cell.geometry.relative = true;
cell.edge = true;
return this.createEdgeTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'Curve');
})),
this.createEdgeTemplateEntry('shape=flexArrow;endArrow=classic;startArrow=classic;html=1;', 50, 50, '', 'Bidirectional Arrow', null, lineTags + 'bidirectional'),
this.createEdgeTemplateEntry('shape=flexArrow;endArrow=classic;html=1;', 50, 50, '', 'Arrow', null, lineTags + 'directional directed'),
this.createEdgeTemplateEntry('endArrow=none;dashed=1;html=1;', 50, 50, '', 'Dashed Line', null, lineTags + 'dashed undirected no'),
this.createEdgeTemplateEntry('endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;', 50, 50, '', 'Dotted Line', null, lineTags + 'dotted undirected no'),
this.createEdgeTemplateEntry('endArrow=none;html=1;', 50, 50, '', 'Line', null, lineTags + 'simple undirected plain blank no'),
this.createEdgeTemplateEntry('endArrow=classic;startArrow=classic;html=1;', 50, 50, '', 'Bidirectional Connector', null, lineTags + 'bidirectional'),
this.createEdgeTemplateEntry('endArrow=classic;html=1;', 50, 50, '', 'Directional Connector', null, lineTags + 'directional directed'),
this.createEdgeTemplateEntry('shape=link;html=1;', 100, 0, '', 'Link', null, lineTags + 'link'),
this.addEntry(lineTags + 'edge title', mxUtils.bind(this, function()
{
var edge = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=classic;html=1;');
edge.geometry.setTerminalPoint(new mxPoint(0, 0), true);
edge.geometry.setTerminalPoint(new mxPoint(100, 0), false);
edge.geometry.relative = true;
edge.edge = true;
var cell0 = new mxCell('Label', new mxGeometry(0, 0, 0, 0), 'edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;');
cell0.geometry.relative = true;
cell0.setConnectable(false);
cell0.vertex = true;
edge.insert(cell0);
return this.createEdgeTemplateFromCells([edge], 100, 0, 'Connector with Label');
})),
this.addEntry(lineTags + 'edge title multiplicity', mxUtils.bind(this, function()
{
var edge = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=classic;html=1;');
edge.geometry.setTerminalPoint(new mxPoint(0, 0), true);
edge.geometry.setTerminalPoint(new mxPoint(160, 0), false);
edge.geometry.relative = true;
edge.edge = true;
var cell0 = new mxCell('Label', new mxGeometry(0, 0, 0, 0), 'edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;');
cell0.geometry.relative = true;
cell0.setConnectable(false);
cell0.vertex = true;
edge.insert(cell0);
var cell1 = new mxCell('Source', new mxGeometry(-1, 0, 0, 0), 'edgeLabel;resizable=0;html=1;align=left;verticalAlign=bottom;');
cell1.geometry.relative = true;
cell1.setConnectable(false);
cell1.vertex = true;
edge.insert(cell1);
return this.createEdgeTemplateFromCells([edge], 160, 0, 'Connector with 2 Labels');
})),
this.addEntry(lineTags + 'edge title multiplicity', mxUtils.bind(this, function()
{
var edge = new mxCell('Label', new mxGeometry(0, 0, 0, 0), 'endArrow=classic;html=1;');
edge.geometry.setTerminalPoint(new mxPoint(0, 0), true);
edge.geometry.setTerminalPoint(new mxPoint(160, 0), false);
edge.geometry.relative = true;
edge.edge = true;
var cell0 = new mxCell('Label', new mxGeometry(0, 0, 0, 0), 'edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;');
cell0.geometry.relative = true;
cell0.setConnectable(false);
cell0.vertex = true;
edge.insert(cell0);
var cell1 = new mxCell('Source', new mxGeometry(-1, 0, 0, 0), 'edgeLabel;resizable=0;html=1;align=left;verticalAlign=bottom;');
cell1.geometry.relative = true;
cell1.setConnectable(false);
cell1.vertex = true;
edge.insert(cell1);
var cell2 = new mxCell('Target', new mxGeometry(1, 0, 0, 0), 'edgeLabel;resizable=0;html=1;align=right;verticalAlign=bottom;');
cell2.geometry.relative = true;
cell2.setConnectable(false);
cell2.vertex = true;
edge.insert(cell2);
return this.createEdgeTemplateFromCells([edge], 160, 0, 'Connector with 3 Labels');
})),
this.addEntry(lineTags + 'edge shape symbol message mail email', mxUtils.bind(this, function()
{
var edge = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=classic;html=1;');
edge.geometry.setTerminalPoint(new mxPoint(0, 0), true);
edge.geometry.setTerminalPoint(new mxPoint(100, 0), false);
edge.geometry.relative = true;
edge.edge = true;
var cell = new mxCell('', new mxGeometry(0, 0, 20, 14), 'shape=message;html=1;outlineConnect=0;');
cell.geometry.relative = true;
cell.vertex = true;
cell.geometry.offset = new mxPoint(-10, -7);
edge.insert(cell);
return this.createEdgeTemplateFromCells([edge], 100, 0, 'Connector with Symbol');
}))
];
this.addPaletteFunctions('general', mxResources.get('general'), (expand != null) ? expand : true, fns);
this.setCurrentSearchEntryLibrary();
};
/**
* Adds the general palette to the sidebar.
*/
Sidebar.prototype.addMiscPalette = function(expand)
{
var sb = this;
var lineTags = 'line lines connector connectors connection connections arrow arrows '
this.setCurrentSearchEntryLibrary('general', 'misc');
var fns = [
this.createVertexTemplateEntry('text;strokeColor=none;fillColor=none;html=1;fontSize=24;fontStyle=1;verticalAlign=middle;align=center;', 100, 40, 'Title', 'Title', null, null, 'text heading title'),
this.createVertexTemplateEntry('text;strokeColor=none;fillColor=none;html=1;whiteSpace=wrap;verticalAlign=middle;overflow=hidden;', 100, 80,
'<ul><li>Value 1</li><li>Value 2</li><li>Value 3</li></ul>', 'Unordered List'),
this.createVertexTemplateEntry('text;strokeColor=none;fillColor=none;html=1;whiteSpace=wrap;verticalAlign=middle;overflow=hidden;', 100, 80,
'<ol><li>Value 1</li><li>Value 2</li><li>Value 3</li></ol>', 'Ordered List'),
this.addDataEntry('table', 180, 120, 'Table 1', '7ZjJTsMwEIafJleUhZZybVgucAFewDTT2pLjiewpaXl6xolLVQFqWBJArZRKns2xv5H7y4myvFxdW1HJWyxAR9lllOUWkdpRucpB6yiNVRFlF1GaxvyL0qsPokkTjSthwVCXgrQteBJ6Ca2ndTha6+BwUlR+SOLRu6aSSl7mRcLDWiqC+0rMfLzmTbDPkbB0r569K2Z7hoaEMmBDzQy1FpVTzWRthlS6uBFrXNLmNRtrGpYHlmD14RYbV9jfNWAJZNecUquCZMiYtBhiCWohN2WBTSxc61i81m6J8SBAex9g1h0gL5mU0HcwI2EWXVi+ZVVYrB6EXQAFR4XKENjLJ6bhgm+utM5Ro0du0PgXEVYhqGG+qX1EIiyDYQOY10kbKKMpP4wpj09G0Yh3k7OdbG1+fLqlHI0jy432c4BwVIPr3MD0aw08/YH+nfbbP2N89rZ/324NMsq5xppNqYoCTFfG2V7G454Qjw4c8WoX7wDEx0fiO3/wAyA/O+pAbzqw3m3TELIwOZQTdPZrsnB+4IiHl4UkPiIfWheS5CgMfQvDZEBhSD5xY/7fZyjZf63u7dD0fKv++5B/QRwO5ia8h3mP6sDm9tNeE9v58vcC'),
this.addDataEntry('table', 180, 120, 'Table 2', '7ZjBbqMwEIafhmuFISTptbTbS/eyrfbuBie2ZDzITEqyT79jMMlGWVTUBlqVSkTyjGeM+SbDLxPEab67t7yQPyETOojvgji1ANiM8l0qtA6iUGVBfBtEUUi/IPrRMcvq2bDgVhjskxA1CS9cb0XjaRwl7rV3lJIXboj82bluJOa0zVtGw0oqFI8FX7n5ih6CfCVyi4/qj3OFZK/AIFdGWJ+zAq15Uap6sSZCKp098D1ssb1Na7nobW4eKL/00Raqf02/f2FR7DoZ1C4P4F5ALtDuKaRSGUofsWw4hVKojWzTPLyQl41jc8g9IqWBp/p/wnF/wrRlVFz/EivkZtMH9jnMzELxxO1GoHcUoAwKe/dCNFpoa6V1ChpcTQwYdyOEwk9qsW5znwER8ha8B3NYtIaS3NBFmNLwKgkSepqUbHa06XLhFlMwJVr6J7g1BC+xEiX2LWD0tgLOLlC/2Vn9ftfDKGQXLaQxLvpYyHfXCIjpWkNFplRZJkxf2PGrsOcDsU46WV+2aT49690p5xHQzzvRx5NEf3j3j8B+8S0Rg0nE/rRMYyjGsrOVZl+0lRYfphjXnayTabEeXzFY2Ml+Pkn2Y0oGY9+aMbRmLEfUDHZ+EG+bafFFm4m9fiofrHvOD+Ut7eXEaH+AbnSfqK+nCX9A4SDz+DGxnjv51vgX'),
this.addDataEntry('table title', 180, 120, 'Table with Title 1', '7ZhRb6MwDMc/Da8nAmPdvZbu9nJ7WfcFMnAhUohR4o12n34OpKumrmqlDXa6VqJS/Lcdkp8bWSFK82Z9Z2Vb32MJOkpvozS3iDSMmnUOWkdJrMooXURJEvMvSv4c8IreG7fSgqFTEpIh4UXqZxiUR/mkYVAdbXRQXS1bP6Tem85ranitC8HDrlYEy1YW3t/xTlhzJC0t1auX0piFAg1JZcCGpAK1lq1T/WyLPqJWuvwrN/hM2/dsrfmKs5dhMT5balUZHhe8Sz/lPOwCLMH6IIleChjuABsgu+GQTpVUh4ibgVZcg6rqbVoWROkGoXrP3YHlQWD7Oed0j/NBxLxkUlI/QEHSVKfQ3odZWmwfpa2AgtCi8qhuX5iGC9pKaZ2jRl8Tg8a/iLANTg2rbe4TEmETDBvAvE/aQ8nm/DCmPP6VRRnvJmdb7Gx+fLilHI0jy/8EPwdIRx04OrWAyecF3ATEoUzH6nn1DeW8GrecxvjoXTm/XClksiuNHZu1KkswpyJPj56Z65EQZ2eOeP0R7wTEry/E+4RkOuSzS1sYuy3MJmwLN+dygmY/1hZ+nzni6duCiC/Ip+4LQlwaw9iNQYgJO4PYv2j/p4dIHL9mj3ZqRr5l//uQf6A7nM1V+AjzEdsDm7svgr3vwwfDNw=='),
this.addDataEntry('table title', 180, 150, 'Table with Title 2', '7Zhdb5swFIZ/DbcTHyVrbiFdb7Kbptq9Cw5YMj7IPi1kv37HYJK1FDWbQoOmSUSyz4dt3id+L/CitGrvNavL75Bz6UV3XpRqAOxHVZtyKb3QF7kXbbww9Onnhd8mskGX9WumucJzGsK+4YXJZ95HHtmT5H3U4EG6qClZbYfYZaOkxIrOuglo2JQC+a5mmc039CYUM8g07sRPG4p8CmSgkAnFtWvKQEpWG9GttukqSiHzLTvAMw77DLNkL1qeP0BjXLeGZkuLGde6p8V37qw2zaQoFI0zEsHumLiX5Bp5OylUF3Iq3XOoOOoDlTQix9JV3PZi+iUXRTm0xS7ITB8ojr0n3WngpH8fQzTCMEmAjoyCyQeeIVPFOTDGWuca6kemC44uUIOwUt29kBpHVYWUKUiwyBQouxFC7ZKS74feJ0CEaiDjhDku2okSJ/SQTKn/JfZiepuU5sFpTo8t15iCMqjpj2LX4Mxgww2eCzB8H+DBSewwfcQzugDOmxHO4KI8lbLVJ55/jMp/gwpI2r2EhqalyHOuztU8+vDS3MykcTzS+Ec3DP2Faz24U1+bGNpQqGLbd65mgNG+BvH7BZgLzupf8LO34JblZ6tP9LOvI5yX5bkcP1tdzc9uJ/1s4VrP52cTMK7gZ+v/fja3n60/0c8Cf8QzWvYl++s7tL6aoQXBpKMtXOz5HG2CxvyORtPTR4Uu9+qbwy8='),
this.addDataEntry('crossfunctional cross-functional cross functional flowchart swimlane table', 400, 400, 'Cross-Functional Flowchart', '7ZhRb5swEMc/DY+bMCRt97jQpi+tVC2fwINbbMnYyD4C6aefjaHpBrTRlNCoTALJPp9t+P25O5kgTvL6XtOCPaoMRBDfBXGilULfyusEhAiikGdBfBtEUWjvIFqPjJJmNCyoBonHTIj8hB0VJXiL3dyYL+tSpsiVpM55LVSVMqrROxvci9bZMFq4JtKfzrRKGRfZA92rEjtr11tpVT1wCcYOhM5ViTKXry0G7RYb/uwWXDgDw9wCuSW2WTGOsClo6gYri8uvIGhheLN1s4KGtNSG7+AHGL+Os0JdUJm1nUJxiaDvdhZQt/EvJXHTvpTbjAq+lbadgnO1hhYSaIR6FHRjainfg8oB9d66VDxD5j0WoRcjZMC3DP8yUuMN25e5B91so5VuWMa4J+P3FJW2JtLXrOK5oNLJxZTmz/blqXhNp3mO5cpe9smS8OsyWNp5ie2TQ99ezl1joqRBTXmDAajBCgxejprHKBcNK7fvBPIz3hOSRCcQctET8olRA+8JmSopIW2j8GOD6Sji8TDxepT4C9yTE1+OEo/mQ5xcTYn8ahR5PB/k0c2UyK9HC8SbX/mnLBAnqAlD8XK+onDTE+/fw+TiQF9fTin4Nl/O0xYAEs6X9LR5n5Ae6S7xv1lr/yf+4cQ/pN75Ej/pH88/UZyQkRPzR6R+0j9Bz4f0xMm/f8adD+qzZn/bPfw5bMb++LH4Gw=='),
this.createVertexTemplateEntry('text;html=1;strokeColor=#c0c0c0;fillColor=#ffffff;overflow=fill;rounded=0;', 280, 160,
'<table border="1" width="100%" height="100%" cellpadding="4" style="width:100%;height:100%;border-collapse:collapse;">' +
'<tr style="background-color:#A7C942;color:#ffffff;border:1px solid #98bf21;"><th align="left">Title 1</th><th align="left">Title 2</th><th align="left">Title 3</th></tr>' +
'<tr style="border:1px solid #98bf21;"><td>Value 1</td><td>Value 2</td><td>Value 3</td></tr>' +
'<tr style="background-color:#EAF2D3;border:1px solid #98bf21;"><td>Value 4</td><td>Value 5</td><td>Value 6</td></tr>' +
'<tr style="border:1px solid #98bf21;"><td>Value 7</td><td>Value 8</td><td>Value 9</td></tr>' +
'<tr style="background-color:#EAF2D3;border:1px solid #98bf21;"><td>Value 10</td><td>Value 11</td><td>Value 12</td></tr></table>', 'HTML Table 1'),
this.createVertexTemplateEntry('text;html=1;strokeColor=#c0c0c0;fillColor=none;overflow=fill;', 180, 140,
'<table border="0" width="100%" height="100%" style="width:100%;height:100%;border-collapse:collapse;">' +
'<tr><td align="center">Value 1</td><td align="center">Value 2</td><td align="center">Value 3</td></tr>' +
'<tr><td align="center">Value 4</td><td align="center">Value 5</td><td align="center">Value 6</td></tr>' +
'<tr><td align="center">Value 7</td><td align="center">Value 8</td><td align="center">Value 9</td></tr></table>', 'HTML Table 2'),
this.createVertexTemplateEntry('text;html=1;strokeColor=none;fillColor=none;overflow=fill;', 180, 140,
'<table border="1" width="100%" height="100%" style="width:100%;height:100%;border-collapse:collapse;">' +
'<tr><td align="center">Value 1</td><td align="center">Value 2</td><td align="center">Value 3</td></tr>' +
'<tr><td align="center">Value 4</td><td align="center">Value 5</td><td align="center">Value 6</td></tr>' +
'<tr><td align="center">Value 7</td><td align="center">Value 8</td><td align="center">Value 9</td></tr></table>', 'HTML Table 3'),
this.createVertexTemplateEntry('text;html=1;strokeColor=none;fillColor=none;overflow=fill;', 160, 140,
'<table border="1" width="100%" height="100%" cellpadding="4" style="width:100%;height:100%;border-collapse:collapse;">' +
'<tr><th align="center"><b>Title</b></th></tr>' +
'<tr><td align="center">Section 1.1\nSection 1.2\nSection 1.3</td></tr>' +
'<tr><td align="center">Section 2.1\nSection 2.2\nSection 2.3</td></tr></table>', 'HTML Table 4'),
this.addEntry('link hyperlink', mxUtils.bind(this, function()
{
var cell = new mxCell('Link', new mxGeometry(0, 0, 60, 40), 'text;html=1;strokeColor=none;fillColor=none;whiteSpace=wrap;align=center;verticalAlign=middle;fontColor=#0000EE;fontStyle=4;');
cell.vertex = true;
this.graph.setLinkForCell(cell, 'https://www.draw.io');
return this.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'Link');
})),
this.addEntry('timestamp date time text label', mxUtils.bind(this, function()
{
var cell = new mxCell('%date{ddd mmm dd yyyy HH:MM:ss}%', new mxGeometry(0, 0, 160, 20), 'text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;');
cell.vertex = true;
this.graph.setAttributeForCell(cell, 'placeholders', '1');
return this.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'Timestamp');
})),
this.addEntry('variable placeholder metadata hello world text label', mxUtils.bind(this, function()
{
var cell = new mxCell('%name% Text', new mxGeometry(0, 0, 80, 20), 'text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;');
cell.vertex = true;
this.graph.setAttributeForCell(cell, 'placeholders', '1');
this.graph.setAttributeForCell(cell, 'name', 'Variable');
return this.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'Variable');
})),
this.createVertexTemplateEntry('shape=ext;double=1;rounded=0;whiteSpace=wrap;html=1;', 120, 80, '', 'Double Rectangle', null, null, 'rect rectangle box double'),
this.createVertexTemplateEntry('shape=ext;double=1;rounded=1;whiteSpace=wrap;html=1;', 120, 80, '', 'Double Rounded Rectangle', null, null, 'rounded rect rectangle box double'),
this.createVertexTemplateEntry('ellipse;shape=doubleEllipse;whiteSpace=wrap;html=1;', 100, 60, '', 'Double Ellipse', null, null, 'oval ellipse start end state double'),
this.createVertexTemplateEntry('shape=ext;double=1;whiteSpace=wrap;html=1;aspect=fixed;', 80, 80, '', 'Double Square', null, null, 'double square'),
this.createVertexTemplateEntry('ellipse;shape=doubleEllipse;whiteSpace=wrap;html=1;aspect=fixed;', 80, 80, '', 'Double Circle', null, null, 'double circle'),
this.createVertexTemplateEntry('rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;fillWeight=4;hachureGap=8;hachureAngle=45;fillColor=#1ba1e2;sketch=1;', 120, 60, '', 'Rectangle Sketch', true, null, 'rectangle rect box text sketch comic retro'),
this.createVertexTemplateEntry('ellipse;whiteSpace=wrap;html=1;strokeWidth=2;fillWeight=2;hachureGap=8;fillColor=#990000;fillStyle=dots;sketch=1;', 120, 60, '', 'Ellipse Sketch', true, null, 'ellipse oval sketch comic retro'),
this.createVertexTemplateEntry('rhombus;whiteSpace=wrap;html=1;strokeWidth=2;fillWeight=-1;hachureGap=8;fillStyle=cross-hatch;fillColor=#006600;sketch=1;', 120, 60, '', 'Diamond Sketch', true, null, 'diamond sketch comic retro'),
this.createVertexTemplateEntry('html=1;whiteSpace=wrap;shape=isoCube2;backgroundOutline=1;isoAngle=15;', 90, 100, '', 'Isometric Cube', true, null, 'cube box iso isometric'),
this.createVertexTemplateEntry('html=1;whiteSpace=wrap;aspect=fixed;shape=isoRectangle;', 150, 90, '', 'Isometric Square', true, null, 'rectangle rect box iso isometric'),
this.createEdgeTemplateEntry('edgeStyle=isometricEdgeStyle;endArrow=none;html=1;', 50, 100, '', 'Isometric Edge 1'),
this.createEdgeTemplateEntry('edgeStyle=isometricEdgeStyle;endArrow=none;html=1;elbow=vertical;', 50, 100, '', 'Isometric Edge 2'),
this.createVertexTemplateEntry('shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;', 20, 120, '', 'Curly Bracket'),
this.createVertexTemplateEntry('line;strokeWidth=2;html=1;', 160, 10, '', 'Horizontal Line'),
this.createVertexTemplateEntry('line;strokeWidth=2;direction=south;html=1;', 10, 160, '', 'Vertical Line'),
this.createVertexTemplateEntry('line;strokeWidth=4;html=1;perimeter=backbonePerimeter;points=[];outlineConnect=0;', 160, 10, '', 'Horizontal Backbone', false, null, 'backbone bus network'),
this.createVertexTemplateEntry('line;strokeWidth=4;direction=south;html=1;perimeter=backbonePerimeter;points=[];outlineConnect=0;', 10, 160, '', 'Vertical Backbone', false, null, 'backbone bus network'),
this.createVertexTemplateEntry('shape=crossbar;whiteSpace=wrap;html=1;rounded=1;', 120, 20, '', 'Crossbar', false, null, 'crossbar distance measure dimension unit'),
this.createVertexTemplateEntry('shape=image;html=1;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=1;aspect=fixed;image=' + this.gearImage, 52, 61, '', 'Image (Fixed Aspect)', false, null, 'fixed image icon symbol'),
this.createVertexTemplateEntry('shape=image;html=1;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;image=' + this.gearImage, 50, 60, '', 'Image (Variable Aspect)', false, null, 'strechted image icon symbol'),
this.createVertexTemplateEntry('icon;html=1;image=' + this.gearImage, 60, 60, 'Icon', 'Icon', false, null, 'icon image symbol'),
this.createVertexTemplateEntry('label;whiteSpace=wrap;html=1;image=' + this.gearImage, 140, 60, 'Label', 'Label 1', null, null, 'label image icon symbol'),
this.createVertexTemplateEntry('label;whiteSpace=wrap;html=1;align=center;verticalAlign=bottom;spacingLeft=0;spacingBottom=4;imageAlign=center;imageVerticalAlign=top;image=' + this.gearImage, 120, 80, 'Label', 'Label 2', null, null, 'label image icon symbol'),
this.addEntry('shape group container', function()
{
var cell = new mxCell('Label', new mxGeometry(0, 0, 160, 70),
'html=1;whiteSpace=wrap;container=1;recursiveResize=0;collapsible=0;');
cell.vertex = true;
var symbol = new mxCell('', new mxGeometry(20, 20, 20, 30), 'triangle;html=1;whiteSpace=wrap;');
symbol.vertex = true;
cell.insert(symbol);
return sb.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'Shape Group');
}),
this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;left=0;right=0;fillColor=none;', 120, 60, '', 'Partial Rectangle'),
this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;bottom=1;right=1;left=1;top=0;fillColor=none;routingCenterX=-0.5;', 120, 60, '', 'Partial Rectangle'),
this.createEdgeTemplateEntry('edgeStyle=segmentEdgeStyle;endArrow=classic;html=1;', 50, 50, '', 'Manual Line', null, lineTags + 'manual'),
this.createEdgeTemplateEntry('shape=filledEdge;rounded=0;fixDash=1;endArrow=none;strokeWidth=10;fillColor=#ffffff;edgeStyle=orthogonalEdgeStyle;', 60, 40, '', 'Filled Edge'),
this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;', 50, 50, '', 'Horizontal Elbow', null, lineTags + 'elbow horizontal'),
this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;elbow=vertical;endArrow=classic;html=1;', 50, 50, '', 'Vertical Elbow', null, lineTags + 'elbow vertical')
];
this.addPaletteFunctions('misc', mxResources.get('misc'), (expand != null) ? expand : true, fns);
this.setCurrentSearchEntryLibrary();
};
/**
* Adds the container palette to the sidebar.
*/
Sidebar.prototype.addAdvancedPalette = function(expand)
{
this.setCurrentSearchEntryLibrary('general', 'advanced');
this.addPaletteFunctions('advanced', mxResources.get('advanced'), (expand != null) ? expand : false, this.createAdvancedShapes());
this.setCurrentSearchEntryLibrary();
};
/**
* Adds the general palette to the sidebar.
*/
Sidebar.prototype.addBasicPalette = function(dir)
{
this.setCurrentSearchEntryLibrary('basic');
this.addStencilPalette('basic', mxResources.get('basic'), dir + '/basic.xml',
';whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#000000;strokeWidth=2',
null, null, null, null, [
this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;top=0;bottom=0;fillColor=none;', 120, 60, '', 'Partial Rectangle'),
this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;right=0;top=0;bottom=0;fillColor=none;routingCenterX=-0.5;', 120, 60, '', 'Partial Rectangle'),
this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;bottom=0;right=0;fillColor=none;', 120, 60, '', 'Partial Rectangle'),
this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;top=0;left=0;fillColor=none;', 120, 60, '', 'Partial Rectangle')
]);
this.setCurrentSearchEntryLibrary();
};
/**
* Adds the container palette to the sidebar.
*/
Sidebar.prototype.createAdvancedShapes = function()
{
// Avoids having to bind all functions to "this"
var sb = this;
// Reusable cells
var field = new mxCell('List Item', new mxGeometry(0, 0, 60, 26), 'text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;');
field.vertex = true;
return [
this.createVertexTemplateEntry('shape=tapeData;whiteSpace=wrap;html=1;perimeter=ellipsePerimeter;', 80, 80, '', 'Tape Data'),
this.createVertexTemplateEntry('shape=manualInput;whiteSpace=wrap;html=1;', 80, 80, '', 'Manual Input'),
this.createVertexTemplateEntry('shape=loopLimit;whiteSpace=wrap;html=1;', 100, 80, '', 'Loop Limit'),
this.createVertexTemplateEntry('shape=offPageConnector;whiteSpace=wrap;html=1;', 80, 80, '', 'Off Page Connector'),
this.createVertexTemplateEntry('shape=delay;whiteSpace=wrap;html=1;', 80, 40, '', 'Delay'),
this.createVertexTemplateEntry('shape=display;whiteSpace=wrap;html=1;', 80, 40, '', 'Display'),
this.createVertexTemplateEntry('shape=singleArrow;direction=west;whiteSpace=wrap;html=1;', 100, 60, '', 'Arrow Left'),
this.createVertexTemplateEntry('shape=singleArrow;whiteSpace=wrap;html=1;', 100, 60, '', 'Arrow Right'),
this.createVertexTemplateEntry('shape=singleArrow;direction=north;whiteSpace=wrap;html=1;', 60, 100, '', 'Arrow Up'),
this.createVertexTemplateEntry('shape=singleArrow;direction=south;whiteSpace=wrap;html=1;', 60, 100, '', 'Arrow Down'),
this.createVertexTemplateEntry('shape=doubleArrow;whiteSpace=wrap;html=1;', 100, 60, '', 'Double Arrow'),
this.createVertexTemplateEntry('shape=doubleArrow;direction=south;whiteSpace=wrap;html=1;', 60, 100, '', 'Double Arrow Vertical', null, null, 'double arrow'),
this.createVertexTemplateEntry('shape=actor;whiteSpace=wrap;html=1;', 40, 60, '', 'User', null, null, 'user person human'),
this.createVertexTemplateEntry('shape=cross;whiteSpace=wrap;html=1;', 80, 80, '', 'Cross'),
this.createVertexTemplateEntry('shape=corner;whiteSpace=wrap;html=1;', 80, 80, '', 'Corner'),
this.createVertexTemplateEntry('shape=tee;whiteSpace=wrap;html=1;', 80, 80, '', 'Tee'),
this.createVertexTemplateEntry('shape=datastore;whiteSpace=wrap;html=1;', 60, 60, '', 'Data Store', null, null, 'data store cylinder database'),
this.createVertexTemplateEntry('shape=orEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;', 80, 80, '', 'Or', null, null, 'or circle oval ellipse'),
this.createVertexTemplateEntry('shape=sumEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;', 80, 80, '', 'Sum', null, null, 'sum circle oval ellipse'),
this.createVertexTemplateEntry('shape=lineEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;', 80, 80, '', 'Ellipse with horizontal divider', null, null, 'circle oval ellipse'),
this.createVertexTemplateEntry('shape=lineEllipse;line=vertical;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;', 80, 80, '', 'Ellipse with vertical divider', null, null, 'circle oval ellipse'),
this.createVertexTemplateEntry('shape=sortShape;perimeter=rhombusPerimeter;whiteSpace=wrap;html=1;', 80, 80, '', 'Sort', null, null, 'sort'),
this.createVertexTemplateEntry('shape=collate;whiteSpace=wrap;html=1;', 80, 80, '', 'Collate', null, null, 'collate'),
this.createVertexTemplateEntry('shape=switch;whiteSpace=wrap;html=1;', 60, 60, '', 'Switch', null, null, 'switch router'),
this.addEntry('process bar', function()
{
return sb.createVertexTemplateFromData('zZXRaoMwFIafJpcDjbNrb2233rRQ8AkyPdPQaCRJV+3T7yTG2rUVBoOtgpDzn/xJzncCIdGyateKNeVW5iBI9EqipZLS9KOqXYIQhAY8J9GKUBrgT+jbRDZ02aBhCmrzEwPtDZ9MHKBXdkpmoDWKCVN9VptO+Kw+8kqwGqMkK7nIN6yTB7uTNizbD1FSSsVPsjYMC1qFKHxwIZZSSIVxLZ1/nJNar5+oQPMT7IYCrqUta1ENzuqGaeOFTArBGs3f3Vmtoo2Se7ja1h00kSoHK4bBIKUNy3hdoPYU0mF91i9mT8EEL2ocZ3gKa00ayWujLZY4IfHKFonVDLsRGgXuQ90zBmWgneyTk3yT1iArMKrDKUeem9L3ajHrbSXwohxsQd/ggOleKM7ese048J2/fwuim1uQGmhQCW8vQMkacP3GCQgBFMftHEsr7cYYe95CnmKTPMFbYD8CQ++DGQy+/M5X4ku5wHYmdIktfvk9tecpavThqS3m/0YtnqIWPTy1cD77K2wYjo+Ay317I74A', 296, 100, 'Process Bar');
}),
this.createVertexTemplateEntry('swimlane;', 200, 200, 'Container', 'Container', null, null, 'container swimlane lane pool group'),
this.addEntry('list group erd table', function()
{
var cell = new mxCell('List', new mxGeometry(0, 0, 140, 110),
'swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;' +
'resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;');
cell.vertex = true;
cell.insert(sb.cloneCell(field, 'Item 1'));
cell.insert(sb.cloneCell(field, 'Item 2'));
cell.insert(sb.cloneCell(field, 'Item 3'));
return sb.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'List');
}),
this.addEntry('list item entry value group erd table', function()
{
return sb.createVertexTemplateFromCells([sb.cloneCell(field, 'List Item')], field.geometry.width, field.geometry.height, 'List Item');
})
];
};
/**
* Adds the container palette to the sidebar.
*/
Sidebar.prototype.createAdvancedShapes = function()
{
// Avoids having to bind all functions to "this"
var sb = this;
// Reusable cells
var field = new mxCell('List Item', new mxGeometry(0, 0, 60, 26), 'text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;');
field.vertex = true;
return [
this.createVertexTemplateEntry('shape=tapeData;whiteSpace=wrap;html=1;perimeter=ellipsePerimeter;', 80, 80, '', 'Tape Data'),
this.createVertexTemplateEntry('shape=manualInput;whiteSpace=wrap;html=1;', 80, 80, '', 'Manual Input'),
this.createVertexTemplateEntry('shape=loopLimit;whiteSpace=wrap;html=1;', 100, 80, '', 'Loop Limit'),
this.createVertexTemplateEntry('shape=offPageConnector;whiteSpace=wrap;html=1;', 80, 80, '', 'Off Page Connector'),
this.createVertexTemplateEntry('shape=delay;whiteSpace=wrap;html=1;', 80, 40, '', 'Delay'),
this.createVertexTemplateEntry('shape=display;whiteSpace=wrap;html=1;', 80, 40, '', 'Display'),
this.createVertexTemplateEntry('shape=singleArrow;direction=west;whiteSpace=wrap;html=1;', 100, 60, '', 'Arrow Left'),
this.createVertexTemplateEntry('shape=singleArrow;whiteSpace=wrap;html=1;', 100, 60, '', 'Arrow Right'),
this.createVertexTemplateEntry('shape=singleArrow;direction=north;whiteSpace=wrap;html=1;', 60, 100, '', 'Arrow Up'),
this.createVertexTemplateEntry('shape=singleArrow;direction=south;whiteSpace=wrap;html=1;', 60, 100, '', 'Arrow Down'),
this.createVertexTemplateEntry('shape=doubleArrow;whiteSpace=wrap;html=1;', 100, 60, '', 'Double Arrow'),
this.createVertexTemplateEntry('shape=doubleArrow;direction=south;whiteSpace=wrap;html=1;', 60, 100, '', 'Double Arrow Vertical', null, null, 'double arrow'),
this.createVertexTemplateEntry('shape=actor;whiteSpace=wrap;html=1;', 40, 60, '', 'User', null, null, 'user person human'),
this.createVertexTemplateEntry('shape=cross;whiteSpace=wrap;html=1;', 80, 80, '', 'Cross'),
this.createVertexTemplateEntry('shape=corner;whiteSpace=wrap;html=1;', 80, 80, '', 'Corner'),
this.createVertexTemplateEntry('shape=tee;whiteSpace=wrap;html=1;', 80, 80, '', 'Tee'),
this.createVertexTemplateEntry('shape=datastore;whiteSpace=wrap;html=1;', 60, 60, '', 'Data Store', null, null, 'data store cylinder database'),
this.createVertexTemplateEntry('shape=orEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;', 80, 80, '', 'Or', null, null, 'or circle oval ellipse'),
this.createVertexTemplateEntry('shape=sumEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;', 80, 80, '', 'Sum', null, null, 'sum circle oval ellipse'),
this.createVertexTemplateEntry('shape=lineEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;', 80, 80, '', 'Ellipse with horizontal divider', null, null, 'circle oval ellipse'),
this.createVertexTemplateEntry('shape=lineEllipse;line=vertical;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;', 80, 80, '', 'Ellipse with vertical divider', null, null, 'circle oval ellipse'),
this.createVertexTemplateEntry('shape=sortShape;perimeter=rhombusPerimeter;whiteSpace=wrap;html=1;', 80, 80, '', 'Sort', null, null, 'sort'),
this.createVertexTemplateEntry('shape=collate;whiteSpace=wrap;html=1;', 80, 80, '', 'Collate', null, null, 'collate'),
this.createVertexTemplateEntry('shape=switch;whiteSpace=wrap;html=1;', 60, 60, '', 'Switch', null, null, 'switch router'),
this.addEntry('process bar', function()
{
return sb.createVertexTemplateFromData('zZXRaoMwFIafJpcDjbNrb2233rRQ8AkyPdPQaCRJV+3T7yTG2rUVBoOtgpDzn/xJzncCIdGyateKNeVW5iBI9EqipZLS9KOqXYIQhAY8J9GKUBrgT+jbRDZ02aBhCmrzEwPtDZ9MHKBXdkpmoDWKCVN9VptO+Kw+8kqwGqMkK7nIN6yTB7uTNizbD1FSSsVPsjYMC1qFKHxwIZZSSIVxLZ1/nJNar5+oQPMT7IYCrqUta1ENzuqGaeOFTArBGs3f3Vmtoo2Se7ja1h00kSoHK4bBIKUNy3hdoPYU0mF91i9mT8EEL2ocZ3gKa00ayWujLZY4IfHKFonVDLsRGgXuQ90zBmWgneyTk3yT1iArMKrDKUeem9L3ajHrbSXwohxsQd/ggOleKM7ese048J2/fwuim1uQGmhQCW8vQMkacP3GCQgBFMftHEsr7cYYe95CnmKTPMFbYD8CQ++DGQy+/M5X4ku5wHYmdIktfvk9tecpavThqS3m/0YtnqIWPTy1cD77K2wYjo+Ay317I74A', 296, 100, 'Process Bar');
}),
this.createVertexTemplateEntry('swimlane;', 200, 200, 'Container', 'Container', null, null, 'container swimlane lane pool group'),
this.addEntry('list group erd table', function()
{
var cell = new mxCell('List', new mxGeometry(0, 0, 140, 110),
'swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;' +
'resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;');
cell.vertex = true;
cell.insert(sb.cloneCell(field, 'Item 1'));
cell.insert(sb.cloneCell(field, 'Item 2'));
cell.insert(sb.cloneCell(field, 'Item 3'));
return sb.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'List');
}),
this.addEntry('list item entry value group erd table', function()
{
return sb.createVertexTemplateFromCells([sb.cloneCell(field, 'List Item')], field.geometry.width, field.geometry.height, 'List Item');
})
];
};
/**
* Adds the general palette to the sidebar.
*/

View file

@ -2709,8 +2709,18 @@ mxShapeSysMLSubmachineState.prototype.getConstraints=function(a,d,e){a=[];a.push
.75),!1));return a};function mxShapeSysMLUseCaseExtensionPoints(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLUseCaseExtensionPoints,mxShape);mxShapeSysMLUseCaseExtensionPoints.prototype.cst={USE_CASE_EXT_PT:"mxgraph.sysml.useCaseExtPt"};mxShapeSysMLUseCaseExtensionPoints.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};
mxShapeSysMLUseCaseExtensionPoints.prototype.background=function(a,d,e,b,c){a.ellipse(0,0,b,c);a.fillAndStroke()};mxShapeSysMLUseCaseExtensionPoints.prototype.foreground=function(a,d,e,b,c){a.begin();a.moveTo(.02*b,.35*c);a.lineTo(.98*b,.35*c);a.stroke()};mxCellRenderer.registerShape(mxShapeSysMLUseCaseExtensionPoints.prototype.cst.USE_CASE_EXT_PT,mxShapeSysMLUseCaseExtensionPoints);
mxShapeSysMLUseCaseExtensionPoints.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.145,.145),!1));a.push(new mxConnectionConstraint(new mxPoint(.145,.855),!1));a.push(new mxConnectionConstraint(new mxPoint(.855,.855),!1));a.push(new mxConnectionConstraint(new mxPoint(.855,
.145),!1));return a};function mxShapePidDiscInst(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapePidDiscInst,mxShape);mxShapePidDiscInst.prototype.cst={SHAPE_DISC_INST:"mxgraph.pid2inst.discInst",MOUNTING:"mounting",FIELD:"field",ROOM:"room",INACCESSIBLE:"inaccessible",LOCAL:"local"};
mxShapePidDiscInst.prototype.customProperties=[{name:"mounting",dispName:"Mounting",type:"enum",defVal:"field",enumList:[{val:"field",dispName:"Field"},{val:"room",dispName:"Room"},{val:"inaccessible",dispName:"Inaccessible"},{val:"local",dispName:"Local"}]}];mxShapePidDiscInst.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};mxShapePidDiscInst.prototype.background=function(a,d,e,b,c){a.ellipse(0,0,b,c);a.fillAndStroke()};
.145),!1));return a};function mxShapeUMLInputPin(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dx=.5}mxUtils.extend(mxShapeUMLInputPin,mxActor);mxShapeUMLInputPin.prototype.cst={INPUT_PIN:"mxgraph.uml25.inputPin"};
mxShapeUMLInputPin.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(0,0);a.lineTo(b,0);a.lineTo(b,c);a.lineTo(0,c);a.close();a.fillAndStroke();a.setShadow(!1);a.begin();a.moveTo(.75*b,.5*c);a.lineTo(.25*b,.5*c);a.moveTo(.4*b,.4*c);a.lineTo(.25*b,.5*c);a.lineTo(.4*b,.6*c);a.stroke()};mxCellRenderer.registerShape(mxShapeUMLInputPin.prototype.cst.INPUT_PIN,mxShapeUMLInputPin);mxShapeUMLInputPin.prototype.constraints=null;
function mxShapeUMLBehaviorAction(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dx=.5}mxUtils.extend(mxShapeUMLBehaviorAction,mxActor);mxShapeUMLBehaviorAction.prototype.cst={BEHAVIOR_ACTION:"mxgraph.uml25.behaviorAction"};
mxShapeUMLBehaviorAction.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=mxUtils.getValue(this.style,"rounded",!1);e=mxUtils.getValue(this.style,"absoluteArcSize",!1);var f=parseFloat(mxUtils.getValue(this.style,"arcSize",this.arcSize));e||(f*=Math.min(b,c));f=Math.min(f,.5*b,.5*c);d||(f=0);a.begin();d?(a.moveTo(0,f),a.arcTo(f,f,0,0,1,f,0),a.lineTo(b-f,0),a.arcTo(f,f,0,0,1,b,f),a.lineTo(b,c-f),a.arcTo(f,f,0,0,1,b-f,c),a.lineTo(f,c),a.arcTo(f,f,0,0,1,0,c-f)):(a.moveTo(0,0),a.lineTo(b,
0),a.lineTo(b,c),a.lineTo(0,c));a.close();a.fillAndStroke();a.setShadow(!1);60<=b&&40<=c&&(a.begin(),a.moveTo(b-60,.5*c+20),a.lineTo(b-60,.5*c),a.lineTo(b-20,.5*c),a.lineTo(b-20,.5*c+20),a.moveTo(b-40,.5*c-20),a.lineTo(b-40,.5*c+20),a.stroke())};mxCellRenderer.registerShape(mxShapeUMLBehaviorAction.prototype.cst.BEHAVIOR_ACTION,mxShapeUMLBehaviorAction);mxShapeUMLBehaviorAction.prototype.constraints=null;
function mxShapeUMLAction(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dx=.5}mxUtils.extend(mxShapeUMLAction,mxActor);mxShapeUMLAction.prototype.cst={ACTION:"mxgraph.uml25.action"};
mxShapeUMLAction.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=mxUtils.getValue(this.style,"absoluteArcSize",!1);e=parseFloat(mxUtils.getValue(this.style,"arcSize",this.arcSize));d||(e*=Math.min(b,c));e=Math.min(e,.5*b,.5*c);a.begin();a.moveTo(0,e);a.arcTo(e,e,0,0,1,e,0);a.lineTo(b-e-10,0);a.arcTo(e,e,0,0,1,b-10,e);a.lineTo(b-10,c-e);a.arcTo(e,e,0,0,1,b-e-10,c);a.lineTo(e,c);a.arcTo(e,e,0,0,1,0,c-e);a.close();a.fillAndStroke();a.rect(b-10,.5*c-10,10,20);a.fillAndStroke()};
mxCellRenderer.registerShape(mxShapeUMLAction.prototype.cst.ACTION,mxShapeUMLAction);mxShapeUMLAction.prototype.constraints=null;function mxShapeUMLActionParams(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dx=.5}mxUtils.extend(mxShapeUMLActionParams,mxActor);mxShapeUMLActionParams.prototype.cst={ACTION_PARAMS:"mxgraph.uml25.actionParams"};
mxShapeUMLActionParams.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=mxUtils.getValue(this.style,"absoluteArcSize",!1);e=parseFloat(mxUtils.getValue(this.style,"arcSize",this.arcSize));d||(e*=Math.min(b,c));e=Math.min(e,.5*b,.5*c);a.begin();a.moveTo(20,e);a.arcTo(e,e,0,0,1,20+e,0);a.lineTo(b-e,0);a.arcTo(e,e,0,0,1,b,e);a.lineTo(b,c-e);a.arcTo(e,e,0,0,1,b-e,c);a.lineTo(20+e,c);a.arcTo(e,e,0,0,1,20,c-e);a.close();a.fillAndStroke();a.rect(5,.5*c-17,20,34);a.fillAndStroke();a.rect(0,
.5*c-13,10,10);a.fillAndStroke();a.rect(0,.5*c+3,10,10);a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeUMLActionParams.prototype.cst.ACTION_PARAMS,mxShapeUMLActionParams);mxShapeUMLActionParams.prototype.constraints=null;function mxShapePidDiscInst(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapePidDiscInst,mxShape);
mxShapePidDiscInst.prototype.cst={SHAPE_DISC_INST:"mxgraph.pid2inst.discInst",MOUNTING:"mounting",FIELD:"field",ROOM:"room",INACCESSIBLE:"inaccessible",LOCAL:"local"};mxShapePidDiscInst.prototype.customProperties=[{name:"mounting",dispName:"Mounting",type:"enum",defVal:"field",enumList:[{val:"field",dispName:"Field"},{val:"room",dispName:"Room"},{val:"inaccessible",dispName:"Inaccessible"},{val:"local",dispName:"Local"}]}];
mxShapePidDiscInst.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};mxShapePidDiscInst.prototype.background=function(a,d,e,b,c){a.ellipse(0,0,b,c);a.fillAndStroke()};
mxShapePidDiscInst.prototype.foreground=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxShapePidDiscInst.prototype.cst.MOUNTING,"field");d===mxShapePidDiscInst.prototype.cst.ROOM?(a.begin(),a.moveTo(0,.5*c),a.lineTo(b,.5*c),a.stroke()):d===mxShapePidDiscInst.prototype.cst.INACCESSIBLE?(a.setDashed(!0),a.begin(),a.moveTo(0,.5*c),a.lineTo(b,.5*c),a.stroke()):d===mxShapePidDiscInst.prototype.cst.LOCAL&&(a.begin(),a.moveTo(.005*b,.48*c),a.lineTo(.995*b,.48*c),a.moveTo(.005*b,.52*c),a.lineTo(.995*
b,.52*c),a.stroke())};mxCellRenderer.registerShape(mxShapePidDiscInst.prototype.cst.SHAPE_DISC_INST,mxShapePidDiscInst);
mxShapePidDiscInst.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(.145,.145),!1),new mxConnectionConstraint(new mxPoint(.145,.855),!1),new mxConnectionConstraint(new mxPoint(.855,.145),!1),new mxConnectionConstraint(new mxPoint(.855,.855),!1)];

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
var mxClient={VERSION:"14.1.1",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&
var mxClient={VERSION:"14.1.2",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:null!=navigator.userAgent&&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:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&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:/Apple Computer, Inc/.test(navigator.vendor),IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,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_VML:"MICROSOFT INTERNET EXPLORER"==navigator.appName.toUpperCase(),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=
@ -98,9 +98,9 @@ OUTLINE_HIGHLIGHT_STROKEWIDTH:5,HIGHLIGHT_STROKEWIDTH:3,HIGHLIGHT_SIZE:2,HIGHLIG
VERTEX_SELECTION_COLOR:"#00FF00",VERTEX_SELECTION_STROKEWIDTH:1,EDGE_SELECTION_STROKEWIDTH:1,VERTEX_SELECTION_DASHED:!0,EDGE_SELECTION_DASHED:!0,GUIDE_COLOR:"#FF0000",GUIDE_STROKEWIDTH:1,OUTLINE_COLOR:"#0099FF",OUTLINE_STROKEWIDTH:mxClient.IS_IE?2:3,HANDLE_SIZE:6,LABEL_HANDLE_SIZE:4,HANDLE_FILLCOLOR:"#00FF00",HANDLE_STROKECOLOR:"black",LABEL_HANDLE_FILLCOLOR:"yellow",CONNECT_HANDLE_FILLCOLOR:"#0000FF",LOCKED_HANDLE_FILLCOLOR:"#FF0000",OUTLINE_HANDLE_FILLCOLOR:"#00FFFF",OUTLINE_HANDLE_STROKECOLOR:"#0033FF",
DEFAULT_FONTFAMILY:"Arial,Helvetica",DEFAULT_FONTSIZE:11,DEFAULT_TEXT_DIRECTION:"",LINE_HEIGHT:1.2,WORD_WRAP:"normal",ABSOLUTE_LINE_HEIGHT:!1,DEFAULT_FONTSTYLE:0,DEFAULT_STARTSIZE:40,DEFAULT_MARKERSIZE:6,DEFAULT_IMAGESIZE:24,ENTITY_SEGMENT:30,RECTANGLE_ROUNDING_FACTOR:.15,LINE_ARCSIZE:20,ARROW_SPACING:0,ARROW_WIDTH:30,ARROW_SIZE:30,PAGE_FORMAT_A4_PORTRAIT:new mxRectangle(0,0,827,1169),PAGE_FORMAT_A4_LANDSCAPE:new mxRectangle(0,0,1169,827),PAGE_FORMAT_LETTER_PORTRAIT:new mxRectangle(0,0,850,1100),
PAGE_FORMAT_LETTER_LANDSCAPE:new mxRectangle(0,0,1100,850),NONE:"none",STYLE_PERIMETER:"perimeter",STYLE_SOURCE_PORT:"sourcePort",STYLE_TARGET_PORT:"targetPort",STYLE_PORT_CONSTRAINT:"portConstraint",STYLE_PORT_CONSTRAINT_ROTATION:"portConstraintRotation",STYLE_SOURCE_PORT_CONSTRAINT:"sourcePortConstraint",STYLE_TARGET_PORT_CONSTRAINT:"targetPortConstraint",STYLE_OPACITY:"opacity",STYLE_FILL_OPACITY:"fillOpacity",STYLE_STROKE_OPACITY:"strokeOpacity",STYLE_TEXT_OPACITY:"textOpacity",STYLE_TEXT_DIRECTION:"textDirection",
STYLE_OVERFLOW:"overflow",STYLE_ORTHOGONAL:"orthogonal",STYLE_EXIT_X:"exitX",STYLE_EXIT_Y:"exitY",STYLE_EXIT_DX:"exitDx",STYLE_EXIT_DY:"exitDy",STYLE_EXIT_PERIMETER:"exitPerimeter",STYLE_ENTRY_X:"entryX",STYLE_ENTRY_Y:"entryY",STYLE_ENTRY_DX:"entryDx",STYLE_ENTRY_DY:"entryDy",STYLE_ENTRY_PERIMETER:"entryPerimeter",STYLE_WHITE_SPACE:"whiteSpace",STYLE_ROTATION:"rotation",STYLE_FILLCOLOR:"fillColor",STYLE_POINTER_EVENTS:"pointerEvents",STYLE_SWIMLANE_FILLCOLOR:"swimlaneFillColor",STYLE_MARGIN:"margin",
STYLE_GRADIENTCOLOR:"gradientColor",STYLE_GRADIENT_DIRECTION:"gradientDirection",STYLE_STROKECOLOR:"strokeColor",STYLE_SEPARATORCOLOR:"separatorColor",STYLE_STROKEWIDTH:"strokeWidth",STYLE_ALIGN:"align",STYLE_VERTICAL_ALIGN:"verticalAlign",STYLE_LABEL_WIDTH:"labelWidth",STYLE_LABEL_POSITION:"labelPosition",STYLE_VERTICAL_LABEL_POSITION:"verticalLabelPosition",STYLE_IMAGE_ASPECT:"imageAspect",STYLE_IMAGE_ALIGN:"imageAlign",STYLE_IMAGE_VERTICAL_ALIGN:"imageVerticalAlign",STYLE_GLASS:"glass",STYLE_IMAGE:"image",
STYLE_IMAGE_WIDTH:"imageWidth",STYLE_IMAGE_HEIGHT:"imageHeight",STYLE_IMAGE_BACKGROUND:"imageBackground",STYLE_IMAGE_BORDER:"imageBorder",STYLE_FLIPH:"flipH",STYLE_FLIPV:"flipV",STYLE_NOLABEL:"noLabel",STYLE_NOEDGESTYLE:"noEdgeStyle",STYLE_LABEL_BACKGROUNDCOLOR:"labelBackgroundColor",STYLE_LABEL_BORDERCOLOR:"labelBorderColor",STYLE_LABEL_PADDING:"labelPadding",STYLE_INDICATOR_SHAPE:"indicatorShape",STYLE_INDICATOR_IMAGE:"indicatorImage",STYLE_INDICATOR_COLOR:"indicatorColor",STYLE_INDICATOR_STROKECOLOR:"indicatorStrokeColor",
STYLE_OVERFLOW:"overflow",STYLE_BLOCK_SPACING:"blockSpacing",STYLE_ORTHOGONAL:"orthogonal",STYLE_EXIT_X:"exitX",STYLE_EXIT_Y:"exitY",STYLE_EXIT_DX:"exitDx",STYLE_EXIT_DY:"exitDy",STYLE_EXIT_PERIMETER:"exitPerimeter",STYLE_ENTRY_X:"entryX",STYLE_ENTRY_Y:"entryY",STYLE_ENTRY_DX:"entryDx",STYLE_ENTRY_DY:"entryDy",STYLE_ENTRY_PERIMETER:"entryPerimeter",STYLE_WHITE_SPACE:"whiteSpace",STYLE_ROTATION:"rotation",STYLE_FILLCOLOR:"fillColor",STYLE_POINTER_EVENTS:"pointerEvents",STYLE_SWIMLANE_FILLCOLOR:"swimlaneFillColor",
STYLE_MARGIN:"margin",STYLE_GRADIENTCOLOR:"gradientColor",STYLE_GRADIENT_DIRECTION:"gradientDirection",STYLE_STROKECOLOR:"strokeColor",STYLE_SEPARATORCOLOR:"separatorColor",STYLE_STROKEWIDTH:"strokeWidth",STYLE_ALIGN:"align",STYLE_VERTICAL_ALIGN:"verticalAlign",STYLE_LABEL_WIDTH:"labelWidth",STYLE_LABEL_POSITION:"labelPosition",STYLE_VERTICAL_LABEL_POSITION:"verticalLabelPosition",STYLE_IMAGE_ASPECT:"imageAspect",STYLE_IMAGE_ALIGN:"imageAlign",STYLE_IMAGE_VERTICAL_ALIGN:"imageVerticalAlign",STYLE_GLASS:"glass",
STYLE_IMAGE:"image",STYLE_IMAGE_WIDTH:"imageWidth",STYLE_IMAGE_HEIGHT:"imageHeight",STYLE_IMAGE_BACKGROUND:"imageBackground",STYLE_IMAGE_BORDER:"imageBorder",STYLE_FLIPH:"flipH",STYLE_FLIPV:"flipV",STYLE_NOLABEL:"noLabel",STYLE_NOEDGESTYLE:"noEdgeStyle",STYLE_LABEL_BACKGROUNDCOLOR:"labelBackgroundColor",STYLE_LABEL_BORDERCOLOR:"labelBorderColor",STYLE_LABEL_PADDING:"labelPadding",STYLE_INDICATOR_SHAPE:"indicatorShape",STYLE_INDICATOR_IMAGE:"indicatorImage",STYLE_INDICATOR_COLOR:"indicatorColor",STYLE_INDICATOR_STROKECOLOR:"indicatorStrokeColor",
STYLE_INDICATOR_GRADIENTCOLOR:"indicatorGradientColor",STYLE_INDICATOR_SPACING:"indicatorSpacing",STYLE_INDICATOR_WIDTH:"indicatorWidth",STYLE_INDICATOR_HEIGHT:"indicatorHeight",STYLE_INDICATOR_DIRECTION:"indicatorDirection",STYLE_SHADOW:"shadow",STYLE_SEGMENT:"segment",STYLE_ENDARROW:"endArrow",STYLE_STARTARROW:"startArrow",STYLE_ENDSIZE:"endSize",STYLE_STARTSIZE:"startSize",STYLE_SWIMLANE_LINE:"swimlaneLine",STYLE_ENDFILL:"endFill",STYLE_STARTFILL:"startFill",STYLE_DASHED:"dashed",STYLE_DASH_PATTERN:"dashPattern",
STYLE_FIX_DASH:"fixDash",STYLE_ROUNDED:"rounded",STYLE_CURVED:"curved",STYLE_ARCSIZE:"arcSize",STYLE_ABSOLUTE_ARCSIZE:"absoluteArcSize",STYLE_SOURCE_PERIMETER_SPACING:"sourcePerimeterSpacing",STYLE_TARGET_PERIMETER_SPACING:"targetPerimeterSpacing",STYLE_PERIMETER_SPACING:"perimeterSpacing",STYLE_SPACING:"spacing",STYLE_SPACING_TOP:"spacingTop",STYLE_SPACING_LEFT:"spacingLeft",STYLE_SPACING_BOTTOM:"spacingBottom",STYLE_SPACING_RIGHT:"spacingRight",STYLE_HORIZONTAL:"horizontal",STYLE_DIRECTION:"direction",
STYLE_ANCHOR_POINT_DIRECTION:"anchorPointDirection",STYLE_ELBOW:"elbow",STYLE_FONTCOLOR:"fontColor",STYLE_FONTFAMILY:"fontFamily",STYLE_FONTSIZE:"fontSize",STYLE_FONTSTYLE:"fontStyle",STYLE_ASPECT:"aspect",STYLE_AUTOSIZE:"autosize",STYLE_FOLDABLE:"foldable",STYLE_EDITABLE:"editable",STYLE_BACKGROUND_OUTLINE:"backgroundOutline",STYLE_BENDABLE:"bendable",STYLE_MOVABLE:"movable",STYLE_RESIZABLE:"resizable",STYLE_RESIZE_WIDTH:"resizeWidth",STYLE_RESIZE_HEIGHT:"resizeHeight",STYLE_ROTATABLE:"rotatable",
@ -958,9 +958,9 @@ c("align",mxConstants.STYLE_ALIGN,"")||c("valign",mxConstants.STYLE_VERTICAL_ALI
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};
mxCellRenderer.prototype.getLabelBounds=function(a){var b=a.view.graph,c=a.view.scale,d=b.getModel().isEdge(a.cell),e=new mxRectangle(a.absoluteOffset.x,a.absoluteOffset.y);if(d){var f=a.text.getSpacing();e.x+=f.x*c;e.y+=f.y*c;b=b.getCellGeometry(a.cell);null!=b&&(e.width=Math.max(0,b.width*c),e.height=Math.max(0,b.height*c))}else a.text.isPaintBoundsInverted()&&(b=e.x,e.x=e.y,e.y=b),e.x+=a.x,e.y+=a.y,e.width=Math.max(1,a.width),e.height=Math.max(1,a.height);a.text.isPaintBoundsInverted()&&(b=(a.width-
a.height)/2,e.x+=b,e.y-=b,b=e.width,e.width=e.height,e.height=b);null!=a.shape&&(b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER),f=mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE),b==mxConstants.ALIGN_CENTER&&f==mxConstants.ALIGN_MIDDLE&&(e=a.shape.getLabelBounds(e)));b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_WIDTH,null);null!=b&&(e.width=parseFloat(b)*c);d||this.rotateLabelBounds(a,e);return e};
mxCellRenderer.prototype.rotateLabelBounds=function(a,b){b.y-=a.text.margin.y*b.height;b.x-=a.text.margin.x*b.width;if(!this.legacySpacing||"fill"!=a.style[mxConstants.STYLE_OVERFLOW]&&"width"!=a.style[mxConstants.STYLE_OVERFLOW]&&"block"!=a.style[mxConstants.STYLE_OVERFLOW]){var c=a.view.scale,d=a.text.getSpacing();b.x+=d.x*c;b.y+=d.y*c;var d=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER),e=mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE),
f=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_WIDTH,null);b.width=Math.max(0,b.width-(d==mxConstants.ALIGN_CENTER&&null==f?a.text.spacingLeft*c+a.text.spacingRight*c:0));b.height=Math.max(0,b.height-(e==mxConstants.ALIGN_MIDDLE?a.text.spacingTop*c+a.text.spacingBottom*c:0))}e=a.text.getTextRotation();0!=e&&null!=a&&a.view.graph.model.isVertex(a.cell)&&(c=a.getCenterX(),d=a.getCenterY(),b.x!=c||b.y!=d)&&(e*=Math.PI/180,c=mxUtils.getRotatedPoint(new mxPoint(b.x,b.y),Math.cos(e),Math.sin(e),new mxPoint(c,
d)),b.x=c.x,b.y=c.y)};
mxCellRenderer.prototype.rotateLabelBounds=function(a,b){b.y-=a.text.margin.y*b.height;b.x-=a.text.margin.x*b.width;if(!this.legacySpacing||"fill"!=a.style[mxConstants.STYLE_OVERFLOW]&&"width"!=a.style[mxConstants.STYLE_OVERFLOW]&&("block"!=a.style[mxConstants.STYLE_OVERFLOW]||"1"==a.style[mxConstants.STYLE_BLOCK_SPACING])){var c=a.view.scale,d=a.text.getSpacing();b.x+=d.x*c;b.y+=d.y*c;var d=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER),e=mxUtils.getValue(a.style,
mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE),f=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_WIDTH,null);b.width=Math.max(0,b.width-(d==mxConstants.ALIGN_CENTER&&null==f?a.text.spacingLeft*c+a.text.spacingRight*c:0));b.height=Math.max(0,b.height-(e==mxConstants.ALIGN_MIDDLE?a.text.spacingTop*c+a.text.spacingBottom*c:0))}e=a.text.getTextRotation();0!=e&&null!=a&&a.view.graph.model.isVertex(a.cell)&&(c=a.getCenterX(),d=a.getCenterY(),b.x!=c||b.y!=d)&&(e*=Math.PI/180,c=mxUtils.getRotatedPoint(new mxPoint(b.x,
b.y),Math.cos(e),Math.sin(e),new mxPoint(c,d)),b.x=c.x,b.y=c.y)};
mxCellRenderer.prototype.redrawCellOverlays=function(a,b){this.createCellOverlays(a);if(null!=a.overlays){var c=mxUtils.mod(mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0),90),d=mxUtils.toRadians(c),e=Math.cos(d),f=Math.sin(d);a.overlays.visit(function(d,k){var g=k.overlay.getBounds(a);if(!a.view.graph.getModel().isEdge(a.cell)&&null!=a.shape&&0!=c){var m=g.getCenterX(),n=g.getCenterY(),n=mxUtils.getRotatedPoint(new mxPoint(m,n),e,f,new mxPoint(a.getCenterX(),a.getCenterY())),m=n.x,n=n.y;g.x=
Math.round(m-g.width/2);g.y=Math.round(n-g.height/2)}if(b||null==k.bounds||k.scale!=a.view.scale||!k.bounds.equals(g))k.bounds=g,k.scale=a.view.scale,k.redraw()})}};
mxCellRenderer.prototype.redrawControl=function(a,b){var c=a.view.graph.getFoldingImage(a);if(null!=a.control&&null!=c){var c=this.getControlBounds(a,c.width,c.height),d=this.legacyControlPosition?mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0):a.shape.getTextRotation(),e=a.view.scale;if(b||a.control.scale!=e||!a.control.bounds.equals(c)||a.control.rotation!=d)a.control.rotation=d,a.control.bounds=c,a.control.scale=e,a.control.redraw()}};

View file

@ -6,11 +6,11 @@ if (workbox)
workbox.precaching.precacheAndRoute([
{
"url": "js/app.min.js",
"revision": "f4ec81ec1ad9fc8f4ef35f3af7854f9a"
"revision": "13cb3976757eeadfcab2af7787f59fdb"
},
{
"url": "js/extensions.min.js",
"revision": "dfc7176d1d195196c4749612f4a673ab"
"revision": "441dda769aa367d7a8e96e2106b914e4"
},
{
"url": "js/stencils.min.js",
@ -18,7 +18,7 @@ if (workbox)
},
{
"url": "js/shapes.min.js",
"revision": "fafef0a25b40d8a14ae6c88f225ce50f"
"revision": "d4e08647ed1af5535730685f546a454f"
},
{
"url": "js/math-print.js",
@ -26,7 +26,7 @@ if (workbox)
},
{
"url": "index.html",
"revision": "0d230ea924531724d0f5cd5f7c645993"
"revision": "8ef6cab30fadfb9eaef35903e8b9a379"
},
{
"url": "open.html",
@ -58,7 +58,7 @@ if (workbox)
},
{
"url": "js/viewer-static.min.js",
"revision": "a2475f420379dca82afebc157a3bf889"
"revision": "17db7a4cb54533296e6b1eaaa3f94ab0"
},
{
"url": "connect/jira/editor-1-3-3.html",

View file

@ -0,0 +1,261 @@
//**********************************************************************************************************************************************************
//Input Pin
//**********************************************************************************************************************************************************
function mxShapeUMLInputPin(bounds, fill, stroke, strokewidth)
{
mxShape.call(this);
this.bounds = bounds;
this.fill = fill;
this.stroke = stroke;
this.strokewidth = (strokewidth != null) ? strokewidth : 1;
this.dx = 0.5;
};
/**
* Extends mxShape.
*/
mxUtils.extend(mxShapeUMLInputPin, mxActor);
mxShapeUMLInputPin.prototype.cst = {INPUT_PIN : 'mxgraph.uml25.inputPin'};
mxShapeUMLInputPin.prototype.paintVertexShape = function(c, x, y, w, h)
{
c.translate(x, y);
c.begin();
c.moveTo(0, 0);
c.lineTo(w, 0);
c.lineTo(w, h);
c.lineTo(0, h);
c.close();
c.fillAndStroke();
c.setShadow(false);
c.begin();
c.moveTo(w * 0.75, h * 0.5);
c.lineTo(w * 0.25, h * 0.5);
c.moveTo(w * 0.4, h * 0.4);
c.lineTo(w * 0.25, h * 0.5);
c.lineTo(w * 0.4, h * 0.6);
c.stroke();
};
mxCellRenderer.registerShape(mxShapeUMLInputPin.prototype.cst.INPUT_PIN, mxShapeUMLInputPin);
mxShapeUMLInputPin.prototype.constraints = null;
//**********************************************************************************************************************************************************
//Behavior Action
//**********************************************************************************************************************************************************
function mxShapeUMLBehaviorAction(bounds, fill, stroke, strokewidth)
{
mxShape.call(this);
this.bounds = bounds;
this.fill = fill;
this.stroke = stroke;
this.strokewidth = (strokewidth != null) ? strokewidth : 1;
this.dx = 0.5;
};
mxUtils.extend(mxShapeUMLBehaviorAction, mxActor);
mxShapeUMLBehaviorAction.prototype.cst = {BEHAVIOR_ACTION : 'mxgraph.uml25.behaviorAction'};
/**
* Function: paintVertexShape
*
* Paints the vertex shape.
*/
mxShapeUMLBehaviorAction.prototype.paintVertexShape = function(c, x, y, w, h)
{
c.translate(x, y);
var rounded = mxUtils.getValue(this.style, 'rounded', false);
var absArcSize = mxUtils.getValue(this.style, 'absoluteArcSize', false);
var arcSize = parseFloat(mxUtils.getValue(this.style, 'arcSize', this.arcSize));
if (!absArcSize)
{
arcSize = Math.min(w, h) * arcSize;
}
arcSize = Math.min(arcSize, w * 0.5, h * 0.5);
if (!rounded)
{
arcSize = 0;
}
c.begin();
if (rounded)
{
c.moveTo(0, arcSize);
c.arcTo(arcSize, arcSize, 0, 0, 1, arcSize, 0);
c.lineTo(w - arcSize, 0);
c.arcTo(arcSize, arcSize, 0, 0, 1, w, arcSize);
c.lineTo(w, h - arcSize);
c.arcTo(arcSize, arcSize, 0, 0, 1, w - arcSize, h);
c.lineTo(arcSize, h);
c.arcTo(arcSize, arcSize, 0, 0, 1, 0, h - arcSize);
}
else
{
c.moveTo(0, 0);
c.lineTo(w, 0);
c.lineTo(w, h);
c.lineTo(0, h);
}
c.close();
c.fillAndStroke();
c.setShadow(false);
if (w >= 60 && h >= 40)
{
c.begin();
c.moveTo(w - 60, h * 0.5 + 20);
c.lineTo(w - 60, h * 0.5);
c.lineTo(w - 20, h * 0.5);
c.lineTo(w - 20, h * 0.5 + 20);
c.moveTo(w - 40, h * 0.5 - 20);
c.lineTo(w - 40, h * 0.5 + 20);
c.stroke();
}
};
mxCellRenderer.registerShape(mxShapeUMLBehaviorAction.prototype.cst.BEHAVIOR_ACTION, mxShapeUMLBehaviorAction);
mxShapeUMLBehaviorAction.prototype.constraints = null;
//**********************************************************************************************************************************************************
//Action
//**********************************************************************************************************************************************************
/**
* Extends mxShape.
*/
function mxShapeUMLAction(bounds, fill, stroke, strokewidth)
{
mxShape.call(this);
this.bounds = bounds;
this.fill = fill;
this.stroke = stroke;
this.strokewidth = (strokewidth != null) ? strokewidth : 1;
this.dx = 0.5;
};
/**
* Extends mxShape.
*/
mxUtils.extend(mxShapeUMLAction, mxActor);
mxShapeUMLAction.prototype.cst = {ACTION : 'mxgraph.uml25.action'};
/**
* Function: paintVertexShape
*
* Paints the vertex shape.
*/
mxShapeUMLAction.prototype.paintVertexShape = function(c, x, y, w, h)
{
c.translate(x, y);
var absArcSize = mxUtils.getValue(this.style, 'absoluteArcSize', false);
var arcSize = parseFloat(mxUtils.getValue(this.style, 'arcSize', this.arcSize));
if (!absArcSize)
{
arcSize = Math.min(w, h) * arcSize;
}
arcSize = Math.min(arcSize, w * 0.5, h * 0.5);
c.begin();
c.moveTo(0, arcSize);
c.arcTo(arcSize, arcSize, 0, 0, 1, arcSize, 0);
c.lineTo(w - arcSize - 10, 0);
c.arcTo(arcSize, arcSize, 0, 0, 1, w - 10, arcSize);
c.lineTo(w - 10, h - arcSize);
c.arcTo(arcSize, arcSize, 0, 0, 1, w - arcSize - 10, h);
c.lineTo(arcSize, h);
c.arcTo(arcSize, arcSize, 0, 0, 1, 0, h - arcSize);
c.close();
c.fillAndStroke();
c.rect(w - 10, h * 0.5 - 10, 10, 20);
c.fillAndStroke();
};
mxCellRenderer.registerShape(mxShapeUMLAction.prototype.cst.ACTION, mxShapeUMLAction);
mxShapeUMLAction.prototype.constraints = null;
//**********************************************************************************************************************************************************
//Action with parameters
//**********************************************************************************************************************************************************
/**
* Extends mxShape.
*/
function mxShapeUMLActionParams(bounds, fill, stroke, strokewidth)
{
mxShape.call(this);
this.bounds = bounds;
this.fill = fill;
this.stroke = stroke;
this.strokewidth = (strokewidth != null) ? strokewidth : 1;
this.dx = 0.5;
};
/**
* Extends mxShape.
*/
mxUtils.extend(mxShapeUMLActionParams, mxActor);
mxShapeUMLActionParams.prototype.cst = {ACTION_PARAMS : 'mxgraph.uml25.actionParams'};
/**
* Function: paintVertexShape
*
* Paints the vertex shape.
*/
mxShapeUMLActionParams.prototype.paintVertexShape = function(c, x, y, w, h)
{
c.translate(x, y);
var absArcSize = mxUtils.getValue(this.style, 'absoluteArcSize', false);
var arcSize = parseFloat(mxUtils.getValue(this.style, 'arcSize', this.arcSize));
if (!absArcSize)
{
arcSize = Math.min(w, h) * arcSize;
}
arcSize = Math.min(arcSize, w * 0.5, h * 0.5);
c.begin();
c.moveTo(20, arcSize);
c.arcTo(arcSize, arcSize, 0, 0, 1, 20 + arcSize, 0);
c.lineTo(w - arcSize, 0);
c.arcTo(arcSize, arcSize, 0, 0, 1, w, arcSize);
c.lineTo(w, h - arcSize);
c.arcTo(arcSize, arcSize, 0, 0, 1, w - arcSize, h);
c.lineTo(20 + arcSize, h);
c.arcTo(arcSize, arcSize, 0, 0, 1, 20, h - arcSize);
c.close();
c.fillAndStroke();
c.rect(5, h * 0.5 - 17, 20, 34);
c.fillAndStroke();
c.rect(0, h * 0.5 - 13, 10, 10);
c.fillAndStroke();
c.rect(0, h * 0.5 + 3, 10, 10);
c.fillAndStroke();
};
mxCellRenderer.registerShape(mxShapeUMLActionParams.prototype.cst.ACTION_PARAMS, mxShapeUMLActionParams);
mxShapeUMLActionParams.prototype.constraints = null;