@zklogic/draw.io
Version:
Draw.IO - Graph Editor integration in Angular-cli
1 lines • 19.3 kB
JavaScript
function mxRackContainer(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=null!=a?a:1}function mxRackPlate(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=1}function mxRackHorCableDuct(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=null!=a?a:1}function mxRackHorRoutingBank(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=null!=a?a:1}function mxRackNeatPatch(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=null!=a?a:1}function mxRackShelf(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=null!=a?a:1}function mxRackRackNumbering(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=null!=a?a:1}function mxRackRackCabinet(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=null!=a?a:1}function mxRackHorCableDuct1U(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=null!=a?a:1}function mxRackHorCableDuct2U(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=null!=a?a:1}function mxRackHorRoutingBank1U(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=null!=a?a:1}function mxRackHorRoutingBank2U(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=null!=a?a:1}function mxRackNeatPatch2U(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=null!=a?a:1}function mxRackShelf1U(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=null!=a?a:1}function mxRackShelf2U(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=null!=a?a:1}function mxRackShelf4U(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=null!=a?a:1}function mxRackChannelBase(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=null!=a?a:1}function mxRackCabinetLeg(t,e,o,a){mxShape.call(this),this.bounds=t,this.fill=e,this.stroke=o,this.strokewidth=null!=a?a:1}mxUtils.extend(mxRackContainer,mxShape),mxRackContainer.prototype.unitSize=20,mxRackContainer.prototype.cst={SHAPE_RACK_CONTAINER:"mxgraph.rackGeneral.container",TEXT_COLOR:"textColor",NUMBER_DISPLAY:"numDisp",OFF:"off",DIR_ASC:"ascend",DIR_DESC:"descend"},mxRackContainer.prototype.customProperties=[{name:"fillColor2",dispName:"Cabinet Color",type:"color"},{name:"textColor",dispName:"Numbers Color",type:"color"},{name:"numDisp",dispName:"Display Numbers",type:"enum",enumList:[{val:"off",dispName:"Off"},{val:"ascend",dispName:"Ascending"},{val:"descend",dispName:"Descending"}],onChange:function(t,e){t.setCellStyles("marginLeft","off"==e?9:33,t.getSelectionCells())}},{name:"rackUnitSize",dispName:"Unit size",type:"int"}],mxRackContainer.prototype.paintVertexShape=function(t,e,o,a,r){var n=mxUtils.getValue(this.style,mxRackContainer.prototype.cst.NUMBER_DISPLAY,mxRackContainer.prototype.cst.DIR_ASC),i=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),c=mxUtils.getValue(this.style,"fillColor2","#f4f4f4");n!==mxRackContainer.prototype.cst.OFF?(t.translate(e+24,o),a=Math.max(a-24,0)):t.translate(e,o),t.setFillColor(i),this.background(t,a,r,12),t.setShadow(!1),t.setFillColor(c),this.foreground(t,a,r,12),n!==mxRackContainer.prototype.cst.OFF&&a>42&&this.sideText(t,a,r,12)},mxRackContainer.prototype.background=function(t,e,o,a){t.rect(0,0,e,o),t.fillAndStroke()},mxRackContainer.prototype.foreground=function(t,e,o,a){e>18+2*a&&o>42&&(t.rect(0,0,e,21),t.fillAndStroke(),t.rect(0,o-21,e,21),t.fillAndStroke(),t.rect(0,21,9,o-42),t.fillAndStroke(),t.rect(e-9,21,9,o-42),t.fillAndStroke(),t.ellipse(2.5,7.5,6,6),t.stroke(),t.ellipse(e-8.5,7.5,6,6),t.stroke(),t.ellipse(2.5,o-13.5,6,6),t.stroke(),t.ellipse(e-8.5,o-13.5,6,6),t.stroke())},mxRackContainer.prototype.sideText=function(t,e,o,a){var r=mxUtils.getValue(this.style,mxRackContainer.prototype.cst.TEXT_COLOR,"#666666"),n=mxUtils.getValue(this.style,mxRackContainer.prototype.cst.NUMBER_DISPLAY,mxRackContainer.prototype.cst.DIR_ASC),i=parseFloat(mxUtils.getValue(this.style,"rackUnitSize",mxRackContainer.prototype.unitSize));this.unitSize=i,t.setFontSize(a),t.setFontColor(r);for(var c=Math.floor((Math.abs(o)-42)/i),s=0;s<c;s++){var l=n===mxRackContainer.prototype.cst.DIR_DESC?(s+1).toString():(c-s).toString();t.text(-a,21+.5*i+s*i,0,0,l,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)}for(t.begin(),s=0;s<c+1;s++)t.moveTo(-2*a,21+s*i),t.lineTo(0,21+s*i);t.stroke()},mxUtils.extend(mxRackPlate,mxShape),mxRackPlate.prototype.cst={SHAPE_RACK_PLATE:"mxgraph.rackGeneral.plate"},mxRackPlate.prototype.paintVertexShape=function(t,e,o,a,r){t.translate(e,o),this.background(t,a,r),t.setShadow(!1),this.foreground(t,a,r)},mxRackPlate.prototype.background=function(t,e,o){t.begin(),t.rect(0,0,e,o),t.fillAndStroke()},mxRackPlate.prototype.foreground=function(t,e,o){e>18&&(t.save(),t.setFillColor("#000000"),t.setAlpha(.23),t.rect(0,0,9,o),t.fill(),t.rect(e-9,0,9,o),t.fill(),t.restore(),t.rect(0,0,e,o),t.stroke(),t.rect(9,0,e-18,o),t.stroke())},mxUtils.extend(mxRackHorCableDuct,mxShape),mxRackHorCableDuct.prototype.cst={SHAPE_RACK_HOR_CABLE_DUCT:"mxgraph.rackGeneral.horCableDuct"},mxRackHorCableDuct.prototype.paintVertexShape=function(t,e,o,a,r){t.translate(e,o),this.background(t,a,r),t.setShadow(!1),this.foreground(t,a,r)},mxRackHorCableDuct.prototype.background=function(t,e,o){t.rect(0,0,e,o),t.fillAndStroke()},mxRackHorCableDuct.prototype.foreground=function(t,e,o){var a=Math.floor((e-20)/33),r=10+Math.floor((e-20-33*a)/2);if(a>0)for(var n=0;n<=a;n++)t.rect(r,0,3,7),t.stroke(),t.rect(r,7,3,7.8),t.stroke(),r+=33},mxUtils.extend(mxRackHorRoutingBank,mxShape),mxRackHorRoutingBank.prototype.cst={SHAPE_RACK_HOR_ROUTING_BANK:"mxgraph.rackGeneral.horRoutingBank"},mxRackHorRoutingBank.prototype.paintVertexShape=function(t,e,o,a,r){t.translate(e,o),this.background(t,a,r),t.setShadow(!1),this.foreground(t,a,r)},mxRackHorRoutingBank.prototype.background=function(t,e,o){t.rect(0,0,e,o),t.fillAndStroke()},mxRackHorRoutingBank.prototype.foreground=function(t,e,o){var a=Math.floor((e-20-16)/22),r=Math.floor(o/mxRackContainer.unitSize);if(a>0&&r>0)for(var n=0;n<r;n++)for(var i=18+Math.floor((e-20-16-22*a)/2)-8,c=0;c<=a;c++)t.rect(i,4+n*mxRackContainer.unitSize,16,6.8),t.stroke(),i+=22},mxUtils.extend(mxRackNeatPatch,mxShape),mxRackNeatPatch.prototype.cst={SHAPE_RACK_NEAT_PATCH:"mxgraph.rackGeneral.neatPatch"},mxRackNeatPatch.prototype.paintVertexShape=function(t,e,o,a,r){t.translate(e,o),this.background(t,a,r),t.setShadow(!1),this.mainText(t,a,r)},mxRackNeatPatch.prototype.background=function(t,e,o){t.setFillColor("#666666"),t.rect(0,0,e,o),t.fillAndStroke()},mxRackNeatPatch.prototype.mainText=function(t,e,o){t.setFontSize("12"),t.setFontColor("#ffffff"),t.setFontStyle(mxConstants.FONT_BOLD),t.text(e/2,o-6,0,0,"NEAT-PATCH",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)},mxUtils.extend(mxRackShelf,mxShape),mxRackShelf.prototype.cst={SHAPE_RACK_SHELF:"mxgraph.rackGeneral.shelf"},mxRackShelf.prototype.paintVertexShape=function(t,e,o,a,r){t.translate(e,o),this.background(t,a,r)},mxRackShelf.prototype.background=function(t,e,o){t.setStrokeWidth(2),t.begin(),t.moveTo(1,0),t.lineTo(1,o-1),t.lineTo(e-1,o-1),t.lineTo(e-1,1),t.fillAndStroke()},mxUtils.extend(mxRackRackNumbering,mxShape),mxRackRackNumbering.prototype.cst={SHAPE_RACK_RACK_NUMBERING:"mxgraph.rackGeneral.rackNumbering",UNIT_NUM:"unitNum",UNIT_HEIGHT:"unitHeight",TEXT_COLOR:"textColor",NUM_DIR:"numDir",DIR_ASC:"ascend",DIR_DESC:"descend",TEXT_SIZE:"textSize"},mxRackRackNumbering.prototype.paintVertexShape=function(t,e,o,a,r){var n=parseFloat(mxUtils.getValue(this.style,mxRackRackNumbering.prototype.cst.UNIT_NUM,"42")),i=parseFloat(mxUtils.getValue(this.style,mxRackRackNumbering.prototype.cst.UNIT_HEIGHT,"14.8")),c=parseFloat(mxUtils.getValue(this.style,mxRackRackNumbering.prototype.cst.TEXT_SIZE,"12"));t.translate(e,o),r=n*i,this.background(t,a,r,c),t.setShadow(!1),this.sideText(t,a,r,n,i,c)},mxRackRackNumbering.prototype.background=function(t,e,o,a){t.rect(3*a,0,160.9,o),t.fillAndStroke()},mxRackRackNumbering.prototype.sideText=function(t,e,o,a,r,n){var i=mxUtils.getValue(this.style,mxRackRackNumbering.prototype.cst.TEXT_COLOR,"#666666"),c=mxUtils.getValue(this.style,mxRackRackNumbering.prototype.cst.NUM_DIR,mxRackRackNumbering.prototype.cst.DIR_DESC);if(t.setFontSize(n),t.setFontColor(i),c===mxRackRackNumbering.prototype.cst.DIR_ASC)for(var s=0;s<a;s++)t.text(n,.5*r+s*r,0,0,(s+1).toString(),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);else for(s=0;s<a;s++)t.text(n,o-.5*r-s*r,0,0,(s+1).toString(),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);for(t.setStrokeColor("#dddddd"),t.begin(),s=0;s<a+1;s++)t.moveTo(0,s*r),t.lineTo(3*n,s*r);t.stroke()},mxUtils.extend(mxRackRackCabinet,mxShape),mxRackRackCabinet.prototype.cst={SHAPE_RACK_RACK_CABINET:"mxgraph.rackGeneral.rackCabinet",UNIT_NUM:"unitNum",UNIT_HEIGHT:"unitHeight",TEXT_COLOR:"textColor",NUM_DIR:"numDir",NUMBER_DISPLAY:"numDisp",ON:"on",OFF:"off",DIR_ASC:"ascend",DIR_DESC:"descend",TEXT_SIZE:"textSize"},mxRackRackCabinet.prototype.paintVertexShape=function(t,e,o,a,r){var n=parseFloat(mxUtils.getValue(this.style,mxRackRackCabinet.prototype.cst.UNIT_NUM,"12")),i=parseFloat(mxUtils.getValue(this.style,mxRackRackCabinet.prototype.cst.UNIT_HEIGHT,"14.8")),c=parseFloat(mxUtils.getValue(this.style,mxRackRackCabinet.prototype.cst.TEXT_SIZE,"12")),s=mxUtils.getValue(this.style,mxRackRackCabinet.prototype.cst.NUMBER_DISPLAY,mxRackRackCabinet.prototype.cst.ON);s===mxRackRackCabinet.prototype.cst.ON?t.translate(e+2*c,o):t.translate(e,o),r=n*i+42,this.background(t,a,r,c),t.setShadow(!1),this.foreground(t,a,r,c),s===mxRackRackCabinet.prototype.cst.ON&&this.sideText(t,a,r,n,i,c)},mxRackRackCabinet.prototype.background=function(t,e,o,a){t.setFillColor("#ffffff"),t.rect(0,0,180,o),t.fillAndStroke()},mxRackRackCabinet.prototype.foreground=function(t,e,o,a){t.setFillColor("#f4f4f4"),t.rect(0,0,180,21),t.fillAndStroke(),t.rect(0,o-21,180,21),t.fillAndStroke(),t.rect(0,21,9,o-42),t.fillAndStroke(),t.rect(171,21,9,o-42),t.fillAndStroke(),t.ellipse(2.5,7.5,6,6),t.stroke(),t.ellipse(171.5,7.5,6,6),t.stroke(),t.ellipse(2.5,o-13.5,6,6),t.stroke(),t.ellipse(171.5,o-13.5,6,6),t.stroke()},mxRackRackCabinet.prototype.sideText=function(t,e,o,a,r,n){var i=mxUtils.getValue(this.style,mxRackRackCabinet.prototype.cst.TEXT_COLOR,"#666666"),c=mxUtils.getValue(this.style,mxRackRackCabinet.prototype.cst.NUM_DIR,mxRackRackCabinet.prototype.cst.DIR_DESC);if(t.setFontSize(n),t.setFontColor(i),c===mxRackRackCabinet.prototype.cst.DIR_ASC)for(var s=0;s<a;s++)t.text(-n,21+.5*r+s*r,0,0,(s+1).toString(),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);else for(s=0;s<a;s++)t.text(-n,o-21-.5*r-s*r,0,0,(s+1).toString(),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);for(t.setStrokeColor("#dddddd"),t.begin(),s=0;s<a+1;s++)t.moveTo(-2*n,21+s*r),t.lineTo(0,21+s*r);t.stroke()},mxUtils.extend(mxRackHorCableDuct1U,mxShape),mxRackHorCableDuct1U.prototype.cst={SHAPE_RACK_HOR_CABLE_DUCT_1U:"mxgraph.rackGeneral.horCableDuct1U"},mxRackHorCableDuct1U.prototype.paintVertexShape=function(t,e,o,a,r){t.translate(e,o),this.background(t,a,r),t.setShadow(!1),this.foreground(t,a,r)},mxRackHorCableDuct1U.prototype.background=function(t,e,o){t.rect(0,0,160.9,14.8),t.fillAndStroke()},mxRackHorCableDuct1U.prototype.foreground=function(t,e,o){t.rect(12,0,3,7),t.stroke(),t.rect(12,7,3,7.8),t.stroke(),t.rect(45.5,0,3,7),t.stroke(),t.rect(45.5,7,3,7.8),t.stroke(),t.rect(79,0,3,7),t.stroke(),t.rect(79,7,3,7.8),t.stroke(),t.rect(112.5,0,3,7),t.stroke(),t.rect(112.5,7,3,7.8),t.stroke(),t.rect(146,0,3,7),t.stroke(),t.rect(146,7,3,7.8),t.stroke()},mxUtils.extend(mxRackHorCableDuct2U,mxShape),mxRackHorCableDuct2U.prototype.cst={SHAPE_RACK_HOR_CABLE_DUCT_2U:"mxgraph.rackGeneral.horCableDuct2U"},mxRackHorCableDuct2U.prototype.paintVertexShape=function(t,e,o,a,r){t.translate(e,o),this.background(t,a,r),t.setShadow(!1),this.foreground(t,a,r)},mxRackHorCableDuct2U.prototype.background=function(t,e,o){t.rect(0,0,160.9,29.6),t.fillAndStroke()},mxRackHorCableDuct2U.prototype.foreground=function(t,e,o){t.rect(12,0,3,7),t.stroke(),t.rect(12,7,3,22.6),t.stroke(),t.rect(45.5,0,3,7),t.stroke(),t.rect(45.5,7,3,22.6),t.stroke(),t.rect(79,0,3,7),t.stroke(),t.rect(79,7,3,22.6),t.stroke(),t.rect(112.5,0,3,7),t.stroke(),t.rect(112.5,7,3,22.6),t.stroke(),t.rect(146,0,3,7),t.stroke(),t.rect(146,7,3,22.6),t.stroke()},mxUtils.extend(mxRackHorRoutingBank1U,mxShape),mxRackHorRoutingBank1U.prototype.cst={SHAPE_RACK_HOR_ROUTING_BANK_1U:"mxgraph.rackGeneral.horRoutingBank1U"},mxRackHorRoutingBank1U.prototype.paintVertexShape=function(t,e,o,a,r){t.translate(e,o),this.background(t,a,r),t.setShadow(!1),this.foreground(t,a,r)},mxRackHorRoutingBank1U.prototype.background=function(t,e,o){t.rect(0,0,160.9,14.8),t.fillAndStroke()},mxRackHorRoutingBank1U.prototype.foreground=function(t,e,o){t.rect(10,4,17,6.8),t.stroke(),t.rect(31,4,17,6.8),t.stroke(),t.rect(52,4,17,6.8),t.stroke(),t.rect(73,4,17,6.8),t.stroke(),t.rect(94,4,17,6.8),t.stroke(),t.rect(115,4,17,6.8),t.stroke(),t.rect(136,4,17,6.8),t.stroke()},mxUtils.extend(mxRackHorRoutingBank2U,mxShape),mxRackHorRoutingBank2U.prototype.cst={SHAPE_RACK_HOR_ROUTING_BANK_2U:"mxgraph.rackGeneral.horRoutingBank2U"},mxRackHorRoutingBank2U.prototype.paintVertexShape=function(t,e,o,a,r){t.translate(e,o),this.background(t,a,r),t.setShadow(!1),this.foreground(t,a,r)},mxRackHorRoutingBank2U.prototype.background=function(t,e,o){t.rect(0,0,160.9,29.6),t.fillAndStroke()},mxRackHorRoutingBank2U.prototype.foreground=function(t,e,o){t.rect(10,4,17,6.8),t.stroke(),t.rect(31,4,17,6.8),t.stroke(),t.rect(52,4,17,6.8),t.stroke(),t.rect(73,4,17,6.8),t.stroke(),t.rect(94,4,17,6.8),t.stroke(),t.rect(115,4,17,6.8),t.stroke(),t.rect(136,4,17,6.8),t.stroke(),t.rect(10,18.8,17,6.8),t.stroke(),t.rect(31,18.8,17,6.8),t.stroke(),t.rect(52,18.8,17,6.8),t.stroke(),t.rect(73,18.8,17,6.8),t.stroke(),t.rect(94,18.8,17,6.8),t.stroke(),t.rect(115,18.8,17,6.8),t.stroke(),t.rect(136,18.8,17,6.8),t.stroke()},mxUtils.extend(mxRackNeatPatch2U,mxShape),mxRackNeatPatch2U.prototype.cst={SHAPE_RACK_NEAT_PATCH_2U:"mxgraph.rackGeneral.neatPatch2U"},mxRackNeatPatch2U.prototype.paintVertexShape=function(t,e,o,a,r){t.translate(e,o),this.background(t,a,r),t.setShadow(!1),this.mainText(t,a,r)},mxRackNeatPatch2U.prototype.background=function(t,e,o){t.setFillColor("#666666"),t.rect(0,0,160.9,29.6),t.fillAndStroke()},mxRackNeatPatch2U.prototype.mainText=function(t,e,o){t.setFontSize("12"),t.setFontColor("#ffffff"),t.setFontStyle(mxConstants.FONT_BOLD),t.text(80.45,24,0,0,"NEAT-PATCH",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)},mxUtils.extend(mxRackShelf1U,mxShape),mxRackShelf1U.prototype.cst={SHAPE_RACK_SHELF_1U:"mxgraph.rackGeneral.shelf1U"},mxRackShelf1U.prototype.paintVertexShape=function(t,e,o,a,r){t.translate(e,o),this.background(t,a,r)},mxRackShelf1U.prototype.background=function(t,e,o){t.setStrokeWidth(2),t.begin(),t.moveTo(0,0),t.lineTo(0,14.8),t.lineTo(160.9,14.8),t.lineTo(160.9,0),t.fillAndStroke()},mxUtils.extend(mxRackShelf2U,mxShape),mxRackShelf2U.prototype.cst={SHAPE_RACK_SHELF_2U:"mxgraph.rackGeneral.shelf2U"},mxRackShelf2U.prototype.paintVertexShape=function(t,e,o,a,r){t.translate(e,o),this.background(t,a,r)},mxRackShelf2U.prototype.background=function(t,e,o){t.setStrokeWidth(2),t.begin(),t.moveTo(0,0),t.lineTo(0,29.6),t.lineTo(160.9,29.6),t.lineTo(160.9,0),t.fillAndStroke()},mxUtils.extend(mxRackShelf4U,mxShape),mxRackShelf4U.prototype.cst={SHAPE_RACK_SHELF_4U:"mxgraph.rackGeneral.shelf4U"},mxRackShelf4U.prototype.paintVertexShape=function(t,e,o,a,r){t.translate(e,o),this.background(t,a,r)},mxRackShelf4U.prototype.background=function(t,e,o){t.setStrokeWidth(2),t.begin(),t.moveTo(0,0),t.lineTo(0,59.2),t.lineTo(160.9,59.2),t.lineTo(160.9,0),t.fillAndStroke()},mxUtils.extend(mxRackChannelBase,mxShape),mxRackChannelBase.prototype.cst={SHAPE_RACK_CHANNEL_BASE:"mxgraph.rackGeneral.channelBase"},mxRackChannelBase.prototype.paintVertexShape=function(t,e,o,a,r){a=Math.max(a,20),r=Math.max(r,20),t.translate(e,o),this.background(t,a,r),t.setShadow(!1),this.foreground(t,a,r)},mxRackChannelBase.prototype.background=function(t,e,o){t.rect(10,o-15,5,15),t.fillAndStroke(),t.rect(e-15,o-15,5,15),t.fillAndStroke(),t.rect(0,0,e,o-5),t.fillAndStroke()},mxRackChannelBase.prototype.foreground=function(t,e,o){t.setFillColor("#000000"),t.rect(10,o-15,5,15),t.fillAndStroke(),t.rect(e-15,o-15,5,15),t.fillAndStroke()},mxUtils.extend(mxRackCabinetLeg,mxShape),mxRackCabinetLeg.prototype.cst={SHAPE_RACK_CABINET_LEG:"mxgraph.rackGeneral.cabinetLeg"},mxRackCabinetLeg.prototype.paintVertexShape=function(t,e,o,a,r){a=Math.max(a,20),r=Math.max(r,20),t.translate(e,o),this.background(t,a,r)},mxRackCabinetLeg.prototype.background=function(t,e,o){t.begin(),t.moveTo(0,o-10),t.lineTo(5,o-10),t.lineTo(5,o-12),t.lineTo(9,o-12),t.lineTo(9,o-10),t.lineTo(e-10,o-10),t.lineTo(e-10,9),t.lineTo(e-12,9),t.lineTo(e-12,5),t.lineTo(e-10,5),t.lineTo(e-10,0),t.lineTo(e,0),t.lineTo(e,o),t.lineTo(0,o),t.close(),t.fillAndStroke()},mxCellRenderer.registerShape(mxRackContainer.prototype.cst.SHAPE_RACK_CONTAINER,mxRackContainer),mxCellRenderer.registerShape(mxRackHorCableDuct.prototype.cst.SHAPE_RACK_HOR_CABLE_DUCT,mxRackHorCableDuct),mxCellRenderer.registerShape(mxRackHorRoutingBank.prototype.cst.SHAPE_RACK_HOR_ROUTING_BANK,mxRackHorRoutingBank),mxCellRenderer.registerShape(mxRackNeatPatch.prototype.cst.SHAPE_RACK_NEAT_PATCH,mxRackNeatPatch),mxCellRenderer.registerShape(mxRackShelf.prototype.cst.SHAPE_RACK_SHELF,mxRackShelf),mxCellRenderer.registerShape(mxRackPlate.prototype.cst.SHAPE_RACK_PLATE,mxRackPlate),mxCellRenderer.registerShape(mxRackRackNumbering.prototype.cst.SHAPE_RACK_RACK_NUMBERING,mxRackRackNumbering),mxCellRenderer.registerShape(mxRackRackCabinet.prototype.cst.SHAPE_RACK_RACK_CABINET,mxRackRackCabinet),mxCellRenderer.registerShape(mxRackHorCableDuct1U.prototype.cst.SHAPE_RACK_HOR_CABLE_DUCT_1U,mxRackHorCableDuct1U),mxCellRenderer.registerShape(mxRackHorCableDuct2U.prototype.cst.SHAPE_RACK_HOR_CABLE_DUCT_2U,mxRackHorCableDuct2U),mxCellRenderer.registerShape(mxRackHorRoutingBank1U.prototype.cst.SHAPE_RACK_HOR_ROUTING_BANK_1U,mxRackHorRoutingBank1U),mxCellRenderer.registerShape(mxRackHorRoutingBank2U.prototype.cst.SHAPE_RACK_HOR_ROUTING_BANK_2U,mxRackHorRoutingBank2U),mxCellRenderer.registerShape(mxRackNeatPatch2U.prototype.cst.SHAPE_RACK_NEAT_PATCH_2U,mxRackNeatPatch2U),mxCellRenderer.registerShape(mxRackShelf1U.prototype.cst.SHAPE_RACK_SHELF_1U,mxRackShelf1U),mxCellRenderer.registerShape(mxRackShelf2U.prototype.cst.SHAPE_RACK_SHELF_2U,mxRackShelf2U),mxCellRenderer.registerShape(mxRackShelf4U.prototype.cst.SHAPE_RACK_SHELF_4U,mxRackShelf4U),mxCellRenderer.registerShape(mxRackChannelBase.prototype.cst.SHAPE_RACK_CHANNEL_BASE,mxRackChannelBase),mxCellRenderer.registerShape(mxRackCabinetLeg.prototype.cst.SHAPE_RACK_CABINET_LEG,mxRackCabinetLeg);