13.8.5 release
This commit is contained in:
parent
e8ae557a1d
commit
f6cde529b5
16 changed files with 4033 additions and 3106 deletions
11
ChangeLog
11
ChangeLog
|
@ -1,9 +1,16 @@
|
|||
26-OCT_2020: 13.8.3
|
||||
27-OCT-2020: 13.8.5
|
||||
|
||||
- Fixes possible NPE in Confluence Cloud
|
||||
|
||||
27-OCT-2020: 13.8.4
|
||||
|
||||
- Performance improvements for Confluence Cloud
|
||||
|
||||
26-OCT-2020: 13.8.3
|
||||
|
||||
- Gliffy import improvements
|
||||
- Updates Spanish translations
|
||||
|
||||
|
||||
24-OCT-2020: 13.8.2
|
||||
|
||||
- Lucidchart import improvements
|
||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
13.8.3
|
||||
13.8.5
|
|
@ -246,15 +246,33 @@
|
|||
<filelist dir="${basedir}" files="base-viewer.min.js,.tmp2.min.js"/>
|
||||
</concat>
|
||||
|
||||
<!-- Disables eval for JS (uses shapes.min.js) -->
|
||||
<!-- Disables eval for JS (uses shapes.min.js) and registers PWA -->
|
||||
<echo file="${basedir}/.tmp3.js">
|
||||
mxStencilRegistry.allowEval = false;
|
||||
|
||||
(function()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (Editor.enableServiceWorker)
|
||||
{
|
||||
navigator.serviceWorker.register('/service-worker.js');
|
||||
}
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
if (window.console != null)
|
||||
{
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
})();
|
||||
</echo>
|
||||
|
||||
<concat destfile="${war.dir}/js/viewer-static.min.js" fixlastline="yes" append="no">
|
||||
<filelist dir="${basedir}" files="base-viewer.min.js"/>
|
||||
<filelist dir="${war.dir}/js" files="shapes.min.js"/>
|
||||
<filelist dir="${basedir}" files=".tmp3.js,.tmp2.min.js"/>
|
||||
<filelist dir="${basedir}" files=".tmp3.js,.tmp2.min.js"/>
|
||||
</concat>
|
||||
|
||||
<delete file="${war.dir}/js/extensions.min.js"/>
|
||||
|
|
1414
src/main/webapp/js/app.min.js
vendored
1414
src/main/webapp/js/app.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -616,8 +616,7 @@ App.main = function(callback, createUi)
|
|||
// Runs as progressive web app if service workers are supported
|
||||
try
|
||||
{
|
||||
if ('serviceWorker' in navigator && (/.*\.diagrams\.net$/.test(window.location.hostname) ||
|
||||
/.*\.draw\.io$/.test(window.location.hostname) || urlParams['offline'] == '1'))
|
||||
if (Editor.enableServiceWorker)
|
||||
{
|
||||
// Removes PWA cache on www.draw.io to force use of new domain via redirect
|
||||
if (urlParams['offline'] == '0' || /www\.draw\.io$/.test(window.location.hostname) ||
|
||||
|
@ -625,22 +624,25 @@ App.main = function(callback, createUi)
|
|||
{
|
||||
navigator.serviceWorker.getRegistrations().then(function(registrations)
|
||||
{
|
||||
for(var i = 0; i < registrations.length; i++)
|
||||
if (registrations != null && registrations.length > 0)
|
||||
{
|
||||
registrations[i].unregister();
|
||||
for (var i = 0; i < registrations.length; i++)
|
||||
{
|
||||
registrations[i].unregister();
|
||||
}
|
||||
|
||||
if (urlParams['offline'] == '0')
|
||||
{
|
||||
alert('Cache cleared');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
App.loadScripts(['js/shapes.min.js', 'js/stencils.min.js', 'js/extensions.min.js']);
|
||||
mxStencilRegistry.allowEval = false;
|
||||
|
||||
// Use the window load event to keep the page load performant
|
||||
window.addEventListener('load', function()
|
||||
{
|
||||
navigator.serviceWorker.register('/service-worker.js');
|
||||
});
|
||||
navigator.serviceWorker.register('/service-worker.js');
|
||||
App.loadScripts(['js/shapes.min.js', 'js/stencils.min.js', 'js/extensions.min.js']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -207,6 +207,14 @@
|
|||
* Specifies if custom properties should be enabled.
|
||||
*/
|
||||
Editor.enableCustomProperties = true;
|
||||
|
||||
/**
|
||||
* Specifies if custom properties should be enabled.
|
||||
*/
|
||||
Editor.enableServiceWorker = urlParams['pwa'] != '0' &&
|
||||
'serviceWorker' in navigator && (urlParams['offline'] == '1' ||
|
||||
/.*\.diagrams\.net$/.test(window.location.hostname) ||
|
||||
/.*\.draw\.io$/.test(window.location.hostname));
|
||||
|
||||
/**
|
||||
* Specifies if XML files should be compressed. Default is true.
|
||||
|
@ -834,7 +842,7 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
style.fill == '';
|
||||
style.fill = '';
|
||||
}
|
||||
|
||||
// Applies cell style
|
||||
|
@ -2288,7 +2296,6 @@
|
|||
{
|
||||
var s = document.createElement('script');
|
||||
s.setAttribute('type', 'text/javascript');
|
||||
s.setAttribute('defer', 'true');
|
||||
s.setAttribute('src', src);
|
||||
|
||||
tags[0].parentNode.appendChild(s);
|
||||
|
|
|
@ -7709,7 +7709,22 @@
|
|||
{
|
||||
window.openNew = false;
|
||||
window.openKey = 'import';
|
||||
|
||||
window.listBrowserFiles = mxUtils.bind(this, function(success, error)
|
||||
{
|
||||
StorageFile.listFiles(this, 'F', success, error);
|
||||
});
|
||||
|
||||
window.openBrowserFile = mxUtils.bind(this, function(title, success, error)
|
||||
{
|
||||
StorageFile.getFileContent(this, title, success, error);
|
||||
});
|
||||
|
||||
window.deleteBrowserFile = mxUtils.bind(this, function(title, success, error)
|
||||
{
|
||||
StorageFile.deleteFile(this, title, success, error);
|
||||
});
|
||||
|
||||
if (!noSplash)
|
||||
{
|
||||
var prevValue = Editor.useLocalStorage;
|
||||
|
@ -7741,7 +7756,8 @@
|
|||
}));
|
||||
|
||||
// Removes openFile if dialog is closed
|
||||
this.showDialog(new OpenDialog(this).container, 360, 220, true, true, function()
|
||||
this.showDialog(new OpenDialog(this).container, (Editor.useLocalStorage) ? 640 : 360,
|
||||
(Editor.useLocalStorage) ? 480 : 220, true, true, function()
|
||||
{
|
||||
window.openFile = null;
|
||||
});
|
||||
|
@ -7765,8 +7781,10 @@
|
|||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Imports the given zip file.
|
||||
*/
|
||||
EditorUi.prototype.importZipFile = function(file, success, onerror)
|
||||
{
|
||||
var ui = this;
|
||||
|
|
|
@ -141,9 +141,9 @@ StorageFile.insertFile = function(ui, title, data, success, error)
|
|||
}
|
||||
});
|
||||
|
||||
StorageFile.getFileContent(ui, title, function()
|
||||
StorageFile.getFileContent(ui, title, function(data)
|
||||
{
|
||||
createStorageFile(true);
|
||||
createStorageFile(data != null);
|
||||
}, function()
|
||||
{
|
||||
createStorageFile(false);
|
||||
|
|
10
src/main/webapp/js/extensions.min.js
vendored
10
src/main/webapp/js/extensions.min.js
vendored
|
@ -283,11 +283,11 @@ R(h,e,v);v.style="group;"+ub;if(null!=h.Stencil){null==h.Stencil.id&&(h.Stencil.
|
|||
(cb.LineWidth=h.LineWidth);P.style+=c(P.style,cb,e,P,y);var H=h.FillColor,Ve=h.LineColor,We=h.LineWidth;h.FillColor=null;h.LineColor=null;h.LineWidth=null;P.style+=c(P.style,h,e,P,y);h.FillColor=H;h.LineColor=Ve;h.LineWidth=We;P.vertex=!0;P.geometry.relative=!0;v.insert(P)}for(var Gb=0,ub=h.Rotation;h["t"+Gb];){var qe=h["t"+Gb],re=g(qe);if(re){var Ia=new mxCell(re,new mxGeometry(0,0,t,r),"strokeColor=none;fillColor=none;overflow=visible;");h.Rotation=0;Ia.style+=c(Ia.style,qe,e,Ia,y);Ia.style+=c(Ia.style,
|
||||
h,e,Ia,y);h.Rotation=ub;if(null!=dc.text&&null!=dc.text["t"+Gb]){var sa=dc.text["t"+Gb];sa.Rotation=ub+(sa.rotation?sa.rotation:0)+(h["t"+Gb+"_TRotation"]?h["t"+Gb+"_TRotation"]:0)+(h["t"+Gb+"_TAngle"]?h["t"+Gb+"_TAngle"]:0);Ia.style+=c(Ia.style,sa,e,Ia,y);var db=Ia.geometry;sa.w&&(db.width*=sa.w);sa.h&&(db.height*=sa.h);sa.x&&(db.x=sa.x/dc.w);sa.y&&(db.y=sa.y/dc.h);sa.fw&&(db.width*=.6*sa.fw/t);sa.fh&&(db.height*=.6*sa.fh/r);sa.fx&&(db.x=(0<sa.fx?1:0)+.6*sa.fx/t);sa.fy&&(db.y=(0<sa.fy?1:0)+.6*sa.fy/
|
||||
r)}Ia.vertex=!0;Ia.geometry.relative=!0;v.insert(Ia)}Gb++}}if(h.FillColor&&h.FillColor.url){var Vc=new mxCell("",new mxGeometry(0,0,t,r),"shape=image;html=1;");Vc.style+=ec({},{},h.FillColor.url);Vc.vertex=!0;Vc.geometry.relative=!0;v.insert(Vc)}}catch(Vb){console.log("Freehand error",Vb)}break;case "RightArrowBlock":var Jd=h.Head*r/t;v.style="shape=singleArrow;arrowWidth="+(1-2*h.Notch)+";arrowSize="+Jd;v.value=g(h);v.style+=c(v.style,h,e,v,y);break;case "DoubleArrowBlock":Jd=h.Head*r/t,v.style=
|
||||
"shape=doubleArrow;arrowWidth="+(1-2*h.Notch)+";arrowSize="+Jd,v.value=g(h),v.style+=c(v.style,h,e,v,y)}v.style&&0>v.style.indexOf("html")&&(v.style+="html=1;");if(h.Title&&h.Text)try{var se=v.geometry,te=new mxCell(g(h.Title),new mxGeometry(0,se.height,se.width,10),"strokeColor=none;fillColor=none;");te.vertex=!0;v.insert(te);v.style+=m(h.Title,y)}catch(Vb){console.log(Vb)}Md(v,h);return v}function Md(a,b){if(b.Text_TRotation)try{var d=mxUtils.toDegree(b.Text_TRotation);if(0!=d&&a.value){var k=a.geometry.width,
|
||||
n=a.geometry.height,c=k,f=n,w=0,e=0;if(-90==d||-270==d)var c=n,f=k,x=Math.abs(n-k)/2,w=x/k,e=-x/n;var d=d+mxUtils.toDegree(b.Rotation),m=a.style.split(";").filter(function(a){return 0>a.indexOf("fillColor=")&&0>a.indexOf("strokeColor=")&&0>a.indexOf("rotation=")}).join(";"),z=new mxCell(a.value,new mxGeometry(w,e,c,f),m+"fillColor=none;strokeColor=none;rotation="+d+";");a.value=null;z.geometry.relative=!0;z.vertex=!0;a.insert(z)}}catch(ue){console.log(ue)}}var Ib=0,Jb=0,y=!1,md=["AEUSBBlock","AGSCutandpasteBlock",
|
||||
"iOSDeviceiPadLandscape","iOSDeviceiPadProLandscape"],nd=["fpDoor"],Tb={None:"none;",Arrow:"block;endFill=1;","Hollow Arrow":"block;endFill=0;","Open Arrow":"open;","CFN ERD Zero Or More Arrow":"ERzeroToMany;startSize=10;","CFN ERD One Or More Arrow":"ERoneToMany;startSize=10;","CFN ERD Many Arrow":"ERmany;startSize=10;","CFN ERD Exactly One Arrow":"ERmandOne;startSize=10;","CFN ERD Zero Or One Arrow":"ERzeroToOne;startSize=10;","CFN ERD One Arrow":"ERone;startSize=16;",Generalization:"block;endFill=0;startSize=12;",
|
||||
"Big Open Arrow":"open;startSize=10;",Asynch1:"openAsync;flipH=1;startSize=10;",Asynch2:"openAsync;startSize=10;",Aggregation:"diamond;endFill=0;startSize=16;",Composition:"diamond;endFill=1;startSize=16;",BlockEnd:"none;endFill=1;startSize=16;",Measure:"ERone;startSize=10;"},Hb={DefaultTextBlockNew:"strokeColor=none;fillColor=none",DefaultTextBlock:"strokeColor=none;fillColor=none",DefaultSquareBlock:"",RectangleBlock:"",DefaultNoteBlock:"shape=note;size=15",DefaultNoteBlockV2:"shape=note;size=15",
|
||||
HotspotBlock:"strokeColor=none;fillColor=none",ImageSearchBlock2:"shape=image",UserImage2Block:"shape=image",ProcessBlock:"",DecisionBlock:"rhombus",TerminatorBlock:"rounded=1;arcSize=50",PredefinedProcessBlock:"shape=process",DocumentBlock:"shape=document",MultiDocumentBlock:"shape=mxgraph.flowchart.multi-document",ManualInputBlock:"shape=manualInput;size=15",PreparationBlock:"shape=hexagon;perimeter=hexagonPerimeter2",DataBlock:"shape=parallelogram;perimeter=parallelogramPerimeter;anchorPointDirection=0",
|
||||
"shape=doubleArrow;arrowWidth="+(1-2*h.Notch)+";arrowSize="+Jd,v.value=g(h),v.style+=c(v.style,h,e,v,y)}v.style&&0>v.style.indexOf("html")&&(v.style+="html=1;");if(h.Title&&h.Text)try{var se=v.geometry,te=new mxCell(g(h.Title),new mxGeometry(0,se.height,se.width,10),"strokeColor=none;fillColor=none;");te.vertex=!0;v.insert(te);v.style+=m(h.Title,y)}catch(Vb){console.log(Vb)}Md(v,h);return v}function Md(a,b){if(b.Text_TRotation||b.TextRotation)try{var d=mxUtils.toDegree(b.Text_TRotation)+mxUtils.toDegree(b.TextRotation);
|
||||
if(0!=d&&a.value){var k=a.geometry.width,n=a.geometry.height,c=k,f=n,w=0,e=0;if(-90==d||-270==d)var c=n,f=k,x=Math.abs(n-k)/2,w=x/k,e=-x/n;var d=d+mxUtils.toDegree(b.Rotation),m=a.style.split(";").filter(function(a){return 0>a.indexOf("fillColor=")&&0>a.indexOf("strokeColor=")&&0>a.indexOf("rotation=")}).join(";"),z=new mxCell(a.value,new mxGeometry(w,e,c,f),m+"fillColor=none;strokeColor=none;rotation="+d+";");a.value=null;z.geometry.relative=!0;z.vertex=!0;a.insert(z)}}catch(ue){console.log(ue)}}
|
||||
var Ib=0,Jb=0,y=!1,md=["AEUSBBlock","AGSCutandpasteBlock","iOSDeviceiPadLandscape","iOSDeviceiPadProLandscape"],nd=["fpDoor"],Tb={None:"none;",Arrow:"block;endFill=1;","Hollow Arrow":"block;endFill=0;","Open Arrow":"open;","CFN ERD Zero Or More Arrow":"ERzeroToMany;startSize=10;","CFN ERD One Or More Arrow":"ERoneToMany;startSize=10;","CFN ERD Many Arrow":"ERmany;startSize=10;","CFN ERD Exactly One Arrow":"ERmandOne;startSize=10;","CFN ERD Zero Or One Arrow":"ERzeroToOne;startSize=10;","CFN ERD One Arrow":"ERone;startSize=16;",
|
||||
Generalization:"block;endFill=0;startSize=12;","Big Open Arrow":"open;startSize=10;",Asynch1:"openAsync;flipH=1;startSize=10;",Asynch2:"openAsync;startSize=10;",Aggregation:"diamond;endFill=0;startSize=16;",Composition:"diamond;endFill=1;startSize=16;",BlockEnd:"none;endFill=1;startSize=16;",Measure:"ERone;startSize=10;"},Hb={DefaultTextBlockNew:"strokeColor=none;fillColor=none",DefaultTextBlock:"strokeColor=none;fillColor=none",DefaultSquareBlock:"",RectangleBlock:"",DefaultNoteBlock:"shape=note;size=15",
|
||||
DefaultNoteBlockV2:"shape=note;size=15",HotspotBlock:"strokeColor=none;fillColor=none",ImageSearchBlock2:"shape=image",UserImage2Block:"shape=image",ProcessBlock:"",DecisionBlock:"rhombus",TerminatorBlock:"rounded=1;arcSize=50",PredefinedProcessBlock:"shape=process",DocumentBlock:"shape=document",MultiDocumentBlock:"shape=mxgraph.flowchart.multi-document",ManualInputBlock:"shape=manualInput;size=15",PreparationBlock:"shape=hexagon;perimeter=hexagonPerimeter2",DataBlock:"shape=parallelogram;perimeter=parallelogramPerimeter;anchorPointDirection=0",
|
||||
DataBlockNew:"shape=parallelogram;perimeter=parallelogramPerimeter;anchorPointDirection=0",DatabaseBlock:"shape=cylinder;size=0.1;anchorPointDirection=0;boundedLbl=1;",DirectAccessStorageBlock:"shape=cylinder;direction=south;size=0.1;anchorPointDirection=0;boundedLbl=1;",InternalStorageBlock:"shape=internalStorage;dx=10;dy=10",PaperTapeBlock:"shape=tape;size=0.2",ManualOperationBlockNew:"shape=trapezoid;perimeter=trapezoidPerimeter;anchorPointDirection=0;flipV=1",DelayBlock:"shape=delay",StoredDataBlock:"shape=dataStorage",
|
||||
MergeBlock:"triangle;direction=south;anchorPointDirection=0",ConnectorBlock:"ellipse",OrBlock:"shape=mxgraph.flowchart.summing_function",SummingJunctionBlock:"shape=mxgraph.flowchart.or",DisplayBlock:"shape=display",OffPageLinkBlock:"shape=offPageConnector",BraceNoteBlock:"mxCompositeShape",NoteBlock:"mxCompositeShape",AdvancedSwimLaneBlock:"mxCompositeShape",AdvancedSwimLaneBlockRotated:"mxCompositeShape",RectangleContainerBlock:"container=1;collapsible=0",DiamondContainerBlock:"shape=rhombus;container=1;collapsible=0",
|
||||
RoundedRectangleContainerBlock:"container=1;rounded=1;absoluteArcSize=1;arcSize=24;collapsible=0",CircleContainerBlock:"ellipse;container=1;collapsible=0",PillContainerBlock:"shape=mxgraph.flowchart.terminator;container=1;collapsible=0",BraceBlock:"mxCompositeShape",BracketBlock:"mxCompositeShape",BraceBlockRotated:"mxCompositeShape",BracketBlockRotated:"mxCompositeShape",IsoscelesTriangleBlock:"triangle;direction=north;anchorPointDirection=0",RightTriangleBlock:"shape=mxgraph.basic.orthogonal_triangle",
|
||||
|
|
|
@ -494,6 +494,15 @@
|
|||
|
||||
mxCellRenderer.registerShape('note', NoteShape);
|
||||
|
||||
// Note Shape, supports size style
|
||||
function NoteShape2()
|
||||
{
|
||||
NoteShape.call(this);
|
||||
};
|
||||
mxUtils.extend(NoteShape2, NoteShape);
|
||||
|
||||
mxCellRenderer.registerShape('note2', NoteShape2);
|
||||
|
||||
// Flexible cube Shape
|
||||
function IsoCubeShape2()
|
||||
{
|
||||
|
@ -669,55 +678,179 @@
|
|||
FolderShape.prototype.tabWidth = 60;
|
||||
FolderShape.prototype.tabHeight = 20;
|
||||
FolderShape.prototype.tabPosition = 'right';
|
||||
FolderShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
|
||||
FolderShape.prototype.arcSize = 0.1;
|
||||
|
||||
FolderShape.prototype.paintVertexShape = function(c, x, y, w, h)
|
||||
{
|
||||
c.translate(x, y);
|
||||
|
||||
var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'tabWidth', this.tabWidth))));
|
||||
var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'tabHeight', this.tabHeight))));
|
||||
var tp = mxUtils.getValue(this.style, 'tabPosition', this.tabPosition);
|
||||
|
||||
if (isForeground)
|
||||
var rounded = mxUtils.getValue(this.style, 'rounded', false);
|
||||
var absArcSize = mxUtils.getValue(this.style, 'absoluteArcSize', false);
|
||||
var arcSize = parseFloat(mxUtils.getValue(this.style, 'arcSize', this.arcSize));
|
||||
|
||||
if (!absArcSize)
|
||||
{
|
||||
if (tp == 'left')
|
||||
{
|
||||
path.moveTo(0, dy);
|
||||
path.lineTo(dx, dy);
|
||||
}
|
||||
// Right is default
|
||||
else
|
||||
{
|
||||
path.moveTo(w - dx, dy);
|
||||
path.lineTo(w, dy);
|
||||
}
|
||||
arcSize = Math.min(w, h) * arcSize;
|
||||
}
|
||||
|
||||
arcSize = Math.min(arcSize, w * 0.5, (h - dy) * 0.5);
|
||||
|
||||
dx = Math.max(dx, arcSize);
|
||||
dx = Math.min(w - arcSize, dx);
|
||||
|
||||
path.end();
|
||||
if (!rounded)
|
||||
{
|
||||
arcSize = 0;
|
||||
}
|
||||
|
||||
c.begin();
|
||||
|
||||
if (tp == 'left')
|
||||
{
|
||||
c.moveTo(Math.max(arcSize, 0), dy);
|
||||
c.lineTo(Math.max(arcSize, 0), 0);
|
||||
c.lineTo(dx, 0);
|
||||
c.lineTo(dx, dy);
|
||||
}
|
||||
// Right is default
|
||||
else
|
||||
{
|
||||
c.moveTo(w - dx, dy);
|
||||
c.lineTo(w - dx, 0);
|
||||
c.lineTo(w - Math.max(arcSize, 0), 0);
|
||||
c.lineTo(w - Math.max(arcSize, 0), dy);
|
||||
}
|
||||
|
||||
if (rounded)
|
||||
{
|
||||
c.moveTo(0, arcSize + dy);
|
||||
c.arcTo(arcSize, arcSize, 0, 0, 1, arcSize, dy);
|
||||
c.lineTo(w - arcSize, dy);
|
||||
c.arcTo(arcSize, arcSize, 0, 0, 1, w, arcSize + dy);
|
||||
c.lineTo(w, h - arcSize);
|
||||
c.arcTo(arcSize, arcSize, 0, 0, 1, w - arcSize, h);
|
||||
c.lineTo(arcSize, h);
|
||||
c.arcTo(arcSize, arcSize, 0, 0, 1, 0, h - arcSize);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (tp == 'left')
|
||||
{
|
||||
path.moveTo(0, 0);
|
||||
path.lineTo(dx, 0);
|
||||
path.lineTo(dx, dy);
|
||||
path.lineTo(w, dy);
|
||||
}
|
||||
// Right is default
|
||||
else
|
||||
{
|
||||
path.moveTo(0, dy);
|
||||
path.lineTo(w - dx, dy);
|
||||
path.lineTo(w - dx, 0);
|
||||
path.lineTo(w, 0);
|
||||
}
|
||||
|
||||
path.lineTo(w, h);
|
||||
path.lineTo(0, h);
|
||||
path.lineTo(0, dy);
|
||||
path.close();
|
||||
path.end();
|
||||
c.moveTo(0, dy);
|
||||
c.lineTo(w, dy);
|
||||
c.lineTo(w, h);
|
||||
c.lineTo(0, h);
|
||||
}
|
||||
|
||||
c.close();
|
||||
c.fillAndStroke();
|
||||
|
||||
c.setShadow(false);
|
||||
|
||||
var sym = mxUtils.getValue(this.style, 'folderSymbol', null);
|
||||
|
||||
if (sym == 'triangle')
|
||||
{
|
||||
c.begin();
|
||||
c.moveTo(w - 30, dy + 20);
|
||||
c.lineTo(w - 20, dy + 10);
|
||||
c.lineTo(w - 10, dy + 20);
|
||||
c.close();
|
||||
c.stroke();
|
||||
}
|
||||
};
|
||||
|
||||
mxCellRenderer.registerShape('folder', FolderShape);
|
||||
|
||||
// Folder Shape, supports tabWidth, tabHeight styles
|
||||
function UMLStateShape()
|
||||
{
|
||||
mxCylinder.call(this);
|
||||
};
|
||||
mxUtils.extend(UMLStateShape, mxCylinder);
|
||||
UMLStateShape.prototype.arcSize = 0.1;
|
||||
|
||||
UMLStateShape.prototype.paintVertexShape = function(c, x, y, w, h)
|
||||
{
|
||||
c.translate(x, y);
|
||||
|
||||
// var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'tabWidth', this.tabWidth))));
|
||||
// var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'tabHeight', this.tabHeight))));
|
||||
// var tp = mxUtils.getValue(this.style, 'tabPosition', this.tabPosition);
|
||||
var rounded = mxUtils.getValue(this.style, 'rounded', false);
|
||||
var absArcSize = mxUtils.getValue(this.style, 'absoluteArcSize', false);
|
||||
var arcSize = parseFloat(mxUtils.getValue(this.style, 'arcSize', this.arcSize));
|
||||
var connPoint = mxUtils.getValue(this.style, 'umlStateConnection', null);
|
||||
|
||||
|
||||
if (!absArcSize)
|
||||
{
|
||||
arcSize = Math.min(w, h) * arcSize;
|
||||
}
|
||||
|
||||
arcSize = Math.min(arcSize, w * 0.5, h * 0.5);
|
||||
|
||||
if (!rounded)
|
||||
{
|
||||
arcSize = 0;
|
||||
}
|
||||
|
||||
var dx = 0;
|
||||
|
||||
if (connPoint != null)
|
||||
{
|
||||
dx = 10;
|
||||
}
|
||||
|
||||
c.begin();
|
||||
c.moveTo(dx, arcSize);
|
||||
c.arcTo(arcSize, arcSize, 0, 0, 1, dx + arcSize, 0);
|
||||
c.lineTo(w - arcSize, 0);
|
||||
c.arcTo(arcSize, arcSize, 0, 0, 1, w, arcSize);
|
||||
c.lineTo(w, h - arcSize);
|
||||
c.arcTo(arcSize, arcSize, 0, 0, 1, w - arcSize, h);
|
||||
c.lineTo(dx + arcSize, h);
|
||||
c.arcTo(arcSize, arcSize, 0, 0, 1, dx, h - arcSize);
|
||||
c.close();
|
||||
c.fillAndStroke();
|
||||
|
||||
c.setShadow(false);
|
||||
|
||||
var sym = mxUtils.getValue(this.style, 'umlStateSymbol', null);
|
||||
|
||||
if (sym == 'collapseState')
|
||||
{
|
||||
c.roundrect(w - 40, h - 20, 10, 10, 3, 3);
|
||||
c.stroke();
|
||||
c.roundrect(w - 20, h - 20, 10, 10, 3, 3);
|
||||
c.stroke();
|
||||
c.begin();
|
||||
c.moveTo(w - 30, h - 15);
|
||||
c.lineTo(w - 20, h - 15);
|
||||
c.stroke();
|
||||
}
|
||||
|
||||
if (connPoint == 'connPointRefEntry')
|
||||
{
|
||||
c.ellipse(0, h * 0.5 - 10, 20, 20);
|
||||
c.fillAndStroke();
|
||||
}
|
||||
else if (connPoint == 'connPointRefExit')
|
||||
{
|
||||
c.ellipse(0, h * 0.5 - 10, 20, 20);
|
||||
c.fillAndStroke();
|
||||
|
||||
c.begin();
|
||||
c.moveTo(5, h * 0.5 - 5);
|
||||
c.lineTo(15, h * 0.5 + 5);
|
||||
c.moveTo(15, h * 0.5 - 5);
|
||||
c.lineTo(5, h * 0.5 + 5);
|
||||
c.stroke();
|
||||
}
|
||||
};
|
||||
|
||||
mxCellRenderer.registerShape('umlState', UMLStateShape);
|
||||
|
||||
// Card shape
|
||||
function CardShape()
|
||||
|
@ -872,6 +1005,77 @@
|
|||
return null;
|
||||
};
|
||||
|
||||
FolderShape.prototype.getLabelMargins = function(rect)
|
||||
{
|
||||
if (mxUtils.getValue(this.style, 'boundedLbl', false))
|
||||
{
|
||||
var sizeY = mxUtils.getValue(this.style, 'tabHeight', 15) * this.scale;
|
||||
|
||||
if (mxUtils.getValue(this.style, 'labelInHeader', false))
|
||||
{
|
||||
var sizeX = mxUtils.getValue(this.style, 'tabWidth', 15) * this.scale;
|
||||
var sizeY = mxUtils.getValue(this.style, 'tabHeight', 15) * this.scale;
|
||||
var rounded = mxUtils.getValue(this.style, 'rounded', false);
|
||||
var absArcSize = mxUtils.getValue(this.style, 'absoluteArcSize', false);
|
||||
var arcSize = parseFloat(mxUtils.getValue(this.style, 'arcSize', this.arcSize));
|
||||
|
||||
if (!absArcSize)
|
||||
{
|
||||
arcSize = Math.min(rect.width, rect.height) * arcSize;
|
||||
}
|
||||
|
||||
arcSize = Math.min(arcSize, rect.width * 0.5, (rect.height - sizeY) * 0.5);
|
||||
|
||||
if (!rounded)
|
||||
{
|
||||
arcSize = 0;
|
||||
}
|
||||
|
||||
if (mxUtils.getValue(this.style, 'tabPosition', this.tabPosition) == 'left')
|
||||
{
|
||||
return new mxRectangle(arcSize, 0, Math.min(rect.width, rect.width - sizeX), Math.min(rect.height, rect.height - sizeY));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new mxRectangle(Math.min(rect.width, rect.width - sizeX), 0, arcSize, Math.min(rect.height, rect.height - sizeY));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return new mxRectangle(0, Math.min(rect.height, sizeY), 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
UMLStateShape.prototype.getLabelMargins = function(rect)
|
||||
{
|
||||
if (mxUtils.getValue(this.style, 'boundedLbl', false))
|
||||
{
|
||||
var connPoint = mxUtils.getValue(this.style, 'umlStateConnection', null);
|
||||
|
||||
if (connPoint != null)
|
||||
{
|
||||
return new mxRectangle(10 * this.scale, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
NoteShape2.prototype.getLabelMargins = function(rect)
|
||||
{
|
||||
if (mxUtils.getValue(this.style, 'boundedLbl', false))
|
||||
{
|
||||
var size = mxUtils.getValue(this.style, 'size', 15);
|
||||
|
||||
return new mxRectangle(0, Math.min(rect.height * this.scale, size * this.scale), 0, Math.max(0, size * this.scale));
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
// Parallelogram shape
|
||||
function ParallelogramShape()
|
||||
{
|
||||
|
@ -1251,6 +1455,8 @@
|
|||
};
|
||||
mxUtils.extend(ProcessShape, mxRectangleShape);
|
||||
ProcessShape.prototype.size = 0.1;
|
||||
ProcessShape.prototype.fixedSize = false;
|
||||
|
||||
ProcessShape.prototype.isHtmlAllowed = function()
|
||||
{
|
||||
return false;
|
||||
|
@ -1285,7 +1491,18 @@
|
|||
};
|
||||
ProcessShape.prototype.paintForeground = function(c, x, y, w, h)
|
||||
{
|
||||
var inset = w * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'size', this.size))));
|
||||
var isFixedSize = mxUtils.getValue(this.style, 'fixedSize', this.fixedSize);
|
||||
var inset = parseFloat(mxUtils.getValue(this.style, 'size', this.size));
|
||||
|
||||
if (isFixedSize)
|
||||
{
|
||||
inset = Math.max(0, Math.min(w, inset));
|
||||
}
|
||||
else
|
||||
{
|
||||
inset = w * Math.max(0, Math.min(1, inset));
|
||||
}
|
||||
|
||||
|
||||
if (this.isRounded)
|
||||
{
|
||||
|
@ -4024,12 +4241,16 @@
|
|||
{
|
||||
var handles = [createHandle(state, ['size'], function(bounds)
|
||||
{
|
||||
var size = Math.max(0, Math.min(0.5, parseFloat(mxUtils.getValue(this.state.style, 'size', ProcessShape.prototype.size))));
|
||||
|
||||
return new mxPoint(bounds.x + bounds.width * size, bounds.y + bounds.height / 4);
|
||||
|
||||
var fixed = mxUtils.getValue(this.state.style, 'fixedSize', '0') != '0';
|
||||
var size = parseFloat(mxUtils.getValue(this.state.style, 'size', ProcessShape.prototype.size));
|
||||
|
||||
return (fixed) ? new mxPoint(bounds.x + size, bounds.y + bounds.height / 4) : new mxPoint(bounds.x + bounds.width * size, bounds.y + bounds.height / 4);
|
||||
}, function(bounds, pt)
|
||||
{
|
||||
this.state.style['size'] = Math.max(0, Math.min(0.5, (pt.x - bounds.x) / bounds.width));
|
||||
var fixed = mxUtils.getValue(this.state.style, 'fixedSize', '0') != '0';
|
||||
var size = (fixed) ? Math.max(0, Math.min(bounds.width * 0.5, (pt.x - bounds.x))) : Math.max(0, Math.min(0.5, (pt.x - bounds.x) / bounds.width));
|
||||
this.state.style['size'] = size;
|
||||
}, false)];
|
||||
|
||||
if (mxUtils.getValue(state.style, mxConstants.STYLE_ROUNDED, false))
|
||||
|
@ -4068,6 +4289,20 @@
|
|||
Math.min(bounds.height, pt.y - bounds.y))));
|
||||
})];
|
||||
},
|
||||
'note2': function(state)
|
||||
{
|
||||
return [createHandle(state, ['size'], function(bounds)
|
||||
{
|
||||
var size = Math.max(0, Math.min(bounds.width, Math.min(bounds.height, parseFloat(
|
||||
mxUtils.getValue(this.state.style, 'size', NoteShape2.prototype.size)))));
|
||||
|
||||
return new mxPoint(bounds.x + bounds.width - size, bounds.y + size);
|
||||
}, function(bounds, pt)
|
||||
{
|
||||
this.state.style['size'] = Math.round(Math.max(0, Math.min(Math.min(bounds.width, bounds.x + bounds.width - pt.x),
|
||||
Math.min(bounds.height, pt.y - bounds.y))));
|
||||
})];
|
||||
},
|
||||
'manualInput': function(state)
|
||||
{
|
||||
var handles = [createHandle(state, ['size'], function(bounds)
|
||||
|
|
|
@ -1658,7 +1658,6 @@ Sidebar.prototype.addUmlPalette = function(expand)
|
|||
40, 300, '', 'Control Lifeline', null, null, 'uml sequence participant lifeline control'),
|
||||
this.createVertexTemplateEntry('shape=umlFrame;whiteSpace=wrap;html=1;', 300, 200, 'frame', 'Frame', null, null, 'uml sequence frame'),
|
||||
this.createVertexTemplateEntry('shape=umlDestroy;whiteSpace=wrap;html=1;strokeWidth=3;', 30, 30, '', 'Destruction', null, null, 'uml sequence destruction destroy'),
|
||||
this.createVertexTemplateEntry('shape=note;whiteSpace=wrap;html=1;size=14;verticalAlign=top;align=left;spacingTop=-6;', 100, 70, 'Note', 'Note', null, null, 'uml note'),
|
||||
this.addEntry('uml sequence invoke invocation call activation', function()
|
||||
{
|
||||
var cell = new mxCell('', new mxGeometry(0, 0, 10, 80), 'html=1;points=[];perimeter=orthogonalPerimeter;');
|
||||
|
@ -1716,6 +1715,461 @@ Sidebar.prototype.addUmlPalette = function(expand)
|
|||
10, 60, 'Callback');
|
||||
}),
|
||||
this.createVertexTemplateEntry('html=1;points=[];perimeter=orthogonalPerimeter;', 10, 80, '', 'Activation', null, null, 'uml sequence activation'),
|
||||
|
||||
// new 2.5.1 shapes ******************************************************************************
|
||||
|
||||
this.createVertexTemplateEntry('shape=partialRectangle;html=1;top=1;align=left;dashed=1;', 200, 20, 'Template1 signature', 'Template signature', null, null, 'template signature'),
|
||||
this.createVertexTemplateEntry('shape=partialRectangle;html=1;top=1;align=left;dashed=1;', 200, 50, 'Template parameter 1\nTemplate parameter 2', 'Template signature', null, null, 'template signature'),
|
||||
this.createVertexTemplateEntry('shape=note2;boundedLbl=1;whiteSpace=wrap;html=1;size=25;verticalAlign=top;align=center;', 120, 60, 'Comment1 body', 'Note', null, null, 'uml note'),
|
||||
|
||||
this.addEntry('uml sequence self call recursion delegation activation', function()
|
||||
{
|
||||
var cell = new mxCell('Constraint1 specification', new mxGeometry(0, 0, 160, 60), 'shape=note2;boundedLbl=1;whiteSpace=wrap;html=1;size=25;verticalAlign=top;align=center;');
|
||||
cell.vertex = true;
|
||||
var label = new mxCell('<<keyword>>', new mxGeometry(0, 0, cell.geometry.width, 25), 'resizeWidth=1;part=1;strokeColor=none;fillColor=none;align=left;spacingLeft=5;');
|
||||
label.geometry.relative = true;
|
||||
label.vertex = true;
|
||||
cell.insert(label);
|
||||
|
||||
return sb.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'Note');
|
||||
}),
|
||||
|
||||
this.addEntry(dt + 'classifier', function()
|
||||
{
|
||||
var cell1 = new mxCell('<<keyword>><br><b>Classifier1</b><br>{abstract}', new mxGeometry(0, 0, 140, 183),
|
||||
'swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=55;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;html=1;');
|
||||
cell1.vertex = true;
|
||||
var field1 = new mxCell('attributes',
|
||||
new mxGeometry(0, 0, 140, 20), 'text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;');
|
||||
field1.vertex = true;
|
||||
cell1.insert(field1);
|
||||
var field2 = new mxCell('attribute1',
|
||||
new mxGeometry(0, 0, 140, 20), 'text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;');
|
||||
field2.vertex = true;
|
||||
cell1.insert(field2);
|
||||
var field3 = new mxCell('inherited attribute2',
|
||||
new mxGeometry(0, 0, 140, 20), 'text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontColor=#808080;');
|
||||
field3.vertex = true;
|
||||
cell1.insert(field3);
|
||||
var field4 = new mxCell('...',
|
||||
new mxGeometry(0, 0, 140, 20), 'text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;');
|
||||
field4.vertex = true;
|
||||
cell1.insert(field4);
|
||||
cell1.insert(divider.clone());
|
||||
var field5 = new mxCell('operations',
|
||||
new mxGeometry(0, 0, 140, 20), 'text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;');
|
||||
field5.vertex = true;
|
||||
cell1.insert(field5);
|
||||
var field6 = new mxCell('operation1',
|
||||
new mxGeometry(0, 0, 140, 20), 'text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;');
|
||||
field6.vertex = true;
|
||||
cell1.insert(field6);
|
||||
|
||||
return sb.createVertexTemplateFromCells([cell1], cell1.geometry.width, cell1.geometry.height, 'Classifier');
|
||||
}),
|
||||
|
||||
this.createVertexTemplateEntry('shape=process;fixedSize=1;size=5;fontStyle=1;', 140, 40, 'Classifier1', 'Classifier', null, null, 'classifier'),
|
||||
|
||||
this.addEntry(dt + 'classifier', function()
|
||||
{
|
||||
var cell1 = new mxCell('Classifier1', new mxGeometry(0, 0, 140, 183),
|
||||
'swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;html=1;');
|
||||
cell1.vertex = true;
|
||||
var field1 = new mxCell('internal structure',
|
||||
new mxGeometry(0, 0, 140, 30), 'html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];resizeWidth=1;');
|
||||
field1.vertex = true;
|
||||
cell1.insert(field1);
|
||||
|
||||
var cell2 = new mxCell('', new mxGeometry(0, 0, 140, 140),
|
||||
'strokeColor=none;fillColor=none;');
|
||||
cell2.vertex = true;
|
||||
cell1.insert(cell2);
|
||||
|
||||
var field2 = new mxCell('property1',
|
||||
new mxGeometry(0, 0, 100, 30), 'html=1;align=center;verticalAlign=middle;rotatable=0;');
|
||||
field2.geometry.relative = true;
|
||||
field2.geometry.offset = new mxPoint(20, 20);
|
||||
field2.vertex = true;
|
||||
cell2.insert(field2);
|
||||
|
||||
var field3 = new mxCell('property2',
|
||||
new mxGeometry(0, 0, 100, 30), 'html=1;align=center;verticalAlign=middle;rotatable=0;');
|
||||
field3.geometry.relative = true;
|
||||
field3.geometry.offset = new mxPoint(20, 90);
|
||||
field3.vertex = true;
|
||||
cell2.insert(field3);
|
||||
|
||||
var assoc1 = new mxCell('connector1', new mxGeometry(0, 0, 0, 0), 'edgeStyle=none;endArrow=none;verticalAlign=middle;labelBackgroundColor=none;endSize=12;html=1;align=left;endFill=0;exitX=0.15;exitY=1;entryX=0.15;entryY=0;spacingLeft=4;');
|
||||
assoc1.geometry.relative = true;
|
||||
assoc1.edge = true;
|
||||
field2.insertEdge(assoc1, true);
|
||||
field3.insertEdge(assoc1, false);
|
||||
cell2.insert(assoc1);
|
||||
|
||||
return sb.createVertexTemplateFromCells([cell1], cell1.geometry.width, cell1.geometry.height, 'Classifier');
|
||||
}),
|
||||
|
||||
this.createVertexTemplateEntry('fontStyle=1;', 140, 30, 'Association1', 'Association', null, null, 'association'),
|
||||
|
||||
this.addEntry(dt + 'classifier', function()
|
||||
{
|
||||
var cell1 = new mxCell('Instance1', new mxGeometry(0, 0, 140, 138),
|
||||
'swimlane;fontStyle=4;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;html=1;');
|
||||
cell1.vertex = true;
|
||||
var field1 = new mxCell('slot1',
|
||||
new mxGeometry(0, 0, 140, 30), 'html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];resizeWidth=1;');
|
||||
field1.vertex = true;
|
||||
cell1.insert(field1);
|
||||
|
||||
cell1.insert(divider.clone());
|
||||
|
||||
var field2 = new mxCell('internal structure',
|
||||
new mxGeometry(0, 0, 140, 20), 'html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];resizeWidth=1;');
|
||||
field2.vertex = true;
|
||||
cell1.insert(field2);
|
||||
|
||||
var cell2 = new mxCell('', new mxGeometry(0, 0, 140, 50),
|
||||
'strokeColor=none;fillColor=none;');
|
||||
cell2.vertex = true;
|
||||
cell1.insert(cell2);
|
||||
|
||||
var field3 = new mxCell('instance2',
|
||||
new mxGeometry(0, 0, 80, 30), 'html=1;align=center;verticalAlign=middle;rotatable=0;');
|
||||
field3.geometry.relative = true;
|
||||
field3.geometry.offset = new mxPoint(30, 10);
|
||||
field3.vertex = true;
|
||||
cell2.insert(field3);
|
||||
|
||||
return sb.createVertexTemplateFromCells([cell1], cell1.geometry.width, cell1.geometry.height, 'Classifier');
|
||||
}),
|
||||
|
||||
this.createVertexTemplateEntry('fontStyle=0;', 120, 40, 'Instance1 value', 'Instance', null, null, 'instance'),
|
||||
|
||||
this.addEntry(dt + 'classifier', function()
|
||||
{
|
||||
var cell1 = new mxCell('<<enumeration>><br><b>Enum1</b>', new mxGeometry(0, 0, 140, 70),
|
||||
'swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=40;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;html=1;');
|
||||
cell1.vertex = true;
|
||||
var field1 = new mxCell('literal1',
|
||||
new mxGeometry(0, 0, 140, 30), 'text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;');
|
||||
field1.vertex = true;
|
||||
cell1.insert(field1);
|
||||
|
||||
return sb.createVertexTemplateFromCells([cell1], cell1.geometry.width, cell1.geometry.height, 'Classifier');
|
||||
}),
|
||||
|
||||
this.addEntry(dt + 'classifier', function()
|
||||
{
|
||||
var cell1 = new mxCell('0..1', new mxGeometry(0, 0, 120, 50),
|
||||
'align=right;verticalAlign=top;spacingRight=2;');
|
||||
cell1.vertex = true;
|
||||
var field1 = new mxCell('Property1',
|
||||
new mxGeometry(0, 1, 120, 30), 'text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;resizeWidth=1;');
|
||||
field1.geometry.relative = true;
|
||||
field1.geometry.offset = new mxPoint(0, -30);
|
||||
field1.vertex = true;
|
||||
|
||||
cell1.insert(field1);
|
||||
|
||||
return sb.createVertexTemplateFromCells([cell1], cell1.geometry.width, cell1.geometry.height, 'Classifier');
|
||||
}),
|
||||
|
||||
this.createVertexTemplateEntry('fontStyle=0;dashed=1;', 140, 30, 'Property1', 'Property', null, null, 'property'),
|
||||
this.createVertexTemplateEntry('fontStyle=0;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=2;', 30, 30, 'port1', 'Port', null, null, 'port'),
|
||||
|
||||
this.addEntry(dt + 'component', function()
|
||||
{
|
||||
var cell1 = new mxCell('', new mxGeometry(0, 0, 140, 200), 'fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;marginBottom=0;');
|
||||
cell1.vertex = true;
|
||||
|
||||
var cell2 = new mxCell('Component', new mxGeometry(0, 0, 140, 40), 'html=1;align=left;spacingLeft=4;verticalAlign=top;strokeColor=none;fillColor=none;');
|
||||
cell2.vertex = true;
|
||||
cell1.insert(cell2);
|
||||
|
||||
var symbol = new mxCell('', new mxGeometry(1, 0, 16, 20), 'shape=module;jettyWidth=10;jettyHeight=4;');
|
||||
symbol.vertex = true;
|
||||
symbol.geometry.relative = true;
|
||||
symbol.geometry.offset = new mxPoint(-25, 9);
|
||||
cell2.insert(symbol);
|
||||
|
||||
cell1.insert(divider.clone());
|
||||
|
||||
var cell3 = new mxCell('provided interfaces', new mxGeometry(0, 0, 140, 25), 'html=1;align=center;spacingLeft=4;verticalAlign=top;strokeColor=none;fillColor=none;');
|
||||
cell3.vertex = true;
|
||||
cell1.insert(cell3);
|
||||
|
||||
var cell4 = new mxCell('Interface1', new mxGeometry(0, 0, 140, 25), 'html=1;align=left;spacingLeft=4;verticalAlign=top;strokeColor=none;fillColor=none;');
|
||||
cell4.vertex = true;
|
||||
cell1.insert(cell4);
|
||||
|
||||
cell1.insert(divider.clone());
|
||||
|
||||
var cell5 = new mxCell('required interfaces', new mxGeometry(0, 0, 140, 25), 'html=1;align=center;spacingLeft=4;verticalAlign=top;strokeColor=none;fillColor=none;');
|
||||
cell5.vertex = true;
|
||||
cell1.insert(cell5);
|
||||
|
||||
var cell6 = new mxCell('Interface2', new mxGeometry(0, 0, 140, 30), 'html=1;align=left;spacingLeft=4;verticalAlign=top;strokeColor=none;fillColor=none;');
|
||||
cell6.vertex = true;
|
||||
cell1.insert(cell6);
|
||||
|
||||
return sb.createVertexTemplateFromCells([cell1], cell1.geometry.width, cell1.geometry.height, 'Component');
|
||||
}),
|
||||
|
||||
this.addEntry(dt + 'classifier', function()
|
||||
{
|
||||
var cell1 = new mxCell('', new mxGeometry(0, 0, 270, 230),
|
||||
'shape=ellipse;container=1;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;html=1;dashed=1;collapsible=0;');
|
||||
cell1.vertex = true;
|
||||
|
||||
var field1 = new mxCell('Collaboration1',
|
||||
new mxGeometry(0, 0, 270, 30), 'html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];resizeWidth=1;');
|
||||
field1.vertex = true;
|
||||
cell1.insert(field1);
|
||||
|
||||
var divider1 = new mxCell('', new mxGeometry(0.145, 0, 192, 8), 'line;strokeWidth=1;fillColor=none;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;dashed=1;resizeWidth=1;');
|
||||
divider1.geometry.relative = true;
|
||||
divider1.geometry.offset = new mxPoint(0, 30);
|
||||
divider1.vertex = true;
|
||||
cell1.insert(divider1);
|
||||
|
||||
var field2 = new mxCell('Classifier1',
|
||||
new mxGeometry(0, 0, 100, 30), 'html=1;align=center;verticalAlign=middle;rotatable=0;');
|
||||
field2.geometry.relative = true;
|
||||
field2.geometry.offset = new mxPoint(85, 50);
|
||||
field2.vertex = true;
|
||||
cell1.insert(field2);
|
||||
|
||||
var field3 = new mxCell('Collaboration use 1',
|
||||
new mxGeometry(0, 0, 140, 30), 'shape=ellipse;html=1;align=center;verticalAlign=middle;rotatable=0;dashed=1;');
|
||||
field3.geometry.relative = true;
|
||||
field3.geometry.offset = new mxPoint(65, 110);
|
||||
field3.vertex = true;
|
||||
cell1.insert(field3);
|
||||
|
||||
var assoc1 = new mxCell('property1', new mxGeometry(0, 0, 0, 0), 'edgeStyle=none;endArrow=none;verticalAlign=middle;labelBackgroundColor=none;endSize=12;html=1;align=left;endFill=0;spacingLeft=4;');
|
||||
assoc1.geometry.relative = true;
|
||||
assoc1.edge = true;
|
||||
field2.insertEdge(assoc1, true);
|
||||
field3.insertEdge(assoc1, false);
|
||||
cell1.insert(assoc1);
|
||||
|
||||
var field4 = new mxCell('Classifier2',
|
||||
new mxGeometry(0, 0, 100, 30), 'html=1;align=center;verticalAlign=middle;rotatable=0;');
|
||||
field4.geometry.relative = true;
|
||||
field4.geometry.offset = new mxPoint(85, 170);
|
||||
field4.vertex = true;
|
||||
cell1.insert(field4);
|
||||
|
||||
var assoc2 = new mxCell('property1', new mxGeometry(0, 0, 0, 0), 'edgeStyle=none;endArrow=none;verticalAlign=middle;labelBackgroundColor=none;endSize=12;html=1;align=left;endFill=0;spacingLeft=4;');
|
||||
assoc2.geometry.relative = true;
|
||||
assoc2.edge = true;
|
||||
field3.insertEdge(assoc2, true);
|
||||
field4.insertEdge(assoc2, false);
|
||||
cell1.insert(assoc2);
|
||||
|
||||
return sb.createVertexTemplateFromCells([cell1], cell1.geometry.width, cell1.geometry.height, 'Classifier');
|
||||
}),
|
||||
|
||||
this.createVertexTemplateEntry('shape=folder;fontStyle=1;tabWidth=80;tabHeight=30;tabPosition=left;html=1;boundedLbl=1;', 150, 80,
|
||||
'Package1', 'Package', null, null, dt + 'package'),
|
||||
|
||||
this.addEntry(dt + 'package', function()
|
||||
{
|
||||
var cell1 = new mxCell('Package1', new mxGeometry(0, 0, 150, 100),
|
||||
'shape=folder;fontStyle=1;tabWidth=110;tabHeight=30;tabPosition=left;html=1;boundedLbl=1;labelInHeader=1;');
|
||||
cell1.vertex = true;
|
||||
|
||||
var field1 = new mxCell('Packaged element1',
|
||||
new mxGeometry(0, 0, 110, 30), 'html=1;');
|
||||
field1.geometry.relative = true;
|
||||
field1.geometry.offset = new mxPoint(20, 50);
|
||||
field1.vertex = true;
|
||||
cell1.insert(field1);
|
||||
|
||||
|
||||
return sb.createVertexTemplateFromCells([cell1], cell1.geometry.width, cell1.geometry.height, 'Classifier');
|
||||
}),
|
||||
|
||||
this.addEntry(dt + 'package', function()
|
||||
{
|
||||
var cell1 = new mxCell('Model1', new mxGeometry(0, 0, 150, 80),
|
||||
'shape=folder;fontStyle=1;tabWidth=110;tabHeight=30;tabPosition=left;html=1;boundedLbl=1;folderSymbol=triangle;');
|
||||
cell1.vertex = true;
|
||||
|
||||
return sb.createVertexTemplateFromCells([cell1], cell1.geometry.width, cell1.geometry.height, 'Package');
|
||||
}),
|
||||
|
||||
this.addEntry(dt + 'stereotype', function()
|
||||
{
|
||||
var cell1 = new mxCell('', new mxGeometry(0, 0, 160, 75),
|
||||
'shape=note2;size=25;childLayout=stackLayout;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;html=1;container=1;');
|
||||
cell1.vertex = true;
|
||||
var field1 = new mxCell('<<stereotype1>>',
|
||||
new mxGeometry(0, 0, 160, 25), 'text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;');
|
||||
field1.vertex = true;
|
||||
cell1.insert(field1);
|
||||
var field2 = new mxCell('stereotype property 1',
|
||||
new mxGeometry(0, 0, 160, 25), 'text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;');
|
||||
field2.vertex = true;
|
||||
cell1.insert(field2);
|
||||
var field3 = new mxCell('stereotype property 2',
|
||||
new mxGeometry(0, 0, 160, 25), 'text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;');
|
||||
field3.vertex = true;
|
||||
cell1.insert(field3);
|
||||
|
||||
return sb.createVertexTemplateFromCells([cell1], cell1.geometry.width, cell1.geometry.height, 'Stereotype');
|
||||
}),
|
||||
|
||||
this.addEntry(dt + 'class', function()
|
||||
{
|
||||
var cell1 = new mxCell('Class1', new mxGeometry(0, 0, 140, 79),
|
||||
'swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=29;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;html=1;');
|
||||
cell1.vertex = true;
|
||||
var field1 = new mxCell('<<stereotype1>>',
|
||||
new mxGeometry(0, 0, 140, 25), 'text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;');
|
||||
field1.vertex = true;
|
||||
cell1.insert(field1);
|
||||
var field2 = new mxCell('stereotype property 1',
|
||||
new mxGeometry(0, 0, 140, 25), 'text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;');
|
||||
field2.vertex = true;
|
||||
cell1.insert(field2);
|
||||
|
||||
return sb.createVertexTemplateFromCells([cell1], cell1.geometry.width, cell1.geometry.height, 'Class');
|
||||
}),
|
||||
|
||||
this.createVertexTemplateEntry('text;html=1;align=center;', 200, 25,
|
||||
'<<stereotype1, stereotype2...>>', 'Label', null, null, dt + 'label'),
|
||||
this.createVertexTemplateEntry('ellipse;', 50, 25,
|
||||
'icon', 'Icon', null, null, dt + 'icon'),
|
||||
|
||||
this.addEntry(dt + 'region', function()
|
||||
{
|
||||
var cell1 = new mxCell('', new mxGeometry(60, 0, 10, 100),
|
||||
'line;strokeWidth=1;direction=south;html=1;dashed=1;dashPattern=20 20;');
|
||||
cell1.vertex = true;
|
||||
|
||||
var cell2 = new mxCell('Region 1', new mxGeometry(0, 40, 60, 20),
|
||||
'text;align=right;');
|
||||
cell2.vertex = true;
|
||||
|
||||
var cell3 = new mxCell('Region 2', new mxGeometry(70, 40, 60, 20),
|
||||
'text;align=left;');
|
||||
cell3.vertex = true;
|
||||
|
||||
return sb.createVertexTemplateFromCells([cell1, cell2, cell3], 130, cell1.geometry.height, 'Region');
|
||||
}),
|
||||
|
||||
this.addEntry(dt + 'State', function()
|
||||
{
|
||||
var cell1 = new mxCell('State1<br>[invariant1]<br><<extended/final>>', new mxGeometry(0, 0, 140, 176),
|
||||
'swimlane;fontStyle=4;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=60;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;html=1;rounded=1;absoluteArcSize=1;arcSize=50;');
|
||||
cell1.vertex = true;
|
||||
|
||||
var field1 = new mxCell('',
|
||||
new mxGeometry(0, 0, 140, 50), 'fillColor=none;strokeColor=none;container=1;collapsible=0;');
|
||||
field1.vertex = true;
|
||||
cell1.insert(field1);
|
||||
|
||||
var field2 = new mxCell('State2',
|
||||
new mxGeometry(30, 10, 80, 30), 'html=1;align=center;verticalAlign=middle;rounded=1;absoluteArcSize=1;arcSize=10;');
|
||||
field2.vertex = true;
|
||||
field1.insert(field2);
|
||||
|
||||
cell1.insert(divider.clone());
|
||||
|
||||
var field3 = new mxCell('behavior1',
|
||||
new mxGeometry(0, 0, 140, 25), 'fillColor=none;strokeColor=none;align=left;verticalAlign=middle;spacingLeft=5;');
|
||||
field3.vertex = true;
|
||||
cell1.insert(field3);
|
||||
|
||||
cell1.insert(divider.clone());
|
||||
|
||||
var field4 = new mxCell('transition1',
|
||||
new mxGeometry(0, 0, 140, 25), 'fillColor=none;strokeColor=none;align=left;verticalAlign=middle;spacingLeft=5;');
|
||||
field4.vertex = true;
|
||||
cell1.insert(field4);
|
||||
|
||||
return sb.createVertexTemplateFromCells([cell1], cell1.geometry.width, cell1.geometry.height, 'State');
|
||||
}),
|
||||
|
||||
this.createVertexTemplateEntry('html=1;align=center;verticalAlign=top;rounded=1;absoluteArcSize=1;arcSize=10;dashed=1;', 140, 40,
|
||||
'State1', 'State', null, null, dt + 'state'),
|
||||
|
||||
this.createVertexTemplateEntry('html=1;align=center;verticalAlign=top;rounded=1;absoluteArcSize=1;arcSize=10;dashed=0;', 140, 40,
|
||||
'State', 'State', null, null, dt + 'state'),
|
||||
|
||||
this.createVertexTemplateEntry('shape=folder;align=center;verticalAlign=middle;fontStyle=0;tabWidth=100;tabHeight=30;tabPosition=left;html=1;boundedLbl=1;labelInHeader=1;rounded=1;absoluteArcSize=1;arcSize=10;', 140, 90,
|
||||
'State1', 'State', null, null, dt + 'state'),
|
||||
|
||||
this.createVertexTemplateEntry('html=1;align=center;verticalAlign=top;rounded=1;absoluteArcSize=1;arcSize=10;dashed=0;', 140, 40,
|
||||
'State1, State2, ...', 'State', null, null, dt + 'state'),
|
||||
|
||||
this.createVertexTemplateEntry('shape=umlState;rounded=1;verticalAlign=top;spacingTop=5;umlStateSymbol=collapseState;absoluteArcSize=1;arcSize=10;', 140, 60,
|
||||
'State1', 'State', null, null, dt + 'state'),
|
||||
|
||||
this.addEntry(dt + 'State', function()
|
||||
{
|
||||
var cell1 = new mxCell('State1', new mxGeometry(40, 0, 140, 50),
|
||||
'shape=umlState;rounded=1;verticalAlign=middle;align=center;absoluteArcSize=1;arcSize=10;umlStateConnection=connPointRefEntry;boundedLbl=1;');
|
||||
cell1.vertex = true;
|
||||
|
||||
var field1 = new mxCell('Entry1',
|
||||
new mxGeometry(0, 40, 50, 20), 'text;verticalAlign=middle;align=center;');
|
||||
field1.vertex = true;
|
||||
cell1.insert(field1);
|
||||
|
||||
return sb.createVertexTemplateFromCells([cell1, field1], 180, 60, 'State');
|
||||
}),
|
||||
|
||||
this.addEntry(dt + 'State', function()
|
||||
{
|
||||
var cell1 = new mxCell('State1', new mxGeometry(40, 0, 140, 50),
|
||||
'shape=umlState;rounded=1;verticalAlign=middle;spacingTop=0;absoluteArcSize=1;arcSize=10;umlStateConnection=connPointRefExit;boundedLbl=1;');
|
||||
cell1.vertex = true;
|
||||
|
||||
var field1 = new mxCell('Exit1',
|
||||
new mxGeometry(0, 40, 50, 20), 'text;verticalAlign=middle;align=center;');
|
||||
field1.vertex = true;
|
||||
cell1.insert(field1);
|
||||
|
||||
return sb.createVertexTemplateFromCells([cell1, field1], 180, 60, 'State');
|
||||
}),
|
||||
|
||||
this.createVertexTemplateEntry('ellipse;fillColor=#000000;strokeColor=none;', 30, 30,
|
||||
'', 'Initial state', null, null, dt + 'initial state'),
|
||||
|
||||
this.createVertexTemplateEntry('ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#000000;', 30, 30,
|
||||
'', 'Final state', null, null, dt + 'final state'),
|
||||
|
||||
this.createVertexTemplateEntry('ellipse;fillColor=#ffffff;strokeColor=#000000;', 30, 30,
|
||||
'H', 'Shallow History', null, null, dt + 'shallow history'),
|
||||
|
||||
this.createVertexTemplateEntry('ellipse;fillColor=#ffffff;strokeColor=#000000;', 30, 30,
|
||||
'H*', 'Deep History', null, null, dt + 'deep history'),
|
||||
|
||||
this.createVertexTemplateEntry('ellipse;fillColor=#ffffff;strokeColor=#000000;', 30, 30,
|
||||
'', 'Entry Point', null, null, dt + 'entry point'),
|
||||
|
||||
this.createVertexTemplateEntry('shape=sumEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;', 30, 30,
|
||||
'', 'Exit Point', null, null, dt + 'exit point'),
|
||||
|
||||
this.createVertexTemplateEntry('ellipse;fillColor=#000000;strokeColor=none;', 20, 20,
|
||||
'', 'Junction', null, null, dt + 'junction'),
|
||||
|
||||
this.createVertexTemplateEntry('rhombus;', 30, 30,
|
||||
'', 'Choice', null, null, dt + 'choice'),
|
||||
|
||||
this.createVertexTemplateEntry('shape=umlDestroy;', 30, 30,
|
||||
'', 'Terminate', null, null, dt + 'terminate'),
|
||||
|
||||
this.createVertexTemplateEntry('html=1;points=[];perimeter=orthogonalPerimeter;fillColor=#000000;strokeColor=none;', 5, 80,
|
||||
'', 'Join/Fork', null, null, dt + 'join fork'),
|
||||
|
||||
this.createVertexTemplateEntry('text;align=center;verticalAlign=middle;dashed=0;fillColor=#ffffff;strokeColor=#000000;', 140, 40,
|
||||
'OpaqueAction1 spec.', 'Opaque Action', null, null, dt + 'opaque action'),
|
||||
|
||||
// end of new shapes ******************************************************************************
|
||||
|
||||
this.createEdgeTemplateEntry('html=1;verticalAlign=bottom;startArrow=oval;startFill=1;endArrow=block;startSize=8;', 60, 0, 'dispatch', 'Found Message 1', null, 'uml sequence message call invoke dispatch'),
|
||||
this.createEdgeTemplateEntry('html=1;verticalAlign=bottom;startArrow=circle;startFill=1;endArrow=open;startSize=6;endSize=8;', 80, 0, 'dispatch', 'Found Message 2', null, 'uml sequence message call invoke dispatch'),
|
||||
this.createEdgeTemplateEntry('html=1;verticalAlign=bottom;endArrow=block;', 80, 0, 'dispatch', 'Message', null, 'uml sequence message call invoke dispatch'),
|
||||
|
|
232
src/main/webapp/js/open.js
Normal file
232
src/main/webapp/js/open.js
Normal file
|
@ -0,0 +1,232 @@
|
|||
// Handles form-submit by preparing to process response
|
||||
function handleSubmit()
|
||||
{
|
||||
var form = window.openForm || document.getElementById('openForm');
|
||||
|
||||
if (window.parent.openNew && window.parent.baseUrl != null)
|
||||
{
|
||||
window.parent.openFile.setConsumer(null);
|
||||
window.parent.open(window.parent.baseUrl);
|
||||
}
|
||||
|
||||
// NOTE: File is loaded via JS injection into the iframe, which in turn sets the
|
||||
// file contents in the parent window. The new window asks its opener if any file
|
||||
// contents are available or waits for the contents to become available.
|
||||
return true;
|
||||
};
|
||||
|
||||
// Hides this dialog
|
||||
function hideWindow(cancel)
|
||||
{
|
||||
window.parent.openFile.cancel(cancel);
|
||||
}
|
||||
|
||||
function fileChanged()
|
||||
{
|
||||
var supportedText = document.getElementById('openSupported');
|
||||
var form = window.openForm || document.getElementById('openForm');
|
||||
var openButton = document.getElementById('openButton');
|
||||
|
||||
if (form.upfile.value.length > 0)
|
||||
{
|
||||
openButton.removeAttribute('disabled');
|
||||
}
|
||||
else
|
||||
{
|
||||
openButton.setAttribute('disabled', 'disabled');
|
||||
}
|
||||
}
|
||||
|
||||
function main()
|
||||
{
|
||||
if (window.parent != null && window.parent.Editor != null)
|
||||
{
|
||||
if (window.parent.Editor.useLocalStorage)
|
||||
{
|
||||
document.body.innerHTML = '';
|
||||
var div = document.createElement('div');
|
||||
div.style.fontFamily = 'Arial';
|
||||
|
||||
window.parent.listBrowserFiles(function(filesInfo)
|
||||
{
|
||||
if (filesInfo.length == 0)
|
||||
{
|
||||
window.parent.mxUtils.write(div, window.parent.mxResources.get('noFiles'));
|
||||
window.parent.mxUtils.br(div);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Sorts the array by filename (titles)
|
||||
filesInfo.sort(function (a, b)
|
||||
{
|
||||
return a.title.toLowerCase().localeCompare(b.title.toLowerCase());
|
||||
});
|
||||
|
||||
var table = document.createElement('table');
|
||||
var hrow = document.createElement('tr');
|
||||
hrow.style.backgroundColor = '#D6D6D6';
|
||||
hrow.style.height = '25px';
|
||||
hrow.style.textAlign = 'left';
|
||||
table.appendChild(hrow);
|
||||
var hName = document.createElement('th');
|
||||
window.parent.mxUtils.write(hName, window.parent.mxResources.get('name'));
|
||||
hrow.appendChild(hName);
|
||||
var hModified = document.createElement('th');
|
||||
hModified.style.width = '180px';
|
||||
window.parent.mxUtils.write(hModified, window.parent.mxResources.get('lastModified'));
|
||||
hrow.appendChild(hModified);
|
||||
var hSize = document.createElement('th');
|
||||
window.parent.mxUtils.write(hSize, window.parent.mxResources.get('size'));
|
||||
hSize.style.width = '70px';
|
||||
hrow.appendChild(hSize);
|
||||
var hCtrl = document.createElement('th');
|
||||
hCtrl.style.width = '23px';
|
||||
hrow.appendChild(hCtrl);
|
||||
table.style.fontSize = '12pt';
|
||||
table.style.width = '100%';
|
||||
|
||||
for (var i = 0; i < filesInfo.length; i++)
|
||||
{
|
||||
var fileInfo = filesInfo[i];
|
||||
|
||||
if (fileInfo.title.length > 0)
|
||||
{
|
||||
var row = document.createElement('tr');
|
||||
table.appendChild(row);
|
||||
|
||||
if (i & 1 == 1)
|
||||
{
|
||||
row.style.backgroundColor = '#E6E6E6';
|
||||
}
|
||||
|
||||
var nameTd = document.createElement('td');
|
||||
row.appendChild(nameTd);
|
||||
var link = document.createElement('a');
|
||||
link.style.fontDecoration = 'none';
|
||||
window.parent.mxUtils.write(link, fileInfo.title);
|
||||
link.style.cursor = 'pointer';
|
||||
nameTd.appendChild(link);
|
||||
|
||||
var modifiedTd = document.createElement('td');
|
||||
row.appendChild(modifiedTd);
|
||||
var str = window.parent.EditorUi.prototype.timeSince(new Date(fileInfo.lastModified));
|
||||
|
||||
if (str == null)
|
||||
{
|
||||
str = window.parent.mxResources.get('lessThanAMinute');
|
||||
}
|
||||
|
||||
window.parent.mxUtils.write(modifiedTd, window.parent.mxResources.get('timeAgo', [str]));
|
||||
|
||||
var sizeTd = document.createElement('td');
|
||||
row.appendChild(sizeTd);
|
||||
window.parent.mxUtils.write(sizeTd, window.parent.EditorUi.prototype.formatFileSize(fileInfo.size));
|
||||
|
||||
var ctrlTd = document.createElement('td');
|
||||
row.appendChild(ctrlTd);
|
||||
ctrlTd.style.textAlign = 'center';
|
||||
var img = document.createElement('span');
|
||||
img.className = 'geSprite geSprite-delete';
|
||||
img.style.cursor = 'pointer';
|
||||
img.style.display = 'inline-block';
|
||||
ctrlTd.appendChild(img);
|
||||
|
||||
window.parent.mxEvent.addListener(img, 'click', (function(k)
|
||||
{
|
||||
return function()
|
||||
{
|
||||
if (window.parent.mxUtils.confirm(window.parent.mxResources.get('delete') + ' "' + k + '"?'))
|
||||
{
|
||||
window.parent.deleteBrowserFile(k, function()
|
||||
{
|
||||
window.location.reload();
|
||||
});
|
||||
}
|
||||
};
|
||||
})(fileInfo.title));
|
||||
|
||||
window.parent.mxEvent.addListener(link, 'click', (function(k)
|
||||
{
|
||||
return function()
|
||||
{
|
||||
if (window.parent.openNew && window.parent.baseUrl != null)
|
||||
{
|
||||
var of = window.parent.openFile;
|
||||
window.parent.openBrowserFile(k, function(data)
|
||||
{
|
||||
window.parent.openWindow(window.parent.baseUrl + '#L' + encodeURIComponent(k), function()
|
||||
{
|
||||
of.cancel(false);
|
||||
}, function()
|
||||
{
|
||||
of.setData(data, k);
|
||||
});
|
||||
}, function()
|
||||
{
|
||||
//TODO add error
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
window.parent.openBrowserFile(k, function(data)
|
||||
{
|
||||
window.parent.openFile.setData(data, k);
|
||||
}, function()
|
||||
{
|
||||
//TODO add error
|
||||
});
|
||||
}
|
||||
};
|
||||
})(fileInfo.title));
|
||||
}
|
||||
}
|
||||
|
||||
div.appendChild(table);
|
||||
}
|
||||
|
||||
var closeButton = window.parent.mxUtils.button(window.parent.mxResources.get('close'), function()
|
||||
{
|
||||
hideWindow(true);
|
||||
});
|
||||
|
||||
closeButton.className = 'geBtn';
|
||||
closeButton.style.position = 'fixed';
|
||||
closeButton.style.bottom = '0px';
|
||||
closeButton.style.right = '0px';
|
||||
div.appendChild(closeButton);
|
||||
|
||||
document.body.appendChild(div);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
var editLink = document.getElementById('editLink');
|
||||
var openButton = document.getElementById('openButton');
|
||||
openButton.value = window.parent.mxResources.get(window.parent.openKey || 'open');
|
||||
var closeButton = document.getElementById('closeButton');
|
||||
closeButton.value = window.parent.mxResources.get('close');
|
||||
var supportedText = document.getElementById('openSupported');
|
||||
supportedText.innerHTML = window.parent.mxResources.get('openSupported');
|
||||
var form = window.openForm || document.getElementById('openForm');
|
||||
form.setAttribute('action', window.parent.OPEN_URL);
|
||||
|
||||
form.onsubmit = function()
|
||||
{
|
||||
return handleSubmit();
|
||||
};
|
||||
|
||||
form.upfile.onchange = fileChanged;
|
||||
|
||||
closeButton.onclick = function()
|
||||
{
|
||||
hideWindow(true);
|
||||
};
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
document.body.innerHTML = 'Missing parent window';
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener('load', main);
|
2015
src/main/webapp/js/viewer-static.min.js
vendored
2015
src/main/webapp/js/viewer-static.min.js
vendored
File diff suppressed because one or more lines are too long
1997
src/main/webapp/js/viewer.min.js
vendored
1997
src/main/webapp/js/viewer.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -4,235 +4,15 @@
|
|||
<title>Open Diagram</title>
|
||||
<link rel="stylesheet" type="text/css" href="styles/grapheditor.css" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<script src="js/open.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<script type="text/javascript">
|
||||
// Handles form-submit by preparing to process response
|
||||
function handleSubmit()
|
||||
{
|
||||
var form = window.openForm || document.getElementById('openForm');
|
||||
|
||||
if (window.parent.openNew && window.parent.baseUrl != null)
|
||||
{
|
||||
window.parent.openFile.setConsumer(null);
|
||||
window.parent.open(window.parent.baseUrl);
|
||||
}
|
||||
|
||||
// NOTE: File is loaded via JS injection into the iframe, which in turn sets the
|
||||
// file contents in the parent window. The new window asks its opener if any file
|
||||
// contents are available or waits for the contents to become available.
|
||||
return true;
|
||||
};
|
||||
|
||||
// Hides this dialog
|
||||
function hideWindow(cancel)
|
||||
{
|
||||
window.parent.openFile.cancel(cancel);
|
||||
}
|
||||
|
||||
function fileChanged()
|
||||
{
|
||||
var supportedText = document.getElementById('openSupported');
|
||||
var form = window.openForm || document.getElementById('openForm');
|
||||
var openButton = document.getElementById('openButton');
|
||||
|
||||
if (form.upfile.value.length > 0)
|
||||
{
|
||||
openButton.removeAttribute('disabled');
|
||||
}
|
||||
else
|
||||
{
|
||||
openButton.setAttribute('disabled', 'disabled');
|
||||
}
|
||||
}
|
||||
|
||||
function main()
|
||||
{
|
||||
if (window.parent != null && window.parent.Editor != null)
|
||||
{
|
||||
if (window.parent.Editor.useLocalStorage)
|
||||
{
|
||||
document.body.innerHTML = '';
|
||||
var div = document.createElement('div');
|
||||
div.style.fontFamily = 'Arial';
|
||||
|
||||
window.parent.listBrowserFiles(function(filesInfo)
|
||||
{
|
||||
if (filesInfo.length == 0)
|
||||
{
|
||||
window.parent.mxUtils.write(div, window.parent.mxResources.get('noFiles'));
|
||||
window.parent.mxUtils.br(div);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Sorts the array by filename (titles)
|
||||
filesInfo.sort(function (a, b)
|
||||
{
|
||||
return a.title.toLowerCase().localeCompare(b.title.toLowerCase());
|
||||
});
|
||||
|
||||
var table = document.createElement('table');
|
||||
var hrow = document.createElement('tr');
|
||||
hrow.style.backgroundColor = '#D6D6D6';
|
||||
hrow.style.height = '25px';
|
||||
hrow.style.textAlign = 'left';
|
||||
table.appendChild(hrow);
|
||||
var hName = document.createElement('th');
|
||||
window.parent.mxUtils.write(hName, window.parent.mxResources.get('name'));
|
||||
hrow.appendChild(hName);
|
||||
var hModified = document.createElement('th');
|
||||
hModified.style.width = '130px';
|
||||
window.parent.mxUtils.write(hModified, window.parent.mxResources.get('lastModified'));
|
||||
hrow.appendChild(hModified);
|
||||
var hSize = document.createElement('th');
|
||||
window.parent.mxUtils.write(hSize, window.parent.mxResources.get('size'));
|
||||
hSize.style.width = '70px';
|
||||
hrow.appendChild(hSize);
|
||||
var hCtrl = document.createElement('th');
|
||||
hCtrl.style.width = '23px';
|
||||
hrow.appendChild(hCtrl);
|
||||
table.style.fontSize = '12pt';
|
||||
table.style.width = '100%';
|
||||
|
||||
for (var i = 0; i < filesInfo.length; i++)
|
||||
{
|
||||
var fileInfo = filesInfo[i];
|
||||
|
||||
if (fileInfo.title.length > 0)
|
||||
{
|
||||
var row = document.createElement('tr');
|
||||
table.appendChild(row);
|
||||
|
||||
if (i & 1 == 1)
|
||||
{
|
||||
row.style.backgroundColor = '#E6E6E6';
|
||||
}
|
||||
|
||||
var nameTd = document.createElement('td');
|
||||
row.appendChild(nameTd);
|
||||
var link = document.createElement('a');
|
||||
link.style.fontDecoration = 'none';
|
||||
window.parent.mxUtils.write(link, fileInfo.title);
|
||||
link.style.cursor = 'pointer';
|
||||
nameTd.appendChild(link);
|
||||
|
||||
var modifiedTd = document.createElement('td');
|
||||
row.appendChild(modifiedTd);
|
||||
var str = window.parent.EditorUi.prototype.timeSince(new Date(fileInfo.lastModified));
|
||||
|
||||
if (str == null)
|
||||
{
|
||||
str = window.parent.mxResources.get('lessThanAMinute');
|
||||
}
|
||||
|
||||
window.parent.mxUtils.write(modifiedTd, window.parent.mxResources.get('timeAgo', [str]));
|
||||
|
||||
var sizeTd = document.createElement('td');
|
||||
row.appendChild(sizeTd);
|
||||
window.parent.mxUtils.write(sizeTd, window.parent.EditorUi.prototype.formatFileSize(fileInfo.size));
|
||||
|
||||
var ctrlTd = document.createElement('td');
|
||||
row.appendChild(ctrlTd);
|
||||
ctrlTd.style.textAlign = 'center';
|
||||
var img = document.createElement('span');
|
||||
img.className = 'geSprite geSprite-delete';
|
||||
img.style.cursor = 'pointer';
|
||||
img.style.display = 'inline-block';
|
||||
ctrlTd.appendChild(img);
|
||||
|
||||
window.parent.mxEvent.addListener(img, 'click', (function(k)
|
||||
{
|
||||
return function()
|
||||
{
|
||||
if (window.parent.mxUtils.confirm(window.parent.mxResources.get('delete') + ' "' + k + '"?'))
|
||||
{
|
||||
window.parent.deleteBrowserFile(k, function()
|
||||
{
|
||||
window.location.reload();
|
||||
});
|
||||
}
|
||||
};
|
||||
})(fileInfo.title));
|
||||
|
||||
window.parent.mxEvent.addListener(link, 'click', (function(k)
|
||||
{
|
||||
return function()
|
||||
{
|
||||
if (window.parent.openNew && window.parent.baseUrl != null)
|
||||
{
|
||||
var of = window.parent.openFile;
|
||||
window.parent.openBrowserFile(k, function(data)
|
||||
{
|
||||
window.parent.openWindow(window.parent.baseUrl + '#L' + encodeURIComponent(k), function()
|
||||
{
|
||||
of.cancel(false);
|
||||
}, function()
|
||||
{
|
||||
of.setData(data, k);
|
||||
});
|
||||
}, function()
|
||||
{
|
||||
//TODO add error
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
window.parent.openBrowserFile(k, function(data)
|
||||
{
|
||||
window.parent.openFile.setData(data, k);
|
||||
}, function()
|
||||
{
|
||||
//TODO add error
|
||||
});
|
||||
}
|
||||
};
|
||||
})(fileInfo.title));
|
||||
}
|
||||
}
|
||||
|
||||
div.appendChild(table);
|
||||
}
|
||||
|
||||
var closeButton = window.parent.mxUtils.button(window.parent.mxResources.get('close'), function()
|
||||
{
|
||||
hideWindow(true);
|
||||
});
|
||||
|
||||
closeButton.className = 'geBtn';
|
||||
closeButton.style.position = 'fixed';
|
||||
closeButton.style.bottom = '0px';
|
||||
closeButton.style.right = '0px';
|
||||
div.appendChild(closeButton);
|
||||
|
||||
document.body.appendChild(div);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
var editLink = document.getElementById('editLink');
|
||||
var openButton = document.getElementById('openButton');
|
||||
openButton.value = window.parent.mxResources.get(window.parent.openKey || 'open');
|
||||
var closeButton = document.getElementById('closeButton');
|
||||
closeButton.value = window.parent.mxResources.get('close');
|
||||
var supportedText = document.getElementById('openSupported');
|
||||
supportedText.innerHTML = window.parent.mxResources.get('openSupported');
|
||||
var form = window.openForm || document.getElementById('openForm');
|
||||
|
||||
form.setAttribute('action', window.parent.OPEN_URL);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
document.body.innerHTML = 'Missing parent window';
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<body onload="main();">
|
||||
<body>
|
||||
<form method="POST" enctype="multipart/form-data" action="" name="openForm"
|
||||
id="openForm" onsubmit="return handleSubmit();" accept-charset="UTF-8">
|
||||
id="openForm" accept-charset="UTF-8">
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td style="height:40px;vertical-align:top;" colspan="2">
|
||||
<input type="file" name="upfile" onchange="fileChanged()">
|
||||
<input type="file" name="upfile">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -243,7 +23,7 @@
|
|||
<td>
|
||||
</td>
|
||||
<td style="vertical-align:middle;text-align:right;white-space:nowrap;">
|
||||
<input type="button" id="closeButton" class="geBtn" value="Cancel" onclick="hideWindow(true);">
|
||||
<input type="button" id="closeButton" class="geBtn" value="Cancel">
|
||||
<input type="submit" id="openButton" class="geBtn gePrimaryBtn" value="Open" disabled="disabled">
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -6,11 +6,15 @@ if (workbox)
|
|||
workbox.precaching.precacheAndRoute([
|
||||
{
|
||||
"url": "js/app.min.js",
|
||||
"revision": "7ebbf9c7172e768bc0263302beaf6b17"
|
||||
"revision": "da472043dd125d0ea8e13c8e51c406b1"
|
||||
},
|
||||
{
|
||||
"url": "js/extensions.min.js",
|
||||
"revision": "b24f190f5b615ac2488ca86208143d59"
|
||||
"revision": "509438d35ee02968e6abd6af13814198"
|
||||
},
|
||||
{
|
||||
"url": "js/stencils.min.js",
|
||||
"revision": "dfd6700d74c9e746589368e903e1c50f"
|
||||
},
|
||||
{
|
||||
"url": "js/shapes.min.js",
|
||||
|
@ -26,7 +30,7 @@ if (workbox)
|
|||
},
|
||||
{
|
||||
"url": "open.html",
|
||||
"revision": "dd24217f6c21207b54475409848f31ff"
|
||||
"revision": "d71816b3b00e769fc6019fcdd6921662"
|
||||
},
|
||||
{
|
||||
"url": "styles/grapheditor.css",
|
||||
|
@ -52,93 +56,117 @@ if (workbox)
|
|||
"url": "js/onedrive/OneDrive.js",
|
||||
"revision": "d82b9c14d7a069efabef719a8a5f3975"
|
||||
},
|
||||
{
|
||||
"url": "js/viewer-static.min.js",
|
||||
"revision": "a89ad8c006bc52859fdcfab30c6b0826"
|
||||
},
|
||||
{
|
||||
"url": "plugins/cConf-comments.js",
|
||||
"revision": "dc57594d2cefbe35c15962a3ec356d24"
|
||||
},
|
||||
{
|
||||
"url": "plugins/cConf-1-4-8.js",
|
||||
"revision": "5f51c9102e55474da1f3012c011d6191"
|
||||
},
|
||||
{
|
||||
"url": "connect/confluence/connectUtils-1-4-8.js",
|
||||
"revision": "30dbcb61fbfb2366c243e68a95ed6784"
|
||||
},
|
||||
{
|
||||
"url": "connect/new_common/cac.js",
|
||||
"revision": "659b958b774f9eba916b07325420098b"
|
||||
},
|
||||
{
|
||||
"url": "connect/gdrive_common/gac.js",
|
||||
"revision": "eb7db3700937a2a30d178ab25c9f13ea"
|
||||
},
|
||||
{
|
||||
"url": "connect/onedrive_common/ac.js",
|
||||
"revision": "9cd01be6b3a233401d77595e2c38ce14"
|
||||
},
|
||||
{
|
||||
"url": "connect/confluence/viewer-init.js",
|
||||
"revision": "b398e16456cae37e4925e43c360b9034"
|
||||
},
|
||||
{
|
||||
"url": "connect/confluence/viewer.js",
|
||||
"revision": "62249a2d807bb95cc38d4cc9a56a8902"
|
||||
},
|
||||
{
|
||||
"url": "connect/confluence/viewer-1-4-42.html",
|
||||
"revision": "0e9ad57d31303c201f285b2739f34169"
|
||||
},
|
||||
{
|
||||
"url": "connect/confluence/macroEditor-1-4-8.html",
|
||||
"revision": "689fa63fd3a384662b4199f6e4a5b5c1"
|
||||
},
|
||||
{
|
||||
"url": "connect/confluence/macro-editor.js",
|
||||
"revision": "257473ece79f2f7d822a1698699c5479"
|
||||
},
|
||||
{
|
||||
"url": "math/MathJax.js",
|
||||
"revision": "b2c103388b71bb3d11cbf9aa45fe9b68"
|
||||
},
|
||||
{
|
||||
"url": "math/jax/input/TeX/config.js",
|
||||
"revision": "c6de0381e92b311e75264dac618de39d"
|
||||
},
|
||||
{
|
||||
"url": "math/jax/input/MathML/config.js",
|
||||
"revision": "cf85ea4a5bc5ac677243e755a7c31464"
|
||||
},
|
||||
{
|
||||
"url": "math/jax/input/AsciiMath/config.js",
|
||||
"revision": "e9f16b23a8e666d60ab746e001b3b85b"
|
||||
},
|
||||
{
|
||||
"url": "math/jax/output/SVG/config.js",
|
||||
"revision": "2331dfa04ed33a371d8735e1798c4980"
|
||||
},
|
||||
{
|
||||
"url": "math/extensions/tex2jax.js",
|
||||
"revision": "6313aa4e8b7edf452102de2729ec6aed"
|
||||
},
|
||||
{
|
||||
"url": "math/extensions/mml2jax.js",
|
||||
"revision": "835e7b107ce67d0e09a002302b64d979"
|
||||
},
|
||||
{
|
||||
"url": "math/extensions/asciimath2jax.js",
|
||||
"revision": "ba4a24f0884938191d5cc8a719050c08"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia.txt",
|
||||
"revision": "b60363a6346142974bfee87b70fdae87"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_cs.txt",
|
||||
"revision": "a377dcb6d569e1f8813336091b42f878"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_my.txt",
|
||||
"revision": "b60363a6346142974bfee87b70fdae87"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_am.txt",
|
||||
"revision": "0119eaf1146ee2d83ef997aa31c878d7"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_ml.txt",
|
||||
"revision": "695140b5ed11d882833a85cb13fba49c"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_uk.txt",
|
||||
"revision": "b1cb41c5fe2a688aaa5c1cf8b0958b14"
|
||||
"url": "resources/dia_ar.txt",
|
||||
"revision": "78e616502b54b96492a871a38cb4038a"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_bg.txt",
|
||||
"revision": "b93a013a4cd31e248abc433fe42193f0"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_ca.txt",
|
||||
"revision": "040564ea4eed721c15dbf3ad28da8d7e"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_th.txt",
|
||||
"revision": "70d9a5929789e37267c69e13b3f0ea38"
|
||||
"url": "resources/dia_bn.txt",
|
||||
"revision": "29ded70b7f3aea8c90e52a6236da2acd"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_bs.txt",
|
||||
"revision": "418e5f20f68c2a1cd810cfe2d633053d"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_id.txt",
|
||||
"revision": "5c1ab50c62be2d29fbad51f97683d331"
|
||||
"url": "resources/dia_ca.txt",
|
||||
"revision": "040564ea4eed721c15dbf3ad28da8d7e"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_sk.txt",
|
||||
"revision": "3205440ad12ebb8788f9631395255bcc"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_ro.txt",
|
||||
"revision": "9225ffae67763e473c9e4ba2da7cec39"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_gl.txt",
|
||||
"revision": "d06bc0c67db191ff829bd44a7322c8cb"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_es.txt",
|
||||
"revision": "133752a094857cd6d30b11e2f46523a1"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_eu.txt",
|
||||
"revision": "8b0d6a63c057e78bc74b7909eb2f4cf5"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_ko.txt",
|
||||
"revision": "010c06c47c42432945686769dbbecfe5"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_si.txt",
|
||||
"revision": "b60363a6346142974bfee87b70fdae87"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_kn.txt",
|
||||
"revision": "7df158a82b5886eee06e13b9c8e91810"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_hu.txt",
|
||||
"revision": "3ca47dfdbd83fa773e0d42e2cf3c176d"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_fi.txt",
|
||||
"revision": "197418f7a41eb848862a11ec52f45f14"
|
||||
"url": "resources/dia_cs.txt",
|
||||
"revision": "a377dcb6d569e1f8813336091b42f878"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_da.txt",
|
||||
|
@ -149,96 +177,84 @@ if (workbox)
|
|||
"revision": "ab28f1da640f9581e505184e97b04f9f"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_sl.txt",
|
||||
"revision": "ad17cb8844de48c378cd1a0df7e75027"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_it.txt",
|
||||
"revision": "eef68ada859eb5c34777d0ab06874784"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_hr.txt",
|
||||
"revision": "df2e4746574a52b96922e9b0f985a16b"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_he.txt",
|
||||
"revision": "3789abaf661f41c957f0d30d4ec0de5f"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_pt.txt",
|
||||
"revision": "1dc0aa27ec864a5ff5f36845b3a20c7e"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_zh-tw.txt",
|
||||
"revision": "7c46d96889942aad148e922d6f2ebc5f"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_et.txt",
|
||||
"revision": "e7022d05309d441ec5cfcee45f3aec05"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_ja.txt",
|
||||
"revision": "418193cc8c9bc27e1d96ea90980e0bf4"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_hi.txt",
|
||||
"revision": "d6f2aa8e0066f013736ba771c1c7d4ef"
|
||||
"url": "resources/dia_el.txt",
|
||||
"revision": "dee88627c709c895bdae7e27656285e0"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_eo.txt",
|
||||
"revision": "c88b89af86ef0fe83adf87d221bac437"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_es.txt",
|
||||
"revision": "133752a094857cd6d30b11e2f46523a1"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_et.txt",
|
||||
"revision": "e7022d05309d441ec5cfcee45f3aec05"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_eu.txt",
|
||||
"revision": "8b0d6a63c057e78bc74b7909eb2f4cf5"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_fa.txt",
|
||||
"revision": "5998916ee3be2945ab6e09720cf804fe"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_sw.txt",
|
||||
"revision": "c838acb9d39a20c5da2dc221dea88848"
|
||||
"url": "resources/dia_fi.txt",
|
||||
"revision": "197418f7a41eb848862a11ec52f45f14"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_pl.txt",
|
||||
"revision": "529b02863c2baf32df2f443e2de484b2"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_pt-br.txt",
|
||||
"revision": "c1464bd19ab819f771a0300f01016357"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_sv.txt",
|
||||
"revision": "dbcb057f8b8f2de8484e8de8776a6117"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_el.txt",
|
||||
"revision": "dee88627c709c895bdae7e27656285e0"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_sr.txt",
|
||||
"revision": "8a03f77ea3980c1705552a42e28adc28"
|
||||
"url": "resources/dia_fil.txt",
|
||||
"revision": "f9cb36f205e162d307f4e7a0cdd85f0e"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_fr.txt",
|
||||
"revision": "0013ebca3f76586c36b1d2ef022efcbe"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_ru.txt",
|
||||
"revision": "378145660d8a716d118d9d287a37c8b9"
|
||||
"url": "resources/dia_gl.txt",
|
||||
"revision": "d06bc0c67db191ff829bd44a7322c8cb"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_gu.txt",
|
||||
"revision": "641159751b878ebab87c0863a8a3a9de"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_ar.txt",
|
||||
"revision": "78e616502b54b96492a871a38cb4038a"
|
||||
"url": "resources/dia_he.txt",
|
||||
"revision": "3789abaf661f41c957f0d30d4ec0de5f"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_tr.txt",
|
||||
"revision": "b4959378cd22097c8517a396f7cf7c09"
|
||||
"url": "resources/dia_hi.txt",
|
||||
"revision": "d6f2aa8e0066f013736ba771c1c7d4ef"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_te.txt",
|
||||
"revision": "352cb210117dfe48de767c8a2a529afc"
|
||||
"url": "resources/dia_hr.txt",
|
||||
"revision": "df2e4746574a52b96922e9b0f985a16b"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_hu.txt",
|
||||
"revision": "3ca47dfdbd83fa773e0d42e2cf3c176d"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_id.txt",
|
||||
"revision": "5c1ab50c62be2d29fbad51f97683d331"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_it.txt",
|
||||
"revision": "eef68ada859eb5c34777d0ab06874784"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_ja.txt",
|
||||
"revision": "418193cc8c9bc27e1d96ea90980e0bf4"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_kn.txt",
|
||||
"revision": "7df158a82b5886eee06e13b9c8e91810"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_ko.txt",
|
||||
"revision": "010c06c47c42432945686769dbbecfe5"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_lt.txt",
|
||||
|
@ -248,6 +264,10 @@ if (workbox)
|
|||
"url": "resources/dia_lv.txt",
|
||||
"revision": "119c7c190c3074eb7b2de9ef2b1e5361"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_ml.txt",
|
||||
"revision": "695140b5ed11d882833a85cb13fba49c"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_mr.txt",
|
||||
"revision": "d0bf6ec6e000ed566c10086a101e1e4a"
|
||||
|
@ -256,34 +276,94 @@ if (workbox)
|
|||
"url": "resources/dia_ms.txt",
|
||||
"revision": "862171e716388d4bb76936b221abe1f1"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_my.txt",
|
||||
"revision": "b60363a6346142974bfee87b70fdae87"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_nl.txt",
|
||||
"revision": "17a3557ebc49ea861f9fa1481598227e"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_fil.txt",
|
||||
"revision": "f9cb36f205e162d307f4e7a0cdd85f0e"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_zh.txt",
|
||||
"revision": "ae339945d9d70dc8fbc8aa3371c41fa3"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_bn.txt",
|
||||
"revision": "29ded70b7f3aea8c90e52a6236da2acd"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_no.txt",
|
||||
"revision": "907c573bff8b2c1e1aeeb962141064f6"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_vi.txt",
|
||||
"revision": "2d2e414c14afd8da20f0744ef7a72069"
|
||||
"url": "resources/dia_pl.txt",
|
||||
"revision": "529b02863c2baf32df2f443e2de484b2"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_pt-br.txt",
|
||||
"revision": "c1464bd19ab819f771a0300f01016357"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_pt.txt",
|
||||
"revision": "1dc0aa27ec864a5ff5f36845b3a20c7e"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_ro.txt",
|
||||
"revision": "9225ffae67763e473c9e4ba2da7cec39"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_ru.txt",
|
||||
"revision": "378145660d8a716d118d9d287a37c8b9"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_si.txt",
|
||||
"revision": "b60363a6346142974bfee87b70fdae87"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_sk.txt",
|
||||
"revision": "3205440ad12ebb8788f9631395255bcc"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_sl.txt",
|
||||
"revision": "ad17cb8844de48c378cd1a0df7e75027"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_sr.txt",
|
||||
"revision": "8a03f77ea3980c1705552a42e28adc28"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_sv.txt",
|
||||
"revision": "dbcb057f8b8f2de8484e8de8776a6117"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_sw.txt",
|
||||
"revision": "c838acb9d39a20c5da2dc221dea88848"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_ta.txt",
|
||||
"revision": "ea8bb796a900a5b1e384ad027257dee6"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_te.txt",
|
||||
"revision": "352cb210117dfe48de767c8a2a529afc"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_th.txt",
|
||||
"revision": "70d9a5929789e37267c69e13b3f0ea38"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_tr.txt",
|
||||
"revision": "b4959378cd22097c8517a396f7cf7c09"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_uk.txt",
|
||||
"revision": "b1cb41c5fe2a688aaa5c1cf8b0958b14"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_vi.txt",
|
||||
"revision": "2d2e414c14afd8da20f0744ef7a72069"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_zh-tw.txt",
|
||||
"revision": "7c46d96889942aad148e922d6f2ebc5f"
|
||||
},
|
||||
{
|
||||
"url": "resources/dia_zh.txt",
|
||||
"revision": "ae339945d9d70dc8fbc8aa3371c41fa3"
|
||||
},
|
||||
{
|
||||
"url": "favicon.ico",
|
||||
"revision": "fab2d88b37c72d83607527573de45281"
|
||||
|
@ -304,6 +384,14 @@ if (workbox)
|
|||
"url": "images/drawlogo-gray.svg",
|
||||
"revision": "0aabacbc0873816e1e09e4736ae44c7d"
|
||||
},
|
||||
{
|
||||
"url": "images/drawlogo-text-bottom.svg",
|
||||
"revision": "f6c438823ab31f290940bd4feb8dd9c2"
|
||||
},
|
||||
{
|
||||
"url": "images/logo-flat-small.png",
|
||||
"revision": "4b178e59ff499d6dd1894fc498b59877"
|
||||
},
|
||||
{
|
||||
"url": "images/apple-touch-icon.png",
|
||||
"revision": "73da7989a23ce9a4be565ec65658a239"
|
||||
|
@ -424,6 +512,10 @@ if (workbox)
|
|||
"url": "images/hs.png",
|
||||
"revision": "fefa1a03d92ebad25c88dca94a0b63db"
|
||||
},
|
||||
{
|
||||
"url": "images/aui-wait.gif",
|
||||
"revision": "5a474bcbd8d2f2826f03d10ea44bf60e"
|
||||
},
|
||||
{
|
||||
"url": "mxgraph/css/common.css",
|
||||
"revision": "b5b7280ec98671bb6c3847a36bc7ea12"
|
||||
|
|
Loading…
Reference in a new issue