12.9.5 release

This commit is contained in:
Gaudenz Alder 2020-03-30 16:12:15 +02:00
parent 549c488201
commit f9e6565fc1
16 changed files with 1690 additions and 1292 deletions

View file

@ -1,3 +1,8 @@
30-MAR:2020: 12.9.5
- Uses mxGraph 4.1.1 beta 16
- Fixes some shapes
29-MAR:2020: 12.9.4
- Adds delegating connector and half circle markers

View file

@ -1 +1 @@
12.9.4
12.9.5

View file

@ -1108,8 +1108,9 @@ mxGraph.prototype.setCellWarning=function(a,b,c,d){if(null!=b&&0<b.length)return
mxGraph.prototype.startEditingAtCell=function(a,b){null!=b&&mxEvent.isMultiTouchEvent(b)||(null==a&&(a=this.getSelectionCell(),null==a||this.isCellEditable(a)||(a=null)),null!=a&&(this.fireEvent(new mxEventObject(mxEvent.START_EDITING,"cell",a,"event",b)),this.cellEditor.startEditing(a,b),this.fireEvent(new mxEventObject(mxEvent.EDITING_STARTED,"cell",a,"event",b))))};mxGraph.prototype.getEditingValue=function(a,b){return this.convertValueToString(a)};
mxGraph.prototype.stopEditing=function(a){this.cellEditor.stopEditing(a);this.fireEvent(new mxEventObject(mxEvent.EDITING_STOPPED,"cancel",a))};mxGraph.prototype.labelChanged=function(a,b,c){this.model.beginUpdate();try{var d=a.value;this.cellLabelChanged(a,b,this.isAutoSizeCell(a));this.fireEvent(new mxEventObject(mxEvent.LABEL_CHANGED,"cell",a,"value",b,"old",d,"event",c))}finally{this.model.endUpdate()}return a};
mxGraph.prototype.cellLabelChanged=function(a,b,c){this.model.beginUpdate();try{this.model.setValue(a,b),c&&this.cellSizeUpdated(a,!1)}finally{this.model.endUpdate()}};mxGraph.prototype.escape=function(a){this.fireEvent(new mxEventObject(mxEvent.ESCAPE,"event",a))};
mxGraph.prototype.click=function(a){var b=a.getEvent(),c=a.getCell(),d=new mxEventObject(mxEvent.CLICK,"event",b,"cell",c);a.isConsumed()&&d.consume();this.fireEvent(d);if(this.isEnabled()&&!mxEvent.isConsumed(b)&&!d.isConsumed())if(null!=c){if(this.isTransparentClickEvent(b)){var e=!1;a=this.getCellAt(a.graphX,a.graphY,null,null,null,mxUtils.bind(this,function(a){a=this.isCellSelected(a.cell);e=e||a;return!e||a}));null!=a&&(c=a)}this.selectCellForEvent(c,b)}else c=null,this.isSwimlaneSelectionEnabled()&&
(c=this.getSwimlaneAt(a.getGraphX(),a.getGraphY())),null!=c?this.selectCellForEvent(c,b):this.isToggleEvent(b)||this.clearSelection()};mxGraph.prototype.dblClick=function(a,b){var c=new mxEventObject(mxEvent.DOUBLE_CLICK,"event",a,"cell",b);this.fireEvent(c);!this.isEnabled()||mxEvent.isConsumed(a)||c.isConsumed()||null==b||!this.isCellEditable(b)||this.isEditing(b)||(this.startEditingAtCell(b,a),mxEvent.consume(a))};
mxGraph.prototype.click=function(a){var b=a.getEvent(),c=a.getCell(),d=new mxEventObject(mxEvent.CLICK,"event",b,"cell",c);a.isConsumed()&&d.consume();this.fireEvent(d);if(this.isEnabled()&&!mxEvent.isConsumed(b)&&!d.isConsumed())if(null!=c){if(this.isTransparentClickEvent(b)){var e=!1;a=this.getCellAt(a.graphX,a.graphY,null,null,null,mxUtils.bind(this,function(a){a=this.isCellSelected(a.cell);e=e||a;return!e||a}));null!=a&&(c=a)}this.selectCellForEvent(c,b)}else if(c=null,this.isSwimlaneSelectionEnabled()&&
(c=this.getSwimlaneAt(a.getGraphX(),a.getGraphY())),null!=c){for(var f=c,d=[];null!=f;){var f=this.model.getParent(f),g=this.view.getState(f);this.isSwimlane(f)&&null!=g&&this.intersects(g,a.getGraphX(),a.getGraphY())&&d.push(f)}if(0<d.length)for(d=d.reverse(),d.splice(0,0,c),d.push(c),a=0;a<d.length-2;a++)this.isCellSelected(d[a])&&(c=d[a+1]);this.selectCellForEvent(c,b)}else this.isToggleEvent(b)||this.clearSelection()};
mxGraph.prototype.dblClick=function(a,b){var c=new mxEventObject(mxEvent.DOUBLE_CLICK,"event",a,"cell",b);this.fireEvent(c);!this.isEnabled()||mxEvent.isConsumed(a)||c.isConsumed()||null==b||!this.isCellEditable(b)||this.isEditing(b)||(this.startEditingAtCell(b,a),mxEvent.consume(a))};
mxGraph.prototype.tapAndHold=function(a){var b=a.getEvent(),c=new mxEventObject(mxEvent.TAP_AND_HOLD,"event",b,"cell",a.getCell());this.fireEvent(c);c.isConsumed()&&(this.panningHandler.panningTrigger=!1);this.isEnabled()&&!mxEvent.isConsumed(b)&&!c.isConsumed()&&this.connectionHandler.isEnabled()&&(b=this.view.getState(this.connectionHandler.marker.getCell(a)),null!=b&&(this.connectionHandler.marker.currentColor=this.connectionHandler.marker.validColor,this.connectionHandler.marker.markedState=b,
this.connectionHandler.marker.mark(),this.connectionHandler.first=new mxPoint(a.getGraphX(),a.getGraphY()),this.connectionHandler.edgeState=this.connectionHandler.createEdgeState(a),this.connectionHandler.previous=b,this.connectionHandler.fireEvent(new mxEventObject(mxEvent.START,"state",this.connectionHandler.previous))))};
mxGraph.prototype.scrollPointToVisible=function(a,b,c,d){if(this.timerAutoScroll||!this.ignoreScrollbars&&!mxUtils.hasScrollbars(this.container))this.allowAutoPanning&&!this.panningHandler.isActive()&&(null==this.panningManager&&(this.panningManager=this.createPanningManager()),this.panningManager.panTo(a+this.panDx,b+this.panDy));else{var e=this.container;d=null!=d?d:20;if(a>=e.scrollLeft&&b>=e.scrollTop&&a<=e.scrollLeft+e.clientWidth&&b<=e.scrollTop+e.clientHeight){var f=e.scrollLeft+e.clientWidth-

View file

@ -1,6 +1,6 @@
{
"name": "diagrams.net",
"short_name": "diagrams.net",
"short_name": "Diagrams",
"description": "diagrams.net is a completely free diagram editor",
"icons": [
{

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View file

@ -392,8 +392,6 @@
* Main
*/
App.main();
console.log('here', mxClient.IS_GC);
</script>
</body>
</html>

View file

@ -1252,8 +1252,9 @@ mxGraph.prototype.setCellWarning=function(a,b,c,d){if(null!=b&&0<b.length)return
mxGraph.prototype.startEditingAtCell=function(a,b){null!=b&&mxEvent.isMultiTouchEvent(b)||(null==a&&(a=this.getSelectionCell(),null==a||this.isCellEditable(a)||(a=null)),null!=a&&(this.fireEvent(new mxEventObject(mxEvent.START_EDITING,"cell",a,"event",b)),this.cellEditor.startEditing(a,b),this.fireEvent(new mxEventObject(mxEvent.EDITING_STARTED,"cell",a,"event",b))))};mxGraph.prototype.getEditingValue=function(a,b){return this.convertValueToString(a)};
mxGraph.prototype.stopEditing=function(a){this.cellEditor.stopEditing(a);this.fireEvent(new mxEventObject(mxEvent.EDITING_STOPPED,"cancel",a))};mxGraph.prototype.labelChanged=function(a,b,c){this.model.beginUpdate();try{var d=a.value;this.cellLabelChanged(a,b,this.isAutoSizeCell(a));this.fireEvent(new mxEventObject(mxEvent.LABEL_CHANGED,"cell",a,"value",b,"old",d,"event",c))}finally{this.model.endUpdate()}return a};
mxGraph.prototype.cellLabelChanged=function(a,b,c){this.model.beginUpdate();try{this.model.setValue(a,b),c&&this.cellSizeUpdated(a,!1)}finally{this.model.endUpdate()}};mxGraph.prototype.escape=function(a){this.fireEvent(new mxEventObject(mxEvent.ESCAPE,"event",a))};
mxGraph.prototype.click=function(a){var b=a.getEvent(),c=a.getCell(),d=new mxEventObject(mxEvent.CLICK,"event",b,"cell",c);a.isConsumed()&&d.consume();this.fireEvent(d);if(this.isEnabled()&&!mxEvent.isConsumed(b)&&!d.isConsumed())if(null!=c){if(this.isTransparentClickEvent(b)){var e=!1;a=this.getCellAt(a.graphX,a.graphY,null,null,null,mxUtils.bind(this,function(a){a=this.isCellSelected(a.cell);e=e||a;return!e||a}));null!=a&&(c=a)}this.selectCellForEvent(c,b)}else c=null,this.isSwimlaneSelectionEnabled()&&
(c=this.getSwimlaneAt(a.getGraphX(),a.getGraphY())),null!=c?this.selectCellForEvent(c,b):this.isToggleEvent(b)||this.clearSelection()};mxGraph.prototype.dblClick=function(a,b){var c=new mxEventObject(mxEvent.DOUBLE_CLICK,"event",a,"cell",b);this.fireEvent(c);!this.isEnabled()||mxEvent.isConsumed(a)||c.isConsumed()||null==b||!this.isCellEditable(b)||this.isEditing(b)||(this.startEditingAtCell(b,a),mxEvent.consume(a))};
mxGraph.prototype.click=function(a){var b=a.getEvent(),c=a.getCell(),d=new mxEventObject(mxEvent.CLICK,"event",b,"cell",c);a.isConsumed()&&d.consume();this.fireEvent(d);if(this.isEnabled()&&!mxEvent.isConsumed(b)&&!d.isConsumed())if(null!=c){if(this.isTransparentClickEvent(b)){var e=!1;a=this.getCellAt(a.graphX,a.graphY,null,null,null,mxUtils.bind(this,function(a){a=this.isCellSelected(a.cell);e=e||a;return!e||a}));null!=a&&(c=a)}this.selectCellForEvent(c,b)}else if(c=null,this.isSwimlaneSelectionEnabled()&&
(c=this.getSwimlaneAt(a.getGraphX(),a.getGraphY())),null!=c){for(var f=c,d=[];null!=f;){var f=this.model.getParent(f),g=this.view.getState(f);this.isSwimlane(f)&&null!=g&&this.intersects(g,a.getGraphX(),a.getGraphY())&&d.push(f)}if(0<d.length)for(d=d.reverse(),d.splice(0,0,c),d.push(c),a=0;a<d.length-2;a++)this.isCellSelected(d[a])&&(c=d[a+1]);this.selectCellForEvent(c,b)}else this.isToggleEvent(b)||this.clearSelection()};
mxGraph.prototype.dblClick=function(a,b){var c=new mxEventObject(mxEvent.DOUBLE_CLICK,"event",a,"cell",b);this.fireEvent(c);!this.isEnabled()||mxEvent.isConsumed(a)||c.isConsumed()||null==b||!this.isCellEditable(b)||this.isEditing(b)||(this.startEditingAtCell(b,a),mxEvent.consume(a))};
mxGraph.prototype.tapAndHold=function(a){var b=a.getEvent(),c=new mxEventObject(mxEvent.TAP_AND_HOLD,"event",b,"cell",a.getCell());this.fireEvent(c);c.isConsumed()&&(this.panningHandler.panningTrigger=!1);this.isEnabled()&&!mxEvent.isConsumed(b)&&!c.isConsumed()&&this.connectionHandler.isEnabled()&&(b=this.view.getState(this.connectionHandler.marker.getCell(a)),null!=b&&(this.connectionHandler.marker.currentColor=this.connectionHandler.marker.validColor,this.connectionHandler.marker.markedState=b,
this.connectionHandler.marker.mark(),this.connectionHandler.first=new mxPoint(a.getGraphX(),a.getGraphY()),this.connectionHandler.edgeState=this.connectionHandler.createEdgeState(a),this.connectionHandler.previous=b,this.connectionHandler.fireEvent(new mxEventObject(mxEvent.START,"state",this.connectionHandler.previous))))};
mxGraph.prototype.scrollPointToVisible=function(a,b,c,d){if(this.timerAutoScroll||!this.ignoreScrollbars&&!mxUtils.hasScrollbars(this.container))this.allowAutoPanning&&!this.panningHandler.isActive()&&(null==this.panningManager&&(this.panningManager=this.createPanningManager()),this.panningManager.panTo(a+this.panDx,b+this.panDy));else{var e=this.container;d=null!=d?d:20;if(a>=e.scrollLeft&&b>=e.scrollTop&&a<=e.scrollLeft+e.clientWidth&&b<=e.scrollTop+e.clientHeight){var f=e.scrollLeft+e.clientWidth-
@ -4627,11 +4628,13 @@ this.getTagsForStencil("mxgraph.azure","virtual_network","").join(" ")),this.cre
50,42.5,"","Website Generic",null,null,this.getTagsForStencil("mxgraph.azure","website_generic","").join(" ")),this.createVertexTemplateEntry(a+"web_role;",50,40,"","Web Role",null,null,this.getTagsForStencil("mxgraph.azure","web_role","").join(" ")),this.createVertexTemplateEntry(a+"web_roles;",50*1.1,45,"","Web Roles",null,null,this.getTagsForStencil("mxgraph.azure","web_roles","").join(" ")),this.createVertexTemplateEntry(a+"worker_role;",50,40,"","Worker Role",null,null,this.getTagsForStencil("mxgraph.azure",
"worker_role","").join(" ")),this.createVertexTemplateEntry(a+"worker_roles;",50*1.1,45,"","Worker Roles",null,null,this.getTagsForStencil("mxgraph.azure","worker_roles","").join(" "))])}})();(function(){Sidebar.prototype.addBasicPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shape=mxgraph.basic.";this.addPaletteFunctions("basic",mxResources.get("basic"),!1,[this.createVertexTemplateEntry(a+"rect;fillColor2=none;strokeWidth=1;size=20;indent=5;",120,60,"","Partial Rectangle"),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.createVertexTemplateEntry(a+"polygon;polyCoords=[[0.25,0],[0.75,0],[1,0.25],[1,0.75],[0.75,1],[0.25,1],[0,0.75],[0,0.25]];polyline=0;",
100,100,"","Polygon",null,null,this.getTagsForStencil("mxgraph.basic","polygon","").join(" ")),this.createVertexTemplateEntry(a+"polygon;polyCoords=[[0.25,0],[0.75,0],[1,0.25],[1,0.75],[0.75,1],[0.25,1],[0,0.75],[0,0.25]];polyline=1;fillColor=none;",100,100,"","Polyline",null,null,this.getTagsForStencil("mxgraph.basic","polyline","").join(" ")),this.createVertexTemplateEntry(a+"4_point_star_2;dx=0.8;",100,100,"","4 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","4_point_star","").join(" ")),
this.createVertexTemplateEntry(a+"6_point_star",100,90,"","6 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","6_point_star","").join(" ")),this.createVertexTemplateEntry(a+"8_point_star",100,100,"","8 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","8_point_star","").join(" ")),this.createVertexTemplateEntry(a+"banner",100,50,"","Banner",null,null,this.getTagsForStencil("mxgraph.basic","banner","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.cloud_callout",
90,60,"","Cloud Callout",null,null,this.getTagsForStencil("mxgraph.basic","cloud_callout","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.cloud_rect",120,90,"","Cloud Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","cloud_rect"," rectangle").join(" ")),this.createVertexTemplateEntry(a+"cone",100,100,"","Cone",null,null,this.getTagsForStencil("mxgraph.basic","cone","").join(" ")),this.createVertexTemplateEntry(a+"cone2;dx=0.5;dy=0.9;",100,100,"",
"Cone (adjustable)",null,null,this.getTagsForStencil("mxgraph.basic","cone","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.document",100,100,"","Document",null,null,this.getTagsForStencil("mxgraph.basic","document","").join(" ")),this.createVertexTemplateEntry(a+"donut;dx=25;",100,100,"","Donut",null,null,this.getTagsForStencil("mxgraph.basic","donut","").join(" ")),this.createVertexTemplateEntry(a+"drop",70,100,"","Drop",null,null,this.getTagsForStencil("mxgraph.basic",
"drop","").join(" ")),this.createVertexTemplateEntry(a+"flash",60,100,"","Flash",null,null,this.getTagsForStencil("mxgraph.basic","flash","").join(" ")),this.createVertexTemplateEntry(a+"half_circle",100,50,"","Half Circle",null,null,this.getTagsForStencil("mxgraph.basic","half_circle"," semicircle").join(" ")),this.createVertexTemplateEntry(a+"heart",100,100,"","Heart",null,null,this.getTagsForStencil("mxgraph.basic","heart","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.isocube;isoAngle=15;",
100,100,"","Polygon",null,null,this.getTagsForStencil("mxgraph.basic","polygon","").join(" ")),this.createVertexTemplateEntry(a+"polygon;polyCoords=[[0.25,0],[0.75,0],[1,0.25],[1,0.75],[0.75,1],[0.25,1],[0,0.75],[0,0.25]];polyline=1;fillColor=none;",100,100,"","Polyline",null,null,this.getTagsForStencil("mxgraph.basic","polyline","").join(" ")),this.createVertexTemplateEntry(a+"patternFillRect;fillStyle=diag;step=5;fillStrokeWidth=0.2;fillStrokeColor=#dddddd;",120,60,"","Rectangle with diagonal fill"),
this.createVertexTemplateEntry(a+"patternFillRect;fillStyle=diagRev;step=5;fillStrokeWidth=0.2;fillStrokeColor=#dddddd;",120,60,"","Rectangle with reverse diagonal fill"),this.createVertexTemplateEntry(a+"patternFillRect;fillStyle=vert;step=5;fillStrokeWidth=0.2;fillStrokeColor=#dddddd;",120,60,"","Rectangle with vertical fill"),this.createVertexTemplateEntry(a+"patternFillRect;fillStyle=hor;step=5;fillStrokeWidth=0.2;fillStrokeColor=#dddddd;",120,60,"","Rectangle with horizontal fill"),this.createVertexTemplateEntry(a+
"patternFillRect;fillStyle=grid;step=5;fillStrokeWidth=0.2;fillStrokeColor=#dddddd;",120,60,"","Rectangle with grid fill"),this.createVertexTemplateEntry(a+"patternFillRect;fillStyle=diagGrid;step=5;fillStrokeWidth=0.2;fillStrokeColor=#dddddd;",120,60,"","Rectangle with diagonal grid fill"),this.createVertexTemplateEntry(a+"4_point_star_2;dx=0.8;",100,100,"","4 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","4_point_star","").join(" ")),this.createVertexTemplateEntry(a+"6_point_star",
100,90,"","6 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","6_point_star","").join(" ")),this.createVertexTemplateEntry(a+"8_point_star",100,100,"","8 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","8_point_star","").join(" ")),this.createVertexTemplateEntry(a+"banner",100,50,"","Banner",null,null,this.getTagsForStencil("mxgraph.basic","banner","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.cloud_callout",90,60,"","Cloud Callout",
null,null,this.getTagsForStencil("mxgraph.basic","cloud_callout","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.cloud_rect",120,90,"","Cloud Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","cloud_rect"," rectangle").join(" ")),this.createVertexTemplateEntry(a+"cone",100,100,"","Cone",null,null,this.getTagsForStencil("mxgraph.basic","cone","").join(" ")),this.createVertexTemplateEntry(a+"cone2;dx=0.5;dy=0.9;",100,100,"","Cone (adjustable)",null,
null,this.getTagsForStencil("mxgraph.basic","cone","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.document",100,100,"","Document",null,null,this.getTagsForStencil("mxgraph.basic","document","").join(" ")),this.createVertexTemplateEntry(a+"donut;dx=25;",100,100,"","Donut",null,null,this.getTagsForStencil("mxgraph.basic","donut","").join(" ")),this.createVertexTemplateEntry(a+"drop",70,100,"","Drop",null,null,this.getTagsForStencil("mxgraph.basic","drop","").join(" ")),
this.createVertexTemplateEntry(a+"flash",60,100,"","Flash",null,null,this.getTagsForStencil("mxgraph.basic","flash","").join(" ")),this.createVertexTemplateEntry(a+"half_circle",100,50,"","Half Circle",null,null,this.getTagsForStencil("mxgraph.basic","half_circle"," semicircle").join(" ")),this.createVertexTemplateEntry(a+"heart",100,100,"","Heart",null,null,this.getTagsForStencil("mxgraph.basic","heart","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.isocube;isoAngle=15;",
100,100,"","Isometric Cube",null,null,this.getTagsForStencil("mxgraph.basic","isometric cube","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.loud_callout",100,60,"","Loud Callout",null,null,this.getTagsForStencil("mxgraph.basic","loud_callout","").join(" ")),this.createVertexTemplateEntry(a+"moon",75,100,"","Moon",null,null,this.getTagsForStencil("mxgraph.basic","moon","").join(" ")),this.createVertexTemplateEntry(a+"no_symbol",100,100,"","No Symbol",null,
null,this.getTagsForStencil("mxgraph.basic","no_symbol","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.octagon2;align=center;verticalAlign=middle;dx=15;",100,100,"","Octagon",null,null,this.getTagsForStencil("mxgraph.basic","octagon","").join(" ")),this.createVertexTemplateEntry(a+"orthogonal_triangle",100,70,"","Orthogonal Triangle",null,null,this.getTagsForStencil("mxgraph.basic","orthogonal_triangle","").join(" ")),this.createVertexTemplateEntry(a+"acute_triangle;dx=0.5;",
100,70,"","Acute Triangle",null,null,this.getTagsForStencil("mxgraph.basic","acute_triangle","").join(" ")),this.createVertexTemplateEntry(a+"obtuse_triangle;dx=0.25;",100,70,"","Obtuse Triangle",null,null,this.getTagsForStencil("mxgraph.basic","obtuse_triangle","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.oval_callout",100,60,"","Oval Callout",null,null,this.getTagsForStencil("mxgraph.basic","oval_callout","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.pentagon",
@ -6279,7 +6282,7 @@ null,this.getTagsForStencil("data ","ground truth",c).join(" ")),this.createVert
function(a,c,e,b){b+="devops/";var d=[this.createVertexTemplateEntry(b+"artifact_management.svg;",a,a,"","Artifact Management",!1,null,this.getTagsForStencil("devops ","artifact management",c).join(" ")),this.createVertexTemplateEntry(b+"build_test.svg;",a,a,"","Build & Test",!1,null,this.getTagsForStencil("devops ","build test",c).join(" ")),this.createVertexTemplateEntry(b+"code_editor.svg;",a,a,"","Code Editor",!1,null,this.getTagsForStencil("devops ","code editor",c).join(" ")),this.createVertexTemplateEntry(b+
"collaborative_development.svg;",a,a,"","Collaborative Development",!1,null,this.getTagsForStencil("devops ","collaborative development",c).join(" ")),this.createVertexTemplateEntry(b+"configuration_management.svg;",a,a,"","Configuration Management",!1,null,this.getTagsForStencil("devops ","configuration management",c).join(" ")),this.createVertexTemplateEntry(b+"continuous_deploy.svg;",a,a,"","Continuous Deploy",!1,null,this.getTagsForStencil("devops ","continuous deploy",c).join(" ")),this.createVertexTemplateEntry(b+
"continuous_testing.svg;",a,a,"","Continuous Testing",!1,null,this.getTagsForStencil("devops ","continuous testing",c).join(" ")),this.createVertexTemplateEntry(b+"devops.svg;",a,a,"","DevOps",!1,null,this.getTagsForStencil("devops ","devops",c).join(" ")),this.createVertexTemplateEntry(b+"provision.svg;",a,a,"","Provision",!1,null,this.getTagsForStencil("devops ","provision",c).join(" ")),this.createVertexTemplateEntry(b+"release_management.svg;",a,a,"","Release Management",!1,null,this.getTagsForStencil("devops ",
"release management",c).join(" "))];this.addPalette("ibmDevOps","IBM / DevOps",!1,mxUtils.bind(this,function(b){for(var a=0;a<d.length;a++)b.appendChild(d[a](b))}))};Sidebar.prototype.addIBMInfrastructurePalette=function(a,c,e,b){b+="infrastructure/";var d=[this.createVertexTemplateEntry(b+"channels.svg;",a,a,"","Channels",!1,null,this.getTagsForStencil("infrastructure ","channels",c).join(" ")),this.createVertexTemplateEntry(b+"cloud_messaging.svg;",a,a,"","Cloud Messaging",!1,null,this.getTagsForStencil("infrastructure ",
"release management",c).join(" "))];this.addPalette("ibmDevOps","IBM / DevOps",!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addIBMInfrastructurePalette=function(a,c,e,b){b+="infrastructure/";var d=[this.createVertexTemplateEntry(b+"channels.svg;",a,a,"","Channels",!1,null,this.getTagsForStencil("infrastructure ","channels",c).join(" ")),this.createVertexTemplateEntry(b+"cloud_messaging.svg;",a,a,"","Cloud Messaging",!1,null,this.getTagsForStencil("infrastructure ",
"cloud messaging",c).join(" ")),this.createVertexTemplateEntry(b+"dashboard.svg;",a,a,"","Dashboard",!1,null,this.getTagsForStencil("infrastructure ","dashboard",c).join(" ")),this.createVertexTemplateEntry(b+"diagnostics.svg;",a,a,"","Diagnostics",!1,null,this.getTagsForStencil("infrastructure ","diagnostics",c).join(" ")),this.createVertexTemplateEntry(b+"edge_services.svg;",a,a,"","Edge Services",!1,null,this.getTagsForStencil("infrastructure ","edge services",c).join(" ")),this.createVertexTemplateEntry(b+
"enterprise_messaging.svg;",a,a,"","Enterprise Messaging",!1,null,this.getTagsForStencil("infrastructure ","enterprise messaging",c).join(" ")),this.createVertexTemplateEntry(b+"event_feed.svg;",a,a,"","Event Feed",!1,null,this.getTagsForStencil("infrastructure ","event feed",c).join(" ")),this.createVertexTemplateEntry(b+"infrastructure_services.svg;",a,a,"","Infrastructure Services",!1,null,this.getTagsForStencil("infrastructure ","infrastructure services",c).join(" ")),this.createVertexTemplateEntry(b+
"interservice_communication.svg;",a,a,"","Interservice Communication",!1,null,this.getTagsForStencil("infrastructure ","interservice communication",c).join(" ")),this.createVertexTemplateEntry(b+"load_balancing_routing.svg;",a,a,"","Load Balancing / Routing",!1,null,this.getTagsForStencil("infrastructure ","load balancing routing",c).join(" ")),this.createVertexTemplateEntry(b+"microservices_mesh.svg;",a,a,"","Microservices Mesh",!1,null,this.getTagsForStencil("infrastructure ","microservices mesh",
@ -6290,7 +6293,7 @@ a,a,"","Alert Notification",!1,null,this.getTagsForStencil("management ","alert
!1,null,this.getTagsForStencil("management ","cluster management",c).join(" ")),this.createVertexTemplateEntry(b+"content_management.svg;",a,a,"","Content Management",!1,null,this.getTagsForStencil("management ","content management",c).join(" ")),this.createVertexTemplateEntry(b+"data_services.svg;",a,a,"","Data Services",!1,null,this.getTagsForStencil("management ","data services",c).join(" ")),this.createVertexTemplateEntry(b+"device_management.svg;",a,a,"","Device Management",!1,null,this.getTagsForStencil("management ",
"device management",c).join(" ")),this.createVertexTemplateEntry(b+"information_governance.svg;",a,a,"","Information Governance",!1,null,this.getTagsForStencil("management ","information governance",c).join(" ")),this.createVertexTemplateEntry(b+"it_service_management.svg;",a,a,"","IT Service Management",!1,null,this.getTagsForStencil("management ","it service management information technology",c).join(" ")),this.createVertexTemplateEntry(b+"management.svg;",a,a,"","Management",!1,null,this.getTagsForStencil("management ",
"management",c).join(" ")),this.createVertexTemplateEntry(b+"monitoring_metrics.svg;",a,a,"","Monitoring & Metrics",!1,null,this.getTagsForStencil("management ","monitoring metrics",c).join(" ")),this.createVertexTemplateEntry(b+"process_management.svg;",a,a,"","Process Management",!1,null,this.getTagsForStencil("management ","process management",c).join(" ")),this.createVertexTemplateEntry(b+"provider_cloud_portal_service.svg;",a,a,"","Provider Cloud Portal Service",!1,null,this.getTagsForStencil("management ",
"provider cloud portal service",c).join(" ")),this.createVertexTemplateEntry(b+"push_notifications.svg;",a,a,"","Push Notifications",!1,null,this.getTagsForStencil("management ","push notifications",c).join(" ")),this.createVertexTemplateEntry(b+"service_management_tools.svg;",a,a,"","Service Management Tools",!1,null,this.getTagsForStencil("management ","service management tools",c).join(" "))];this.addPalette("ibmManagement","IBM / Management",!1,mxUtils.bind(this,function(b){for(var a=0;a<d.length;a++)b.appendChild(d[a](b))}))};
"provider cloud portal service",c).join(" ")),this.createVertexTemplateEntry(b+"push_notifications.svg;",a,a,"","Push Notifications",!1,null,this.getTagsForStencil("management ","push notifications",c).join(" ")),this.createVertexTemplateEntry(b+"service_management_tools.svg;",a,a,"","Service Management Tools",!1,null,this.getTagsForStencil("management ","service management tools",c).join(" "))];this.addPalette("ibmManagement","IBM / Management",!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};
Sidebar.prototype.addIBMMiscPalette=function(a,c,e,b){b+="miscellaneous/";var d=[this.createVertexTemplateEntry(b+"bluemix.svg;",a,a,"","Bluemix",!1,null,this.getTagsForStencil("miscellaneous ","bluemix",c).join(" ")),this.createVertexTemplateEntry(b+"cloudant.svg;",a,a,"","Cloudant",!1,null,this.getTagsForStencil("miscellaneous ","cloudant",c).join(" ")),this.createVertexTemplateEntry(b+"cognitive_services.svg;",a,a,"","Cognitive Services",!1,null,this.getTagsForStencil("miscellaneous ","cognitive services",
c).join(" ")),this.createVertexTemplateEntry(b+"ibm_containers.svg;",a,a,"","IBM Containers",!1,null,this.getTagsForStencil("miscellaneous ","ibm containers",c).join(" ")),this.createVertexTemplateEntry(b+"ibm_public_cloud.svg;",a,.77*a,"","IBM Public Cloud",!1,null,this.getTagsForStencil("miscellaneous ","ibm public cloud",c).join(" ")),this.createVertexTemplateEntry(b+"iot_cloud.svg;",a,.77*a,"","IoT Cloud",!1,null,this.getTagsForStencil("miscellaneous ","iot cloud internet of things",c).join(" ")),
this.createVertexTemplateEntry(b+"microservices_application.svg;",a,a,"","Microservices Application",!1,null,this.getTagsForStencil("miscellaneous ","microservices application",c).join(" ")),this.createVertexTemplateEntry(b+"object_storage.svg;",a,a,"","Object Storage",!1,null,this.getTagsForStencil("miscellaneous ","object storage",c).join(" ")),this.createVertexTemplateEntry(b+"offline_capabilities.svg;",a,a,"","Offline Capabilities",!1,null,this.getTagsForStencil("miscellaneous ","offline capabilities",
@ -6300,7 +6303,7 @@ c).join(" ")),this.createVertexTemplateEntry(b+"openwhisk.svg;",a,a,"","Openwhis
a,a,"","Firewall",!1,null,this.getTagsForStencil("security ","firewall",c).join(" ")),this.createVertexTemplateEntry(b+"gateway.svg;",a,a,"","Gateway",!1,null,this.getTagsForStencil("security ","gateway",c).join(" ")),this.createVertexTemplateEntry(b+"governance_risk_compliance.svg;",a,a,"","Governance, Risk & Compliance",!1,null,this.getTagsForStencil("security ","governance risk compliance",c).join(" ")),this.createVertexTemplateEntry(b+"identity_access_management.svg;",a,a,"","Identity & Access Management",
!1,null,this.getTagsForStencil("security ","identity access management",c).join(" ")),this.createVertexTemplateEntry(b+"identity_provider.svg;",a,a,"","Identity Provider",!1,null,this.getTagsForStencil("security ","identity provider",c).join(" ")),this.createVertexTemplateEntry(b+"infrastructure_security.svg;",a,a,"","Infrastructure Security",!1,null,this.getTagsForStencil("security ","infrastructure security",c).join(" ")),this.createVertexTemplateEntry(b+"physical_security.svg;",a,a,"","Physical Security",
!1,null,this.getTagsForStencil("security ","physical security",c).join(" ")),this.createVertexTemplateEntry(b+"security_monitoring_intelligence.svg;",a,a,"","Security Monitoring & Intelligence",!1,null,this.getTagsForStencil("security ","security monitoring intelligence",c).join(" ")),this.createVertexTemplateEntry(b+"security_services.svg;",a,a,"","Security Services",!1,null,this.getTagsForStencil("security ","security services",c).join(" ")),this.createVertexTemplateEntry(b+"trustend_computing.svg;",
a,a,"","Trustend Computing",!1,null,this.getTagsForStencil("security ","trustend computing",c).join(" ")),this.createVertexTemplateEntry(b+"vpn.svg;",a,a,"","VPN",!1,null,this.getTagsForStencil("security ","vpn virtual private network",c).join(" "))];this.addPalette("ibmSecurity","IBM / Security",!1,mxUtils.bind(this,function(b){for(var a=0;a<d.length;a++)b.appendChild(d[a](b))}))};Sidebar.prototype.addIBMSocialPalette=function(a,c,e,b){b+="social/";var d=[this.createVertexTemplateEntry(b+"communities.svg;",
a,a,"","Trustend Computing",!1,null,this.getTagsForStencil("security ","trustend computing",c).join(" ")),this.createVertexTemplateEntry(b+"vpn.svg;",a,a,"","VPN",!1,null,this.getTagsForStencil("security ","vpn virtual private network",c).join(" "))];this.addPalette("ibmSecurity","IBM / Security",!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addIBMSocialPalette=function(a,c,e,b){b+="social/";var d=[this.createVertexTemplateEntry(b+"communities.svg;",
a,a,"","Communities",!1,null,this.getTagsForStencil("social ","communities",c).join(" ")),this.createVertexTemplateEntry(b+"file_sync.svg;",a,a,"","File Sync",!1,null,this.getTagsForStencil("social ","file sync",c).join(" ")),this.createVertexTemplateEntry(b+"live_collaboration.svg;",a,a,"","Live Collaboration",!1,null,this.getTagsForStencil("social ","live collaboration",c).join(" ")),this.createVertexTemplateEntry(b+"messaging.svg;",a,a,"","Messaging",!1,null,this.getTagsForStencil("social ","messaging",
c).join(" ")),this.createVertexTemplateEntry(b+"networking.svg;",a,a,"","Networking",!1,null,this.getTagsForStencil("social ","networking",c).join(" "))];this.addPalette("ibmSocial","IBM / Social",!1,mxUtils.bind(this,function(b){for(var a=0;a<d.length;a++)b.appendChild(d[a](b))}))};Sidebar.prototype.addIBMUsersPalette=function(a,c,e,b){b+="users/";var d=[this.createVertexTemplateEntry(b+"browser.svg;",a,a,"","Browser",!1,null,this.getTagsForStencil("users ","browser",c).join(" ")),this.createVertexTemplateEntry(b+
"device.svg;",a,a,"","Device",!1,null,this.getTagsForStencil("users ","device",c).join(" ")),this.createVertexTemplateEntry(b+"integrated_digital_experiences.svg;",a,a,"","Integrated Digital Experiences",!1,null,this.getTagsForStencil("users ","integrated digital experiences",c).join(" ")),this.createVertexTemplateEntry(b+"physical_entity.svg;",a,a,"","Physical Entity",!1,null,this.getTagsForStencil("users ","physical entity",c).join(" ")),this.createVertexTemplateEntry(b+"sensor.svg;",a,a,"","Sensor",
@ -6313,14 +6316,14 @@ c).join(" ")),this.createVertexTemplateEntry(b+"ImageService.svg;",a,a,"","Image
"Router.svg;",a,a,"","Router",!1,null,this.getTagsForStencil("vpc virtual private cloud ","router",c).join(" ")),this.createVertexTemplateEntry(b+"Bridge.svg;",a,a,"","Bridge",!1,null,this.getTagsForStencil("vpc virtual private cloud ","bridge",c).join(" ")),this.createVertexTemplateEntry(b+"CloudServices.svg;",a,a,"","Cloud Services",!1,null,this.getTagsForStencil("vpc virtual private cloud ","cloud services",c).join(" ")),this.createVertexTemplateEntry(b+"Internet.svg;",a,a,"","Internet",!1,null,
this.getTagsForStencil("vpc virtual private cloud ","internet",c).join(" ")),this.createVertexTemplateEntry(b+"Enterprise.svg;",a,a,"","Data Center",!1,null,this.getTagsForStencil("vpc virtual private cloud ","dat acenter",c).join(" ")),this.createVertexTemplateEntry(b+"Enterprise2.svg;",a,.8*a,"","Enterprise",!1,null,this.getTagsForStencil("vpc virtual private cloud ","enterprise",c).join(" ")),this.createVertexTemplateEntry(b+"PowerInstance.svg;",a,a,"","Power Instance",!1,null,this.getTagsForStencil("vpc virtual private cloud ",
"power instance",c).join(" ")),this.createVertexTemplateEntry(b+"TransitGateway.svg;",a,a,"","Transit Gateway",!1,null,this.getTagsForStencil("vpc virtual private cloud ","transit gateway",c).join(" ")),this.createVertexTemplateEntry(b+"BareMetalServer.svg;",a,a,"","Bare Metal Server",!1,null,this.getTagsForStencil("vpc virtual private cloud ","bare metal server",c).join(" "))];this.addPalette("ibmVPC","IBM / VPC",!1,mxUtils.bind(this,function(b){for(var a=0;a<d.length;a++)b.appendChild(d[a](b))}))};
Sidebar.prototype.addIBMBoxesPalette=function(a,c,e,b){var d=[this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=cloud;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;",200,200,"IBM Cloud","IBM Cloud",!0,null,this.getTagsForStencil("boxes box ","ibm cloud",c).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=vpc;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;",
200,200,"VPC","VPC",!0,null,this.getTagsForStencil("boxes box ","vpc virtual private cloud",c).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=region;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;",200,200,"Region","Region",!0,null,this.getTagsForStencil("boxes box ","region",c).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=zone;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=#E0E0E0;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=1;dashed=0;container=1;spacing=-4;collapsible=0;",
200,200,"Zone","Zone",!0,null,this.getTagsForStencil("boxes box ","zone",c).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=subnet;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=#E6F0E2;rounded=0;whiteSpace=wrap;html=1;strokeColor=#00882B;strokeWidth=1;dashed=0;container=1;spacing=-4;collapsible=0;",200,200,"Subnet:ACL","Subnet:ACL",!0,null,this.getTagsForStencil("boxes box ","subnet acl",c).join(" ")),this.createVertexTemplateEntry("fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#FF0000;strokeWidth=2;dashed=1;container=1;collapsible=0;",
200,200,"Security Group","Security Group",!0,null,this.getTagsForStencil("boxes box ","security group",c).join(" ")),this.createVertexTemplateEntry("fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#00882B;strokeWidth=2;dashed=1;container=1;collapsible=0;",200,200,"Instance Group","Instance Group",!0,null,this.getTagsForStencil("boxes box ","instance group",c).join(" ")),this.createVertexTemplateEntry("fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=2;dashed=1;container=1;collapsible=0;",
200,200,"Resource Group","Resource Group",!0,null,this.getTagsForStencil("boxes box ","resource group",c).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=public;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;",200,200,"Public Network","Public Network",!0,null,this.getTagsForStencil("boxes box ","public network",c).join(" ")),
this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=enterprise;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;",200,200,"Enterprise Network","Enterprise Network",!0,null,this.getTagsForStencil("boxes box ","enterprise network",c).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=classic;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;",
200,200,"Classic Infrastructure","Classic Infrastructure",!0,null,this.getTagsForStencil("boxes box ","classic infrastructure",c).join(" ")),this.createVertexTemplateEntry("fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=1;dashed=0;container=1;collapsible=0;",200,200,"Cloud Services","Cloud Services",!0,null,this.getTagsForStencil("boxes box ","cloud services",c).join(" "))];this.addPalette("ibmBoxes","IBM / Boxes",
!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addIBMConnectorsPalette=function(a,c,e,b){var d=[this.createEdgeTemplateEntry("html=1;labelBackgroundColor=#ffffff;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;endArrow=none;endFill=0;",a,a,"","Connector",null,c+"connector"),this.createEdgeTemplateEntry("html=1;labelBackgroundColor=#ffffff;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;",
Sidebar.prototype.addIBMBoxesPalette=function(a,c,e,b){var d=[this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=cloud;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;expand=0;recursiveResize=0;",200,200,"IBM Cloud","IBM Cloud",!0,null,this.getTagsForStencil("boxes box ","ibm cloud",c).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=vpc;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;expand=0;recursiveResize=0;",
200,200,"VPC","VPC",!0,null,this.getTagsForStencil("boxes box ","vpc virtual private cloud",c).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=region;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;expand=0;recursiveResize=0;",200,200,"Region","Region",!0,null,this.getTagsForStencil("boxes box ","region",c).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=zone;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=#E0E0E0;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=1;dashed=0;container=1;spacing=-4;collapsible=0;expand=0;recursiveResize=0;",
200,200,"Zone","Zone",!0,null,this.getTagsForStencil("boxes box ","zone",c).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=subnet;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=#E6F0E2;rounded=0;whiteSpace=wrap;html=1;strokeColor=#00882B;strokeWidth=1;dashed=0;container=1;spacing=-4;collapsible=0;expand=0;recursiveResize=0;",200,200,"Subnet:ACL","Subnet:ACL",!0,null,this.getTagsForStencil("boxes box ","subnet acl",c).join(" ")),this.createVertexTemplateEntry("fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#FF0000;strokeWidth=2;dashed=1;container=1;collapsible=0;expand=0;recursiveResize=0;",
200,200,"Security Group","Security Group",!0,null,this.getTagsForStencil("boxes box ","security group",c).join(" ")),this.createVertexTemplateEntry("fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#00882B;strokeWidth=2;dashed=1;container=1;collapsible=0;expand=0;recursiveResize=0;",200,200,"Instance Group","Instance Group",!0,null,this.getTagsForStencil("boxes box ","instance group",c).join(" ")),this.createVertexTemplateEntry("fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=2;dashed=1;container=1;collapsible=0;expand=0;recursiveResize=0;",
200,200,"Resource Group","Resource Group",!0,null,this.getTagsForStencil("boxes box ","resource group",c).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=public;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;expand=0;recursiveResize=0;",200,200,"Public Network","Public Network",!0,null,this.getTagsForStencil("boxes box ","public network",
c).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=enterprise;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;expand=0;recursiveResize=0;",200,200,"Enterprise Network","Enterprise Network",!0,null,this.getTagsForStencil("boxes box ","enterprise network",c).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=classic;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;expand=0;recursiveResize=0;",
200,200,"Classic Infrastructure","Classic Infrastructure",!0,null,this.getTagsForStencil("boxes box ","classic infrastructure",c).join(" ")),this.createVertexTemplateEntry("fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=1;dashed=0;container=1;collapsible=0;expand=0;recursiveResize=0;",200,200,"Cloud Services","Cloud Services",!0,null,this.getTagsForStencil("boxes box ","cloud services",c).join(" "))];this.addPalette("ibmBoxes",
"IBM / Boxes",!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addIBMConnectorsPalette=function(a,c,e,b){var d=[this.createEdgeTemplateEntry("html=1;labelBackgroundColor=#ffffff;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;endArrow=none;endFill=0;",a,a,"","Connector",null,c+"connector"),this.createEdgeTemplateEntry("html=1;labelBackgroundColor=#ffffff;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;",
a,a,"","Connector (Single Arrow)",null,c+"connector single arrow"),this.createEdgeTemplateEntry("html=1;labelBackgroundColor=#ffffff;startArrow=classic;startFill=1;startSize=6;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;",a,a,"","Connector (Double Arrow)",null,c+"connector double arrow"),this.createEdgeTemplateEntry("html=1;labelBackgroundColor=#ffffff;endArrow=none;endFill=0;jettySize=auto;orthogonalLoop=1;strokeWidth=1;dashed=1;fontSize=14;",a,
a,"","Dashed Connector",null,c+"dashed connector"),this.createEdgeTemplateEntry("html=1;labelBackgroundColor=#ffffff;startArrow=none;startFill=0;startSize=6;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;dashed=1;fontSize=14;",a,a,"","Dashed Connector (Single Arrow)",null,c+"dashed connector single arrow"),this.createEdgeTemplateEntry("html=1;labelBackgroundColor=#ffffff;startArrow=classic;startFill=1;startSize=6;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;dashed=1;fontSize=14;",
a,a,"","Dashed Connector (Double Arrow)",null,c+"dashed connector double arrow"),this.createEdgeTemplateEntry("edgeStyle=elbowEdgeStyle;rounded=0;elbow=vertical;html=1;labelBackgroundColor=#ffffff;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;endArrow=none;endFill=0;",a,a,"","Elbow Connector",null,c+"elbow connector"),this.createEdgeTemplateEntry("edgeStyle=elbowEdgeStyle;rounded=0;elbow=vertical;html=1;labelBackgroundColor=#ffffff;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;",
@ -6801,7 +6804,7 @@ mxConstants.STYLE_SHAPE+"=mxgraph.mockup.",c=mxConstants.STYLE_STROKECOLOR+"=#66
500,25),a+"text.rrect;rSize=0;strokeColor=#666666;");c.vertex=!0;var d=new mxCell("Button 2",new mxGeometry(125,0,125,25),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;"+a+"text.rrect;rSize=0;fontSize=17;fontColor=#0000ff;");d.vertex=!0;c.insert(d);d=new mxCell("Button 3",new mxGeometry(250,0,125,25),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;"+a+"text.rrect;rSize=0;fontSize=17;fontColor=#0000ff;");d.vertex=!0;c.insert(d);d=new mxCell("Button 4",new mxGeometry(375,
0,125,25),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;"+a+"text.rrect;rSize=0;fontSize=17;fontColor=#0000ff;");d.vertex=!0;c.insert(d);d=new mxCell("Button 1",new mxGeometry(0,0,125,25),a+"text.rrect;rSize=0;fontSize=17;fontColor=#ffffff;fillColor=#008cff;strokeColor=#008cff;");d.vertex=!0;c.insert(d);return b.createVertexTemplateFromCells([c],c.geometry.width,c.geometry.height,"Horizontal Button Bar")}),this.createVertexTemplateEntry(a+"text.callout;linkText=;textSize=17;textColor=#666666;callDir=NW;callStyle=line;fontSize=17;fontColor=#666666;align=left;verticalAlign=top;"+
c,200,100,"Callout","Callout",null,null,this.getTagsForStencil("mxgraph.mockup.text","callout","mockup text ").join(" ")),this.createVertexTemplateEntry(a+"text.callout;linkText=;textSize=17;textColor=#666666;callDir=NE;callStyle=line;fontSize=17;fontColor=#666666;align=right;verticalAlign=top;"+c,200,100,"Callout","Callout",null,null,this.getTagsForStencil("mxgraph.mockup.text","callout","mockup text ").join(" ")),this.createVertexTemplateEntry(a+"text.callout;linkText=;textSize=17;textColor=#666666;callDir=SW;callStyle=line;fontSize=17;fontColor=#666666;align=left;verticalAlign=bottom;"+
c,200,100,"Callout","Callout",null,null,this.getTagsForStencil("mxgraph.mockup.text","callout","mockup text ").join(" ")),this.createVertexTemplateEntry(a+"text.callout;linkText=;textSize=17;textColor=#666666;callDir=SE;callStyle=line;fontSize=17;fontColor=#666666;align=right;verticalAlign=bottom;"+c,200,100,"Callout","Callout",null,null,this.getTagsForStencil("mxgraph.mockup.text","callout","mockup text ").join(" ")),this.createVertexTemplateEntry(a+"text.stickyNote;fontColor=#666666;mainText=;fontSize=17;whiteSpace=wrap;",
c,200,100,"Callout","Callout",null,null,this.getTagsForStencil("mxgraph.mockup.text","callout","mockup text ").join(" ")),this.createVertexTemplateEntry(a+"text.callout;linkText=;textSize=17;textColor=#666666;callDir=SE;callStyle=line;fontSize=17;fontColor=#666666;align=right;verticalAlign=bottom;"+c,200,100,"Callout","Callout",null,null,this.getTagsForStencil("mxgraph.mockup.text","callout","mockup text ").join(" ")),this.createVertexTemplateEntry(a+"text.stickyNote2;fontColor=#666666;mainText=;fontSize=17;whiteSpace=wrap;fillColor=#ffffcc;strokeColor=#F62E00;",
200,200,"Note Line 1\nNote Line 2\nNote Line 3","Sticky Note",null,null,this.getTagsForStencil("mxgraph.mockup.text","stickyNote","mockup text ").join(" ")),this.createVertexTemplateEntry(a+"text.bulletedList;textColor=#666666;mainText=,,,,;textSize=17;bulletStyle=none;"+e+mxConstants.STYLE_FILLCOLOR+"=none;align=left;verticalAlign=top;fontSize=17;fontColor=#666666;",150,135,"-Line 1\n-Line 2\n-Line 3\n-Line 4","Bulleted List",null,null,this.getTagsForStencil("mxgraph.mockup.text","bulletedList",
"mockup text ").join(" ")),this.createVertexTemplateEntry(a+"text.textBox;fontColor=#666666;align=left;fontSize=17;spacingLeft=4;spacingTop=-3;"+c+"mainText=",150,30,"Line 1","Text Box",null,null,this.getTagsForStencil("mxgraph.mockup.text","textBox","mockup text ").join(" ")),this.createVertexTemplateEntry(a+"text.captcha;fontColor=#666666;fontSize=25;"+c+"mainText=",150,50,"fG2yQ23","Captcha",null,null,this.getTagsForStencil("mxgraph.mockup.text","captcha","mockup text ").join(" ")),this.createVertexTemplateEntry(a+
"text.alphanumeric;linkText=;html=1;fontStyle=4;fontSize=17;fontColor=#0000ff;",450,50,"0-9 A B C D E F G H I J K L M N O P Q R S T U V X Y Z","Alphanumeric",null,null,this.getTagsForStencil("mxgraph.mockup.text","alphanumeric","mockup text ").join(" ")),this.createVertexTemplateEntry("text;spacingTop=-5;whiteSpace=wrap;html=1;align=left;fontSize=12;fontFamily=Helvetica;fillColor=none;strokeColor=none;",250,470,"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\nSed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?",
@ -9054,7 +9057,7 @@ x.className="geBtn",f.appendChild(x));PrintDialog.previewEnabled&&(x=mxUtils.but
this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(A.apply(this,arguments),null!=this.mathEnabled&&
this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var E=document.createElement("canvas"),D=new Image;D.onload=function(){try{E.getContext("2d").drawImage(D,0,0);var a=E.toDataURL("image/png");Editor.prototype.useCanvasForExport=
null!=a&&6<a.length}catch(H){}};D.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(C){}})();
(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,c,b){b.ui=a.ui;return c};a.afterDecode=function(a,c,b){b.previousColor=b.color;b.previousImage=b.image;b.previousFormat=b.format;null!=b.foldingEnabled&&(b.foldingEnabled=!b.foldingEnabled);null!=b.mathEnabled&&(b.mathEnabled=!b.mathEnabled);null!=b.shadowVisible&&(b.shadowVisible=!b.shadowVisible);return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="12.9.4";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars=
(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,c,b){b.ui=a.ui;return c};a.afterDecode=function(a,c,b){b.previousColor=b.color;b.previousImage=b.image;b.previousFormat=b.format;null!=b.foldingEnabled&&(b.foldingEnabled=!b.foldingEnabled);null!=b.mathEnabled&&(b.mathEnabled=!b.mathEnabled);null!=b.shadowVisible&&(b.shadowVisible=!b.shadowVisible);return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="12.9.5";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars=
"\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="1"==urlParams.dev?"/cache":window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&
!EditorUi.isElectronApp&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},gantt:{titleTopMargin:25,barHeight:20,barGap:4,
topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}};EditorUi.logError=function(a,b,c,d,f,g,k){g=null!=g?g:0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&"1"!=urlParams.dev)try{if(a!=EditorUi.lastErrorMessage&&(null==a||null==b||-1==a.indexOf("Script error")&&-1==a.indexOf("extension"))&&
@ -9136,10 +9139,10 @@ b,a,a.getMode(),!0,!0,function(){null!=t&&null!=t.parentNode&&(t.parentNode.remo
J(b,c)}mxEvent.consume(a)});mxEvent.addGestureListeners(p,function(){},mxUtils.bind(this,function(a){n.isMouseDown&&null!=n.panningManager&&null!=n.graphHandler.first&&(n.graphHandler.suspend(),null!=n.graphHandler.hint&&(n.graphHandler.hint.style.visibility="hidden"),p.style.backgroundColor="#f1f3f4",p.style.cursor="copy",n.panningManager.stop(),n.autoScroll=!1,mxEvent.consume(a))}),mxUtils.bind(this,function(a){n.isMouseDown&&null!=n.panningManager&&null!=n.graphHandler&&(p.style.backgroundColor=
"",p.style.cursor="default",this.sidebar.showTooltips=!0,n.panningManager.stop(),n.graphHandler.reset(),n.isMouseDown=!1,n.autoScroll=!0,I(a),mxEvent.consume(a))}));mxEvent.addListener(p,"mouseleave",mxUtils.bind(this,function(a){n.isMouseDown&&null!=n.graphHandler.first&&(n.graphHandler.resume(),null!=n.graphHandler.hint&&(n.graphHandler.hint.style.visibility="visible"),p.style.backgroundColor="",p.style.cursor="",n.autoScroll=!0)}));Graph.fileSupport&&(mxEvent.addListener(p,"dragover",mxUtils.bind(this,
function(a){p.style.backgroundColor="#f1f3f4";a.dataTransfer.dropEffect="copy";p.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(p,"drop",mxUtils.bind(this,function(a){p.style.cursor="";p.style.backgroundColor="";0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,d,e,g,k,q,x,l,A){if(null!=c&&"image/"==d.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;aspect=fixed;image="+
this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,k,q),c)],c[0].vertex=!0,J(c,new mxRectangle(0,0,k,q),a,mxEvent.isAltDown(a)?null:x.substring(0,x.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var v=!1,n=mxUtils.bind(this,function(c,d){if(null!=c&&"application/pdf"==d){var e=Editor.extractGraphModelFromPdf(c);null!=e&&0<e.length&&(c=e)}if(null!=c)if(e=mxUtils.parseXml(c),"mxlibrary"==e.documentElement.nodeName)try{var g=
JSON.parse(mxUtils.getTextContent(e.documentElement));m(g,p);b=b.concat(g);G(a);this.spinner.stop();v=!0}catch(M){}else if("mxfile"==e.documentElement.nodeName)try{for(var k=e.documentElement.getElementsByTagName("diagram"),g=0;g<k.length;g++){var q=this.stringToCells(Editor.getDiagramNodeXml(k[g])),x=this.editor.graph.getBoundingBoxFromGeometry(q);J(q,new mxRectangle(0,0,x.width,x.height),a)}v=!0}catch(M){null!=window.console&&console.log("error in drop handler:",M)}v||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));
null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=A&&null!=x&&(/(\.v(dx|sdx?))($|\?)/i.test(x)||/(\.vs(x|sx?))($|\?)/i.test(x))?this.importVisio(A,function(a){n(a,"text/xml")},null,x):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,x)&&null!=A?this.parseFile(A,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?n(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?
"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):n(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(p,"dragleave",function(a){p.style.cursor="";p.style.backgroundColor="";a.stopPropagation();a.preventDefault()}));q=q.cloneNode(!1);q.setAttribute("src",Editor.editImage);q.setAttribute("title",mxResources.get("edit"));k.insertBefore(q,k.firstChild);mxEvent.addListener(q,"click",H);mxEvent.addListener(p,"dblclick",function(a){mxEvent.getSource(a)==
this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,k,q),c)],c[0].vertex=!0,J(c,new mxRectangle(0,0,k,q),a,mxEvent.isAltDown(a)?null:x.substring(0,x.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var u=!1,v=mxUtils.bind(this,function(c,d){if(null!=c&&"application/pdf"==d){var e=Editor.extractGraphModelFromPdf(c);null!=e&&0<e.length&&(c=e)}if(null!=c)if(e=mxUtils.parseXml(c),"mxlibrary"==e.documentElement.nodeName)try{var g=
JSON.parse(mxUtils.getTextContent(e.documentElement));m(g,p);b=b.concat(g);G(a);this.spinner.stop();u=!0}catch(M){}else if("mxfile"==e.documentElement.nodeName)try{for(var k=e.documentElement.getElementsByTagName("diagram"),g=0;g<k.length;g++){var q=this.stringToCells(Editor.getDiagramNodeXml(k[g])),x=this.editor.graph.getBoundingBoxFromGeometry(q);J(q,new mxRectangle(0,0,x.width,x.height),a)}u=!0}catch(M){null!=window.console&&console.log("error in drop handler:",M)}u||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));
null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=A&&null!=x&&(/(\.v(dx|sdx?))($|\?)/i.test(x)||/(\.vs(x|sx?))($|\?)/i.test(x))?this.importVisio(A,function(a){v(a,"text/xml")},null,x):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,x)&&null!=A?this.parseFile(A,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?v(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?
"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):v(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(p,"dragleave",function(a){p.style.cursor="";p.style.backgroundColor="";a.stopPropagation();a.preventDefault()}));q=q.cloneNode(!1);q.setAttribute("src",Editor.editImage);q.setAttribute("title",mxResources.get("edit"));k.insertBefore(q,k.firstChild);mxEvent.addListener(q,"click",H);mxEvent.addListener(p,"dblclick",function(a){mxEvent.getSource(a)==
p&&H(a)});d=q.cloneNode(!1);d.setAttribute("src",Editor.plusImage);d.setAttribute("title",mxResources.get("add"));k.insertBefore(d,k.firstChild);mxEvent.addListener(d,"click",I);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(d=document.createElement("span"),d.setAttribute("title",mxResources.get("help")),d.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(d,"?"),mxEvent.addGestureListeners(d,mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);
mxEvent.consume(a)})),k.insertBefore(d,k.firstChild))}g.appendChild(k);g.style.paddingRight=18*k.childNodes.length+"px"}};EditorUi.prototype.addLibraryEntries=function(a,b){for(var c=0;c<a.length;c++){var d=a[c],e=d.data;if(null!=e){var e=this.convertDataUri(e),f="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==d.aspect&&(f+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(f+"image="+e,d.w,d.h,"",d.title||"",!1,!1,!0))}else null!=d.xml&&(e=this.stringToCells(Graph.decompress(d.xml)),
0<e.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(e,d.w,d.h,d.title||"",!0,!1,!0)))}};EditorUi.prototype.getResource=function(a){return null!=a?a[mxLanguage]||a.main:null};EditorUi.prototype.footerHeight=0;"1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64);EditorUi.initTheme=function(){"atlas"==uiTheme?(mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&(Toolbar.prototype.unselectedBackground=mxClient.IS_QUIRKS?
@ -10240,42 +10243,45 @@ a.y&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_SOUTH;i
f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+10:-e[1].geometry.height-10;u.view.currentRoot!=c&&(e[1].geometry.x-=k.x,e[1].geometry.y-=k.y);var g=u.view.getState(a),m=u.view.scale;if(null!=g){var n=mxRectangle.fromRectangle(g);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?n.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*m:n.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*m;var p=u.getOutgoingEdges(u.model.getTerminal(d[0],
!0));if(null!=p){for(var v=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,q=k=d=0;q<p.length;q++){var t=u.model.getTerminal(p[q],!1);if(f==l(t)){var x=u.view.getState(t);t!=a&&null!=x&&(v&&b!=x.getCenterX()<g.getCenterX()||!v&&b!=x.getCenterY()<g.getCenterY())&&mxUtils.intersects(n,x)&&(d=10+Math.max(d,(Math.min(n.x+n.width,x.x+x.width)-Math.max(n.x,x.x))/m),k=10+Math.max(k,(Math.min(n.y+n.height,x.y+x.height)-Math.max(n.y,x.y))/m))}}v?k=0:d=0;for(q=0;q<p.length;q++)if(t=u.model.getTerminal(p[q],
!1),f==l(t)&&(x=u.view.getState(t),t!=a&&null!=x&&(v&&b!=x.getCenterX()<g.getCenterX()||!v&&b!=x.getCenterY()<g.getCenterY()))){var A=[];u.traverse(x.cell,!0,function(a,b){null!=b&&A.push(b);A.push(a);return!0});u.moveCells(A,(b?1:-1)*d,(b?1:-1)*k)}}}return u.addCells(e,c)}finally{u.model.endUpdate()}}function t(a){u.model.beginUpdate();try{var b=l(a),c=u.getIncomingEdges(a),d=u.cloneCells([c[0],a]);u.model.setTerminal(c[0],d[1],!1);u.model.setTerminal(d[0],d[1],!0);u.model.setTerminal(d[0],a,!1);
var e=u.model.getParent(a),f=e.geometry,k=[];u.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);u.traverse(a,!0,function(a,b){null!=b&&k.push(b);k.push(a);return!0});var g=a.geometry.width+40,m=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?g=0:b==mxConstants.DIRECTION_NORTH?(g=0,m=-m):b==mxConstants.DIRECTION_WEST?(g=-g,m=0):b==mxConstants.DIRECTION_EAST&&(m=0);u.moveCells(k,g,m);return u.addCells(d,e)}finally{u.model.endUpdate()}}function e(a){u.model.beginUpdate();try{var b=
u.model.getParent(a),c=u.getIncomingEdges(a),d=u.cloneCells([c[0],a]);u.model.setTerminal(d[0],a,!0);var c=u.getOutgoingEdges(a),e=b.geometry,f=[];u.view.currentRoot==b&&(e=new mxRectangle);for(var k=0;k<c.length;k++){var g=u.model.getTerminal(c[k],!1);null!=g&&f.push(g)}var m=u.view.getBounds(f),n=l(a),p=u.view.translate,v=u.view.scale;n==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==m?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(m.x+m.width)/v-p.x-e.x+10,d[1].geometry.y+=d[1].geometry.height-
e.y+40):n==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==m?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(m.x+m.width)/v-p.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height+e.y+40):(d[1].geometry.x=n==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width+e.x+40):d[1].geometry.x+(d[1].geometry.width-e.x+40),d[1].geometry.y=null==m?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(m.y+m.height)/v-p.y+-e.y+10);return u.addCells(d,b)}finally{u.model.endUpdate()}}function m(a,
b,c){a=u.getOutgoingEdges(a);c=u.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=u.view.getState(u.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,c.x+c.width)>=Math.max(f.x,c.x)||b&&Math.min(f.y+f.height,c.y+c.height)>=Math.max(f.y,c.y))&&d.push(f)}d.sort(function(a,c){return b?a.x+a.width-c.x-c.width:a.y+a.height-c.y-c.height})}return d}function p(a,b){var c=l(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST||
c==mxConstants.DIRECTION_WEST)==d&&c!=b?q.actions.get("selectParent").funct():c==b?(d=u.getOutgoingEdges(a),null!=d&&0<d.length&&u.setSelectionCell(u.model.getTerminal(d[0],!1))):(c=u.getIncomingEdges(a),null!=c&&0<c.length&&(d=m(u.model.getTerminal(c[0],!0),d,a),c=u.view.getState(a),null!=c&&(c=mxUtils.indexOf(d,c),0<=c&&(c+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=c&&c<=d.length-1&&u.setSelectionCell(d[c].cell)))))}var q=this,u=q.editor.graph,v=u.getModel(),z=q.menus.createPopupMenu;
q.menus.createPopupMenu=function(b,c,d){z.apply(this,arguments);if(1==u.getSelectionCount()){c=u.getSelectionCell();var e=u.getOutgoingEdges(c);b.addSeparator();0<e.length&&(a(u.getSelectionCell())&&this.addMenuItems(b,["selectChildren"],null,d),this.addMenuItems(b,["selectDescendants"],null,d));a(u.getSelectionCell())&&(b.addSeparator(),0<u.getIncomingEdges(c).length&&this.addMenuItems(b,["selectSiblings","selectParent"],null,d))}};q.actions.addAction("selectChildren",function(){if(u.isEnabled()&&
1==u.getSelectionCount()){var a=u.getSelectionCell(),a=u.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(u.model.getTerminal(a[c],!1));u.setSelectionCells(b)}}},null,null,"Alt+Shift+X");q.actions.addAction("selectSiblings",function(){if(u.isEnabled()&&1==u.getSelectionCount()){var a=u.getSelectionCell(),a=u.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=u.getOutgoingEdges(u.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(u.model.getTerminal(a[c],
!1));u.setSelectionCells(b)}}},null,null,"Alt+Shift+S");q.actions.addAction("selectParent",function(){if(u.isEnabled()&&1==u.getSelectionCount()){var a=u.getSelectionCell(),a=u.getIncomingEdges(a);null!=a&&0<a.length&&u.setSelectionCell(u.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");q.actions.addAction("selectDescendants",function(){if(u.isEnabled()&&1==u.getSelectionCount()){var a=u.getSelectionCell(),b=[];u.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});u.setSelectionCells(b)}},
null,null,"Alt+Shift+D");var y=u.removeCells;u.removeCells=function(b,c){c=null!=c?c:!0;null==b&&(b=this.getDeletableCells(this.getSelectionCells()));c&&(b=this.getDeletableCells(this.addAllEdges(b)));for(var e=[],f=0;f<b.length;f++){var k=b[f];v.isEdge(k)&&d(k)&&(e.push(k),k=v.getTerminal(k,!1));if(a(k)){var g=[];u.traverse(k,!0,function(a,b){null!=b&&g.push(b);if(1==u.getIncomingEdges(a).length)return g.push(a),!0;g=[];return!1});0<g.length&&(e=e.concat(g),k=u.getIncomingEdges(b[f]),b=b.concat(k))}else null!=
k&&e.push(b[f])}b=e;return y.apply(this,arguments)};q.hoverIcons.getStateAt=function(b,c,d){return a(b.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var B=u.duplicateCells;u.duplicateCells=function(b,c){b=null!=b?b:this.getSelectionCells();for(var d=b.slice(0),e=0;e<d.length;e++){var f=u.view.getState(d[e]);if(null!=f&&a(f.cell))for(var k=u.getIncomingEdges(f.cell),f=0;f<k.length;f++)mxUtils.remove(k[f],b)}this.model.beginUpdate();try{var g=B.call(this,b,c);if(g.length==b.length)for(e=
0;e<b.length;e++)if(a(b[e])){var l=u.getIncomingEdges(g[e]),k=u.getIncomingEdges(b[e]);if(0==l.length&&0<k.length){var m=this.cloneCell(k[0]);this.addEdge(m,u.getDefaultParent(),this.model.getTerminal(k[0],!0),g[e])}}}finally{this.model.endUpdate()}return g};var x=u.moveCells;u.moveCells=function(b,c,d,e,f,k,g){var l=null;this.model.beginUpdate();try{var m=f,n=this.getCurrentCellStyle(f);if(null!=b&&a(f)&&"1"==mxUtils.getValue(n,"treeFolding","0")){for(var p=0;p<b.length;p++)if(a(b[p])||u.model.isEdge(b[p])&&
null==u.model.getTerminal(b[p],!0)){f=u.model.getParent(b[p]);break}if(null!=m&&f!=m&&null!=this.view.getState(b[0])){var v=u.getIncomingEdges(b[0]);if(0<v.length){var q=u.view.getState(u.model.getTerminal(v[0],!0));if(null!=q){var t=u.view.getState(m);null!=t&&(c=(t.getCenterX()-q.getCenterX())/u.view.scale,d=(t.getCenterY()-q.getCenterY())/u.view.scale)}}}}l=x.apply(this,arguments);if(null!=l&&null!=b&&l.length==b.length)for(p=0;p<l.length;p++)if(this.model.isEdge(l[p]))a(m)&&0>mxUtils.indexOf(l,
this.model.getTerminal(l[p],!0))&&this.model.setTerminal(l[p],m,!0);else if(a(b[p])&&(v=u.getIncomingEdges(b[p]),0<v.length))if(!e)a(m)&&0>mxUtils.indexOf(b,this.model.getTerminal(v[0],!0))&&this.model.setTerminal(v[0],m,!0);else if(0==u.getIncomingEdges(l[p]).length){n=m;if(null==n||n==u.model.getParent(b[p]))n=u.model.getTerminal(v[0],!0);e=this.cloneCell(v[0]);this.addEdge(e,u.getDefaultParent(),n,l[p])}}finally{this.model.endUpdate()}return l};if(null!=q.sidebar){var A=q.sidebar.dropAndConnect;
q.sidebar.dropAndConnect=function(b,c,d,e){var f=u.model,k=null;f.beginUpdate();try{if(k=A.apply(this,arguments),a(b))for(var g=0;g<k.length;g++)if(f.isEdge(k[g])&&null==f.getTerminal(k[g],!0)){f.setTerminal(k[g],b,!0);var l=u.getCellGeometry(k[g]);l.points=null;null!=l.getTerminalPoint(!0)&&l.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return k}}var E={88:q.actions.get("selectChildren"),84:q.actions.get("selectSubtree"),80:q.actions.get("selectParent"),83:q.actions.get("selectSiblings")},D=
q.onKeyDown;q.onKeyDown=function(b){try{if(u.isEnabled()&&!u.isEditing()&&a(u.getSelectionCell())&&1==u.getSelectionCount()){var c=null;0<u.getIncomingEdges(u.getSelectionCell()).length&&(9==b.which?c=mxEvent.isShiftDown(b)?t(u.getSelectionCell()):e(u.getSelectionCell()):13==b.which&&(c=n(u.getSelectionCell(),!mxEvent.isShiftDown(b))));if(null!=c&&0<c.length)1==c.length&&u.model.isEdge(c[0])?u.setSelectionCell(u.model.getTerminal(c[0],!1)):u.setSelectionCell(c[c.length-1]),null!=q.hoverIcons&&q.hoverIcons.update(u.view.getState(u.getSelectionCell())),
u.startEditingAtCell(u.getSelectionCell()),mxEvent.consume(b);else if(mxEvent.isAltDown(b)&&mxEvent.isShiftDown(b)){var d=E[b.keyCode];null!=d&&(d.funct(b),mxEvent.consume(b))}else 37==b.keyCode?(p(u.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(b)):38==b.keyCode?(p(u.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(b)):39==b.keyCode?(p(u.getSelectionCell(),mxConstants.DIRECTION_EAST),mxEvent.consume(b)):40==b.keyCode&&(p(u.getSelectionCell(),mxConstants.DIRECTION_SOUTH),
mxEvent.consume(b))}}catch(Q){q.handleError(Q)}mxEvent.isConsumed(b)||D.apply(this,arguments)};var C=u.connectVertex;u.connectVertex=function(b,c,d,f,k,g){var m=u.getIncomingEdges(b);return a(b)&&0<m.length?(d=l(b),f=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,k=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,d==c?e(b):f==k?t(b):n(b,c!=mxConstants.DIRECTION_NORTH&&c!=mxConstants.DIRECTION_WEST)):C.call(this,b,c,d,f,k,g)};u.getSubtree=function(b){var d=[b];!c(b)&&!a(b)||
k(b)||u.traverse(b,!0,function(a,b){null!=b&&0>mxUtils.indexOf(d,b)&&d.push(b);0>mxUtils.indexOf(d,a)&&d.push(a);return!0});return d};var H=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){H.apply(this,arguments);(c(this.state.cell)||a(this.state.cell))&&!k(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(Editor.moveImage),this.moveHandle.setAttribute("title","Move Subtree"),this.moveHandle.style.position="absolute",
this.moveHandle.style.cursor="pointer",this.moveHandle.style.width="24px",this.moveHandle.style.height="24px",this.graph.container.appendChild(this.moveHandle),mxEvent.addGestureListeners(this.moveHandle,mxUtils.bind(this,function(a){this.graph.graphHandler.start(this.state.cell,mxEvent.getClientX(a),mxEvent.getClientY(a),this.graph.getSubtree(this.state.cell));this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;q.hoverIcons.reset();
mxEvent.consume(a)})))};var G=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){G.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top=this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var J=mxVertexHandler.prototype.setHandlesVisible;mxVertexHandler.prototype.setHandlesVisible=function(a){J.apply(this,arguments);null!=this.moveHandle&&
(this.moveHandle.style.display=a?"":"none")};var I=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){I.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var c=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=c.apply(this,arguments),d=this.graph;return a.concat([this.addEntry("tree container",function(){var a=new mxCell("Tree Container",
new mxGeometry(0,0,400,320),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var b=new mxCell("Parent",new mxGeometry(140,60,120,40),"whiteSpace=wrap;html=1;treeFolding=1;treeMoving=1;");b.vertex=!0;var c=new mxCell("Child",new mxGeometry(140,160,120,140),"whiteSpace=wrap;html=1;treeFolding=1;treeMoving=1;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");d.geometry.relative=!0;
d.edge=!0;b.insertEdge(d,!0);c.insertEdge(d,!1);a.insert(d);a.insert(b);a.insert(c);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps central idea branch topic",function(){var a=new mxCell("Mindmap",new mxGeometry(0,0,420,126),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var b=new mxCell("Central Idea",new mxGeometry(160,60,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;");
b.vertex=!0;var c=new mxCell("Topic",new mxGeometry(320,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");d.geometry.relative=!0;d.edge=!0;b.insertEdge(d,!0);c.insertEdge(d,!1);var g=new mxCell("Branch",new mxGeometry(320,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;autosize=1;treeFolding=1;treeMoving=1;");
g.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!0);g.insertEdge(e,!1);var m=new mxCell("Topic",new mxGeometry(20,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;");m.vertex=!0;var p=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
p.geometry.relative=!0;p.edge=!0;b.insertEdge(p,!0);m.insertEdge(p,!1);var q=new mxCell("Branch",new mxGeometry(20,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;autosize=1;treeFolding=1;treeMoving=1;");q.vertex=!0;var u=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
u.geometry.relative=!0;u.edge=!0;b.insertEdge(u,!0);q.insertEdge(u,!1);a.insert(d);a.insert(e);a.insert(p);a.insert(u);a.insert(b);a.insert(c);a.insert(g);a.insert(m);a.insert(q);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps central idea",function(){var a=new mxCell("Central Idea",new mxGeometry(0,0,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;");a.vertex=!0;return sb.createVertexTemplateFromCells([a],
a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps branch",function(){var a=new mxCell("Branch",new mxGeometry(0,0,80,20),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;recursiveResize=0;autosize=1;treeFolding=1;treeMoving=1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
b.geometry.setTerminalPoint(new mxPoint(-40,40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps sub topic",function(){var a=new mxCell("Sub Topic",new mxGeometry(0,0,72,26),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,
0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");b.geometry.setTerminalPoint(new mxPoint(-40,40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree orgchart organization division",function(){var a=new mxCell("Orgchart",new mxGeometry(0,0,280,220),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var b=new mxCell("Organization",
new mxGeometry(80,40,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;");d.setAttributeForCell(b,"treeRoot","1");b.vertex=!0;var c=new mxCell("Division",new mxGeometry(20,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;treeFolding=1;treeMoving=1;");c.vertex=!0;var g=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");g.geometry.relative=!0;g.edge=!0;b.insertEdge(g,!0);c.insertEdge(g,
!1);var t=new mxCell("Division",new mxGeometry(160,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;treeFolding=1;treeMoving=1;");t.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!0);t.insertEdge(e,!1);a.insert(g);a.insert(e);a.insert(b);a.insert(c);a.insert(t);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,
a.value)}),this.addEntry("tree root",function(){var a=new mxCell("Organization",new mxGeometry(0,0,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;");d.setAttributeForCell(a,"treeRoot","1");a.vertex=!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree division",function(){var a=new mxCell("Division",new mxGeometry(20,40,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;treeFolding=1;treeMoving=1;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");b.geometry.setTerminalPoint(new mxPoint(0,0),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree sub sections",function(){var a=new mxCell("Sub Section",new mxGeometry(0,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;treeFolding=1;treeMoving=1;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");b.geometry.setTerminalPoint(new mxPoint(110,-40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);var c=new mxCell("Sub Section",new mxGeometry(120,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;treeFolding=1;treeMoving=1;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,0,0),
"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");d.geometry.setTerminalPoint(new mxPoint(110,-40),!0);d.geometry.relative=!0;d.edge=!0;c.insertEdge(d,!1);return sb.createVertexTemplateFromCells([b,d,a,c],220,60,"Sub Sections")})])}}})();EditorUi.initMinimalTheme=function(){function a(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();null==a.formatWindow?(a.formatWindow=new g(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(566,b.container.clientHeight-10),function(b){b=a.createFormat(b);b.init();return b}),a.formatWindow.window.minimumSize=new mxRectangle(0,0,240,80),a.formatWindow.window.setVisible(!0)):a.formatWindow.window.setVisible(!a.formatWindow.window.isVisible());a.formatWindow.window.isVisible()&&
var e=u.model.getParent(a),f=e.geometry,k=[];u.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);u.traverse(a,!0,function(a,b){null!=b&&k.push(b);k.push(a);return!0});var g=a.geometry.width+40,m=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?g=0:b==mxConstants.DIRECTION_NORTH?(g=0,m=-m):b==mxConstants.DIRECTION_WEST?(g=-g,m=0):b==mxConstants.DIRECTION_EAST&&(m=0);u.moveCells(k,g,m);return u.addCells(d,e)}finally{u.model.endUpdate()}}function e(a,b){u.model.beginUpdate();try{var c=
u.model.getParent(a),d=u.getIncomingEdges(a),e=l(a);0==d.length&&(d=[u.createEdge(c,null,"",null,null,u.createCurrentEdgeStyle())],e=b);var f=u.cloneCells([d[0],a]);u.model.setTerminal(f[0],a,!0);if(null==u.model.getTerminal(f[0],!1)){u.model.setTerminal(f[0],f[1],!1);var k=u.getCellStyle(f[1]).newEdgeStyle;if(null!=k)try{var g=JSON.parse(k),m;for(m in g)u.setCellStyles(m,g[m],[f[0]]),"edgeStyle"==m&&"elbowEdgeStyle"==g[m]&&u.setCellStyles("elbow",e==mxConstants.DIRECTION_SOUTH||e==mxConstants.DIRECTION_NOTH?
"vertical":"horizontal",[f[0]])}catch(P){}}var d=u.getOutgoingEdges(a),n=c.geometry,k=[];u.view.currentRoot==c&&(n=new mxRectangle);for(g=0;g<d.length;g++){var p=u.model.getTerminal(d[g],!1);null!=p&&k.push(p)}var v=u.view.getBounds(k),q=u.view.translate,t=u.view.scale;e==mxConstants.DIRECTION_SOUTH?(f[1].geometry.x=null==v?a.geometry.x+(a.geometry.width-f[1].geometry.width)/2:(v.x+v.width)/t-q.x-n.x+10,f[1].geometry.y+=f[1].geometry.height-n.y+40):e==mxConstants.DIRECTION_NORTH?(f[1].geometry.x=
null==v?a.geometry.x+(a.geometry.width-f[1].geometry.width)/2:(v.x+v.width)/t-q.x+-n.x+10,f[1].geometry.y-=f[1].geometry.height+n.y+40):(f[1].geometry.x=e==mxConstants.DIRECTION_WEST?f[1].geometry.x-(f[1].geometry.width+n.x+40):f[1].geometry.x+(f[1].geometry.width-n.x+40),f[1].geometry.y=null==v?a.geometry.y+(a.geometry.height-f[1].geometry.height)/2:(v.y+v.height)/t-q.y+-n.y+10);return u.addCells(f,c)}finally{u.model.endUpdate()}}function m(a,b,c){a=u.getOutgoingEdges(a);c=u.view.getState(c);var d=
[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=u.view.getState(u.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,c.x+c.width)>=Math.max(f.x,c.x)||b&&Math.min(f.y+f.height,c.y+c.height)>=Math.max(f.y,c.y))&&d.push(f)}d.sort(function(a,c){return b?a.x+a.width-c.x-c.width:a.y+a.height-c.y-c.height})}return d}function p(a,b){var c=l(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST)==d&&c!=b?q.actions.get("selectParent").funct():
c==b?(d=u.getOutgoingEdges(a),null!=d&&0<d.length&&u.setSelectionCell(u.model.getTerminal(d[0],!1))):(c=u.getIncomingEdges(a),null!=c&&0<c.length&&(d=m(u.model.getTerminal(c[0],!0),d,a),c=u.view.getState(a),null!=c&&(c=mxUtils.indexOf(d,c),0<=c&&(c+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=c&&c<=d.length-1&&u.setSelectionCell(d[c].cell)))))}var q=this,u=q.editor.graph,v=u.getModel(),z=q.menus.createPopupMenu;q.menus.createPopupMenu=function(b,c,d){z.apply(this,arguments);
if(1==u.getSelectionCount()){c=u.getSelectionCell();var e=u.getOutgoingEdges(c);b.addSeparator();0<e.length&&(a(u.getSelectionCell())&&this.addMenuItems(b,["selectChildren"],null,d),this.addMenuItems(b,["selectDescendants"],null,d));a(u.getSelectionCell())&&(b.addSeparator(),0<u.getIncomingEdges(c).length&&this.addMenuItems(b,["selectSiblings","selectParent"],null,d))}};q.actions.addAction("selectChildren",function(){if(u.isEnabled()&&1==u.getSelectionCount()){var a=u.getSelectionCell(),a=u.getOutgoingEdges(a);
if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(u.model.getTerminal(a[c],!1));u.setSelectionCells(b)}}},null,null,"Alt+Shift+X");q.actions.addAction("selectSiblings",function(){if(u.isEnabled()&&1==u.getSelectionCount()){var a=u.getSelectionCell(),a=u.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=u.getOutgoingEdges(u.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(u.model.getTerminal(a[c],!1));u.setSelectionCells(b)}}},null,null,"Alt+Shift+S");q.actions.addAction("selectParent",
function(){if(u.isEnabled()&&1==u.getSelectionCount()){var a=u.getSelectionCell(),a=u.getIncomingEdges(a);null!=a&&0<a.length&&u.setSelectionCell(u.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");q.actions.addAction("selectDescendants",function(){if(u.isEnabled()&&1==u.getSelectionCount()){var a=u.getSelectionCell(),b=[];u.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});u.setSelectionCells(b)}},null,null,"Alt+Shift+D");var y=u.removeCells;u.removeCells=function(b,c){c=null!=
c?c:!0;null==b&&(b=this.getDeletableCells(this.getSelectionCells()));c&&(b=this.getDeletableCells(this.addAllEdges(b)));for(var e=[],f=0;f<b.length;f++){var k=b[f];v.isEdge(k)&&d(k)&&(e.push(k),k=v.getTerminal(k,!1));if(a(k)){var g=[];u.traverse(k,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});0<g.length&&(e=e.concat(g),k=u.getIncomingEdges(b[f]),b=b.concat(k))}else null!=k&&e.push(b[f])}b=e;return y.apply(this,arguments)};q.hoverIcons.getStateAt=function(b,c,d){return a(b.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,
d))};var B=u.duplicateCells;u.duplicateCells=function(b,c){b=null!=b?b:this.getSelectionCells();for(var d=b.slice(0),e=0;e<d.length;e++){var f=u.view.getState(d[e]);if(null!=f&&a(f.cell))for(var k=u.getIncomingEdges(f.cell),f=0;f<k.length;f++)mxUtils.remove(k[f],b)}this.model.beginUpdate();try{var g=B.call(this,b,c);if(g.length==b.length)for(e=0;e<b.length;e++)if(a(b[e])){var l=u.getIncomingEdges(g[e]),k=u.getIncomingEdges(b[e]);if(0==l.length&&0<k.length){var m=this.cloneCell(k[0]);this.addEdge(m,
u.getDefaultParent(),this.model.getTerminal(k[0],!0),g[e])}}}finally{this.model.endUpdate()}return g};var x=u.moveCells;u.moveCells=function(b,c,d,e,f,k,g){var l=null;this.model.beginUpdate();try{var m=f,n=this.getCurrentCellStyle(f);if(null!=b&&a(f)&&"1"==mxUtils.getValue(n,"treeFolding","0")){for(var p=0;p<b.length;p++)if(a(b[p])||u.model.isEdge(b[p])&&null==u.model.getTerminal(b[p],!0)){f=u.model.getParent(b[p]);break}if(null!=m&&f!=m&&null!=this.view.getState(b[0])){var v=u.getIncomingEdges(b[0]);
if(0<v.length){var q=u.view.getState(u.model.getTerminal(v[0],!0));if(null!=q){var t=u.view.getState(m);null!=t&&(c=(t.getCenterX()-q.getCenterX())/u.view.scale,d=(t.getCenterY()-q.getCenterY())/u.view.scale)}}}}l=x.apply(this,arguments);if(null!=l&&null!=b&&l.length==b.length)for(p=0;p<l.length;p++)if(this.model.isEdge(l[p]))a(m)&&0>mxUtils.indexOf(l,this.model.getTerminal(l[p],!0))&&this.model.setTerminal(l[p],m,!0);else if(a(b[p])&&(v=u.getIncomingEdges(b[p]),0<v.length))if(!e)a(m)&&0>mxUtils.indexOf(b,
this.model.getTerminal(v[0],!0))&&this.model.setTerminal(v[0],m,!0);else if(0==u.getIncomingEdges(l[p]).length){n=m;if(null==n||n==u.model.getParent(b[p]))n=u.model.getTerminal(v[0],!0);e=this.cloneCell(v[0]);this.addEdge(e,u.getDefaultParent(),n,l[p])}}finally{this.model.endUpdate()}return l};if(null!=q.sidebar){var A=q.sidebar.dropAndConnect;q.sidebar.dropAndConnect=function(b,c,d,e){var f=u.model,k=null;f.beginUpdate();try{if(k=A.apply(this,arguments),a(b))for(var g=0;g<k.length;g++)if(f.isEdge(k[g])&&
null==f.getTerminal(k[g],!0)){f.setTerminal(k[g],b,!0);var l=u.getCellGeometry(k[g]);l.points=null;null!=l.getTerminalPoint(!0)&&l.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return k}}var E={88:q.actions.get("selectChildren"),84:q.actions.get("selectSubtree"),80:q.actions.get("selectParent"),83:q.actions.get("selectSiblings")},D=q.onKeyDown;q.onKeyDown=function(b){try{if(u.isEnabled()&&!u.isEditing()&&a(u.getSelectionCell())&&1==u.getSelectionCount()){var c=null;0<u.getIncomingEdges(u.getSelectionCell()).length&&
(9==b.which?c=mxEvent.isShiftDown(b)?t(u.getSelectionCell()):e(u.getSelectionCell()):13==b.which&&(c=n(u.getSelectionCell(),!mxEvent.isShiftDown(b))));if(null!=c&&0<c.length)1==c.length&&u.model.isEdge(c[0])?u.setSelectionCell(u.model.getTerminal(c[0],!1)):u.setSelectionCell(c[c.length-1]),null!=q.hoverIcons&&q.hoverIcons.update(u.view.getState(u.getSelectionCell())),u.startEditingAtCell(u.getSelectionCell()),mxEvent.consume(b);else if(mxEvent.isAltDown(b)&&mxEvent.isShiftDown(b)){var d=E[b.keyCode];
null!=d&&(d.funct(b),mxEvent.consume(b))}else 37==b.keyCode?(p(u.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(b)):38==b.keyCode?(p(u.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(b)):39==b.keyCode?(p(u.getSelectionCell(),mxConstants.DIRECTION_EAST),mxEvent.consume(b)):40==b.keyCode&&(p(u.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(b))}}catch(Q){q.handleError(Q)}mxEvent.isConsumed(b)||D.apply(this,arguments)};var C=u.connectVertex;u.connectVertex=
function(b,c,d,f,k,g){var m=u.getIncomingEdges(b);return a(b)?(d=l(b),f=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,k=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,d==c||0==m.length?e(b,c):f==k?t(b):n(b,c!=mxConstants.DIRECTION_NORTH&&c!=mxConstants.DIRECTION_WEST)):C.call(this,b,c,d,f,k,g)};u.getSubtree=function(b){var d=[b];!c(b)&&!a(b)||k(b)||u.traverse(b,!0,function(a,b){null!=b&&0>mxUtils.indexOf(d,b)&&d.push(b);0>mxUtils.indexOf(d,a)&&d.push(a);return!0});return d};
var H=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){H.apply(this,arguments);(c(this.state.cell)||a(this.state.cell))&&!k(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(Editor.moveImage),this.moveHandle.setAttribute("title","Move Subtree"),this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width="24px",this.moveHandle.style.height="24px",this.graph.container.appendChild(this.moveHandle),
mxEvent.addGestureListeners(this.moveHandle,mxUtils.bind(this,function(a){this.graph.graphHandler.start(this.state.cell,mxEvent.getClientX(a),mxEvent.getClientY(a),this.graph.getSubtree(this.state.cell));this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;q.hoverIcons.reset();mxEvent.consume(a)})))};var G=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){G.apply(this,arguments);null!=this.moveHandle&&
(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top=this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var J=mxVertexHandler.prototype.setHandlesVisible;mxVertexHandler.prototype.setHandlesVisible=function(a){J.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.display=a?"":"none")};var I=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){I.apply(this,arguments);null!=
this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var c=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=c.apply(this,arguments),d=this.graph;return a.concat([this.addEntry("tree container",function(){var a=new mxCell("Tree Container",new mxGeometry(0,0,400,320),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var b=new mxCell("Parent",new mxGeometry(140,
60,120,40),'whiteSpace=wrap;html=1;treeFolding=1;treeMoving=1;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","startArrow":"none","endArrow":"none"};');b.vertex=!0;var c=new mxCell("Child",new mxGeometry(140,140,120,40),'whiteSpace=wrap;html=1;treeFolding=1;treeMoving=1;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","startArrow":"none","endArrow":"none"};');c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");d.geometry.relative=
!0;d.edge=!0;b.insertEdge(d,!0);c.insertEdge(d,!1);a.insert(d);a.insert(b);a.insert(c);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps central idea branch topic",function(){var a=new mxCell("Mindmap",new mxGeometry(0,0,420,126),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var b=new mxCell("Central Idea",new mxGeometry(160,60,100,40),'ellipse;whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;newEdgeStyle={"edgeStyle":"entityRelationEdgeStyle","startArrow":"none","endArrow":"none","segment":10,"curved":1};');
b.vertex=!0;var c=new mxCell("Topic",new mxGeometry(320,40,80,20),'whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;newEdgeStyle={"edgeStyle":"entityRelationEdgeStyle","startArrow":"none","endArrow":"none","segment":10,"curved":1};');c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");d.geometry.relative=!0;d.edge=!0;
b.insertEdge(d,!0);c.insertEdge(d,!1);var g=new mxCell("Branch",new mxGeometry(320,80,72,26),'whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;autosize=1;treeFolding=1;treeMoving=1;newEdgeStyle={"edgeStyle":"entityRelationEdgeStyle","startArrow":"none","endArrow":"none","segment":10,"curved":1};');g.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,
0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!0);g.insertEdge(e,!1);var m=new mxCell("Topic",new mxGeometry(20,40,80,20),'whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;newEdgeStyle={"edgeStyle":"entityRelationEdgeStyle","startArrow":"none","endArrow":"none","segment":10,"curved":1};');m.vertex=!0;var p=new mxCell("",
new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");p.geometry.relative=!0;p.edge=!0;b.insertEdge(p,!0);m.insertEdge(p,!1);var q=new mxCell("Branch",new mxGeometry(20,80,72,26),'whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;autosize=1;treeFolding=1;treeMoving=1;newEdgeStyle={"edgeStyle":"entityRelationEdgeStyle","startArrow":"none","endArrow":"none","segment":10,"curved":1};');
q.vertex=!0;var u=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");u.geometry.relative=!0;u.edge=!0;b.insertEdge(u,!0);q.insertEdge(u,!1);a.insert(d);a.insert(e);a.insert(p);a.insert(u);a.insert(b);a.insert(c);a.insert(g);a.insert(m);a.insert(q);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps central idea",function(){var a=new mxCell("Central Idea",
new mxGeometry(0,0,100,40),'ellipse;whiteSpace=wrap;html=1;align=center;newEdgeStyle={"edgeStyle":"entityRelationEdgeStyle","startArrow":"none","endArrow":"none","segment":10,"curved":1};treeFolding=1;treeMoving=1;');a.vertex=!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps branch",function(){var a=new mxCell("Branch",new mxGeometry(0,0,80,20),'whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;recursiveResize=0;autosize=1;treeFolding=1;treeMoving=1;newEdgeStyle={"edgeStyle":"entityRelationEdgeStyle","startArrow":"none","endArrow":"none","segment":10,"curved":1};');
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");b.geometry.setTerminalPoint(new mxPoint(-40,40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps sub topic",function(){var a=new mxCell("Sub Topic",new mxGeometry(0,0,72,26),'whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;newEdgeStyle={"edgeStyle":"entityRelationEdgeStyle","startArrow":"none","endArrow":"none","segment":10,"curved":1};');
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");b.geometry.setTerminalPoint(new mxPoint(-40,40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree orgchart organization division",function(){var a=new mxCell("Orgchart",new mxGeometry(0,0,280,220),'swimlane;html=1;startSize=20;horizontal=1;containerType=tree;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","startArrow":"none","endArrow":"none"};');
a.vertex=!0;var b=new mxCell("Organization",new mxGeometry(80,40,120,60),'whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","startArrow":"none","endArrow":"none"};');d.setAttributeForCell(b,"treeRoot","1");b.vertex=!0;var c=new mxCell("Division",new mxGeometry(20,140,100,60),'whiteSpace=wrap;html=1;align=center;verticalAlign=middle;treeFolding=1;treeMoving=1;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","startArrow":"none","endArrow":"none"};');
c.vertex=!0;var g=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");g.geometry.relative=!0;g.edge=!0;b.insertEdge(g,!0);c.insertEdge(g,!1);var t=new mxCell("Division",new mxGeometry(160,140,100,60),'whiteSpace=wrap;html=1;align=center;verticalAlign=middle;treeFolding=1;treeMoving=1;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","startArrow":"none","endArrow":"none"};');t.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");
e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!0);t.insertEdge(e,!1);a.insert(g);a.insert(e);a.insert(b);a.insert(c);a.insert(t);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree root",function(){var a=new mxCell("Organization",new mxGeometry(0,0,120,60),'whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","startArrow":"none","endArrow":"none"};');d.setAttributeForCell(a,"treeRoot",
"1");a.vertex=!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree division",function(){var a=new mxCell("Division",new mxGeometry(20,40,100,60),'whiteSpace=wrap;html=1;align=center;verticalAlign=middle;treeFolding=1;treeMoving=1;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","startArrow":"none","endArrow":"none"};');a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");
b.geometry.setTerminalPoint(new mxPoint(0,0),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree sub sections",function(){var a=new mxCell("Sub Section",new mxGeometry(0,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;treeFolding=1;treeMoving=1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");
b.geometry.setTerminalPoint(new mxPoint(110,-40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);var c=new mxCell("Sub Section",new mxGeometry(120,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;treeFolding=1;treeMoving=1;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");d.geometry.setTerminalPoint(new mxPoint(110,-40),!0);d.geometry.relative=
!0;d.edge=!0;c.insertEdge(d,!1);return sb.createVertexTemplateFromCells([b,d,a,c],220,60,"Sub Sections")})])}}})();EditorUi.initMinimalTheme=function(){function a(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();null==a.formatWindow?(a.formatWindow=new g(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(566,b.container.clientHeight-10),function(b){b=a.createFormat(b);b.init();return b}),a.formatWindow.window.minimumSize=new mxRectangle(0,0,240,80),a.formatWindow.window.setVisible(!0)):a.formatWindow.window.setVisible(!a.formatWindow.window.isVisible());a.formatWindow.window.isVisible()&&
a.formatWindow.window.fit()}function d(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var c=Math.min(b.container.clientWidth-10,218);a.sidebarWindow=new g(a,mxResources.get("shapes"),10,56,c-6,Math.min(650,b.container.clientHeight-30),function(b){function c(c,d){var f=a.menus.get(c),g=e.addMenu(d,mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.style.cssText="position:absolute;border-top:1px solid lightgray;width:50%;height:24px;bottom:0px;text-align:center;cursor:pointer;padding:6px 0 0 0;cusor:pointer;";
g.className="geTitle";b.appendChild(g);return g}var d=document.createElement("div");d.style.cssText="position:absolute;left:0;right:0;border-top:1px solid lightgray;height:24px;bottom:31px;text-align:center;cursor:pointer;padding:6px 0 0 0;";d.className="geTitle";d.innerHTML='<span style="font-size:18px;margin-right:5px;">+</span>';mxUtils.write(d,mxResources.get("moreShapes"));b.appendChild(d);mxEvent.addListener(d,"click",function(){a.actions.get("shapes").funct()});var e=new Menubar(a,b);if(!Editor.enableCustomLibraries||
"1"==urlParams.embed&&"1"!=urlParams.libraries)d.style.bottom="0";else if(null!=a.actions.get("newLibrary")){d=document.createElement("div");d.style.cssText="position:absolute;left:0px;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;";d.className="geTitle";var f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("newLibrary"));d.appendChild(f);b.appendChild(d);mxEvent.addListener(d,

View file

@ -315,18 +315,9 @@
subtree.push(edge);
}
if (graph.getIncomingEdges(vertex).length == 1)
{
subtree.push(vertex);
return true;
}
else
{
subtree = [];
subtree.push(vertex);
return false;
}
return true;
});
if (subtree.length > 0)
@ -616,7 +607,6 @@
var edges = graph.getIncomingEdges(cell);
var clones = graph.cloneCells([edges[0], cell]);
graph.model.setTerminal(clones[0], graph.model.getTerminal(edges[0], true), true);
var dir = getTreeDirection(cell);
var pgeo = parent.geometry;
@ -809,16 +799,59 @@
}
};
function addChild(cell)
function addChild(cell, direction)
{
graph.model.beginUpdate();
try
{
var parent = graph.model.getParent(cell);
var edges = graph.getIncomingEdges(cell);
var dir = getTreeDirection(cell);
// Handles special case for click on tree root
if (edges.length == 0)
{
edges = [graph.createEdge(parent, null, '', null, null,
graph.createCurrentEdgeStyle())];
dir = direction;
}
var clones = graph.cloneCells([edges[0], cell]);
graph.model.setTerminal(clones[0], cell, true);
if (graph.model.getTerminal(clones[0], false) == null)
{
graph.model.setTerminal(clones[0], clones[1], false);
var style = graph.getCellStyle(clones[1]);
var temp = style['newEdgeStyle'];
if (temp != null)
{
try
{
var styles = JSON.parse(temp);
for (var key in styles)
{
graph.setCellStyles(key, styles[key], [clones[0]]);
// Sets elbow direction
if (key == 'edgeStyle' && styles[key] == 'elbowEdgeStyle')
{
graph.setCellStyles('elbow', (dir == mxConstants.DIRECTION_SOUTH ||
dir == mxConstants.DIRECTION_NOTH) ? 'vertical' : 'horizontal',
[clones[0]]);
}
}
}
catch (e)
{
// ignore
}
}
}
// Finds free space
var edges = graph.getOutgoingEdges(cell);
var pgeo = parent.geometry;
@ -841,7 +874,6 @@
}
var bbox = graph.view.getBounds(targets);
var dir = getTreeDirection(cell);
var tr = graph.view.translate;
var s = graph.view.scale;
@ -1064,15 +1096,15 @@
{
var edges = graph.getIncomingEdges(source);
if (isTreeVertex(source) && edges.length > 0)
if (isTreeVertex(source))
{
var dir = getTreeDirection(source);
var h1 = dir == mxConstants.DIRECTION_EAST || dir == mxConstants.DIRECTION_WEST;
var h2 = direction == mxConstants.DIRECTION_EAST || direction == mxConstants.DIRECTION_WEST;
if (dir == direction)
if (dir == direction || edges.length == 0)
{
return addChild(source);
return addChild(source, direction);
}
else if (h1 == h2)
{
@ -1203,6 +1235,10 @@
var result = sidebarCreateAdvancedShapes.apply(this, arguments);
var graph = this.graph;
// Style that defines the key, value pairs to be used for creating styles of new connections if no incoming edge exists
var mmEdgeStyle = 'newEdgeStyle={"edgeStyle":"entityRelationEdgeStyle","startArrow":"none","endArrow":"none","segment":10,"curved":1};';
var treeEdgeStyle = 'newEdgeStyle={"edgeStyle":"elbowEdgeStyle","startArrow":"none","endArrow":"none"};';
return result.concat([
this.addEntry('tree container', function()
{
@ -1211,11 +1247,11 @@
cell.vertex = true;
var cell2 = new mxCell('Parent', new mxGeometry(140, 60, 120, 40),
'whiteSpace=wrap;html=1;treeFolding=1;treeMoving=1;');
'whiteSpace=wrap;html=1;treeFolding=1;treeMoving=1;' + treeEdgeStyle);
cell2.vertex = true;
var cell3 = new mxCell('Child', new mxGeometry(140, 160, 120, 140),
'whiteSpace=wrap;html=1;treeFolding=1;treeMoving=1;');
var cell3 = new mxCell('Child', new mxGeometry(140, 140, 120, 40),
'whiteSpace=wrap;html=1;treeFolding=1;treeMoving=1;' + treeEdgeStyle);
cell3.vertex = true;
var edge = new mxCell('', new mxGeometry(0, 0, 0, 0),
@ -1242,12 +1278,12 @@
var cell = new mxCell('Central Idea', new mxGeometry(160, 60, 100, 40),
'ellipse;whiteSpace=wrap;html=1;align=center;' +
'treeFolding=1;treeMoving=1;');
'treeFolding=1;treeMoving=1;' + mmEdgeStyle);
cell.vertex = true;
var cell2 = new mxCell('Topic', new mxGeometry(320, 40, 80, 20),
'whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;' +
'strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;');
'strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;' + mmEdgeStyle);
cell2.vertex = true;
var edge = new mxCell('', new mxGeometry(0, 0, 0, 0), 'edgeStyle=entityRelationEdgeStyle;' +
@ -1261,7 +1297,7 @@
var cell3 = new mxCell('Branch', new mxGeometry(320, 80, 72, 26),
'whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];' +
'strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;' +
'snapToPoint=1;autosize=1;treeFolding=1;treeMoving=1;');
'snapToPoint=1;autosize=1;treeFolding=1;treeMoving=1;' + mmEdgeStyle);
cell3.vertex = true;
var edge2 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'edgeStyle=entityRelationEdgeStyle;' +
@ -1274,7 +1310,7 @@
var cell4 = new mxCell('Topic', new mxGeometry(20, 40, 80, 20),
'whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;' +
'strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;');
'strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;' + mmEdgeStyle);
cell4.vertex = true;
var edge3 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'edgeStyle=entityRelationEdgeStyle;' +
@ -1288,7 +1324,7 @@
var cell5 = new mxCell('Branch', new mxGeometry(20, 80, 72, 26),
'whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];' +
'strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;' +
'snapToPoint=1;autosize=1;treeFolding=1;treeMoving=1;');
'snapToPoint=1;autosize=1;treeFolding=1;treeMoving=1;' + mmEdgeStyle);
cell5.vertex = true;
var edge4 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'edgeStyle=entityRelationEdgeStyle;' +
@ -1315,7 +1351,7 @@
this.addEntry('tree mindmap mindmaps central idea', function()
{
var cell = new mxCell('Central Idea', new mxGeometry(0, 0, 100, 40),
'ellipse;whiteSpace=wrap;html=1;align=center;' +
'ellipse;whiteSpace=wrap;html=1;align=center;' + mmEdgeStyle +
'treeFolding=1;treeMoving=1;');
cell.vertex = true;
@ -1327,7 +1363,7 @@
var cell = new mxCell('Branch', new mxGeometry(0, 0, 80, 20),
'whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];' +
'strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;' +
'snapToPoint=1;recursiveResize=0;autosize=1;treeFolding=1;treeMoving=1;');
'snapToPoint=1;recursiveResize=0;autosize=1;treeFolding=1;treeMoving=1;' + mmEdgeStyle);
cell.vertex = true;
var edge = new mxCell('', new mxGeometry(0, 0, 0, 0), 'edgeStyle=entityRelationEdgeStyle;' +
@ -1345,7 +1381,7 @@
{
var cell = new mxCell('Sub Topic', new mxGeometry(0, 0, 72, 26),
'whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;' +
'strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;');
'strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;' + mmEdgeStyle);
cell.vertex = true;
var edge = new mxCell('', new mxGeometry(0, 0, 0, 0), 'edgeStyle=entityRelationEdgeStyle;' +
@ -1362,16 +1398,16 @@
this.addEntry('tree orgchart organization division', function()
{
var orgchart = new mxCell('Orgchart', new mxGeometry(0, 0, 280, 220),
'swimlane;html=1;startSize=20;horizontal=1;containerType=tree;');
'swimlane;html=1;startSize=20;horizontal=1;containerType=tree;' + treeEdgeStyle);
orgchart.vertex = true;
var cell = new mxCell('Organization', new mxGeometry(80, 40, 120, 60),
'whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;');
'whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;' + treeEdgeStyle);
graph.setAttributeForCell(cell, 'treeRoot', '1');
cell.vertex = true;
var cell2 = new mxCell('Division', new mxGeometry(20, 140, 100, 60),
'whiteSpace=wrap;html=1;align=center;verticalAlign=middle;treeFolding=1;treeMoving=1;');
'whiteSpace=wrap;html=1;align=center;verticalAlign=middle;treeFolding=1;treeMoving=1;' + treeEdgeStyle);
cell2.vertex = true;
var edge = new mxCell('', new mxGeometry(0, 0, 0, 0),
@ -1384,7 +1420,7 @@
cell2.insertEdge(edge, false);
var cell3 = new mxCell('Division', new mxGeometry(160, 140, 100, 60),
'whiteSpace=wrap;html=1;align=center;verticalAlign=middle;treeFolding=1;treeMoving=1;');
'whiteSpace=wrap;html=1;align=center;verticalAlign=middle;treeFolding=1;treeMoving=1;' + treeEdgeStyle);
cell3.vertex = true;
var edge2 = new mxCell('', new mxGeometry(0, 0, 0, 0),
@ -1408,7 +1444,7 @@
this.addEntry('tree root', function()
{
var cell = new mxCell('Organization', new mxGeometry(0, 0, 120, 60),
'whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;');
'whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;' + treeEdgeStyle);
graph.setAttributeForCell(cell, 'treeRoot', '1');
cell.vertex = true;
@ -1418,7 +1454,7 @@
this.addEntry('tree division', function()
{
var cell = new mxCell('Division', new mxGeometry(20, 40, 100, 60),
'whiteSpace=wrap;html=1;align=center;verticalAlign=middle;treeFolding=1;treeMoving=1;');
'whiteSpace=wrap;html=1;align=center;verticalAlign=middle;treeFolding=1;treeMoving=1;' + treeEdgeStyle);
cell.vertex = true;
var edge = new mxCell('', new mxGeometry(0, 0, 0, 0),

View file

@ -19,6 +19,12 @@
this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;top=0;left=0;fillColor=none;', w * 1.2, h * 0.6, '', 'Partial Rectangle'),
this.createVertexTemplateEntry(s2 + 'polygon;polyCoords=[[0.25,0],[0.75,0],[1,0.25],[1,0.75],[0.75,1],[0.25,1],[0,0.75],[0,0.25]];polyline=0;', w, h, '', 'Polygon', null, null, this.getTagsForStencil(gn, 'polygon', dt).join(' ')),
this.createVertexTemplateEntry(s2 + 'polygon;polyCoords=[[0.25,0],[0.75,0],[1,0.25],[1,0.75],[0.75,1],[0.25,1],[0,0.75],[0,0.25]];polyline=1;fillColor=none;', w, h, '', 'Polyline', null, null, this.getTagsForStencil(gn, 'polyline', dt).join(' ')),
this.createVertexTemplateEntry(s2 + 'patternFillRect;fillStyle=diag;step=5;fillStrokeWidth=0.2;fillStrokeColor=#dddddd;', w * 1.2, h * 0.6, '', 'Rectangle with diagonal fill'),
this.createVertexTemplateEntry(s2 + 'patternFillRect;fillStyle=diagRev;step=5;fillStrokeWidth=0.2;fillStrokeColor=#dddddd;', w * 1.2, h * 0.6, '', 'Rectangle with reverse diagonal fill'),
this.createVertexTemplateEntry(s2 + 'patternFillRect;fillStyle=vert;step=5;fillStrokeWidth=0.2;fillStrokeColor=#dddddd;', w * 1.2, h * 0.6, '', 'Rectangle with vertical fill'),
this.createVertexTemplateEntry(s2 + 'patternFillRect;fillStyle=hor;step=5;fillStrokeWidth=0.2;fillStrokeColor=#dddddd;', w * 1.2, h * 0.6, '', 'Rectangle with horizontal fill'),
this.createVertexTemplateEntry(s2 + 'patternFillRect;fillStyle=grid;step=5;fillStrokeWidth=0.2;fillStrokeColor=#dddddd;', w * 1.2, h * 0.6, '', 'Rectangle with grid fill'),
this.createVertexTemplateEntry(s2 + 'patternFillRect;fillStyle=diagGrid;step=5;fillStrokeWidth=0.2;fillStrokeColor=#dddddd;', w * 1.2, h * 0.6, '', 'Rectangle with diagonal grid fill'),
this.createVertexTemplateEntry(s2 + '4_point_star_2;dx=0.8;', w, h, '', '4 Point Star', null, null, this.getTagsForStencil(gn, '4_point_star', dt).join(' ')),
this.createVertexTemplateEntry(s2 + '6_point_star', w, h * 0.9, '', '6 Point Star', null, null, this.getTagsForStencil(gn, '6_point_star', dt).join(' ')),
this.createVertexTemplateEntry(s2 + '8_point_star', w, h, '', '8 Point Star', null, null, this.getTagsForStencil(gn, '8_point_star', dt).join(' ')),

View file

@ -569,40 +569,40 @@
var fns = [
this.createVertexTemplateEntry(
'shape=mxgraph.ibm.box;prType=cloud;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;',
'shape=mxgraph.ibm.box;prType=cloud;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;expand=0;recursiveResize=0;',
200, 200, 'IBM Cloud', 'IBM Cloud', true, null, this.getTagsForStencil(gn, 'ibm cloud', dt).join(' ')),
this.createVertexTemplateEntry(
'shape=mxgraph.ibm.box;prType=vpc;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;',
'shape=mxgraph.ibm.box;prType=vpc;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;expand=0;recursiveResize=0;',
200, 200, 'VPC', 'VPC', true, null, this.getTagsForStencil(gn, 'vpc virtual private cloud', dt).join(' ')),
this.createVertexTemplateEntry(
'shape=mxgraph.ibm.box;prType=region;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;',
'shape=mxgraph.ibm.box;prType=region;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;expand=0;recursiveResize=0;',
200, 200, 'Region', 'Region', true, null, this.getTagsForStencil(gn, 'region', dt).join(' ')),
this.createVertexTemplateEntry(
'shape=mxgraph.ibm.box;prType=zone;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=#E0E0E0;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=1;dashed=0;container=1;spacing=-4;collapsible=0;',
'shape=mxgraph.ibm.box;prType=zone;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=#E0E0E0;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=1;dashed=0;container=1;spacing=-4;collapsible=0;expand=0;recursiveResize=0;',
200, 200, 'Zone', 'Zone', true, null, this.getTagsForStencil(gn, 'zone', dt).join(' ')),
this.createVertexTemplateEntry(
'shape=mxgraph.ibm.box;prType=subnet;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=#E6F0E2;rounded=0;whiteSpace=wrap;html=1;strokeColor=#00882B;strokeWidth=1;dashed=0;container=1;spacing=-4;collapsible=0;',
'shape=mxgraph.ibm.box;prType=subnet;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=#E6F0E2;rounded=0;whiteSpace=wrap;html=1;strokeColor=#00882B;strokeWidth=1;dashed=0;container=1;spacing=-4;collapsible=0;expand=0;recursiveResize=0;',
200, 200, 'Subnet:ACL', 'Subnet:ACL', true, null, this.getTagsForStencil(gn, 'subnet acl', dt).join(' ')),
this.createVertexTemplateEntry(
'fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#FF0000;strokeWidth=2;dashed=1;container=1;collapsible=0;',
'fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#FF0000;strokeWidth=2;dashed=1;container=1;collapsible=0;expand=0;recursiveResize=0;',
200, 200, 'Security Group', 'Security Group', true, null, this.getTagsForStencil(gn, 'security group', dt).join(' ')),
this.createVertexTemplateEntry(
'fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#00882B;strokeWidth=2;dashed=1;container=1;collapsible=0;',
'fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#00882B;strokeWidth=2;dashed=1;container=1;collapsible=0;expand=0;recursiveResize=0;',
200, 200, 'Instance Group', 'Instance Group', true, null, this.getTagsForStencil(gn, 'instance group', dt).join(' ')),
this.createVertexTemplateEntry(
'fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=2;dashed=1;container=1;collapsible=0;',
'fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=2;dashed=1;container=1;collapsible=0;expand=0;recursiveResize=0;',
200, 200, 'Resource Group', 'Resource Group', true, null, this.getTagsForStencil(gn, 'resource group', dt).join(' ')),
this.createVertexTemplateEntry(
'shape=mxgraph.ibm.box;prType=public;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;',
'shape=mxgraph.ibm.box;prType=public;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;expand=0;recursiveResize=0;',
200, 200, 'Public Network', 'Public Network', true, null, this.getTagsForStencil(gn, 'public network', dt).join(' ')),
this.createVertexTemplateEntry(
'shape=mxgraph.ibm.box;prType=enterprise;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;',
'shape=mxgraph.ibm.box;prType=enterprise;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;expand=0;recursiveResize=0;',
200, 200, 'Enterprise Network', 'Enterprise Network', true, null, this.getTagsForStencil(gn, 'enterprise network', dt).join(' ')),
this.createVertexTemplateEntry(
'shape=mxgraph.ibm.box;prType=classic;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;',
'shape=mxgraph.ibm.box;prType=classic;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;expand=0;recursiveResize=0;',
200, 200, 'Classic Infrastructure', 'Classic Infrastructure', true, null, this.getTagsForStencil(gn, 'classic infrastructure', dt).join(' ')),
this.createVertexTemplateEntry(
'fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=1;dashed=0;container=1;collapsible=0;',
'fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=1;dashed=0;container=1;collapsible=0;expand=0;recursiveResize=0;',
200, 200, 'Cloud Services', 'Cloud Services', true, null, this.getTagsForStencil(gn, 'cloud services', dt).join(' '))
];

View file

@ -817,7 +817,7 @@
200, 100, 'Callout', 'Callout', null, null, this.getTagsForStencil(gn, 'callout', dt).join(' ')),
this.createVertexTemplateEntry(s2 + 'text.callout;linkText=;textSize=17;textColor=#666666;callDir=SE;callStyle=line;fontSize=17;fontColor=#666666;align=right;verticalAlign=bottom;' + skcl6,
200, 100, 'Callout', 'Callout', null, null, this.getTagsForStencil(gn, 'callout', dt).join(' ')),
this.createVertexTemplateEntry(s2 + 'text.stickyNote;fontColor=#666666;mainText=;fontSize=17;whiteSpace=wrap;',
this.createVertexTemplateEntry(s2 + 'text.stickyNote2;fontColor=#666666;mainText=;fontSize=17;whiteSpace=wrap;fillColor=#ffffcc;strokeColor=#F62E00;',
200, 200, 'Note Line 1\nNote Line 2\nNote Line 3', 'Sticky Note', null, null, this.getTagsForStencil(gn, 'stickyNote', dt).join(' ')),
this.createVertexTemplateEntry(s2 + 'text.bulletedList;textColor=#666666;mainText=,,,,;textSize=17;bulletStyle=none;' + skclN + mxConstants.STYLE_FILLCOLOR + '=none;align=left;verticalAlign=top;fontSize=17;fontColor=#666666;',
150, 135, '-Line 1\n-Line 2\n-Line 3\n-Line 4', 'Bulleted List', null, null, this.getTagsForStencil(gn, 'bulletedList', dt).join(' ')),

View file

@ -596,8 +596,11 @@ a.begin(),a.moveTo(b-.5*m,c-d),a.lineTo(0,0),a.stroke()):k===mxShapeMockupCallou
function mxShapeMockupStickyNote(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupStickyNote,mxShape);mxShapeMockupStickyNote.prototype.cst={MAIN_TEXT:"mainText",TEXT_COLOR:"textColor",TEXT_SIZE:"textSize",SHAPE_STICKY_NOTE:"mxgraph.mockup.text.stickyNote"};mxShapeMockupStickyNote.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,b,c);a.setShadow(!1);this.foreground(a,b,c)};
mxShapeMockupStickyNote.prototype.background=function(a,d,e){a.setFillColor("#ffffcc");a.begin();a.moveTo(.03*d,.07*e);a.lineTo(.89*d,.06*e);a.arcTo(2.81*d,2.92*e,1,0,0,.99*d,.98*e);a.lineTo(.09*d,.99*e);a.arcTo(2.81*d,2.92*e,1,0,1,.03*d,.07*e);a.close();a.fill()};
mxShapeMockupStickyNote.prototype.foreground=function(a,d,e){var b=mxUtils.getValue(this.style,mxShapeMockupStickyNote.prototype.cst.MAIN_TEXT,"Note line 1,Note line 2,Note line 3").toString().split(","),c=mxUtils.getValue(this.style,mxShapeMockupStickyNote.prototype.cst.TEXT_COLOR,"#666666").toString(),f=mxUtils.getValue(this.style,mxShapeMockupStickyNote.prototype.cst.TEXT_SIZE,"17").toString();a.setFillColor("#ff3300");a.begin();a.moveTo(.28*d,0);a.lineTo(.59*d,0);a.lineTo(.6*d,.12*e);a.lineTo(.28*
d,.13*e);a.close();a.fill();a.setFontSize(f);a.setFontColor(c);for(var c=b.length*f*1.5,g=0;g<b.length;g++)a.text(d/2,(e-c)/2+g*f*1.5+.75*f,0,0,b[g],mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape(mxShapeMockupStickyNote.prototype.cst.SHAPE_STICKY_NOTE,mxShapeMockupStickyNote);function mxShapeMockupBulletedList(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupBulletedList,mxShape);
mxShapeMockupBulletedList.prototype.cst={MAIN_TEXT:"mainText",TEXT_COLOR:"textColor",TEXT_SIZE:"textSize",BULLET_STYLE:"bulletStyle",STYLE_HYPHEN:"hyphen",STYLE_NUM:"number",STYLE_DOT:"dot",SHAPE_BULLETED_LIST:"mxgraph.mockup.text.bulletedList"};mxShapeMockupBulletedList.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,b,c);a.setShadow(!1);this.foreground(a,b,c)};mxShapeMockupBulletedList.prototype.background=function(a,d,e){a.rect(0,0,d,e);a.fillAndStroke()};
d,.13*e);a.close();a.fill();a.setFontSize(f);a.setFontColor(c);for(var c=b.length*f*1.5,g=0;g<b.length;g++)a.text(d/2,(e-c)/2+g*f*1.5+.75*f,0,0,b[g],mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape(mxShapeMockupStickyNote.prototype.cst.SHAPE_STICKY_NOTE,mxShapeMockupStickyNote);function mxShapeMockupStickyNote2(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupStickyNote2,mxShape);
mxShapeMockupStickyNote2.prototype.cst={SHAPE_STICKY_NOTE:"mxgraph.mockup.text.stickyNote2"};mxShapeMockupStickyNote2.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,b,c);a.setShadow(!1);this.foreground(a,b,c)};mxShapeMockupStickyNote2.prototype.background=function(a,d,e){a.begin();a.moveTo(.03*d,.07*e);a.lineTo(.89*d,.06*e);a.arcTo(2.81*d,2.92*e,1,0,0,.99*d,.98*e);a.lineTo(.09*d,.99*e);a.arcTo(2.81*d,2.92*e,1,0,1,.03*d,.07*e);a.close();a.fill()};
mxShapeMockupStickyNote2.prototype.foreground=function(a,d,e){var b=mxUtils.getValue(this.style,"strokeColor","#000000");a.setFillColor(b);a.begin();a.moveTo(.28*d,0);a.lineTo(.59*d,0);a.lineTo(.6*d,.12*e);a.lineTo(.28*d,.13*e);a.close();a.fill()};mxCellRenderer.registerShape(mxShapeMockupStickyNote2.prototype.cst.SHAPE_STICKY_NOTE,mxShapeMockupStickyNote2);function mxShapeMockupBulletedList(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
mxUtils.extend(mxShapeMockupBulletedList,mxShape);mxShapeMockupBulletedList.prototype.cst={MAIN_TEXT:"mainText",TEXT_COLOR:"textColor",TEXT_SIZE:"textSize",BULLET_STYLE:"bulletStyle",STYLE_HYPHEN:"hyphen",STYLE_NUM:"number",STYLE_DOT:"dot",SHAPE_BULLETED_LIST:"mxgraph.mockup.text.bulletedList"};mxShapeMockupBulletedList.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,b,c);a.setShadow(!1);this.foreground(a,b,c)};
mxShapeMockupBulletedList.prototype.background=function(a,d,e){a.rect(0,0,d,e);a.fillAndStroke()};
mxShapeMockupBulletedList.prototype.foreground=function(a,d,e){d=mxUtils.getValue(this.style,mxShapeMockupBulletedList.prototype.cst.MAIN_TEXT,"Note line 1,Note line 2,Note line 3").toString().split(",");var b=mxUtils.getValue(this.style,mxShapeMockupBulletedList.prototype.cst.TEXT_COLOR,"#666666");e=mxUtils.getValue(this.style,mxShapeMockupBulletedList.prototype.cst.TEXT_SIZE,"17");var c=mxUtils.getValue(this.style,mxShapeMockupBulletedList.prototype.cst.BULLET_STYLE,"none");a.setFontColor(b);a.setFontSize(e);
for(b=0;b<d.length;b++){var f;f=c===mxShapeMockupBulletedList.prototype.cst.STYLE_NUM?b+1+") "+d[b]:c===mxShapeMockupBulletedList.prototype.cst.STYLE_HYPHEN?"- "+d[b]:c===mxShapeMockupBulletedList.prototype.cst.STYLE_DOT?String.fromCharCode(8226)+" "+d[b]:" "+d[b];a.text(10,b*e*1.5+.75*e,0,0,f,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)}};mxCellRenderer.registerShape(mxShapeMockupBulletedList.prototype.cst.SHAPE_BULLETED_LIST,mxShapeMockupBulletedList);
function mxShapeMockupTextBox(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupTextBox,mxShape);mxShapeMockupTextBox.prototype.cst={MAIN_TEXT:"mainText",TEXT_COLOR:"textColor",TEXT_SIZE:"textSize",SHAPE_TEXT_BOX:"mxgraph.mockup.text.textBox"};mxShapeMockupTextBox.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,b,c);a.setShadow(!1);this.foreground(a,b,c)};
@ -1744,7 +1747,7 @@ mxCellRenderer.registerShape(mxShapeBasicCross.prototype.cst.CROSS,mxShapeBasicC
Graph.handleFactory[mxShapeBasicCross.prototype.cst.CROSS]=function(a){return[Graph.createHandle(a,["dx"],function(a){var d=Math.max(0,Math.min(a.width/2,a.width/2,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx))));return new mxPoint(a.x+a.width/2+d,a.y+a.height/2-d)},function(a,e){this.state.style.dx=Math.round(100*Math.max(0,Math.min(a.height/2,a.width/2,e.x-a.x-a.width/2)))/100})]};
function mxShapeBasicRectCallout(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dx=this.dy=.5}mxUtils.extend(mxShapeBasicRectCallout,mxActor);mxShapeBasicRectCallout.prototype.customProperties=[{name:"dx",dispName:"Callout Position",type:"float",min:0,defVal:30},{name:"dy",dispName:"Callout Size",type:"float",min:0,defVal:15}];mxShapeBasicRectCallout.prototype.cst={RECT_CALLOUT:"mxgraph.basic.rectCallout"};
mxShapeBasicRectCallout.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));e=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(d-.5*e,c-e);a.lineTo(0,c-e);a.lineTo(0,0);a.lineTo(b,0);a.lineTo(b,c-e);a.lineTo(d+.5*e,c-e);a.lineTo(d-e,c);a.close();a.fillAndStroke()};
mxShapeBasicRectCallout.prototype.getLabelMargins=function(){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))*this.scale):null};mxCellRenderer.registerShape(mxShapeBasicRectCallout.prototype.cst.RECT_CALLOUT,mxShapeBasicRectCallout);mxShapeBasicRectCallout.prototype.constraints=null;
mxShapeBasicRectCallout.prototype.getLabelMargins=function(){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))*this.scale):null};mxCellRenderer.registerShape(mxShapeBasicRectCallout.prototype.cst.RECT_CALLOUT,mxShapeBasicRectCallout);
Graph.handleFactory[mxShapeBasicRectCallout.prototype.cst.RECT_CALLOUT]=function(a){return[Graph.createHandle(a,["dx","dy"],function(a){var d=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx)))),b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy))));return new mxPoint(a.x+d,a.y+a.height-b)},function(a,e){var b=.6*parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy));this.state.style.dx=Math.round(100*Math.max(b,Math.min(a.width-
b,e.x-a.x)))/100;this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,a.y+a.height-e.y)))})]};
mxShapeBasicRectCallout.prototype.getConstraints=function(a,d,e){a=[];var b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,
@ -1973,7 +1976,16 @@ Graph.handleFactory[mxShapeBasicRect2.prototype.cst.DIAG_ROUND_RECT]=function(a)
mxShapeBasicPolygon.prototype.cst={POLYGON:"mxgraph.basic.polygon"};mxShapeBasicPolygon.prototype.paintVertexShape=function(a,d,e,b,c){try{a.translate(d,e);var f=JSON.parse(mxUtils.getValue(this.state.style,"polyCoords","[]")),g=mxUtils.getValue(this.style,"polyline",!1);if(0<f.length){a.begin();a.moveTo(f[0][0]*b,f[0][1]*c);for(d=1;d<f.length;d++)a.lineTo(f[d][0]*b,f[d][1]*c);0==g&&a.close();a.end();a.fillAndStroke()}}catch(h){}};
mxCellRenderer.registerShape(mxShapeBasicPolygon.prototype.cst.POLYGON,mxShapeBasicPolygon);mxShapeBasicPolygon.prototype.constraints=null;
Graph.handleFactory[mxShapeBasicPolygon.prototype.cst.POLYGON]=function(a){var d=[];try{for(var e=JSON.parse(mxUtils.getValue(a.style,"polyCoords","[]")),b=0;b<e.length;b++)(function(b){d.push(Graph.createHandle(a,["polyCoords"],function(a){return new mxPoint(a.x+e[b][0]*a.width,a.y+e[b][1]*a.height)},function(c,d){e[b]=[Math.round(100*Math.max(0,Math.min(1,(d.x-c.x)/c.width)))/100,Math.round(100*Math.max(0,Math.min(1,(d.y-c.y)/c.height)))/100];a.style.polyCoords=JSON.stringify(e)}))})(b)}catch(c){}return d};
function mxShapeBootstrapRRect(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapRRect,mxShape);mxShapeBootstrapRRect.prototype.cst={PACKAGE:"mxgraph.bootstrap.rrect",R_SIZE:"rSize"};mxShapeBootstrapRRect.prototype.customProperties=[{name:"rSize",dispName:"Arc Size",type:"float",min:0,defVal:10}];
function mxShapeBasicPatternFillRect(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(mxShapeBasicPatternFillRect,mxActor);mxShapeBasicPatternFillRect.prototype.cst={PATTERN_FILL_RECT:"mxgraph.basic.patternFillRect"};
mxShapeBasicPatternFillRect.prototype.customProperties=[{name:"step",dispName:"Fill Step",type:"float",min:0,defVal:5},{name:"fillStyle",dispName:"Fill Style",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"diag",dispName:"Diagonal"},{val:"diagRev",dispName:"Diagonal Reverse"},{val:"vert",dispName:"Vertical"},{val:"hor",dispName:"Horizontal"},{val:"grid",dispName:"Grid"},{val:"diagGrid",dispName:"Diagonal Grid"}]},{name:"fillStrokeWidth",dispName:"Fill Stroke Width",type:"float",
min:0,defVal:1},{name:"fillStrokeColor",dispName:"Fill Stroke Color",type:"color",defVal:"#cccccc"},{name:"top",dispName:"Top Line",type:"bool",defVal:!0},{name:"right",dispName:"Right Line",type:"bool",defVal:!0},{name:"bottom",dispName:"Bottom Line",type:"bool",defVal:!0},{name:"left",dispName:"Left Line",type:"bool",defVal:!0}];
mxShapeBasicPatternFillRect.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=mxUtils.getValue(this.style,"strokeColor","#000000");e=mxUtils.getValue(this.style,"strokeWidth","1");a.rect(0,0,b,c);a.fill();var f=mxUtils.getValue(this.style,"fillStrokeColor","#cccccc"),g=parseFloat(mxUtils.getValue(this.style,"fillStrokeWidth",1));a.setStrokeColor(f);a.setStrokeWidth(g);f=parseFloat(mxUtils.getValue(this.style,"step",5));g=mxUtils.getValue(this.style,"fillStyle","none");if("diag"==g||
"diagGrid"==g){var f=1.41*f,h=0;for(a.begin();h<c+b;)h<=c?a.moveTo(0,h):a.moveTo(h-c,c),h<=b?a.lineTo(h,0):a.lineTo(b,h-b),h+=f;a.stroke()}else if("vert"==g||"grid"==g){a.begin();for(h=0;h<=b;)a.moveTo(h,0),a.lineTo(h,c),h+=f;a.stroke()}if("diagRev"==g||"diagGrid"==g){"diagRev"==g&&(f*=1.41);h=0;for(a.begin();h<c+b;)h<=c?(a.moveTo(b,h),h<=b?a.lineTo(b-h,0):a.lineTo(b-b,h-b)):(a.moveTo(b-h+c,c),h<=b?a.lineTo(b-h,0):a.lineTo(0,h-b)),h+=f;a.stroke()}else if("hor"==g||"grid"==g){a.begin();for(h=0;h<=
c;)a.moveTo(0,h),a.lineTo(b,h),h+=f;a.stroke()}a.setStrokeColor(d);a.setStrokeWidth(e);a.begin();a.moveTo(0,0);"1"==mxUtils.getValue(this.style,"top","1")?a.lineTo(b,0):a.moveTo(b,0);"1"==mxUtils.getValue(this.style,"right","1")?a.lineTo(b,c):a.moveTo(b,c);"1"==mxUtils.getValue(this.style,"bottom","1")?a.lineTo(0,c):a.moveTo(0,c);"1"==mxUtils.getValue(this.style,"left","1")&&a.lineTo(0,0);a.end();a.stroke()};
mxCellRenderer.registerShape(mxShapeBasicPatternFillRect.prototype.cst.PATTERN_FILL_RECT,mxShapeBasicPatternFillRect);
mxShapeBasicPatternFillRect.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.25),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(1,
.75),!1));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.75),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,
.25),!1));return a};function mxShapeBootstrapRRect(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapRRect,mxShape);mxShapeBootstrapRRect.prototype.cst={PACKAGE:"mxgraph.bootstrap.rrect",R_SIZE:"rSize"};mxShapeBootstrapRRect.prototype.customProperties=[{name:"rSize",dispName:"Arc Size",type:"float",min:0,defVal:10}];
mxShapeBootstrapRRect.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseInt(mxUtils.getValue(this.style,mxShapeBootstrapRRect.prototype.cst.R_SIZE,"10"));a.roundrect(0,0,b,c,d);a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBootstrapRRect.prototype.cst.PACKAGE,mxShapeBootstrapRRect);function mxShapeBootstrapTopButton(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapTopButton,mxShape);
mxShapeBootstrapTopButton.prototype.cst={TOP_BUTTON:"mxgraph.bootstrap.topButton",R_SIZE:"rSize"};mxShapeBootstrapTopButton.prototype.customProperties=[{name:"rSize",dispName:"Arc Size",type:"float",min:0,defVal:10}];
mxShapeBootstrapTopButton.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseInt(mxUtils.getValue(this.style,mxShapeBootstrapTopButton.prototype.cst.R_SIZE,"10"));a.begin();a.moveTo(0,d);a.arcTo(d,d,0,0,1,d,0);a.lineTo(b-d,0);a.arcTo(d,d,0,0,1,b,d);a.lineTo(b,c);a.lineTo(0,c);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBootstrapTopButton.prototype.cst.TOP_BUTTON,mxShapeBootstrapTopButton);

File diff suppressed because one or more lines are too long

View file

@ -6,7 +6,7 @@ if (workbox)
workbox.precaching.precacheAndRoute([
{
"url": "js/app.min.js",
"revision": "1f628344fbe3149bfa77f4e911bb32e0"
"revision": "1bec13fa48514917c11d055fe30a6dfa"
},
{
"url": "js/extensions.min.js",
@ -22,7 +22,7 @@ if (workbox)
},
{
"url": "js/shapes.min.js",
"revision": "279c1a8ff65b895c15ec63b6a76a6523"
"revision": "90d8f1edfecfe931438f4cd995bed5b0"
},
{
"url": "index.html",
@ -298,7 +298,7 @@ if (workbox)
},
{
"url": "images/manifest.json",
"revision": "643baa6201812ed8760b027338e09db9"
"revision": "078a1ee03d5b64100c5b760d8e73dc88"
},
{
"url": "images/logo.png",

View file

@ -458,7 +458,7 @@ mxShapeMockupCallout.prototype.paintVertexShape = function(c, x, y, w, h)
mxCellRenderer.registerShape(mxShapeMockupCallout.prototype.cst.SHAPE_CALLOUT, mxShapeMockupCallout);
//**********************************************************************************************************************************************************
//Sticky Note
//Sticky Note (LEGACY)
//**********************************************************************************************************************************************************
/**
* Extends mxShape.
@ -538,6 +538,71 @@ mxShapeMockupStickyNote.prototype.foreground = function(c, w, h)
mxCellRenderer.registerShape(mxShapeMockupStickyNote.prototype.cst.SHAPE_STICKY_NOTE, mxShapeMockupStickyNote);
//**********************************************************************************************************************************************************
//Sticky Note v2
//**********************************************************************************************************************************************************
/**
* Extends mxShape.
*/
function mxShapeMockupStickyNote2(bounds, fill, stroke, strokewidth)
{
mxShape.call(this);
this.bounds = bounds;
this.fill = fill;
this.stroke = stroke;
this.strokewidth = (strokewidth != null) ? strokewidth : 1;
};
/**
* Extends mxShape.
*/
mxUtils.extend(mxShapeMockupStickyNote2, mxShape);
mxShapeMockupStickyNote2.prototype.cst = {
SHAPE_STICKY_NOTE : 'mxgraph.mockup.text.stickyNote2'
};
/**
* Function: paintVertexShape
*
* Paints the vertex shape.
*/
mxShapeMockupStickyNote2.prototype.paintVertexShape = function(c, x, y, w, h)
{
c.translate(x, y);
this.background(c, w, h);
c.setShadow(false);
this.foreground(c, w, h);
};
mxShapeMockupStickyNote2.prototype.background = function(c, w, h)
{
c.begin();
c.moveTo(w * 0.03, h * 0.07);
c.lineTo(w * 0.89, h * 0.06);
c.arcTo(2.81 * w, 2.92 * h, 1, 0, 0, w * 0.99, h * 0.98);
c.lineTo(w * 0.09, h * 0.99);
c.arcTo(2.81 * w, 2.92 * h, 1, 0, 1, w * 0.03, h * 0.07);
c.close();
c.fill();
};
mxShapeMockupStickyNote2.prototype.foreground = function(c, w, h)
{
var strokeColor = mxUtils.getValue(this.style, 'strokeColor', '#000000');
c.setFillColor(strokeColor);
c.begin();
c.moveTo(w * 0.28 , 0);
c.lineTo(w * 0.59, 0);
c.lineTo(w * 0.6, h * 0.12);
c.lineTo(w * 0.28, h * 0.13);
c.close();
c.fill();
};
mxCellRenderer.registerShape(mxShapeMockupStickyNote2.prototype.cst.SHAPE_STICKY_NOTE, mxShapeMockupStickyNote2);
//**********************************************************************************************************************************************************
//Bulleted List
//**********************************************************************************************************************************************************

View file

@ -137,8 +137,6 @@ mxShapeBasicRectCallout.prototype.getLabelMargins = function()
mxCellRenderer.registerShape(mxShapeBasicRectCallout.prototype.cst.RECT_CALLOUT, mxShapeBasicRectCallout);
mxShapeBasicRectCallout.prototype.constraints = null;
Graph.handleFactory[mxShapeBasicRectCallout.prototype.cst.RECT_CALLOUT] = function(state)
{
var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds)
@ -4746,4 +4744,271 @@ Graph.handleFactory[mxShapeBasicPolygon.prototype.cst.POLYGON] = function(state)
}
return handles;
};
};
//**********************************************************************************************************************************************************
//Rectangle with pattern fill
//**********************************************************************************************************************************************************
/**
* Extends mxShape.
*/
function mxShapeBasicPatternFillRect(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(mxShapeBasicPatternFillRect, mxActor);
mxShapeBasicPatternFillRect.prototype.cst = {PATTERN_FILL_RECT : 'mxgraph.basic.patternFillRect'};
mxShapeBasicPatternFillRect.prototype.customProperties = [
{name: 'step', dispName: 'Fill Step', type: 'float', min:0, defVal:5},
{name: 'fillStyle', dispName: 'Fill Style', type: 'enum', defVal:'none',
enumList:[
{val: 'none', dispName: 'None'},
{val: 'diag', dispName: 'Diagonal'},
{val: 'diagRev', dispName: 'Diagonal Reverse'},
{val: 'vert', dispName: 'Vertical'},
{val: 'hor', dispName: 'Horizontal'},
{val: 'grid', dispName: 'Grid'},
{val: 'diagGrid', dispName: 'Diagonal Grid'}
]},
{name: 'fillStrokeWidth', dispName: 'Fill Stroke Width', type: 'float', min:0, defVal:1},
{name: 'fillStrokeColor', dispName: 'Fill Stroke Color', type: 'color', defVal:'#cccccc'},
{name: 'top', dispName: 'Top Line', type: 'bool', defVal:true},
{name: 'right', dispName: 'Right Line', type: 'bool', defVal:true},
{name: 'bottom', dispName: 'Bottom Line', type: 'bool', defVal:true},
{name: 'left', dispName: 'Left Line', type: 'bool', defVal:true}
];
/**
* Function: paintVertexShape
*
* Paints the vertex shape.
*/
mxShapeBasicPatternFillRect.prototype.paintVertexShape = function(c, x, y, w, h)
{
c.translate(x, y);
var strokeColor = mxUtils.getValue(this.style, 'strokeColor', '#000000');
var strokeWidth = mxUtils.getValue(this.style, 'strokeWidth', '1');
c.rect(0, 0, w, h);
c.fill();
var fillStrokeColor = mxUtils.getValue(this.style, 'fillStrokeColor', '#cccccc');
var fillStrokeWidth = parseFloat(mxUtils.getValue(this.style, 'fillStrokeWidth', 1));
c.setStrokeColor(fillStrokeColor);
c.setStrokeWidth(fillStrokeWidth);
var step = parseFloat(mxUtils.getValue(this.style, 'step', 5));
var fillStyle = mxUtils.getValue(this.style, 'fillStyle', 'none');
if (fillStyle == 'diag' || fillStyle == 'diagGrid')
{
step = step * 1.41;
var i = 0;
c.begin();
while (i < (h + w))
{
var cx = 0;
var cy = 0;
if (i <= h)
{
c.moveTo(0, i);
if(i <= w)
{
c.lineTo(i, 0);
}
else
{
c.lineTo(w, i - w);
}
}
else
{
c.moveTo(i - h, h);
if(i <= w)
{
c.lineTo(i, 0);
}
else
{
c.lineTo(w, i - w);
}
}
i = i + step;
}
c.stroke();
}
else if (fillStyle == 'vert' || fillStyle == 'grid')
{
c.begin();
var i = 0;
while (i <= w)
{
var cx = 0;
var cy = 0;
c.moveTo(i, 0);
c.lineTo(i, h);
i = i + step;
}
c.stroke();
}
if (fillStyle == 'diagRev' || fillStyle == 'diagGrid')
{
if (fillStyle == 'diagRev')
{
step = step * 1.41;
}
var i = 0;
c.begin();
while (i < (h + w))
{
var cx = 0;
var cy = 0;
if (i <= h)
{
c.moveTo(w, i);
if(i <= w)
{
c.lineTo(w - i, 0);
}
else
{
c.lineTo(w - w, i - w);
}
}
else
{
c.moveTo(w - i + h, h);
if(i <= w)
{
c.lineTo(w - i, 0);
}
else
{
c.lineTo(0, i - w);
}
}
i = i + step;
}
c.stroke();
}
else if (fillStyle == 'hor' || fillStyle == 'grid')
{
c.begin();
var i = 0;
while (i <= h)
{
var cx = 0;
var cy = 0;
c.moveTo(0, i);
c.lineTo(w, i);
i = i + step;
}
c.stroke();
}
c.setStrokeColor(strokeColor);
c.setStrokeWidth(strokeWidth);
c.begin();
c.moveTo(0, 0);
if (mxUtils.getValue(this.style, 'top', '1') == '1')
{
c.lineTo(w, 0);
}
else
{
c.moveTo(w, 0);
}
if (mxUtils.getValue(this.style, 'right', '1') == '1')
{
c.lineTo(w, h);
}
else
{
c.moveTo(w, h);
}
if (mxUtils.getValue(this.style, 'bottom', '1') == '1')
{
c.lineTo(0, h);
}
else
{
c.moveTo(0, h);
}
if (mxUtils.getValue(this.style, 'left', '1') == '1')
{
c.lineTo(0, 0);
}
c.end();
c.stroke();
};
mxCellRenderer.registerShape(mxShapeBasicPatternFillRect.prototype.cst.PATTERN_FILL_RECT, mxShapeBasicPatternFillRect);
mxShapeBasicPatternFillRect.prototype.getConstraints = function(style, w, h)
{
var constr = [];
constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0), false));
constr.push(new mxConnectionConstraint(new mxPoint(1, 0), false));
constr.push(new mxConnectionConstraint(new mxPoint(1, 0.25), false));
constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false));
constr.push(new mxConnectionConstraint(new mxPoint(1, 0.75), false));
constr.push(new mxConnectionConstraint(new mxPoint(1, 1), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.75, 1), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.5, 1), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.25, 1), false));
constr.push(new mxConnectionConstraint(new mxPoint(0, 1), false));
constr.push(new mxConnectionConstraint(new mxPoint(0, 0.75), false));
constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false));
constr.push(new mxConnectionConstraint(new mxPoint(0, 0.25), false));
return (constr);
}