1(function() 2{ 3 // Adds ArchiMate v3.0 shapes 4 Sidebar.prototype.addArchimate3Palette = function() 5 { 6 this.setCurrentSearchEntryLibrary('archimate3', 'archimate3Application'); 7 this.addArchimate3ApplicationPalette(); 8 this.setCurrentSearchEntryLibrary('archimate3', 'archimate3Business'); 9 this.addArchimate3BusinessPalette(); 10 this.setCurrentSearchEntryLibrary('archimate3', 'archimate3Composite'); 11 this.addArchimate3CompositePalette(); 12 this.setCurrentSearchEntryLibrary('archimate3', 'archimate3Implementation and Migration'); 13 this.addArchimate3ImplementationAndMigrationPalette(); 14 this.setCurrentSearchEntryLibrary('archimate3', 'archimate3Motivation'); 15 this.addArchimate3MotivationPalette(); 16 this.setCurrentSearchEntryLibrary('archimate3', 'archimate3Physical'); 17 this.addArchimate3PhysicalPalette(); 18 this.setCurrentSearchEntryLibrary('archimate3', 'archimate3Relationships'); 19 this.addArchimate3RelationshipsPalette(); 20 this.setCurrentSearchEntryLibrary('archimate3', 'archimate3Strategy'); 21 this.addArchimate3StrategyPalette(); 22 this.setCurrentSearchEntryLibrary('archimate3', 'archimate3Technology'); 23 this.addArchimate3TechnologyPalette(); 24 this.setCurrentSearchEntryLibrary(); 25 }; 26 27 Sidebar.prototype.addArchimate3ApplicationPalette = function() 28 { 29 var am2 = 'html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#99ffff;shape=mxgraph.archimate3.'; 30 31 // Space savers 32 var sb = this; 33 var gn = 'mxgraph.archimate3'; 34 var dt = 'archimate application layer '; 35 36 var w = 1.0; 37 var h = 1.0; 38 39 var fns = 40 [ 41 this.createVertexTemplateEntry(am2 + 'application;appType=comp;archiType=square;', 42 w * 150, h * 75, '', 'Application Component', null, null, this.getTagsForStencil(gn, '', dt + 'component').join(' ')), 43 this.createVertexTemplateEntry(am2 + 'component;', 44 w * 70, h * 75, '', 'Component', null, null, this.getTagsForStencil(gn, '', dt + 'component').join(' ')), 45 this.createVertexTemplateEntry(am2 + 'application;appType=collab;archiType=square;', 46 w * 150, h * 75, '', 'Application Collaboration', null, null, this.getTagsForStencil(gn, '', dt + 'collaboration').join(' ')), 47 this.createVertexTemplateEntry(am2 + 'collaboration;', 48 w * 60, h * 35, '', 'Collaboration', null, null, this.getTagsForStencil(gn, '', dt + 'collaboration').join(' ')), 49 this.createVertexTemplateEntry(am2 + 'application;appType=interface;archiType=square;', 50 w * 150, h * 75, '', 'Application Interface', null, null, this.getTagsForStencil(gn, '', dt + 'component').join(' ')), 51 this.createVertexTemplateEntry(am2 + 'interface;', 52 w * 70, h * 35, '', 'Interface', null, null, this.getTagsForStencil(gn, '', dt + 'interface').join(' ')), 53 this.createVertexTemplateEntry(am2 + 'application;appType=proc;archiType=rounded;', 54 w * 150, h * 75, '', 'Application Process', null, null, this.getTagsForStencil(gn, '', dt + 'process').join(' ')), 55 this.createVertexTemplateEntry(am2 + 'process;', 56 w * 150, h * 75, '', 'Process', null, null, this.getTagsForStencil(gn, '', dt + 'process').join(' ')), 57 this.createVertexTemplateEntry(am2 + 'application;appType=func;archiType=rounded;', 58 w * 150, h * 75, '', 'Application Function', null, null, this.getTagsForStencil(gn, '', dt + 'function').join(' ')), 59 this.createVertexTemplateEntry(am2 + 'function;', 60 w * 75, h * 75, '', 'Function', null, null, this.getTagsForStencil(gn, '', dt + 'function').join(' ')), 61 this.createVertexTemplateEntry(am2 + 'application;appType=interaction;archiType=rounded;', 62 w * 150, h * 75, '', 'Application Interaction', null, null, this.getTagsForStencil(gn, '', dt + 'interaction').join(' ')), 63 this.createVertexTemplateEntry(am2 + 'interaction;', 64 w * 75, h * 75, '', 'Interaction', null, null, this.getTagsForStencil(gn, '', dt + 'interaction').join(' ')), 65 this.createVertexTemplateEntry(am2 + 'application;appType=serv;archiType=rounded', 66 w * 150, h * 75, '', 'Application Service', null, null, this.getTagsForStencil(gn, '', dt + 'service').join(' ')), 67 this.createVertexTemplateEntry(am2 + 'service;', 68 w * 60, h * 35, '', 'Service', null, null, this.getTagsForStencil(gn, '', dt + 'service').join(' ')), 69 this.createVertexTemplateEntry(am2 + 'application;appType=event;archiType=rounded', 70 w * 150, h * 75, '', 'Application Event', null, null, this.getTagsForStencil(gn, '', dt + 'event').join(' ')), 71 this.createVertexTemplateEntry(am2 + 'event;', 72 w * 60, h * 35, '', 'Event', null, null, this.getTagsForStencil(gn, '', dt + 'event').join(' ')), 73 this.createVertexTemplateEntry(am2 + 'businessObject;overflow=fill', 74 w * 150, h * 75, '<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 ]; 77 78 this.addPalette('archimate3Application', 'Archimate 3.0 / Application', false, mxUtils.bind(this, function(content) 79 { 80 for (var i = 0; i < fns.length; i++) 81 { 82 content.appendChild(fns[i](content)); 83 } 84 })); 85 }; 86 87 Sidebar.prototype.addArchimate3BusinessPalette = function() 88 { 89 var am2 = 'html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate3.'; 90 var am3 = 'html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.archimate3.'; 91 92 // Space savers 93 var sb = this; 94 var gn = 'mxgraph.archimate3'; 95 var dt = 'archimate business layer '; 96 97 var w = 1.0; 98 var h = 1.0; 99 100 var fns = 101 [ 102 this.createVertexTemplateEntry(am2 + 'application;appType=actor;archiType=square;', 103 w * 150, h * 75, '', 'Business Actor', null, null, this.getTagsForStencil(gn, '', dt + 'actor').join(' ')), 104 this.createVertexTemplateEntry(am3 + 'actor;', 105 w * 50, h * 95, '', 'Actor', null, null, this.getTagsForStencil(gn, '', dt + 'actor').join(' ')), 106 this.createVertexTemplateEntry(am2 + 'application;appType=role;archiType=square;', 107 w * 150, h * 75, '', 'Business Role', null, null, this.getTagsForStencil(gn, '', dt + 'role').join(' ')), 108 this.createVertexTemplateEntry(am2 + 'role;', 109 w * 85, h * 50, '', 'Role', null, null, this.getTagsForStencil(gn, '', dt + 'role').join(' ')), 110 this.createVertexTemplateEntry(am2 + 'application;appType=collab;archiType=square;', 111 w * 150, h * 75, '', 'Business Collaboration', null, null, this.getTagsForStencil(gn, '', dt + 'collaboration').join(' ')), 112 this.createVertexTemplateEntry(am2 + 'collaboration;', 113 w * 60, h * 35, '', 'Collaboration', null, null, this.getTagsForStencil(gn, '', dt + 'collaboration').join(' ')), 114 this.createVertexTemplateEntry(am2 + 'application;appType=interface;archiType=square;', 115 w * 150, h * 75, '', 'Business Interface', null, null, this.getTagsForStencil(gn, '', dt + 'component').join(' ')), 116 this.createVertexTemplateEntry(am2 + 'interface;', 117 w * 70, h * 35, '', 'Interface', null, null, this.getTagsForStencil(gn, '', dt + 'interface').join(' ')), 118 this.createVertexTemplateEntry(am2 + 'application;appType=proc;archiType=rounded;', 119 w * 150, h * 75, '', 'Business Process', null, null, this.getTagsForStencil(gn, '', dt + 'process').join(' ')), 120 this.createVertexTemplateEntry(am2 + 'process;', 121 w * 150, h * 75, '', 'Process', null, null, this.getTagsForStencil(gn, '', dt + 'process').join(' ')), 122 this.createVertexTemplateEntry(am2 + 'application;appType=func;archiType=rounded;', 123 w * 150, h * 75, '', 'Business Function', null, null, this.getTagsForStencil(gn, '', dt + 'function').join(' ')), 124 this.createVertexTemplateEntry(am2 + 'function;', 125 w * 75, h * 75, '', 'Function', null, null, this.getTagsForStencil(gn, '', dt + 'function').join(' ')), 126 this.createVertexTemplateEntry(am2 + 'application;appType=interaction;archiType=rounded;', 127 w * 150, h * 75, '', 'Business Interaction', null, null, this.getTagsForStencil(gn, '', dt + 'interaction').join(' ')), 128 this.createVertexTemplateEntry(am2 + 'interaction;', 129 w * 75, h * 75, '', 'Interaction', null, null, this.getTagsForStencil(gn, '', dt + 'interaction').join(' ')), 130 this.createVertexTemplateEntry(am2 + 'application;appType=serv;archiType=rounded;', 131 w * 150, h * 75, '', 'Business Service', null, null, this.getTagsForStencil(gn, '', dt + 'service').join(' ')), 132 this.createVertexTemplateEntry(am2 + 'service;', 133 w * 60, h * 35, '', 'Service', null, null, this.getTagsForStencil(gn, '', dt + 'service').join(' ')), 134 this.createVertexTemplateEntry(am2 + 'application;appType=event;archiType=rounded;', 135 w * 150, h * 75, '', 'Application Event', null, null, this.getTagsForStencil(gn, '', dt + 'event').join(' ')), 136 this.createVertexTemplateEntry(am2 + 'event;', 137 w * 60, h * 35, '', 'Event', null, null, this.getTagsForStencil(gn, '', dt + 'event').join(' ')), 138 this.createVertexTemplateEntry(am2 + 'businessObject;overflow=fill;', 139 w * 150, h * 75, '<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>', 140 'Business Object', null, null, this.getTagsForStencil(gn, '', dt + 'data object').join(' ')), 141 this.createVertexTemplateEntry(am2 + 'contract;', 142 w * 150, h * 75, '', 'Contract', null, null, this.getTagsForStencil(gn, '', dt + 'contract').join(' ')), 143 this.createVertexTemplateEntry(am2 + 'product;', 144 w * 150, h * 75, '', 'Product', null, null, this.getTagsForStencil(gn, '', dt + 'product').join(' ')), 145 this.createVertexTemplateEntry(am2 + 'representation;', 146 w * 150, h * 90, '', 'Representation', null, null, this.getTagsForStencil(gn, '', dt + 'representation').join(' ')) 147 ]; 148 149 this.addPalette('archimate3Business', 'Archimate 3.0 / Business', false, mxUtils.bind(this, function(content) 150 { 151 for (var i = 0; i < fns.length; i++) 152 { 153 content.appendChild(fns[i](content)); 154 } 155 })); 156 }; 157 158 Sidebar.prototype.addArchimate3CompositePalette = function() 159 { 160 var am2 = 'html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#FFB973;shape=mxgraph.archimate3.'; 161 162 // Space savers 163 var sb = this; 164 var gn = 'mxgraph.archimate3'; 165 var dt = 'archimate composite element '; 166 167 var w = 1.0; 168 var h = 1.0; 169 170 var fns = 171 [ 172 this.createVertexTemplateEntry(am2 + 'application;appType=location;archiType=square;', 173 w * 150, h * 75, '', 'Location', null, null, this.getTagsForStencil(gn, '', dt + 'location').join(' ')), 174 this.createVertexTemplateEntry('shape=folder;spacingTop=10;tabWidth=100;tabHeight=25;tabPosition=left;html=1;dashed=1;', 175 w * 150, h * 105, '', 'Group', null, null, this.getTagsForStencil(gn, '', dt + 'actor').join(' ')) 176 ]; 177 178 this.addPalette('archimate3Composite', 'Archimate 3.0 / Composite', false, mxUtils.bind(this, function(content) 179 { 180 for (var i = 0; i < fns.length; i++) 181 { 182 content.appendChild(fns[i](content)); 183 } 184 })); 185 }; 186 187 Sidebar.prototype.addArchimate3ImplementationAndMigrationPalette = function() 188 { 189 var am2 = 'html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#FFE0E0;shape=mxgraph.archimate3.'; 190 var am3 = 'html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#E0FFE0;shape=mxgraph.archimate3.'; 191 192 // Space savers 193 var sb = this; 194 var gn = 'mxgraph.archimate3'; 195 var dt = 'archimate implementation migration element '; 196 197 var w = 1.0; 198 var h = 1.0; 199 200 var fns = 201 [ 202 this.createVertexTemplateEntry(am2 + 'application;archiType=rounded;', 203 w * 150, h * 75, '', 'Work Package', null, null, this.getTagsForStencil(gn, '', dt + 'work package').join(' ')), 204 this.createVertexTemplateEntry(am2 + 'application;appType=event;archiType=rounded;', 205 w * 150, h * 75, '', 'Implementation Event', null, null, this.getTagsForStencil(gn, '', dt + 'implementation event').join(' ')), 206 this.createVertexTemplateEntry(am2 + 'event;', 207 w * 60, h * 35, '', 'Event', null, null, this.getTagsForStencil(gn, '', dt + 'event').join(' ')), 208 this.createVertexTemplateEntry(am2 + 'deliverable;', 209 w * 150, h * 60, '', 'Deliverable', null, null, this.getTagsForStencil(gn, '', dt + 'deliverable').join(' ')), 210 this.createVertexTemplateEntry(am3 + 'tech;techType=plateau;', 211 w * 150, h * 75, '', 'Plateau', null, null, this.getTagsForStencil(gn, '', dt + 'plateau').join(' ')), 212 this.createVertexTemplateEntry(am3 + 'gap;', 213 w * 150, h * 60, '', 'Gap', null, null, this.getTagsForStencil(gn, '', dt + 'gap').join(' ')) 214 ]; 215 216 this.addPalette('archimate3Implementation and Migration', 'Archimate 3.0 / Implementation and Migration', false, mxUtils.bind(this, function(content) 217 { 218 for (var i = 0; i < fns.length; i++) 219 { 220 content.appendChild(fns[i](content)); 221 } 222 })); 223 }; 224 225 Sidebar.prototype.addArchimate3MotivationPalette = function() 226 { 227 var am2 = 'html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#CCCCFF;shape=mxgraph.archimate3.'; 228 229 // Space savers 230 var sb = this; 231 var gn = 'mxgraph.archimate3'; 232 var dt = 'archimate implementation motivation element '; 233 234 var w = 1.0; 235 var h = 1.0; 236 237 var fns = 238 [ 239 this.createVertexTemplateEntry(am2 + 'application;appType=role;archiType=oct;', 240 w * 150, h * 75, '', 'Stakeholder', null, null, this.getTagsForStencil(gn, '', dt + 'stakeholder').join(' ')), 241 this.createVertexTemplateEntry(am2 + 'application;appType=driver;archiType=oct;', 242 w * 150, h * 75, '', 'Driver', null, null, this.getTagsForStencil(gn, '', dt + 'driver').join(' ')), 243 this.createVertexTemplateEntry(am2 + 'application;appType=assess;archiType=oct;', 244 w * 150, h * 75, '', 'Assesment', null, null, this.getTagsForStencil(gn, '', dt + 'assessment').join(' ')), 245 this.createVertexTemplateEntry('shape=ellipse;html=1;whiteSpace=wrap;fillColor=#CCCCFF;perimeter=ellipsePerimeter;', 246 w * 150, h * 75, '', 'Value', null, null, this.getTagsForStencil(gn, '', dt + 'value').join(' ')), 247 this.createVertexTemplateEntry('shape=cloud;html=1;whiteSpace=wrap;fillColor=#CCCCFF;', 248 w * 150, h * 75, '', 'Meaning', null, null, this.getTagsForStencil(gn, '', dt + 'meaning').join(' ')), 249 this.createVertexTemplateEntry(am2 + 'application;appType=goal;archiType=oct;', 250 w * 150, h * 75, '', 'Goal', null, null, this.getTagsForStencil(gn, '', dt + 'goal').join(' ')), 251 this.createVertexTemplateEntry(am2 + 'application;appType=outcome;archiType=oct;', 252 w * 150, h * 75, '', 'Outcome', null, null, this.getTagsForStencil(gn, '', dt + 'outcome').join(' ')), 253 this.createVertexTemplateEntry(am2 + 'application;appType=principle;archiType=oct;', 254 w * 150, h * 75, '', 'Principle', null, null, this.getTagsForStencil(gn, '', dt + 'principle').join(' ')), 255 this.createVertexTemplateEntry(am2 + 'application;appType=requirement;archiType=oct;', 256 w * 150, h * 75, '', 'Requirement', null, null, this.getTagsForStencil(gn, '', dt + 'requirement').join(' ')), 257 this.createVertexTemplateEntry(am2 + 'requirement;', 258 w * 100, h * 50, '', 'Requirement', null, null, this.getTagsForStencil(gn, '', dt + 'requirement').join(' ')), 259 this.createVertexTemplateEntry(am2 + 'application;appType=constraint;archiType=oct;', 260 w * 150, h * 75, '', 'Constraint', null, null, this.getTagsForStencil(gn, '', dt + 'constraint').join(' ')), 261 this.createVertexTemplateEntry(am2 + 'constraint;', 262 w * 100, h * 50, '', 'Constraint', null, null, this.getTagsForStencil(gn, '', dt + 'constraint').join(' ')) 263 ]; 264 265 this.addPalette('archimate3Motivation', 'Archimate 3.0 / Motivation', false, mxUtils.bind(this, function(content) 266 { 267 for (var i = 0; i < fns.length; i++) 268 { 269 content.appendChild(fns[i](content)); 270 } 271 })); 272 }; 273 274 Sidebar.prototype.addArchimate3PhysicalPalette = function() 275 { 276 var am2 = 'html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#AFFFAF;shape=mxgraph.archimate3.'; 277 278 // Space savers 279 var sb = this; 280 var gn = 'mxgraph.archimate3'; 281 var dt = 'archimate physical element '; 282 283 var w = 1.0; 284 var h = 1.0; 285 286 var fns = 287 [ 288 this.createVertexTemplateEntry(am2 + 'tech;techType=facility;', 289 w * 150, h * 75, '', 'Facility', null, null, this.getTagsForStencil(gn, '', dt + 'facility').join(' ')), 290 this.createVertexTemplateEntry(am2 + 'tech;techType=equipment;', 291 w * 150, h * 75, '', 'Equipment', null, null, this.getTagsForStencil(gn, '', dt + 'equipment').join(' ')), 292 this.createVertexTemplateEntry(am2 + 'application;appType=material;archiType=square;', 293 w * 150, h * 75, '', 'Material', null, null, this.getTagsForStencil(gn, '', dt + 'material').join(' ')), 294 this.createVertexTemplateEntry(am2 + 'application;appType=distribution;archiType=square;', 295 w * 150, h * 75, '', 'Distribution Network', null, null, this.getTagsForStencil(gn, '', dt + 'distribution').join(' ')), 296 this.createVertexTemplateEntry(am2 + 'distribution;', 297 w * 90, h * 40, '', 'Distribution Network', null, null, this.getTagsForStencil(gn, '', dt + 'distribution').join(' ')) 298 ]; 299 300 this.addPalette('archimate3Physical', 'Archimate 3.0 / Physical', false, mxUtils.bind(this, function(content) 301 { 302 for (var i = 0; i < fns.length; i++) 303 { 304 content.appendChild(fns[i](content)); 305 } 306 })); 307 }; 308 309 Sidebar.prototype.addArchimate3RelationshipsPalette = function() 310 { 311 // Space savers 312 var sb = this; 313 var gn = 'mxgraph.archimate3'; 314 var dt = 'archimate relationship '; 315 316 var w = 1.0; 317 var h = 1.0; 318 319 var fns = 320 [ 321 this.createEdgeTemplateEntry('html=1;endArrow=diamondThin;endFill=1;edgeStyle=elbowEdgeStyle;elbow=vertical;endSize=10;', 322 w * 160, 0, '', 'Composition', null, this.getTagsForStencil(gn, '', dt + 'composition').join(' ')), 323 this.createEdgeTemplateEntry('html=1;endArrow=diamondThin;endFill=0;edgeStyle=elbowEdgeStyle;elbow=vertical;endSize=10;', 324 w * 160, 0, '', 'Aggregation', null, this.getTagsForStencil(gn, '', dt + 'aggregation').join(' ')), 325 this.createEdgeTemplateEntry('endArrow=block;html=1;endFill=1;startArrow=oval;startFill=1;edgeStyle=elbowEdgeStyle;elbow=vertical;', 326 w * 160, 0, '', 'Assignment', null, this.getTagsForStencil(gn, '', dt + 'assignment').join(' ')), 327 this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;html=1;endArrow=block;elbow=vertical;endFill=0;dashed=1;', 328 w * 160, 0, '', 'Realization', null, this.getTagsForStencil(gn, '', dt + 'realization').join(' ')), 329 this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;html=1;endArrow=open;elbow=vertical;endFill=1;', 330 w * 160, 0, '', 'Serving', null, this.getTagsForStencil(gn, '', dt + 'serving').join(' ')), 331 this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;html=1;endArrow=none;elbow=vertical;dashed=1;startFill=0;dashPattern=1 4;', 332 w * 160, 0, '', 'Access', null, this.getTagsForStencil(gn, '', dt + 'access').join(' ')), 333 this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;html=1;endArrow=open;elbow=vertical;endFill=0;dashed=1;startArrow=open;startFill=0;dashPattern=1 4;', 334 w * 160, 0, '', 'Access', null, this.getTagsForStencil(gn, '', dt + 'access').join(' ')), 335 this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;html=1;endArrow=open;elbow=vertical;endFill=0;dashed=1;dashPattern=1 4;', 336 w * 160, 0, '', 'Access', null, this.getTagsForStencil(gn, '', dt + 'access').join(' ')), 337 338 this.addEntry('uml influence', function() 339 { 340 var edge = new mxCell('+/-', new mxGeometry(0, 0, 0, 0), 'edgeStyle=elbowEdgeStyle;html=1;endArrow=open;elbow=vertical;endFill=0;dashed=1;dashPattern=6 4;'); 341 edge.geometry.setTerminalPoint(new mxPoint(0, 0), true); 342 edge.geometry.setTerminalPoint(new mxPoint(160, 0), false); 343 edge.geometry.relative = true; 344 edge.geometry.x = 1; 345 edge.geometry.y = 10; 346 edge.edge = true; 347 348 return sb.createEdgeTemplateFromCells([edge], 160, 0, 'Influence'); 349 }), 350 351 this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;html=1;endArrow=block;dashed=0;elbow=vertical;endFill=1;', 352 w * 160, 0, '', 'Triggering', null, this.getTagsForStencil(gn, '', dt + 'triggering').join(' ')), 353 this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;html=1;endArrow=block;dashed=1;elbow=vertical;endFill=1;dashPattern=6 4;', 354 w * 160, 0, '', 'Flow', null, this.getTagsForStencil(gn, '', dt + 'flow').join(' ')), 355 this.createEdgeTemplateEntry('endArrow=block;html=1;endFill=0;edgeStyle=elbowEdgeStyle;elbow=vertical;', 356 w * 160, 0, '', 'Specialization', null, this.getTagsForStencil(gn, '', dt + 'specialization').join(' ')), 357 this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;html=1;endArrow=none;elbow=vertical;', 358 w * 160, 0, '', 'Association', null, this.getTagsForStencil(gn, '', dt + 'association').join(' ')), 359 this.createVertexTemplateEntry('ellipse;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;fillColor=#000000', 360 10, 10, '', 'And Junction', null, this.getTagsForStencil(gn, '', dt + 'junction').join(' ')), 361 this.createVertexTemplateEntry('ellipse;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;fillColor=#ffffff', 362 10, 10, '', 'Or Junction', null, this.getTagsForStencil(gn, '', dt + 'junction').join(' ')) 363 ]; 364 365 this.addPalette('archimate3Relationships', 'Archimate 3.0 / Relationships', false, mxUtils.bind(this, function(content) 366 { 367 for (var i = 0; i < fns.length; i++) 368 { 369 content.appendChild(fns[i](content)); 370 } 371 })); 372 }; 373 374 Sidebar.prototype.addArchimate3StrategyPalette = function() 375 { 376 var am2 = 'html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#F5DEAA;shape=mxgraph.archimate3.'; 377 378 // Space savers 379 var sb = this; 380 var gn = 'mxgraph.archimate3'; 381 var dt = 'archimate strategy '; 382 383 var w = 1.0; 384 var h = 1.0; 385 386 var fns = 387 [ 388 this.createVertexTemplateEntry(am2 + 'application;appType=resource;archiType=square;', 389 w * 150, h * 75, '', 'Resource', null, null, this.getTagsForStencil(gn, '', dt + 'resource').join(' ')), 390 this.createVertexTemplateEntry(am2 + 'application;appType=capability;archiType=rounded;', 391 w * 150, h * 75, '', 'Capability', null, null, this.getTagsForStencil(gn, '', dt + 'capability').join(' ')), 392 this.createVertexTemplateEntry(am2 + 'application;appType=course;archiType=rounded;', 393 w * 150, h * 75, '', 'Course of Action', null, null, this.getTagsForStencil(gn, '', dt + 'course action').join(' ')) 394 ]; 395 396 this.addPalette('archimate3Strategy', 'Archimate 3.0 / Strategy', false, mxUtils.bind(this, function(content) 397 { 398 for (var i = 0; i < fns.length; i++) 399 { 400 content.appendChild(fns[i](content)); 401 } 402 })); 403 }; 404 405 Sidebar.prototype.addArchimate3TechnologyPalette = function() 406 { 407 var am2 = 'html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#AFFFAF;shape=mxgraph.archimate3.'; 408 409 // Space savers 410 var sb = this; 411 var gn = 'mxgraph.archimate3'; 412 var dt = 'archimate technology '; 413 414 var w = 1.0; 415 var h = 1.0; 416 417 var fns = 418 [ 419 this.createVertexTemplateEntry(am2 + 'application;appType=node;archiType=square;', 420 w * 150, h * 75, '', 'Node', null, null, this.getTagsForStencil(gn, '', dt + 'node').join(' ')), 421 this.createVertexTemplateEntry(am2 + 'node;', 422 w * 100, h * 60, '', 'Node', null, null, this.getTagsForStencil(gn, '', dt + 'node').join(' ')), 423 this.createVertexTemplateEntry(am2 + 'tech;techType=device;', 424 w * 150, h * 75, '', 'Device', null, null, this.getTagsForStencil(gn, '', dt + 'device').join(' ')), 425 this.createVertexTemplateEntry(am2 + 'device;', 426 w * 80, h * 65, '', 'Device', null, null, this.getTagsForStencil(gn, '', dt + 'device').join(' ')), 427 this.createVertexTemplateEntry(am2 + 'application;appType=sysSw;archiType=square;', 428 w * 150, h * 75, '', 'System Software', null, null, this.getTagsForStencil(gn, '', dt + 'system software').join(' ')), 429 this.createVertexTemplateEntry(am2 + 'tech;techType=sysSw;', 430 w * 120, h * 75, '', 'System Software', null, null, this.getTagsForStencil(gn, '', dt + 'system software').join(' ')), 431 this.createVertexTemplateEntry(am2 + 'application;appType=collab;archiType=square;', 432 w * 150, h * 75, '', 'Technology Collaboration', null, null, this.getTagsForStencil(gn, '', dt + 'collaboration').join(' ')), 433 this.createVertexTemplateEntry(am2 + 'collaboration;', 434 w * 60, h * 35, '', 'Collaboration', null, null, this.getTagsForStencil(gn, '', dt + 'collaboration').join(' ')), 435 this.createVertexTemplateEntry(am2 + 'application;appType=interface;archiType=square;', 436 w * 150, h * 75, '', 'Technology Interface', null, null, this.getTagsForStencil(gn, '', dt + 'component').join(' ')), 437 this.createVertexTemplateEntry(am2 + 'interface;', 438 w * 70, h * 35, '', 'Interface', null, null, this.getTagsForStencil(gn, '', dt + 'interface').join(' ')), 439 this.createVertexTemplateEntry(am2 + 'application;appType=proc;archiType=rounded;', 440 w * 150, h * 75, '', 'Technology Process', null, null, this.getTagsForStencil(gn, '', dt + 'process').join(' ')), 441 this.createVertexTemplateEntry(am2 + 'process;', 442 w * 150, h * 75, '', 'Process', null, null, this.getTagsForStencil(gn, '', dt + 'process').join(' ')), 443 this.createVertexTemplateEntry(am2 + 'application;appType=func;archiType=rounded;', 444 w * 150, h * 75, '', 'Technology Function', null, null, this.getTagsForStencil(gn, '', dt + 'function').join(' ')), 445 this.createVertexTemplateEntry(am2 + 'function;', 446 w * 75, h * 75, '', 'Function', null, null, this.getTagsForStencil(gn, '', dt + 'function').join(' ')), 447 this.createVertexTemplateEntry(am2 + 'application;appType=interaction;archiType=rounded;', 448 w * 150, h * 75, '', 'Technology Interaction', null, null, this.getTagsForStencil(gn, '', dt + 'interaction').join(' ')), 449 this.createVertexTemplateEntry(am2 + 'interaction;', 450 w * 75, h * 75, '', 'Interaction', null, null, this.getTagsForStencil(gn, '', dt + 'interaction').join(' ')), 451 this.createVertexTemplateEntry(am2 + 'application;appType=serv;archiType=rounded', 452 w * 150, h * 75, '', 'Technology Service', null, null, this.getTagsForStencil(gn, '', dt + 'service').join(' ')), 453 this.createVertexTemplateEntry(am2 + 'service;', 454 w * 60, h * 35, '', 'Service', null, null, this.getTagsForStencil(gn, '', dt + 'service').join(' ')), 455 this.createVertexTemplateEntry(am2 + 'application;appType=event;archiType=rounded', 456 w * 150, h * 75, '', 'Technology Event', null, null, this.getTagsForStencil(gn, '', dt + 'event').join(' ')), 457 this.createVertexTemplateEntry(am2 + 'event;', 458 w * 60, h * 35, '', 'Event', null, null, this.getTagsForStencil(gn, '', dt + 'event').join(' ')), 459 this.createVertexTemplateEntry(am2 + 'application;appType=artifact;archiType=square;', 460 w * 150, h * 75, '', 'Technology Artifact', null, null, this.getTagsForStencil(gn, '', dt + 'artifact').join(' ')), 461 this.createVertexTemplateEntry(am2 + 'artifact;', 462 w * 50, h * 75, '', 'Artifact', null, null, this.getTagsForStencil(gn, '', dt + 'artifact').join(' ')), 463 this.createVertexTemplateEntry(am2 + 'application;appType=netw;archiType=square;', 464 w * 150, h * 75, '', 'Communication Network', null, null, this.getTagsForStencil(gn, '', dt + 'communication network').join(' ')), 465 this.createVertexTemplateEntry(am2 + 'commNetw;strokeWidth=6;', 466 w * 100, h * 30, '', 'Communication Network', null, null, this.getTagsForStencil(gn, '', dt + 'communication network').join(' ')), 467 this.createVertexTemplateEntry(am2 + 'application;appType=path;archiType=square;', 468 w * 150, h * 75, '', 'Path', null, null, this.getTagsForStencil(gn, '', dt + 'communication network').join(' ')), 469 this.createVertexTemplateEntry(am2 + 'path;strokeWidth=6;', 470 w * 100, h * 30, '', 'Path', null, null, this.getTagsForStencil(gn, '', dt + 'path').join(' ')) 471 ]; 472 473 this.addPalette('archimate3Technology', 'Archimate 3.0 / Technology', false, mxUtils.bind(this, function(content) 474 { 475 for (var i = 0; i < fns.length; i++) 476 { 477 content.appendChild(fns[i](content)); 478 } 479 })); 480 }; 481})(); 482