Sidebar-ArchiMate3.js 27 KB

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