6.0.1.1 release

This commit is contained in:
David Benson 2016-11-04 22:16:17 +00:00
parent eab75b8974
commit b06d3f6932
1202 changed files with 808343 additions and 2466 deletions

View file

@ -1,3 +1,19 @@
04-NOV-2016: 6.0.1.1
- Adds consistent location for insert and sidebar
- Adds support for pages in publish actions
- Adds search for metadata in find plugin
- Uses lightbox for Imgur redirects
- Fixes HTML export for multiple pages
- Fixes shape detection for multiple pages
02-NOV-2016: 6.0.1.0
- Updates shapes in embed servlet
- Uses new Iconfinder API
- Uses mxGraph 3.7.0.0 beta 9
- Uses first unlocked layer for all diagrams
31-OCT-2016: 6.0.0.0
- Adds multiple pages per file

View file

@ -1 +1 @@
6.0.0.0
6.0.1.1

View file

@ -40,26 +40,26 @@
</target>
<target name="app" depends="merge">
<delete file=".tmp0.js"/>
<echo file=".tmp0.js">
<delete file="${basedir}/.tmp0.js"/>
<echo file="${basedir}/.tmp0.js">
var mxBasePath = 'https://www.draw.io/mxgraph/';
var mxLoadStylesheets = false;
</echo>
<delete file=".tmp1.js"/>
<copy file="${war.dir}/styles/default.xml" tofile=".tmp1.xml" overwrite="true"/>
<replaceregexp file=".tmp1.xml" match="${line.separator}" flags="g" replace=""/>
<replaceregexp file=".tmp1.xml" match="\t" flags="g" replace=""/>
<replaceregexp file=".tmp1.xml" match="'" replace="\\\\'" byline="true"/>
<delete file="${basedir}/.tmp1.js"/>
<copy file="${war.dir}/styles/default.xml" tofile="${basedir}/.tmp1.xml" overwrite="true"/>
<replaceregexp file="${basedir}/.tmp1.xml" match="${line.separator}" flags="g" replace=""/>
<replaceregexp file="${basedir}/.tmp1.xml" match="\t" flags="g" replace=""/>
<replaceregexp file="${basedir}/.tmp1.xml" match="'" replace="\\\\'" byline="true"/>
<delete file="Graph-Stylesheet.js"/>
<echo file="Graph-Stylesheet.js">Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName] = mxUtils.parseXml('</echo>
<concat destfile="Graph-Stylesheet.js" fixlastline="no" append="true">
<file name=".tmp1.xml" />
<delete file="${basedir}/Graph-Stylesheet.js"/>
<echo file="${basedir}/Graph-Stylesheet.js">Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName] = mxUtils.parseXml('</echo>
<concat destfile="${basedir}/Graph-Stylesheet.js" fixlastline="no" append="true">
<file name="${basedir}/.tmp1.xml" />
</concat>
<echo file="Graph-Stylesheet.js" append="true">').documentElement;</echo>
<echo file="${basedir}/Graph-Stylesheet.js" append="true">').documentElement;</echo>
<jscomp compilationLevel="simple" forceRecompile="true" debug="false" output="grapheditor.min.js">
<jscomp compilationLevel="simple" forceRecompile="true" debug="false" output="${basedir}/grapheditor.min.js">
<sources dir="${grapheditor.dir}">
<file name="Editor.js" />
<file name="EditorUi.js" />
@ -74,7 +74,7 @@
</sources>
</jscomp>
<jscomp compilationLevel="simple" debug="false" forceRecompile="true" output="sidebar.min.js">
<jscomp compilationLevel="simple" debug="false" forceRecompile="true" output="${basedir}/sidebar.min.js">
<sources dir="${war.dir}/js/diagramly/sidebar">
<file name="Sidebar.js" />
<file name="Sidebar-Advanced.js" />
@ -111,7 +111,7 @@
</jscomp>
<jscomp compilationLevel="simple" forceRecompile="true" debug="false" output="${war.dir}/js/atlas-viewer.min.js">
<sources dir=".">
<sources dir="${basedir}">
<file name=".tmp0.js"/>
</sources>
@ -159,7 +159,7 @@
<file name="Pages.js" />
</sources>
<sources dir=".">
<sources dir="${basedir}">
<file name="Graph-Stylesheet.js" />
</sources>
@ -168,9 +168,9 @@
</sources>
</jscomp>
<delete file=".tmp1.xml"/>
<delete file="${basedir}/.tmp1.xml"/>
<echo file=".tmp1.js">
<echo file="${basedir}/.tmp1.js">
(function()
{
Editor.initMath();
@ -193,13 +193,13 @@
<file name="atlas-viewer.min.js"/>
</sources>
<sources dir=".">
<sources dir="${basedir}">
<file name=".tmp1.js"/>
</sources>
</jscomp>
<delete file=".tmp0.js"/>
<delete file=".tmp1.js"/>
<delete file="${basedir}/.tmp0.js"/>
<delete file="${basedir}/.tmp1.js"/>
<jscomp compilationLevel="simple" debug="false" forceRecompile="true" output="${war.dir}/js/atlas.min.js">
<sources dir="${war.dir}/js/spin">
@ -231,7 +231,7 @@
<file name="mxClient.js" />
</sources>
<sources dir=".">
<sources dir="${basedir}">
<file name="grapheditor.min.js"/>
<file name="sidebar.min.js"/>
</sources>
@ -250,7 +250,7 @@
<file name="Pages.js" />
</sources>
<sources dir=".">
<sources dir="${basedir}">
<file name="Graph-Stylesheet.js" />
</sources>
</jscomp>
@ -290,7 +290,7 @@
<file name="mxClient.js" />
</sources>
<sources dir=".">
<sources dir="${basedir}">
<file name="grapheditor.min.js"/>
<file name="sidebar.min.js"/>
</sources>
@ -306,7 +306,7 @@
<file name="Settings.js" />
</sources>
<sources dir=".">
<sources dir="${basedir}">
<file name="Graph-Stylesheet.js" />
</sources>
@ -345,9 +345,9 @@
<replace file="${war.dir}/js/app.min.js" token="@DRAWIO-VERSION@" value="${version}"/>
<delete file="Graph-Stylesheet.js"/>
<delete file="grapheditor.min.js"/>
<delete file="sidebar.min.js"/>
<delete file="${basedir}/Graph-Stylesheet.js"/>
<delete file="${basedir}/grapheditor.min.js"/>
<delete file="${basedir}/sidebar.min.js"/>
</target>
<target name="all" depends="app">

View file

@ -828,7 +828,7 @@ g.writeln(k);mxClient.IS_VML?g.writeln('\x3chtml xmlns:v\x3d"urn:schemas-microso
if(mxClient.IS_IE&&null==g.documentMode||5==g.documentMode||8==g.documentMode||7==g.documentMode){a.style.position="absolute";var b=function(){a.style.top=(g.body.scrollTop||g.documentElement.scrollTop)+10+"px"};mxEvent.addListener(this.wnd,"scroll",function(a){b()});mxEvent.addListener(this.wnd,"resize",function(a){b()})}}}),x=mxUtils.bind(this,function(a,b){null!=this.borderColor&&(a.style.borderColor=this.borderColor,a.style.borderStyle="solid",a.style.borderWidth="1px");a.style.background=this.backgroundColor;
if(c||b)a.style.pageBreakAfter="always";mxClient.IS_IE||11<=document.documentMode||mxClient.IS_EDGE?(g.writeln(a.outerHTML),a.parentNode.removeChild(a)):(a.parentNode.removeChild(a),g.body.appendChild(a));(c||b)&&this.addPageBreak(g)}),z=this.getCoverPages(this.pageFormat.width,this.pageFormat.height);if(null!=z)for(var v=0;v<z.length;v++)x(z[v],!0);for(var u=this.getAppendices(this.pageFormat.width,this.pageFormat.height),v=0;v<t;v++){var A=v*s/this.scale-this.y0/this.scale+(l.y-p.y*m)/m;for(a=0;a<
r;a++){if(null==this.wnd)return null;var C=a*q/this.scale-this.x0/this.scale+(l.x-p.x*m)/m,B=v*r+a+1,G=new mxRectangle(C,A,q,s),f=this.renderPage(this.pageFormat.width,this.pageFormat.height,0,0,mxUtils.bind(this,function(a){this.addGraphFragment(-C,-A,this.scale,B,a,G);this.printBackgroundImage&&this.insertBackgroundImage(a,-C,-A)}),B);f.setAttribute("id","mxPage-"+B);x(f,null!=u||v<t-1||a<r-1)}}if(null!=u)for(v=0;v<u.length;v++)x(u[v],v<u.length);b&&!d&&(this.closeDocument(),y());this.wnd.focus()}catch(H){null!=
f&&null!=f.parentNode&&f.parentNode.removeChild(f)}finally{this.graph.cellRenderer.initializeOverlay=e}return this.wnd};mxPrintPreview.prototype.addPageBreak=function(a){var b=a.createElement("hr");b.className="mxPageBreak";a.body.appendChild(b)};mxPrintPreview.prototype.closeDocument=function(){if(null!=this.wnd){var a=this.wnd.document;this.writePostfix(a);a.writeln("\x3c/body\x3e");a.writeln("\x3c/html\x3e");a.close();mxEvent.release(a.body)}};
f&&null!=f.parentNode&&f.parentNode.removeChild(f)}finally{this.graph.cellRenderer.initializeOverlay=e}return this.wnd};mxPrintPreview.prototype.addPageBreak=function(a){var b=a.createElement("hr");b.className="mxPageBreak";a.body.appendChild(b)};mxPrintPreview.prototype.closeDocument=function(){if(null!=this.wnd&&null!=this.wnd.document){var a=this.wnd.document;this.writePostfix(a);a.writeln("\x3c/body\x3e");a.writeln("\x3c/html\x3e");a.close();mxEvent.release(a.body)}};
mxPrintPreview.prototype.writeHead=function(a,b){null!=this.title&&a.writeln("\x3ctitle\x3e"+this.title+"\x3c/title\x3e");mxClient.IS_VML&&a.writeln('\x3cstyle type\x3d"text/css"\x3ev\\:*{behavior:url(#default#VML)}o\\:*{behavior:url(#default#VML)}\x3c/style\x3e');mxClient.link("stylesheet",mxClient.basePath+"/css/common.css",a);a.writeln('\x3cstyle type\x3d"text/css"\x3e');a.writeln("@media print {");a.writeln(" table.mxPageSelector { display: none; }");a.writeln(" hr.mxPageBreak { display: none; }");
a.writeln("}");a.writeln("@media screen {");a.writeln(" table.mxPageSelector { position: fixed; right: 10px; top: 10px;font-family: Arial; font-size:10pt; border: solid 1px darkgray;background: white; border-collapse:collapse; }");a.writeln(" table.mxPageSelector td { border: solid 1px gray; padding:4px; }");a.writeln(" body.mxPage { background: gray; }");a.writeln("}");null!=b&&a.writeln(b);a.writeln("\x3c/style\x3e")};mxPrintPreview.prototype.writePostfix=function(a){};
mxPrintPreview.prototype.createPageSelector=function(a,b){var c=this.wnd.document,d=c.createElement("table");d.className="mxPageSelector";d.setAttribute("border","0");for(var e=c.createElement("tbody"),f=0;f<a;f++){for(var g=c.createElement("tr"),k=0;k<b;k++){var l=f*b+k+1,m=c.createElement("td"),n=c.createElement("a");n.setAttribute("href","#mxPage-"+l);mxClient.IS_NS&&(!mxClient.IS_SF&&!mxClient.IS_GC)&&n.setAttribute("onclick","var page \x3d document.getElementById('mxPage-"+l+"');page.scrollIntoView(true);event.preventDefault();");
@ -1070,8 +1070,8 @@ mxGraph.prototype.createSelectionModel=function(){return new mxGraphSelectionMod
mxGraph.prototype.getStylesheet=function(){return this.stylesheet};mxGraph.prototype.setStylesheet=function(a){this.stylesheet=a};mxGraph.prototype.getSelectionModel=function(){return this.selectionModel};mxGraph.prototype.setSelectionModel=function(a){this.selectionModel=a};
mxGraph.prototype.getSelectionCellsForChanges=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c];if(d.constructor!=mxRootChange){var e=null;d instanceof mxChildChange&&null==d.previous?e=d.child:null!=d.cell&&d.cell instanceof mxCell&&(e=d.cell);null!=e&&0>mxUtils.indexOf(b,e)&&b.push(e)}}return this.getModel().getTopmostCells(b)};
mxGraph.prototype.graphModelChanged=function(a){for(var b=0;b<a.length;b++)this.processChange(a[b]);this.removeSelectionCells(this.getRemovedCellsForChanges(a));this.view.validate();this.sizeDidChange()};mxGraph.prototype.getRemovedCellsForChanges=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c];if(d instanceof mxRootChange)break;else d instanceof mxChildChange?null!=d.previous&&null==d.parent&&(b=b.concat(this.model.getDescendants(d.child))):d instanceof mxVisibleChange&&(b=b.concat(this.model.getDescendants(d.cell)))}return b};
mxGraph.prototype.processChange=function(a){if(a instanceof mxRootChange)this.clearSelection(),this.removeStateForCell(a.previous),this.resetViewOnRootChange&&(this.view.scale=1,this.view.translate.x=0,this.view.translate.y=0),this.fireEvent(new mxEventObject(mxEvent.ROOT));else if(a instanceof mxChildChange){var b=this.model.getParent(a.child);this.view.invalidate(a.child,!0,!0);if(null==b||this.isCellCollapsed(b))this.view.invalidate(a.child,!0,!0),this.removeStateForCell(a.child),this.view.currentRoot==
a.child&&this.home();b!=a.previous&&(null!=b&&this.view.invalidate(b,!1,!1),null!=a.previous&&this.view.invalidate(a.previous,!1,!1))}else a instanceof mxTerminalChange||a instanceof mxGeometryChange?(a instanceof mxTerminalChange||null==a.previous&&null!=a.geometry||null!=a.previous&&!a.previous.equals(a.geometry))&&this.view.invalidate(a.cell):a instanceof mxValueChange?this.view.invalidate(a.cell,!1,!1):a instanceof mxStyleChange?(this.view.invalidate(a.cell,!0,!0),a=this.view.getState(a.cell),
mxGraph.prototype.processChange=function(a){if(a instanceof mxRootChange)this.clearSelection(),this.setDefaultParent(null),this.removeStateForCell(a.previous),this.resetViewOnRootChange&&(this.view.scale=1,this.view.translate.x=0,this.view.translate.y=0),this.fireEvent(new mxEventObject(mxEvent.ROOT));else if(a instanceof mxChildChange){var b=this.model.getParent(a.child);this.view.invalidate(a.child,!0,!0);if(null==b||this.isCellCollapsed(b))this.view.invalidate(a.child,!0,!0),this.removeStateForCell(a.child),
this.view.currentRoot==a.child&&this.home();b!=a.previous&&(null!=b&&this.view.invalidate(b,!1,!1),null!=a.previous&&this.view.invalidate(a.previous,!1,!1))}else a instanceof mxTerminalChange||a instanceof mxGeometryChange?(a instanceof mxTerminalChange||null==a.previous&&null!=a.geometry||null!=a.previous&&!a.previous.equals(a.geometry))&&this.view.invalidate(a.cell):a instanceof mxValueChange?this.view.invalidate(a.cell,!1,!1):a instanceof mxStyleChange?(this.view.invalidate(a.cell,!0,!0),a=this.view.getState(a.cell),
null!=a&&(a.style=null)):null!=a.cell&&a.cell instanceof mxCell&&this.removeStateForCell(a.cell)};mxGraph.prototype.removeStateForCell=function(a){for(var b=this.model.getChildCount(a),c=0;c<b;c++)this.removeStateForCell(this.model.getChildAt(a,c));this.view.invalidate(a,!1,!0);this.view.removeState(a)};
mxGraph.prototype.addCellOverlay=function(a,b){null==a.overlays&&(a.overlays=[]);a.overlays.push(b);var c=this.view.getState(a);null!=c&&this.cellRenderer.redraw(c);this.fireEvent(new mxEventObject(mxEvent.ADD_OVERLAY,"cell",a,"overlay",b));return b};mxGraph.prototype.getCellOverlays=function(a){return a.overlays};
mxGraph.prototype.removeCellOverlay=function(a,b){if(null==b)this.removeCellOverlays(a);else{var c=mxUtils.indexOf(a.overlays,b);0<=c?(a.overlays.splice(c,1),0==a.overlays.length&&(a.overlays=null),c=this.view.getState(a),null!=c&&this.cellRenderer.redraw(c),this.fireEvent(new mxEventObject(mxEvent.REMOVE_OVERLAY,"cell",a,"overlay",b))):b=null}return b};
@ -1097,7 +1097,7 @@ b=d.height*this.view.scale)}null!=this.minimumGraphSize&&(c=Math.max(c,this.mini
Math.max(1,c)+"px",this.view.canvas.style.minHeight=Math.max(1,b)+"px");this.updatePageBreaks(this.pageBreaksVisible,c,b)}this.fireEvent(new mxEventObject(mxEvent.SIZE,"bounds",a))};mxGraph.prototype.doResizeContainer=function(a,b){null!=this.maximumContainerSize&&(a=Math.min(this.maximumContainerSize.width,a),b=Math.min(this.maximumContainerSize.height,b));this.container.style.width=Math.ceil(a)+"px";this.container.style.height=Math.ceil(b)+"px"};
mxGraph.prototype.updatePageBreaks=function(a,b,c){b=this.view.scale;c=this.view.translate;var d=this.pageFormat,e=b*this.pageScale,f=new mxRectangle(0,0,d.width*e,d.height*e),d=mxRectangle.fromRectangle(this.getGraphBounds());d.width=Math.max(1,d.width);d.height=Math.max(1,d.height);f.x=Math.floor((d.x-c.x*b)/f.width)*f.width+c.x*b;f.y=Math.floor((d.y-c.y*b)/f.height)*f.height+c.y*b;d.width=Math.ceil((d.width+(d.x-f.x))/f.width)*f.width;d.height=Math.ceil((d.height+(d.y-f.y))/f.height)*f.height;
var g=(a=a&&Math.min(f.width,f.height)>this.minPageBreakDist)?Math.ceil(d.height/f.height)+1:0,k=a?Math.ceil(d.width/f.width)+1:0,l=(k-1)*f.width,m=(g-1)*f.height;null==this.horizontalPageBreaks&&0<g&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<k&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(a){if(null!=a){for(var b=a==this.horizontalPageBreaks?g:k,c=0;c<=b;c++){var d=a==this.horizontalPageBreaks?[new mxPoint(Math.round(f.x),Math.round(f.y+c*f.height)),new mxPoint(Math.round(f.x+
l),Math.round(f.y+c*f.height))]:[new mxPoint(Math.round(f.x+c*f.width),Math.round(f.y)),new mxPoint(Math.round(f.x+c*f.width),Math.round(f.y+m))];if(null!=a[c])a[c].points=d,a[c].redraw();else{var e=new mxPolyline(d,this.pageBreakColor);e.dialect=this.dialect;e.pointerEvents=!1;e.isDashed=this.pageBreakDashed;e.init(this.view.backgroundPane);e.redraw();a[c]=e}console.log("here",c,d)}for(c=b;c<a.length;c++)a[c].destroy();a.splice(b,a.length-b)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)};
l),Math.round(f.y+c*f.height))]:[new mxPoint(Math.round(f.x+c*f.width),Math.round(f.y)),new mxPoint(Math.round(f.x+c*f.width),Math.round(f.y+m))];null!=a[c]?(a[c].points=d,a[c].redraw()):(d=new mxPolyline(d,this.pageBreakColor),d.dialect=this.dialect,d.pointerEvents=!1,d.isDashed=this.pageBreakDashed,d.init(this.view.backgroundPane),d.redraw(),a[c]=d)}for(c=b;c<a.length;c++)a[c].destroy();a.splice(b,a.length-b)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)};
mxGraph.prototype.getCellStyle=function(a){var b=this.model.getStyle(a),c=null,c=this.model.isEdge(a)?this.stylesheet.getDefaultEdgeStyle():this.stylesheet.getDefaultVertexStyle();null!=b&&(c=this.postProcessCellStyle(this.stylesheet.getCellStyle(b,c)));null==c&&(c=mxGraph.prototype.EMPTY_ARRAY);return c};
mxGraph.prototype.postProcessCellStyle=function(a){if(null!=a){var b=a[mxConstants.STYLE_IMAGE],c=this.getImageFromBundles(b);null!=c?a[mxConstants.STYLE_IMAGE]=c:c=b;null!=c&&"data:image/"==c.substring(0,11)&&("data:image/svg+xml,\x3c"==c.substring(0,20)?c=c.substring(0,19)+encodeURIComponent(c.substring(19)):"data:image/svg+xml,%3C"!=c.substring(0,22)&&(b=c.indexOf(","),0<b&&";base64,"!=c.substring(b-7,b+1)&&(c=c.substring(0,b)+";base64,"+c.substring(b+1))),a[mxConstants.STYLE_IMAGE]=c)}return a};
mxGraph.prototype.setCellStyle=function(a,b){b=b||this.getSelectionCells();if(null!=b){this.model.beginUpdate();try{for(var c=0;c<b.length;c++)this.model.setStyle(b[c],a)}finally{this.model.endUpdate()}}};mxGraph.prototype.toggleCellStyle=function(a,b,c){c=c||this.getSelectionCell();return this.toggleCellStyles(a,b,[c])};
@ -1471,8 +1471,8 @@ mxRubberband.prototype.currentX=0;mxRubberband.prototype.currentY=0;mxRubberband
mxRubberband.prototype.mouseDown=function(a,b){if(!b.isConsumed()&&this.isEnabled()&&this.graph.isEnabled()&&null==b.getState()&&!mxEvent.isMultiTouchEvent(b.getEvent())){var c=mxUtils.getOffset(this.graph.container),d=mxUtils.getScrollOrigin(this.graph.container);d.x-=c.x;d.y-=c.y;this.start(b.getX()+d.x,b.getY()+d.y);b.consume(!1)}};
mxRubberband.prototype.start=function(a,b){function c(a){a=new mxMouseEvent(a);var b=mxUtils.convertPoint(d,a.getX(),a.getY());a.graphX=b.x;a.graphY=b.y;return a}this.first=new mxPoint(a,b);var d=this.graph.container;this.dragHandler=mxUtils.bind(this,function(a){this.mouseMove(this.graph,c(a))});this.dropHandler=mxUtils.bind(this,function(a){this.mouseUp(this.graph,c(a))});mxClient.IS_FF&&mxEvent.addGestureListeners(document,null,this.dragHandler,this.dropHandler)};
mxRubberband.prototype.mouseMove=function(a,b){if(!b.isConsumed()&&null!=this.first){var c=mxUtils.getScrollOrigin(this.graph.container),d=mxUtils.getOffset(this.graph.container);c.x-=d.x;c.y-=d.y;var d=b.getX()+c.x,c=b.getY()+c.y,e=this.first.x-d,f=this.first.y-c,g=this.graph.tolerance;if(null!=this.div||Math.abs(e)>g||Math.abs(f)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(d,c),b.consume()}};
mxRubberband.prototype.createShape=function(){null==this.sharedDiv&&(this.sharedDiv=document.createElement("div"),this.sharedDiv.className="mxRubberband",mxUtils.setOpacity(this.sharedDiv,this.defaultOpacity));this.graph.container.appendChild(this.sharedDiv);return this.sharedDiv};mxRubberband.prototype.isActive=function(a,b){return null!=this.div&&"none"!=this.div.style.display};mxRubberband.prototype.mouseUp=function(a,b){this.isActive()&&(this.execute(b.getEvent()),b.consume())};
mxRubberband.prototype.execute=function(a){this.reset();var b=new mxRectangle(this.x,this.y,this.width,this.height);this.graph.selectRegion(b,a)};mxRubberband.prototype.reset=function(){null!=this.div&&this.div.parentNode.removeChild(this.div);mxEvent.removeGestureListeners(document,null,this.dragHandler,this.dropHandler);this.dropHandler=this.dragHandler=null;this.currentY=this.currentX=0;this.div=this.first=null};mxRubberband.prototype.update=function(a,b){this.currentX=a;this.currentY=b;this.repaint()};
mxRubberband.prototype.createShape=function(){null==this.sharedDiv&&(this.sharedDiv=document.createElement("div"),this.sharedDiv.className="mxRubberband",mxUtils.setOpacity(this.sharedDiv,this.defaultOpacity));this.graph.container.appendChild(this.sharedDiv);return this.sharedDiv};mxRubberband.prototype.isActive=function(a,b){return null!=this.div&&"none"!=this.div.style.display};mxRubberband.prototype.mouseUp=function(a,b){var c=this.isActive();this.reset();c&&(this.execute(b.getEvent()),b.consume())};
mxRubberband.prototype.execute=function(a){var b=new mxRectangle(this.x,this.y,this.width,this.height);this.graph.selectRegion(b,a)};mxRubberband.prototype.reset=function(){null!=this.div&&this.div.parentNode.removeChild(this.div);mxEvent.removeGestureListeners(document,null,this.dragHandler,this.dropHandler);this.dropHandler=this.dragHandler=null;this.currentY=this.currentX=0;this.div=this.first=null};mxRubberband.prototype.update=function(a,b){this.currentX=a;this.currentY=b;this.repaint()};
mxRubberband.prototype.repaint=function(){if(null!=this.div){var a=this.currentX-this.graph.panDx,b=this.currentY-this.graph.panDy;this.x=Math.min(this.first.x,a);this.y=Math.min(this.first.y,b);this.width=Math.max(this.first.x,a)-this.x;this.height=Math.max(this.first.y,b)-this.y;a=mxClient.IS_VML?this.graph.panDy:0;this.div.style.left=this.x+(mxClient.IS_VML?this.graph.panDx:0)+"px";this.div.style.top=this.y+a+"px";this.div.style.width=Math.max(1,this.width)+"px";this.div.style.height=Math.max(1,
this.height)+"px"}};mxRubberband.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,this.graph.removeMouseListener(this),this.graph.removeListener(this.forceRubberbandHandler),this.graph.removeListener(this.panHandler),this.reset(),null!=this.sharedDiv&&(this.sharedDiv=null))};function mxHandle(a,b,c){this.graph=a.view.graph;this.state=a;this.cursor=null!=b?b:this.cursor;this.image=null!=c?c:this.image;this.init()}mxHandle.prototype.cursor="default";mxHandle.prototype.image=null;
mxHandle.prototype.ignoreGrid=!1;mxHandle.prototype.getPosition=function(a){};mxHandle.prototype.setPosition=function(a,b,c){};mxHandle.prototype.execute=function(){};mxHandle.prototype.copyStyle=function(a){this.graph.setCellStyles(a,this.state.style[a],[this.state.cell])};

View file

@ -0,0 +1 @@
1.5:51d5a026-11a5-421a-88d4-7f3713668157

View file

@ -0,0 +1 @@
51d5a026-11a5-421a-88d4-7f3713668157

View file

@ -0,0 +1 @@
9e1a881e301c4ba7b3d69252ce260b0a

View file

@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAm9KFsTQ7HcOAmLcLGV/95SXTCY+LJqGbgjlMfbWRSj9ZyXa7
Lv/kTUP1TWVJLDH9iFma7gU8km9i+90khgUk8T+YQ+xmSBe/WkvBYInJCxwSqg9m
lWg2p9H5AvjAC7+UF48rph8TaloB/oMhwS6kU4jl6v1dsmF9t1JFQid5jWYM0e1e
jSgdDlZ0AK2ucEH2+215nYPuZdNEKZwaBNs4LGW/Z5k94NdxXQfGXPgHR5EoIxq5
lWkp8ckfw5qOnNESQ/qpQnC8O1V5OfNHP9lo+ZH5Jg9eoKGtDpyLYhSs3ww5p2JV
bI+u+ltfdunbo/N9hQzDkac41H0HnNQb7MVCWQIDAQABAoIBAFqh9Z8feS8Tsq2g
8fS9b6kj+f76nf5HS3NQLpyDylE8TdYvmCp7Lmh+maR9wDTTktsG+2VsaFHoNdO3
SfIl9dnYmpEPZGKUZXl4zK6BFg2/M1/0+z710ayFJehDlTiAIvwdC09hjeJzHevS
jASYQ35PByRKYIBL0lqZoK0c1seV5nxlgw8S4HwjaA2ETImuD6pa7C0nvJQ6HZYK
3WDka5ZIR+d5XmK3R+P8q7ibid4hE99VrKJqpXdN1kTIHPy+WublZC7wb3GoK6B8
RvbleDuiw34s7ezlIdjKLQxEe2DCwl8sOY4YRmSbEjerXXXKIjEn26IcMifqjAGu
ZCheUwECgYEAzSNi0TjVd/uqKNbUZI6+RO2JZ2iVQwkAZpcM/M+/IqcSd7Ah+DYC
PzaWPOclr+0/haUo0quk/rg09WgHo6eqYkt4kE1xuqHOk+mKISbsb3l2lUO2CzFc
CZZwWPj7cxt4gtWzNvV1ONPygm6GIctvTnXvLbnnld3Gk6J1mHwes/kCgYEAwnTw
kaMSpx8EdR4e4KGAhEGgJNKNj3+6Ugsy5zbGzbDDmc/4VmjFh9JsyLwYGhR5jbJy
CjX5tUTMgdxOhNFcOmwV2ESigAY0bHckNvdgliA3+oAFGHUkKXa8PRzRGadv1Kay
6Ja/2Tj0oJlThsw/0SZg+SLhJ0Vq06nRLG592WECgYA6lUx3K5/q7/gcSZ3GSe2U
ibGf0oIt7rgqlCClYj7Xipb/j1FkLShfHRuysOBWaY6mgBA0echY5gpZuyfTWOKT
x7HapANCpUr1etBzv0XuX+W5ouiuMZ5zLn9PKWvF56Z21sijfV3IqN6s2Rt9MzfK
VGvFxz2X0woOx2qF7YxnIQKBgBxzqcNVXeRP+IH+Xzw0xS4UwA7DM+08HhHlC5Sj
AiGUbHoz4L0b5VMDKeGRC+G8/zAJXQA7d4bbQyT5DBAI5fqyV9vl5vTec4svP4A/
X8V3f1lKo/Q5J4pdkhtK/RlI02cE4QaBEB8DY1+gL4V4mxnKCMRLIzBwyrmfjjh3
DjjhAoGBAIwDOEMBrn8btQWri4zRXGj5JtXr6fFnawkUBeKkJF66sRW6/Vx5rcsz
vbCxpg8zOpQ9xB29YImV/JhDdm+DTKsv8SxNhvrY1TCS7oXyTIFNNmxGCS8MjSVE
p4CUkhKRCNOXfmO6i+kT71+A72x13PeK3RL1JRiJedD7e6sWPYTA
-----END RSA PRIVATE KEY-----

View file

@ -0,0 +1 @@
{"virtualbox":{"/opt/app":{"guestpath":"/opt/app","hostpath":"/Users/david/dev/drawio/etc/sandstorm/build","disabled":false,"__vagrantfile":true},"/host-dot-sandstorm":{"guestpath":"/host-dot-sandstorm","hostpath":"/Users/david/.sandstorm","disabled":false,"__vagrantfile":true}}}

View file

@ -0,0 +1,19 @@
09-SEP-2016: 5.6.0.3
- Updates to draw.io 5.6.0.3
- Fixes Saving... status
- Adds read-only permission option
28-AUG-2015: 5.0.2.3
- Updates to draw.io 5.0.2.3
06-FEB-2015: 0.1.1.0
- Fixes external image export (probably)
- Fixes iconfinder calls (probably)
- Updates draw to head
02-FEB-2015: 0.1.0.0
- Initial release

View file

@ -0,0 +1,26 @@
CXX=g++
CXXFLAGS=-O2 -Wall
CXXFLAGS2=-std=c++1y -Itmp $(CXXFLAGS)
SANDSTORM_CAPNP_DIR=/opt/sandstorm/latest/usr/include
.PHONEY: all clean dev
package.spk: server sandstorm-pkgdef.capnp empty
spk pack --keyring="drawio.key" package.spk
dev: server sandstorm-pkgdef.capnp empty
spk dev
clean:
rm -rf tmp server package.spk empty
tmp/genfiles:
@mkdir -p tmp
capnp compile --src-prefix=$(SANDSTORM_CAPNP_DIR) -oc++:tmp $(SANDSTORM_CAPNP_DIR)/sandstorm/*.capnp
@touch tmp/genfiles
server: tmp/genfiles server.c++
$(CXX) -static server.c++ tmp/sandstorm/*.capnp.c++ -o server $(CXXFLAGS2) `pkg-config capnp-rpc --cflags --libs`
empty:
mkdir -p empty

View file

@ -0,0 +1,103 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Guess at a reasonable name for the VM based on the folder vagrant-spk is
# run from. The timestamp is there to avoid conflicts if you have multiple
# folders with the same name.
VM_NAME = File.basename(File.dirname(File.dirname(__FILE__))) + "_sandstorm_#{Time.now.utc.to_i}"
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Base on the Sandstorm snapshots of the official Debian 8 (jessie) box.
config.vm.box = "sandstorm/debian-jessie64"
if Vagrant.has_plugin?("vagrant-vbguest") then
# vagrant-vbguest is a Vagrant plugin that upgrades
# the version of VirtualBox Guest Additions within each
# guest. If you have the vagrant-vbguest plugin, then it
# needs to know how to compile kernel modules, etc., and so
# we give it this hint about operating system type.
config.vm.guest = "debian"
end
# We forward port 6080, the Sandstorm web port, so that developers can
# visit their sandstorm app from their browser as local.sandstorm.io:6080
# (aka 127.0.0.1:6080).
config.vm.network :forwarded_port, guest: 6080, host: 6080
# Use a shell script to "provision" the box. This installs Sandstorm using
# the bundled installer.
config.vm.provision "shell", inline: "sudo bash /opt/app/.sandstorm/global-setup.sh", keep_color: true
# Then, do stack-specific and app-specific setup.
config.vm.provision "shell", inline: "sudo bash /opt/app/.sandstorm/setup.sh", keep_color: true
# Shared folders are configured per-provider since vboxsf can't handle >4096 open files,
# NFS requires privilege escalation every time you bring a VM up,
# and 9p is only available on libvirt.
# Calculate the number of CPUs and the amount of RAM the system has,
# in a platform-dependent way; further logic below.
cpus = nil
total_kB_ram = nil
host = RbConfig::CONFIG['host_os']
if host =~ /darwin/
cpus = `sysctl -n hw.ncpu`.to_i
total_kB_ram = `sysctl -n hw.memsize`.to_i / 1024
elsif host =~ /linux/
cpus = `nproc`.to_i
total_kB_ram = `grep MemTotal /proc/meminfo | awk '{print $2}'`.to_i
elsif host =~ /mingw/
# powershell may not be available on Windows XP and Vista, so wrap this in a rescue block
begin
cpus = `powershell -Command "(Get-WmiObject Win32_Processor -Property NumberOfLogicalProcessors | Select-Object -Property NumberOfLogicalProcessors | Measure-Object NumberOfLogicalProcessors -Sum).Sum"`.to_i
total_kB_ram = `powershell -Command "Get-CimInstance -class cim_physicalmemory | % $_.Capacity}"`.to_i / 1024
rescue
end
end
# Use the same number of CPUs within Vagrant as the system, with 1
# as a default.
#
# Use at least 512MB of RAM, and if the system has more than 2GB of
# RAM, use 1/4 of the system RAM. This seems a reasonable compromise
# between having the Vagrant guest operating system not run out of
# RAM entirely (which it basically would if we went much lower than
# 512MB) and also allowing it to use up a healthily large amount of
# RAM so it can run faster on systems that can afford it.
if cpus.nil? or cpus.zero?
cpus = 1
end
if total_kB_ram.nil? or total_kB_ram < 2048000
assign_ram_mb = 512
else
assign_ram_mb = (total_kB_ram / 1024 / 4)
end
# Actually apply these CPU/memory values to the providers.
config.vm.provider :virtualbox do |vb, override|
vb.cpus = cpus
vb.memory = assign_ram_mb
vb.name = VM_NAME
vb.customize ["modifyvm", :id, "--nictype1", "Am79C973"]
# /opt/app and /host-dot-sandstorm are used by vagrant-spk
override.vm.synced_folder "..", "/opt/app"
override.vm.synced_folder ENV["HOME"] + "/.sandstorm", "/host-dot-sandstorm"
# /vagrant is not used by vagrant-spk; we need this line so it gets disabled; if we removed the
# line, vagrant would automatically insert a synced folder in /vagrant, which is not what we want.
override.vm.synced_folder "..", "/vagrant", disabled: true
end
config.vm.provider :libvirt do |libvirt, override|
libvirt.cpus = cpus
libvirt.memory = assign_ram_mb
libvirt.default_prefix = VM_NAME
# /opt/app and /host-dot-sandstorm are used by vagrant-spk
override.vm.synced_folder "..", "/opt/app", type: "9p", accessmode: "passthrough"
override.vm.synced_folder ENV["HOME"] + "/.sandstorm", "/host-dot-sandstorm", type: "9p", accessmode: "passthrough"
# /vagrant is not used by vagrant-spk; we need this line so it gets disabled; if we removed the
# line, vagrant would automatically insert a synced folder in /vagrant, which is not what we want.
override.vm.synced_folder "..", "/vagrant", type: "9p", accessmode: "passthrough", disabled: true
end
end

View file

@ -0,0 +1,6 @@
#! /bin/bash
#
# Copyright (c) 2016, JGraph Ltd
BUILD="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $BUILD
make server

View file

@ -0,0 +1,236 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script>
var mathJaxQueue = [];
// Disables global typesetting and messages on startup, adds queue for
// asynchronous rendering while MathJax is loading
window.MathJax =
{
skipStartupTypeset: true,
messageStyle: 'none',
AuthorInit: function ()
{
MathJax.Hub.Register.StartupHook('Begin', function()
{
for (var i = 0; i < mathJaxQueue.length; i++)
{
MathJax.Hub.Queue(['Typeset', MathJax.Hub, mathJaxQueue[i]]);
}
});
}
};
// Adds global enqueue method for async rendering
window.MathJaxRender = function(container)
{
// Initial rendering when MathJax finished loading
if (typeof(MathJax) !== 'undefined' && typeof(MathJax.Hub) !== 'undefined')
{
MathJax.Hub.Queue(['Typeset', MathJax.Hub, container]);
}
else
{
mathJaxQueue.push(container);
}
}
</script>
<script src="https://cdn.mathjax.org/mathjax/2.6-latest/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script>
<script>
var urlParams = (function(url)
{
var result = new Object();
var params = window.location.search.slice(1).split('&');
for (var i = 0; i < params.length; i++)
{
idx = params[i].indexOf('=');
if (idx > 0)
{
result[params[i].substring(0, idx)] = params[i].substring(idx + 1);
}
}
return result;
})(window.location.href);
// Removes unused dependencies
urlParams['analytics'] = '0';
urlParams['picker'] = '0';
urlParams['gapi'] = '0';
urlParams['db'] = '0';
// Public global variables
var MAX_REQUEST_SIZE = 10485760;
var MAX_AREA = 10000 * 10000;
// Paths and files
var STENCIL_PATH = 'stencils';
var SHAPES_PATH = 'shapes';
var IMAGE_PATH = 'images';
// Path for images inside the diagram
var GRAPH_IMAGE_PATH = 'img';
var STYLE_PATH = 'styles';
var CSS_PATH = 'styles';
// Directory for i18 files and basename for main i18n file
var RESOURCES_PATH = 'resources';
var RESOURCE_BASE = RESOURCES_PATH + '/dia';
// Specifies connection mode for touch devices (at least one should be true)
var isLocalStorage = false;
var uiTheme = null;
// Sets the base path, the UI language via URL param and configures the
// supported languages to avoid 404s. The loading of all core language
// resources is disabled as all required resources are in grapheditor.
// properties. Note that in this example the loading of two resource
// files (the special bundle and the default bundle) is disabled to
// save a GET request. This requires that all resources be present in
// the special bundle.
var mxLoadResources = false;
var mxLanguage = 'en'
var geBasePath = 'js';
var mxBasePath = 'mxgraph';
function render(data)
{
mxConstants.SHADOWCOLOR = '#000000';
mxConstants.SHADOW_OPACITY = 0.25;
var graph = new Graph(document.getElementById('graph'));
graph.foldingEnabled = false;
graph.setEnabled(false);
if (data.math)
{
mxClient.NO_FO = true;
}
var xmlDoc = mxUtils.parseXml(data.xml);
var codec = new mxCodec(xmlDoc);
codec.decode(xmlDoc.documentElement, graph.getModel());
// Handles PDF output where the output should match the page format if the page is visible
if (data.math && data.format == 'pdf' && xmlDoc.documentElement.getAttribute('page') == '1')
{
graph.pageVisible = true;
var pw = xmlDoc.documentElement.getAttribute('pageWidth');
var ph = xmlDoc.documentElement.getAttribute('pageHeight');
if (pw != null && ph != null)
{
graph.pageFormat = new mxRectangle(0, 0, parseFloat(pw), parseFloat(ph));
}
var ps = xmlDoc.documentElement.getAttribute('pageScale');
if (ps != null)
{
graph.pageScale = ps;
}
graph.getPageSize = function()
{
return new mxRectangle(0, 0, this.pageFormat.width * this.pageScale,
this.pageFormat.height * this.pageScale);
};
graph.getPageLayout = function()
{
var size = (this.pageVisible) ? this.getPageSize() : this.scrollTileSize;
var bounds = this.getGraphBounds();
if (bounds.width == 0 || bounds.height == 0)
{
return new mxRectangle(0, 0, 1, 1);
}
else
{
// Computes untransformed graph bounds
var x = bounds.x / this.view.scale - this.view.translate.x;
var y = bounds.y / this.view.scale - this.view.translate.y;
var w = bounds.width / this.view.scale;
var h = bounds.height / this.view.scale;
var x0 = Math.floor(x / size.width);
var y0 = Math.floor(y / size.height);
var w0 = Math.ceil((x + w) / size.width) - x0;
var h0 = Math.ceil((y + h) / size.height) - y0;
return new mxRectangle(x0, y0, w0, h0);
}
};
// Fits the number of background pages to the graph
graph.view.getBackgroundPageBounds = function()
{
var layout = this.graph.getPageLayout();
var page = this.graph.getPageSize();
return new mxRectangle(this.scale * (this.translate.x + layout.x * page.width),
this.scale * (this.translate.y + layout.y * page.height),
this.scale * layout.width * page.width,
this.scale * layout.height * page.height);
};
}
else if (data.crop)
{
var b = graph.getGraphBounds();
graph.view.setTranslate(-b.x, -b.y);
}
else if (data.w != null && data.h != null)
{
var b = graph.getGraphBounds();
var s = Math.floor(Math.min(data.w / b.width, data.h / b.height) * 100) / 100;
graph.view.scaleAndTranslate(s, (data.w - b.width * s) / 2 / s - b.x,
(data.h - b.height * s) / 2 / s - b.y);
}
if (data.math)
{
window.MathJaxRender(graph.container);
// Asynchronous callback when MathJax has finished
window.MathJax.Hub.Queue(function ()
{
if (typeof window.callPhantom === 'function')
{
window.callPhantom();
}
});
}
var bounds = (graph.pageVisible) ? graph.view.getBackgroundPageBounds() : graph.getGraphBounds();
var bg = xmlDoc.documentElement.getAttribute('background');
// Apply background color for direct export
if (data.format == 'jpg' && bg == 'none')
{
bg = '#ffffff';
}
if (graph.pageVisible)
{
document.body.style.width = bounds.width + 'px';
document.body.style.height = bounds.height + 'px';
}
document.body.style.backgroundColor = bg || '#ffffff';
// SVG not needed for math export
var svg = (data.math) ? '' : mxUtils.getXml(graph.getSvg());
return {width: bounds.width, height: bounds.height, bg: bg, svg: svg};
};
</script>
<script src="js/app.min.js"></script>
</head>
<body style="margin:0px;">
<div id="graph"></div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square70x70logo src="images/mstile-70x70.png"/>
<square150x150logo src="images/mstile-150x150.png"/>
<square310x310logo src="images/mstile-310x310.png"/>
<wide310x150logo src="images/mstile-310x150.png"/>
<TileColor>#da532c</TileColor>
</tile>
</msapplication>
</browserconfig>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 993 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 995 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 977 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="31.3002" height="29.1126" viewBox="0 0 31.3002 29.1126">
<g transform="matrix(0.3,0,0,0.3,-9.8499,-10.9437)" style="fill:#ffffff">
<g style="fill:#ffffff">
<polygon points="63.524,36.479 32.833,56.518 54.054,73.512 85,54.403" style="fill:#ffffff" />
<polygon points="32.833,90.507 63.524,110.546 85,92.62 54.054,73.512" style="fill:#ffffff" />
<polygon points="85,92.62 106.476,110.546 137.167,90.507 115.946,73.512" style="fill:#ffffff" />
<polygon points="137.167,56.518 106.476,36.479 85,54.403 115.946,73.512" style="fill:#ffffff" />
<polygon points="85.063,96.477 63.524,114.35 54.307,108.332 54.307,115.078 85.063,133.521 115.819,115.078 115.819,108.332 106.602,114.35"
style="fill:#ffffff" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 846 B

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="104.334" height="97.042" viewBox="0 0 104.334 97.042">
<g transform="translate(-32.833,-36.479)" id="Layer_1">
<polygon points="63.524,36.479 32.833,56.518 54.054,73.512 85,54.403" style="fill:#007ee5" />
<polygon points="32.833,90.507 63.524,110.546 85,92.62 54.054,73.512" style="fill:#007ee5" />
<polygon points="85,92.62 106.476,110.546 137.167,90.507 115.946,73.512" style="fill:#007ee5" />
<polygon points="137.167,56.518 106.476,36.479 85,54.403 115.946,73.512" style="fill:#007ee5" />
<polygon points="85.063,133.521 115.819,115.078 115.819,108.332 106.602,114.35 85.063,96.477 63.524,114.35 54.307,108.332 54.307,115.078"
style="fill:#007ee5" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 790 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 961 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 971 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 976 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 795 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="24" height="21" viewBox="-10.5 10.5 24 21">
<rect width="40" height="60" x="-18.5" y="-8.5" style="opacity:0;fill:#ffffff" />
<g transform="translate(-8,-19)">
<polygon points="21.5,42.5 14.5,29.5 5.5,29.5 13.5,42.5" style="fill:#ffffff" />
<polygon points="4.5,29.864 -2.5,43.5 1.5,50.384 8.5,36.5" style="fill:#ffffff" />
<polygon points="6.5,43.5 2.5,50.5 17.305,50.5 21.5,43.5" style="fill:#ffffff" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 542 B

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="509.08mm" height="440.97mm" version="1.1" viewBox="0 0 133156 115341">
<defs>
<style type="text/css">
<![CDATA[
.fil2 {fill:#11A861}
.fil0 {fill:#3777E3}
.fil1 {fill:#FFCF63}
]]>
</style>
</defs>
<g>
<polygon class="fil0" points="22194,115341 44385,76894 133156,76894 110963,115341 "/>
<polygon class="fil1" points="88772,76894 133156,76894 88772,0 44385,0 "/>
<polygon class="fil2" points="0,76894 22194,115341 66578,38447 44385,0 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,020 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

@ -0,0 +1,41 @@
{
"name": "draw.io",
"icons": [
{
"src": "images\/android-chrome-36x36.png",
"sizes": "36x36",
"type": "image\/png",
"density": 0.75
},
{
"src": "images\/android-chrome-48x48.png",
"sizes": "48x48",
"type": "image\/png",
"density": 1
},
{
"src": "images\/android-chrome-72x72.png",
"sizes": "72x72",
"type": "image\/png",
"density": 1.5
},
{
"src": "images\/android-chrome-96x96.png",
"sizes": "96x96",
"type": "image\/png",
"density": 2
},
{
"src": "images\/android-chrome-144x144.png",
"sizes": "144x144",
"type": "image\/png",
"density": 3
},
{
"src": "images\/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image\/png",
"density": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Some files were not shown because too many files have changed in this diff Show more