8.6.0 release

This commit is contained in:
Gaudenz Alder 2018-05-06 16:21:46 +02:00
parent 5a196db1ee
commit ea23fcc3ec
86 changed files with 6105 additions and 4014 deletions

View file

@ -1,3 +1,10 @@
06-MAY-2018: 8.6.0
- Fixes outline connect for BPMN shapes
- Adds opacity to default style
- Uses mxGraph 3.9.4 beta 5
- Adds minimal UI
01-MAY-2018: 8.5.15 01-MAY-2018: 8.5.15
- Fixes showing device when no other storage options available - Fixes showing device when no other storage options available

View file

@ -1 +1 @@
8.5.15 8.6.0

View file

@ -186,6 +186,7 @@
<file name="EditorUi.js" /> <file name="EditorUi.js" />
<file name="Pages.js" /> <file name="Pages.js" />
<file name="Trees.js" /> <file name="Trees.js" />
<file name="Minimal.js" />
</sources> </sources>
<sources dir="${basedir}"> <sources dir="${basedir}">
@ -258,6 +259,7 @@
<file name="Menus.js" /> <file name="Menus.js" />
<file name="Pages.js" /> <file name="Pages.js" />
<file name="Trees.js" /> <file name="Trees.js" />
<file name="Minimal.js" />
</sources> </sources>
<sources dir="${basedir}"> <sources dir="${basedir}">
@ -270,7 +272,7 @@
<filelist dir="${war.dir}/js/sanitizer" files="sanitizer.min.js"/> <filelist dir="${war.dir}/js/sanitizer" files="sanitizer.min.js"/>
<filelist dir="${war.dir}/js/deflate" files="pako.min.js"/> <filelist dir="${war.dir}/js/deflate" files="pako.min.js"/>
<filelist dir="${basedir}" files="client.min.js,grapheditor.min.js,sidebar.min.js,.tmp1.js"/> <filelist dir="${basedir}" files="client.min.js,grapheditor.min.js,sidebar.min.js,.tmp1.js"/>
</concat> </concat>
<loadfile property="version" srcFile="../../VERSION"/> <loadfile property="version" srcFile="../../VERSION"/>
<replace file="${basedir}/base.min.js" token="@DRAWIO-VERSION@" value="${version}"/> <replace file="${basedir}/base.min.js" token="@DRAWIO-VERSION@" value="${version}"/>
@ -343,6 +345,7 @@
<file name="Menus.js" /> <file name="Menus.js" />
<file name="Pages.js" /> <file name="Pages.js" />
<file name="Trees.js" /> <file name="Trees.js" />
<file name="Minimal.js" />
</sources> </sources>
</jscomp> </jscomp>

View file

@ -165,7 +165,7 @@ g);this.fireEvent(new mxEventObject(mxEvent.MOVE_END,"event",a));mxEvent.consume
mxWindow.prototype.installCloseHandler=function(){this.closeImg=document.createElement("img");this.closeImg.setAttribute("src",this.closeImage);this.closeImg.setAttribute("title","Close");this.closeImg.style.marginLeft="2px";this.closeImg.style.cursor="pointer";this.closeImg.style.display="none";this.buttons.appendChild(this.closeImg);mxEvent.addGestureListeners(this.closeImg,mxUtils.bind(this,function(a){this.fireEvent(new mxEventObject(mxEvent.CLOSE,"event",a));this.destroyOnClose?this.destroy(): mxWindow.prototype.installCloseHandler=function(){this.closeImg=document.createElement("img");this.closeImg.setAttribute("src",this.closeImage);this.closeImg.setAttribute("title","Close");this.closeImg.style.marginLeft="2px";this.closeImg.style.cursor="pointer";this.closeImg.style.display="none";this.buttons.appendChild(this.closeImg);mxEvent.addGestureListeners(this.closeImg,mxUtils.bind(this,function(a){this.fireEvent(new mxEventObject(mxEvent.CLOSE,"event",a));this.destroyOnClose?this.destroy():
this.setVisible(!1);mxEvent.consume(a)}))};mxWindow.prototype.setImage=function(a){this.image=document.createElement("img");this.image.setAttribute("src",a);this.image.setAttribute("align","left");this.image.style.marginRight="4px";this.image.style.marginLeft="0px";this.image.style.marginTop="-2px";this.title.insertBefore(this.image,this.title.firstChild)};mxWindow.prototype.setClosable=function(a){this.closeImg.style.display=a?"":"none"}; this.setVisible(!1);mxEvent.consume(a)}))};mxWindow.prototype.setImage=function(a){this.image=document.createElement("img");this.image.setAttribute("src",a);this.image.setAttribute("align","left");this.image.style.marginRight="4px";this.image.style.marginLeft="0px";this.image.style.marginTop="-2px";this.title.insertBefore(this.image,this.title.firstChild)};mxWindow.prototype.setClosable=function(a){this.closeImg.style.display=a?"":"none"};
mxWindow.prototype.isVisible=function(){return null!=this.div?"none"!=this.div.style.display:!1};mxWindow.prototype.setVisible=function(a){null!=this.div&&this.isVisible()!=a&&(a?this.show():this.hide())}; mxWindow.prototype.isVisible=function(){return null!=this.div?"none"!=this.div.style.display:!1};mxWindow.prototype.setVisible=function(a){null!=this.div&&this.isVisible()!=a&&(a?this.show():this.hide())};
mxWindow.prototype.show=function(){this.div.style.display="";this.activate();var a=mxUtils.getCurrentStyle(this.contentWrapper);mxClient.IS_QUIRKS||"auto"!=a.overflow&&null==this.resize||(this.contentWrapper.style.height=this.div.offsetHeight-this.title.offsetHeight-this.contentHeightCorrection+"px");this.fireEvent(new mxEventObject(mxEvent.SHOW))};mxWindow.prototype.hide=function(){this.div.style.display="none";this.fireEvent(new mxEventObject(mxEvent.HIDE))}; mxWindow.prototype.show=function(){this.div.style.display="";this.activate();var a=mxUtils.getCurrentStyle(this.contentWrapper);mxClient.IS_QUIRKS||"auto"!=a.overflow&&null==this.resize||"none"==this.contentWrapper.style.display||(this.contentWrapper.style.height=this.div.offsetHeight-this.title.offsetHeight-this.contentHeightCorrection+"px");this.fireEvent(new mxEventObject(mxEvent.SHOW))};mxWindow.prototype.hide=function(){this.div.style.display="none";this.fireEvent(new mxEventObject(mxEvent.HIDE))};
mxWindow.prototype.destroy=function(){this.fireEvent(new mxEventObject(mxEvent.DESTROY));null!=this.div&&(mxEvent.release(this.div),this.div.parentNode.removeChild(this.div),this.div=null);this.contentWrapper=this.content=this.title=null};function mxForm(a){this.table=document.createElement("table");this.table.className=a;this.body=document.createElement("tbody");this.table.appendChild(this.body)}mxForm.prototype.table=null;mxForm.prototype.body=!1;mxForm.prototype.getTable=function(){return this.table}; mxWindow.prototype.destroy=function(){this.fireEvent(new mxEventObject(mxEvent.DESTROY));null!=this.div&&(mxEvent.release(this.div),this.div.parentNode.removeChild(this.div),this.div=null);this.contentWrapper=this.content=this.title=null};function mxForm(a){this.table=document.createElement("table");this.table.className=a;this.body=document.createElement("tbody");this.table.appendChild(this.body)}mxForm.prototype.table=null;mxForm.prototype.body=!1;mxForm.prototype.getTable=function(){return this.table};
mxForm.prototype.addButtons=function(a,b){var c=document.createElement("tr"),d=document.createElement("td");c.appendChild(d);var d=document.createElement("td"),e=document.createElement("button");mxUtils.write(e,mxResources.get("ok")||"OK");d.appendChild(e);mxEvent.addListener(e,"click",function(){a()});e=document.createElement("button");mxUtils.write(e,mxResources.get("cancel")||"Cancel");d.appendChild(e);mxEvent.addListener(e,"click",function(){b()});c.appendChild(d);this.body.appendChild(c)}; mxForm.prototype.addButtons=function(a,b){var c=document.createElement("tr"),d=document.createElement("td");c.appendChild(d);var d=document.createElement("td"),e=document.createElement("button");mxUtils.write(e,mxResources.get("ok")||"OK");d.appendChild(e);mxEvent.addListener(e,"click",function(){a()});e=document.createElement("button");mxUtils.write(e,mxResources.get("cancel")||"Cancel");d.appendChild(e);mxEvent.addListener(e,"click",function(){b()});c.appendChild(d);this.body.appendChild(c)};
mxForm.prototype.addText=function(a,b,c){var d=document.createElement("input");d.setAttribute("type",c||"text");d.value=b;return this.addField(a,d)};mxForm.prototype.addCheckbox=function(a,b){var c=document.createElement("input");c.setAttribute("type","checkbox");this.addField(a,c);b&&(c.checked=!0);return c};mxForm.prototype.addTextarea=function(a,b,c){var d=document.createElement("textarea");mxClient.IS_NS&&c--;d.setAttribute("rows",c||2);d.value=b;return this.addField(a,d)}; mxForm.prototype.addText=function(a,b,c){var d=document.createElement("input");d.setAttribute("type",c||"text");d.value=b;return this.addField(a,d)};mxForm.prototype.addCheckbox=function(a,b){var c=document.createElement("input");c.setAttribute("type","checkbox");this.addField(a,c);b&&(c.checked=!0);return c};mxForm.prototype.addTextarea=function(a,b,c){var d=document.createElement("textarea");mxClient.IS_NS&&c--;d.setAttribute("rows",c||2);d.value=b;return this.addField(a,d)};
@ -175,22 +175,23 @@ function mxDivResizer(a,b){if("div"==a.nodeName.toLowerCase()){null==b&&(b=windo
mxDivResizer.prototype.resize=function(){var a=this.getDocumentWidth(),b=this.getDocumentHeight(),c=parseInt(this.div.style.left),d=parseInt(this.div.style.right),e=parseInt(this.div.style.top),f=parseInt(this.div.style.bottom);this.resizeWidth&&!isNaN(c)&&!isNaN(d)&&0<=c&&0<=d&&0<a-d-c&&(this.div.style.width=a-d-c+"px");this.resizeHeight&&!isNaN(e)&&!isNaN(f)&&0<=e&&0<=f&&0<b-e-f&&(this.div.style.height=b-e-f+"px")};mxDivResizer.prototype.getDocumentWidth=function(){return document.body.clientWidth}; mxDivResizer.prototype.resize=function(){var a=this.getDocumentWidth(),b=this.getDocumentHeight(),c=parseInt(this.div.style.left),d=parseInt(this.div.style.right),e=parseInt(this.div.style.top),f=parseInt(this.div.style.bottom);this.resizeWidth&&!isNaN(c)&&!isNaN(d)&&0<=c&&0<=d&&0<a-d-c&&(this.div.style.width=a-d-c+"px");this.resizeHeight&&!isNaN(e)&&!isNaN(f)&&0<=e&&0<=f&&0<b-e-f&&(this.div.style.height=b-e-f+"px")};mxDivResizer.prototype.getDocumentWidth=function(){return document.body.clientWidth};
mxDivResizer.prototype.getDocumentHeight=function(){return document.body.clientHeight};function mxDragSource(a,b){this.element=a;this.dropHandler=b;mxEvent.addGestureListeners(a,mxUtils.bind(this,function(a){this.mouseDown(a)}));mxEvent.addListener(a,"dragstart",function(a){mxEvent.consume(a)});this.eventConsumer=function(a,b){var c=b.getProperty("eventName"),d=b.getProperty("event");c!=mxEvent.MOUSE_DOWN&&d.consume()}}mxDragSource.prototype.element=null;mxDragSource.prototype.dropHandler=null; mxDivResizer.prototype.getDocumentHeight=function(){return document.body.clientHeight};function mxDragSource(a,b){this.element=a;this.dropHandler=b;mxEvent.addGestureListeners(a,mxUtils.bind(this,function(a){this.mouseDown(a)}));mxEvent.addListener(a,"dragstart",function(a){mxEvent.consume(a)});this.eventConsumer=function(a,b){var c=b.getProperty("eventName"),d=b.getProperty("event");c!=mxEvent.MOUSE_DOWN&&d.consume()}}mxDragSource.prototype.element=null;mxDragSource.prototype.dropHandler=null;
mxDragSource.prototype.dragOffset=null;mxDragSource.prototype.dragElement=null;mxDragSource.prototype.previewElement=null;mxDragSource.prototype.enabled=!0;mxDragSource.prototype.currentGraph=null;mxDragSource.prototype.currentDropTarget=null;mxDragSource.prototype.currentPoint=null;mxDragSource.prototype.currentGuide=null;mxDragSource.prototype.currentHighlight=null;mxDragSource.prototype.autoscroll=!0;mxDragSource.prototype.guidesEnabled=!0;mxDragSource.prototype.gridEnabled=!0; mxDragSource.prototype.dragOffset=null;mxDragSource.prototype.dragElement=null;mxDragSource.prototype.previewElement=null;mxDragSource.prototype.enabled=!0;mxDragSource.prototype.currentGraph=null;mxDragSource.prototype.currentDropTarget=null;mxDragSource.prototype.currentPoint=null;mxDragSource.prototype.currentGuide=null;mxDragSource.prototype.currentHighlight=null;mxDragSource.prototype.autoscroll=!0;mxDragSource.prototype.guidesEnabled=!0;mxDragSource.prototype.gridEnabled=!0;
mxDragSource.prototype.highlightDropTargets=!0;mxDragSource.prototype.dragElementZIndex=100;mxDragSource.prototype.dragElementOpacity=70;mxDragSource.prototype.isEnabled=function(){return this.enabled};mxDragSource.prototype.setEnabled=function(a){this.enabled=a};mxDragSource.prototype.isGuidesEnabled=function(){return this.guidesEnabled};mxDragSource.prototype.setGuidesEnabled=function(a){this.guidesEnabled=a};mxDragSource.prototype.isGridEnabled=function(){return this.gridEnabled}; mxDragSource.prototype.highlightDropTargets=!0;mxDragSource.prototype.dragElementZIndex=100;mxDragSource.prototype.dragElementOpacity=70;mxDragSource.prototype.checkEventSource=!0;mxDragSource.prototype.isEnabled=function(){return this.enabled};mxDragSource.prototype.setEnabled=function(a){this.enabled=a};mxDragSource.prototype.isGuidesEnabled=function(){return this.guidesEnabled};mxDragSource.prototype.setGuidesEnabled=function(a){this.guidesEnabled=a};mxDragSource.prototype.isGridEnabled=function(){return this.gridEnabled};
mxDragSource.prototype.setGridEnabled=function(a){this.gridEnabled=a};mxDragSource.prototype.getGraphForEvent=function(a){return null};mxDragSource.prototype.getDropTarget=function(a,b,c,d){return a.getCellAt(b,c)};mxDragSource.prototype.createDragElement=function(a){return this.element.cloneNode(!0)};mxDragSource.prototype.createPreviewElement=function(a){return null};mxDragSource.prototype.isActive=function(){return null!=this.mouseMoveHandler}; mxDragSource.prototype.setGridEnabled=function(a){this.gridEnabled=a};mxDragSource.prototype.getGraphForEvent=function(a){return null};mxDragSource.prototype.getDropTarget=function(a,b,c,d){return a.getCellAt(b,c)};mxDragSource.prototype.createDragElement=function(a){return this.element.cloneNode(!0)};mxDragSource.prototype.createPreviewElement=function(a){return null};mxDragSource.prototype.isActive=function(){return null!=this.mouseMoveHandler};
mxDragSource.prototype.reset=function(){null!=this.currentGraph&&(this.dragExit(this.currentGraph),this.currentGraph=null);this.removeDragElement();this.removeListeners();this.stopDrag()}; mxDragSource.prototype.reset=function(){null!=this.currentGraph&&(this.dragExit(this.currentGraph),this.currentGraph=null);this.removeDragElement();this.removeListeners();this.stopDrag()};
mxDragSource.prototype.mouseDown=function(a){this.enabled&&!mxEvent.isConsumed(a)&&null==this.mouseMoveHandler&&(this.startDrag(a),this.mouseMoveHandler=mxUtils.bind(this,this.mouseMove),this.mouseUpHandler=mxUtils.bind(this,this.mouseUp),mxEvent.addGestureListeners(document,null,this.mouseMoveHandler,this.mouseUpHandler),mxClient.IS_TOUCH&&!mxEvent.isMouseEvent(a)&&(this.eventSource=mxEvent.getSource(a),mxEvent.addGestureListeners(this.eventSource,null,this.mouseMoveHandler,this.mouseUpHandler)))}; mxDragSource.prototype.mouseDown=function(a){this.enabled&&!mxEvent.isConsumed(a)&&null==this.mouseMoveHandler&&(this.startDrag(a),this.mouseMoveHandler=mxUtils.bind(this,this.mouseMove),this.mouseUpHandler=mxUtils.bind(this,this.mouseUp),mxEvent.addGestureListeners(document,null,this.mouseMoveHandler,this.mouseUpHandler),mxClient.IS_TOUCH&&!mxEvent.isMouseEvent(a)&&(this.eventSource=mxEvent.getSource(a),mxEvent.addGestureListeners(this.eventSource,null,this.mouseMoveHandler,this.mouseUpHandler)))};
mxDragSource.prototype.startDrag=function(a){this.dragElement=this.createDragElement(a);this.dragElement.style.position="absolute";this.dragElement.style.zIndex=this.dragElementZIndex;mxUtils.setOpacity(this.dragElement,this.dragElementOpacity)};mxDragSource.prototype.stopDrag=function(){this.removeDragElement()}; mxDragSource.prototype.startDrag=function(a){this.dragElement=this.createDragElement(a);this.dragElement.style.position="absolute";this.dragElement.style.zIndex=this.dragElementZIndex;mxUtils.setOpacity(this.dragElement,this.dragElementOpacity);this.checkEventSource&&mxClient.IS_SVG&&(this.dragElement.style.pointerEvents="none")};mxDragSource.prototype.stopDrag=function(){this.removeDragElement()};
mxDragSource.prototype.removeDragElement=function(){null!=this.dragElement&&(null!=this.dragElement.parentNode&&this.dragElement.parentNode.removeChild(this.dragElement),this.dragElement=null)};mxDragSource.prototype.graphContainsEvent=function(a,b){var c=mxEvent.getClientX(b),d=mxEvent.getClientY(b),e=mxUtils.getOffset(a.container),f=mxUtils.getScrollOrigin();return c>=e.x-f.x&&d>=e.y-f.y&&c<=e.x-f.x+a.container.offsetWidth&&d<=e.y-f.y+a.container.offsetHeight}; mxDragSource.prototype.removeDragElement=function(){null!=this.dragElement&&(null!=this.dragElement.parentNode&&this.dragElement.parentNode.removeChild(this.dragElement),this.dragElement=null)};mxDragSource.prototype.getElementForEvent=function(a){return mxEvent.isTouchEvent(a)||mxEvent.isPenEvent(a)?document.elementFromPoint(mxEvent.getClientX(a),mxEvent.getClientY(a)):mxEvent.getSource(a)};
mxDragSource.prototype.graphContainsEvent=function(a,b){var c=mxEvent.getClientX(b),d=mxEvent.getClientY(b),e=mxUtils.getOffset(a.container),f=mxUtils.getScrollOrigin(),g=this.getElementForEvent(b);if(this.checkEventSource)for(;null!=g&&g!=a.container;)g=g.parentNode;return null!=g&&c>=e.x-f.x&&d>=e.y-f.y&&c<=e.x-f.x+a.container.offsetWidth&&d<=e.y-f.y+a.container.offsetHeight};
mxDragSource.prototype.mouseMove=function(a){var b=this.getGraphForEvent(a);null==b||this.graphContainsEvent(b,a)||(b=null);b!=this.currentGraph&&(null!=this.currentGraph&&this.dragExit(this.currentGraph,a),this.currentGraph=b,null!=this.currentGraph&&this.dragEnter(this.currentGraph,a));null!=this.currentGraph&&this.dragOver(this.currentGraph,a);if(null==this.dragElement||null!=this.previewElement&&"visible"==this.previewElement.style.visibility)null!=this.dragElement&&(this.dragElement.style.visibility= mxDragSource.prototype.mouseMove=function(a){var b=this.getGraphForEvent(a);null==b||this.graphContainsEvent(b,a)||(b=null);b!=this.currentGraph&&(null!=this.currentGraph&&this.dragExit(this.currentGraph,a),this.currentGraph=b,null!=this.currentGraph&&this.dragEnter(this.currentGraph,a));null!=this.currentGraph&&this.dragOver(this.currentGraph,a);if(null==this.dragElement||null!=this.previewElement&&"visible"==this.previewElement.style.visibility)null!=this.dragElement&&(this.dragElement.style.visibility=
"hidden");else{var b=mxEvent.getClientX(a),c=mxEvent.getClientY(a);null==this.dragElement.parentNode&&document.body.appendChild(this.dragElement);this.dragElement.style.visibility="visible";null!=this.dragOffset&&(b+=this.dragOffset.x,c+=this.dragOffset.y);var d=mxUtils.getDocumentScrollOrigin(document);this.dragElement.style.left=b+d.x+"px";this.dragElement.style.top=c+d.y+"px"}mxEvent.consume(a)}; "hidden");else{var b=mxEvent.getClientX(a),c=mxEvent.getClientY(a);null==this.dragElement.parentNode&&document.body.appendChild(this.dragElement);this.dragElement.style.visibility="visible";null!=this.dragOffset&&(b+=this.dragOffset.x,c+=this.dragOffset.y);var d=mxUtils.getDocumentScrollOrigin(document);this.dragElement.style.left=b+d.x+"px";this.dragElement.style.top=c+d.y+"px"}mxEvent.consume(a)};
mxDragSource.prototype.mouseUp=function(a){if(null!=this.currentGraph){if(null!=this.currentPoint&&(null==this.previewElement||"hidden"!=this.previewElement.style.visibility)){var b=this.currentGraph.view.scale,c=this.currentGraph.view.translate;this.drop(this.currentGraph,a,this.currentDropTarget,this.currentPoint.x/b-c.x,this.currentPoint.y/b-c.y)}this.dragExit(this.currentGraph);this.currentGraph=null}this.stopDrag();this.removeListeners();mxEvent.consume(a)}; mxDragSource.prototype.mouseUp=function(a){if(null!=this.currentGraph){if(null!=this.currentPoint&&(null==this.previewElement||"hidden"!=this.previewElement.style.visibility)){var b=this.currentGraph.view.scale,c=this.currentGraph.view.translate;this.drop(this.currentGraph,a,this.currentDropTarget,this.currentPoint.x/b-c.x,this.currentPoint.y/b-c.y)}this.dragExit(this.currentGraph);this.currentGraph=null}this.stopDrag();this.removeListeners();mxEvent.consume(a)};
mxDragSource.prototype.removeListeners=function(){null!=this.eventSource&&(mxEvent.removeGestureListeners(this.eventSource,null,this.mouseMoveHandler,this.mouseUpHandler),this.eventSource=null);mxEvent.removeGestureListeners(document,null,this.mouseMoveHandler,this.mouseUpHandler);this.mouseUpHandler=this.mouseMoveHandler=null}; mxDragSource.prototype.removeListeners=function(){null!=this.eventSource&&(mxEvent.removeGestureListeners(this.eventSource,null,this.mouseMoveHandler,this.mouseUpHandler),this.eventSource=null);mxEvent.removeGestureListeners(document,null,this.mouseMoveHandler,this.mouseUpHandler);this.mouseUpHandler=this.mouseMoveHandler=null};
mxDragSource.prototype.dragEnter=function(a,b){a.isMouseDown=!0;a.isMouseTrigger=mxEvent.isMouseEvent(b);this.previewElement=this.createPreviewElement(a);this.isGuidesEnabled()&&null!=this.previewElement&&(this.currentGuide=new mxGuide(a,a.graphHandler.getGuideStates()));this.highlightDropTargets&&(this.currentHighlight=new mxCellHighlight(a,mxConstants.DROP_TARGET_COLOR));a.addListener(mxEvent.FIRE_MOUSE_EVENT,this.eventConsumer)}; mxDragSource.prototype.dragEnter=function(a,b){a.isMouseDown=!0;a.isMouseTrigger=mxEvent.isMouseEvent(b);this.previewElement=this.createPreviewElement(a);this.checkEventSource&&mxClient.IS_SVG&&(this.previewElement.style.pointerEvents="none");this.isGuidesEnabled()&&null!=this.previewElement&&(this.currentGuide=new mxGuide(a,a.graphHandler.getGuideStates()));this.highlightDropTargets&&(this.currentHighlight=new mxCellHighlight(a,mxConstants.DROP_TARGET_COLOR));a.addListener(mxEvent.FIRE_MOUSE_EVENT,
mxDragSource.prototype.dragExit=function(a,b){this.currentPoint=this.currentDropTarget=null;a.isMouseDown=!1;a.removeListener(this.eventConsumer);null!=this.previewElement&&(null!=this.previewElement.parentNode&&this.previewElement.parentNode.removeChild(this.previewElement),this.previewElement=null);null!=this.currentGuide&&(this.currentGuide.destroy(),this.currentGuide=null);null!=this.currentHighlight&&(this.currentHighlight.destroy(),this.currentHighlight=null)}; this.eventConsumer)};mxDragSource.prototype.dragExit=function(a,b){this.currentPoint=this.currentDropTarget=null;a.isMouseDown=!1;a.removeListener(this.eventConsumer);null!=this.previewElement&&(null!=this.previewElement.parentNode&&this.previewElement.parentNode.removeChild(this.previewElement),this.previewElement=null);null!=this.currentGuide&&(this.currentGuide.destroy(),this.currentGuide=null);null!=this.currentHighlight&&(this.currentHighlight.destroy(),this.currentHighlight=null)};
mxDragSource.prototype.dragOver=function(a,b){var c=mxUtils.getOffset(a.container),d=mxUtils.getScrollOrigin(a.container),e=mxEvent.getClientX(b)-c.x+d.x-a.panDx,c=mxEvent.getClientY(b)-c.y+d.y-a.panDy;a.autoScroll&&(null==this.autoscroll||this.autoscroll)&&a.scrollPointToVisible(e,c,a.autoExtend);null!=this.currentHighlight&&a.isDropEnabled()&&(this.currentDropTarget=this.getDropTarget(a,e,c,b),d=a.getView().getState(this.currentDropTarget),this.currentHighlight.highlight(d));if(null!=this.previewElement){null== mxDragSource.prototype.dragOver=function(a,b){var c=mxUtils.getOffset(a.container),d=mxUtils.getScrollOrigin(a.container),e=mxEvent.getClientX(b)-c.x+d.x-a.panDx,c=mxEvent.getClientY(b)-c.y+d.y-a.panDy;a.autoScroll&&(null==this.autoscroll||this.autoscroll)&&a.scrollPointToVisible(e,c,a.autoExtend);null!=this.currentHighlight&&a.isDropEnabled()&&(this.currentDropTarget=this.getDropTarget(a,e,c,b),d=a.getView().getState(this.currentDropTarget),this.currentHighlight.highlight(d));if(null!=this.previewElement){null==
this.previewElement.parentNode&&(a.container.appendChild(this.previewElement),this.previewElement.style.zIndex="3",this.previewElement.style.position="absolute");var d=this.isGridEnabled()&&a.isGridEnabledEvent(b),f=!0;if(null!=this.currentGuide&&this.currentGuide.isEnabledForEvent(b))var f=parseInt(this.previewElement.style.width),g=parseInt(this.previewElement.style.height),f=new mxRectangle(0,0,f,g),c=new mxPoint(e,c),c=this.currentGuide.move(f,c,d),f=!1,e=c.x,c=c.y;else if(d)var d=a.view.scale, this.previewElement.parentNode&&(a.container.appendChild(this.previewElement),this.previewElement.style.zIndex="3",this.previewElement.style.position="absolute");var d=this.isGridEnabled()&&a.isGridEnabledEvent(b),f=!0;if(null!=this.currentGuide&&this.currentGuide.isEnabledForEvent(b))var f=parseInt(this.previewElement.style.width),g=parseInt(this.previewElement.style.height),f=new mxRectangle(0,0,f,g),c=new mxPoint(e,c),c=this.currentGuide.move(f,c,d),f=!1,e=c.x,c=c.y;else if(d)var d=a.view.scale,
g=a.view.translate,k=a.gridSize/2,e=(a.snap(e/d-g.x-k)+g.x)*d,c=(a.snap(c/d-g.y-k)+g.y)*d;null!=this.currentGuide&&f&&this.currentGuide.hide();null!=this.previewOffset&&(e+=this.previewOffset.x,c+=this.previewOffset.y);this.previewElement.style.left=Math.round(e)+"px";this.previewElement.style.top=Math.round(c)+"px";this.previewElement.style.visibility="visible"}this.currentPoint=new mxPoint(e,c)}; g=a.view.translate,k=a.gridSize/2,e=(a.snap(e/d-g.x-k)+g.x)*d,c=(a.snap(c/d-g.y-k)+g.y)*d;null!=this.currentGuide&&f&&this.currentGuide.hide();null!=this.previewOffset&&(e+=this.previewOffset.x,c+=this.previewOffset.y);this.previewElement.style.left=Math.round(e)+"px";this.previewElement.style.top=Math.round(c)+"px";this.previewElement.style.visibility="visible"}this.currentPoint=new mxPoint(e,c)};
mxDragSource.prototype.drop=function(a,b,c,d,e){this.dropHandler(a,b,c,d,e);"hidden"!=a.container.style.visibility&&a.container.focus()};function mxToolbar(a){this.container=a}mxToolbar.prototype=new mxEventSource;mxToolbar.prototype.constructor=mxToolbar;mxToolbar.prototype.container=null;mxToolbar.prototype.enabled=!0;mxToolbar.prototype.noReset=!1;mxToolbar.prototype.updateDefaultMode=!0; mxDragSource.prototype.drop=function(a,b,c,d,e){this.dropHandler.apply(this,arguments);"hidden"!=a.container.style.visibility&&a.container.focus()};function mxToolbar(a){this.container=a}mxToolbar.prototype=new mxEventSource;mxToolbar.prototype.constructor=mxToolbar;mxToolbar.prototype.container=null;mxToolbar.prototype.enabled=!0;mxToolbar.prototype.noReset=!1;mxToolbar.prototype.updateDefaultMode=!0;
mxToolbar.prototype.addItem=function(a,b,c,d,e,f){var g=document.createElement(null!=b?"img":"button"),k=e||(null!=f?"mxToolbarMode":"mxToolbarItem");g.className=k;g.setAttribute("src",b);null!=a&&(null!=b?g.setAttribute("title",a):mxUtils.write(g,a));this.container.appendChild(g);null!=c&&(mxEvent.addListener(g,"click",c),mxClient.IS_TOUCH&&mxEvent.addListener(g,"touchend",c));a=mxUtils.bind(this,function(a){null!=d?g.setAttribute("src",b):g.style.backgroundColor=""});mxEvent.addGestureListeners(g, mxToolbar.prototype.addItem=function(a,b,c,d,e,f){var g=document.createElement(null!=b?"img":"button"),k=e||(null!=f?"mxToolbarMode":"mxToolbarItem");g.className=k;g.setAttribute("src",b);null!=a&&(null!=b?g.setAttribute("title",a):mxUtils.write(g,a));this.container.appendChild(g);null!=c&&(mxEvent.addListener(g,"click",c),mxClient.IS_TOUCH&&mxEvent.addListener(g,"touchend",c));a=mxUtils.bind(this,function(a){null!=d?g.setAttribute("src",b):g.style.backgroundColor=""});mxEvent.addGestureListeners(g,
mxUtils.bind(this,function(a){null!=d?g.setAttribute("src",d):g.style.backgroundColor="gray";if(null!=f){null==this.menu&&(this.menu=new mxPopupMenu,this.menu.init());var b=this.currentImg;this.menu.isMenuShowing()&&this.menu.hideMenu();b!=g&&(this.currentImg=g,this.menu.factoryMethod=f,b=new mxPoint(g.offsetLeft,g.offsetTop+g.offsetHeight),this.menu.popup(b.x,b.y,null,a),this.menu.isMenuShowing()&&(g.className=k+"Selected",this.menu.hideMenu=function(){mxPopupMenu.prototype.hideMenu.apply(this); mxUtils.bind(this,function(a){null!=d?g.setAttribute("src",d):g.style.backgroundColor="gray";if(null!=f){null==this.menu&&(this.menu=new mxPopupMenu,this.menu.init());var b=this.currentImg;this.menu.isMenuShowing()&&this.menu.hideMenu();b!=g&&(this.currentImg=g,this.menu.factoryMethod=f,b=new mxPoint(g.offsetLeft,g.offsetTop+g.offsetHeight),this.menu.popup(b.x,b.y,null,a),this.menu.isMenuShowing()&&(g.className=k+"Selected",this.menu.hideMenu=function(){mxPopupMenu.prototype.hideMenu.apply(this);
g.className=k;this.currentImg=null}))}}),null,a);mxEvent.addListener(g,"mouseout",a);return g};mxToolbar.prototype.addCombo=function(a){var b=document.createElement("div");b.style.display="inline";b.className="mxToolbarComboContainer";var c=document.createElement("select");c.className=a||"mxToolbarCombo";b.appendChild(c);this.container.appendChild(b);return c}; g.className=k;this.currentImg=null}))}}),null,a);mxEvent.addListener(g,"mouseout",a);return g};mxToolbar.prototype.addCombo=function(a){var b=document.createElement("div");b.style.display="inline";b.className="mxToolbarComboContainer";var c=document.createElement("select");c.className=a||"mxToolbarCombo";b.appendChild(c);this.container.appendChild(b);return c};

View file

@ -6,7 +6,6 @@ package com.mxgraph.online;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
@ -73,13 +72,30 @@ public class ProxyServlet extends HttpServlet
response.setHeader("Expires", "0"); response.setHeader("Expires", "0");
response.addHeader("Access-Control-Allow-Origin", dom); response.addHeader("Access-Control-Allow-Origin", dom);
// Status code pass-through // Status code pass-through and follow redirects
if (connection instanceof HttpURLConnection) if (connection instanceof HttpURLConnection)
{ {
((HttpURLConnection) connection).setInstanceFollowRedirects(true);
// Workaround for 451 response from Iconfinder CDN // Workaround for 451 response from Iconfinder CDN
((HttpURLConnection) connection).setRequestProperty("User-Agent", "draw.io"); ((HttpURLConnection) connection).setRequestProperty("User-Agent", "draw.io");
int status = ((HttpURLConnection) connection).getResponseCode();
int counter = 0;
response.setStatus(((HttpURLConnection) connection).getResponseCode()); // Follows a maximum of 2 redirects
while (counter++ < 2 && (status == HttpURLConnection.HTTP_MOVED_PERM ||
status == HttpURLConnection.HTTP_MOVED_TEMP))
{
url = new URL(connection.getHeaderField("Location"));
connection = url.openConnection();
((HttpURLConnection) connection).setInstanceFollowRedirects(true);
// Workaround for 451 response from Iconfinder CDN
((HttpURLConnection) connection).setRequestProperty("User-Agent", "draw.io");
status = ((HttpURLConnection) connection).getResponseCode();
}
response.setStatus(status);
} }
String base64 = request.getParameter("base64"); String base64 = request.getParameter("base64");

View file

@ -1,7 +1,7 @@
CACHE MANIFEST CACHE MANIFEST
# THIS FILE WAS GENERATED. DO NOT MODIFY! # THIS FILE WAS GENERATED. DO NOT MODIFY!
# 05/01/2018 05:13 PM # 05/06/2018 04:15 PM
app.html app.html
index.html?offline=1 index.html?offline=1

View file

@ -0,0 +1,270 @@
{
"name": "Draw.io gaudenz",
"description": "Draw.io add-on for Confluence",
"key": "com.mxgraph.confluence.plugins.diagramly",
"baseUrl": "https://0056a3a4.ngrok.io",
"vendor":
{
"name": "JGraph Ltd.",
"url": "https://www.jgraph.com"
},
"links": {
"documentation": "https://support.draw.io/display/DFCC/draw.io+for+Confluence+Cloud"
},
"version": "1.4.8",
"authentication":
{
"type": "none"
},
"modules":
{
"generalPages": [
{
"key": "lightbox",
"url": "/connect/confluence/viewer-1-4-8.html?lightbox=1",
"name": {
"value": "Lightbox"
}
},
{
"key": "customContentViewer",
"url": "/connect/confluence/viewer-1-4-8.html?custom=1&contentId={content.id}",
"name": {
"value": "Draw.io Viewer"
}
}
],
"customContent": [{
"key": "drawio-diagram",
"name": {
"value": "Draw.io Diagrams"
},
"uiSupport": {
"contentViewComponent": {
"moduleKey": "customContentViewer"
},
"icons": {
"item": {
"url": "/images/drawlogo48.png"
}
}
},
"apiSupport": {
"supportedContainerTypes": ["page", "comment", "space", "blogpost"],
"supportedChildTypes": ["attachment"],
"indexing": {
"enabled": true
}
}
}
],
"dynamicContentMacros":
[
{
"name":
{
"i18n": "drawioMacro",
"value": "Draw.io Diagram"
},
"url": "/connect/confluence/viewer-1-4-8.html?ceoId=${page.id}&diagramName=${diagramName}&revision=${revision}&width=${width}&height=${height}&tbstyle=${tbstyle}&lbox=${lbox}&zoom=${zoom}&links=${links}&owningPageId=${pageId}",
"width": "100%",
"description":
{
"i18n": "description",
"value": "Inserts a new Draw.io Diagram"
}, "icon":
{
"width": 128,
"height": 128,
"url": "/images/drawlogo128.png"
},
"categories": [
"visuals"
],
"outputType": "block",
"featured": true,
"key": "drawio",
"parameters":
[
{
"identifier": "diagramName",
"name":
{
"value": "Diagram name (do not change)"
},
"type": "string"
},
{
"identifier": "autoSize",
"name":
{
"value": "automatic size"
},
"type": "boolean"
},
{
"identifier": "PageId",
"name":
{
"value": "Parent page ID"
},
"type": "string"
},
{
"identifier": "baseUrl",
"name":
{
"value": "Confluence Base URL"
},
"type": "string"
},
{
"identifier": "width",
"name":
{
"value": "Diagram width"
},
"type": "string"
},
{
"identifier": "height",
"name":
{
"value": "Diagram Height"
},
"type": "string"
}
],
"editor": {
"url": "/connect/confluence/macroEditor-1-4-8.html?ceoId=${page.id}&diagramName=${diagramName}",
"width": "100%",
"height": "100%",
"editTitle":
{
"value" : "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"
},
"insertTitle":
{
"value" : "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"
}
},
"imagePlaceholder": {
"width": 500,
"height": 300,
"url": "/connectImage",
"applyChrome": false
},
"renderModes": {
"default": {
"url": "/connectRender?pageId=${page.id}&diagramName=${diagramName}"
}
}
},
{
"name":
{
"i18n": "drawioMacro",
"value": "Legacy macro - do not use"
},
"url": "/connect/confluence/viewer.html?ceoId=${page.id}&diagramName=${diagramName}&revision=${revision}&width=${width}&height=${height}",
"width": "100%",
"description":
{
"i18n": "description",
"value": "Do not use"
}, "icon":
{
"width": 80,
"height": 80,
"url": "/images/stop-flat-icon-80.png"
},
"categories": [
"visuals"
],
"outputType": "block",
"featured": false,
"key": "drawio-macro",
"parameters":
[
{
"identifier": "diagramName",
"name":
{
"value": "Diagram name (do not change)"
},
"type": "string"
},
{
"identifier": "autoSize",
"name":
{
"value": "automatic size"
},
"type": "boolean"
},
{
"identifier": "PageId",
"name":
{
"value": "Parent page ID"
},
"type": "string"
},
{
"identifier": "baseUrl",
"name":
{
"value": "Confluence Base URL"
},
"type": "string"
},
{
"identifier": "width",
"name":
{
"value": "Diagram width"
},
"type": "string"
},
{
"identifier": "height",
"name":
{
"value": "Diagram Height"
},
"type": "string"
}
],
"editor": {
"url": "/connect/confluence/macroEditor.html?ceoId=${page.id}&diagramName=${diagramName}",
"editTitle": {
"value": "Edit MarkDown",
"i18n": "macro.md.edit"
},
"insertTitle": {
"value": "Insert New MarkDown",
"i18n": "macro.md.insert"
},
"width": "100%",
"height": "100%"
},
"imagePlaceholder": {
"width": 500,
"height": 300,
"url": "/connectImage",
"applyChrome": true
},
"renderModes": {
"default": {
"url": "/connectRender?pageId=${page.id}&diagramName=${diagramName}&revision=${revision}"
}
}
}
]
},
"scopes": [
"read",
"write",
"delete"
]
}

View file

@ -0,0 +1,93 @@
{
"name": "Draw.io gaudenz",
"description": "Draw.io add-on for JIRA",
"key": "com.mxgraph.jira.plugins.drawio.gaudenz",
"baseUrl": "https://0d961297.ngrok.io/",
"vendor": {
"name": "JGraph Ltd.",
"url": "https://www.jgraph.com"
},
"authentication":
{
"type": "none"
},
"version": "1.0.4",
"scopes":
[
"READ",
"WRITE",
"DELETE"
],
"modules":
{
"generalPages":
[
{
"url":"/connect/jira/editor2.html?issueId=${issue.id}",
"key":"drawioEditor",
"name":
{
"value":"Draw.io Editor"
},
"location":"hidden"
},
{
"url":"/connect/jira/fullScreenViewer2.html?issueId=${issue.id}",
"key":"drawioFullScreenViewer",
"name":
{
"value":"Draw.io Full Screen Viewer"
},
"location":"hidden"
}
],
"webItems": [
{
"location": "operations-attachments",
"weight": 50,
"key": "drawioEditorBlank",
"url": "/connect/jira/editor2.html?issueId=${issue.id}",
"name": {
"value": "Add Draw.io Diagram"
},
"target":
{
"type":"dialog",
"options":
{
"width":"100%",
"height":"100%",
"chrome":false
}
}
},
{
"key": "drawioEditorDialog",
"name":
{
"value": "Draw.io Editor"
},
"url": "/connect/jira/editor2.html?issueId=${issue.id}",
"location": "none",
"context": "addon"
}
],
"webPanels":
[
{
"url": "/connect/jira/viewerPanel2.html?issueId=${issue.id}",
"location": "atl.jira.view.issue.right.context",
"layout":
{
"width": "300px"
},
"weight": 50,
"key": "drawioViewerPanel",
"name":
{
"value": "Draw.io Diagrams"
}
}
]
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -12,8 +12,8 @@
*/ */
App = function(editor, container, lightbox) App = function(editor, container, lightbox)
{ {
EditorUi.call(this, editor, container, (lightbox != null) ? lightbox : urlParams['lightbox'] == '1'); EditorUi.call(this, editor, container, (lightbox != null) ? lightbox : (urlParams['lightbox'] == '1' || uiTheme == 'min'));
// Pre-fetches images // Pre-fetches images
if (mxClient.IS_SVG) if (mxClient.IS_SVG)
{ {
@ -572,7 +572,7 @@ App.main = function(callback, createUi)
} }
// Main // Main
var ui = (createUi != null) ? createUi() : new App(new Editor(urlParams['chrome'] == '0')); var ui = (createUi != null) ? createUi() : new App(new Editor(urlParams['chrome'] == '0' || uiTheme == 'min', null, null, null, urlParams['chrome'] != '0'));
if (window.mxscript != null) if (window.mxscript != null)
{ {
@ -1177,7 +1177,7 @@ App.prototype.getEditBlankXml = function()
{ {
var file = this.getCurrentFile(); var file = this.getCurrentFile();
if (file != null && this.editor.chromeless && this.editor.graph.lightbox && file.realtime == null) if (file != null && this.editor.isChromelessView() && this.editor.graph.isLightboxView() && file.realtime == null)
{ {
return file.getData(); return file.getData();
} }
@ -1348,7 +1348,7 @@ App.prototype.onBeforeUnload = function()
// KNOWN: Message is ignored by most browsers // KNOWN: Message is ignored by most browsers
if (file.constructor == LocalFile && file.getHash() == '' && !file.isModified() && if (file.constructor == LocalFile && file.getHash() == '' && !file.isModified() &&
urlParams['nowarn'] != '1' && !this.isDiagramEmpty() && urlParams['url'] == null && urlParams['nowarn'] != '1' && !this.isDiagramEmpty() && urlParams['url'] == null &&
!this.editor.chromeless) !this.editor.isChromelessView())
{ {
return mxResources.get('ensureDataSaved'); return mxResources.get('ensureDataSaved');
} }
@ -1373,7 +1373,7 @@ App.prototype.onBeforeUnload = function()
*/ */
App.prototype.updateDocumentTitle = function() App.prototype.updateDocumentTitle = function()
{ {
if (!this.editor.graph.lightbox) if (!this.editor.graph.isLightboxView())
{ {
var title = this.editor.appName; var title = this.editor.appName;
var file = this.getCurrentFile(); var file = this.getCurrentFile();
@ -2361,7 +2361,7 @@ App.prototype.showSplash = function(force)
}), true); }), true);
}); });
if (this.editor.chromeless) if (this.editor.isChromelessView())
{ {
this.handleError({message: mxResources.get('noFileSelected')}, this.handleError({message: mxResources.get('noFileSelected')},
mxResources.get('errorLoadingFile'), mxUtils.bind(this, function() mxResources.get('errorLoadingFile'), mxUtils.bind(this, function()
@ -4844,7 +4844,8 @@ App.prototype.updateUserElement = function()
'</td><td valign="top" style="white-space:nowrap;' + '</td><td valign="top" style="white-space:nowrap;' +
((driveUser.pictureUrl != null) ? 'padding-top:14px;' : '') + ((driveUser.pictureUrl != null) ? 'padding-top:14px;' : '') +
'"><b>' + mxUtils.htmlEntities(driveUser.displayName) + '</b><br>' + '"><b>' + mxUtils.htmlEntities(driveUser.displayName) + '</b><br>' +
'<small>' + mxUtils.htmlEntities(driveUser.email) + '</small></tr></table>'; '<small>' + mxUtils.htmlEntities(driveUser.email) + '</small><br><br>' +
'<small>' + mxResources.get('googleDrive') + '</small></tr></table>';
var div = document.createElement('div'); var div = document.createElement('div');
div.style.textAlign = 'center'; div.style.textAlign = 'center';
div.style.padding = '12px'; div.style.padding = '12px';
@ -4903,7 +4904,7 @@ App.prototype.updateUserElement = function()
} }
} }
var addUser = mxUtils.bind(this, function(user, logo, logout) var addUser = mxUtils.bind(this, function(user, logo, logout, label)
{ {
if (user != null) if (user != null)
{ {
@ -4916,8 +4917,9 @@ App.prototype.updateUserElement = function()
this.userPanel.innerHTML += '<table style="font-size:10pt;padding:20px 20px 10px 10px;"><tr><td valign="top">' + this.userPanel.innerHTML += '<table style="font-size:10pt;padding:20px 20px 10px 10px;"><tr><td valign="top">' +
((logo != null) ? '<img style="margin-right:10px;" src="' + logo + '" width="40" height="40"/></td>' : '') + ((logo != null) ? '<img style="margin-right:10px;" src="' + logo + '" width="40" height="40"/></td>' : '') +
'<td valign="middle" style="white-space:nowrap;"><b>' + mxUtils.htmlEntities(user.displayName) + '</b>' + '<td valign="middle" style="white-space:nowrap;"><b>' + mxUtils.htmlEntities(user.displayName) + '</b>' +
((user.email != null) ? '<br><font color="gray">' + mxUtils.htmlEntities(user.email) + '</font></td>' : '') + ((user.email != null) ? '<br><font color="gray">' + mxUtils.htmlEntities(user.email) + '</font>' : '') +
'</tr></table>'; ((label != null) ? '<br><br><small>' + mxUtils.htmlEntities(label) + '</small>' : '') +
'</td></tr></table>';
var div = document.createElement('div'); var div = document.createElement('div');
div.style.textAlign = 'center'; div.style.textAlign = 'center';
div.style.padding = '12px'; div.style.padding = '12px';
@ -4962,7 +4964,7 @@ App.prototype.updateUserElement = function()
{ {
this.dropbox.logout(); this.dropbox.logout();
} }
})); }), mxResources.get('dropbox'));
} }
if (this.oneDrive != null) if (this.oneDrive != null)
@ -4993,7 +4995,7 @@ App.prototype.updateUserElement = function()
{ {
this.oneDrive.logout(); this.oneDrive.logout();
} }
})); }), mxResources.get('oneDrive'));
} }
if (this.gitHub != null) if (this.gitHub != null)
@ -5024,7 +5026,7 @@ App.prototype.updateUserElement = function()
{ {
this.gitHub.logout(); this.gitHub.logout();
} }
})); }), mxResources.get('github'));
} }
//TODO We have no user info from Trello, how we can create a user? //TODO We have no user info from Trello, how we can create a user?
@ -5056,7 +5058,7 @@ App.prototype.updateUserElement = function()
{ {
this.trello.logout(); this.trello.logout();
} }
})); }), mxResources.get('trello'));
} }
if (!connected) if (!connected)

View file

@ -106,6 +106,7 @@ mxscript(drawDevUrl + 'js/diagramly/App.js');
mxscript(drawDevUrl + 'js/diagramly/Menus.js'); mxscript(drawDevUrl + 'js/diagramly/Menus.js');
mxscript(drawDevUrl + 'js/diagramly/Pages.js'); mxscript(drawDevUrl + 'js/diagramly/Pages.js');
mxscript(drawDevUrl + 'js/diagramly/Trees.js'); mxscript(drawDevUrl + 'js/diagramly/Trees.js');
mxscript(drawDevUrl + 'js/diagramly/Minimal.js');
mxscript(drawDevUrl + 'js/diagramly/DevTools.js'); mxscript(drawDevUrl + 'js/diagramly/DevTools.js');
// Vsdx/vssx support // Vsdx/vssx support

View file

@ -7613,7 +7613,9 @@ var LibraryDialog = function(editorUi, name, library, initialImages, file, mode)
rem.setAttribute('title', mxResources.get('delete')); rem.setAttribute('title', mxResources.get('delete'));
rem.setAttribute('align', 'top'); rem.setAttribute('align', 'top');
rem.style.paddingTop = '4px'; rem.style.paddingTop = '4px';
rem.style.marginLeft = '-22px'; rem.style.position = 'absolute';
rem.style.marginLeft = '-12px';
rem.style.zIndex = '1';
rem.style.cursor = 'pointer'; rem.style.cursor = 'pointer';
// Blocks dragging of remove icon // Blocks dragging of remove icon
@ -7622,12 +7624,6 @@ var LibraryDialog = function(editorUi, name, library, initialImages, file, mode)
mxEvent.consume(evt); mxEvent.consume(evt);
}); });
// Seems to bring remove icon on top of graph
if (data == null && img != null)
{
rem.style.position = 'relative';
}
(function(wrapperDiv, dataParam, imgParam) (function(wrapperDiv, dataParam, imgParam)
{ {
mxEvent.addListener(rem, 'click', function(evt) mxEvent.addListener(rem, 'click', function(evt)

View file

@ -248,7 +248,7 @@ DrawioFile.prototype.getId = function()
*/ */
DrawioFile.prototype.isEditable = function() DrawioFile.prototype.isEditable = function()
{ {
return !this.ui.editor.chromeless || this.ui.editor.editable; return !this.ui.editor.isChromelessView() || this.ui.editor.editable;
}; };
/** /**

View file

@ -11,7 +11,7 @@ DriveClient = function(editorUi)
*/ */
this.ui = editorUi; this.ui = editorUi;
if (this.ui.editor.chromeless && urlParams['rt'] != '1') if (this.ui.editor.isChromelessView() && urlParams['rt'] != '1')
{ {
// Workaround for Google Drive requiring the user to click on the file in the // Workaround for Google Drive requiring the user to click on the file in the
// drive UI when not using this scope (user other scope with rt=1 URL param) // drive UI when not using this scope (user other scope with rt=1 URL param)

View file

@ -740,8 +740,9 @@
DiagramFormatPanel.prototype.addView = function(div) DiagramFormatPanel.prototype.addView = function(div)
{ {
var div = diagramFormatPanelAddView.apply(this, arguments); var div = diagramFormatPanelAddView.apply(this, arguments);
var file = this.editorUi.getCurrentFile();
if (mxClient.IS_SVG) if (mxClient.IS_SVG && (urlParams['embed'] == '1' || (file != null && file.isEditable())))
{ {
var ui = this.editorUi; var ui = this.editorUi;
var editor = ui.editor; var editor = ui.editor;

View file

@ -117,6 +117,16 @@
*/ */
EditorUi.prototype.formatEnabled = urlParams['format'] != '0'; EditorUi.prototype.formatEnabled = urlParams['format'] != '0';
/**
* Restores app defaults for UI
*/
EditorUi.prototype.closableScratchpad = true;
/**
* Specifies if PDF export with pages is enabled.
*/
EditorUi.prototype.showCsvImport = true;
/** /**
* Capability check for canvas export * Capability check for canvas export
*/ */
@ -1264,6 +1274,7 @@
// File might have been loaded halfway // File might have been loaded halfway
this.editor.graph.model.clear(); this.editor.graph.model.clear();
this.editor.undoManager.clear(); this.editor.undoManager.clear();
this.setBackgroundImage(null);
// Avoids empty hash with no value // Avoids empty hash with no value
if (window.location.hash != null && window.location.hash.length > 0) if (window.location.hash != null && window.location.hash.length > 0)
@ -1314,7 +1325,7 @@
} }
} }
if (!this.editor.chromeless || this.editor.editable) if (!this.editor.isChromelessView() || this.editor.editable)
{ {
this.editor.graph.selectUnlockedLayer(); this.editor.graph.selectUnlockedLayer();
this.showLayersDialog(); this.showLayersDialog();
@ -1326,7 +1337,7 @@
window.focus(); window.focus();
} }
} }
else if (this.editor.graph.lightbox) else if (this.editor.graph.isLightboxView())
{ {
this.lightboxFit(); this.lightboxFit();
} }
@ -1775,7 +1786,8 @@
var buttons = document.createElement('div'); var buttons = document.createElement('div');
buttons.style.position = 'absolute'; buttons.style.position = 'absolute';
buttons.style.right = '0px'; buttons.style.right = '0px';
buttons.style.top = '5px'; buttons.style.top = '0px';
buttons.style.padding = '8px'
// Workaround for CSS error in IE8 (standards and quirks) // Workaround for CSS error in IE8 (standards and quirks)
if (!mxClient.IS_QUIRKS && document.documentMode != 8) if (!mxClient.IS_QUIRKS && document.documentMode != 8)
@ -1789,38 +1801,40 @@
var btn = document.createElement('img'); var btn = document.createElement('img');
btn.setAttribute('src', Dialog.prototype.closeImage); btn.setAttribute('src', Dialog.prototype.closeImage);
btn.setAttribute('title', mxResources.get('close')); btn.setAttribute('title', mxResources.get('close'));
btn.setAttribute('align', 'top'); btn.setAttribute('valign', 'absmiddle');
btn.setAttribute('border', '0'); btn.setAttribute('border', '0');
btn.className = 'geButton'; btn.style.margin = '0 3px';
btn.style.marginRight = '1px';
btn.style.marginTop = '-1px';
buttons.appendChild(btn);
var saveBtn = null; var saveBtn = null;
mxEvent.addListener(btn, 'click', mxUtils.bind(this, function(evt) if (file.title != '.scratchpad' || this.closableScratchpad)
{ {
// Workaround for close after any button click in IE8/quirks buttons.appendChild(btn);
if (!mxEvent.isConsumed(evt))
mxEvent.addListener(btn, 'click', mxUtils.bind(this, function(evt)
{ {
var fn = mxUtils.bind(this, function() // Workaround for close after any button click in IE8/quirks
if (!mxEvent.isConsumed(evt))
{ {
this.closeLibrary(file); var fn = mxUtils.bind(this, function()
}); {
this.closeLibrary(file);
if (saveBtn != null) });
{
this.confirm(mxResources.get('allChangesLost'), null, fn, if (saveBtn != null)
mxResources.get('cancel'), mxResources.get('discardChanges')); {
this.confirm(mxResources.get('allChangesLost'), null, fn,
mxResources.get('cancel'), mxResources.get('discardChanges'));
}
else
{
fn();
}
mxEvent.consume(evt);
} }
else }));
{ }
fn();
}
mxEvent.consume(evt);
}
}));
if (file.isEditable()) if (file.isEditable())
{ {
@ -2237,8 +2251,7 @@
{ {
var link = document.createElement('span'); var link = document.createElement('span');
link.setAttribute('title', mxResources.get('help')); link.setAttribute('title', mxResources.get('help'));
link.style.cssText = 'color:gray;text-decoration:none;'; link.style.cssText = 'color:#a3a3a3;text-decoration:none;margin-right:2px;';
link.className = 'geButton';
mxUtils.write(link, '?'); mxUtils.write(link, '?');
mxEvent.addGestureListeners(link, mxUtils.bind(this, function(evt) mxEvent.addGestureListeners(link, mxUtils.bind(this, function(evt)
@ -2309,28 +2322,28 @@
EditorUi.initTheme = function() EditorUi.initTheme = function()
{ {
if (uiTheme == 'atlas') if (uiTheme == 'atlas')
{ {
mxClient.link('stylesheet', STYLE_PATH + '/atlas.css'); mxClient.link('stylesheet', STYLE_PATH + '/atlas.css');
if (typeof Toolbar !== 'undefined') if (typeof Toolbar !== 'undefined')
{ {
Toolbar.prototype.unselectedBackground = (mxClient.IS_QUIRKS) ? 'none' : 'linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)'; Toolbar.prototype.unselectedBackground = (mxClient.IS_QUIRKS) ? 'none' : 'linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)';
Toolbar.prototype.selectedBackground = 'rgb(242, 242, 242)'; Toolbar.prototype.selectedBackground = 'rgb(242, 242, 242)';
} }
Editor.prototype.initialTopSpacing = 3; Editor.prototype.initialTopSpacing = 3;
EditorUi.prototype.menubarHeight = 41; EditorUi.prototype.menubarHeight = 41;
EditorUi.prototype.toolbarHeight = 38; EditorUi.prototype.toolbarHeight = 38;
EditorUi.prototype.hsplitPosition = 188; EditorUi.prototype.hsplitPosition = 188;
Sidebar.prototype.thumbWidth = 46; Sidebar.prototype.thumbWidth = 46;
Sidebar.prototype.thumbHeight = 46; Sidebar.prototype.thumbHeight = 46;
Sidebar.prototype.thumbPadding = (document.documentMode >= 5) ? 0 : 1; Sidebar.prototype.thumbPadding = (document.documentMode >= 5) ? 0 : 1;
Sidebar.prototype.thumbBorder = 2; Sidebar.prototype.thumbBorder = 2;
} }
else if (uiTheme == 'dark') else if (uiTheme == 'dark')
{ {
mxClient.link('stylesheet', STYLE_PATH + '/dark.css'); mxClient.link('stylesheet', STYLE_PATH + '/dark.css');
Dialog.backdropColor = '#2a2a2a'; Dialog.backdropColor = '#2a2a2a';
Graph.prototype.defaultThemeName = 'darkTheme'; Graph.prototype.defaultThemeName = 'darkTheme';
@ -2352,7 +2365,7 @@
Editor.helpImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFXRSTlMAT30qCJRBboyDZyCgRzUUdF46MJlgXETgAAAAeklEQVQY022O2w4DIQhEQUURda/9/28tUO2+7CQS5sgQ4F1RapX78YUwRqQjTU8ILqQfKerTKTvACJ4nLX3krt+8aS82oI8aQC4KavRgtvEW/mDvsICgA03PSGRr79MqX1YPNIxzjyqtw8ZnnRo4t5a5undtJYRywau+ds4Cyza3E6YAAAAASUVORK5CYII='; Editor.helpImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFXRSTlMAT30qCJRBboyDZyCgRzUUdF46MJlgXETgAAAAeklEQVQY022O2w4DIQhEQUURda/9/28tUO2+7CQS5sgQ4F1RapX78YUwRqQjTU8ILqQfKerTKTvACJ4nLX3krt+8aS82oI8aQC4KavRgtvEW/mDvsICgA03PSGRr79MqX1YPNIxzjyqtw8ZnnRo4t5a5undtJYRywau+ds4Cyza3E6YAAAAASUVORK5CYII=';
Editor.checkmarkImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAACZmZkICAgEBASNjY2Dg4MYGBiTk5N5eXl1dXVmZmZQUFBCQkI3NzceHh4MDAykpKSJiYl+fn5sbGxaWlo/Pz8SEhK96uPlAAAAAXRSTlMAQObYZgAAAE5JREFUGNPFzTcSgDAQQ1HJGUfy/Y9K7V1qeOUfzQifCQZai1XHaz11LFysbDbzgDSSWMZiETz3+b8yNUc/MMsktxuC8XQBSncdLwz+8gCCggGXzBcozAAAAABJRU5ErkJggg=='; Editor.checkmarkImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAACZmZkICAgEBASNjY2Dg4MYGBiTk5N5eXl1dXVmZmZQUFBCQkI3NzceHh4MDAykpKSJiYl+fn5sbGxaWlo/Pz8SEhK96uPlAAAAAXRSTlMAQObYZgAAAE5JREFUGNPFzTcSgDAQQ1HJGUfy/Y9K7V1qeOUfzQifCQZai1XHaz11LFysbDbzgDSSWMZiETz3+b8yNUc/MMsktxuC8XQBSncdLwz+8gCCggGXzBcozAAAAABJRU5ErkJggg==';
} }
} }
}; };
EditorUi.initTheme(); EditorUi.initTheme();
@ -8420,11 +8433,11 @@
{ {
this.setFileData(xml); this.setFileData(xml);
if (!this.editor.chromeless) if (!this.editor.isChromelessView())
{ {
this.showLayersDialog(); this.showLayersDialog();
} }
else if (this.editor.graph.lightbox) else if (this.editor.graph.isLightboxView())
{ {
this.lightboxFit(); this.lightboxFit();
} }
@ -8992,7 +9005,7 @@
this.buttonContainer.style.paddingRight = '12px'; this.buttonContainer.style.paddingRight = '12px';
this.buttonContainer.style.paddingTop = '12px'; this.buttonContainer.style.paddingTop = '12px';
} }
else else if (uiTheme != 'min')
{ {
this.buttonContainer.style.paddingRight = '38px'; this.buttonContainer.style.paddingRight = '38px';
this.buttonContainer.style.paddingTop = '6px'; this.buttonContainer.style.paddingTop = '6px';

View file

@ -259,8 +259,14 @@ if (urlParams['offline'] == '1' || urlParams['local'] == '1')
urlParams['math'] = '0'; urlParams['math'] = '0';
} }
// Lightbox enabled chromeless mode // Lightbox enables chromeless mode
if (urlParams['lightbox'] == '1') if (urlParams['lightbox'] == '1')
{ {
urlParams['chrome'] = '0'; urlParams['chrome'] = '0';
} }
// Minimal UI disables chromeless toolbar
if (uiTheme == 'min')
{
urlParams['toolbar'] = '0';
}

View file

@ -798,7 +798,7 @@
{ {
if (!mxClient.IS_CHROMEAPP && editorUi.isOffline()) if (!mxClient.IS_CHROMEAPP && editorUi.isOffline())
{ {
this.addMenuItems(menu, ['about']); this.addMenuItems(menu, ['about'], parent);
} }
else else
{ {
@ -822,10 +822,13 @@
encodeURIComponent(term)); encodeURIComponent(term));
this.editorUi.logEvent({category: 'Help', action: 'search', label: term}); this.editorUi.logEvent({category: 'Help', action: 'search', label: term});
window.setTimeout(mxUtils.bind(this, function() if (this.editorUi.menubar != null)
{ {
this.editorUi.menubar.hideMenu(); window.setTimeout(mxUtils.bind(this, function()
}), 0); {
this.editorUi.menubar.hideMenu();
}), 0);
}
} }
})); }));
@ -852,14 +855,14 @@
input.focus(); input.focus();
}, 0); }, 0);
this.addMenuItems(menu, ['-', 'quickStart', 'userManual', 'keyboardShortcuts', '-']); this.addMenuItems(menu, ['-', 'quickStart', 'userManual', 'keyboardShortcuts', '-'], parent);
if (!mxClient.IS_CHROMEAPP) if (!mxClient.IS_CHROMEAPP)
{ {
this.addMenuItems(menu, ['feedback']); this.addMenuItems(menu, ['feedback'], parent);
} }
this.addMenuItems(menu, ['support', '-', 'about']); this.addMenuItems(menu, ['support', '-', 'about'], parent);
} }
if (urlParams['ruler'] == '1') if (urlParams['ruler'] == '1')
@ -1732,11 +1735,14 @@
dlg.init(); dlg.init();
}, parent); }, parent);
} }
menu.addItem(mxResources.get('csv') + '...', null, function() if (editorUi.showCsvImport)
{ {
editorUi.showImportCsvDialog(); menu.addItem(mxResources.get('csv') + '...', null, function()
}, parent); {
editorUi.showImportCsvDialog();
}, parent);
}
})).isEnabled = isGraphEnabled; })).isEnabled = isGraphEnabled;
this.put('theme', new Menu(mxUtils.bind(this, function(menu, parent) this.put('theme', new Menu(mxUtils.bind(this, function(menu, parent)
@ -1748,7 +1754,19 @@
editorUi.alert(mxResources.get('restartForChangeRequired')); editorUi.alert(mxResources.get('restartForChangeRequired'));
}, parent); }, parent);
if (uiTheme != 'atlas' && uiTheme != 'dark') if (uiTheme != 'atlas' && uiTheme != 'dark' && uiTheme != 'min')
{
menu.addCheckmark(item, Editor.checkmarkImage);
}
item = menu.addItem(mxResources.get('minimal'), null, function()
{
mxSettings.setUi('min');
mxSettings.save();
editorUi.alert(mxResources.get('restartForChangeRequired'));
}, parent);
if (uiTheme == 'min')
{ {
menu.addCheckmark(item, Editor.checkmarkImage); menu.addCheckmark(item, Editor.checkmarkImage);
} }
@ -2006,19 +2024,24 @@
graph.getModel().endUpdate(); graph.getModel().endUpdate();
} }
graph.container.focus();
graph.setSelectionCell(cell);
graph.scrollCellToVisible(cell); graph.scrollCellToVisible(cell);
graph.setSelectionCell(cell);
return cell; graph.container.focus();
if (graph.editAfterInsert)
{
graph.startEditing(cell);
}
return cell;
}; };
editorUi.actions.addAction('insertText', function() editorUi.actions.addAction('insertText', function()
{ {
if (graph.isEnabled() && !graph.isCellLocked(graph.getDefaultParent())) if (graph.isEnabled() && !graph.isCellLocked(graph.getDefaultParent()))
{ {
graph.startEditingAtCell(insertVertex('Text', 40, 20, 'text;html=1;resizable=0;autosize=1;' + graph.startEditingAtCell(insertVertex('Text', 40, 20, 'text;html=1;resizable=0;autosize=1;' +
'align=center;verticalAlign=middle;points=[];fillColor=none;strokeColor=none;rounded=0;')); 'align=center;verticalAlign=middle;points=[];fillColor=none;strokeColor=none;rounded=0;'));
} }
}, null, null, Editor.ctrlKey + '+Shift+X').isEnabled = isGraphEnabled; }, null, null, Editor.ctrlKey + '+Shift+X').isEnabled = isGraphEnabled;
@ -2026,7 +2049,7 @@
{ {
if (graph.isEnabled() && !graph.isCellLocked(graph.getDefaultParent())) if (graph.isEnabled() && !graph.isCellLocked(graph.getDefaultParent()))
{ {
insertVertex('', 120, 60, 'whiteSpace=wrap;html=1;'); insertVertex('', 120, 60, 'whiteSpace=wrap;html=1;');
} }
}, null, null, Editor.ctrlKey + '+K').isEnabled = isGraphEnabled; }, null, null, Editor.ctrlKey + '+K').isEnabled = isGraphEnabled;
@ -2034,7 +2057,7 @@
{ {
if (graph.isEnabled() && !graph.isCellLocked(graph.getDefaultParent())) if (graph.isEnabled() && !graph.isCellLocked(graph.getDefaultParent()))
{ {
insertVertex('', 80, 80, 'ellipse;whiteSpace=wrap;html=1;'); insertVertex('', 80, 80, 'ellipse;whiteSpace=wrap;html=1;');
} }
}, null, null, Editor.ctrlKey + '+Shift+K').isEnabled = isGraphEnabled; }, null, null, Editor.ctrlKey + '+Shift+K').isEnabled = isGraphEnabled;
@ -2042,7 +2065,7 @@
{ {
if (graph.isEnabled() && !graph.isCellLocked(graph.getDefaultParent())) if (graph.isEnabled() && !graph.isCellLocked(graph.getDefaultParent()))
{ {
insertVertex('', 80, 80, 'rhombus;whiteSpace=wrap;html=1;'); insertVertex('', 80, 80, 'rhombus;whiteSpace=wrap;html=1;');
} }
}).isEnabled = isGraphEnabled; }).isEnabled = isGraphEnabled;

File diff suppressed because it is too large Load diff

View file

@ -200,7 +200,7 @@ SelectPage.prototype.execute = function()
editor.fireEvent(new mxEventObject('setViewState', 'change', this)); editor.fireEvent(new mxEventObject('setViewState', 'change', this));
// Handles grid state in chromeless mode which is stored in Editor instance // Handles grid state in chromeless mode which is stored in Editor instance
graph.gridEnabled = graph.gridEnabled && (!this.ui.editor.chromeless || graph.gridEnabled = graph.gridEnabled && (!this.ui.editor.isChromelessView() ||
urlParams['grid'] == '1'); urlParams['grid'] == '1');
// Updates the display // Updates the display
@ -345,7 +345,7 @@ EditorUi.prototype.initPages = function()
{ {
this.resetScrollbars(); this.resetScrollbars();
if (graph.lightbox) if (graph.isLightboxView())
{ {
this.lightboxFit(); this.lightboxFit();
} }
@ -448,7 +448,7 @@ Graph.prototype.createViewState = function(node)
guidesEnabled: node.getAttribute('guides') != '0', guidesEnabled: node.getAttribute('guides') != '0',
foldingEnabled: node.getAttribute('fold') != '0', foldingEnabled: node.getAttribute('fold') != '0',
shadowVisible: node.getAttribute('shadow') == '1', shadowVisible: node.getAttribute('shadow') == '1',
pageVisible: (this.lightbox) ? false : ((pv != null) ? (pv != '0') : this.defaultPageVisible), pageVisible: (this.isLightboxView()) ? false : ((pv != null) ? (pv != '0') : this.defaultPageVisible),
background: (bg != null && bg.length > 0) ? bg : this.defaultGraphBackground, background: (bg != null && bg.length > 0) ? bg : this.defaultGraphBackground,
backgroundImage: (bgImg != null) ? new mxImage(bgImg.src, bgImg.width, bgImg.height) : null, backgroundImage: (bgImg != null) ? new mxImage(bgImg.src, bgImg.width, bgImg.height) : null,
pageScale: (ps != null) ? ps : mxGraph.prototype.pageScale, pageScale: (ps != null) ? ps : mxGraph.prototype.pageScale,
@ -869,7 +869,7 @@ EditorUi.prototype.updateTabContainer = function()
// Automatic tab width to match available width // Automatic tab width to match available width
// TODO: Fix tabWidth in chromeless mode // TODO: Fix tabWidth in chromeless mode
var btnWidth = (this.editor.chromeless) ? 29 : 59; var btnWidth = (this.editor.isChromelessView()) ? 29 : 59;
var tabWidth = Math.min(140, Math.max(20, (this.tabContainer.clientWidth - btnWidth) / this.pages.length) + 1); var tabWidth = Math.min(140, Math.max(20, (this.tabContainer.clientWidth - btnWidth) / this.pages.length) + 1);
var startIndex = null; var startIndex = null;
@ -1331,7 +1331,7 @@ EditorUi.prototype.createPageMenu = function(page, label)
//Registers codec for MovePage //Registers codec for MovePage
(function() (function()
{ {
var codec = new mxObjectCodec(new MovePage(), ['ui']); var codec = new mxObjectCodec(new MovePage(), ['ui']);
codec.beforeDecode = function(dec, node, obj) codec.beforeDecode = function(dec, node, obj)
{ {
@ -1346,7 +1346,7 @@ EditorUi.prototype.createPageMenu = function(page, label)
//Registers codec for RenamePage //Registers codec for RenamePage
(function() (function()
{ {
var codec = new mxObjectCodec(new RenamePage(), ['ui', 'page', 'previous']); var codec = new mxObjectCodec(new RenamePage(), ['ui', 'page', 'previous']);
codec.afterEncode = function(enc, obj, node) codec.afterEncode = function(enc, obj, node)
{ {
@ -1376,7 +1376,7 @@ EditorUi.prototype.createPageMenu = function(page, label)
//Registers codec for ChangePage //Registers codec for ChangePage
(function() (function()
{ {
var codec = new mxObjectCodec(new ChangePage(), ['ui', 'relatedPage', 'index', 'neverShown']); var codec = new mxObjectCodec(new ChangePage(), ['ui', 'relatedPage', 'index', 'neverShown']);
codec.afterEncode = function(enc, obj, node) codec.afterEncode = function(enc, obj, node)
{ {

View file

@ -10,7 +10,7 @@
var w = 50; var w = 50;
var h = 50; var h = 50;
var s = 'shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;perimeter=rhombusPerimeter;background=gateway;'; var s = 'shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;perimeter=rhombusPerimeter;background=gateway;outlineConnect=0;';
//default tags //default tags
var dt = 'bpmn business process model gateway '; var dt = 'bpmn business process model gateway ';
@ -100,7 +100,7 @@
this.createVertexTemplateEntry(s + 'outline=end;symbol=terminate;', w, h, '', 'Terminate Gateway', null, null, dt + 'terminate') this.createVertexTemplateEntry(s + 'outline=end;symbol=terminate;', w, h, '', 'Terminate Gateway', null, null, dt + 'terminate')
]); ]);
s = 'shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;perimeter=ellipsePerimeter;'; s = 'shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;perimeter=ellipsePerimeter;outlineConnect=0;';
var dt = 'bpmn business process model event '; var dt = 'bpmn business process model event ';
this.addPaletteFunctions('bpmnEvents', 'BPMN Events', false, this.addPaletteFunctions('bpmnEvents', 'BPMN Events', false,

View file

@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+z.join(",")+"}";f=t;return l}}"function"!==typeof Date.prototy
e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})}); e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
"function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images"; "]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.5.15",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.6.0",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&& 0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&& 0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")|| 0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||
@ -1550,9 +1550,9 @@ function(a,b){return b&&a.view.graph.isCellSelected(a.cell)};this.selectionModel
null);return a}}};Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6; null);return a}}};Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6;
Graph.createSvgImage=function(a,b,c){c=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+b+'px" version="1.1">'+c+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(c):Base64.encode(c,!0)),a,b)};mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null; Graph.createSvgImage=function(a,b,c){c=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+b+'px" version="1.1">'+c+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(c):Base64.encode(c,!0)),a,b)};mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null;
Graph.prototype.linkPolicy="frame"==urlParams.target?"blank":urlParams.target||"auto";Graph.prototype.linkTarget="frame"==urlParams.target?"_self":"_blank";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultPageBackgroundColor="#ffffff";Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.defaultGraphBackground="#ffffff";Graph.prototype.scrollTileSize=new mxRectangle(0,0,400,400); Graph.prototype.linkPolicy="frame"==urlParams.target?"blank":urlParams.target||"auto";Graph.prototype.linkTarget="frame"==urlParams.target?"_self":"_blank";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultPageBackgroundColor="#ffffff";Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.defaultGraphBackground="#ffffff";Graph.prototype.scrollTileSize=new mxRectangle(0,0,400,400);
Graph.prototype.transparentBackground=!0;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.absoluteUrlPattern=/^(?:[a-z]+:)?\/\//i;Graph.prototype.defaultThemeName="default";Graph.prototype.defaultThemes={};Graph.prototype.baseUrl=(window!=window.top?document.referrer:document.location.toString()).split("#")[0]; Graph.prototype.transparentBackground=!0;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.absoluteUrlPattern=/^(?:[a-z]+:)?\/\//i;Graph.prototype.defaultThemeName="default";Graph.prototype.defaultThemes={};Graph.prototype.baseUrl=(window!=window.top?document.referrer:document.location.toString()).split("#")[0];Graph.prototype.editAfterInsert=!1;
Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,c){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,e=!0,f=null,g=mxUtils.bind(this,function(a){e=!0;f=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),h=mxUtils.bind(this,function(a){e=e&&null!=f&&Math.abs(f.x-mxEvent.getClientX(a))<b&&Math.abs(f.y-mxEvent.getClientY(a))<b}),k=mxUtils.bind(this,function(b){if(e)for(var d=mxEvent.getSource(b);null!= Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,c){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,e=!0,f=null,g=mxUtils.bind(this,function(a){e=!0;f=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),h=mxUtils.bind(this,function(a){e=e&&null!=f&&Math.abs(f.x-mxEvent.getClientX(a))<b&&Math.abs(f.y-mxEvent.getClientY(a))<b}),k=mxUtils.bind(this,function(b){if(e)for(var d=mxEvent.getSource(b);null!=
d&&d!=c.node;){if("a"==d.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,d,b);break}d=d.parentNode}});mxEvent.addGestureListeners(c.node,g,h,k);mxEvent.addListener(c.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()}; d&&d!=c.node;){if("a"==d.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,d,b);break}d=d.parentNode}});mxEvent.addGestureListeners(c.node,g,h,k);mxEvent.addListener(c.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};Graph.prototype.isLightboxView=function(){return this.lightbox};
Graph.prototype.labelLinkClicked=function(a,b,c){b=b.getAttribute("href");if(null!=b&&!this.isPageLink(b)&&mxEvent.isLeftMouseButton(c)&&!mxEvent.isPopupTrigger(c)||mxEvent.isTouchEvent(c)){if(!this.isEnabled()||this.isCellLocked(a.cell))a=this.isBlankLink(b)?this.linkTarget:"_top",this.openLink(this.getAbsoluteUrl(b),a);mxEvent.consume(c)}}; Graph.prototype.labelLinkClicked=function(a,b,c){b=b.getAttribute("href");if(null!=b&&!this.isPageLink(b)&&mxEvent.isLeftMouseButton(c)&&!mxEvent.isPopupTrigger(c)||mxEvent.isTouchEvent(c)){if(!this.isEnabled()||this.isCellLocked(a.cell))a=this.isBlankLink(b)?this.linkTarget:"_top",this.openLink(this.getAbsoluteUrl(b),a);mxEvent.consume(c)}};
Graph.prototype.openLink=function(a,b){var c=window;if("_self"==b&&window!=window.top)window.location.href=a;else if(a.substring(0,this.baseUrl.length)==this.baseUrl&&"#"==a.charAt(this.baseUrl.length)&&"_top"==b&&window==window.top){var d=a.split("#")[1];window.location.hash=="#"+d&&(window.location.hash="");window.location.hash=d}else c=window.open(a,b);return c};Graph.prototype.isPageLink=function(a){return!1}; Graph.prototype.openLink=function(a,b){var c=window;if("_self"==b&&window!=window.top)window.location.href=a;else if(a.substring(0,this.baseUrl.length)==this.baseUrl&&"#"==a.charAt(this.baseUrl.length)&&"_top"==b&&window==window.top){var d=a.split("#")[1];window.location.hash=="#"+d&&(window.location.hash="");window.location.hash=d}else c=window.open(a,b);return c};Graph.prototype.isPageLink=function(a){return!1};
Graph.prototype.pageLinkClicked=function(a,b){this.fireEvent(new mxEventObject("pageLinkClicked","cell",a,"href",b))};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)}; Graph.prototype.pageLinkClicked=function(a,b){this.fireEvent(new mxEventObject("pageLinkClicked","cell",a,"href",b))};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)};
@ -1674,7 +1674,7 @@ arguments)};Graph.prototype.removeCellsAfterUngroup=function(a){for(var b=[],c=0
for(var e=0;e<a.length;e++)if(this.model.isEdge(this.model.getParent(a[e])))return null;return mxGraph.prototype.getDropTarget.apply(this,arguments)};Graph.prototype.click=function(a){mxGraph.prototype.click.call(this,a);this.firstClickState=a.getState();this.firstClickSource=a.getSource()};Graph.prototype.dblClick=function(a,b){if(this.isEnabled()){var c=mxUtils.convertPoint(this.container,mxEvent.getClientX(a),mxEvent.getClientY(a));if(null!=a&&!this.model.isVertex(b)){var d=this.model.isEdge(b)? for(var e=0;e<a.length;e++)if(this.model.isEdge(this.model.getParent(a[e])))return null;return mxGraph.prototype.getDropTarget.apply(this,arguments)};Graph.prototype.click=function(a){mxGraph.prototype.click.call(this,a);this.firstClickState=a.getState();this.firstClickSource=a.getSource()};Graph.prototype.dblClick=function(a,b){if(this.isEnabled()){var c=mxUtils.convertPoint(this.container,mxEvent.getClientX(a),mxEvent.getClientY(a));if(null!=a&&!this.model.isVertex(b)){var d=this.model.isEdge(b)?
this.view.getState(b):null,e=mxEvent.getSource(a);this.firstClickState!=d||this.firstClickSource!=e||null!=d&&null!=d.text&&null!=d.text.node&&(mxUtils.contains(d.text.boundingBox,c.x,c.y)||mxUtils.isAncestorNode(d.text.node,mxEvent.getSource(a)))||(null!=d||this.isCellLocked(this.getDefaultParent()))&&(null==d||this.isCellLocked(d.cell))||!(null!=d||mxClient.IS_VML&&e==this.view.getCanvas()||mxClient.IS_SVG&&e==this.view.getCanvas().ownerSVGElement)||(b=this.addText(c.x,c.y,d))}mxGraph.prototype.dblClick.call(this, this.view.getState(b):null,e=mxEvent.getSource(a);this.firstClickState!=d||this.firstClickSource!=e||null!=d&&null!=d.text&&null!=d.text.node&&(mxUtils.contains(d.text.boundingBox,c.x,c.y)||mxUtils.isAncestorNode(d.text.node,mxEvent.getSource(a)))||(null!=d||this.isCellLocked(this.getDefaultParent()))&&(null==d||this.isCellLocked(d.cell))||!(null!=d||mxClient.IS_VML&&e==this.view.getCanvas()||mxClient.IS_SVG&&e==this.view.getCanvas().ownerSVGElement)||(b=this.addText(c.x,c.y,d))}mxGraph.prototype.dblClick.call(this,
a,b)}};Graph.prototype.getInsertPoint=function(){var a=this.getGridSize(),b=this.container.scrollLeft/this.view.scale-this.view.translate.x,c=this.container.scrollTop/this.view.scale-this.view.translate.y;if(this.pageVisible)var d=this.getPageLayout(),e=this.getPageSize(),b=Math.max(b,d.x*e.width),c=Math.max(c,d.y*e.height);return new mxPoint(this.snap(b+a),this.snap(c+a))};Graph.prototype.getFreeInsertPoint=function(){var a=this.view,b=this.getGraphBounds(),c=this.getInsertPoint(),d=this.snap(Math.round(Math.max(c.x, a,b)}};Graph.prototype.getInsertPoint=function(){var a=this.getGridSize(),b=this.container.scrollLeft/this.view.scale-this.view.translate.x,c=this.container.scrollTop/this.view.scale-this.view.translate.y;if(this.pageVisible)var d=this.getPageLayout(),e=this.getPageSize(),b=Math.max(b,d.x*e.width),c=Math.max(c,d.y*e.height);return new mxPoint(this.snap(b+a),this.snap(c+a))};Graph.prototype.getFreeInsertPoint=function(){var a=this.view,b=this.getGraphBounds(),c=this.getInsertPoint(),d=this.snap(Math.round(Math.max(c.x,
b.x/a.scale-a.translate.x+(0==b.width?this.gridSize:0)))),a=this.snap(Math.round(Math.max(c.y,(b.y+b.height)/a.scale-a.translate.y+(0==b.height?1:2)*this.gridSize)));return new mxPoint(d,a)};Graph.prototype.isMouseInsertPoint=function(){return!1};Graph.prototype.addText=function(a,b,c){var d=new mxCell;d.value="Text";d.style="text;html=1;resizable=0;points=[];";d.geometry=new mxGeometry(0,0,0,0);d.vertex=!0;if(null!=c){d.style+="align=center;verticalAlign=middle;labelBackgroundColor=#ffffff;";d.geometry.relative= b.x/a.scale-a.translate.x+(0==b.width?2*this.gridSize:0)))),a=this.snap(Math.round(Math.max(c.y,(b.y+b.height)/a.scale-a.translate.y+2*this.gridSize)));return new mxPoint(d,a)};Graph.prototype.isMouseInsertPoint=function(){return!1};Graph.prototype.addText=function(a,b,c){var d=new mxCell;d.value="Text";d.style="text;html=1;resizable=0;points=[];";d.geometry=new mxGeometry(0,0,0,0);d.vertex=!0;if(null!=c){d.style+="align=center;verticalAlign=middle;labelBackgroundColor=#ffffff;";d.geometry.relative=
!0;d.connectable=!1;var e=this.view.getRelativePoint(c,a,b);d.geometry.x=Math.round(1E4*e.x)/1E4;d.geometry.y=Math.round(e.y);d.geometry.offset=new mxPoint(0,0);var e=this.view.getPoint(c,d.geometry),f=this.view.scale;d.geometry.offset=new mxPoint(Math.round((a-e.x)/f),Math.round((b-e.y)/f))}else d.style+="autosize=1;align=left;verticalAlign=top;spacingTop=-4;",e=this.view.translate,d.geometry.width=40,d.geometry.height=20,d.geometry.x=Math.round(a/this.view.scale)-e.x,d.geometry.y=Math.round(b/this.view.scale)- !0;d.connectable=!1;var e=this.view.getRelativePoint(c,a,b);d.geometry.x=Math.round(1E4*e.x)/1E4;d.geometry.y=Math.round(e.y);d.geometry.offset=new mxPoint(0,0);var e=this.view.getPoint(c,d.geometry),f=this.view.scale;d.geometry.offset=new mxPoint(Math.round((a-e.x)/f),Math.round((b-e.y)/f))}else d.style+="autosize=1;align=left;verticalAlign=top;spacingTop=-4;",e=this.view.translate,d.geometry.width=40,d.geometry.height=20,d.geometry.x=Math.round(a/this.view.scale)-e.x,d.geometry.y=Math.round(b/this.view.scale)-
e.y;this.getModel().beginUpdate();try{this.addCells([d],null!=c?c.cell:null),this.fireEvent(new mxEventObject("textInserted","cells",[d])),this.autoSizeCell(d)}finally{this.getModel().endUpdate()}return d};Graph.prototype.getAbsoluteUrl=function(a){null!=a&&this.isRelativeUrl(a)&&(a="#"==a.charAt(0)?this.baseUrl+a:"/"==a.charAt(0)?this.domainUrl+a:this.domainPathUrl+a);return a};Graph.prototype.addClickHandler=function(a,b,c){var d=mxUtils.bind(this,function(){var a=this.container.getElementsByTagName("a"); e.y;this.getModel().beginUpdate();try{this.addCells([d],null!=c?c.cell:null),this.fireEvent(new mxEventObject("textInserted","cells",[d])),this.autoSizeCell(d)}finally{this.getModel().endUpdate()}return d};Graph.prototype.getAbsoluteUrl=function(a){null!=a&&this.isRelativeUrl(a)&&(a="#"==a.charAt(0)?this.baseUrl+a:"/"==a.charAt(0)?this.domainUrl+a:this.domainPathUrl+a);return a};Graph.prototype.addClickHandler=function(a,b,c){var d=mxUtils.bind(this,function(){var a=this.container.getElementsByTagName("a");
if(null!=a)for(var c=0;c<a.length;c++){var d=this.getAbsoluteUrl(a[c].getAttribute("href"));null!=d&&(a[c].setAttribute("href",d),null!=b&&mxEvent.addGestureListeners(a[c],null,null,b))}});this.model.addListener(mxEvent.CHANGE,d);d();var e=this.container.style.cursor,f=this.getTolerance(),g=this,h={currentState:null,currentLink:null,highlight:null!=a&&""!=a&&a!=mxConstants.NONE?new mxCellHighlight(g,a,4):null,startX:0,startY:0,scrollLeft:0,scrollTop:0,updateCurrentState:function(a){a=a.sourceState; if(null!=a)for(var c=0;c<a.length;c++){var d=this.getAbsoluteUrl(a[c].getAttribute("href"));null!=d&&(a[c].setAttribute("href",d),null!=b&&mxEvent.addGestureListeners(a[c],null,null,b))}});this.model.addListener(mxEvent.CHANGE,d);d();var e=this.container.style.cursor,f=this.getTolerance(),g=this,h={currentState:null,currentLink:null,highlight:null!=a&&""!=a&&a!=mxConstants.NONE?new mxCellHighlight(g,a,4):null,startX:0,startY:0,scrollLeft:0,scrollTop:0,updateCurrentState:function(a){a=a.sourceState;

View file

@ -269,6 +269,14 @@ Editor.prototype.editBlankUrl = window.location.protocol + '//' + window.locatio
*/ */
Editor.prototype.init = function() { }; Editor.prototype.init = function() { };
/**
* Sets the XML node for the current diagram.
*/
Editor.prototype.isChromelessView = function()
{
return this.chromeless;
};
/** /**
* Sets the XML node for the current diagram. * Sets the XML node for the current diagram.
*/ */
@ -293,6 +301,11 @@ Editor.prototype.editAsNew = function(xml, title)
{ {
var p = (title != null) ? '?title=' + encodeURIComponent(title) : ''; var p = (title != null) ? '?title=' + encodeURIComponent(title) : '';
if (urlParams['ui'] != null)
{
p += ((p.length > 0) ? '&' : '?') + 'ui=' + urlParams['ui'];
}
if (this.editorWindow != null && !this.editorWindow.closed) if (this.editorWindow != null && !this.editorWindow.closed)
{ {
this.editorWindow.focus(); this.editorWindow.focus();
@ -348,7 +361,7 @@ Editor.prototype.createGraph = function(themes, model)
*/ */
Editor.prototype.resetGraph = function() Editor.prototype.resetGraph = function()
{ {
this.graph.gridEnabled = !this.chromeless || urlParams['grid'] == '1'; this.graph.gridEnabled = !this.isChromelessView() || urlParams['grid'] == '1';
this.graph.graphHandler.guidesEnabled = true; this.graph.graphHandler.guidesEnabled = true;
this.graph.setTooltips(true); this.graph.setTooltips(true);
this.graph.setConnectable(true); this.graph.setConnectable(true);
@ -369,7 +382,7 @@ Editor.prototype.resetGraph = function()
*/ */
Editor.prototype.readGraphState = function(node) Editor.prototype.readGraphState = function(node)
{ {
this.graph.gridEnabled = node.getAttribute('grid') != '0' && (!this.chromeless || urlParams['grid'] == '1'); this.graph.gridEnabled = node.getAttribute('grid') != '0' && (!this.isChromelessView() || urlParams['grid'] == '1');
this.graph.gridSize = parseFloat(node.getAttribute('gridSize')) || mxGraph.prototype.gridSize; this.graph.gridSize = parseFloat(node.getAttribute('gridSize')) || mxGraph.prototype.gridSize;
this.graph.graphHandler.guidesEnabled = node.getAttribute('guides') != '0'; this.graph.graphHandler.guidesEnabled = node.getAttribute('guides') != '0';
this.graph.setTooltips(node.getAttribute('tooltips') != '0'); this.graph.setTooltips(node.getAttribute('tooltips') != '0');
@ -394,7 +407,7 @@ Editor.prototype.readGraphState = function(node)
this.graph.pageScale = mxGraph.prototype.pageScale; this.graph.pageScale = mxGraph.prototype.pageScale;
} }
if (!this.graph.lightbox) if (!this.graph.isLightboxView())
{ {
var pv = node.getAttribute('page'); var pv = node.getAttribute('page');

View file

@ -487,6 +487,7 @@ EditorUi = function(editor, container, lightbox)
['strokeColor', 'strokeWidth'], ['strokeColor', 'strokeWidth'],
['fillColor', 'gradientColor'], ['fillColor', 'gradientColor'],
valueStyles, valueStyles,
['opacity'],
['align'], ['align'],
['html']]; ['html']];
@ -1361,7 +1362,7 @@ EditorUi.prototype.initCanvas = function()
var resize = null; var resize = null;
var ui = this; var ui = this;
if (this.editor.chromeless) if (this.editor.isChromelessView())
{ {
resize = mxUtils.bind(this, function(autoscale, maxScale, cx, cy) resize = mxUtils.bind(this, function(autoscale, maxScale, cx, cy)
{ {
@ -1518,7 +1519,6 @@ EditorUi.prototype.initCanvas = function()
mxEvent.consume(evt); mxEvent.consume(evt);
}), Editor.previousLargeImage, mxResources.get('previousPage')); }), Editor.previousLargeImage, mxResources.get('previousPage'));
var pageInfo = document.createElement('div'); var pageInfo = document.createElement('div');
pageInfo.style.display = 'inline-block'; pageInfo.style.display = 'inline-block';
pageInfo.style.verticalAlign = 'top'; pageInfo.style.verticalAlign = 'top';
@ -1582,7 +1582,7 @@ EditorUi.prototype.initCanvas = function()
addButton(mxUtils.bind(this, function(evt) addButton(mxUtils.bind(this, function(evt)
{ {
if (graph.lightbox) if (graph.isLightboxView())
{ {
if (graph.view.scale == 1) if (graph.view.scale == 1)
{ {
@ -2152,7 +2152,7 @@ EditorUi.prototype.addBeforeUnloadListener = function()
// This must be disabled during save and image export // This must be disabled during save and image export
window.onbeforeunload = mxUtils.bind(this, function() window.onbeforeunload = mxUtils.bind(this, function()
{ {
if (!this.editor.chromeless) if (!this.editor.isChromelessView())
{ {
return this.onBeforeUnload(); return this.onBeforeUnload();
} }
@ -2442,7 +2442,7 @@ EditorUi.prototype.resetScrollbars = function()
graph.view.setTranslate(0, 0); graph.view.setTranslate(0, 0);
} }
} }
else if (!this.editor.chromeless) else if (!this.editor.isChromelessView())
{ {
if (mxUtils.hasScrollbars(graph.container)) if (mxUtils.hasScrollbars(graph.container))
{ {

View file

@ -1274,7 +1274,7 @@ BaseFormatPanel.prototype.createRelativeOption = function(label, key, width, han
mxUtils.write(div, label); mxUtils.write(div, label);
div.style.fontWeight = 'bold'; div.style.fontWeight = 'bold';
function update(evt) var update = mxUtils.bind(this, function(evt)
{ {
if (handler != null) if (handler != null)
{ {
@ -1295,13 +1295,15 @@ BaseFormatPanel.prototype.createRelativeOption = function(label, key, width, han
} }
graph.setCellStyles(key, value, graph.getSelectionCells()); graph.setCellStyles(key, value, graph.getSelectionCells());
this.editorUi.fireEvent(new mxEventObject('styleChanged', 'keys', [key],
'values', [value], 'cells', graph.getSelectionCells()));
} }
input.value = ((value != null) ? value : '100') + ' %'; input.value = ((value != null) ? value : '100') + ' %';
} }
mxEvent.consume(evt); mxEvent.consume(evt);
}; });
var input = this.addUnitInput(div, '%', 20, width, update, 10, -15, handler != null); var input = this.addUnitInput(div, '%', 20, width, update, 10, -15, handler != null);
@ -5089,7 +5091,6 @@ DiagramFormatPanel.prototype.addGridOption = function(container)
if (color == mxConstants.NONE) if (color == mxConstants.NONE)
{ {
graph.setGridEnabled(false); graph.setGridEnabled(false);
ui.fireEvent(new mxEventObject('gridEnabledChanged'));
} }
else else
{ {
@ -5099,6 +5100,7 @@ DiagramFormatPanel.prototype.addGridOption = function(container)
input.style.display = (graph.isGridEnabled()) ? '' : 'none'; input.style.display = (graph.isGridEnabled()) ? '' : 'none';
stepper.style.display = input.style.display; stepper.style.display = input.style.display;
ui.fireEvent(new mxEventObject('gridEnabledChanged'));
}, '#e0e0e0', }, '#e0e0e0',
{ {
install: function(apply) install: function(apply)

View file

@ -1035,6 +1035,11 @@ Graph.prototype.defaultThemes = {};
*/ */
Graph.prototype.baseUrl = ((window != window.top) ? document.referrer : document.location.toString()).split('#')[0]; Graph.prototype.baseUrl = ((window != window.top) ? document.referrer : document.location.toString()).split('#')[0];
/**
* Specifies if the label should be edited after an insert.
*/
Graph.prototype.editAfterInsert = false;
/** /**
* Installs child layout styles. * Installs child layout styles.
*/ */
@ -1094,6 +1099,14 @@ Graph.prototype.init = function(container)
this.initLayoutManager(); this.initLayoutManager();
}; };
/**
* Sets the XML node for the current diagram.
*/
Graph.prototype.isLightboxView = function()
{
return this.lightbox;
};
/** /**
* Installs automatic layout via styles * Installs automatic layout via styles
*/ */
@ -1938,6 +1951,7 @@ Graph.prototype.connectVertex = function(source, direction, length, evt, forceCl
// var elbowValue = (direction == mxConstants.DIRECTION_NORTH || direction == mxConstants.DIRECTION_SOUTH) ? 'vertical' : 'horizontal'; // var elbowValue = (direction == mxConstants.DIRECTION_NORTH || direction == mxConstants.DIRECTION_SOUTH) ? 'vertical' : 'horizontal';
// edge.style = mxUtils.setStyle(edge.style, 'edgeStyle', 'elbowEdgeStyle'); // edge.style = mxUtils.setStyle(edge.style, 'edgeStyle', 'elbowEdgeStyle');
// edge.style = mxUtils.setStyle(edge.style, 'elbow', elbowValue); // edge.style = mxUtils.setStyle(edge.style, 'elbow', elbowValue);
// edge.style = mxUtils.setStyle(edge.style, 'sourcePortConstraint', direction);
result.push(edge); result.push(edge);
} }
@ -3071,6 +3085,9 @@ HoverIcons.prototype.drag = function(evt, x, y)
// Uses elbow edges with vertical or horizontal direction // Uses elbow edges with vertical or horizontal direction
// var direction = this.getDirection(); // var direction = this.getDirection();
// var es = this.graph.connectionHandler.edgeState;
// es.cell.style = mxUtils.setStyle(es.cell.style, 'sourcePortConstraint', direction);
// es.style['sourcePortConstraint'] = direction;
// var elbowValue = (direction == mxConstants.DIRECTION_NORTH || direction == mxConstants.DIRECTION_SOUTH) ? 'vertical' : 'horizontal'; // var elbowValue = (direction == mxConstants.DIRECTION_NORTH || direction == mxConstants.DIRECTION_SOUTH) ? 'vertical' : 'horizontal';
// //
// var es = this.graph.connectionHandler.edgeState; // var es = this.graph.connectionHandler.edgeState;
@ -5113,9 +5130,9 @@ if (typeof mxVertexHandler != 'undefined')
// Places at same x-coord and 2 grid sizes below existing graph // Places at same x-coord and 2 grid sizes below existing graph
var x = this.snap(Math.round(Math.max(pt.x, bds.x / view.scale - view.translate.x + var x = this.snap(Math.round(Math.max(pt.x, bds.x / view.scale - view.translate.x +
((bds.width == 0) ? this.gridSize : 0)))); ((bds.width == 0) ? 2 * this.gridSize : 0))));
var y = this.snap(Math.round(Math.max(pt.y, (bds.y + bds.height) / view.scale - view.translate.y + var y = this.snap(Math.round(Math.max(pt.y, (bds.y + bds.height) / view.scale - view.translate.y +
((bds.height == 0) ? 1 : 2) * this.gridSize))); 2 * this.gridSize)));
return new mxPoint(x, y); return new mxPoint(x, y);
}; };

View file

@ -510,13 +510,13 @@ Menus.prototype.get = function(name)
/** /**
* Adds the given submenu. * Adds the given submenu.
*/ */
Menus.prototype.addSubmenu = function(name, menu, parent) Menus.prototype.addSubmenu = function(name, menu, parent, label)
{ {
var enabled = this.get(name).isEnabled(); var enabled = this.get(name).isEnabled();
if (menu.showDisabled || enabled) if (menu.showDisabled || enabled)
{ {
var submenu = menu.addItem(mxResources.get(name), null, null, parent, null, enabled); var submenu = menu.addItem(label || mxResources.get(name), null, null, parent, null, enabled);
this.addMenu(name, menu, submenu); this.addMenu(name, menu, submenu);
} }
}; };
@ -1118,17 +1118,19 @@ Menus.prototype.createMenubar = function(container)
/** /**
* Creates the keyboard event handler for the current graph and history. * Creates the keyboard event handler for the current graph and history.
*/ */
Menus.prototype.menuCreated = function(menu, elt) Menus.prototype.menuCreated = function(menu, elt, className)
{ {
if (elt != null) if (elt != null)
{ {
className = (className != null) ? className : 'geItem';
menu.addListener('stateChanged', function() menu.addListener('stateChanged', function()
{ {
elt.enabled = menu.enabled; elt.enabled = menu.enabled;
if (!menu.enabled) if (!menu.enabled)
{ {
elt.className = 'geItem mxDisabled'; elt.className = className + ' mxDisabled';
if (document.documentMode == 8) if (document.documentMode == 8)
{ {
@ -1137,7 +1139,7 @@ Menus.prototype.menuCreated = function(menu, elt)
} }
else else
{ {
elt.className = 'geItem'; elt.className = className;
if (document.documentMode == 8) if (document.documentMode == 8)
{ {

View file

@ -1610,7 +1610,7 @@ Sidebar.prototype.addBpmnPalette = function(dir, expand)
var cell = new mxCell('Sub-Process', new mxGeometry(0, 0, 120, 80), 'html=1;whiteSpace=wrap;rounded=1;'); var cell = new mxCell('Sub-Process', new mxGeometry(0, 0, 120, 80), 'html=1;whiteSpace=wrap;rounded=1;');
cell.vertex = true; cell.vertex = true;
var cell1 = new mxCell('', new mxGeometry(0.5, 1, 14, 14), 'html=1;shape=plus;'); var cell1 = new mxCell('', new mxGeometry(0.5, 1, 14, 14), 'html=1;shape=plus;outlineConnect=0;');
cell1.vertex = true; cell1.vertex = true;
cell1.geometry.relative = true; cell1.geometry.relative = true;
cell1.geometry.offset = new mxPoint(-7, -14); cell1.geometry.offset = new mxPoint(-7, -14);
@ -1623,7 +1623,7 @@ Sidebar.prototype.addBpmnPalette = function(dir, expand)
var cell = new mxCell('Looped\nSub-Process', new mxGeometry(0, 0, 120, 80), 'html=1;whiteSpace=wrap;rounded=1'); var cell = new mxCell('Looped\nSub-Process', new mxGeometry(0, 0, 120, 80), 'html=1;whiteSpace=wrap;rounded=1');
cell.vertex = true; cell.vertex = true;
var cell1 = new mxCell('', new mxGeometry(0.5, 1, 14, 14), 'html=1;shape=mxgraph.bpmn.loop;'); var cell1 = new mxCell('', new mxGeometry(0.5, 1, 14, 14), 'html=1;shape=mxgraph.bpmn.loop;outlineConnect=0;');
cell1.vertex = true; cell1.vertex = true;
cell1.geometry.relative = true; cell1.geometry.relative = true;
cell1.geometry.offset = new mxPoint(-15, -14); cell1.geometry.offset = new mxPoint(-15, -14);
@ -1642,7 +1642,7 @@ Sidebar.prototype.addBpmnPalette = function(dir, expand)
var cell = new mxCell('Receive', new mxGeometry(0, 0, 120, 80), 'html=1;whiteSpace=wrap;rounded=1;'); var cell = new mxCell('Receive', new mxGeometry(0, 0, 120, 80), 'html=1;whiteSpace=wrap;rounded=1;');
cell.vertex = true; cell.vertex = true;
var cell1 = new mxCell('', new mxGeometry(0, 0, 20, 14), 'html=1;shape=message;'); var cell1 = new mxCell('', new mxGeometry(0, 0, 20, 14), 'html=1;shape=message;outlineConnect=0;');
cell1.vertex = true; cell1.vertex = true;
cell1.geometry.relative = true; cell1.geometry.relative = true;
cell1.geometry.offset = new mxPoint(7, 7); cell1.geometry.offset = new mxPoint(7, 7);
@ -1655,13 +1655,13 @@ Sidebar.prototype.addBpmnPalette = function(dir, expand)
var cell = new mxCell('User', new mxGeometry(0, 0, 120, 80), 'html=1;whiteSpace=wrap;rounded=1;'); var cell = new mxCell('User', new mxGeometry(0, 0, 120, 80), 'html=1;whiteSpace=wrap;rounded=1;');
cell.vertex = true; cell.vertex = true;
var cell1 = new mxCell('', new mxGeometry(0, 0, 14, 14), 'html=1;shape=mxgraph.bpmn.user_task;'); var cell1 = new mxCell('', new mxGeometry(0, 0, 14, 14), 'html=1;shape=mxgraph.bpmn.user_task;outlineConnect=0;');
cell1.vertex = true; cell1.vertex = true;
cell1.geometry.relative = true; cell1.geometry.relative = true;
cell1.geometry.offset = new mxPoint(7, 7); cell1.geometry.offset = new mxPoint(7, 7);
cell.insert(cell1); cell.insert(cell1);
var cell2 = new mxCell('', new mxGeometry(0.5, 1, 14, 14), 'html=1;shape=plus;'); var cell2 = new mxCell('', new mxGeometry(0.5, 1, 14, 14), 'html=1;shape=plus;outlineConnect=0;');
cell2.vertex = true; cell2.vertex = true;
cell2.geometry.relative = true; cell2.geometry.relative = true;
cell2.geometry.offset = new mxPoint(-7, -14); cell2.geometry.offset = new mxPoint(-7, -14);
@ -1674,7 +1674,7 @@ Sidebar.prototype.addBpmnPalette = function(dir, expand)
var cell = new mxCell('Process', new mxGeometry(0, 0, 120, 80), 'html=1;whiteSpace=wrap;rounded=1;'); var cell = new mxCell('Process', new mxGeometry(0, 0, 120, 80), 'html=1;whiteSpace=wrap;rounded=1;');
cell.vertex = true; cell.vertex = true;
var cell1 = new mxCell('', new mxGeometry(1, 1, 30, 30), 'shape=mxgraph.bpmn.timer_start;perimeter=ellipsePerimeter;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;'); var cell1 = new mxCell('', new mxGeometry(1, 1, 30, 30), 'shape=mxgraph.bpmn.timer_start;perimeter=ellipsePerimeter;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;outlineConnect=0;');
cell1.vertex = true; cell1.vertex = true;
cell1.geometry.relative = true; cell1.geometry.relative = true;
cell1.geometry.offset = new mxPoint(-40, -15); cell1.geometry.offset = new mxPoint(-40, -15);
@ -1687,7 +1687,7 @@ Sidebar.prototype.addBpmnPalette = function(dir, expand)
var cell = new mxCell('Process', new mxGeometry(0, 0, 120, 80), 'html=1;whiteSpace=wrap;rounded=1;'); var cell = new mxCell('Process', new mxGeometry(0, 0, 120, 80), 'html=1;whiteSpace=wrap;rounded=1;');
cell.vertex = true; cell.vertex = true;
var cell1 = new mxCell('', new mxGeometry(1, 0, 30, 30), 'shape=mxgraph.bpmn.timer_start;perimeter=ellipsePerimeter;html=1;labelPosition=right;labelBackgroundColor=#ffffff;align=left;'); var cell1 = new mxCell('', new mxGeometry(1, 0, 30, 30), 'shape=mxgraph.bpmn.timer_start;perimeter=ellipsePerimeter;html=1;labelPosition=right;labelBackgroundColor=#ffffff;align=left;outlineConnect=0;');
cell1.vertex = true; cell1.vertex = true;
cell1.geometry.relative = true; cell1.geometry.relative = true;
cell1.geometry.offset = new mxPoint(-15, 10); cell1.geometry.offset = new mxPoint(-15, 10);
@ -1697,11 +1697,11 @@ Sidebar.prototype.addBpmnPalette = function(dir, expand)
}), }),
this.createVertexTemplateEntry('swimlane;html=1;horizontal=0;startSize=20;', 320, 240, 'Pool', 'Pool', null, null, 'bpmn pool'), this.createVertexTemplateEntry('swimlane;html=1;horizontal=0;startSize=20;', 320, 240, 'Pool', 'Pool', null, null, 'bpmn pool'),
this.createVertexTemplateEntry('swimlane;html=1;horizontal=0;swimlaneFillColor=white;swimlaneLine=0;', 300, 120, 'Lane', 'Lane', null, null, 'bpmn lane'), this.createVertexTemplateEntry('swimlane;html=1;horizontal=0;swimlaneFillColor=white;swimlaneLine=0;', 300, 120, 'Lane', 'Lane', null, null, 'bpmn lane'),
this.createVertexTemplateEntry('shape=hexagon;html=1;whiteSpace=wrap;perimeter=hexagonPerimeter;', 60, 50, '', 'Conversation', null, null, 'bpmn conversation'), this.createVertexTemplateEntry('shape=hexagon;html=1;whiteSpace=wrap;perimeter=hexagonPerimeter;rounded=0;', 60, 50, '', 'Conversation', null, null, 'bpmn conversation'),
this.createVertexTemplateEntry('shape=hexagon;html=1;whiteSpace=wrap;perimeter=hexagonPerimeter;strokeWidth=4', 60, 50, '', 'Call Conversation', null, null, 'bpmn call conversation'), this.createVertexTemplateEntry('shape=hexagon;html=1;whiteSpace=wrap;perimeter=hexagonPerimeter;strokeWidth=4;rounded=0;', 60, 50, '', 'Call Conversation', null, null, 'bpmn call conversation'),
this.addEntry('bpmn subconversation sub conversation sub-conversation', function() this.addEntry('bpmn subconversation sub conversation sub-conversation', function()
{ {
var cell = new mxCell('', new mxGeometry(0, 0, 60, 50), 'shape=hexagon;whiteSpace=wrap;html=1;perimeter=hexagonPerimeter;'); var cell = new mxCell('', new mxGeometry(0, 0, 60, 50), 'shape=hexagon;whiteSpace=wrap;html=1;perimeter=hexagonPerimeter;rounded=0;');
cell.vertex = true; cell.vertex = true;
var cell1 = new mxCell('', new mxGeometry(0.5, 1, 14, 14), 'html=1;shape=plus;'); var cell1 = new mxCell('', new mxGeometry(0.5, 1, 14, 14), 'html=1;shape=plus;');
@ -1717,13 +1717,13 @@ Sidebar.prototype.addBpmnPalette = function(dir, expand)
var cell = new mxCell('', new mxGeometry(0, 0, 40, 60), 'shape=note;whiteSpace=wrap;size=16;html=1;'); var cell = new mxCell('', new mxGeometry(0, 0, 40, 60), 'shape=note;whiteSpace=wrap;size=16;html=1;');
cell.vertex = true; cell.vertex = true;
var cell1 = new mxCell('', new mxGeometry(0, 0, 14, 14), 'html=1;shape=singleArrow;arrowWidth=0.4;arrowSize=0.4;'); var cell1 = new mxCell('', new mxGeometry(0, 0, 14, 14), 'html=1;shape=singleArrow;arrowWidth=0.4;arrowSize=0.4;outlineConnect=0;');
cell1.vertex = true; cell1.vertex = true;
cell1.geometry.relative = true; cell1.geometry.relative = true;
cell1.geometry.offset = new mxPoint(2, 2); cell1.geometry.offset = new mxPoint(2, 2);
cell.insert(cell1); cell.insert(cell1);
var cell2 = new mxCell('', new mxGeometry(0.5, 1, 14, 14), 'html=1;whiteSpace=wrap;shape=parallelMarker;'); var cell2 = new mxCell('', new mxGeometry(0.5, 1, 14, 14), 'html=1;whiteSpace=wrap;shape=parallelMarker;outlineConnect=0;');
cell2.vertex = true; cell2.vertex = true;
cell2.geometry.relative = true; cell2.geometry.relative = true;
cell2.geometry.offset = new mxPoint(-7, -14); cell2.geometry.offset = new mxPoint(-7, -14);
@ -1732,19 +1732,19 @@ Sidebar.prototype.addBpmnPalette = function(dir, expand)
return sb.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'Data Object'); return sb.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'Data Object');
}), }),
this.createVertexTemplateEntry('shape=datastore;whiteSpace=wrap;html=1;', 60, 60, '', 'Data Store', null, null, 'bpmn data store'), this.createVertexTemplateEntry('shape=datastore;whiteSpace=wrap;html=1;', 60, 60, '', 'Data Store', null, null, 'bpmn data store'),
this.createVertexTemplateEntry('shape=plus;html=1;', 14, 14, '', 'Sub-Process Marker', null, null, 'bpmn subprocess sub process sub-process marker'), this.createVertexTemplateEntry('shape=plus;html=1;outlineConnect=0;', 14, 14, '', 'Sub-Process Marker', null, null, 'bpmn subprocess sub process sub-process marker'),
this.createVertexTemplateEntry('shape=mxgraph.bpmn.loop;html=1;', 14, 14, '', 'Loop Marker', null, null, 'bpmn loop marker'), this.createVertexTemplateEntry('shape=mxgraph.bpmn.loop;html=1;outlineConnect=0;', 14, 14, '', 'Loop Marker', null, null, 'bpmn loop marker'),
this.createVertexTemplateEntry('shape=parallelMarker;html=1;', 14, 14, '', 'Parallel MI Marker', null, null, 'bpmn parallel mi marker'), this.createVertexTemplateEntry('shape=parallelMarker;html=1;outlineConnect=0;', 14, 14, '', 'Parallel MI Marker', null, null, 'bpmn parallel mi marker'),
this.createVertexTemplateEntry('shape=parallelMarker;direction=south;html=1;', 14, 14, '', 'Sequential MI Marker', null, null, 'bpmn sequential mi marker'), this.createVertexTemplateEntry('shape=parallelMarker;direction=south;html=1;outlineConnect=0;', 14, 14, '', 'Sequential MI Marker', null, null, 'bpmn sequential mi marker'),
this.createVertexTemplateEntry('shape=mxgraph.bpmn.ad_hoc;fillColor=#000000;html=1;', 14, 14, '', 'Ad Hoc Marker', null, null, 'bpmn ad hoc marker'), this.createVertexTemplateEntry('shape=mxgraph.bpmn.ad_hoc;fillColor=#000000;html=1;outlineConnect=0;', 14, 14, '', 'Ad Hoc Marker', null, null, 'bpmn ad hoc marker'),
this.createVertexTemplateEntry('shape=mxgraph.bpmn.compensation;html=1;', 14, 14, '', 'Compensation Marker', null, null, 'bpmn compensation marker'), this.createVertexTemplateEntry('shape=mxgraph.bpmn.compensation;html=1;outlineConnect=0;', 14, 14, '', 'Compensation Marker', null, null, 'bpmn compensation marker'),
this.createVertexTemplateEntry('shape=message;whiteSpace=wrap;html=1;fillColor=#000000;strokeColor=#ffffff;strokeWidth=2;', 40, 30, '', 'Send Task', null, null, 'bpmn send task'), this.createVertexTemplateEntry('shape=message;whiteSpace=wrap;html=1;outlineConnect=0;fillColor=#000000;strokeColor=#ffffff;strokeWidth=2;', 40, 30, '', 'Send Task', null, null, 'bpmn send task'),
this.createVertexTemplateEntry('shape=message;whiteSpace=wrap;html=1;', 40, 30, '', 'Receive Task', null, null, 'bpmn receive task'), this.createVertexTemplateEntry('shape=message;whiteSpace=wrap;html=1;outlineConnect=0;', 40, 30, '', 'Receive Task', null, null, 'bpmn receive task'),
this.createVertexTemplateEntry('shape=mxgraph.bpmn.user_task;html=1;', 14, 14, '', 'User Task', null, null, this.getTagsForStencil('mxgraph.bpmn', 'user_task').join(' ')), this.createVertexTemplateEntry('shape=mxgraph.bpmn.user_task;html=1;outlineConnect=0;', 14, 14, '', 'User Task', null, null, this.getTagsForStencil('mxgraph.bpmn', 'user_task').join(' ')),
this.createVertexTemplateEntry('shape=mxgraph.bpmn.manual_task;html=1;', 14, 14, '', 'Manual Task', null, null, this.getTagsForStencil('mxgraph.bpmn', 'user_task').join(' ')), this.createVertexTemplateEntry('shape=mxgraph.bpmn.manual_task;html=1;outlineConnect=0;', 14, 14, '', 'Manual Task', null, null, this.getTagsForStencil('mxgraph.bpmn', 'user_task').join(' ')),
this.createVertexTemplateEntry('shape=mxgraph.bpmn.business_rule_task;html=1;', 14, 14, '', 'Business Rule Task', null, null, this.getTagsForStencil('mxgraph.bpmn', 'business_rule_task').join(' ')), this.createVertexTemplateEntry('shape=mxgraph.bpmn.business_rule_task;html=1;outlineConnect=0;', 14, 14, '', 'Business Rule Task', null, null, this.getTagsForStencil('mxgraph.bpmn', 'business_rule_task').join(' ')),
this.createVertexTemplateEntry('shape=mxgraph.bpmn.service_task;html=1;', 14, 14, '', 'Service Task', null, null, this.getTagsForStencil('mxgraph.bpmn', 'service_task').join(' ')), this.createVertexTemplateEntry('shape=mxgraph.bpmn.service_task;html=1;outlineConnect=0;', 14, 14, '', 'Service Task', null, null, this.getTagsForStencil('mxgraph.bpmn', 'service_task').join(' ')),
this.createVertexTemplateEntry('shape=mxgraph.bpmn.script_task;html=1;', 14, 14, '', 'Script Task', null, null, this.getTagsForStencil('mxgraph.bpmn', 'script_task').join(' ')), this.createVertexTemplateEntry('shape=mxgraph.bpmn.script_task;html=1;outlineConnect=0;', 14, 14, '', 'Script Task', null, null, this.getTagsForStencil('mxgraph.bpmn', 'script_task').join(' ')),
this.createVertexTemplateEntry('html=1;shape=mxgraph.flowchart.annotation_2;align=left;', 50, 100, '', 'Annotation', null, null, this.getTagsForStencil('bpmn', 'annotation_1', 'bpmn business process model ').join(' ')), this.createVertexTemplateEntry('html=1;shape=mxgraph.flowchart.annotation_2;align=left;', 50, 100, '', 'Annotation', null, null, this.getTagsForStencil('bpmn', 'annotation_1', 'bpmn business process model ').join(' ')),
this.createVertexTemplateEntry('rounded=1;arcSize=10;dashed=1;strokeColor=#000000;fillColor=none;gradientColor=none;dashPattern=8 3 1 3;strokeWidth=2;', this.createVertexTemplateEntry('rounded=1;arcSize=10;dashed=1;strokeColor=#000000;fillColor=none;gradientColor=none;dashPattern=8 3 1 3;strokeWidth=2;',
200, 200, '', 'Group', null, null, this.getTagsForStencil('bpmn', 'group', 'bpmn business process model ').join(' ')), 200, 200, '', 'Group', null, null, this.getTagsForStencil('bpmn', 'group', 'bpmn business process model ').join(' ')),
@ -1760,9 +1760,8 @@ Sidebar.prototype.addBpmnPalette = function(dir, expand)
edge.geometry.relative = true; edge.geometry.relative = true;
edge.edge = true; edge.edge = true;
var cell = new mxCell('', new mxGeometry(0, 0, 20, 14), 'shape=message;html=1;'); var cell = new mxCell('', new mxGeometry(0, 0, 20, 14), 'shape=message;html=1;outlineConnect=0;');
cell.geometry.relative = true; cell.geometry.relative = true;
cell.setConnectable(false);
cell.vertex = true; cell.vertex = true;
cell.geometry.offset = new mxPoint(-10, -7); cell.geometry.offset = new mxPoint(-10, -7);
edge.insert(cell); edge.insert(cell);
@ -2015,9 +2014,18 @@ Sidebar.prototype.createDropHandler = function(cells, allowSplit, allowCellsInse
{ {
allowCellsInserted = (allowCellsInserted != null) ? allowCellsInserted : true; allowCellsInserted = (allowCellsInserted != null) ? allowCellsInserted : true;
return mxUtils.bind(this, function(graph, evt, target, x, y) return mxUtils.bind(this, function(graph, evt, target, x, y, force)
{ {
if (graph.isEnabled()) var elt = (force) ? null : ((mxEvent.isTouchEvent(evt) || mxEvent.isPenEvent(evt)) ?
document.elementFromPoint(mxEvent.getClientX(evt), mxEvent.getClientY(evt)) :
mxEvent.getSource(evt));
while (elt != null && elt != this.container)
{
elt = elt.parentNode;
}
if (elt == null && graph.isEnabled())
{ {
cells = graph.getImportableCells(cells); cells = graph.getImportableCells(cells);
@ -2090,6 +2098,15 @@ Sidebar.prototype.createDropHandler = function(cells, allowSplit, allowCellsInse
graph.scrollCellToVisible(select[0]); graph.scrollCellToVisible(select[0]);
graph.setSelectionCells(select); graph.setSelectionCells(select);
} }
if (graph.editAfterInsert && evt != null && mxEvent.isMouseEvent(evt) &&
select != null && select.length == 1)
{
window.setTimeout(function()
{
graph.startEditing(select[0]);
}, 0);
}
} }
} }
@ -2114,7 +2131,7 @@ Sidebar.prototype.createDragPreview = function(width, height)
/** /**
* Creates a drag source for the given element. * Creates a drag source for the given element.
*/ */
Sidebar.prototype.dropAndConnect = function(source, targets, direction, dropCellIndex) Sidebar.prototype.dropAndConnect = function(source, targets, direction, dropCellIndex, evt)
{ {
var geo = this.getDropAndConnectGeometry(source, targets[dropCellIndex], direction, targets); var geo = this.getDropAndConnectGeometry(source, targets[dropCellIndex], direction, targets);
@ -2124,6 +2141,7 @@ Sidebar.prototype.dropAndConnect = function(source, targets, direction, dropCell
if (geo != null) if (geo != null)
{ {
var graph = this.editorUi.editor.graph; var graph = this.editorUi.editor.graph;
var editingCell = null;
graph.model.beginUpdate(); graph.model.beginUpdate();
try try
@ -2218,6 +2236,7 @@ Sidebar.prototype.dropAndConnect = function(source, targets, direction, dropCell
graph.model.setGeometry(targets[dropCellIndex], geo); graph.model.setGeometry(targets[dropCellIndex], geo);
graph.cellsMoved(targets, dx, dy, null, null, true); graph.cellsMoved(targets, dx, dy, null, null, true);
tmp = targets.slice(); tmp = targets.slice();
editingCell = (tmp.length == 1) ? tmp[0] : null;
targets.push(graph.insertEdge(null, null, '', source, targets[dropCellIndex], targets.push(graph.insertEdge(null, null, '', source, targets[dropCellIndex],
graph.createCurrentEdgeStyle())); graph.createCurrentEdgeStyle()));
} }
@ -2228,6 +2247,15 @@ Sidebar.prototype.dropAndConnect = function(source, targets, direction, dropCell
{ {
graph.model.endUpdate(); graph.model.endUpdate();
} }
if (graph.editAfterInsert && evt != null && mxEvent.isMouseEvent(evt) &&
editingCell != null)
{
window.setTimeout(function()
{
graph.startEditing(editingCell);
}, 0);
}
} }
return tmp; return tmp;
@ -2431,7 +2459,7 @@ Sidebar.prototype.createDragSource = function(elt, dropHandler, preview, cells,
else if (cells != null && activeArrow != null && currentTargetState != null && activeArrow != styleTarget) else if (cells != null && activeArrow != null && currentTargetState != null && activeArrow != styleTarget)
{ {
var index = (graph.model.isEdge(currentTargetState.cell) || freeSourceEdge == null) ? firstVertex : freeSourceEdge; var index = (graph.model.isEdge(currentTargetState.cell) || freeSourceEdge == null) ? firstVertex : freeSourceEdge;
graph.setSelectionCells(this.dropAndConnect(currentTargetState.cell, cells, direction, index)); graph.setSelectionCells(this.dropAndConnect(currentTargetState.cell, cells, direction, index, evt));
} }
else else
{ {
@ -3081,6 +3109,7 @@ Sidebar.prototype.createDragSource = function(elt, dropHandler, preview, cells,
Sidebar.prototype.itemClicked = function(cells, ds, evt, elt) Sidebar.prototype.itemClicked = function(cells, ds, evt, elt)
{ {
var graph = this.editorUi.editor.graph; var graph = this.editorUi.editor.graph;
graph.container.focus();
// Alt+Click inserts and connects // Alt+Click inserts and connects
if (mxEvent.isAltDown(evt)) if (mxEvent.isAltDown(evt))
@ -3101,7 +3130,8 @@ Sidebar.prototype.itemClicked = function(cells, ds, evt, elt)
{ {
graph.setSelectionCells(this.dropAndConnect(graph.getSelectionCell(), cells, (mxEvent.isMetaDown(evt) || mxEvent.isControlDown(evt)) ? graph.setSelectionCells(this.dropAndConnect(graph.getSelectionCell(), cells, (mxEvent.isMetaDown(evt) || mxEvent.isControlDown(evt)) ?
(mxEvent.isShiftDown(evt) ? mxConstants.DIRECTION_WEST : mxConstants.DIRECTION_NORTH) : (mxEvent.isShiftDown(evt) ? mxConstants.DIRECTION_WEST : mxConstants.DIRECTION_NORTH) :
(mxEvent.isShiftDown(evt) ? mxConstants.DIRECTION_EAST : mxConstants.DIRECTION_SOUTH), firstVertex)); (mxEvent.isShiftDown(evt) ? mxConstants.DIRECTION_EAST : mxConstants.DIRECTION_SOUTH),
firstVertex, evt));
graph.scrollCellToVisible(graph.getSelectionCell()); graph.scrollCellToVisible(graph.getSelectionCell());
} }
} }
@ -3115,7 +3145,7 @@ Sidebar.prototype.itemClicked = function(cells, ds, evt, elt)
else else
{ {
var pt = graph.getFreeInsertPoint(); var pt = graph.getFreeInsertPoint();
ds.drop(graph, evt, null, pt.x, pt.y); ds.drop(graph, evt, null, pt.x, pt.y, true);
if (this.editorUi.hoverIcons != null && (mxEvent.isTouchEvent(evt) || mxEvent.isPenEvent(evt))) if (this.editorUi.hoverIcons != null && (mxEvent.isTouchEvent(evt) || mxEvent.isPenEvent(evt)))
{ {

View file

@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+z.join(",")+"}";f=t;return l}}"function"!==typeof Date.prototy
e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})}); e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
"function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images"; "]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.5.15",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.6.0",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&& 0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&& 0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")|| 0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||
@ -1550,9 +1550,9 @@ function(a,b){return b&&a.view.graph.isCellSelected(a.cell)};this.selectionModel
null);return a}}};Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6; null);return a}}};Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6;
Graph.createSvgImage=function(a,b,c){c=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+b+'px" version="1.1">'+c+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(c):Base64.encode(c,!0)),a,b)};mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null; Graph.createSvgImage=function(a,b,c){c=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+b+'px" version="1.1">'+c+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(c):Base64.encode(c,!0)),a,b)};mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null;
Graph.prototype.linkPolicy="frame"==urlParams.target?"blank":urlParams.target||"auto";Graph.prototype.linkTarget="frame"==urlParams.target?"_self":"_blank";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultPageBackgroundColor="#ffffff";Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.defaultGraphBackground="#ffffff";Graph.prototype.scrollTileSize=new mxRectangle(0,0,400,400); Graph.prototype.linkPolicy="frame"==urlParams.target?"blank":urlParams.target||"auto";Graph.prototype.linkTarget="frame"==urlParams.target?"_self":"_blank";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultPageBackgroundColor="#ffffff";Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.defaultGraphBackground="#ffffff";Graph.prototype.scrollTileSize=new mxRectangle(0,0,400,400);
Graph.prototype.transparentBackground=!0;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.absoluteUrlPattern=/^(?:[a-z]+:)?\/\//i;Graph.prototype.defaultThemeName="default";Graph.prototype.defaultThemes={};Graph.prototype.baseUrl=(window!=window.top?document.referrer:document.location.toString()).split("#")[0]; Graph.prototype.transparentBackground=!0;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.absoluteUrlPattern=/^(?:[a-z]+:)?\/\//i;Graph.prototype.defaultThemeName="default";Graph.prototype.defaultThemes={};Graph.prototype.baseUrl=(window!=window.top?document.referrer:document.location.toString()).split("#")[0];Graph.prototype.editAfterInsert=!1;
Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,c){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,e=!0,f=null,g=mxUtils.bind(this,function(a){e=!0;f=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),h=mxUtils.bind(this,function(a){e=e&&null!=f&&Math.abs(f.x-mxEvent.getClientX(a))<b&&Math.abs(f.y-mxEvent.getClientY(a))<b}),k=mxUtils.bind(this,function(b){if(e)for(var d=mxEvent.getSource(b);null!= Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,c){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,e=!0,f=null,g=mxUtils.bind(this,function(a){e=!0;f=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),h=mxUtils.bind(this,function(a){e=e&&null!=f&&Math.abs(f.x-mxEvent.getClientX(a))<b&&Math.abs(f.y-mxEvent.getClientY(a))<b}),k=mxUtils.bind(this,function(b){if(e)for(var d=mxEvent.getSource(b);null!=
d&&d!=c.node;){if("a"==d.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,d,b);break}d=d.parentNode}});mxEvent.addGestureListeners(c.node,g,h,k);mxEvent.addListener(c.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()}; d&&d!=c.node;){if("a"==d.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,d,b);break}d=d.parentNode}});mxEvent.addGestureListeners(c.node,g,h,k);mxEvent.addListener(c.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};Graph.prototype.isLightboxView=function(){return this.lightbox};
Graph.prototype.labelLinkClicked=function(a,b,c){b=b.getAttribute("href");if(null!=b&&!this.isPageLink(b)&&mxEvent.isLeftMouseButton(c)&&!mxEvent.isPopupTrigger(c)||mxEvent.isTouchEvent(c)){if(!this.isEnabled()||this.isCellLocked(a.cell))a=this.isBlankLink(b)?this.linkTarget:"_top",this.openLink(this.getAbsoluteUrl(b),a);mxEvent.consume(c)}}; Graph.prototype.labelLinkClicked=function(a,b,c){b=b.getAttribute("href");if(null!=b&&!this.isPageLink(b)&&mxEvent.isLeftMouseButton(c)&&!mxEvent.isPopupTrigger(c)||mxEvent.isTouchEvent(c)){if(!this.isEnabled()||this.isCellLocked(a.cell))a=this.isBlankLink(b)?this.linkTarget:"_top",this.openLink(this.getAbsoluteUrl(b),a);mxEvent.consume(c)}};
Graph.prototype.openLink=function(a,b){var c=window;if("_self"==b&&window!=window.top)window.location.href=a;else if(a.substring(0,this.baseUrl.length)==this.baseUrl&&"#"==a.charAt(this.baseUrl.length)&&"_top"==b&&window==window.top){var d=a.split("#")[1];window.location.hash=="#"+d&&(window.location.hash="");window.location.hash=d}else c=window.open(a,b);return c};Graph.prototype.isPageLink=function(a){return!1}; Graph.prototype.openLink=function(a,b){var c=window;if("_self"==b&&window!=window.top)window.location.href=a;else if(a.substring(0,this.baseUrl.length)==this.baseUrl&&"#"==a.charAt(this.baseUrl.length)&&"_top"==b&&window==window.top){var d=a.split("#")[1];window.location.hash=="#"+d&&(window.location.hash="");window.location.hash=d}else c=window.open(a,b);return c};Graph.prototype.isPageLink=function(a){return!1};
Graph.prototype.pageLinkClicked=function(a,b){this.fireEvent(new mxEventObject("pageLinkClicked","cell",a,"href",b))};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)}; Graph.prototype.pageLinkClicked=function(a,b){this.fireEvent(new mxEventObject("pageLinkClicked","cell",a,"href",b))};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)};
@ -1674,7 +1674,7 @@ arguments)};Graph.prototype.removeCellsAfterUngroup=function(a){for(var b=[],c=0
for(var e=0;e<a.length;e++)if(this.model.isEdge(this.model.getParent(a[e])))return null;return mxGraph.prototype.getDropTarget.apply(this,arguments)};Graph.prototype.click=function(a){mxGraph.prototype.click.call(this,a);this.firstClickState=a.getState();this.firstClickSource=a.getSource()};Graph.prototype.dblClick=function(a,b){if(this.isEnabled()){var c=mxUtils.convertPoint(this.container,mxEvent.getClientX(a),mxEvent.getClientY(a));if(null!=a&&!this.model.isVertex(b)){var d=this.model.isEdge(b)? for(var e=0;e<a.length;e++)if(this.model.isEdge(this.model.getParent(a[e])))return null;return mxGraph.prototype.getDropTarget.apply(this,arguments)};Graph.prototype.click=function(a){mxGraph.prototype.click.call(this,a);this.firstClickState=a.getState();this.firstClickSource=a.getSource()};Graph.prototype.dblClick=function(a,b){if(this.isEnabled()){var c=mxUtils.convertPoint(this.container,mxEvent.getClientX(a),mxEvent.getClientY(a));if(null!=a&&!this.model.isVertex(b)){var d=this.model.isEdge(b)?
this.view.getState(b):null,e=mxEvent.getSource(a);this.firstClickState!=d||this.firstClickSource!=e||null!=d&&null!=d.text&&null!=d.text.node&&(mxUtils.contains(d.text.boundingBox,c.x,c.y)||mxUtils.isAncestorNode(d.text.node,mxEvent.getSource(a)))||(null!=d||this.isCellLocked(this.getDefaultParent()))&&(null==d||this.isCellLocked(d.cell))||!(null!=d||mxClient.IS_VML&&e==this.view.getCanvas()||mxClient.IS_SVG&&e==this.view.getCanvas().ownerSVGElement)||(b=this.addText(c.x,c.y,d))}mxGraph.prototype.dblClick.call(this, this.view.getState(b):null,e=mxEvent.getSource(a);this.firstClickState!=d||this.firstClickSource!=e||null!=d&&null!=d.text&&null!=d.text.node&&(mxUtils.contains(d.text.boundingBox,c.x,c.y)||mxUtils.isAncestorNode(d.text.node,mxEvent.getSource(a)))||(null!=d||this.isCellLocked(this.getDefaultParent()))&&(null==d||this.isCellLocked(d.cell))||!(null!=d||mxClient.IS_VML&&e==this.view.getCanvas()||mxClient.IS_SVG&&e==this.view.getCanvas().ownerSVGElement)||(b=this.addText(c.x,c.y,d))}mxGraph.prototype.dblClick.call(this,
a,b)}};Graph.prototype.getInsertPoint=function(){var a=this.getGridSize(),b=this.container.scrollLeft/this.view.scale-this.view.translate.x,c=this.container.scrollTop/this.view.scale-this.view.translate.y;if(this.pageVisible)var d=this.getPageLayout(),e=this.getPageSize(),b=Math.max(b,d.x*e.width),c=Math.max(c,d.y*e.height);return new mxPoint(this.snap(b+a),this.snap(c+a))};Graph.prototype.getFreeInsertPoint=function(){var a=this.view,b=this.getGraphBounds(),c=this.getInsertPoint(),d=this.snap(Math.round(Math.max(c.x, a,b)}};Graph.prototype.getInsertPoint=function(){var a=this.getGridSize(),b=this.container.scrollLeft/this.view.scale-this.view.translate.x,c=this.container.scrollTop/this.view.scale-this.view.translate.y;if(this.pageVisible)var d=this.getPageLayout(),e=this.getPageSize(),b=Math.max(b,d.x*e.width),c=Math.max(c,d.y*e.height);return new mxPoint(this.snap(b+a),this.snap(c+a))};Graph.prototype.getFreeInsertPoint=function(){var a=this.view,b=this.getGraphBounds(),c=this.getInsertPoint(),d=this.snap(Math.round(Math.max(c.x,
b.x/a.scale-a.translate.x+(0==b.width?this.gridSize:0)))),a=this.snap(Math.round(Math.max(c.y,(b.y+b.height)/a.scale-a.translate.y+(0==b.height?1:2)*this.gridSize)));return new mxPoint(d,a)};Graph.prototype.isMouseInsertPoint=function(){return!1};Graph.prototype.addText=function(a,b,c){var d=new mxCell;d.value="Text";d.style="text;html=1;resizable=0;points=[];";d.geometry=new mxGeometry(0,0,0,0);d.vertex=!0;if(null!=c){d.style+="align=center;verticalAlign=middle;labelBackgroundColor=#ffffff;";d.geometry.relative= b.x/a.scale-a.translate.x+(0==b.width?2*this.gridSize:0)))),a=this.snap(Math.round(Math.max(c.y,(b.y+b.height)/a.scale-a.translate.y+2*this.gridSize)));return new mxPoint(d,a)};Graph.prototype.isMouseInsertPoint=function(){return!1};Graph.prototype.addText=function(a,b,c){var d=new mxCell;d.value="Text";d.style="text;html=1;resizable=0;points=[];";d.geometry=new mxGeometry(0,0,0,0);d.vertex=!0;if(null!=c){d.style+="align=center;verticalAlign=middle;labelBackgroundColor=#ffffff;";d.geometry.relative=
!0;d.connectable=!1;var e=this.view.getRelativePoint(c,a,b);d.geometry.x=Math.round(1E4*e.x)/1E4;d.geometry.y=Math.round(e.y);d.geometry.offset=new mxPoint(0,0);var e=this.view.getPoint(c,d.geometry),f=this.view.scale;d.geometry.offset=new mxPoint(Math.round((a-e.x)/f),Math.round((b-e.y)/f))}else d.style+="autosize=1;align=left;verticalAlign=top;spacingTop=-4;",e=this.view.translate,d.geometry.width=40,d.geometry.height=20,d.geometry.x=Math.round(a/this.view.scale)-e.x,d.geometry.y=Math.round(b/this.view.scale)- !0;d.connectable=!1;var e=this.view.getRelativePoint(c,a,b);d.geometry.x=Math.round(1E4*e.x)/1E4;d.geometry.y=Math.round(e.y);d.geometry.offset=new mxPoint(0,0);var e=this.view.getPoint(c,d.geometry),f=this.view.scale;d.geometry.offset=new mxPoint(Math.round((a-e.x)/f),Math.round((b-e.y)/f))}else d.style+="autosize=1;align=left;verticalAlign=top;spacingTop=-4;",e=this.view.translate,d.geometry.width=40,d.geometry.height=20,d.geometry.x=Math.round(a/this.view.scale)-e.x,d.geometry.y=Math.round(b/this.view.scale)-
e.y;this.getModel().beginUpdate();try{this.addCells([d],null!=c?c.cell:null),this.fireEvent(new mxEventObject("textInserted","cells",[d])),this.autoSizeCell(d)}finally{this.getModel().endUpdate()}return d};Graph.prototype.getAbsoluteUrl=function(a){null!=a&&this.isRelativeUrl(a)&&(a="#"==a.charAt(0)?this.baseUrl+a:"/"==a.charAt(0)?this.domainUrl+a:this.domainPathUrl+a);return a};Graph.prototype.addClickHandler=function(a,b,c){var d=mxUtils.bind(this,function(){var a=this.container.getElementsByTagName("a"); e.y;this.getModel().beginUpdate();try{this.addCells([d],null!=c?c.cell:null),this.fireEvent(new mxEventObject("textInserted","cells",[d])),this.autoSizeCell(d)}finally{this.getModel().endUpdate()}return d};Graph.prototype.getAbsoluteUrl=function(a){null!=a&&this.isRelativeUrl(a)&&(a="#"==a.charAt(0)?this.baseUrl+a:"/"==a.charAt(0)?this.domainUrl+a:this.domainPathUrl+a);return a};Graph.prototype.addClickHandler=function(a,b,c){var d=mxUtils.bind(this,function(){var a=this.container.getElementsByTagName("a");
if(null!=a)for(var c=0;c<a.length;c++){var d=this.getAbsoluteUrl(a[c].getAttribute("href"));null!=d&&(a[c].setAttribute("href",d),null!=b&&mxEvent.addGestureListeners(a[c],null,null,b))}});this.model.addListener(mxEvent.CHANGE,d);d();var e=this.container.style.cursor,f=this.getTolerance(),g=this,h={currentState:null,currentLink:null,highlight:null!=a&&""!=a&&a!=mxConstants.NONE?new mxCellHighlight(g,a,4):null,startX:0,startY:0,scrollLeft:0,scrollTop:0,updateCurrentState:function(a){a=a.sourceState; if(null!=a)for(var c=0;c<a.length;c++){var d=this.getAbsoluteUrl(a[c].getAttribute("href"));null!=d&&(a[c].setAttribute("href",d),null!=b&&mxEvent.addGestureListeners(a[c],null,null,b))}});this.model.addListener(mxEvent.CHANGE,d);d();var e=this.container.style.cursor,f=this.getTolerance(),g=this,h={currentState:null,currentLink:null,highlight:null!=a&&""!=a&&a!=mxConstants.NONE?new mxCellHighlight(g,a,4):null,startX:0,startY:0,scrollLeft:0,scrollTop:0,updateCurrentState:function(a){a=a.sourceState;

File diff suppressed because one or more lines are too long

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematical Typesetting
makeCopy=Make a Copy makeCopy=Make a Copy
manual=Manual manual=Manual
middle=Middle middle=Middle
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematical Typesetting
makeCopy=Make a Copy makeCopy=Make a Copy
manual=Manual manual=Manual
middle=Middle middle=Middle
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=‫خيارات الإدخال الرياضي‬
makeCopy=‫إنشاء نسخة‬ makeCopy=‫إنشاء نسخة‬
manual=‫يدوي‬ manual=‫يدوي‬
middle=‫وسط‬ middle=‫وسط‬
minimal=Minimal
misc=‫متفرقات‬ misc=‫متفرقات‬
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Математическа текстообработк
makeCopy=Направи копие makeCopy=Направи копие
manual=Ръководство manual=Ръководство
middle=Среден middle=Среден
minimal=Minimal
misc=Разни misc=Разни
mockups=Макети mockups=Макети
modificationDate=Дата на модификация modificationDate=Дата на модификация

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematical Typesetting
makeCopy=Make a Copy makeCopy=Make a Copy
manual=Manual manual=Manual
middle=Middle middle=Middle
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Matematičke postavke pisanja
makeCopy=Napravi kopiju makeCopy=Napravi kopiju
manual=Ručno manual=Ručno
middle=Sredina middle=Sredina
minimal=Minimal
misc=Mješavina misc=Mješavina
mockups=Model mockups=Model
modificationDate=Datim uređivanja modificationDate=Datim uređivanja

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Composició tipogràfica matemàtica
makeCopy=Fes una còpia makeCopy=Fes una còpia
manual=Manual manual=Manual
middle=Mig middle=Mig
minimal=Minimal
misc=Diversos misc=Diversos
mockups=Esbossos mockups=Esbossos
modificationDate=Data de modificació modificationDate=Data de modificació

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Matematické nastavení písma
makeCopy=Udělat kopii makeCopy=Udělat kopii
manual=Manuál manual=Manuál
middle=Střed middle=Střed
minimal=Minimal
misc=Různé misc=Různé
mockups=Mockup prototypy mockups=Mockup prototypy
modificationDate=Datum změny modificationDate=Datum změny

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Matematisk tegnsætning
makeCopy=Opret en kopi makeCopy=Opret en kopi
manual=Manual manual=Manual
middle=Midte middle=Midte
minimal=Minimal
misc=Div. misc=Div.
mockups=Mockups mockups=Mockups
modificationDate=Ændringsdato modificationDate=Ændringsdato

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematischer Formelsatz
makeCopy=Kopie erstellen makeCopy=Kopie erstellen
manual=Manuell manual=Manuell
middle=Mitte middle=Mitte
minimal=Minimal
misc=Verschiedenes misc=Verschiedenes
mockups=Mockups mockups=Mockups
modificationDate=Änderungsdatum modificationDate=Änderungsdatum
@ -477,7 +478,7 @@ openLink=Verknüpfung öffnen
openInNewWindow=In neuem Fenster öffnen openInNewWindow=In neuem Fenster öffnen
openInThisWindow=In diesem Fenster öffnen openInThisWindow=In diesem Fenster öffnen
openIt={1} öffnen openIt={1} öffnen
openRecent=Zuletzt geöffnet openRecent=Kürzlich geöffnet
openSupported=Unterstützte Formate sind mit dieser Anwendung erstellte Dateien (.xml), .vsdx und .gliffy openSupported=Unterstützte Formate sind mit dieser Anwendung erstellte Dateien (.xml), .vsdx und .gliffy
options=Optionen options=Optionen
organic=Organisch organic=Organisch

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Μαθηματική ρύθμιση κειμένου π
makeCopy=Δημιουργία αντιγράφου makeCopy=Δημιουργία αντιγράφου
manual=Χειροκίνητα manual=Χειροκίνητα
middle=Μέσο middle=Μέσο
minimal=Minimal
misc=Misc misc=Misc
mockups=Προσχέδια mockups=Προσχέδια
modificationDate=Ημερομηνία τροποποίησης modificationDate=Ημερομηνία τροποποίησης

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematical Typesetting
makeCopy=Make a Copy makeCopy=Make a Copy
manual=Manual manual=Manual
middle=Middle middle=Middle
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Composición tipográfica matemática
makeCopy=Hacer una copia makeCopy=Hacer una copia
manual=Manual manual=Manual
middle=Medio middle=Medio
minimal=Minimal
misc=Miscelánea misc=Miscelánea
mockups=Bosquejos mockups=Bosquejos
modificationDate=Fecha de modificación modificationDate=Fecha de modificación

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Matemaatiline vormistus
makeCopy=Tee koopia makeCopy=Tee koopia
manual=Manuaalne manual=Manuaalne
middle=Keskel middle=Keskel
minimal=Minimal
misc=Erinevad misc=Erinevad
mockups=Mallid mockups=Mallid
modificationDate=Muutmise kuupäev modificationDate=Muutmise kuupäev

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=‫حروف چینی ریاضی‬
makeCopy=‫ایجاد یک کپی‬ makeCopy=‫ایجاد یک کپی‬
manual=‫دَستی‬ manual=‫دَستی‬
middle=‫وسط‬ middle=‫وسط‬
minimal=Minimal
misc=‫متفرقه‬ misc=‫متفرقه‬
mockups=‫ماکت ها mockups=‫ماکت ها
modificationDate=‫تاریخ اصلاح‬ modificationDate=‫تاریخ اصلاح‬

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Matemaattiset näppäilyasetukset
makeCopy=Luo kopio makeCopy=Luo kopio
manual=Manuaalinen manual=Manuaalinen
middle=Keskellä middle=Keskellä
minimal=Minimal
misc=Sekalaiset misc=Sekalaiset
mockups=Mallit mockups=Mallit
modificationDate=Muokkauspäivämäärä modificationDate=Muokkauspäivämäärä

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Matematikong Typesetting
makeCopy=Gumawa ng kopya makeCopy=Gumawa ng kopya
manual=De-Mano manual=De-Mano
middle=Gitna middle=Gitna
minimal=Minimal
misc=Sari-sari misc=Sari-sari
mockups=Mga Mockup mockups=Mga Mockup
modificationDate=Petsa ng pagbago modificationDate=Petsa ng pagbago

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Paramètres d'entrée mathématique
makeCopy=Faire une copie makeCopy=Faire une copie
manual=Manuel manual=Manuel
middle=Au milieu middle=Au milieu
minimal=Minimal
misc=Divers misc=Divers
mockups=Maquettes mockups=Maquettes
modificationDate=Date de modification modificationDate=Date de modification

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematical Typesetting
makeCopy=Make a Copy makeCopy=Make a Copy
manual=Manual manual=Manual
middle=Middle middle=Middle
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=‫סידור דפוס מתמטי‬
makeCopy=‫צור עותק‬ makeCopy=‫צור עותק‬
manual=‫ידני‬ manual=‫ידני‬
middle=‫אמצע‬ middle=‫אמצע‬
minimal=Minimal
misc=‫שונות‬ misc=‫שונות‬
mockups=‫סקיצות‬ mockups=‫סקיצות‬
modificationDate=‫השתנה בתאריך‬ modificationDate=‫השתנה בתאריך‬

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematical Typesetting
makeCopy=Make a Copy makeCopy=Make a Copy
manual=Manual manual=Manual
middle=Middle middle=Middle
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematical Typesetting
makeCopy=Make a Copy makeCopy=Make a Copy
manual=Manual manual=Manual
middle=Middle middle=Middle
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Matematikai betűszedés
makeCopy=Másolatot készít makeCopy=Másolatot készít
manual=Kézi manual=Kézi
middle=Közép middle=Közép
minimal=Minimal
misc=Vegyes misc=Vegyes
mockups=Makett mockups=Makett
modificationDate=Módosítási dátum modificationDate=Módosítási dátum

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=mathematicalTypesetting
makeCopy=makeCopy makeCopy=makeCopy
manual=manual manual=manual
middle=middle middle=middle
minimal=minimal
misc=misc misc=misc
mockups=mockups mockups=mockups
modificationDate=modificationDate modificationDate=modificationDate

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Tata Cetak Matematis
makeCopy=Buat Salinan makeCopy=Buat Salinan
manual=Manual manual=Manual
middle=Tengah middle=Tengah
minimal=Minimal
misc=Lain-lain misc=Lain-lain
mockups=Maket mockups=Maket
modificationDate=Tanggal ubah modificationDate=Tanggal ubah

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Parametri di scrittura matematica
makeCopy=Fai una copia makeCopy=Fai una copia
manual=Manuale manual=Manuale
middle=Al centro middle=Al centro
minimal=Minimal
misc=Miscellanea misc=Miscellanea
mockups=Modello mockups=Modello
modificationDate=Data di modifica modificationDate=Data di modifica

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=数式組版
makeCopy=複製する makeCopy=複製する
manual=マニュアル manual=マニュアル
middle=中央揃え middle=中央揃え
minimal=Minimal
misc=その他 misc=その他
mockups=実物大 mockups=実物大
modificationDate=変更日 modificationDate=変更日

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematical Typesetting
makeCopy=Make a Copy makeCopy=Make a Copy
manual=Manual manual=Manual
middle=Middle middle=Middle
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=수학 공식 입력
makeCopy=복사본 만들기 makeCopy=복사본 만들기
manual=수동 manual=수동
middle=중간 middle=중간
minimal=Minimal
misc=기타 misc=기타
mockups=모형 mockups=모형
modificationDate=변경일 modificationDate=변경일

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematical Typesetting
makeCopy=Make a Copy makeCopy=Make a Copy
manual=Manual manual=Manual
middle=Middle middle=Middle
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematical Typesetting
makeCopy=Make a Copy makeCopy=Make a Copy
manual=Manual manual=Manual
middle=Middle middle=Middle
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematical Typesetting
makeCopy=Make a Copy makeCopy=Make a Copy
manual=Manual manual=Manual
middle=Middle middle=Middle
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematical Typesetting
makeCopy=Make a Copy makeCopy=Make a Copy
manual=Manual manual=Manual
middle=Middle middle=Middle
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Atur Huruf Matematik
makeCopy=Buat satu Salinan makeCopy=Buat satu Salinan
manual=Manual manual=Manual
middle=Tengah middle=Tengah
minimal=Minimal
misc=Pelbagai misc=Pelbagai
mockups=Latihan mockups=Latihan
modificationDate=Tarikh diubahsuai modificationDate=Tarikh diubahsuai

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Wiskundige notatie
makeCopy=Een kopie maken makeCopy=Een kopie maken
manual=Handleiding manual=Handleiding
middle=Midden middle=Midden
minimal=Minimal
misc=Overige misc=Overige
mockups=Modellen mockups=Modellen
modificationDate=Aanpassingsdatum modificationDate=Aanpassingsdatum

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Matematisk tegnsetting
makeCopy=Lag en kopi makeCopy=Lag en kopi
manual=Manual manual=Manual
middle=Midten middle=Midten
minimal=Minimal
misc=Øvrig misc=Øvrig
mockups=Testmodeller mockups=Testmodeller
modificationDate=Endringsdato modificationDate=Endringsdato

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Matematyczny zestaw znaków
makeCopy=Zrób kopię makeCopy=Zrób kopię
manual=Ręczny manual=Ręczny
middle=Środek middle=Środek
minimal=Minimal
misc=Różne misc=Różne
mockups=Modele mockups=Modele
modificationDate=Data zmiany modificationDate=Data zmiany

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Sistema tipográfico matemático
makeCopy=Fazer uma cópia makeCopy=Fazer uma cópia
manual=Manual manual=Manual
middle=Meio middle=Meio
minimal=Minimal
misc=Miscelânea misc=Miscelânea
mockups=Protótipos mockups=Protótipos
modificationDate=Data da alteração modificationDate=Data da alteração

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Composição tipográfica matemática
makeCopy=Fazer uma cópia makeCopy=Fazer uma cópia
manual=Manual manual=Manual
middle=Meio middle=Meio
minimal=Minimal
misc=Diversos misc=Diversos
mockups=Maquetas mockups=Maquetas
modificationDate=Data de modificação modificationDate=Data de modificação

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Sistem tipografic matematic
makeCopy=Fă o copie makeCopy=Fă o copie
manual=Manual manual=Manual
middle=Mijloc middle=Mijloc
minimal=Minimal
misc=Diverse misc=Diverse
mockups=Mockups mockups=Mockups
modificationDate=Data modificării modificationDate=Data modificării

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Математический набор
makeCopy=Создать копию makeCopy=Создать копию
manual=Вручную manual=Вручную
middle=Середина middle=Середина
minimal=Minimal
misc=Прочее misc=Прочее
mockups=Макеты mockups=Макеты
modificationDate=Дата изменения modificationDate=Дата изменения

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematical Typesetting
makeCopy=Make a Copy makeCopy=Make a Copy
manual=Manual manual=Manual
middle=Middle middle=Middle
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematical Typesetting
makeCopy=Make a Copy makeCopy=Make a Copy
manual=Manual manual=Manual
middle=Middle middle=Middle
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Matematički slog
makeCopy=Kreiraj kopiju makeCopy=Kreiraj kopiju
manual=Ručno manual=Ručno
middle=Sredina middle=Sredina
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Matematisk typsättning
makeCopy=Gör en kopia makeCopy=Gör en kopia
manual=Manual manual=Manual
middle=Mitten middle=Mitten
minimal=Minimal
misc=Övrigt misc=Övrigt
mockups=Prototyper mockups=Prototyper
modificationDate=Ändringsdatum modificationDate=Ändringsdatum

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematical Typesetting
makeCopy=Make a Copy makeCopy=Make a Copy
manual=Manual manual=Manual
middle=Middle middle=Middle
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematical Typesetting
makeCopy=Make a Copy makeCopy=Make a Copy
manual=Manual manual=Manual
middle=Middle middle=Middle
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Mathematical Typesetting
makeCopy=Make a Copy makeCopy=Make a Copy
manual=Manual manual=Manual
middle=Middle middle=Middle
minimal=Minimal
misc=Misc misc=Misc
mockups=Mockups mockups=Mockups
modificationDate=Modification date modificationDate=Modification date

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=การตั้งค่าการพิมพ์
makeCopy=สร้างฉบับคัดลอก makeCopy=สร้างฉบับคัดลอก
manual=คู่มือ manual=คู่มือ
middle=กลาง middle=กลาง
minimal=Minimal
misc=เบ็ดเตล็ด misc=เบ็ดเตล็ด
mockups=แบบจำลอง mockups=แบบจำลอง
modificationDate=วันที่แก้ไข modificationDate=วันที่แก้ไข

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Matematiksel dizgi
makeCopy=Kopyasını yap makeCopy=Kopyasını yap
manual=Elle manual=Elle
middle=Orta middle=Orta
minimal=Minimal
misc=Çeşitli misc=Çeşitli
mockups=Test modelleri mockups=Test modelleri
modificationDate=Modifikasyon tarihi modificationDate=Modifikasyon tarihi

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Математична верстка
makeCopy=Зробити копію makeCopy=Зробити копію
manual=Вручну manual=Вручну
middle=Посередині middle=Посередині
minimal=Minimal
misc=Різне misc=Різне
mockups=Макети mockups=Макети
modificationDate=Дата зміни modificationDate=Дата зміни

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=Sắp chữ kiểu toán học
makeCopy=Tạo bản sao makeCopy=Tạo bản sao
manual=Hướng dẫn manual=Hướng dẫn
middle=Giữa middle=Giữa
minimal=Minimal
misc=Linh tinh misc=Linh tinh
mockups=Bản mẫu mockups=Bản mẫu
modificationDate=Ngày chỉnh sửa modificationDate=Ngày chỉnh sửa

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=數學排版
makeCopy=建立副本 makeCopy=建立副本
manual=手冊 manual=手冊
middle=垂直置中 middle=垂直置中
minimal=Minimal
misc=其他 misc=其他
mockups=實物模型 mockups=實物模型
modificationDate=修改日期 modificationDate=修改日期

View file

@ -418,6 +418,7 @@ mathematicalTypesetting=数学排版
makeCopy=创建副本 makeCopy=创建副本
manual=手册 manual=手册
middle=垂直居中 middle=垂直居中
minimal=Minimal
misc=杂项 misc=杂项
mockups=实体模型 mockups=实体模型
modificationDate=修改日期 modificationDate=修改日期