12.4.3 release

This commit is contained in:
David Benson [draw.io] 2019-12-17 22:16:55 +00:00
parent e707d6ab17
commit f9d1e617ab
80 changed files with 29042 additions and 2168 deletions

View file

@ -1,3 +1,8 @@
17-DEC-2019: 12.4.3
- Uses fast zoom preview on iOS
- Uses mxGraph 4.0.6 beta 12
14-DEC-2019: 12.4.2
- Improves move/resize preview and guides

View file

@ -1 +1 @@
12.4.2
12.4.3

View file

@ -119,6 +119,7 @@
<file name="Sidebar-Bootstrap.js" />
<file name="Sidebar-BPMN.js" />
<file name="Sidebar-Cabinet.js" />
<file name="Sidebar-Cisco19.js" />
<file name="Sidebar-CiscoSafe.js" />
<file name="Sidebar-Citrix.js" />
<file name="Sidebar-Cumulus.js" />

View file

@ -120,19 +120,19 @@ a.mxListenerList.length&&(a.mxListenerList=null)}};return window.removeEventList
"mousemove",c);null!=d&&mxEvent.addListener(a,mxClient.IS_POINTER?"pointerup":"mouseup",d);!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&(null!=b&&mxEvent.addListener(a,"touchstart",b),null!=c&&mxEvent.addListener(a,"touchmove",c),null!=d&&mxEvent.addListener(a,"touchend",d))},removeGestureListeners:function(a,b,c,d){null!=b&&mxEvent.removeListener(a,mxClient.IS_POINTER?"pointerdown":"mousedown",b);null!=c&&mxEvent.removeListener(a,mxClient.IS_POINTER?"pointermove":"mousemove",c);null!=d&&mxEvent.removeListener(a,
mxClient.IS_POINTER?"pointerup":"mouseup",d);!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&(null!=b&&mxEvent.removeListener(a,"touchstart",b),null!=c&&mxEvent.removeListener(a,"touchmove",c),null!=d&&mxEvent.removeListener(a,"touchend",d))},redirectMouseEvents:function(a,b,c,d,e,f,g){var k=function(a){return"function"==typeof c?c(a):c};mxEvent.addGestureListeners(a,function(a){null!=d?d(a):mxEvent.isConsumed(a)||b.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(a,k(a)))},function(a){null!=e?e(a):mxEvent.isConsumed(a)||
b.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(a,k(a)))},function(a){null!=f?f(a):mxEvent.isConsumed(a)||b.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(a,k(a)))});mxEvent.addListener(a,"dblclick",function(a){if(null!=g)g(a);else if(!mxEvent.isConsumed(a)){var c=k(a);b.dblClick(a,null!=c?c.cell:null)}})},release:function(a){try{if(null!=a){mxEvent.removeAllListeners(a);var b=a.childNodes;if(null!=b){var c=b.length;for(a=0;a<c;a+=1)mxEvent.release(b[a])}}}catch(d){}},addMouseWheelListener:function(a,
b){if(null!=a){b=null!=b?b:window;if(mxClient.IS_SF&&!mxClient.IS_TOUCH){var c=1;mxEvent.addListener(b,"gesturestart",function(a){mxEvent.consume(a);c=1});mxEvent.addListener(b,"gesturechange",function(b){mxEvent.consume(b);var d=c-b.scale;.2<Math.abs(d)&&(a(b,0>d,!0),c=b.scale)});mxEvent.addListener(b,"gestureend",function(a){mxEvent.consume(a)})}mxEvent.addListener(b,"wheel",function(b){null==b&&(b=window.event);var c;b.ctrlKey&&b.preventDefault();c=-b.deltaY;.5<Math.abs(c)&&a(b,0<c)})}},disableContextMenu:function(a){mxEvent.addListener(a,
"contextmenu",function(a){a.preventDefault&&a.preventDefault();return!1})},getSource:function(a){return null!=a.srcElement?a.srcElement:a.target},isConsumed:function(a){return null!=a.isConsumed&&a.isConsumed},isTouchEvent:function(a){return null!=a.pointerType?"touch"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_TOUCH:null!=a.mozInputSource?5==a.mozInputSource:0==a.type.indexOf("touch")},isPenEvent:function(a){return null!=a.pointerType?"pen"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_PEN:
null!=a.mozInputSource?2==a.mozInputSource:0==a.type.indexOf("pen")},isMultiTouchEvent:function(a){return null!=a.type&&0==a.type.indexOf("touch")&&null!=a.touches&&1<a.touches.length},isMouseEvent:function(a){return null!=a.pointerType?"mouse"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_MOUSE:null!=a.mozInputSource?1==a.mozInputSource:0==a.type.indexOf("mouse")},isLeftMouseButton:function(a){return"buttons"in a&&("mousedown"==a.type||"mousemove"==a.type)?1==a.buttons:"which"in a?1===a.which:
1===a.button},isMiddleMouseButton:function(a){return"which"in a?2===a.which:4===a.button},isRightMouseButton:function(a){return"which"in a?3===a.which:2===a.button},isPopupTrigger:function(a){return mxEvent.isRightMouseButton(a)||mxClient.IS_MAC&&mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)&&!mxEvent.isMetaDown(a)&&!mxEvent.isAltDown(a)},isShiftDown:function(a){return null!=a?a.shiftKey:!1},isAltDown:function(a){return null!=a?a.altKey:!1},isControlDown:function(a){return null!=a?a.ctrlKey:!1},
isMetaDown:function(a){return null!=a?a.metaKey:!1},getMainEvent:function(a){"touchstart"!=a.type&&"touchmove"!=a.type||null==a.touches||null==a.touches[0]?"touchend"==a.type&&null!=a.changedTouches&&null!=a.changedTouches[0]&&(a=a.changedTouches[0]):a=a.touches[0];return a},getClientX:function(a){return mxEvent.getMainEvent(a).clientX},getClientY:function(a){return mxEvent.getMainEvent(a).clientY},consume:function(a,b,c){c=null!=c?c:!0;if(null!=b?b:1)a.preventDefault?(c&&a.stopPropagation(),a.preventDefault()):
c&&(a.cancelBubble=!0);a.isConsumed=!0;a.preventDefault||(a.returnValue=!1)},LABEL_HANDLE:-1,ROTATION_HANDLE:-2,CUSTOM_HANDLE:-100,VIRTUAL_HANDLE:-1E5,MOUSE_DOWN:"mouseDown",MOUSE_MOVE:"mouseMove",MOUSE_UP:"mouseUp",ACTIVATE:"activate",RESIZE_START:"resizeStart",RESIZE:"resize",RESIZE_END:"resizeEnd",MOVE_START:"moveStart",MOVE:"move",MOVE_END:"moveEnd",PAN_START:"panStart",PAN:"pan",PAN_END:"panEnd",MINIMIZE:"minimize",NORMALIZE:"normalize",MAXIMIZE:"maximize",HIDE:"hide",SHOW:"show",CLOSE:"close",
DESTROY:"destroy",REFRESH:"refresh",SIZE:"size",SELECT:"select",FIRED:"fired",FIRE_MOUSE_EVENT:"fireMouseEvent",GESTURE:"gesture",TAP_AND_HOLD:"tapAndHold",GET:"get",RECEIVE:"receive",CONNECT:"connect",DISCONNECT:"disconnect",SUSPEND:"suspend",RESUME:"resume",MARK:"mark",ROOT:"root",POST:"post",OPEN:"open",SAVE:"save",BEFORE_ADD_VERTEX:"beforeAddVertex",ADD_VERTEX:"addVertex",AFTER_ADD_VERTEX:"afterAddVertex",DONE:"done",EXECUTE:"execute",EXECUTED:"executed",BEGIN_UPDATE:"beginUpdate",START_EDIT:"startEdit",
END_UPDATE:"endUpdate",END_EDIT:"endEdit",BEFORE_UNDO:"beforeUndo",UNDO:"undo",REDO:"redo",CHANGE:"change",NOTIFY:"notify",LAYOUT_CELLS:"layoutCells",CLICK:"click",SCALE:"scale",TRANSLATE:"translate",SCALE_AND_TRANSLATE:"scaleAndTranslate",UP:"up",DOWN:"down",ADD:"add",REMOVE:"remove",CLEAR:"clear",ADD_CELLS:"addCells",CELLS_ADDED:"cellsAdded",MOVE_CELLS:"moveCells",CELLS_MOVED:"cellsMoved",RESIZE_CELLS:"resizeCells",CELLS_RESIZED:"cellsResized",TOGGLE_CELLS:"toggleCells",CELLS_TOGGLED:"cellsToggled",
ORDER_CELLS:"orderCells",CELLS_ORDERED:"cellsOrdered",REMOVE_CELLS:"removeCells",CELLS_REMOVED:"cellsRemoved",GROUP_CELLS:"groupCells",UNGROUP_CELLS:"ungroupCells",REMOVE_CELLS_FROM_PARENT:"removeCellsFromParent",FOLD_CELLS:"foldCells",CELLS_FOLDED:"cellsFolded",ALIGN_CELLS:"alignCells",LABEL_CHANGED:"labelChanged",CONNECT_CELL:"connectCell",CELL_CONNECTED:"cellConnected",SPLIT_EDGE:"splitEdge",FLIP_EDGE:"flipEdge",START_EDITING:"startEditing",EDITING_STARTED:"editingStarted",EDITING_STOPPED:"editingStopped",
ADD_OVERLAY:"addOverlay",REMOVE_OVERLAY:"removeOverlay",UPDATE_CELL_SIZE:"updateCellSize",ESCAPE:"escape",DOUBLE_CLICK:"doubleClick",START:"start",RESET:"reset"};function mxXmlRequest(a,b,c,d,e,f){this.url=a;this.params=b;this.method=c||"POST";this.async=null!=d?d:!0;this.username=e;this.password=f}mxXmlRequest.prototype.url=null;mxXmlRequest.prototype.params=null;mxXmlRequest.prototype.method=null;mxXmlRequest.prototype.async=null;mxXmlRequest.prototype.binary=!1;
mxXmlRequest.prototype.withCredentials=!1;mxXmlRequest.prototype.username=null;mxXmlRequest.prototype.password=null;mxXmlRequest.prototype.request=null;mxXmlRequest.prototype.decodeSimulateValues=!1;mxXmlRequest.prototype.isBinary=function(){return this.binary};mxXmlRequest.prototype.setBinary=function(a){this.binary=a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};mxXmlRequest.prototype.isReady=function(){return 4==this.request.readyState};
mxXmlRequest.prototype.getDocumentElement=function(){var a=this.getXml();return null!=a?a.documentElement:null};mxXmlRequest.prototype.getXml=function(){var a=this.request.responseXML;if(9<=document.documentMode||null==a||null==a.documentElement)a=mxUtils.parseXml(this.request.responseText);return a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};mxXmlRequest.prototype.getStatus=function(){return null!=this.request?this.request.status:null};
mxXmlRequest.prototype.create=function(){if(window.XMLHttpRequest)return function(){var a=new XMLHttpRequest;this.isBinary()&&a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined");return a};if("undefined"!=typeof ActiveXObject)return function(){return new ActiveXObject("Microsoft.XMLHTTP")}}();
b){if(null!=a){b=null!=b?b:window;if(mxClient.IS_SF&&!mxClient.IS_TOUCH){var c=1;mxEvent.addListener(b,"gesturestart",function(a){mxEvent.consume(a);c=1});mxEvent.addListener(b,"gesturechange",function(b){mxEvent.consume(b);var d=c-b.scale;.2<Math.abs(d)&&(a(b,0>d,!0),c=b.scale)});mxEvent.addListener(b,"gestureend",function(a){mxEvent.consume(a)})}mxEvent.addListener(b,"wheel",function(b){null==b&&(b=window.event);b.ctrlKey&&b.preventDefault();(.5<Math.abs(b.deltaX)||.5<Math.abs(b.deltaY))&&a(b,0==
b.deltaY?0<-b.deltaX:0<-b.deltaY)})}},disableContextMenu:function(a){mxEvent.addListener(a,"contextmenu",function(a){a.preventDefault&&a.preventDefault();return!1})},getSource:function(a){return null!=a.srcElement?a.srcElement:a.target},isConsumed:function(a){return null!=a.isConsumed&&a.isConsumed},isTouchEvent:function(a){return null!=a.pointerType?"touch"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_TOUCH:null!=a.mozInputSource?5==a.mozInputSource:0==a.type.indexOf("touch")},isPenEvent:function(a){return null!=
a.pointerType?"pen"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_PEN:null!=a.mozInputSource?2==a.mozInputSource:0==a.type.indexOf("pen")},isMultiTouchEvent:function(a){return null!=a.type&&0==a.type.indexOf("touch")&&null!=a.touches&&1<a.touches.length},isMouseEvent:function(a){return null!=a.pointerType?"mouse"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_MOUSE:null!=a.mozInputSource?1==a.mozInputSource:0==a.type.indexOf("mouse")},isLeftMouseButton:function(a){return"buttons"in a&&("mousedown"==
a.type||"mousemove"==a.type)?1==a.buttons:"which"in a?1===a.which:1===a.button},isMiddleMouseButton:function(a){return"which"in a?2===a.which:4===a.button},isRightMouseButton:function(a){return"which"in a?3===a.which:2===a.button},isPopupTrigger:function(a){return mxEvent.isRightMouseButton(a)||mxClient.IS_MAC&&mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)&&!mxEvent.isMetaDown(a)&&!mxEvent.isAltDown(a)},isShiftDown:function(a){return null!=a?a.shiftKey:!1},isAltDown:function(a){return null!=a?
a.altKey:!1},isControlDown:function(a){return null!=a?a.ctrlKey:!1},isMetaDown:function(a){return null!=a?a.metaKey:!1},getMainEvent:function(a){"touchstart"!=a.type&&"touchmove"!=a.type||null==a.touches||null==a.touches[0]?"touchend"==a.type&&null!=a.changedTouches&&null!=a.changedTouches[0]&&(a=a.changedTouches[0]):a=a.touches[0];return a},getClientX:function(a){return mxEvent.getMainEvent(a).clientX},getClientY:function(a){return mxEvent.getMainEvent(a).clientY},consume:function(a,b,c){c=null!=
c?c:!0;if(null!=b?b:1)a.preventDefault?(c&&a.stopPropagation(),a.preventDefault()):c&&(a.cancelBubble=!0);a.isConsumed=!0;a.preventDefault||(a.returnValue=!1)},LABEL_HANDLE:-1,ROTATION_HANDLE:-2,CUSTOM_HANDLE:-100,VIRTUAL_HANDLE:-1E5,MOUSE_DOWN:"mouseDown",MOUSE_MOVE:"mouseMove",MOUSE_UP:"mouseUp",ACTIVATE:"activate",RESIZE_START:"resizeStart",RESIZE:"resize",RESIZE_END:"resizeEnd",MOVE_START:"moveStart",MOVE:"move",MOVE_END:"moveEnd",PAN_START:"panStart",PAN:"pan",PAN_END:"panEnd",MINIMIZE:"minimize",
NORMALIZE:"normalize",MAXIMIZE:"maximize",HIDE:"hide",SHOW:"show",CLOSE:"close",DESTROY:"destroy",REFRESH:"refresh",SIZE:"size",SELECT:"select",FIRED:"fired",FIRE_MOUSE_EVENT:"fireMouseEvent",GESTURE:"gesture",TAP_AND_HOLD:"tapAndHold",GET:"get",RECEIVE:"receive",CONNECT:"connect",DISCONNECT:"disconnect",SUSPEND:"suspend",RESUME:"resume",MARK:"mark",ROOT:"root",POST:"post",OPEN:"open",SAVE:"save",BEFORE_ADD_VERTEX:"beforeAddVertex",ADD_VERTEX:"addVertex",AFTER_ADD_VERTEX:"afterAddVertex",DONE:"done",
EXECUTE:"execute",EXECUTED:"executed",BEGIN_UPDATE:"beginUpdate",START_EDIT:"startEdit",END_UPDATE:"endUpdate",END_EDIT:"endEdit",BEFORE_UNDO:"beforeUndo",UNDO:"undo",REDO:"redo",CHANGE:"change",NOTIFY:"notify",LAYOUT_CELLS:"layoutCells",CLICK:"click",SCALE:"scale",TRANSLATE:"translate",SCALE_AND_TRANSLATE:"scaleAndTranslate",UP:"up",DOWN:"down",ADD:"add",REMOVE:"remove",CLEAR:"clear",ADD_CELLS:"addCells",CELLS_ADDED:"cellsAdded",MOVE_CELLS:"moveCells",CELLS_MOVED:"cellsMoved",RESIZE_CELLS:"resizeCells",
CELLS_RESIZED:"cellsResized",TOGGLE_CELLS:"toggleCells",CELLS_TOGGLED:"cellsToggled",ORDER_CELLS:"orderCells",CELLS_ORDERED:"cellsOrdered",REMOVE_CELLS:"removeCells",CELLS_REMOVED:"cellsRemoved",GROUP_CELLS:"groupCells",UNGROUP_CELLS:"ungroupCells",REMOVE_CELLS_FROM_PARENT:"removeCellsFromParent",FOLD_CELLS:"foldCells",CELLS_FOLDED:"cellsFolded",ALIGN_CELLS:"alignCells",LABEL_CHANGED:"labelChanged",CONNECT_CELL:"connectCell",CELL_CONNECTED:"cellConnected",SPLIT_EDGE:"splitEdge",FLIP_EDGE:"flipEdge",
START_EDITING:"startEditing",EDITING_STARTED:"editingStarted",EDITING_STOPPED:"editingStopped",ADD_OVERLAY:"addOverlay",REMOVE_OVERLAY:"removeOverlay",UPDATE_CELL_SIZE:"updateCellSize",ESCAPE:"escape",DOUBLE_CLICK:"doubleClick",START:"start",RESET:"reset"};function mxXmlRequest(a,b,c,d,e,f){this.url=a;this.params=b;this.method=c||"POST";this.async=null!=d?d:!0;this.username=e;this.password=f}mxXmlRequest.prototype.url=null;mxXmlRequest.prototype.params=null;mxXmlRequest.prototype.method=null;
mxXmlRequest.prototype.async=null;mxXmlRequest.prototype.binary=!1;mxXmlRequest.prototype.withCredentials=!1;mxXmlRequest.prototype.username=null;mxXmlRequest.prototype.password=null;mxXmlRequest.prototype.request=null;mxXmlRequest.prototype.decodeSimulateValues=!1;mxXmlRequest.prototype.isBinary=function(){return this.binary};mxXmlRequest.prototype.setBinary=function(a){this.binary=a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};
mxXmlRequest.prototype.isReady=function(){return 4==this.request.readyState};mxXmlRequest.prototype.getDocumentElement=function(){var a=this.getXml();return null!=a?a.documentElement:null};mxXmlRequest.prototype.getXml=function(){var a=this.request.responseXML;if(9<=document.documentMode||null==a||null==a.documentElement)a=mxUtils.parseXml(this.request.responseText);return a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};
mxXmlRequest.prototype.getStatus=function(){return null!=this.request?this.request.status:null};mxXmlRequest.prototype.create=function(){if(window.XMLHttpRequest)return function(){var a=new XMLHttpRequest;this.isBinary()&&a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined");return a};if("undefined"!=typeof ActiveXObject)return function(){return new ActiveXObject("Microsoft.XMLHTTP")}}();
mxXmlRequest.prototype.send=function(a,b,c,d){this.request=this.create();null!=this.request&&(null!=a&&(this.request.onreadystatechange=mxUtils.bind(this,function(){this.isReady()&&(a(this),this.request.onreadystatechaange=null)})),this.request.open(this.method,this.url,this.async,this.username,this.password),this.setRequestHeaders(this.request,this.params),window.XMLHttpRequest&&this.withCredentials&&(this.request.withCredentials="true"),!mxClient.IS_QUIRKS&&(null==document.documentMode||9<document.documentMode)&&
window.XMLHttpRequest&&null!=c&&null!=d&&(this.request.timeout=c,this.request.ontimeout=d),this.request.send(this.params))};mxXmlRequest.prototype.setRequestHeaders=function(a,b){null!=b&&a.setRequestHeader("Content-Type","application/x-www-form-urlencoded")};
mxXmlRequest.prototype.simulate=function(a,b){a=a||document;var c=null;a==document&&(c=window.onbeforeunload,window.onbeforeunload=null);var d=a.createElement("form");d.setAttribute("method",this.method);d.setAttribute("action",this.url);null!=b&&d.setAttribute("target",b);d.style.display="none";d.style.visibility="hidden";for(var e=0<this.params.indexOf("&")?this.params.split("&"):this.params.split(),f=0;f<e.length;f++){var g=e[f].indexOf("=");if(0<g){var k=e[f].substring(0,g),g=e[f].substring(g+
@ -1412,15 +1412,15 @@ mxGraphHandler.prototype.shouldRemoveParent=function(a){var b=this.graph.view.ge
mxGraphHandler.prototype.destroyShapes=function(){null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.guide&&(this.guide.destroy(),this.guide=null);null!=this.highlight&&(this.highlight.destroy(),this.highlight=null)};
mxGraphHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.panHandler);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null);null!=this.refreshHandler&&(this.graph.getModel().removeListener(this.refreshHandler),this.refreshHandler=null);this.destroyShapes();this.removeHint()};
function mxPanningHandler(a){null!=a&&(this.graph=a,this.graph.addMouseListener(this),this.forcePanningHandler=mxUtils.bind(this,function(a,c){var b=c.getProperty("eventName"),e=c.getProperty("event");b==mxEvent.MOUSE_DOWN&&this.isForcePanningEvent(e)&&(this.start(e),this.active=!0,this.fireEvent(new mxEventObject(mxEvent.PAN_START,"event",e)),e.consume())}),this.graph.addListener(mxEvent.FIRE_MOUSE_EVENT,this.forcePanningHandler),this.gestureHandler=mxUtils.bind(this,function(a,c){if(this.isPinchEnabled()){var b=
c.getProperty("event");mxEvent.isConsumed(b)||"gesturestart"!=b.type?"gestureend"==b.type&&null!=this.initialScale&&(this.initialScale=null):(this.initialScale=this.graph.view.scale,this.active||null==this.mouseDownEvent||(this.start(this.mouseDownEvent),this.mouseDownEvent=null));if(null!=this.initialScale){var e=Math.round(this.initialScale*b.scale*100)/100;null!=this.minScale&&(e=Math.max(this.minScale,e));null!=this.maxScale&&(e=Math.min(this.maxScale,e));this.graph.view.scale!=e&&(this.graph.zoomTo(e),
mxEvent.consume(b))}}}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),this.mouseUpListener=mxUtils.bind(this,function(){this.active&&this.reset()}),mxEvent.addListener(document,"mouseup",this.mouseUpListener))}mxPanningHandler.prototype=new mxEventSource;mxPanningHandler.prototype.constructor=mxPanningHandler;mxPanningHandler.prototype.graph=null;mxPanningHandler.prototype.useLeftButtonForPanning=!1;mxPanningHandler.prototype.usePopupTrigger=!0;
mxPanningHandler.prototype.ignoreCell=!1;mxPanningHandler.prototype.previewEnabled=!0;mxPanningHandler.prototype.useGrid=!1;mxPanningHandler.prototype.panningEnabled=!0;mxPanningHandler.prototype.pinchEnabled=!0;mxPanningHandler.prototype.maxScale=8;mxPanningHandler.prototype.minScale=.01;mxPanningHandler.prototype.dx=null;mxPanningHandler.prototype.dy=null;mxPanningHandler.prototype.startX=0;mxPanningHandler.prototype.startY=0;
mxPanningHandler.prototype.isActive=function(){return this.active||null!=this.initialScale};mxPanningHandler.prototype.isPanningEnabled=function(){return this.panningEnabled};mxPanningHandler.prototype.setPanningEnabled=function(a){this.panningEnabled=a};mxPanningHandler.prototype.isPinchEnabled=function(){return this.pinchEnabled};mxPanningHandler.prototype.setPinchEnabled=function(a){this.pinchEnabled=a};
mxPanningHandler.prototype.isPanningTrigger=function(a){var b=a.getEvent();return this.useLeftButtonForPanning&&null==a.getState()&&mxEvent.isLeftMouseButton(b)||mxEvent.isControlDown(b)&&mxEvent.isShiftDown(b)||this.usePopupTrigger&&mxEvent.isPopupTrigger(b)};mxPanningHandler.prototype.isForcePanningEvent=function(a){return this.ignoreCell||mxEvent.isMultiTouchEvent(a.getEvent())};
c.getProperty("event");mxEvent.isConsumed(b)||"gesturestart"!=b.type?"gestureend"==b.type&&null!=this.initialScale&&(this.initialScale=null):(this.initialScale=this.graph.view.scale,this.active||null==this.mouseDownEvent||(this.start(this.mouseDownEvent),this.mouseDownEvent=null));null!=this.initialScale&&this.zoomGraph(b)}}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),this.mouseUpListener=mxUtils.bind(this,function(){this.active&&this.reset()}),mxEvent.addListener(document,"mouseup",
this.mouseUpListener))}mxPanningHandler.prototype=new mxEventSource;mxPanningHandler.prototype.constructor=mxPanningHandler;mxPanningHandler.prototype.graph=null;mxPanningHandler.prototype.useLeftButtonForPanning=!1;mxPanningHandler.prototype.usePopupTrigger=!0;mxPanningHandler.prototype.ignoreCell=!1;mxPanningHandler.prototype.previewEnabled=!0;mxPanningHandler.prototype.useGrid=!1;mxPanningHandler.prototype.panningEnabled=!0;mxPanningHandler.prototype.pinchEnabled=!0;
mxPanningHandler.prototype.maxScale=8;mxPanningHandler.prototype.minScale=.01;mxPanningHandler.prototype.dx=null;mxPanningHandler.prototype.dy=null;mxPanningHandler.prototype.startX=0;mxPanningHandler.prototype.startY=0;mxPanningHandler.prototype.isActive=function(){return this.active||null!=this.initialScale};mxPanningHandler.prototype.isPanningEnabled=function(){return this.panningEnabled};mxPanningHandler.prototype.setPanningEnabled=function(a){this.panningEnabled=a};
mxPanningHandler.prototype.isPinchEnabled=function(){return this.pinchEnabled};mxPanningHandler.prototype.setPinchEnabled=function(a){this.pinchEnabled=a};mxPanningHandler.prototype.isPanningTrigger=function(a){var b=a.getEvent();return this.useLeftButtonForPanning&&null==a.getState()&&mxEvent.isLeftMouseButton(b)||mxEvent.isControlDown(b)&&mxEvent.isShiftDown(b)||this.usePopupTrigger&&mxEvent.isPopupTrigger(b)};mxPanningHandler.prototype.isForcePanningEvent=function(a){return this.ignoreCell||mxEvent.isMultiTouchEvent(a.getEvent())};
mxPanningHandler.prototype.mouseDown=function(a,b){this.mouseDownEvent=b;!b.isConsumed()&&this.isPanningEnabled()&&!this.active&&this.isPanningTrigger(b)&&(this.start(b),this.consumePanningTrigger(b))};mxPanningHandler.prototype.start=function(a){this.dx0=-this.graph.container.scrollLeft;this.dy0=-this.graph.container.scrollTop;this.startX=a.getX();this.startY=a.getY();this.dy=this.dx=null;this.panningTrigger=!0};mxPanningHandler.prototype.consumePanningTrigger=function(a){a.consume()};
mxPanningHandler.prototype.mouseMove=function(a,b){this.dx=b.getX()-this.startX;this.dy=b.getY()-this.startY;if(this.active)this.previewEnabled&&(this.useGrid&&(this.dx=this.graph.snap(this.dx),this.dy=this.graph.snap(this.dy)),this.graph.panGraph(this.dx+this.dx0,this.dy+this.dy0)),this.fireEvent(new mxEventObject(mxEvent.PAN,"event",b));else if(this.panningTrigger){var c=this.active;this.active=Math.abs(this.dx)>this.graph.tolerance||Math.abs(this.dy)>this.graph.tolerance;!c&&this.active&&this.fireEvent(new mxEventObject(mxEvent.PAN_START,
"event",b))}(this.active||this.panningTrigger)&&b.consume()};mxPanningHandler.prototype.mouseUp=function(a,b){if(this.active){if(null!=this.dx&&null!=this.dy){if(!this.graph.useScrollbarsForPanning||!mxUtils.hasScrollbars(this.graph.container)){var c=this.graph.getView().scale,d=this.graph.getView().translate;this.graph.panGraph(0,0);this.panGraph(d.x+this.dx/c,d.y+this.dy/c)}b.consume()}this.fireEvent(new mxEventObject(mxEvent.PAN_END,"event",b))}this.reset()};
mxPanningHandler.prototype.reset=function(){this.panningTrigger=!1;this.mouseDownEvent=null;this.active=!1;this.dy=this.dx=null};mxPanningHandler.prototype.panGraph=function(a,b){this.graph.getView().setTranslate(a,b)};mxPanningHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.forcePanningHandler);this.graph.removeListener(this.gestureHandler);mxEvent.removeListener(document,"mouseup",this.mouseUpListener)};
mxPanningHandler.prototype.zoomGraph=function(a){var b=Math.round(this.initialScale*a.scale*100)/100;null!=this.minScale&&(b=Math.max(this.minScale,b));null!=this.maxScale&&(b=Math.min(this.maxScale,b));this.graph.view.scale!=b&&(this.graph.zoomTo(b),mxEvent.consume(a))};mxPanningHandler.prototype.reset=function(){this.panningTrigger=!1;this.mouseDownEvent=null;this.active=!1;this.dy=this.dx=null};mxPanningHandler.prototype.panGraph=function(a,b){this.graph.getView().setTranslate(a,b)};
mxPanningHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.forcePanningHandler);this.graph.removeListener(this.gestureHandler);mxEvent.removeListener(document,"mouseup",this.mouseUpListener)};
function mxPopupMenuHandler(a,b){null!=a&&(this.graph=a,this.factoryMethod=b,this.graph.addMouseListener(this),this.gestureHandler=mxUtils.bind(this,function(a,b){this.inTolerance=!1}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),this.init())}mxPopupMenuHandler.prototype=new mxPopupMenu;mxPopupMenuHandler.prototype.constructor=mxPopupMenuHandler;mxPopupMenuHandler.prototype.graph=null;mxPopupMenuHandler.prototype.selectOnPopup=!0;
mxPopupMenuHandler.prototype.clearSelectionOnBackground=!0;mxPopupMenuHandler.prototype.triggerX=null;mxPopupMenuHandler.prototype.triggerY=null;mxPopupMenuHandler.prototype.screenX=null;mxPopupMenuHandler.prototype.screenY=null;mxPopupMenuHandler.prototype.init=function(){mxPopupMenu.prototype.init.apply(this);mxEvent.addGestureListeners(this.div,mxUtils.bind(this,function(a){this.graph.tooltipHandler.hide()}))};mxPopupMenuHandler.prototype.isSelectOnPopup=function(a){return this.selectOnPopup};
mxPopupMenuHandler.prototype.mouseDown=function(a,b){this.isEnabled()&&!mxEvent.isMultiTouchEvent(b.getEvent())&&(this.hideMenu(),this.triggerX=b.getGraphX(),this.triggerY=b.getGraphY(),this.screenX=mxEvent.getMainEvent(b.getEvent()).screenX,this.screenY=mxEvent.getMainEvent(b.getEvent()).screenY,this.popupTrigger=this.isPopupTrigger(b),this.inTolerance=!0)};

View file

@ -1,7 +1,7 @@
CACHE MANIFEST
# THIS FILE WAS GENERATED. DO NOT MODIFY!
# 12/14/2019 11:28 AM
# 12/17/2019 10:00 PM
app.html
index.html?offline=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

View file

@ -158,7 +158,7 @@
if (mxIsElectron5)
{
addMeta(null, 'default-src \'self\' \'unsafe-inline\'; connect-src \'self\' https://*.draw.io; img-src * data:; media-src *; font-src *; style-src-elem \'self\' \'unsafe-inline\' https://fonts.googleapis.com', 'Content-Security-Policy');
addMeta(null, 'default-src \'self\' \'unsafe-inline\'; connect-src \'self\' https://*.draw.io https://fonts.googleapis.com https://fonts.gstatic.com; img-src * data:; media-src *; font-src *; style-src-elem \'self\' \'unsafe-inline\' https://fonts.googleapis.com', 'Content-Security-Policy');
}
})();
</script>

File diff suppressed because it is too large Load diff

View file

@ -1483,7 +1483,7 @@ App.prototype.init = function()
{
mxUtils.setPrefixedStyle(footer.style, 'transform', 'translate(-50%,110%)');
this.footerShowing = false;
}), 15000);
}), 60000);
}
// else if ((!isLocalStorage || mxSettings.settings == null ||
// mxSettings.settings.closeRateFooter == null) &&
@ -2754,7 +2754,11 @@ App.prototype.showAlert = function(message)
*/
App.prototype.start = function()
{
this.bg.parentNode.removeChild(this.bg);
if (this.bg != null && this.bg.parentNode != null)
{
this.bg.parentNode.removeChild(this.bg);
}
this.restoreLibraries();
this.spinner.stop();

View file

@ -46,6 +46,7 @@ mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Basic.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Bootstrap.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-BPMN.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Cabinet.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Cisco19.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-CiscoSafe.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Citrix.js');
mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Cumulus.js');

View file

@ -2721,8 +2721,14 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc
while (i0 < templates.length && (first || mxUtils.mod(i0, 30) != 0))
{
var tmp = templates[i0++];
addButton(tmp.url, tmp.libs, tmp.title, tmp.tooltip? tmp.tooltip : tmp.title,
var btn = addButton(tmp.url, tmp.libs, tmp.title, tmp.tooltip? tmp.tooltip : tmp.title,
tmp.select, tmp.imgUrl, tmp.info, tmp.onClick, tmp.preview, tmp.noImg, tmp.clibs);
if (first)
{
btn.click();
}
first = false;
}
}
@ -3117,6 +3123,7 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc
}
div.appendChild(elt);
return elt;
};
var categories = {}, customCats = {};

View file

@ -141,11 +141,11 @@ DrawioFileSync = function(file)
this.fileChangedNotify();
}
var len = (data != null) ? data.length : 'null';
EditorUi.logError('Protocol Error ' + e.message,
null, 'data_' + len + '_file_' + this.file.getHash() +
'_client_' + this.clientId);
// var len = (data != null) ? data.length : 'null';
//
// EditorUi.logError('Protocol Error ' + e.message,
// null, 'data_' + len + '_file_' + this.file.getHash() +
// '_client_' + this.clientId);
if (window.console != null)
{

View file

@ -1264,35 +1264,37 @@ DriveClient.prototype.saveFile = function(file, revision, success, errFn, noChec
// However, this would result in a missing thumbnail in most cases so a better solution might be to reduce
// the autosave interval in DriveRealtime, but that would increase the number of requests.
unloading = (unloading != null) ? unloading : false;
var prevDesc = null;
var pinned = false;
var meta =
{
'mimeType': file.desc.mimeType,
'title': file.getTitle()
};
// Overrides old mime type and creates a revision
if (this.isGoogleRealtimeMimeType(meta.mimeType))
{
meta.mimeType = this.xmlMimeType;
prevDesc = file.desc;
revision = true;
pinned = true;
}
// Overrides mime type for unknown file type uploads
else if (meta.mimeType == 'application/octet-stream' ||
(urlParams['override-mime'] == '1' &&
meta.mimeType != this.xmlMimeType))
{
meta.mimeType = this.xmlMimeType;
}
// Adds optional thumbnail to upload request
var doSave = mxUtils.bind(this, function(thumb, thumbMime, keepExisting)
{
try
{
file.saveLevel = 3;
var prevDesc = null;
var pinned = false;
var meta =
{
'mimeType': file.desc.mimeType,
'title': file.getTitle()
};
// Overrides old mime type and creates a revision
if (this.isGoogleRealtimeMimeType(file.desc.mimeType))
{
meta.mimeType = this.xmlMimeType;
prevDesc = file.desc;
revision = true;
pinned = true;
}
// Overrides mime type for unknown file type uploads
else if (meta.mimeType == 'application/octet-stream')
{
meta.mimeType = this.xmlMimeType;
}
if (file.constructor == DriveFile)
{
if (properties == null)
@ -1757,7 +1759,7 @@ DriveClient.prototype.saveFile = function(file, revision, success, errFn, noChec
// NOTE: getThumbnail is asynchronous and returns false if no thumbnails can be created
if (unloading || saveAsPng || file.constructor == DriveLibrary || !this.enableThumbnails || urlParams['thumb'] == '0' ||
(file.desc.mimeType != null && file.desc.mimeType.substring(0, 29) != 'application/vnd.jgraph.mxfile') ||
(meta.mimeType != null && meta.mimeType.substring(0, 29) != 'application/vnd.jgraph.mxfile') ||
!this.ui.getThumbnail(this.thumbnailWidth, mxUtils.bind(this, function(canvas)
{
// Callback for getThumbnail

View file

@ -3169,7 +3169,7 @@
if (prop.allowAuto)
{
if (inputVal.trim().toLowerCase() == 'auto')
if (inputVal.trim != null && inputVal.trim().toLowerCase() == 'auto')
{
inputVal = 'auto';
pType = 'string';
@ -4775,6 +4775,7 @@
mxStencilRegistry.libraries['arrows2'] = [SHAPES_PATH + '/mxArrows.js'];
mxStencilRegistry.libraries['atlassian'] = [STENCIL_PATH + '/atlassian.xml', SHAPES_PATH + '/mxAtlassian.js'];
mxStencilRegistry.libraries['bpmn'] = [SHAPES_PATH + '/bpmn/mxBpmnShape2.js', STENCIL_PATH + '/bpmn.xml'];
mxStencilRegistry.libraries['cisco19'] = [SHAPES_PATH + '/mxCisco19.js', STENCIL_PATH + '/cisco19.xml'];
mxStencilRegistry.libraries['dfd'] = [SHAPES_PATH + '/mxDFD.js'];
mxStencilRegistry.libraries['er'] = [SHAPES_PATH + '/er/mxER.js'];
mxStencilRegistry.libraries['kubernetes'] = [SHAPES_PATH + '/mxKubernetes.js', STENCIL_PATH + '/kubernetes.xml'];

View file

@ -6477,32 +6477,56 @@
if (grid)
{
var view = graph.view;
var curViewScale = view.scale;
view.scale = 1; //Reset the scale temporary to generate unscaled grid image which is then scaled
var gridImage = btoa(unescape(encodeURIComponent(view.createSvgGrid(view.gridColor))));
view.scale = curViewScale;
gridImage = 'data:image/svg+xml;base64,' + gridImage;
var phase = graph.gridSize * view.gridSteps * scale;
var b = graph.getGraphBounds();
var x0 = b.x * scale;
var y0 = b.y * scale;
var tx = view.translate.x * curViewScale;
var ty = view.translate.y * curViewScale;
var x0 = tx + (b.x - tx) / curViewScale;
var y0 = ty + (b.y - ty) / curViewScale;
var background = new Image();
background.src = gridImage;
background.onload = function()
{
var x = -Math.round(phase - mxUtils.mod(view.translate.x * scale - x0, phase));
var y = -Math.round(phase - mxUtils.mod(view.translate.y * scale - y0, phase));
for (var i = x; i < w; i += phase)
try
{
for (var j = y; j < h; j += phase)
var x = -Math.round(phase - mxUtils.mod((tx - x0) * scale, phase));
var y = -Math.round(phase - mxUtils.mod((ty - y0) * scale, phase));
for (var i = x; i < w; i += phase)
{
ctx.drawImage(background, i / scale, j / scale);
for (var j = y; j < h; j += phase)
{
ctx.drawImage(background, i / scale, j / scale);
}
}
drawImage();
}
drawImage();
catch (e)
{
if (error != null)
{
error(e);
}
}
};
background.onerror = function(e)
{
if (error != null)
{
error(e);
}
};
background.src = gridImage;
}
else
{

View file

@ -1294,7 +1294,12 @@ GraphViewer.prototype.addClickHandler = function(graph, ui)
if (ui != null)
{
if (href != null && !(graph.isExternalProtocol(href) || graph.isBlankLink(href) || graph.customLinkClicked(href)))
if (href == null || graph.isCustomLink(href))
{
mxEvent.consume(evt);
}
else if (!graph.isExternalProtocol(href) &&
!graph.isBlankLink(href))
{
// Hides lightbox if any links are clicked
// Async handling needed for anchors to work
@ -1303,10 +1308,6 @@ GraphViewer.prototype.addClickHandler = function(graph, ui)
ui.destroy();
}, 0);
}
else
{
mxEvent.consume(evt);
}
}
else if (href != null && ui == null && graph.isCustomLink(href) &&
(mxEvent.isTouchEvent(evt) || !mxEvent.isPopupTrigger(evt)) &&

View file

@ -0,0 +1,576 @@
(function()
{
// Adds Cisco Safe stencils
Sidebar.prototype.addCisco19Palette = function()
{
this.addCisco19LANSwitchingPalette();
this.addCisco19RoutingWANPalette();
this.addCisco19NetworkManagementPalette();
this.addCisco19DataCenterPalette();
this.addCisco19WirelessLANPalette();
this.addCisco19CollaborationPalette();
this.addCisco19SecurityCloudsAndConnectorsPalette();
this.addCisco19EndpointClientDeviceIconsPalette();
this.addCisco19DNASDAccessPalette();
this.addCisco19SDWANViptelaPalette();
this.addCisco19StealthwatchPalette();
this.addCisco19SafePalette();
};
Sidebar.prototype.addCisco19LANSwitchingPalette = function()
{
var w = 50;
var h = 50;
var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' +
'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.';
var gn = 'mxgraph.cisco19';
var dt = 'cisco lan switching local area network';
this.addPaletteFunctions('cisco19LAN Switching', 'Cisco 19 / LAN Switching', false,
[
this.createVertexTemplateEntry(s + 'rect;prIcon=l2_switch;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'L2 Switch', null, null, this.getTagsForStencil(gn, 'l2 switch', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=l3_switch;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'L3 Switch', null, null, this.getTagsForStencil(gn, 'l3 switch', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=l2_modular;fillColor=#FAFAFA;strokeColor=#005073;',
w, h * 1.46, '', 'L2 Modular', null, null, this.getTagsForStencil(gn, 'l2 modular', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=l3_modular;fillColor=#FAFAFA;strokeColor=#005073;',
w, h * 1.46, '', 'L3 Modular', null, null, this.getTagsForStencil(gn, 'l3 modular', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=6500_vss;fillColor=#FAFAFA;strokeColor=#005073;',
w, h * 1.46, '', '6500 VSS', null, null, this.getTagsForStencil(gn, '6500 vss', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=l2_switch_with_dual_supervisor;fillColor=#FAFAFA;strokeColor=#005073;',
w, h * 1.9, '', 'L2 Switch with Dual Supervisor', null, null, this.getTagsForStencil(gn, 'l2 switch with dual supervisor', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=l3_switch_with_dual_supervisor;fillColor=#FAFAFA;strokeColor=#005073;',
w, h * 1.9, '', 'L3 Switch with Dual Supervisor', null, null, this.getTagsForStencil(gn, 'l3 switch with dual supervisor', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=l2_modular2;fillColor=#FAFAFA;strokeColor=#005073;',
w, h * 2.05, '', 'L2 Modular', null, null, this.getTagsForStencil(gn, 'l2 modular', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=l3_modular2;fillColor=#FAFAFA;strokeColor=#005073;',
w, h * 1.3, '', 'L3 Modular', null, null, this.getTagsForStencil(gn, 'l3 modular', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=6500_vss2;fillColor=#FAFAFA;strokeColor=#005073;',
w, h * 1.3, '', 'L3 Modular', null, null, this.getTagsForStencil(gn, 'l3 modular', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=secure_catalyst_switch_color;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Secure Catalyst Switch (color)', null, null, this.getTagsForStencil(gn, 'secure catalyst switch color', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=secure_catalyst_switch_subdued;fillColor=#FAFAFA;strokeColor=#6696AB;',
w, h, '', 'Secure Catalyst Switch (subdued)', null, null, this.getTagsForStencil(gn, 'secure catalyst switch subdued', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=secure_switch;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Secure Switch (color)', null, null, this.getTagsForStencil(gn, 'secure switch color', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=secure_switch;fillColor=#FAFAFA;strokeColor=#6696AB;',
w, h, '', 'Secure Switch (subdued)', null, null, this.getTagsForStencil(gn, 'secure switch subdued', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=workgroup_switch;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Workgroup Switch (color)', null, null, this.getTagsForStencil(gn, 'workgroup switch color', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=workgroup_switch;fillColor=#FAFAFA;strokeColor=#6696AB;',
w, h, '', 'Workgroup Switch (subdued)', null, null, this.getTagsForStencil(gn, 'workgroup switch subdued', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=secure_catalyst_switch_color3;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Secure Catalyst Switch (color)', null, null, this.getTagsForStencil(gn, 'secure catalyst switch color', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=secure_catalyst_switch_color2;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Secure Catalyst Switch (color)', null, null, this.getTagsForStencil(gn, 'secure catalyst switch color', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=secure_catalyst_switch_subdued2;fillColor=#FAFAFA;strokeColor=#6696AB;',
w, h, '', 'Secure Catalyst Switch (subdued)', null, null, this.getTagsForStencil(gn, 'secure catalyst switch subdued', dt).join(' '))
]);
};
Sidebar.prototype.addCisco19RoutingWANPalette = function()
{
var w = 50;
var h = 50;
var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' +
'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.';
var gn = 'mxgraph.cisco19';
var dt = 'cisco routing wan wide area network';
this.addPaletteFunctions('cisco19Routing WAN', 'Cisco 19 / Routing WAN', false,
[
this.createVertexTemplateEntry(s + 'rect;prIcon=router;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Router', null, null, this.getTagsForStencil(gn, 'router', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=csr_1000v;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'CSR1000v', null, null, this.getTagsForStencil(gn, 'csr1000v', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=wireless_router;fillColor=#FAFAFA;strokeColor=#005073;',
w, h * 1.2, '', 'Wireless Router', null, null, this.getTagsForStencil(gn, 'wireless router', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=l3_modular3;fillColor=#FAFAFA;strokeColor=#C1272D;',
w, h, '', 'L3 Modular', null, null, this.getTagsForStencil(gn, 'l3 modular', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=ucs_express;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'UCS Express', null, null, this.getTagsForStencil(gn, 'ucs express', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=router_with_voice;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Router with Voice', null, null, this.getTagsForStencil(gn, 'router with voice', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=router_with_firewall;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Router with Firewall', null, null, this.getTagsForStencil(gn, 'router with firewall', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=netflow_router;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'NetFlow Router', null, null, this.getTagsForStencil(gn, 'netflow router', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=secure_router;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Secure Router (color)', null, null, this.getTagsForStencil(gn, 'secure router color', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=secure_router;fillColor=#FAFAFA;strokeColor=#6696AB;',
w, h, '', 'Secure Router (subdued)', null, null, this.getTagsForStencil(gn, 'secure router subdued', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=ip_telephone_router;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'IP Telephone Router', null, null, this.getTagsForStencil(gn, 'ip telephone router internet protocol', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=content_router;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Content Router', null, null, this.getTagsForStencil(gn, 'content router', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=service_ready_engine;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Cisco Service Ready Engine', null, null, this.getTagsForStencil(gn, 'service ready engine', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_15800;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Cisco 15800', null, null, this.getTagsForStencil(gn, '15800', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=appnav;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'AppNav', null, null, this.getTagsForStencil(gn, 'appnav', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=router_with_firewall2;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Router with Firewall', null, null, this.getTagsForStencil(gn, 'router with firewall', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=netflow_router2;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'NetFlow Router', null, null, this.getTagsForStencil(gn, 'netflow router', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=asr_1000;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.14, h, '', 'ASR 1000', null, null, this.getTagsForStencil(gn, 'asr 1000', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=asr_9000;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'ASR 9000', null, null, this.getTagsForStencil(gn, 'asr 9000', dt).join(' '))
]);
};
Sidebar.prototype.addCisco19NetworkManagementPalette = function()
{
var w = 50;
var h = 50;
var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' +
'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.';
var gn = 'mxgraph.cisco19';
var dt = 'cisco network management';
this.addPaletteFunctions('cisco19Network Management', 'Cisco 19 / Network Management', false,
[
this.createVertexTemplateEntry(s + 'rect;prIcon=net_mgmt_appliance;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Net Mgmt. Appliance', null, null, this.getTagsForStencil(gn, 'net management appliance mgmt', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=nam_virtual_service_blade;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'NAM Virtual Service Blade', null, null, this.getTagsForStencil(gn, 'nam virtual service blade', dt).join(' '))
]);
};
Sidebar.prototype.addCisco19DataCenterPalette = function()
{
var w = 50;
var h = 50;
var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' +
'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.';
var gn = 'mxgraph.cisco19';
var dt = 'cisco data center';
this.addPaletteFunctions('cisco19Data Center', 'Cisco 19 / Data Center', false,
[
this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_9300;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Nexus 9300', null, null, this.getTagsForStencil(gn, 'nexus 9300', dt).join(' ')),
this.createVertexTemplateEntry(s + 'x509_certificate;fillColor=#005073;strokeColor=none;',
w, h * 0.95, '', 'x.509 Certificate', null, null, this.getTagsForStencil(gn, 'x509 certificate', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=hypervisor;fillColor=#FAFAFA;strokeColor=#005073;',
w, h * 1.3, '', 'Hypervisor', null, null, this.getTagsForStencil(gn, 'hypervisor', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_9500;fillColor=#FAFAFA;strokeColor=#005073;',
w, h * 1.46, '', 'Nexus 9500', null, null, this.getTagsForStencil(gn, 'nexus 9500', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=fabric_interconnect;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Fabric Interconnect', null, null, this.getTagsForStencil(gn, 'fabric interconnect', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=fibre_channel_director_mds_9000;fillColor=#FAFAFA;strokeColor=#005073;',
w, h * 1.46, '', 'Fibre Channel Director MDS 9000', null, null, this.getTagsForStencil(gn, 'fibre channel director mds 9000', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=virtual_matrix_switch;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Virtual Matrix Switch', null, null, this.getTagsForStencil(gn, 'virtual matrix switch', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=ucs_c_series_server;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.2, h * 0.5, '', 'UCS C-Series Server', null, null, this.getTagsForStencil(gn, 'ucs c series server', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_5k_with_integrated_vsm;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Nexus 5K with Integrated VSM', null, null, this.getTagsForStencil(gn, 'nexus 5k with integrated vsm', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=aci;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'ACI', null, null, this.getTagsForStencil(gn, 'aci', dt).join(' ')),
this.createVertexTemplateEntry(s + 'vts;fillColor=#005073;strokeColor=none;',
w, h, '', 'VTS', null, null, this.getTagsForStencil(gn, 'vts', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=ucs_5108_blade_chassis;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'UCS 5108 Blade Chassis', null, null, this.getTagsForStencil(gn, 'ucs 5108 blade chassis', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=storage;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Storage', null, null, this.getTagsForStencil(gn, 'storage', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=ups;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'UPS', null, null, this.getTagsForStencil(gn, 'ups', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=rps;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'RPS', null, null, this.getTagsForStencil(gn, 'rps', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_2000_10ge;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Nexus 2000 10GE', null, null, this.getTagsForStencil(gn, 'nexus 2000 10ge', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=blade_server;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Blade Server (color)', null, null, this.getTagsForStencil(gn, 'blade server color', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=blade_server;fillColor=#FAFAFA;strokeColor=#6696AB;',
w, h, '', 'Blade Server (subdued)', null, null, this.getTagsForStencil(gn, 'blade server subdued', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_5k;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Nexus 5k', null, null, this.getTagsForStencil(gn, 'nexus 5k', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_4k;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Nexus 4k', null, null, this.getTagsForStencil(gn, 'nexus 4k', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_3k;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Nexus 3k', null, null, this.getTagsForStencil(gn, 'nexus 3k', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_2k;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Nexus 2k', null, null, this.getTagsForStencil(gn, 'nexus 2k', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_1kv_vsm;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Nexus 1KV VSM', null, null, this.getTagsForStencil(gn, 'nexus 1kv vsm', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_1k;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Nexus 1k', null, null, this.getTagsForStencil(gn, 'nexus 1k', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=layer3_nexus_5k_switch;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Layer 3 Nexus 5k Switch', null, null, this.getTagsForStencil(gn, 'layer3 nexus 5k switch', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_1010;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Nexus 1010', null, null, this.getTagsForStencil(gn, 'nexus 1010', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_7k;fillColor=#FAFAFA;strokeColor=#005073;',
w, h * 1.46, '', 'Nexus 7k', null, null, this.getTagsForStencil(gn, 'nexus 7k', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=fibre_channel_fabric_switch;fillColor=#FAFAFA;strokeColor=#005073;',
w, h * 1.46, '', 'Fibre Channel Fabric Switch', null, null, this.getTagsForStencil(gn, 'fibre channel fabric switch', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=database_relational;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Database Relational', null, null, this.getTagsForStencil(gn, 'database relational', dt).join(' ')),
this.createVertexTemplateEntry(s + 'server;fillColor=#005073;strokeColor=none;',
w * 0.55, h, '', 'Server', null, null, this.getTagsForStencil(gn, 'server', dt).join(' ')),
this.createVertexTemplateEntry(s + 'dns_server;fillColor=#005073;strokeColor=none;',
w * 0.55, h, '', 'DNS Server', null, null, this.getTagsForStencil(gn, 'dns domain name server', dt).join(' ')),
this.createVertexTemplateEntry(s + 'secure_server;fillColor=#005073;strokeColor=none;',
w * 0.55, h, '', 'Secure Server', null, null, this.getTagsForStencil(gn, 'secure server', dt).join(' '))
]);
};
Sidebar.prototype.addCisco19WirelessLANPalette = function()
{
var w = 50;
var h = 50;
var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' +
'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.';
var gn = 'mxgraph.cisco19';
var dt = 'cisco wireless lan local area network';
this.addPaletteFunctions('cisco19Wireless LAN', 'Cisco 19 / Wireless LAN', false,
[
this.createVertexTemplateEntry(s + 'wifi_indicator;fillColor=#005073;strokeColor=none;',
w, h, '', 'WiFi Indicator', null, null, this.getTagsForStencil(gn, 'wifi indicator', dt).join(' ')),
this.createVertexTemplateEntry(s + '3g_4g_indicator;fillColor=#005073;strokeColor=none;',
w, h, '', '3G/4G Indicator', null, null, this.getTagsForStencil(gn, '3g 4g indicator', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=dual_mode_access_point;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Dual Mode Access Point', null, null, this.getTagsForStencil(gn, 'dual mode access point', dt).join(' ')),
this.createVertexTemplateEntry(s + 'wireless_access_point;fillColor=#005073;strokeColor=none;',
w, h, '', 'Wireless Acess Point', null, null, this.getTagsForStencil(gn, 'access point', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=wireless_location_appliance;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Wireless Location Appliance', null, null, this.getTagsForStencil(gn, 'location appliance', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=wireless_lan_controller;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Wireless LAN Controller', null, null, this.getTagsForStencil(gn, 'controller', dt).join(' ')),
this.createVertexTemplateEntry(s + 'wireless_bridge;fillColor=#005073;strokeColor=none;',
w * 1.28, h, '', 'Wireless Bridge', null, null, this.getTagsForStencil(gn, 'bridge', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=mesh_access_point;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Mesh Access Point', null, null, this.getTagsForStencil(gn, 'mesh access point', dt).join(' '))
]);
};
Sidebar.prototype.addCisco19CollaborationPalette = function()
{
var w = 50;
var h = 50;
var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' +
'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.';
var gn = 'mxgraph.cisco19';
var dt = 'cisco collaboration';
this.addPaletteFunctions('cisco19Collaboration', 'Cisco 19 / Collaboration', false,
[
this.createVertexTemplateEntry(s + 'rect;prIcon=video_call_server;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Video Call Server', null, null, this.getTagsForStencil(gn, 'video call server', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=primary_codec;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Primary Codec', null, null, this.getTagsForStencil(gn, 'primary codec', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=secondary_codec;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Secondary Codec', null, null, this.getTagsForStencil(gn, 'secondary codec', dt).join(' ')),
this.createVertexTemplateEntry(s + 'laptop_video_client;fillColor=#005073;strokeColor=none;',
w, h * 0.85, '', 'Laptop Video Client', null, null, this.getTagsForStencil(gn, 'laptop video client', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=immersive_telepresence_endpoint;fillColor=#FAFAFA;strokeColor=#005073;',
w * 2.3, h, '', 'Immersive Telepresence Endpoint', null, null, this.getTagsForStencil(gn, 'immersive telepresence endpoint', dt).join(' ')),
this.createVertexTemplateEntry(s + 'hdtv;fillColor=#005073;strokeColor=none;',
w * 1.2, h, '', 'HDTV', null, null, this.getTagsForStencil(gn, 'hdtv', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=virtual_desktop_service;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Virtual Desktop Service', null, null, this.getTagsForStencil(gn, 'virtual desktop service', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=video_gateway;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Video Gateway', null, null, this.getTagsForStencil(gn, 'video gateway', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=telepresence_endpoint;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Telepresence Endpoint', null, null, this.getTagsForStencil(gn, 'telepresence endpoint', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=collab1;fillColor=#FAFAFA;strokeColor=#005073;',
w, h * 1.3, '', 'Collaboration', null, null, this.getTagsForStencil(gn, '', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=video_analytics;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Video Analytics', null, null, this.getTagsForStencil(gn, 'video analytics', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=telepresence_exchange;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Telepresence Exchange', null, null, this.getTagsForStencil(gn, 'telepresence exchange', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=meeting_scheduling_and_management_server;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Meeting Scheduling and Management Server', null, null, this.getTagsForStencil(gn, 'meeting scheduling and management server', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=multipoint_meeting_server;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Multipoint Meeting Server', null, null, this.getTagsForStencil(gn, 'multipoint meeting server', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=content_recording_streaming_server;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Content Recording / Streaming Server', null, null, this.getTagsForStencil(gn, 'content recording streaming server', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=communications_manager;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Communications Manager', null, null, this.getTagsForStencil(gn, 'communications manager', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_unified_presence_service;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Cisco Unified Presence Service', null, null, this.getTagsForStencil(gn, 'cisco unified presence service', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_unified_contact_center_enterprise_and_hosted;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Cisco Unified Contact Center Enterprise and Hosted', null, null, this.getTagsForStencil(gn, 'cisco unified contact center enterprise and hosted', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=h323;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'H.323', null, null, this.getTagsForStencil(gn, 'h323', dt).join(' ')),
this.createVertexTemplateEntry(s + 'surveillance_camera;fillColor=#005073;strokeColor=none;',
w * 1.28, h, '', 'Surveillance Camera', null, null, this.getTagsForStencil(gn, 'surveillance camera', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=monitor;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Monitor', null, null, this.getTagsForStencil(gn, 'monitor', dt).join(' ')),
this.createVertexTemplateEntry(s + 'upc_unified_personal_communicator;fillColor=#005073;strokeColor=none;',
w, h * 0.85, '', 'UPC Unified Personal Communicator', null, null, this.getTagsForStencil(gn, 'upc unified personal communicator', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=telepresence_endpoint_twin_data_display;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Telepresence Endpoint (twin data display)', null, null, this.getTagsForStencil(gn, 'telepresence endpoint twin data display', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=operations_manager;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Operations Manager', null, null, this.getTagsForStencil(gn, 'operations manager', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=transcoder;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Transcoder', null, null, this.getTagsForStencil(gn, 'transcoder', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=contact_center_express;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Contact Center Express', null, null, this.getTagsForStencil(gn, 'contact center express', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=media_server;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Media Server', null, null, this.getTagsForStencil(gn, 'media server', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=ip_ip_gateway;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'IP IP Gateway', null, null, this.getTagsForStencil(gn, 'ip gateway', dt).join(' ')),
this.createVertexTemplateEntry(s + 'webex',
w, h, '', 'WebEx', null, null, this.getTagsForStencil(gn, 'webex', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=clock;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Clock', null, null, this.getTagsForStencil(gn, 'clock', dt).join(' ')),
this.createVertexTemplateEntry(s + 'phone_polycom;fillColor=#005073;strokeColor=none;',
w * 0.95, h, '', 'Phone Polycom', null, null, this.getTagsForStencil(gn, 'phone polycom', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=unity;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Unity', null, null, this.getTagsForStencil(gn, 'unity', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=shield;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Shield', null, null, this.getTagsForStencil(gn, 'shield', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_meetingplace_express;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Cisco MeetingPlace Express', null, null, this.getTagsForStencil(gn, 'meetingplace express', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=set_top;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Set Top', null, null, this.getTagsForStencil(gn, 'set top', dt).join(' ')),
this.createVertexTemplateEntry(s + 'ip_phone;fillColor=#005073;strokeColor=none;',
w * 1.15, h, '', 'IP Phone', null, null, this.getTagsForStencil(gn, 'ip phone internet protocol', dt).join(' ')),
this.createVertexTemplateEntry(s + 'camera;fillColor=#005073;strokeColor=none;',
w * 1.8, h, '', 'Camera', null, null, this.getTagsForStencil(gn, 'camera', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=da_encoder;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'DA Encoder', null, null, this.getTagsForStencil(gn, 'da encoder analog digital', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=ad_encoder;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'AD Encoder', null, null, this.getTagsForStencil(gn, 'ad encoder analog digital', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=da_decoder;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'DA Decoder', null, null, this.getTagsForStencil(gn, 'da decoder analog digital', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=ad_decoder;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'AD Decoder', null, null, this.getTagsForStencil(gn, 'ad decoder analog digital', dt).join(' ')),
this.createVertexTemplateEntry(s + 'joystick_keyboard;fillColor=#005073;strokeColor=none;',
w * 1.8, h, '', 'Joystick Keyboard', null, null, this.getTagsForStencil(gn, 'joystick keyboard', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=collab2;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Collaboration', null, null, this.getTagsForStencil(gn, 'collaboration', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=collab3;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Collaboration', null, null, this.getTagsForStencil(gn, 'collaboration', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=collab4;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Collaboration', null, null, this.getTagsForStencil(gn, 'collaboration', dt).join(' '))
]);
};
Sidebar.prototype.addCisco19SecurityCloudsAndConnectorsPalette = function()
{
var w = 50;
var h = 50;
var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' +
'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.';
var gn = 'mxgraph.cisco19';
var dt = 'cisco security clouds connectors';
this.addPaletteFunctions('cisco19Security Clouds Connectors', 'Cisco 19 / Security, Clouds and Connectors', false,
[
this.createVertexTemplateEntry(s + 'rect;prIcon=acs;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'ACS', null, null, this.getTagsForStencil(gn, 'acs', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=ise;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'ISE', null, null, this.getTagsForStencil(gn, 'ise', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=email_security;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Email Security', null, null, this.getTagsForStencil(gn, 'email security', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=vpn_concentrator;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'VPN Concentrator', null, null, this.getTagsForStencil(gn, 'vpn concentrator virtual private network', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=ssl_terminator;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'SSL Terminator', null, null, this.getTagsForStencil(gn, 'ssl terminator', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_security_manager;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Cisco Security Manager', null, null, this.getTagsForStencil(gn, 'cisco security manager', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=web_security;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Web Security', null, null, this.getTagsForStencil(gn, 'web security', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=nac_appliance;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'NAC Appliance', null, null, this.getTagsForStencil(gn, 'nac appliance', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=ironport;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Ironport', null, null, this.getTagsForStencil(gn, 'ironport', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=ips_ids;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'IPS/IDS', null, null, this.getTagsForStencil(gn, 'ips ids', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=firewall;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Firewall', null, null, this.getTagsForStencil(gn, 'firewall', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=asa_5500;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'ASA 5500', null, null, this.getTagsForStencil(gn, 'asa 5500', dt).join(' ')),
this.createVertexTemplateEntry(s + 'ldap;fillColor=#005073;strokeColor=none;',
w, h * 0.85, '', 'LDAP', null, null, this.getTagsForStencil(gn, 'ldap', dt).join(' ')),
this.createVertexTemplateEntry(s + 'key;fillColor=#005073;strokeColor=none;',
w, h * 0.45, '', 'Key', null, null, this.getTagsForStencil(gn, 'key', dt).join(' ')),
this.createVertexTemplateEntry(s + 'lock;fillColor=#005073;strokeColor=none;',
w, h, '', 'Lock', null, null, this.getTagsForStencil(gn, 'lock', dt).join(' ')),
this.createVertexTemplateEntry(s + 'cloud;fillColor=#6B6B6B;strokeColor=none;',
w, h * 0.6, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')),
this.createVertexTemplateEntry(s + 'cloud;fillColor=#A6A6A6;strokeColor=none;',
w, h * 0.6, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')),
this.createVertexTemplateEntry(s + 'cloud;fillColor=#FABD66;strokeColor=none;',
w, h * 0.6, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')),
this.createVertexTemplateEntry(s + 'cloud;fillColor=#186180;strokeColor=none;',
w, h * 0.6, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')),
this.createVertexTemplateEntry(s + 'cloud2;fillColor=#FFE9AA;strokeColor=none;',
w, h * 0.6, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=security_management;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Security Management (color)', null, null, this.getTagsForStencil(gn, 'security management color', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=security_management;fillColor=#FAFAFA;strokeColor=#6696AB;',
w, h, '', 'Security Management (subdued)', null, null, this.getTagsForStencil(gn, 'security management subdued', dt).join(' ')),
this.createVertexTemplateEntry(s + 'secure_endpoints;fillColor=#005073;strokeColor=none;',
w, h * 0.7, '', 'Secure Endpoint (laptop)', null, null, this.getTagsForStencil(gn, 'secure endpoints laptop', dt).join(' '))
]);
};
Sidebar.prototype.addCisco19EndpointClientDeviceIconsPalette = function()
{
var w = 50;
var h = 50;
var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' +
'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.';
var gn = 'mxgraph.cisco19';
var dt = 'cisco endpoint client device icons';
this.addPaletteFunctions('cisco19Endpoint Client Device Icons', 'Cisco 19 / Endpoint Client and Device Icons', false,
[
this.createVertexTemplateEntry(s + 'workstation;fillColor=#005073;strokeColor=none;',
w, h * 0.8, '', 'Workstation', null, null, this.getTagsForStencil(gn, 'workstation', dt).join(' ')),
this.createVertexTemplateEntry(s + 'laptop;fillColor=#005073;strokeColor=none;',
w, h * 0.7, '', 'Laptop', null, null, this.getTagsForStencil(gn, 'laptop', dt).join(' ')),
this.createVertexTemplateEntry(s + 'handheld;fillColor=#005073;strokeColor=none;',
w * 0.75, h, '', 'Handheld', null, null, this.getTagsForStencil(gn, 'handheld', dt).join(' ')),
this.createVertexTemplateEntry(s + 'cell_phone;fillColor=#005073;strokeColor=none;',
w * 0.5, h, '', 'Cell Phone', null, null, this.getTagsForStencil(gn, 'cell phone', dt).join(' ')),
this.createVertexTemplateEntry(s + 'tablet;fillColor=#005073;strokeColor=none;',
w, h * 0.8, '', 'Tablet', null, null, this.getTagsForStencil(gn, 'tablet', dt).join(' ')),
this.createVertexTemplateEntry(s + 'printer;fillColor=#005073;strokeColor=none;',
w, h * 0.9, '', 'Printer', null, null, this.getTagsForStencil(gn, 'printer', dt).join(' ')),
this.createVertexTemplateEntry(s + 'pos;fillColor=#005073;strokeColor=none;',
w * 1.28, h, '', 'POS', null, null, this.getTagsForStencil(gn, 'pos', dt).join(' ')),
this.createVertexTemplateEntry(s + 'home_office;fillColor=#005073;strokeColor=none;',
w, h, '', 'Home Office', null, null, this.getTagsForStencil(gn, 'home office', dt).join(' ')),
this.createVertexTemplateEntry(s + 'user;fillColor=#005073;strokeColor=none;',
w, h, '', 'User', null, null, this.getTagsForStencil(gn, 'user', dt).join(' ')),
this.createVertexTemplateEntry(s + 'secure_endpoint_pc;fillColor=#005073;strokeColor=none;',
w, h * 0.8, '', 'Secure Endpoint (PC)', null, null, this.getTagsForStencil(gn, 'secure endpoints pc', dt).join(' ')),
this.createVertexTemplateEntry(s + 'secure_endpoints;fillColor=#005073;strokeColor=none;',
w, h * 0.7, '', 'Secure Endpoint (laptop)', null, null, this.getTagsForStencil(gn, 'secure endpoints laptop', dt).join(' ')),
this.createVertexTemplateEntry(s + 'data_center;fillColor=#005073;strokeColor=none;',
w * 2, h * 1.4, '', 'Data Center', null, null, this.getTagsForStencil(gn, 'data center', dt).join(' ')),
this.createVertexTemplateEntry(s + 'branch;fillColor=#005073;strokeColor=none;',
w, h, '', 'Branch', null, null, this.getTagsForStencil(gn, 'branch', dt).join(' '))
]);
};
Sidebar.prototype.addCisco19DNASDAccessPalette = function()
{
var w = 50;
var h = 50;
var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' +
'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.';
var gn = 'mxgraph.cisco19';
var dt = 'cisco dna sd access';
this.addPaletteFunctions('cisco19DNA SD Access', 'Cisco 19 / DNA/SD-Access', false,
[
this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_dna_center;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Cisco DNA Center', null, null, this.getTagsForStencil(gn, 'dna center', dt).join(' ')),
this.createVertexTemplateEntry(s + 'cisco_dna;fillColor=#005073;strokeColor=none;',
w, h * 0.6, '', 'Cisco DNA', null, null, this.getTagsForStencil(gn, 'dna', dt).join(' '))
]);
};
Sidebar.prototype.addCisco19SDWANViptelaPalette = function()
{
var w = 50;
var h = 50;
var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' +
'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.';
var gn = 'mxgraph.cisco19';
var dt = 'cisco sd wan viptela wide area network';
this.addPaletteFunctions('cisco19SD WAN Viptela', 'Cisco 19 / SD-WAN and Viptela', false,
[
this.createVertexTemplateEntry(s + 'rect;prIcon=vbond;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'vBond', null, null, this.getTagsForStencil(gn, 'vbond', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=vmanage;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'vManage', null, null, this.getTagsForStencil(gn, 'vmanage', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=vsmart;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'vSmart', null, null, this.getTagsForStencil(gn, 'vsmart', dt).join(' '))
]);
};
Sidebar.prototype.addCisco19StealthwatchPalette = function()
{
var w = 50;
var h = 50;
var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' +
'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.';
var gn = 'mxgraph.cisco19';
var dt = 'cisco stealthwatch';
this.addPaletteFunctions('cisco19ETA Stealthwatch', 'Cisco 19 / ETA/Stealthwatch', false,
[
this.createVertexTemplateEntry(s + 'rect;prIcon=flow_collector;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Flow Collector', null, null, this.getTagsForStencil(gn, 'flow collector', dt).join(' ')),
this.createVertexTemplateEntry(s + 'stealthwatch_management_console_smc;fillColor=#005073;strokeColor=none;',
w, h * 0.8, '', 'Stealthwatch Management Console (SMC)', null, null, this.getTagsForStencil(gn, 'stealthwatch management console smc', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=cognitive;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Cognitive', null, null, this.getTagsForStencil(gn, 'cognitive', dt).join(' '))
]);
};
Sidebar.prototype.addCisco19SafePalette = function()
{
var w = 50;
var h = 50;
var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' +
'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.';
var gn = 'mxgraph.cisco19';
var dt = 'cisco stealthwatch';
this.addPaletteFunctions('cisco19SAFE', 'Cisco 19 / SAFE', false,
[
this.createVertexTemplateEntry(s + 'rect;prIcon=next_generation_intrusion_prevention_system;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Next Generation Intrusion Prevention System', null, null, this.getTagsForStencil(gn, 'next generation prevention system', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=access_control_and_trustsec;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Access Control and TrustSec', null, null, this.getTagsForStencil(gn, 'access control and trustsec', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=load_balancer;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Load Balancer', null, null, this.getTagsForStencil(gn, 'load balancer', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=anomaly_detection;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Anomaly Detection', null, null, this.getTagsForStencil(gn, 'anomaly detection', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=web_reputation_filtering;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Web Reputation / Filtering', null, null, this.getTagsForStencil(gn, 'web reputation filtering', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=avc_application_visibility_control;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'AVC-Application Visibility Control', null, null, this.getTagsForStencil(gn, 'avc application visibility control', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=anti_malware2;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Anti-Malware', null, null, this.getTagsForStencil(gn, 'anti malware', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=web_application_firewall;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Web Application Firewall', null, null, this.getTagsForStencil(gn, 'web application firewall', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=policy_configuration;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Policy / Configuration', null, null, this.getTagsForStencil(gn, 'policy configuration', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=analysis_correlation;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Analysis / Correlation', null, null, this.getTagsForStencil(gn, 'analysis correlation', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=flow_analytics;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Flow Analytics', null, null, this.getTagsForStencil(gn, 'flow analytics', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=virtual_private_network;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Virtual Private Network', null, null, this.getTagsForStencil(gn, 'virtual private network vpn', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=web_reputation_filtering_2;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Web Reputation / Filtering', null, null, this.getTagsForStencil(gn, 'web reputation filtering', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=avc_application_visibility_control2;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'AVC-Application Visibility Control', null, null, this.getTagsForStencil(gn, 'avc application visibility control', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=flow_analytics2;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Flow Analytics', null, null, this.getTagsForStencil(gn, 'flow analytics', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=virtual_private_network2;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Virtual Private Network', null, null, this.getTagsForStencil(gn, 'virtual private network', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=web_security_services;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Web Security Services', null, null, this.getTagsForStencil(gn, 'web security services', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=web_security_services2;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Web Security Services', null, null, this.getTagsForStencil(gn, 'web security services', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=posture_assessment;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Posture Assessment', null, null, this.getTagsForStencil(gn, 'posture assessment', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=anti_malware;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Anti-Malware', null, null, this.getTagsForStencil(gn, 'anti malware', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=wireless_intrusion_prevention;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Wireless Intrusion Prevention', null, null, this.getTagsForStencil(gn, 'wireless intrusion prevention', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=host_based_security;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Host Based Security', null, null, this.getTagsForStencil(gn, 'host based security', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=monitoring;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Monitoring', null, null, this.getTagsForStencil(gn, 'monitoring', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=virtual_private_network_connector;fillColor=#FAFAFA;strokeColor=#005073;',
w * 1.28, h, '', 'Virtual Private Network Connector', null, null, this.getTagsForStencil(gn, 'connector', dt).join(' ')),
this.createVertexTemplateEntry(s + 'rect;prIcon=threat_intelligence;fillColor=#FAFAFA;strokeColor=#005073;',
w, h, '', 'Monitoring', null, null, this.getTagsForStencil(gn, 'monitoring', dt).join(' '))
]);
};
})();

View file

@ -27,8 +27,8 @@
this.createVertexTemplateEntry('shape=ellipse;html=1;dashed=0;whitespace=wrap;aspect=fixed;perimeter=ellipsePerimeter;', w * 0.6, h * 0.6, '', 'Data Process / State', null, null, this.getTagsForStencil(gn, 'data process', dt).join(' ')),
this.createVertexTemplateEntry('ellipse;shape=doubleEllipse;html=1;dashed=0;whitespace=wrap;aspect=fixed;', w * 0.6, h * 0.6, '', 'Multiple Process / Start State / Multi State', null, null, this.getTagsForStencil(gn, 'multiple process start state multi', dt).join(' ')),
this.createVertexTemplateEntry('shape=ellipse;html=1;dashed=0;whitespace=wrap;aspect=fixed;strokeWidth=5;perimeter=ellipsePerimeter;', w * 0.6, h * 0.6, '', 'Stop State', null, null, this.getTagsForStencil(gn, 'stop state', dt).join(' ')),
this.createVertexTemplateEntry('html=1;dashed=0;whitespace=wrap;shape=partialRectangle;right=0;left=0;fillColor=none;', w, h * 0.3, '', 'Data Store', null, null, this.getTagsForStencil(gn, 'data store', dt).join(' ')),
this.createVertexTemplateEntry('html=1;dashed=0;whitespace=wrap;shape=partialRectangle;right=0;fillColor=none;', w, h * 0.3, '', 'Data Store', null, null, this.getTagsForStencil(gn, 'data store', dt).join(' ')),
this.createVertexTemplateEntry('html=1;dashed=0;whitespace=wrap;shape=partialRectangle;right=0;left=0;', w, h * 0.3, '', 'Data Store', null, null, this.getTagsForStencil(gn, 'data store', dt).join(' ')),
this.createVertexTemplateEntry('html=1;dashed=0;whitespace=wrap;shape=partialRectangle;right=0;', w, h * 0.3, '', 'Data Store', null, null, this.getTagsForStencil(gn, 'data store', dt).join(' ')),
this.createVertexTemplateEntry(s + 'dataStoreID;align=left;spacingLeft=3;points=[[0,0],[0.5,0],[1,0],[0,0.5],[1,0.5],[0,1],[0.5,1],[1,1]];', w, h * 0.3, '', 'Data Store with ID', null, null, this.getTagsForStencil(gn, 'data store with id identification', dt).join(' ')),
this.createVertexTemplateEntry('swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=20;fillColor=#ffffff;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;swimlaneFillColor=#ffffff;', w, h * 0.5, '', 'Entity', null, null, this.getTagsForStencil(gn, 'entity', dt).join(' ')),
this.createVertexTemplateEntry('shape=cloud;whiteSpace=wrap;html=1;', w * 1.2, h * 1.2, '', 'Object', null, null, this.getTagsForStencil(gn, 'object', dt).join(' ')),

View file

@ -50,6 +50,8 @@
Sidebar.prototype.cisco = ['Buildings', 'Computers and Peripherals', 'Controllers and Modules', 'Directors', 'Hubs and Gateways', 'Misc',
'Modems and Phones', 'People', 'Routers', 'Security', 'Servers', 'Storage', 'Switches', 'Wireless'];
Sidebar.prototype.cisco19 = ['LAN Switching', 'Routing WAN', 'Network Management', 'Data Center', 'Wireless LAN', 'Collaboration', 'Security Clouds Connectors', 'Endpoint Client Device Icons', 'DNA SD Access', 'SD WAN Viptela', 'ETA Stealthwatch', 'SAFE'];
Sidebar.prototype.cisco_safe = ['Architecture', 'Capability', 'Design', 'Threat'];
Sidebar.prototype.sysml = ['Model Elements', 'Blocks', 'Ports and Flows', 'Constraint Blocks', 'Activities', 'Interactions', 'State Machines',
@ -105,7 +107,7 @@
{id: 'ios', prefix: 'ios', libs: [''/*prefix is library*/, '7icons', '7ui']},
{id: 'android', prefix: 'android', libs: [''/*prefix is library*/]}, {id: 'aws3d'},
{id: 'flowchart'}, {id: 'basic'}, {id: 'infographic'}, {id: 'arrows'}, {id: 'arrows2'}, {id: 'lean_mapping'}, {id: 'citrix'}, {id: 'azure'}, {id: 'network'}, {id: 'vvd'},
{id: 'sitemap'}, {id: 'dfd'}, {id : 'kubernetes'},
{id: 'sitemap'}, {id: 'dfd'}, {id : 'kubernetes'}, {id : 'cisco19', prefix: 'cisco19', libs: Sidebar.prototype.cisco19},
{id: 'mscae', prefix: 'mscae', libs: ['Companies', 'EnterpriseFlat', 'IntuneFlat', 'OMSFlat', 'System CenterFlat', 'AI and ML Service', 'Analytics Service', 'Compute Service', 'Compute Service VM', 'Container Service', 'Databases Service', 'DevOps Service', 'General Service', 'Identity Service', 'Integration Service', 'Internet of Things Service', 'Intune Service', 'Management and Governance Service', 'Management and Governance Service Media', 'Migrate Service', 'Mixed Reality Service', 'Mobile Service', 'Networking Service', 'Other Category Service', 'Security Service', 'Storage Service', 'Web Service']},
{id: 'active_directory'},
{id: 'bpmn', prefix: 'bpmn', libs: [''/*prefix is library*/, 'Gateways', 'Events']},
@ -407,6 +409,7 @@
{title: mxResources.get('azure'), id: 'azure', image: IMAGE_PATH + '/sidebar-azure.png'},
{title: 'Cloud & Enterprise', id: 'mscae', image: IMAGE_PATH + '/sidebar-mscae.png'},
{title: mxResources.get('cisco'), id: 'cisco', image: IMAGE_PATH + '/sidebar-cisco.png'},
{title: 'Cisco19', id: 'cisco19', image: IMAGE_PATH + '/sidebar-cisco19.png'},
{title: 'Cisco Safe', id: 'cisco_safe', image: IMAGE_PATH + '/sidebar-cisco_safe.png'},
{title: 'Cumulus', id: 'cumulus', image: IMAGE_PATH + '/sidebar-cumulus.png'},
{title: 'Citrix', id: 'citrix', image: IMAGE_PATH + '/sidebar-citrix.png'},
@ -710,6 +713,7 @@
var rack = this.rack;
var pids = this.pids;
var cisco = this.cisco;
var cisco19 = this.cisco19;
var cisco_safe = this.cisco_safe;
var sysml = this.sysml;
var eip = this.eip;
@ -941,6 +945,7 @@
';html=1;pointerEvents=1;dashed=0;fillColor=#036897;strokeColor=#ffffff;strokeWidth=2;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;', null, null, 1.6);
}
this.addCisco19Palette();
this.addCiscoSafePalette();
this.addCumulusPalette();
this.addCitrixPalette();

View file

@ -1036,6 +1036,23 @@ EditorUi.prototype.init = function()
if (!graph.standalone)
{
// Hides tooltips and connection points when scrolling
mxEvent.addListener(graph.container, 'scroll', mxUtils.bind(this, function()
{
graph.tooltipHandler.hide();
if (graph.connectionHandler != null && graph.connectionHandler.constraintHandler != null)
{
graph.connectionHandler.constraintHandler.reset();
}
}));
// Hides tooltip on escape
graph.addListener(mxEvent.ESCAPE, mxUtils.bind(this, function()
{
graph.tooltipHandler.hide();
}));
mxEvent.addListener(graph.container, 'keydown', mxUtils.bind(this, function(evt)
{
this.onKeyDown(evt);
@ -2132,22 +2149,22 @@ EditorUi.prototype.initCanvas = function()
}
var sp = new mxPoint(graph.container.scrollLeft, graph.container.scrollTop);
var offset = mxUtils.getOffset(graph.container);
var prev = graph.view.scale;
var dx = 0;
var dy = 0;
if (cursorPosition != null)
{
dx = graph.container.offsetWidth / 2 - cursorPosition.x + offset.x;
dy = graph.container.offsetHeight / 2 - cursorPosition.y + offset.y;
}
graph.zoom(graph.cumulativeZoomFactor);
var s = graph.view.scale;
if (s != prev)
{
var offset = mxUtils.getOffset(graph.container);
var dx = 0;
var dy = 0;
if (cursorPosition != null)
{
dx = graph.container.offsetWidth / 2 - cursorPosition.x + offset.x;
dy = graph.container.offsetHeight / 2 - cursorPosition.y + offset.y;
}
if (scrollPosition != null)
{
dx += sp.x - scrollPosition.x;
@ -2178,6 +2195,9 @@ EditorUi.prototype.initCanvas = function()
graph.lazyZoom = function(zoomIn, ignoreCursorPosition, delay)
{
// TODO: Fix ignored cursor position if scrollbars are disabled
ignoreCursorPosition = ignoreCursorPosition || !graph.scrollbars;
if (ignoreCursorPosition)
{
cursorPosition = new mxPoint(
@ -2220,6 +2240,7 @@ EditorUi.prototype.initCanvas = function()
if (graph.isFastZoomEnabled())
{
scrollPosition = new mxPoint(graph.container.scrollLeft, graph.container.scrollTop);
var cx = (ignoreCursorPosition) ? graph.container.scrollLeft + graph.container.clientWidth / 2 :
cursorPosition.x + graph.container.scrollLeft - graph.container.offsetLeft;
var cy = (ignoreCursorPosition) ? graph.container.scrollTop + graph.container.clientHeight / 2 :
@ -2282,26 +2303,51 @@ EditorUi.prototype.initCanvas = function()
mxEvent.addMouseWheelListener(mxUtils.bind(this, function(evt, up, force)
{
// Add Ctrl+wheel (or pinch on trackpad) native browser zoom event for macOS
if ((this.dialogs == null || this.dialogs.length == 0) && (force || graph.isZoomWheelEvent(evt)))
if (this.dialogs == null || this.dialogs.length == 0)
{
var source = mxEvent.getSource(evt);
while (source != null)
// Scrolls with scrollbars turned off
if (!graph.scrollbars && !graph.isZoomWheelEvent(evt))
{
var t = graph.view.getTranslate();
var step = 40 / graph.view.scale;
if (!mxEvent.isShiftDown(evt))
{
graph.view.setTranslate(t.x, t.y + ((up) ? step : -step));
}
else
{
graph.view.setTranslate(t.x + ((up) ? -step : step), t.y);
}
}
else if (force || graph.isZoomWheelEvent(evt))
{
if (source == graph.container)
{
cursorPosition = new mxPoint(mxEvent.getClientX(evt), mxEvent.getClientY(evt));;
graph.lazyZoom(up);
mxEvent.consume(evt);
return false;
}
var source = mxEvent.getSource(evt);
source = source.parentNode;
while (source != null)
{
if (source == graph.container)
{
cursorPosition = new mxPoint(mxEvent.getClientX(evt), mxEvent.getClientY(evt));;
graph.lazyZoom(up);
mxEvent.consume(evt);
return false;
}
source = source.parentNode;
}
}
}
}), graph.container);
// Uses fast zoom for pinch gestures on iOS
graph.panningHandler.zoomGraph = function(evt)
{
graph.cumulativeZoomFactor = evt.scale;
graph.lazyZoom(evt.scale > 0, true);
mxEvent.consume(evt);
};
};
/**
@ -2668,26 +2714,10 @@ EditorUi.prototype.setScrollbars = function(value)
if (prev != graph.container.style.overflow)
{
if (graph.container.style.overflow == 'hidden')
{
var t = graph.view.translate;
graph.view.setTranslate(t.x - graph.container.scrollLeft / graph.view.scale, t.y - graph.container.scrollTop / graph.view.scale);
graph.container.scrollLeft = 0;
graph.container.scrollTop = 0;
graph.minimumGraphSize = null;
graph.sizeDidChange();
}
else
{
var dx = graph.view.translate.x;
var dy = graph.view.translate.y;
graph.view.translate.x = 0;
graph.view.translate.y = 0;
graph.sizeDidChange();
graph.container.scrollLeft -= Math.round(dx * graph.view.scale);
graph.container.scrollTop -= Math.round(dy * graph.view.scale);
}
graph.container.scrollTop = 0;
graph.container.scrollLeft = 0;
graph.view.scaleAndTranslate(1, 0, 0);
this.resetScrollbars();
}
this.fireEvent(new mxEventObject('scrollbarsChanged'));
@ -2756,19 +2786,19 @@ EditorUi.prototype.resetScrollbars = function()
}
else
{
// This code is not actively used since the default for scrollbars is always true
if (graph.pageVisible)
{
var b = graph.view.getBackgroundPageBounds();
graph.view.setTranslate(Math.floor(Math.max(0, (graph.container.clientWidth - b.width) / 2) - b.x),
Math.floor(Math.max(0, (graph.container.clientHeight - b.height) / 2) - b.y));
}
else
{
var bounds = graph.getGraphBounds();
graph.view.setTranslate(Math.floor(Math.max(0, Math.max(0, (graph.container.clientWidth - bounds.width) / 2) - bounds.x)),
Math.floor(Math.max(0, Math.max(20, (graph.container.clientHeight - bounds.height) / 4)) - bounds.y));
}
var b = mxRectangle.fromRectangle((graph.pageVisible) ? graph.view.getBackgroundPageBounds() : graph.getGraphBounds())
var tr = graph.view.translate;
var s = graph.view.scale;
b.x = b.x / s - tr.x;
b.y = b.y / s - tr.y;
b.width /= s;
b.height /= s;
var dy = (graph.pageVisible) ? 0 : Math.max(0, (graph.container.clientHeight - b.height) / 4);
graph.view.setTranslate(Math.floor(Math.max(0,
(graph.container.clientWidth - b.width) / 2) - b.x + 2),
Math.floor(dy - b.y + 1));
}
}
};

View file

@ -1358,7 +1358,7 @@ Graph.prototype.init = function(container)
*/
Graph.prototype.isFastZoomEnabled = function()
{
return this.scrollbars && urlParams['zoom'] != 'nocss' && !this.mathEnabled &&
return urlParams['zoom'] != 'nocss' && !this.mathEnabled &&
!mxClient.NO_FO && !this.useCssTransforms;
};
@ -1762,7 +1762,7 @@ Graph.prototype.customLinkClicked = function(link)
};
/**
* Returns true if the fiven href references an external protocol that
* Returns true if the given href references an external protocol that
* should never open in a new window. Default returns true for mailto.
*/
Graph.prototype.isExternalProtocol = function(href)
@ -3384,6 +3384,8 @@ HoverIcons.prototype.init = function()
this.graph.view.addListener(mxEvent.DOWN, this.repaintHandler);
this.graph.view.addListener(mxEvent.UP, this.repaintHandler);
this.graph.addListener(mxEvent.ROOT, this.repaintHandler);
this.graph.addListener(mxEvent.ESCAPE, this.resetHandler);
mxEvent.addListener(this.graph.container, 'scroll', this.resetHandler);
// Resets the mouse point on escape
this.graph.addListener(mxEvent.ESCAPE, mxUtils.bind(this, function()
@ -8880,83 +8882,90 @@ if (typeof mxVertexHandler != 'undefined')
mxVertexHandler.prototype.updateLinkHint = function(link, links)
{
if ((link == null && (links == null || links.length == 0)) ||
this.graph.getSelectionCount() > 1)
try
{
if (this.linkHint != null)
if ((link == null && (links == null || links.length == 0)) ||
this.graph.getSelectionCount() > 1)
{
this.linkHint.parentNode.removeChild(this.linkHint);
this.linkHint = null;
if (this.linkHint != null)
{
this.linkHint.parentNode.removeChild(this.linkHint);
this.linkHint = null;
}
}
else if (link != null || (links != null && links.length > 0))
{
if (this.linkHint == null)
{
this.linkHint = createHint();
this.linkHint.style.padding = '6px 8px 6px 8px';
this.linkHint.style.opacity = '1';
this.linkHint.style.filter = '';
this.graph.container.appendChild(this.linkHint);
}
this.linkHint.innerHTML = '';
if (link != null)
{
this.linkHint.appendChild(this.graph.createLinkForHint(link));
if (this.graph.isEnabled() && typeof this.graph.editLink === 'function')
{
var changeLink = document.createElement('img');
changeLink.setAttribute('src', Editor.editImage);
changeLink.setAttribute('title', mxResources.get('editLink'));
changeLink.setAttribute('width', '11');
changeLink.setAttribute('height', '11');
changeLink.style.marginLeft = '10px';
changeLink.style.marginBottom = '-1px';
changeLink.style.cursor = 'pointer';
this.linkHint.appendChild(changeLink);
mxEvent.addListener(changeLink, 'click', mxUtils.bind(this, function(evt)
{
this.graph.setSelectionCell(this.state.cell);
this.graph.editLink();
mxEvent.consume(evt);
}));
var removeLink = document.createElement('img');
removeLink.setAttribute('src', Dialog.prototype.clearImage);
removeLink.setAttribute('title', mxResources.get('removeIt', [mxResources.get('link')]));
removeLink.setAttribute('width', '13');
removeLink.setAttribute('height', '10');
removeLink.style.marginLeft = '4px';
removeLink.style.marginBottom = '-1px';
removeLink.style.cursor = 'pointer';
this.linkHint.appendChild(removeLink);
mxEvent.addListener(removeLink, 'click', mxUtils.bind(this, function(evt)
{
this.graph.setLinkForCell(this.state.cell, null);
mxEvent.consume(evt);
}));
}
}
if (links != null)
{
for (var i = 0; i < links.length; i++)
{
var div = document.createElement('div');
div.style.marginTop = (link != null || i > 0) ? '6px' : '0px';
div.appendChild(this.graph.createLinkForHint(
links[i].getAttribute('href'),
mxUtils.getTextContent(links[i])));
this.linkHint.appendChild(div);
}
}
}
}
else if (link != null || (links != null && links.length > 0))
catch (e)
{
if (this.linkHint == null)
{
this.linkHint = createHint();
this.linkHint.style.padding = '6px 8px 6px 8px';
this.linkHint.style.opacity = '1';
this.linkHint.style.filter = '';
this.graph.container.appendChild(this.linkHint);
}
this.linkHint.innerHTML = '';
if (link != null)
{
this.linkHint.appendChild(this.graph.createLinkForHint(link));
if (this.graph.isEnabled() && typeof this.graph.editLink === 'function')
{
var changeLink = document.createElement('img');
changeLink.setAttribute('src', Editor.editImage);
changeLink.setAttribute('title', mxResources.get('editLink'));
changeLink.setAttribute('width', '11');
changeLink.setAttribute('height', '11');
changeLink.style.marginLeft = '10px';
changeLink.style.marginBottom = '-1px';
changeLink.style.cursor = 'pointer';
this.linkHint.appendChild(changeLink);
mxEvent.addListener(changeLink, 'click', mxUtils.bind(this, function(evt)
{
this.graph.setSelectionCell(this.state.cell);
this.graph.editLink();
mxEvent.consume(evt);
}));
var removeLink = document.createElement('img');
removeLink.setAttribute('src', Dialog.prototype.clearImage);
removeLink.setAttribute('title', mxResources.get('removeIt', [mxResources.get('link')]));
removeLink.setAttribute('width', '13');
removeLink.setAttribute('height', '10');
removeLink.style.marginLeft = '4px';
removeLink.style.marginBottom = '-1px';
removeLink.style.cursor = 'pointer';
this.linkHint.appendChild(removeLink);
mxEvent.addListener(removeLink, 'click', mxUtils.bind(this, function(evt)
{
this.graph.setLinkForCell(this.state.cell, null);
mxEvent.consume(evt);
}));
}
}
if (links != null)
{
for (var i = 0; i < links.length; i++)
{
var div = document.createElement('div');
div.style.marginTop = (link != null || i > 0) ? '6px' : '0px';
div.appendChild(this.graph.createLinkForHint(
links[i].getAttribute('href'),
mxUtils.getTextContent(links[i])));
this.linkHint.appendChild(div);
}
}
// ignore
}
};

View file

@ -1527,8 +1527,9 @@ mxArchiMate3CommNetw.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo
function mxArchiMate3Path(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxArchiMate3Path,mxShape);mxArchiMate3Path.prototype.cst={PATH:"mxgraph.archimate3.path"};mxArchiMate3Path.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,0,0,b,c);a.setShadow(!1)};
mxArchiMate3Path.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo(.2*b,c);a.lineTo(0,.5*c);a.lineTo(.2*b,0);a.moveTo(.8*b,c);a.lineTo(b,.5*c);a.lineTo(.8*b,0);a.stroke();a.setDashed(!0);a.begin();a.moveTo(0,.5*c);a.lineTo(b,.5*c);a.stroke()};mxCellRenderer.registerShape(mxArchiMate3Path.prototype.cst.PATH,mxArchiMate3Path);
mxArchiMate3Path.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));return a};function mxShapeArrows2Arrow(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;this.notch=0}mxUtils.extend(mxShapeArrows2Arrow,mxActor);
mxShapeArrows2Arrow.prototype.customProperties=[{name:"dx",dispName:"Arrowhead Length",type:"float",min:0,defVal:40},{name:"dy",dispName:"Arrow Width",type:"float",min:0,max:1,defVal:.6},{name:"notch",dispName:"Notch",type:"float",min:0,defVal:0}];mxShapeArrows2Arrow.prototype.cst={ARROW:"mxgraph.arrows2.arrow"};
mxShapeArrows2Arrow.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=.5*c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));e=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));var f=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"notch",this.notch))));a.begin();a.moveTo(0,d);a.lineTo(b-e,d);a.lineTo(b-e,0);a.lineTo(b,.5*c);a.lineTo(b-e,c);a.lineTo(b-e,c-d);a.lineTo(0,c-d);a.lineTo(f,.5*c);a.close();a.fillAndStroke()};
mxShapeArrows2Arrow.prototype.customProperties=[{name:"dx",dispName:"Arrowhead Length",type:"float",min:0,defVal:40},{name:"dy",dispName:"Arrow Width",type:"float",min:0,max:1,defVal:.6},{name:"notch",dispName:"Notch",type:"float",min:0,defVal:0},{name:"headCrossline",dispName:"Head Crossline",type:"bool",defVal:!1},{name:"tailCrossline",dispName:"Tail Crossline",type:"bool",defVal:!1}];mxShapeArrows2Arrow.prototype.cst={ARROW:"mxgraph.arrows2.arrow"};
mxShapeArrows2Arrow.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=.5*c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));e=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));var f=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"notch",this.notch)))),g=mxUtils.getValue(this.style,"headCrossline",!1),h=mxUtils.getValue(this.style,"tailCrossline",!1);a.begin();a.moveTo(0,d);a.lineTo(b-e,d);a.lineTo(b-e,0);a.lineTo(b,
.5*c);a.lineTo(b-e,c);a.lineTo(b-e,c-d);a.lineTo(0,c-d);a.lineTo(f,.5*c);a.close();a.fillAndStroke();a.setShadow(!1);g&&(a.begin(),a.moveTo(b-e,d),a.lineTo(b-e,c-d),a.stroke());h&&(a.begin(),a.moveTo(f,d),a.lineTo(f,c-d),a.stroke())};
mxShapeArrows2Arrow.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var d=a.width,e=a.height,b,c,f=this.direction||mxConstants.DIRECTION_EAST;mxUtils.getValue(this.style,"flipH",!1)&&(f==mxConstants.DIRECTION_WEST?f=mxConstants.DIRECTION_EAST:f==mxConstants.DIRECTION_EAST&&(f=mxConstants.DIRECTION_WEST));mxUtils.getValue(this.style,"flipV",!1)&&(f==mxConstants.DIRECTION_NORTH?f=mxConstants.DIRECTION_SOUTH:f==mxConstants.DIRECTION_SOUTH&&(f=mxConstants.DIRECTION_NORTH));
f==mxConstants.DIRECTION_NORTH||f==mxConstants.DIRECTION_SOUTH?(b=.5*d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"dy",this.dy)))),c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))))):(b=.5*e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"dy",this.dy)))),c=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))));return f==mxConstants.DIRECTION_EAST?new mxRectangle(a.x,a.y+b,d-c,e-2*b):f==mxConstants.DIRECTION_WEST?
new mxRectangle(a.x+c,a.y+b,d-c,e-2*b):f==mxConstants.DIRECTION_NORTH?new mxRectangle(a.x+b,a.y+c,d-2*b,e-c):new mxRectangle(a.x+b,a.y,d-2*b,e-c)}return a};mxCellRenderer.registerShape(mxShapeArrows2Arrow.prototype.cst.ARROW,mxShapeArrows2Arrow);
@ -2013,8 +2014,14 @@ function mxCabinetsDimension(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill
mxCabinetsDimension.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo(0,20);a.lineTo(b,20);a.moveTo(10,15);a.lineTo(0,20);a.lineTo(10,25);a.moveTo(b-10,15);a.lineTo(b,20);a.lineTo(b-10,25);a.moveTo(0,15);a.lineTo(0,c);a.moveTo(b,15);a.lineTo(b,c);a.stroke()};mxCellRenderer.registerShape(mxCabinetsDimension.prototype.cst.DIMENSION,mxCabinetsDimension);function mxCabinetsDimensionBottom(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
mxUtils.extend(mxCabinetsDimensionBottom,mxShape);mxCabinetsDimensionBottom.prototype.cst={DIMENSION:"mxgraph.cabinets.dimensionBottom"};mxCabinetsDimensionBottom.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c)};
mxCabinetsDimensionBottom.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo(0,c-20);a.lineTo(b,c-20);a.moveTo(10,c-15);a.lineTo(0,c-20);a.lineTo(10,c-25);a.moveTo(b-10,c-15);a.lineTo(b,c-20);a.lineTo(b-10,c-25);a.moveTo(0,c-15);a.lineTo(0,0);a.moveTo(b,c-15);a.lineTo(b,0);a.stroke()};mxCellRenderer.registerShape(mxCabinetsDimensionBottom.prototype.cst.DIMENSION,mxCabinetsDimensionBottom);
function mxShapeDFDStart(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeDFDStart,mxShape);mxShapeDFDStart.prototype.cst={START:"mxgraph.dfd.start"};mxShapeDFDStart.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.min(.5*c,.5*b);a.begin();a.moveTo(b-d,.5*c-d);a.arcTo(d,d,0,0,1,b,.5*c);a.arcTo(d,d,0,0,1,b-d,.5*c+d);a.lineTo(d,.5*c+d);a.arcTo(d,d,0,0,1,0,.5*c);a.arcTo(d,d,0,0,1,d,.5*c-d);a.close();a.fillAndStroke()};
mxCellRenderer.registerShape(mxShapeDFDStart.prototype.cst.START,mxShapeDFDStart);
function mxShapeCisco19Rect(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeCisco19Rect,mxShape);mxShapeCisco19Rect.prototype.cst={SHAPE_RECT:"mxgraph.cisco19.rect"};
mxShapeCisco19Rect.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.state.style,"prIcon","l2_switch");mxUtils.getValue(this.state.style,"fillColor","#ffffff");var g=mxUtils.getValue(this.state.style,"strokeColor","#000000"),h="mxgraph.cisco19.bg1",k="router csr_1000v wireless_router l3_modular3 ucs_express router_with_voice router_with_firewall netflow_router secure_router ip_telephone_router asr_9000 clock vbond vmanage vsmart".split(" ");a.translate(d,e);["l2_modular",
"l3_modular","6500_vss","nexus_9500","nexus_7k"].includes(f)?h="mxgraph.cisco19.bg2":["l2_switch_with_dual_supervisor","l3_switch_with_dual_supervisor"].includes(f)?h="mxgraph.cisco19.bg3":["l2_modular2"].includes(f)?h="mxgraph.cisco19.bg4":["l3_modular2","6500_vss2","hypervisor","collab1"].includes(f)?h="mxgraph.cisco19.bg5":k.includes(f)?(a.begin(),"wireless_router"==f?a.ellipse(0,.17*c,b,.83*c):a.ellipse(0,0,b,c),a.fill()):"content_router;router_with_firewall2;netflow_router2;nam_virtual_service_blade;ucs_5108_blade_chassis;storage;nexus_1kv_vsm;nexus_1k;nexus_1010;dual mode access point;wireless_lan_controller;primary_codec;virtual_desktop_service;video_gateway;video_analytics;telepresence_exchange;meeting_scheduling_and_management_server;content_recording_streaming_server;communications_manager;cisco_unified_presence_service;cisco_unified_contact_center_enterprise_and_hosted;h323;monitor;telepresence_endpoint_twin_data_display;operations_manager;transcoder;contact_center_express;ip_ip_gateway;shield;set_top;da_encoder;ad_encoder;da_decoder;ad_decoder;acs;email_security;vpn_concentrator;ssl_terminator;cisco_security_manager;web_security;nac_appliance;ironport;ips_ids;firewall;asa_5500;flow_collector;load_balancer;web_application_firewall;analysis_correlation;flow_analytics;virtual_private_network2;web_security_services;web_security_services2;virtual_private_network_connector".split(";").includes(f)?
h="mxgraph.cisco19.bg6":["asr_1000"].includes(f)?h="mxgraph.cisco19.bg7":["fibre_channel_director_mds_9000","fibre_channel_fabric_switch"].includes(f)?h="mxgraph.cisco19.bg8":["ucs_c_series_server"].includes(f)?h="mxgraph.cisco19.bg9":["aci"].includes(f)?(d=mxStencilRegistry.getStencil("mxgraph.cisco19.acibg"),d.drawShape(a,this,.195*b,.195*c,.61*b,.61*c)):["immersive_telepresence_endpoint"].includes(f)&&(h="mxgraph.cisco19.bg10");k.includes(f)||"aci"==f||(d=mxStencilRegistry.getStencil(h),d.drawShape(a,
this,0,0,b,c));a.setShadow(!1);f=mxStencilRegistry.getStencil("mxgraph.cisco19."+f);a.setFillColor(g);null!=f&&f.drawShape(a,this,0,0,b,c)};mxCellRenderer.registerShape(mxShapeCisco19Rect.prototype.cst.SHAPE_RECT,mxShapeCisco19Rect);
mxShapeCisco19Rect.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(.825,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.175,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,.16),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,.84),!1));a.push(new mxConnectionConstraint(new mxPoint(.66,.17),!1));a.push(new mxConnectionConstraint(new mxPoint(.66,.83),!1));a.push(new mxConnectionConstraint(new mxPoint(.34,.17),!1));a.push(new mxConnectionConstraint(new mxPoint(.34,
.83),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,.33),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,.67),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,.33),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,.67),!1));return a};function mxShapeDFDStart(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeDFDStart,mxShape);mxShapeDFDStart.prototype.cst={START:"mxgraph.dfd.start"};
mxShapeDFDStart.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.min(.5*c,.5*b);a.begin();a.moveTo(b-d,.5*c-d);a.arcTo(d,d,0,0,1,b,.5*c);a.arcTo(d,d,0,0,1,b-d,.5*c+d);a.lineTo(d,.5*c+d);a.arcTo(d,d,0,0,1,0,.5*c);a.arcTo(d,d,0,0,1,d,.5*c-d);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeDFDStart.prototype.cst.START,mxShapeDFDStart);
mxShapeDFDStart.prototype.getConstraints=function(a,d,e){a=[];var b=Math.min(.5*e,.5*d);a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,.5),!1,null,0,-b));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,.5),!1,null,0,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.293*b,.5*e-.707*b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.293*b,.5*e-.707*b));a.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,d-.293*b,.5*e+.707*b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.293*b,.5*e+.707*b));d>=4*e&&(a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1)),a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1)));return a};function mxShapeDFDArchive(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
mxUtils.extend(mxShapeDFDArchive,mxShape);mxShapeDFDArchive.prototype.cst={ARCHIVE:"mxgraph.dfd.archive"};mxShapeDFDArchive.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(0,0);a.lineTo(b,0);a.lineTo(.5*b,c);a.close();a.fillAndStroke();a.setShadow(!1);a.begin();a.moveTo(.1*b,.2*c);a.lineTo(.9*b,.2*c);a.stroke()};mxCellRenderer.registerShape(mxShapeDFDArchive.prototype.cst.ARCHIVE,mxShapeDFDArchive);
@ -2024,7 +2031,7 @@ mxShapeDFDCheck2.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e)
mxShapeDFDCheck2.prototype.getConstraints=function(a,d,e){a=[];var b=Math.min(.5*e,.5*d);a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*b,.25*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.5*b,.25*e));a.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,.5*b,.75*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.5*b,.75*e));d>e&&(a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-b,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,e)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-b,e)));4*b<=d&&(a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(.25,
1),!1)),a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1)));return a};function mxShapeDFDDataStoreID(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeDFDDataStoreID,mxShape);mxShapeDFDDataStoreID.prototype.cst={DATA_STORE_ID:"mxgraph.dfd.dataStoreID"};
mxShapeDFDDataStoreID.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(b,c);a.lineTo(0,c);a.lineTo(0,0);a.lineTo(b,0);a.stroke();a.setShadow(!1);d=Math.min(30,b);a.begin();a.moveTo(d,0);a.lineTo(d,c);a.stroke()};mxCellRenderer.registerShape(mxShapeDFDDataStoreID.prototype.cst.DATA_STORE_ID,mxShapeDFDDataStoreID);mxShapeDFDDataStoreID.prototype.constraints=null;
mxShapeDFDDataStoreID.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(b,c);a.lineTo(0,c);a.lineTo(0,0);a.lineTo(b,0);a.fillAndStroke();a.setShadow(!1);d=Math.min(30,b);a.begin();a.moveTo(d,0);a.lineTo(d,c);a.stroke()};mxCellRenderer.registerShape(mxShapeDFDDataStoreID.prototype.cst.DATA_STORE_ID,mxShapeDFDDataStoreID);mxShapeDFDDataStoreID.prototype.constraints=null;
function mxShapeDFDExternalEntity(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeDFDExternalEntity,mxShape);mxShapeDFDExternalEntity.prototype.cst={EXTERNAL_ENTITY:"mxgraph.dfd.externalEntity"};
mxShapeDFDExternalEntity.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(0,0);a.lineTo(b-10,0);a.lineTo(b,10);a.lineTo(b,c);a.lineTo(10,c);a.lineTo(0,c-10);a.close();a.fillAndStroke();a.setShadow(!1);a.setFillColor("#000000");a.setAlpha(.5);a.begin();a.moveTo(0,0);a.lineTo(b-10,0);a.lineTo(b,10);a.lineTo(10,10);a.lineTo(10,c);a.lineTo(0,c-10);a.close();a.fill();d=parseFloat(mxUtils.getValue(this.style,"opacity","100"));a.setAlpha(d/100);a.begin();a.moveTo(0,0);a.lineTo(b-
10,0);a.lineTo(b,10);a.lineTo(b,c);a.lineTo(10,c);a.lineTo(0,c-10);a.close();a.moveTo(10,c);a.lineTo(10,10);a.lineTo(b,10);a.moveTo(0,0);a.lineTo(10,10);a.stroke()};mxCellRenderer.registerShape(mxShapeDFDExternalEntity.prototype.cst.EXTERNAL_ENTITY,mxShapeDFDExternalEntity);
@ -2378,8 +2385,8 @@ mxShapeInfographicFlag.prototype.getConstraints=function(a,d,e){a=[];var b=Math.
mxShapeKubernetesIcon.prototype.customProperties=[{name:"prIcon",dispName:"",defVal:"api",type:"API",enumList:[{val:"c_c_m",dispName:"C-C-M"},{val:"c_m",dispName:"C-M"},{val:"c_role",dispName:"C-Role"},{val:"cm",dispName:"CM"},{val:"crb",dispName:"CRB"},{val:"crd",dispName:"CRD"},{val:"cronjob",dispName:"Cronjob"},{val:"deploy",dispName:"Deploy"},{val:"ds",dispName:"DS"},{val:"ep",dispName:"EP"},{val:"etcd",dispName:"ETCD"},{val:"group",dispName:"Group"},{val:"hpa",dispName:"HPA"},{val:"ing",dispName:"ING"},
{val:"job",dispName:"Job"},{val:"k_proxy",dispName:"K-Proxy"},{val:"kubelet",dispName:"Kubelet"},{val:"limits",dispName:"Limits"},{val:"master",dispName:"Master"},{val:"netpol",dispName:"Netpol"},{val:"node",dispName:"Node"},{val:"ns",dispName:"NS"},{val:"pod",dispName:"Pod"},{val:"psp",dispName:"PSP"},{val:"pv",dispName:"PV"},{val:"pvc",dispName:"PVC"},{val:"quota",dispName:"Quota"},{val:"rb",dispName:"RB"},{val:"role",dispName:"Role"},{val:"rs",dispName:"RS"},{val:"sa",dispName:"SA"},{val:"sc",
dispName:"SC"},{val:"sched",dispName:"Sched"},{val:"secret",dispName:"Secret"},{val:"sts",dispName:"STS"},{val:"svc",dispName:"SVC"},{val:"user",dispName:"User"},{val:"vol",dispName:"Vol"}]}];
mxShapeKubernetesIcon.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.state.style,"prIcon",""),g=mxUtils.getValue(this.state.style,"fillColor","#ffffff"),h=mxUtils.getValue(this.state.style,"strokeColor","#ffffff");a.translate(d,e);d=mxStencilRegistry.getStencil("mxgraph.kubernetes.frame");a.setFillColor(h);d.drawShape(a,this,0,0,b,c);a.setFillColor(g);d.drawShape(a,this,.03*b,.03*c,.94*b,.94*c);f=mxStencilRegistry.getStencil("mxgraph.kubernetes."+f);a.setFillColor(h);f.drawShape(a,
this,.2*b,.2*c,.6*b,.6*c)};mxCellRenderer.registerShape(mxShapeKubernetesIcon.prototype.cst.ICON,mxShapeKubernetesIcon);mxShapeKubernetesIcon.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));return a};function mxLeanBoatShipment(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxLeanBoatShipment,mxShape);
mxShapeKubernetesIcon.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.state.style,"prIcon",""),g=mxUtils.getValue(this.state.style,"fillColor","#ffffff"),h=mxUtils.getValue(this.state.style,"strokeColor","#ffffff");a.translate(d,e);d=mxStencilRegistry.getStencil("mxgraph.kubernetes.frame");a.setFillColor(h);d.drawShape(a,this,0,0,b,c);a.setFillColor(g);d.drawShape(a,this,.03*b,.03*c,.94*b,.94*c);f=mxStencilRegistry.getStencil("mxgraph.kubernetes."+f);null!=f&&(a.setFillColor(h),
f.drawShape(a,this,.2*b,.2*c,.6*b,.6*c))};mxCellRenderer.registerShape(mxShapeKubernetesIcon.prototype.cst.ICON,mxShapeKubernetesIcon);mxShapeKubernetesIcon.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));return a};function mxLeanBoatShipment(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxLeanBoatShipment,mxShape);
mxLeanBoatShipment.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(.15*b,.77*c);a.lineTo(.5*b,0);a.lineTo(.85*b,.77*c);a.close();a.moveTo(.2*b,c);a.lineTo(0,.8*c);a.lineTo(b,.8*c);a.lineTo(.8*b,c);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("mxgraph.lean_mapping.boat_shipment",mxLeanBoatShipment);
mxLeanBoatShipment.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1),new mxConnectionConstraint(new mxPoint(0,.8),!1),new mxConnectionConstraint(new mxPoint(1,.8),!1),new mxConnectionConstraint(new mxPoint(.2,1),!1),new mxConnectionConstraint(new mxPoint(.8,1),!1),new mxConnectionConstraint(new mxPoint(.26,.5),!1),new mxConnectionConstraint(new mxPoint(.74,.5),!1)];
function mxLeanSafetyStock(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxLeanSafetyStock,mxShape);mxLeanSafetyStock.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)};mxLeanSafetyStock.prototype.background=function(a,d,e){a.rect(0,0,d,e);a.fillAndStroke()};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=‫أنقر مرتين لتغيير الإتجاه‬
doubleClickTooltip=‫انقر مرتين لإضافة نص‬
doubleClickChangeProperty=Doubleclick to change property name
download=‫تحميل‬
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=‫تحميل ك‬
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Кликнете два пъти за промяна на
doubleClickTooltip=Кликнете два пъти за вмъкване на текст
doubleClickChangeProperty=Кликнете два пъти за промяна на името на функцията
download=Изтегляне
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Изтегляне като
clickHereToSave=Кликнете тук за запазване
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Dupli klik za promjenu orijentacije
doubleClickTooltip=Dupli klik za unos teksta
doubleClickChangeProperty=Dupli klik za promjenu naziva fajla
download=Preuzmi
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Preuzmi kao
clickHereToSave=Kliknite ovdje kako biste spasili.
dpi=DPI

View file

@ -42,7 +42,7 @@ arrows=Fletxes
asNew=Com a nou
atlas=Atles
author=Autor
authorizationRequired=Cal autorització
authorizationRequired=Cal autorització
authorizeThisAppIn=Autoritza aquesta aplicació a {1}:
authorize=Autoritza
authorizing=S'està autoritzant
@ -81,12 +81,12 @@ cabinets=Cabinets
cancel=Cancel·la
center=Centra
cannotLoad=S'ha produït un error la càrrega. Torneu-ho a provar més tard.
cannotLogin=S'ha produït un error en l l'inici de sessió. Torneu-ho a provar més tard.
cannotLogin=S'ha produït un error en l'inici de sessió. Torneu-ho a provar més tard.
cannotOpenFile=No s'ha pogut obrir el fitxer
change=Canvia
changeOrientation=Canvia l'orientació
changeUser=Canvia d'usuari
changeStorage=Change storage
changeStorage=Canvia l'emmagatzematge
changesNotSaved=No s'han desat els canvis
userJoined={1} s'ha afegit
userLeft={1} ha sortit
@ -96,8 +96,8 @@ chromeApp=Aplicació Chrome
collaborativeEditingNotice=Avís important per a l'edició col·laborativa
compressed=Comprimit
commitMessage=Missatge de la comissió
configLinkWarn=L'enllaç configura el draw.io. Feu clic a "Accepta" només si confieu en la persona que us l'ha enviat.
configLinkConfirm=Feu clic a "Accepta" per configurar i reiniciar el draw.io
configLinkWarn=L'enllaç configura el draw.io. Feu clic a "D'acord" només si confieu en la persona que us l'ha enviat.
configLinkConfirm=Feu clic a "D'acord" per configurar i reiniciar el draw.io.
csv=CSV
dark=Fosc
didYouMeanToExportToPdf=Voleu exportar-ho a PDF?
@ -119,7 +119,7 @@ collaborators=Col·laboradors
collapse=Minimitza
collapseExpand=Minimitza/Maximitza
collapse-expand=Feu clic per reduir/xtendre\nPremeu Shift i feu clic per moure els veïns\nPremeu Alt i feu clic per protegir la mida del grup
collapsible=Minimitzable
collapsible=Plegable
comic=Còmic
comment=Comentari
commentsNotes=Comentaris/Notes
@ -149,7 +149,7 @@ curved=Corbada
custom=Personalitza
current=Actual
currentPage=Pàgina actual
cut=Talla
cut=Retalla
dashed=Discontinu
decideLater=Decideix més tard
default=Predeterminat
@ -173,12 +173,12 @@ diamond=Diamant
diamondThin=Diamant (fi)
didYouKnow=Sabies que...
direction=Direcció
discard=Descartar
discardChangesAndReconnect=Descartar canvis i tornar a connectar
discard=Descarta
discardChangesAndReconnect=Descarta els canvis i torna a connectar
googleDriveMissingClickHere=No trobes Google Drive? Clica aquí!
discardChanges=Descartar els canvis
disconnected=Desconnectat
distribute=Distribuir
distribute=Distribueix
done=Finalitzat
dotted=Puntejat
doubleClickOrientation=Fes doble clic per canviar l'orientació
@ -200,7 +200,7 @@ drawingEmpty=El dibuix està buit
drawingTooLarge=El dibuix és massa gran
drawioForWork=Draw.io per a GSuite
dropbox=Dropbox
duplicate=Duplicar
duplicate=Duplica
duplicateIt=Duplica {1}
divider=Separador
dx=Dx
@ -240,22 +240,22 @@ errorRenamingFileNotFound=Error en canviar el nom del fitxer. No s'ha trobat el
errorRenamingFileForbidden=Error en canviar el nom del fitxer. No disposa dels drets d'accés suficients.
errorSavingDraft=Error en desar l'esborrany
errorSavingFile=Error en desar el fitxer
errorSavingFileUnknown=Error en autoritzar els servidors de Google. Si us plau, actualitza la pàgina per reintentar-ho.
errorSavingFileUnknown=Error en autoritzar els servidors de Google. Actualitzeu la pàgina per reintentar-ho.
errorSavingFileForbidden=Error en desar el fitxer. No disposeu dels drets d'accés suficients.
errorSavingFileNameConflict=No s'ha pogut desar el diagrama. La pàgina actual conté un fitxer anomenat '{1}'.
errorSavingFileNotFound=Error en desar. No s'ha trobat el fitxer.
errorSavingFileReadOnlyMode=No s'ha pogut desar el diagrama mentre el mode de només lectura és actiu
errorSavingFileReadOnlyMode=No s'ha pogut desar el diagrama mentre el mode de només lectura és actiu.
errorSavingFileSessionTimeout=La teva sessió ha acabat. Si us plau, <a target='_blank' href='{1}'>{2}</a> i retorna a aquesta pestanya per intentar desar-ho de nou.
errorSendingFeedback=Error en enviar l'opinió.
errorUpdatingPreview=Error pujant la vista prèvia.
errorUpdatingPreview=S'ha produït un error en actualitzar la vista prèvia.
exit=Surt
exitGroup=Surt del grup
expand=Amplia
export=Exporta
exporting=S'està exportant
exportAs=Exporta com a
exportAs=Exporta com a
exportOptionsDisabled=Opcions d'exportació inactives
exportOptionsDisabledDetails=El propietari ha desactivat les opcions per a descarregar, imprimir o copiar aquest fitxer per els que només tenen permís per visualitzar i comentar.
exportOptionsDisabledDetails=El propietari ha desactivat les opcions per a descarregar, imprimir o copiar aquest fitxer pels que només tenen permís per visualitzar i comentar.
externalChanges=Canvis externs
extras=Extres
facebook=Facebook
@ -273,11 +273,11 @@ synchronize=Sincronitza
filename=Nom del fitxer
fileExists=Aquest fitxer ja existeix
fileMovedToTrash=S'ha tirat el fitxer a la paperera
fileNearlyFullSeeFaq=El fitxer està quasi ple, si us plau llegeix les PMF
fileNearlyFullSeeFaq=El fitxer està quasi ple, vegeu les PMF
fileNotFound=No s'ha trobat el fitxer
repositoryNotFound=No s'ha trobat el repositori
fileNotFoundOrDenied=No s'ha trobat el fitxer. No existeix o no teniu permís.
fileNotLoaded=No s'ha carregat el fitxer
fileNotLoaded=No s'ha carregat el fitxer
fileNotSaved=No s'ha desat el fitxer
fileOpenLocation=Com desitja obrir aquest(s) fitxer(s)?
filetypeHtml=.html fa que el fitxer es desi en HTML amb una redirecció a un URL al núvol
@ -293,7 +293,7 @@ fitContainer=Redimensiona el contenidor
fitIntoContainer=Ajusta'l al contenidor
fitPage=Ajusta la pàgina
fitPageWidth=Ajusta l'amplada de pàgina
fitTo=Ajusta a
fitTo=Ajusta a
fitToSheetsAcross=pàgines a través
fitToBy=per
fitToSheetsDown=pàgines cap a baix
@ -325,7 +325,7 @@ formatVsdx=VSDX
formatVssx=VSSX
formatXmlPlain=XML (Simple)
formatXml=XML
forum=Fòrums de discussió i ajuda
forum=Fòrums de debat i ajuda
freehand=Freehand
fromTemplate=Des de la plantilla
fromTemplateUrl=Des de l'URL de la plantilla
@ -348,7 +348,7 @@ googleSharingNotAvailable=Només està disponible compartir amb Google Drive. Fe
googleSlides=Presentacions de Google
googleSites=Google Sites
googleSheets=Fulls de càlcul de Google
gradient=Gradient
gradient=Degradat
gradientColor=Color
grid=Quadrícula
gridColor=Color de la quadrícula
@ -377,7 +377,7 @@ image=Imatge
imageUrl=URL de la imatge
images=Imatges
imagePreviewError=No s'ha pogut carregar la imatge per a la vista prèvia. Comprova l'URL.
imageTooBig=La imatge és massa gran.
imageTooBig=La imatge és massa grossa
imgur=Imgur
import=Importa
importFrom=Importa des de
@ -399,7 +399,7 @@ insertRowAfter=Afegeix una fila avall
insertText=Afegeix text
inserting=Afegint
invalidFilename=Els noms dels diagrames no poden contenir els següents caràcters: \ / | : ; { < & + ? = "
invalidLicenseSeeThisPage=La teva llicència no és vàlida, si us plau mira això <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>.
invalidLicenseSeeThisPage=La llicència no és vàlida, consulteu aquesta <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">pàgina</a>.
invalidInput=L'entrada no és vàlida
invalidName=El nom no és vàlid
invalidOrMissingFile=Fitxer no vàlid o desconegut
@ -412,7 +412,7 @@ keyboardShortcuts=Dreceres de teclat
layers=Capes
landscape=Horitzontal
language=Idioma
leanMapping=Mapeig pobre
leanMapping=Mapatge pobre
lastChange=El darrer canvi s'ha efectuat fa {1}
lessThanAMinute=menys d'un minut
licensingError=Error de llicència
@ -488,10 +488,10 @@ noLibraries=No s'han trobat biblioteques
noMoreResults=No hi ha més resultats
none=Cap
noOtherViewers=No hi ha cap usuari més
noPlugins=No hi cap plugin
noPlugins=No hi ha cap connector
noPreview=No hi ha vista prèvia
noResponse=El servidor no respon
noResultsFor=No hi ha cap resultat per a {1}
noResultsFor=No s'ha trobat cap resultat per {1}
noRevisions=Sense revisions
noSearchResults=La cerca no té resultats
noPageContentOrNotSaved=No s'han trobat enllaços a la pàgina o encara no s'ha desat
@ -506,7 +506,7 @@ note=Nota
notUsingService=No utilitzes {1}?
numberedList=Llista numerada
offline=Desconnectat
ok=Accepta
ok=D'acord
oneDrive=OneDrive
online=Connectat
opacity=Opacitat
@ -519,14 +519,14 @@ openLibrary=Obre biblioteca
openLibraryFrom=Obre la biblioteca des de
openLink=Obre enllaç
openInNewWindow=Obre en una finestra nova
openInThisWindow=Obre en la finestra actual
openInThisWindow=Obre en la finestra actual
openIt=Obre {1}
openRecent=Obre recent
openSupported=Els formats suportats inclouen els fitxers desats des del programari actual (.xml), .vsdx i .gliffy
options=Opcions
organic=Orgànic
orthogonal=Ortogonal
otherViewer=altre usuari
otherViewer=un altre usuari
otherViewers=altres usuaris
outline=Contorn
oval=Oval
@ -554,17 +554,17 @@ pickLibraryDialogTitle=Selecciona biblioteca
publicDiagramUrl=URL públic del diagrama
placeholders=Espais reservats
plantUml=PlantUML
plugins=Plugins
pluginUrl=URL del plugin
pluginWarning=La pàgina actual sol·licita carregar el(s) següent(s) plugin(s):\n \n {1}\n \n Vols carregar aquest(s) plugin(s) ara?\n \n NOTA : Només permet l'execució dels plugins si entens completament les implicacions de seguretat de fer-ho.\n
plusTooltip=Fes clic per connectar i clonar (Ctrl+clic per clonar, Máyus+clic per connectar). Arrossega per connectar (Ctrl+arrossega per clonar).
plugins=Connectors
pluginUrl=URL del connector
pluginWarning=La pàgina sol·licita carregar els següents connectors:\n \n {1}\n \n Voleu carregar aquests connectors?\n \n Atenció: Només permeteu l'execució dels connectors si coneixeu les implicacions de seguretat.\n
plusTooltip=Feu clic per connectar i clonar (Ctrl+clic per clonar, Maj.+clic per connectar). Arrossegueu per connectar (Ctrl+arrossegar per clonar).
portrait=Orientació vertical
position=Posició
posterPrint=Imprimeix cartell
preferences=Preferències
preview=Vista prèvia
previousPage=Pàgina anterior
print=Imprimeix
print=Imprimeix
printAllPages=Imprimeix totes les pàgines
procEng=Enginyeria de processos
project=Projecta
@ -603,7 +603,7 @@ required=requerit
reset=Restableix
resetView=Restableix la vista
resize=Ajusta la mida
resizeLargeImages=Voleu canviar la mida de les imatges grans per fer que l'aplicació funcioni més ràpid?
resizeLargeImages=Voleu canviar la mida de les imatges grans per fer que l'aplicació funcioni més ràpidament?
retina=Retina
responsive=Receptiu
restore=Recupera
@ -619,12 +619,12 @@ right=Dreta
rightAlign=Alinea a la dreta
rightToLeft=De dreta a esquerra
rotate=Gira
rotateTooltip=Fes clic i arrossega per rotar, fes clic per girar 90 graus
rotateTooltip=Feu clic i arrossegueu per girar, feu clic per girar 90 graus
rotation=Rotació
rounded=Arrodonit
save=Desa
saveAndExit=Desa i surt
saveAs=Desa com
saveAs=Anomena i desa
saveAsXmlFile=Desar com a fitxer XML?
saved=S'ha desat
saveDiagramFirst=Deseu primer el diagrama
@ -645,28 +645,28 @@ selectFolder=Selecciona una carpeta
selectFont=Selecciona una font
selectNone=No seleccionis res
selectTemplate=Selecciona una plantilla
selectVertices=Selecciona els vèrtexs
selectVertices=Selecciona els vèrtexs
sendMessage=Envia
sendYourFeedbackToDrawIo=Envia la teva opinió a draw.io
serviceUnavailableOrBlocked=Servei no disponible o bloquejat
sessionExpired=La teva sessió ha caducat. Si us plau, refresca la finestra del teu navegador.
sessionTimeoutOnSave=La sessió ha caducat i s'ha desconnectat de Google Drive. Prem Accepta per accedir-hi i desar.
sendYourFeedbackToDrawIo=Envieu els vostres comentaris a draw.io
serviceUnavailableOrBlocked=El servei no està disponible o està bloquejat
sessionExpired=La sessió ha caducat. Refresqueu la finestra del navegador.
sessionTimeoutOnSave=La sessió ha caducat i us heu desconnectat de Google Drive. Premeu "D'acord" per accedir-hi i desar.
setAsDefaultStyle=Estableix com estil predeterminat
shadow=Ombra
shape=Forma
shapes=Formes
share=Comparteix
shareLink=Enllaç per a l'edició compartida.
shareLink=Enllaç per a l'edició compartida
sharp=Angulós
show=Mostra
showStartScreen=Mostra la pantalla d'inici
sidebarTooltip=Clica per expandir. Arrossega i amolla formes al diagrama. Máyus+clic per canviar la selecció. Alt+clic per inserir i connectar.
sidebarTooltip=Feu clic per expandir. Arrossegueu i deixeu anar formes al diagrama. Feu Maj.+clic per canviar la selecció. Alt+clic per inserir i connectar.
signs=Signes
signOut=Tanca la sessió
simple=Simple
simpleArrow=Fletxa simple
simpleViewer=Simple Viewer
size=Mida
simpleViewer=Visualitzador simple
size=Mida
solid=Continu
sourceSpacing=Espaiat original
south=Sud
@ -729,9 +729,9 @@ untitledLayer=Capa sense títol
untitledLibrary=Biblioteca sense títol
unknownError=Error desconegut
updateFile=Actualitza {1}
updatingDocument=Actualitzant el document. Si us plau, espera...
updatingPreview=Actualitzant la vista prèvia. Si us plau, espera...
updatingSelection=Actualitzant la selecció. Si us plau, espera...
updatingDocument=S'està actualitzant el document. Espereu...
updatingPreview=S'està actualitzant la vista prèvia. Espereu...
updatingSelection=S'està actualitzant la selecció. Espereu...
upload=Carrega
url=URL
useOffline=Feu-ho servir fora de línia
@ -752,7 +752,7 @@ wiki=Wiki
wordWrap=Ajust de línia
writingDirection=Direcció de l'escriptura
yes=Sí
yourEmailAddress=La vostra adreça de correu
yourEmailAddress=L'adreça de correu electrònic
zoom=Amplia
zoomIn=Apropa
zoomOut=Allunya
@ -782,7 +782,7 @@ recentlyUsed=Usats recentment
listView=Visualització de llista
gridView=Visualització en graella
resultsFor=Resultats per '{1}'
oneDriveCharsNotAllowed=Els següents caràcters no estan permesos: ~ " # % * : < > ? / \ { | }
oneDriveCharsNotAllowed=Els caràcters següents no estan permesos: ~ " # % * : < > ? / \ { | }
oneDriveInvalidDeviceName=El nom de dispositiu especificat no és vàlid
officeNotLoggedOD=No heu entrat a OneDrive. Obriu el quadre de tasques draw.io i inicieu la sessió primer.
officeSelectSingleDiag=Seleccioneu un únic diagrama draw.io, sense altres continguts.
@ -804,7 +804,7 @@ errorAuthOD=S'ha produït un error en autenticar-se a OneDrive
officeMainHeader=Afegeix esquemes draw.io al document.
officeStepsHeader=Aquest complement realitza els passos següents:
officeStep1=Es connecta a Microsoft OneDrive, Google Drive o al vostre dispositiu.
officeStep2=Seleccioneu un diagrama de draw.io.
officeStep2=Seleccioneu un diagrama de draw.io:
officeStep3=Insereix el diagrama al document.
officeAuthPopupInfo=Completeu l'autenticació a la finestra emergent.
officeSelDiag=Seleccioneu un diagrama de draw.io
@ -871,7 +871,7 @@ confError=Error: {1}
gliffyImport=Importa de Gliffy
gliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.
gliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed.
startImport=Inicia l'importació
startImport=Inicia la importació
drawConfig=Configuració del draw.io
customLib=Biblioteques personalitzades
customTemp=Plantilles personalitzades
@ -927,7 +927,7 @@ confASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!
confADiagUptoDate=Diagram "{1}" is up to date.
confACheckPagesWDraw=Checking pages having draw.io diagrams.
confAErrOccured=S'ha produït un error.
savedSucc=S'ha desat correctament.
savedSucc=S'ha desat correctament
confASaveFailedErr=S'ha produït un error en desar (error inesperat)
character=Character
confAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Dvojitým klepnutím změníte orientaci
doubleClickTooltip=Dvojitým klepnutím vložíte text
doubleClickChangeProperty=Dvojitým klepnutím změníte jméno vlastnosti
download=Stáhnout
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Stáhnout jako
clickHereToSave=Uložíte klepnutím zde.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Dobbeltklik for at ændre orientering
doubleClickTooltip=Dobbeltklik for at indsætte tekst
doubleClickChangeProperty=Dobbeltklik for at ændre navn
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download som
clickHereToSave=Klik her for at gemme
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doppelklicken um Orientierung zu ändern
doubleClickTooltip=Doppelklicken um Text einzufügen
doubleClickChangeProperty=Doppelklicken um Eigenschaftsname zu ändern
download=Herunterladen
downloadDesktop=draw.io Desktop herunterladen
downloadDesktop=Hol Dir draw.io Desktop
downloadAs=Herunterladen als
clickHereToSave=Hier klicken um zu speichern.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Κάντε διπλό κλικ για αλλαγή προ
doubleClickTooltip=Κάντε διπλό κλικ για εισαγωγή κειμένου
doubleClickChangeProperty=Κάντε διπλό κλικ για να αλλάξετε το εύρος μνήμης
download=Λήψη
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Λήψη ως
clickHereToSave=Πατήστε εδώ για αποθήκευση
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Elŝuti
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Elŝuti kiel
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Haga doble clic para cambiar la orientación
doubleClickTooltip=Haga doble clic para insertar texto
doubleClickChangeProperty=Haga doble clic para cambiar el nombre de la propiedad
download=Descargar
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Descargar como
clickHereToSave=Haga clic aquí para guardar.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=‫برای تغییر موقعیت دوبار کلیک
doubleClickTooltip=‫برای وارد کردن متن دوبار کلیک کنید‬
doubleClickChangeProperty=‫برای تغییر نام property دوبار کلیک کنید‬
download=‫دانلود‬
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=‫دانلود به‌صورت‬
clickHereToSave=‫برای ذخیره اینجا کلیک نمایید.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Muuta suuntaa kaksoisnapsauttamalla
doubleClickTooltip=Syötä tekstiä kaksoisnapsauttamalla
doubleClickChangeProperty=Kaksoisnapauta muuttaaksesi nimeä
download=Lataa
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Lataa nimellä
clickHereToSave=Klikkaa tästä tallentaaksesi.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Pindutin ng dalawang beses para mabago ang oryentasyon
doubleClickTooltip=Pindutin ng dalawang beses para maglagay ng teksto
doubleClickChangeProperty=Pindutin ng dalawang beses para mabago ang ngalan ng katangian
download=I-download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=I-download bilang
clickHereToSave=Pindutin dito para i-save
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Double-cliquer pour modifier lorientation
doubleClickTooltip=Double-cliquer pour insérer du texte
doubleClickChangeProperty=Double-cliquer pour changer le nom de la propriété
download=Télécharger
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Télécharger en tant que
clickHereToSave=Cliquer ici pour sauvegarder
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=‫לחץ לחיצה כפולה לשינוי אוריינ
doubleClickTooltip=‫לחץ לחיצה כפולה כדי לשלב טקסט‬
doubleClickChangeProperty=‫לחץ לחיצה כפולה כדי לשנות את שם המאפיין‬
download=‫הורד‬
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=‫הורד בתור‬
clickHereToSave=‫לחץ כאן כדי לשמור‬
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Dupla klikk az irányultság változtatásához
doubleClickTooltip=Dupla klikk szöveg hozzáadásához
doubleClickChangeProperty=Dupla klikk a tulajdonság nevének változtatásához
download=Letölt
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Letölt mint
clickHereToSave=Kattints ide mentéshez
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Klik dua kali untuk mengubah orientasi
doubleClickTooltip=Klik dua kali untuk menyisipkan teks
doubleClickChangeProperty=Klik dua kali untuk mengubah nama properti
download=Unduh
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Unduh sebagai
clickHereToSave=Klik di sini untuk menyimpan.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doppio click per cambiare orientamento
doubleClickTooltip=Doppio click per inserire il testo
doubleClickChangeProperty=Doppio click per cambiare il nome della proprietà
download=Scarica
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Scarica come
clickHereToSave=Clicca qui per salvare.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=ダブルクリックして向きを変更する
doubleClickTooltip=ダブルクリックして文字を挿入する
doubleClickChangeProperty=ダブルクリックでプロパティ名を変更してください
download=ダウンロードする
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=という形式でダウンロードする
clickHereToSave=ここをクリックして保存してください
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=더블 클릭하여 방향 변경
doubleClickTooltip=더블 클릭하여 텍스트 삽입
doubleClickChangeProperty=더블 클릭하여 속성명 변경
download=다운로드
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=다른 파일 형식으로 다운로드
clickHereToSave=저장하시려면 여기를 클릭해 주시기 바랍니다.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Klik dua kali untuk mengubah orientasi
doubleClickTooltip=Klik dua kali untuk memasukkan teks
doubleClickChangeProperty=Klik dua kali untuk mengubah nama sifat
download=Muat turun
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Muat turun sebagai
clickHereToSave=Klik di sini untuk menyimpan.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Dobbeltklikk for å endre retning
doubleClickTooltip=Dobbeltklikk for å legge til tekst
doubleClickChangeProperty=Dobbeltklikk for å endre objektnavn
download=Last ned
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Last ned som
clickHereToSave=Klikk her for å lagre.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Kliknij dwukrotnie, aby zmienić położenie
doubleClickTooltip=Kliknij dwukrotnie, aby wstawić tekst
doubleClickChangeProperty=Kliknij dwukrotnie, aby zmienić nazwę atrybutu
download=Pobierz
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Pobierz jako
clickHereToSave=Kliknij tutaj, aby zapisać
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Clique duas vezes para mudar de orientação 
doubleClickTooltip=Clique duas vezes para inserir texto
doubleClickChangeProperty=Clique duas vezes para alterar o nome da propriedade
download=Baixar
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Baixar como
clickHereToSave=Clique aqui para salvar.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Carregar duas vezes para mudar de orientação 
doubleClickTooltip=Carregar duas vezes para inserir texto
doubleClickChangeProperty=Carregar duas vezes para alterar o nome da propriedade
download=Descarregar
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Descarregar como
clickHereToSave=Carregar aqui para salvar.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Dublu-click pentru a modifica orientarea
doubleClickTooltip=Dublu-click pentru a insera textul
doubleClickChangeProperty=Dublu-click pentru a redenumi proprietatea
download=Descarcă
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Descarcă ca şi
clickHereToSave=Apasă aici pentru a salva.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Dupli klik za promenu orijentacije
doubleClickTooltip=Dupli klik za unos teksta
doubleClickChangeProperty=Dupli klik za promenu imena
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Sačuvaj kao
clickHereToSave=Klikni ovde za snimanje
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Dubbelklicka för att ändra riktning
doubleClickTooltip=Dubbelklicka för att infoga text
doubleClickChangeProperty=Dubbelklicka för att ändra egenskapsnamn
download=Ladda ner
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Ladda ner som
clickHereToSave=Klicka här för att spara.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation
doubleClickTooltip=Doubleclick to insert text
doubleClickChangeProperty=Doubleclick to change property name
download=Download
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Download as
clickHereToSave=Click here to save.
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=ดับเบิ้ลคลิ๊กเพื่อเ
doubleClickTooltip=ดับเบิ้ลคลิ๊กกล่องข้อความช่วยเหลือ
doubleClickChangeProperty=ดับเบิ้ลคลิกเพื่อเปลี่ยนชื่อคุณสมบัติ
download=ดาวน์โหลด
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=ดาวน์โหลดเป็น
clickHereToSave=คลิกที่นี่เพื่อบันทึก
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Yönlendirmeyi değiştirmek için çift tıklayın
doubleClickTooltip=Metin girmek için çift tıklayın
doubleClickChangeProperty=Özellik ismini değiştirmek için çift tıklayınız
download=İndir
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Farklı indir
clickHereToSave=Kaydetmek için burayı tıklayınız
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=Nhấp đôi chuột để đổi hướng
doubleClickTooltip=Nhấp đôi chuột để chèn văn bản
doubleClickChangeProperty=Nhấp đôi chuột để đổi tên thuộc tính
download=Tải xuống
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=Tải xuống dưới dạng
clickHereToSave=Nhấn vào đây để lưu
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=雙擊改變方向
doubleClickTooltip=雙撃插入文字
doubleClickChangeProperty=雙撃更改屬性名
download=下載
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=下載為
clickHereToSave=點擊此處存檔。
dpi=DPI

View file

@ -185,7 +185,7 @@ doubleClickOrientation=双击以改变方向
doubleClickTooltip=双击以插入文字
doubleClickChangeProperty=双击以更改属性名
download=下载
downloadDesktop=Download draw.io Desktop
downloadDesktop=Get draw.io Desktop
downloadAs=下载为
clickHereToSave=点击此处保存。
dpi=DPI

View file

@ -29,7 +29,9 @@ mxUtils.extend(mxShapeArrows2Arrow, mxActor);
mxShapeArrows2Arrow.prototype.customProperties = [
{name: 'dx', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 40},
{name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, max:1, defVal: 0.6},
{name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal: 0}
{name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal: 0},
{name: 'headCrossline', dispName: 'Head Crossline', type: 'bool', defVal: false},
{name: 'tailCrossline', dispName: 'Tail Crossline', type: 'bool', defVal: false}
];
mxShapeArrows2Arrow.prototype.cst = {
@ -48,6 +50,8 @@ mxShapeArrows2Arrow.prototype.paintVertexShape = function(c, x, y, w, h)
var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy))));
var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx))));
var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch))));
var headCrossline = mxUtils.getValue(this.style, 'headCrossline', false);
var tailCrossline = mxUtils.getValue(this.style, 'tailCrossline', false);
c.begin();
c.moveTo(0, dy);
@ -60,6 +64,24 @@ mxShapeArrows2Arrow.prototype.paintVertexShape = function(c, x, y, w, h)
c.lineTo(notch, h * 0.5);
c.close();
c.fillAndStroke();
c.setShadow(false);
if (headCrossline)
{
c.begin();
c.moveTo(w - dx, dy);
c.lineTo(w - dx, h - dy);
c.stroke();
}
if (tailCrossline)
{
c.begin();
c.moveTo(notch, dy);
c.lineTo(notch, h - dy);
c.stroke();
}
};
mxShapeArrows2Arrow.prototype.getLabelBounds = function(rect)

View file

@ -0,0 +1,145 @@
/**
* $Id: mxCisco19.js,v 1.0 2019/12/10 13:05:39 mate Exp $
* Copyright (c) 2006-2019, JGraph Ltd
*/
//**********************************************************************************************************************************************************
//rect
//**********************************************************************************************************************************************************
/**
* Extends mxShape.
*/
function mxShapeCisco19Rect(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(mxShapeCisco19Rect, mxShape);
mxShapeCisco19Rect.prototype.cst = {
SHAPE_RECT : 'mxgraph.cisco19.rect'
};
/**
* Function: paintVertexShape
*
* Paints the vertex shape.
*/
mxShapeCisco19Rect.prototype.paintVertexShape = function(c, x, y, w, h)
{
var prIcon = mxUtils.getValue(this.state.style, 'prIcon', 'l2_switch');
var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#ffffff');
var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
var bgIcon = 'mxgraph.cisco19.bg1';
var circleBg = ['router', 'csr_1000v', 'wireless_router', 'l3_modular3', 'ucs_express', 'router_with_voice', 'router_with_firewall', 'netflow_router', 'secure_router', 'ip_telephone_router', 'asr_9000', 'clock', 'vbond', 'vmanage', 'vsmart'];
c.translate(x, y);
if (['l2_modular', 'l3_modular', '6500_vss', 'nexus_9500', 'nexus_7k'].includes(prIcon)) // square with 1 hor rect on top
{
bgIcon = 'mxgraph.cisco19.bg2';
}
else if (['l2_switch_with_dual_supervisor', 'l3_switch_with_dual_supervisor'].includes(prIcon)) //square with 2 hor rects on top
{
bgIcon = 'mxgraph.cisco19.bg3';
}
else if (['l2_modular2'].includes(prIcon)) // vert 2 rects
{
bgIcon = 'mxgraph.cisco19.bg4';
}
else if (['l3_modular2', '6500_vss2', 'hypervisor', 'collab1'].includes(prIcon)) // vert rect
{
bgIcon = 'mxgraph.cisco19.bg5';
}
else if (circleBg.includes(prIcon)) // circle
{
c.begin();
if (prIcon == 'wireless_router')
{
c.ellipse(0, h * 0.17, w, h * 0.83);
}
else
{
c.ellipse(0, 0, w, h);
}
c.fill();
}
else if (['content_router', 'router_with_firewall2', 'netflow_router2', 'nam_virtual_service_blade', 'ucs_5108_blade_chassis', 'storage', 'nexus_1kv_vsm', 'nexus_1k', 'nexus_1010', 'dual mode access point', 'wireless_lan_controller', 'primary_codec', 'virtual_desktop_service', 'video_gateway', 'video_analytics', 'telepresence_exchange', 'meeting_scheduling_and_management_server', 'content_recording_streaming_server', 'communications_manager', 'cisco_unified_presence_service', 'cisco_unified_contact_center_enterprise_and_hosted', 'h323', 'monitor', 'telepresence_endpoint_twin_data_display', 'operations_manager', 'transcoder', 'contact_center_express', 'ip_ip_gateway', 'shield', 'set_top', 'da_encoder', 'ad_encoder', 'da_decoder', 'ad_decoder', 'acs', 'email_security', 'vpn_concentrator', 'ssl_terminator', 'cisco_security_manager', 'web_security', 'nac_appliance', 'ironport', 'ips_ids', 'firewall', 'asa_5500', 'flow_collector', 'load_balancer', 'web_application_firewall', 'analysis_correlation', 'flow_analytics', 'virtual_private_network2', 'web_security_services', 'web_security_services2', 'virtual_private_network_connector'].includes(prIcon)) //hor. rect
{
bgIcon = 'mxgraph.cisco19.bg6';
}
else if (['asr_1000'].includes(prIcon)) //hexagon
{
bgIcon = 'mxgraph.cisco19.bg7';
}
else if (['fibre_channel_director_mds_9000', 'fibre_channel_fabric_switch'].includes(prIcon)) // square with 1 hor rect at the bottom
{
bgIcon = 'mxgraph.cisco19.bg8';
}
else if (['ucs_c_series_server'].includes(prIcon)) // narrow hor rect
{
bgIcon = 'mxgraph.cisco19.bg9';
}
else if (['aci'].includes(prIcon)) // background specific for ACI
{
var frame = mxStencilRegistry.getStencil('mxgraph.cisco19.acibg');
frame.drawShape(c, this, w * 0.195, h * 0.195, w * 0.61, h * 0.61);
}
else if (['immersive_telepresence_endpoint'].includes(prIcon)) // extra wide rect
{
bgIcon = 'mxgraph.cisco19.bg10';
}
if (!circleBg.includes(prIcon) && prIcon != 'aci')
{
var frame = mxStencilRegistry.getStencil(bgIcon);
frame.drawShape(c, this, 0, 0, w, h);
}
c.setShadow(false);
var prStencil = mxStencilRegistry.getStencil('mxgraph.cisco19.' + prIcon);
c.setFillColor(strokeColor);
if (prStencil != null)
{
prStencil.drawShape(c, this, 0, 0, w, h);
}
};
mxCellRenderer.registerShape(mxShapeCisco19Rect.prototype.cst.SHAPE_RECT, mxShapeCisco19Rect);
mxShapeCisco19Rect.prototype.getConstraints = function(style, w, h)
{
var constr = [];
constr.push(new mxConnectionConstraint(new mxPoint(0.825, 0.5), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.175, 0.5), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.16), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.84), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.66, 0.17), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.66, 0.83), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.34, 0.17), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.34, 0.83), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0.33), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0.67), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0.33), false));
constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0.67), false));
return (constr);
};

View file

@ -264,7 +264,7 @@ mxShapeDFDDataStoreID.prototype.paintVertexShape = function(c, x, y, w, h)
c.lineTo(0, h);
c.lineTo(0, 0);
c.lineTo(w, 0);
c.stroke();
c.fillAndStroke();
c.setShadow(false);

View file

@ -92,10 +92,12 @@ mxShapeKubernetesIcon.prototype.paintVertexShape = function(c, x, y, w, h)
frame.drawShape(c, this, w * 0.03, h * 0.03, w * 0.94, h * 0.94);
var prStencil = mxStencilRegistry.getStencil('mxgraph.kubernetes.' + prIcon);
c.setFillColor(strokeColor);
prStencil.drawShape(c, this, w * 0.2, h * 0.2, w * 0.6, h * 0.6);
if (prStencil != null)
{
c.setFillColor(strokeColor);
prStencil.drawShape(c, this, w * 0.2, h * 0.2, w * 0.6, h * 0.6);
}
};
mxCellRenderer.registerShape(mxShapeKubernetesIcon.prototype.cst.ICON, mxShapeKubernetesIcon);

File diff suppressed because it is too large Load diff