1(function() 2{ 3 // Adds ArchiMate 2.1 shapes 4 Sidebar.prototype.addArchiMatePalette = function() 5 { 6 var w = 100; 7 var h = 75; 8 var s = 'html=1;outlineConnect=0;shape=mxgraph.archimate.'; 9 var am1 = 'html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.'; 10 var am2 = 'html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#99ffff;shape=mxgraph.archimate.'; 11 var am3 = 'html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#99ff99;shape=mxgraph.archimate.'; 12 var am4 = 'html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffccff;shape=mxgraph.archimate.'; 13 var am5 = 'html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ccccff;shape=mxgraph.archimate.'; 14 var am6 = 'html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffe0e0;shape=mxgraph.archimate.'; 15 var am7 = 'html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffe0e0;shape=mxgraph.archimate.'; 16 var gn = 'mxgraph.archimate'; 17 var dt = 'archimate '; 18 this.setCurrentSearchEntryLibrary('archimate'); 19 20 this.addPaletteFunctions('archimate', mxResources.get('archiMate21'), false, 21 [ 22 this.createVertexTemplateEntry(am1 + 'application;appType=actor', 23 w, h, '', 'Business Actor', null, null, this.getTagsForStencil(gn, 'application', dt + 'business actor').join(' ')), 24 this.createVertexTemplateEntry(am1 + 'application;appType=role', 25 w, h, '', 'Business Role', null, null, this.getTagsForStencil(gn, '', dt + 'business role').join(' ')), 26 this.createVertexTemplateEntry(am1 + 'application;appType=collab', 27 w, h, '', 'Business Collaboration', null, null, this.getTagsForStencil(gn, '', dt + 'business collaboration').join(' ')), 28 this.createVertexTemplateEntry(am1 + 'application;appType=interface', 29 w, h, '', 'Business Interface', null, null, this.getTagsForStencil(gn, '', dt + 'business interface').join(' ')), 30 this.createVertexTemplateEntry(am1 + 'application;appType=interface2', 31 w, h, '', 'Business Interface', null, null, this.getTagsForStencil(gn, '', dt + 'business interface').join(' ')), 32 this.createVertexTemplateEntry(am1 + 'location', 33 w, h, '', 'Location', null, null, this.getTagsForStencil(gn, '', dt + 'location').join(' ')), 34 this.createVertexTemplateEntry(am1 + 'business;busType=process', 35 w, h, '', 'Business Process', null, null, this.getTagsForStencil(gn, '', dt + 'business process').join(' ')), 36 this.createVertexTemplateEntry(am1 + 'business;busType=function', 37 w, h, '', 'Business Function', null, null, this.getTagsForStencil(gn, '', dt + 'business function').join(' ')), 38 this.createVertexTemplateEntry(am1 + 'business;busType=interaction', 39 w, h, '', 'Business Interaction', null, null, this.getTagsForStencil(gn, '', dt + 'business interaction').join(' ')), 40 this.createVertexTemplateEntry(am1 + 'business;busType=event', 41 w, h, '', 'Business Event', null, null, this.getTagsForStencil(gn, '', dt + 'business event').join(' ')), 42 this.createVertexTemplateEntry(am1 + 'business;busType=service', 43 w, h, '', 'Business Service', null, null, this.getTagsForStencil(gn, '', dt + 'business service').join(' ')), 44 this.createVertexTemplateEntry(am1 + 'businessObject;overflow=fill', w, h, 45 '<table cellpadding="0" cellspacing="0" style="font-size:1em;width:100%;height:100%;"><tr style="height:20px;"><td align="center"></td></tr><tr><td align="left" valign="top" style="padding:4px;"></td></tr></table>', 46 'Business Object', null, null, this.getTagsForStencil(gn, '', dt + 'business object').join(' ')), 47 this.createVertexTemplateEntry(am1 + 'representation', 48 w, h, '', 'Representation', null, null, this.getTagsForStencil(gn, '', dt + 'representation').join(' ')), 49 this.createVertexTemplateEntry('fillColor=#ffff99;whiteSpace=wrap;shape=cloud;html=1;', 50 w, h, '', 'Meaning', null, null, this.getTagsForStencil(gn, '', dt + 'meaning').join(' ')), 51 this.createVertexTemplateEntry('fillColor=#ffff99;whiteSpace=wrap;shape=ellipse;html=1;', 52 w, h * 0.75, '', 'Value', null, null, this.getTagsForStencil(gn, '', dt + 'value').join(' ')), 53 this.createVertexTemplateEntry(am1 + 'product;overflow=fill', w, h, 54 '<table cellpadding="0" cellspacing="0" style="font-size:1em;width:100%;height:100%;"><tr style="height:20px;"><td align="left"></td></tr><tr><td align="left" valign="top" style="padding:4px;"></td></tr></table>', 55 'Product', null, null, this.getTagsForStencil(gn, '', dt + 'product').join(' ')), 56 this.createVertexTemplateEntry(am1 + 'businessObject;overflow=fill', w, h, 57 '<table cellpadding="0" cellspacing="0" style="font-size:1em;width:100%;height:100%;"><tr style="height:20px;"><td align="center"></td></tr><tr><td align="left" valign="top" style="padding:4px;"></td></tr></table>', 58 'Contract', null, null, this.getTagsForStencil(gn, '', dt + 'contract').join(' ')), 59 this.createVertexTemplateEntry(am2 + 'application;appType=comp', 60 w, h, '', 'Application Component', null, null, this.getTagsForStencil(gn, '', dt + 'application component').join(' ')), 61 this.createVertexTemplateEntry(am2 + 'application;appType=collab', 62 w, h, '', 'Application Collaboration', null, null, this.getTagsForStencil(gn, '', dt + 'application collaboration').join(' ')), 63 this.createVertexTemplateEntry(am2 + 'application;appType=interface', 64 w, h, '', 'Application Interface', null, null, this.getTagsForStencil(gn, '', dt + 'application interface').join(' ')), 65 this.createVertexTemplateEntry(am2 + 'application;appType=interface2', 66 w, h, '', 'Application Interface', null, null, this.getTagsForStencil(gn, '', dt + 'application interface').join(' ')), 67 this.createVertexTemplateEntry(am2 + 'application;appType=function', 68 w, h, '', 'Application Function', null, null, this.getTagsForStencil(gn, '', dt + 'application function').join(' ')), 69 this.createVertexTemplateEntry(am2 + 'application;appType=interaction', 70 w, h, '', 'Application Interaction', null, null, this.getTagsForStencil(gn, '', dt + 'application interaction').join(' ')), 71 this.createVertexTemplateEntry(am2 + 'application;appType=service', 72 w, h, '', 'Application Service', null, null, this.getTagsForStencil(gn, '', dt + 'application service').join(' ')), 73 this.createVertexTemplateEntry(am2 + 'businessObject;overflow=fill', w, h, 74 '<table cellpadding="0" cellspacing="0" style="font-size:1em;width:100%;height:100%;"><tr style="height:20px;"><td align="center"></td></tr><tr><td align="left" valign="top" style="padding:4px;"></td></tr></table>', 75 'Data Object', null, null, this.getTagsForStencil(gn, '', dt + 'data object').join(' ')), 76 this.createVertexTemplateEntry(am3 + 'application;appType=node', 77 w, h, '', 'Node', null, null, this.getTagsForStencil(gn, '', dt + 'node').join(' ')), 78 this.createVertexTemplateEntry(am3 + 'tech;techType=device', 79 w, h, '', 'Device', null, null, this.getTagsForStencil(gn, '', dt + 'device').join(' ')), 80 this.createVertexTemplateEntry(am3 + 'application;appType=network', 81 w, h, '', 'Network', null, null, this.getTagsForStencil(gn, '', dt + 'network').join(' ')), 82 this.createVertexTemplateEntry(am3 + 'application;appType=commPath', 83 w, h, '', 'Communications Path', null, null, this.getTagsForStencil(gn, '', dt + 'communications path').join(' ')), 84 this.createVertexTemplateEntry(am3 + 'application;appType=interface', 85 w, h, '', 'Infrastructure Interface', null, null, this.getTagsForStencil(gn, '', dt + 'infrastructure interface').join(' ')), 86 this.createVertexTemplateEntry(am3 + 'application;appType=interface2', 87 w, h, '', 'Infrastructure Interface', null, null, this.getTagsForStencil(gn, '', dt + 'infrastructure interface').join(' ')), 88 this.createVertexTemplateEntry(am3 + 'application;appType=sysSw', 89 w, h, '', 'System Software', null, null, this.getTagsForStencil(gn, '', dt + 'system software').join(' ')), 90 this.createVertexTemplateEntry(am3 + 'business;busType=function', 91 w, h, '', 'Infrastructure Function', null, null, this.getTagsForStencil(gn, '', dt + 'infraastructure function').join(' ')), 92 this.createVertexTemplateEntry(am3 + 'business;busType=service', 93 w, h, '', 'Infrastructure Service', null, null, this.getTagsForStencil(gn, '', dt + 'infrastructure service').join(' ')), 94 this.createVertexTemplateEntry(am3 + 'application;appType=artifact', 95 w, h, '', 'Artifact', null, null, this.getTagsForStencil(gn, '', dt + 'artifact').join(' ')), 96 97 this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;html=1;endArrow=none;elbow=vertical', 98 w, h, '', 'Association', null, this.getTagsForStencil(gn, '', dt + 'association').join(' ')), 99 this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;html=1;endArrow=open;elbow=vertical;endFill=1;dashed=1', 100 w, h, '', 'Access', null, this.getTagsForStencil(gn, '', dt + 'access').join(' ')), 101 this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;html=1;endArrow=none;elbow=vertical;endFill=0;dashed=1', 102 w, h, '', 'Access', null, this.getTagsForStencil(gn, '', dt + 'access').join(' ')), 103 this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;html=1;endArrow=open;elbow=vertical;endFill=1', 104 w, h, '', 'Used by', null, this.getTagsForStencil(gn, '', dt + 'used by').join(' ')), 105 this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;html=1;endArrow=block;elbow=vertical;endFill=0;dashed=1', 106 w, h, '', 'Realization', null, this.getTagsForStencil(gn, '', dt + 'realization').join(' ')), 107 this.createEdgeTemplateEntry('endArrow=oval;html=1;endFill=1;startArrow=oval;startFill=1;edgeStyle=elbowEdgeStyle;elbow=vertical', 108 w, h, '', 'Assignment', null, this.getTagsForStencil(gn, '', dt + 'assignment').join(' ')), 109 this.createEdgeTemplateEntry('endArrow=none;html=1;endFill=0;startArrow=diamondThin;startFill=0;edgeStyle=elbowEdgeStyle;elbow=vertical', 110 w, h, '', 'Aggregation', null, this.getTagsForStencil(gn, '', dt + 'aggregation').join(' ')), 111 this.createEdgeTemplateEntry('endArrow=none;html=1;endFill=0;startArrow=diamondThin;startFill=1;edgeStyle=elbowEdgeStyle;elbow=vertical', 112 w, h, '', 'Composition', null, this.getTagsForStencil(gn, '', dt + 'composition').join(' ')), 113 this.createEdgeTemplateEntry('endArrow=block;html=1;endFill=1;startArrow=none;startFill=0;edgeStyle=elbowEdgeStyle;elbow=vertical;dashed=1', 114 w, h, '', 'A', null, this.getTagsForStencil(gn, '', dt).join(' ')), 115 this.createEdgeTemplateEntry('endArrow=block;html=1;endFill=1;startArrow=none;startFill=0;edgeStyle=elbowEdgeStyle;elbow=vertical;dashed=1', 116 w, h, '', 'Flow', null, this.getTagsForStencil(gn, '', dt + 'flow').join(' ')), 117 this.createEdgeTemplateEntry('endArrow=block;html=1;endFill=1;startArrow=none;startFill=0;edgeStyle=elbowEdgeStyle;elbow=vertical;dashed=0', 118 w, h, '', 'Triggering', null, this.getTagsForStencil(gn, '', dt + 'triggering').join(' ')), 119 this.createVertexTemplateEntry('swimlane;html=1;fillColor=#ffffff;whiteSpace=wrap', 120 w, h, '', 'Grouping', null, this.getTagsForStencil(gn, '', dt + 'grouping').join(' ')), 121 this.createVertexTemplateEntry('ellipse;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;fillColor=#000000', 122 10, 10, '', 'Junction', null, this.getTagsForStencil(gn, '', dt + 'junction').join(' ')), 123 this.createEdgeTemplateEntry('endArrow=block;html=1;endFill=0;edgeStyle=elbowEdgeStyle;elbow=vertical', 124 w, h, '', 'Specialization', null, this.getTagsForStencil(gn, '', dt + 'specialization').join(' ')), 125 126 this.createVertexTemplateEntry(am4 + 'motiv;motivType=stake', 127 w, h, '', 'Stakeholder', null, null, this.getTagsForStencil(gn, '', dt + 'stakeholder').join(' ')), 128 this.createVertexTemplateEntry(am4 + 'motiv;motivType=driver', 129 w, h, '', 'Driver', null, null, this.getTagsForStencil(gn, '', dt + 'driver').join(' ')), 130 this.createVertexTemplateEntry(am4 + 'motiv;motivType=assess', 131 w, h, '', 'Assessment', null, null, this.getTagsForStencil(gn, '', dt + 'assesment').join(' ')), 132 this.createVertexTemplateEntry(am5 + 'motiv;motivType=goal', 133 w, h, '', 'Goal', null, null, this.getTagsForStencil(gn, '', dt + 'goal').join(' ')), 134 this.createVertexTemplateEntry(am5 + 'motiv;motivType=req', 135 w, h, '', 'Requirement', null, null, this.getTagsForStencil(gn, '', dt + 'goal').join(' ')), 136 this.createVertexTemplateEntry(am5 + 'motiv;motivType=const', 137 w, h, '', 'Constraint', null, null, this.getTagsForStencil(gn, '', dt + 'constraint').join(' ')), 138 this.createVertexTemplateEntry(am5 + 'motiv;motivType=princ', 139 w, h, '', 'Principle', null, null, this.getTagsForStencil(gn, '', dt + 'principle').join(' ')), 140 141 this.createVertexTemplateEntry(am6 + 'rounded=1', 142 w, h, '', 'Work Package', null, null, this.getTagsForStencil(gn, '', dt + 'work package').join(' ')), 143 this.createVertexTemplateEntry(am6 + 'representation', 144 w, h, '', 'Deliverable', null, null, this.getTagsForStencil(gn, '', dt + 'deliverable').join(' ')), 145 this.createVertexTemplateEntry(am3 + 'tech;techType=plateau', 146 w, h, '', 'Plateau', null, null, this.getTagsForStencil(gn, '', dt + 'plateau').join(' ')), 147 this.createVertexTemplateEntry(am3 + 'gap', 148 w, h, '', 'Gap', null, null, this.getTagsForStencil(gn, '', dt + 'gap').join(' ')) 149 ]); 150 151 this.setCurrentSearchEntryLibrary(); 152 }; 153})(); 154