diff options
author | David Benson <david@draw.io> | 2018-05-11 18:01:03 +0300 |
---|---|---|
committer | David Benson <david@draw.io> | 2018-05-11 18:01:03 +0300 |
commit | 0bf6364e7bcf653c17a62a909c68a4ad003ac0b8 (patch) | |
tree | bb986c4488410cab737cc61a4d2a356e65daf3cb | |
parent | 73a2020973afd477e028e2f26fcd650c35fa5270 (diff) |
8.6.3 releasev8.6.3
Former-commit-id: 19b651d84f4f0fb5e67280c1dc26f8936552d04f
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | VERSION | 2 | ||||
-rw-r--r-- | src/main/java/com/mxgraph/online/ProxyServlet.java | 19 | ||||
-rw-r--r-- | src/main/webapp/cache.manifest | 2 | ||||
-rw-r--r-- | src/main/webapp/js/app.min.js | 2 | ||||
-rw-r--r-- | src/main/webapp/js/atlas.min.js | 2 | ||||
-rw-r--r-- | src/main/webapp/js/embed-static.min.js | 2 | ||||
-rw-r--r-- | src/main/webapp/js/reader.min.js | 2 | ||||
-rw-r--r-- | src/main/webapp/plugins/rackF5.js | 1675 |
9 files changed, 1701 insertions, 9 deletions
@@ -1,3 +1,7 @@ +11-MAY-2018: 8.6.3 + +- Adds F5 icons plugin + 09-MAY-2018: 8.6.2 - Replaces domain apex redirect @@ -1 +1 @@ -8.6.2
\ No newline at end of file +8.6.3
\ No newline at end of file diff --git a/src/main/java/com/mxgraph/online/ProxyServlet.java b/src/main/java/com/mxgraph/online/ProxyServlet.java index feea694e..216fc602 100644 --- a/src/main/java/com/mxgraph/online/ProxyServlet.java +++ b/src/main/java/com/mxgraph/online/ProxyServlet.java @@ -41,6 +41,7 @@ public class ProxyServlet extends HttpServlet String urlParam = request.getParameter("url"); // build the UML source from the compressed request parameter + String ua = request.getHeader("User-Agent"); String ref = request.getHeader("referer"); String dom = null; @@ -54,6 +55,13 @@ public class ProxyServlet extends HttpServlet { dom = ref.toLowerCase().substring(0, ref.indexOf(".quipelements.com/") + 17); } + // Enables Confluence/Jira proxy via referer or hardcoded user-agent (for old versions) + // UA refers to old FF on macOS so low risk and fixes requests from existing servers + else if ((ref != null && ref.equals("draw.io Proxy Confluence Server")) || + (ua != null && ua.equals("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko/20100101 Firefox/50.0"))) + { + dom = ""; + } if (dom != null && urlParam != null) { @@ -70,7 +78,13 @@ public class ProxyServlet extends HttpServlet response.setHeader("Pragma", "no-cache"); // HTTP 1.0 response.setHeader("Cache-control", "private, no-cache, no-store"); response.setHeader("Expires", "0"); - response.addHeader("Access-Control-Allow-Origin", dom); + + if (dom != null && dom.length() > 0) + { + response.addHeader("Access-Control-Allow-Origin", dom); + } + + connection.setRequestProperty("User-Agent", "draw.io"); // Status code pass-through and follow redirects if (connection instanceof HttpURLConnection) @@ -78,7 +92,6 @@ public class ProxyServlet extends HttpServlet ((HttpURLConnection) connection).setInstanceFollowRedirects(true); // Workaround for 451 response from Iconfinder CDN - ((HttpURLConnection) connection).setRequestProperty("User-Agent", "draw.io"); int status = ((HttpURLConnection) connection).getResponseCode(); int counter = 0; @@ -91,7 +104,7 @@ public class ProxyServlet extends HttpServlet ((HttpURLConnection) connection).setInstanceFollowRedirects(true); // Workaround for 451 response from Iconfinder CDN - ((HttpURLConnection) connection).setRequestProperty("User-Agent", "draw.io"); + connection.setRequestProperty("User-Agent", "draw.io"); status = ((HttpURLConnection) connection).getResponseCode(); } diff --git a/src/main/webapp/cache.manifest b/src/main/webapp/cache.manifest index 324e2ba2..34307b62 100644 --- a/src/main/webapp/cache.manifest +++ b/src/main/webapp/cache.manifest @@ -1,7 +1,7 @@ CACHE MANIFEST # THIS FILE WAS GENERATED. DO NOT MODIFY! -# 05/09/2018 04:27 PM +# 05/11/2018 01:24 PM app.html index.html?offline=1 diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js index d1d48af8..601344d8 100644 --- a/src/main/webapp/js/app.min.js +++ b/src/main/webapp/js/app.min.js @@ -7104,7 +7104,7 @@ var U=document.createElement("input");U.style.cssText="margin:0 8px 0 8px;";U.se m.className="geBtn",e.appendChild(m));PrintDialog.previewEnabled&&(m=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();d(!1)}),m.className="geBtn",e.appendChild(m));m=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});m.className="geBtn gePrimaryBtn";e.appendChild(m);a.editor.cancelFirst||e.appendChild(p);k.appendChild(e);this.container=k};var v=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null== this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(v.apply(this,arguments),null!=this.mathEnabled&& this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))}})(); -(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,d,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="8.6.2";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>'; +(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,d,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="8.6.3";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>'; EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;"; EditorUi.prototype.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');EditorUi.prototype.crossOriginImages=!mxClient.IS_IE;EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport= !1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;EditorUi.prototype.showCsvImport=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(p){}try{var b=document.createElement("canvas"),c=new Image;c.onload=function(){try{b.getContext("2d").drawImage(c,0,0);var a= diff --git a/src/main/webapp/js/atlas.min.js b/src/main/webapp/js/atlas.min.js index 6679185e..b01e2fdb 100644 --- a/src/main/webapp/js/atlas.min.js +++ b/src/main/webapp/js/atlas.min.js @@ -7104,7 +7104,7 @@ var U=document.createElement("input");U.style.cssText="margin:0 8px 0 8px;";U.se x.className="geBtn",p.appendChild(x));PrintDialog.previewEnabled&&(x=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();f(!1)}),x.className="geBtn",p.appendChild(x));x=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();f(!0)});x.className="geBtn gePrimaryBtn";p.appendChild(x);a.editor.cancelFirst||p.appendChild(u);d.appendChild(p);this.container=d};var x=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null== this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(x.apply(this,arguments),null!=this.mathEnabled&& this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))}})(); -(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,b){b.ui=a.ui;return d};a.afterDecode=function(a,d,b){b.previousColor=b.color;b.previousImage=b.image;b.previousFormat=b.format;null!=b.foldingEnabled&&(b.foldingEnabled=!b.foldingEnabled);null!=b.mathEnabled&&(b.mathEnabled=!b.mathEnabled);null!=b.shadowVisible&&(b.shadowVisible=!b.shadowVisible);return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="8.6.2";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>'; +(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,b){b.ui=a.ui;return d};a.afterDecode=function(a,d,b){b.previousColor=b.color;b.previousImage=b.image;b.previousFormat=b.format;null!=b.foldingEnabled&&(b.foldingEnabled=!b.foldingEnabled);null!=b.mathEnabled&&(b.mathEnabled=!b.mathEnabled);null!=b.shadowVisible&&(b.shadowVisible=!b.shadowVisible);return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="8.6.3";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>'; EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;"; EditorUi.prototype.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');EditorUi.prototype.crossOriginImages=!mxClient.IS_IE;EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport= !1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;EditorUi.prototype.showCsvImport=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(p){}try{var b=document.createElement("canvas"),h=new Image;h.onload=function(){try{b.getContext("2d").drawImage(h,0,0);var a= diff --git a/src/main/webapp/js/embed-static.min.js b/src/main/webapp/js/embed-static.min.js index 00aa6fd3..497b3a43 100644 --- a/src/main/webapp/js/embed-static.min.js +++ b/src/main/webapp/js/embed-static.min.js @@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+z.join(",")+"}";f=t;return l}}"function"!==typeof Date.prototy e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})}); "function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images"; -window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.6.2",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& +window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.6.3",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& 0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&& 0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&& 0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")|| diff --git a/src/main/webapp/js/reader.min.js b/src/main/webapp/js/reader.min.js index cc2db01c..7abe6a6e 100644 --- a/src/main/webapp/js/reader.min.js +++ b/src/main/webapp/js/reader.min.js @@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+z.join(",")+"}";f=t;return l}}"function"!==typeof Date.prototy e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})}); "function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images"; -window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.6.2",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& +window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.6.3",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& 0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&& 0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&& 0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")|| diff --git a/src/main/webapp/plugins/rackF5.js b/src/main/webapp/plugins/rackF5.js new file mode 100644 index 00000000..21f7e7da --- /dev/null +++ b/src/main/webapp/plugins/rackF5.js @@ -0,0 +1,1675 @@ +/** + * $Id: mxF5.js,v 1.0 2018/05/03 13:10:37 mate Exp $ + * Copyright (c) 2006-2018, JGraph Ltd + */ +//********************************************************************************************************************************************************** +//Big-IP 1600 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5BigIp1600(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5BigIp1600, mxShape); + +mxRackF5BigIp1600.prototype.cst = +{ + SHAPE_BIG_IP_1600 : 'mxgraph.rackF5Shapes.big_ip_1600' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5BigIp1600.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var psNum = parseInt(mxUtils.getValue(this.style, 'psNum', '2')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_1600_front.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_1600_back.png', 0, 0, 0); + + if (isDC) + { + if (psNum >= '1') + { + c.image(w * 0.425, h * 0.05, w * 0.244, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + } + else + { + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_ac.png', 0, 0, 0); + } + } + } +}; + +mxCellRenderer.registerShape(mxRackF5BigIp1600.prototype.cst.SHAPE_BIG_IP_1600, mxRackF5BigIp1600); + +//********************************************************************************************************************************************************** +//Big-IP 2x00 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5BigIp2x00(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5BigIp2x00, mxShape); + +mxRackF5BigIp2x00.prototype.cst = +{ + SHAPE_BIG_IP_2x00 : 'mxgraph.rackF5Shapes.big_ip_2x00' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5BigIp2x00.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var psNum = parseInt(mxUtils.getValue(this.style, 'psNum', '2')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_2x00_front.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_1600_back.png', 0, 0, 0); + + if (isDC) + { + if (psNum >= '1') + { + c.image(w * 0.425, h * 0.05, w * 0.244, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + } + else + { + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_ac.png', 0, 0, 0); + } + } + } +}; + +mxCellRenderer.registerShape(mxRackF5BigIp2x00.prototype.cst.SHAPE_BIG_IP_2x00, mxRackF5BigIp2x00); + +//********************************************************************************************************************************************************** +//Big-IP 3600 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5BigIp3600(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5BigIp3600, mxShape); + +mxRackF5BigIp3600.prototype.cst = +{ + SHAPE_BIG_IP_3600 : 'mxgraph.rackF5Shapes.big_ip_3600' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5BigIp3600.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var psNum = parseInt(mxUtils.getValue(this.style, 'psNum', '2')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_3600_front.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_1600_back.png', 0, 0, 0); + + if (isDC) + { + if (psNum >= '1') + { + c.image(w * 0.425, h * 0.05, w * 0.244, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + } + else + { + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_ac.png', 0, 0, 0); + } + } + } +}; + +mxCellRenderer.registerShape(mxRackF5BigIp3600.prototype.cst.SHAPE_BIG_IP_3600, mxRackF5BigIp3600); + +//********************************************************************************************************************************************************** +//Big-IP 3900 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5BigIp3900(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5BigIp3900, mxShape); + +mxRackF5BigIp3900.prototype.cst = +{ + SHAPE_BIG_IP_3900 : 'mxgraph.rackF5Shapes.big_ip_3900' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5BigIp3900.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var psNum = parseInt(mxUtils.getValue(this.style, 'psNum', '2')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_3900_front.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_1600_back.png', 0, 0, 0); + + if (isDC) + { + if (psNum >= '1') + { + c.image(w * 0.425, h * 0.05, w * 0.244, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + } + else + { + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_ac.png', 0, 0, 0); + } + } + } +}; + +mxCellRenderer.registerShape(mxRackF5BigIp3900.prototype.cst.SHAPE_BIG_IP_3900, mxRackF5BigIp3900); + +//********************************************************************************************************************************************************** +//Big-IP 4x00 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5BigIp4x00(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5BigIp4x00, mxShape); + +mxRackF5BigIp4x00.prototype.cst = +{ + SHAPE_BIG_IP_4x00 : 'mxgraph.rackF5Shapes.big_ip_4x00' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5BigIp4x00.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var psNum = parseInt(mxUtils.getValue(this.style, 'psNum', '2')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_4x00_front.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_1600_back.png', 0, 0, 0); + + if (isDC) + { + if (psNum >= '1') + { + c.image(w * 0.425, h * 0.05, w * 0.244, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + } + else + { + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_ac.png', 0, 0, 0); + } + } + } +}; + +mxCellRenderer.registerShape(mxRackF5BigIp4x00.prototype.cst.SHAPE_BIG_IP_4x00, mxRackF5BigIp4x00); + +//********************************************************************************************************************************************************** +//Big-IP 5x00 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5BigIp5x00(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5BigIp5x00, mxShape); + +mxRackF5BigIp5x00.prototype.cst = +{ + SHAPE_BIG_IP_5x00 : 'mxgraph.rackF5Shapes.big_ip_5x00' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5BigIp5x00.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var psNum = parseInt(mxUtils.getValue(this.style, 'psNum', '2')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_5x00_front.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_1600_back.png', 0, 0, 0); + + if (isDC) + { + if (psNum >= '1') + { + c.image(w * 0.425, h * 0.05, w * 0.244, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + } + else + { + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_ac.png', 0, 0, 0); + } + } + } +}; + +mxCellRenderer.registerShape(mxRackF5BigIp5x00.prototype.cst.SHAPE_BIG_IP_5x00, mxRackF5BigIp5x00); + +//********************************************************************************************************************************************************** +//EM 4000 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5Em4000(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5Em4000, mxShape); + +mxRackF5Em4000.prototype.cst = +{ + SHAPE_EM_4000 : 'mxgraph.rackF5Shapes.em4000' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5Em4000.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var psNum = parseInt(mxUtils.getValue(this.style, 'psNum', '2')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'em_4000_front.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_1600_back.png', 0, 0, 0); + + if (isDC) + { + if (psNum >= '1') + { + c.image(w * 0.425, h * 0.05, w * 0.244, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + } + else + { + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_ac.png', 0, 0, 0); + } + } + } +}; + +mxCellRenderer.registerShape(mxRackF5Em4000.prototype.cst.SHAPE_EM_4000, mxRackF5Em4000); + +//********************************************************************************************************************************************************** +//Big-IP 6900 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5BigIp6900(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5BigIp6900, mxShape); + +mxRackF5BigIp6900.prototype.cst = +{ + SHAPE_BIG_IP_6900 : 'mxgraph.rackF5Shapes.big_ip_6900' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5BigIp6900.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var psNum = parseInt(mxUtils.getValue(this.style, 'psNum', '2')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'big_ip_6900_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'big_ip_6900_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_6900_front.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_6900_back.png', 0, 0, 0); + + if (isDC) + { + c.image(w * 0.046, h * 0.025, w * 0.176, h * 0.48, stencilPath + 'big_ip_6900_dc.png', 0, 0, 0); + c.image(w * 0.227, h * 0.025, w * 0.176, h * 0.48, stencilPath + 'big_ip_6900_dc.png', 0, 0, 0); + } + } +}; + +mxCellRenderer.registerShape(mxRackF5BigIp6900.prototype.cst.SHAPE_BIG_IP_6900, mxRackF5BigIp6900); + +//********************************************************************************************************************************************************** +//Big-IP 89x0 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5BigIp89x0(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5BigIp89x0, mxShape); + +mxRackF5BigIp89x0.prototype.cst = +{ + SHAPE_BIG_IP_89x0 : 'mxgraph.rackF5Shapes.big_ip_89x0' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5BigIp89x0.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var psNum = parseInt(mxUtils.getValue(this.style, 'psNum', '2')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'big_ip_6900_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'big_ip_6900_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_89x0_front.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_6900_back.png', 0, 0, 0); + + if (isDC) + { + c.image(w * 0.046, h * 0.025, w * 0.176, h * 0.48, stencilPath + 'big_ip_6900_dc.png', 0, 0, 0); + c.image(w * 0.227, h * 0.025, w * 0.176, h * 0.48, stencilPath + 'big_ip_6900_dc.png', 0, 0, 0); + } + } +}; + +mxCellRenderer.registerShape(mxRackF5BigIp89x0.prototype.cst.SHAPE_BIG_IP_89x0, mxRackF5BigIp89x0); + +//********************************************************************************************************************************************************** +//Big-IP 7x00 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5BigIp7x00(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5BigIp7x00, mxShape); + +mxRackF5BigIp7x00.prototype.cst = +{ + SHAPE_BIG_IP_7x00 : 'mxgraph.rackF5Shapes.big_ip_7x00' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5BigIp7x00.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var psNum = parseInt(mxUtils.getValue(this.style, 'psNum', '2')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'big_ip_6900_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'big_ip_6900_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_7x00_front.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_6900_back.png', 0, 0, 0); + + if (isDC) + { + c.image(w * 0.046, h * 0.025, w * 0.176, h * 0.48, stencilPath + 'big_ip_6900_dc.png', 0, 0, 0); + c.image(w * 0.227, h * 0.025, w * 0.176, h * 0.48, stencilPath + 'big_ip_6900_dc.png', 0, 0, 0); + } + } +}; + +mxCellRenderer.registerShape(mxRackF5BigIp7x00.prototype.cst.SHAPE_BIG_IP_7x00, mxRackF5BigIp7x00); + +//********************************************************************************************************************************************************** +//Big-IP 10x00 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5BigIp10x00(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5BigIp10x00, mxShape); + +mxRackF5BigIp10x00.prototype.cst = +{ + SHAPE_BIG_IP_10x00 : 'mxgraph.rackF5Shapes.big_ip_10x00' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5BigIp10x00.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var psNum = parseInt(mxUtils.getValue(this.style, 'psNum', '2')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'big_ip_6900_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'big_ip_6900_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_10x00_front.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_6900_back.png', 0, 0, 0); + + if (isDC) + { + c.image(w * 0.046, h * 0.025, w * 0.176, h * 0.48, stencilPath + 'big_ip_6900_dc.png', 0, 0, 0); + c.image(w * 0.227, h * 0.025, w * 0.176, h * 0.48, stencilPath + 'big_ip_6900_dc.png', 0, 0, 0); + } + } +}; + +mxCellRenderer.registerShape(mxRackF5BigIp10x00.prototype.cst.SHAPE_BIG_IP_10x00, mxRackF5BigIp10x00); + +//********************************************************************************************************************************************************** +//Big-IP 110x0 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5BigIp110x0(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5BigIp110x0, mxShape); + +mxRackF5BigIp110x0.prototype.cst = +{ + SHAPE_BIG_IP_110x0 : 'mxgraph.rackF5Shapes.big_ip_110x0' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5BigIp110x0.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var psNum = parseInt(mxUtils.getValue(this.style, 'psNum', '2')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, h * 0.33, w * 0.04, h * 0.67, stencilPath + 'big_ip_6900_ear.png', 0, 0, 0); + c.image(w * 0.96, h * 0.33, w * 0.04, h * 0.67, stencilPath + 'big_ip_6900_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_110x0_front.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_110x0_back.png', 0, 0, 0); + + if (isDC) + { + c.image(w * 0.085, h * 0.025, w * 0.177, h * 0.31, stencilPath + 'big_ip_6900_dc.png', 0, 0, 0); + c.image(w * 0.271, h * 0.025, w * 0.179, h * 0.31, stencilPath + 'big_ip_6900_dc.png', 0, 0, 0); + } + } +}; + +mxCellRenderer.registerShape(mxRackF5BigIp110x0.prototype.cst.SHAPE_BIG_IP_110x0, mxRackF5BigIp110x0); + +//********************************************************************************************************************************************************** +//Viprion 2400 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5Viprion2400(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5Viprion2400, mxShape); + +mxRackF5Viprion2400.prototype.cst = +{ + SHAPE_VIPRION_2400 : 'mxgraph.rackF5Shapes.viprion_2400' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5Viprion2400.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var bladeNum = parseInt(mxUtils.getValue(this.style, 'bladeNum', '4')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'viprion_2400_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'viprion_2400_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'viprion_2400_front.png', 0, 0, 0); + + if (isDC) + { + c.image(w * 0.178, h * 0.025, w * 0.301, h * 0.273, stencilPath + 'viprion_2400_dc.png', 0, 0, 0); + c.image(w * 0.52, h * 0.025, w * 0.301, h * 0.273, stencilPath + 'viprion_2400_dc.png', 0, 0, 0); + } + + if (bladeNum >= 1) + { + c.image(w * 0.052, h * 0.337, w * 0.45, h * 0.29, stencilPath + 'viprion_2400_blade.png', 0, 0, 0); + } + + if (bladeNum >= 2) + { + c.image(w * 0.495, h * 0.337, w * 0.45, h * 0.29, stencilPath + 'viprion_2400_blade.png', 0, 0, 0); + } + + if (bladeNum >= 3) + { + c.image(w * 0.052, h * 0.655, w * 0.45, h * 0.29, stencilPath + 'viprion_2400_blade.png', 0, 0, 0); + } + + if (bladeNum >= 4) + { + c.image(w * 0.495, h * 0.655, w * 0.45, h * 0.29, stencilPath + 'viprion_2400_blade.png', 0, 0, 0); + } + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'viprion_2400_back.png', 0, 0, 0); + } +}; + +mxCellRenderer.registerShape(mxRackF5Viprion2400.prototype.cst.SHAPE_VIPRION_2400, mxRackF5Viprion2400); + +//********************************************************************************************************************************************************** +//Viprion 4400 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5Viprion4400(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5Viprion4400, mxShape); + +mxRackF5Viprion4400.prototype.cst = +{ + SHAPE_VIPRION_4400 : 'mxgraph.rackF5Shapes.viprion_4400' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5Viprion4400.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var hasMask = mxUtils.getValue(this.style, 'hasMask', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var bladeType = mxUtils.getValue(this.style, 'bladeType', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var bladeNum = parseInt(mxUtils.getValue(this.style, 'bladeNum', '0')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'viprion_4400_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'viprion_4400_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'viprion_4400_front_chassis.png', 0, 0, 0); + + if (hasMask) + { + c.image(w * 0.033, h * 0.005, w * 0.934, h * 0.282, stencilPath + 'viprion_4400_front.png', 0, 0, 0); + } + + var bladeStr = stencilPath + 'viprion_4400_pb100_blade.png'; + + if (bladeType == 1) + { + bladeStr = stencilPath + 'viprion_4400_pb200_blade.png'; + } + else if (bladeType == 2) + { + bladeStr = stencilPath + 'viprion_4400_b4300_blade.png'; + } + + + if (bladeNum >= 1) + { + c.image(w * 0.182, h * 0.3, w * 0.74, h * 0.145, bladeStr, 0, 0, 0); + } + + if (bladeNum >= 2) + { + c.image(w * 0.182, h * 0.462, w * 0.74, h * 0.145, bladeStr, 0, 0, 0); + } + + if (bladeNum >= 3) + { + c.image(w * 0.182, h * 0.625, w * 0.74, h * 0.145, bladeStr, 0, 0, 0); + } + + if (bladeNum >= 4) + { + c.image(w * 0.182, h * 0.788, w * 0.74, h * 0.145, bladeStr, 0, 0, 0); + } + } + else + { + if (isDC) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'viprion_4400_back_dc.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'viprion_4400_back_ac.png', 0, 0, 0); + } + } +}; + +mxCellRenderer.registerShape(mxRackF5Viprion4400.prototype.cst.SHAPE_VIPRION_4400, mxRackF5Viprion4400); + +//********************************************************************************************************************************************************** +//Viprion 4800 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5Viprion4800(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5Viprion4800, mxShape); + +mxRackF5Viprion4800.prototype.cst = +{ + SHAPE_VIPRION_4800 : 'mxgraph.rackF5Shapes.viprion_4800' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5Viprion4800.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var bladeNum = parseInt(mxUtils.getValue(this.style, 'bladeNum', '0')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, h * 0.09, w * 0.04, h * 0.8, stencilPath + 'viprion_4800_ear.png', 0, 0, 0); + c.image(w * 0.96, h * 0.09, w * 0.04, h * 0.8, stencilPath + 'viprion_4800_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'viprion_4800_front.png', 0, 0, 0); + + + if (bladeNum >= 1) + { + c.image(w * 0.075, h * 0.245, w * 0.104, h * 0.516, stencilPath + 'viprion_4800_blade.png', 0, 0, 0); + } + + if (bladeNum >= 2) + { + c.image(w * 0.182, h * 0.245, w * 0.104, h * 0.516, stencilPath + 'viprion_4800_blade.png', 0, 0, 0); + } + + if (bladeNum >= 3) + { + c.image(w * 0.289, h * 0.245, w * 0.104, h * 0.516, stencilPath + 'viprion_4800_blade.png', 0, 0, 0); + } + + if (bladeNum >= 4) + { + c.image(w * 0.396, h * 0.245, w * 0.104, h * 0.516, stencilPath + 'viprion_4800_blade.png', 0, 0, 0); + } + + if (bladeNum >= 5) + { + c.image(w * 0.503, h * 0.245, w * 0.104, h * 0.516, stencilPath + 'viprion_4800_blade.png', 0, 0, 0); + } + + if (bladeNum >= 6) + { + c.image(w * 0.61, h * 0.245, w * 0.104, h * 0.516, stencilPath + 'viprion_4800_blade.png', 0, 0, 0); + } + + if (bladeNum >= 7) + { + c.image(w * 0.717, h * 0.245, w * 0.104, h * 0.516, stencilPath + 'viprion_4800_blade.png', 0, 0, 0); + } + + if (bladeNum >= 8) + { + c.image(w * 0.824, h * 0.245, w * 0.104, h * 0.516, stencilPath + 'viprion_4800_blade.png', 0, 0, 0); + } + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'viprion_4800_back.png', 0, 0, 0); + } +}; + +mxCellRenderer.registerShape(mxRackF5Viprion4800.prototype.cst.SHAPE_VIPRION_4800, mxRackF5Viprion4800); + +//********************************************************************************************************************************************************** +//Big-IP i2000 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5BigIpi2000(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5BigIpi2000, mxShape); + +mxRackF5BigIpi2000.prototype.cst = +{ + SHAPE_BIG_IP_I2000 : 'mxgraph.rackF5Shapes.big_ip_i2000' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5BigIpi2000.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var psNum = parseInt(mxUtils.getValue(this.style, 'psNum', '2')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_i2000_front.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_1600_back.png', 0, 0, 0); + + if (isDC) + { + if (psNum >= '1') + { + c.image(w * 0.425, h * 0.05, w * 0.244, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + } + else + { + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_ac.png', 0, 0, 0); + } + } + } +}; + +mxCellRenderer.registerShape(mxRackF5BigIpi2000.prototype.cst.SHAPE_BIG_IP_I2000, mxRackF5BigIpi2000); + +//********************************************************************************************************************************************************** +//Big-IP i4000 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5BigIpi4000(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5BigIpi4000, mxShape); + +mxRackF5BigIpi4000.prototype.cst = +{ + SHAPE_BIG_IP_I4000 : 'mxgraph.rackF5Shapes.big_ip_i4000' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5BigIpi4000.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var psNum = parseInt(mxUtils.getValue(this.style, 'psNum', '2')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_i4000_front.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_1600_back.png', 0, 0, 0); + + if (isDC) + { + if (psNum >= '1') + { + c.image(w * 0.425, h * 0.05, w * 0.244, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + } + else + { + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_ac.png', 0, 0, 0); + } + } + } +}; + +mxCellRenderer.registerShape(mxRackF5BigIpi4000.prototype.cst.SHAPE_BIG_IP_I4000, mxRackF5BigIpi4000); + +//********************************************************************************************************************************************************** +//Big-IP i5000 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5BigIpi5000(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5BigIpi5000, mxShape); + +mxRackF5BigIpi5000.prototype.cst = +{ + SHAPE_BIG_IP_I5000 : 'mxgraph.rackF5Shapes.big_ip_i5000' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5BigIpi5000.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var psNum = parseInt(mxUtils.getValue(this.style, 'psNum', '2')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_i5000_front.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_1600_back.png', 0, 0, 0); + + if (isDC) + { + if (psNum >= '1') + { + c.image(w * 0.425, h * 0.05, w * 0.244, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + } + else + { + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_ac.png', 0, 0, 0); + } + } + } +}; + +mxCellRenderer.registerShape(mxRackF5BigIpi5000.prototype.cst.SHAPE_BIG_IP_I5000, mxRackF5BigIpi5000); + +//********************************************************************************************************************************************************** +//Big-IP i7000 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5BigIpi7000(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5BigIpi7000, mxShape); + +mxRackF5BigIpi7000.prototype.cst = +{ + SHAPE_BIG_IP_I7000 : 'mxgraph.rackF5Shapes.big_ip_i7000' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5BigIpi7000.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var psNum = parseInt(mxUtils.getValue(this.style, 'psNum', '2')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_i7000_front.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_1600_back.png', 0, 0, 0); + + if (isDC) + { + if (psNum >= '1') + { + c.image(w * 0.425, h * 0.05, w * 0.244, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + } + else + { + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_ac.png', 0, 0, 0); + } + } + } +}; + +mxCellRenderer.registerShape(mxRackF5BigIpi7000.prototype.cst.SHAPE_BIG_IP_I7000, mxRackF5BigIpi7000); + +//********************************************************************************************************************************************************** +//Big-IP i10000 +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxRackF5BigIpi10000(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxRackF5BigIpi10000, mxShape); + +mxRackF5BigIpi10000.prototype.cst = +{ + SHAPE_BIG_IP_I10000 : 'mxgraph.rackF5Shapes.big_ip_i10000' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxRackF5BigIpi10000.prototype.paintVertexShape = function(c, x, y, w, h) +{ + c.translate(x, y); + + var hasEars = mxUtils.getValue(this.style, 'hasEars', '1'); + var isFront = mxUtils.getValue(this.style, 'isFront', '0'); + var isDC = mxUtils.getValue(this.style, 'isDC', '0'); + var psNum = parseInt(mxUtils.getValue(this.style, 'psNum', '2')); + var stencilPath = mxUtils.getValue(this.style, 'path', 'img/lib/f5/'); + + if (hasEars) + { + c.image(0, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 0, 0); + c.image(w * 0.96, 0, w * 0.04, h, stencilPath + 'big_ip_5x00_ear.png', 0, 1, 0); + } + + if (isFront) + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_i10000_front.png', 0, 0, 0); + } + else + { + c.image(w * 0.04, 0, w * 0.92, h, stencilPath + 'big_ip_1600_back.png', 0, 0, 0); + + if (isDC) + { + if (psNum >= '1') + { + c.image(w * 0.425, h * 0.05, w * 0.244, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_dc.png', 0, 0, 0); + } + } + else + { + if (psNum >= '2') + { + c.image(w * 0.672, h * 0.05, w * 0.245, h * 0.92, stencilPath + 'big_ip_4x00_ac.png', 0, 0, 0); + } + } + } +}; + +mxCellRenderer.registerShape(mxRackF5BigIpi10000.prototype.cst.SHAPE_BIG_IP_I10000, mxRackF5BigIpi10000); + +/** + * Order is relevant. Do not move to start of file! + */ +Draw.loadPlugin(function(ui) +{ + var w = 100; + var h = 100; + var stencilPath = "path=https://jgraph.github.io/drawio-libs/libs/f5/;"; + var s = stencilPath + 'strokeColor=#666666;html=1;labelPosition=right;align=left;spacingLeft=15;shadow=0;dashed=0;fillColor=#ffffff;outlineConnect=0;shape=mxgraph.rackF5Shapes.'; + + var gn = 'mxgraph.rackF5Shapes'; + var dt = ''; + + // Avoids having to bind all functions to "this" + var sb = ui.sidebar; + + // Default tags + var dt = 'rack f5 network '; + + var fns = [ + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_1600;hasEars=0;isFront=1;isDC=0;psNum=1;', + 168, 16, '', 'Big-IP 1600', null, null, dt + 'big ip 1600'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_1600;hasEars=1;isFront=0;isDC=1;psNum=2;', + 168, 16, '', 'Big-IP 1600', null, null, dt + 'big ip 1600'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_2x00;hasEars=0;isFront=1;isDC=0;psNum=1;', + 168, 16, '', 'Big-IP 2x00', null, null, dt + 'big ip 2x00'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_2x00;hasEars=1;isFront=0;isDC=1;psNum=2;', + 168, 16, '', 'Big-IP 2x00', null, null, dt + 'big ip 2x00'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_3600;hasEars=0;isFront=1;isDC=0;psNum=1;', + 168, 16, '', 'Big-IP 3600', null, null, dt + 'big ip 3600'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_3600;hasEars=1;isFront=0;isDC=1;psNum=2;', + 168, 16, '', 'Big-IP 3600', null, null, dt + 'big ip 3600'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_3900;hasEars=0;isFront=1;isDC=0;psNum=1;', + 168, 16, '', 'Big-IP 3900', null, null, dt + 'big ip 3900'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_3900;hasEars=1;isFront=0;isDC=1;psNum=2;', + 168, 16, '', 'Big-IP 3900', null, null, dt + 'big ip 3900'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_4x00;hasEars=0;isFront=1;isDC=0;psNum=1;', + 168, 16, '', 'Big-IP 4x00', null, null, dt + 'big ip 4x00'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_4x00;hasEars=1;isFront=0;isDC=1;psNum=2;', + 168, 16, '', 'Big-IP 4x00', null, null, dt + 'big ip 4x00'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_5x00;hasEars=0;isFront=1;isDC=0;psNum=1;', + 168, 16, '', 'Big-IP 5x00', null, null, dt + 'big ip 5x00'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_5x00;hasEars=1;isFront=0;isDC=1;psNum=2;', + 168, 16, '', 'Big-IP 5x00', null, null, dt + 'big ip 5x00'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.em4000;hasEars=0;isFront=1;isDC=0;psNum=1;', + 168, 16, '', 'EM 4000', null, null, dt + 'em 4000'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.em4000;hasEars=1;isFront=0;isDC=1;psNum=2;', + 168, 16, '', 'EM 4000', null, null, dt + 'em 4000'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_6900;hasEars=0;isFront=1;isDC=0;', + 168, 32, '', 'Big-IP 6900', null, null, dt + 'big ip 6900'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_6900;hasEars=1;isFront=0;isDC=1;', + 168, 32, '', 'Big-IP 6900', null, null, dt + 'big ip 6900'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_89x0;hasEars=0;isFront=1;isDC=0;', + 168, 32, '', 'Big-IP 89x0', null, null, dt + 'big ip 89x0'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_6900;hasEars=1;isFront=0;isDC=1;', + 168, 32, '', 'Big-IP 89x0', null, null, dt + 'big ip 89x0'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_7x00;hasEars=0;isFront=1;isDC=0;', + 168, 32, '', 'Big-IP 7x00', null, null, dt + 'big ip 7x00'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_7x00;hasEars=1;isFront=0;isDC=1;', + 168, 32, '', 'Big-IP 7x00', null, null, dt + 'big ip 7x00'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_10x00;hasEars=0;isFront=1;isDC=0;', + 168, 32, '', 'Big-IP 10x00', null, null, dt + 'big ip 10x00'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_10x00;hasEars=1;isFront=0;isDC=1;', + 168, 32, '', 'Big-IP 10x00', null, null, dt + 'big ip 10x00'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_110x0;hasEars=0;isFront=1;isDC=0;', + 168, 48, '', 'Big-IP 110x0', null, null, dt + 'big ip 110x0'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_110x0;hasEars=1;isFront=0;isDC=1;', + 168, 48, '', 'Big-IP 110x0', null, null, dt + 'big ip 110x0'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.viprion_2400;hasEars=0;isFront=1;isDC=1;bladeNum=4;', + 168, 64, '', 'VIPRION 2400', null, null, dt + 'viprion 2400'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.viprion_2400;hasEars=1;isFront=0;isDC=0;bladeNum=4;', + 168, 64, '', 'VIPRION 2400', null, null, dt + 'viprion 2400'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.viprion_4400;hasMask=1;bladeType=0;hasEars=0;isFront=1;isDC=1;bladeNum=4;', + 168, 112, '', 'VIPRION 4400', null, null, dt + 'viprion 4400'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.viprion_4400;hasMask=1;bladeType=0;hasEars=1;isFront=0;isDC=0;bladeNum=4;', + 168, 112, '', 'VIPRION 4400', null, null, dt + 'viprion 4400'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.viprion_4800;hasEars=1;isFront=1;bladeNum=8;', + 168, 224, '', 'VIPRION 4800', null, null, dt + 'viprion 4800'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.viprion_4800;hasEars=0;isFront=0;bladeNum=8;', + 168, 224, '', 'VIPRION 4800', null, null, dt + 'viprion 4800'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_i2000;hasEars=0;isFront=1;isDC=0;psNum=1;', + 168, 16, '', 'Big-IP i2000', null, null, dt + 'big ip i2000'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_i2000;hasEars=1;isFront=0;isDC=1;psNum=2;', + 168, 16, '', 'Big-IP i2000', null, null, dt + 'big ip i2000'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_i4000;hasEars=0;isFront=1;isDC=0;psNum=1;', + 168, 16, '', 'Big-IP i4000', null, null, dt + 'big ip i4000'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_i4000;hasEars=1;isFront=0;isDC=1;psNum=2;', + 168, 16, '', 'Big-IP i4000', null, null, dt + 'big ip i4000'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_i5000;hasEars=0;isFront=1;isDC=0;psNum=1;', + 168, 16, '', 'Big-IP i5000', null, null, dt + 'big ip i5000'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_i5000;hasEars=1;isFront=0;isDC=1;psNum=2;', + 168, 16, '', 'Big-IP i5000', null, null, dt + 'big ip i5000'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_i7000;hasEars=0;isFront=1;isDC=0;psNum=1;', + 168, 16, '', 'Big-IP i7000', null, null, dt + 'big ip i7000'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_i7000;hasEars=1;isFront=0;isDC=1;psNum=2;', + 168, 16, '', 'Big-IP i7000', null, null, dt + 'big ip i7000'), + + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_i10000;hasEars=0;isFront=1;isDC=0;psNum=1;', + 168, 16, '', 'Big-IP i10000', null, null, dt + 'big ip i10000'), + sb.createVertexTemplateEntry(stencilPath + 'shape=mxgraph.rackF5Shapes.big_ip_i10000;hasEars=1;isFront=0;isDC=1;psNum=2;', + 168, 16, '', 'Big-IP i10000', null, null, dt + 'big ip i10000') + ]; + + ui.sidebar.addPaletteFunctions('rackF5Shapes', 'Rack / F5 v2', true, fns); + + // Collapses default sidebar entry and inserts this before + var c = ui.sidebar.container; + c.firstChild.click(); + c.insertBefore(c.lastChild, c.firstChild); + c.insertBefore(c.lastChild, c.firstChild); +}); |