Sidebar-Veeam2.js 70 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938
  1. (function()
  2. {
  3. Sidebar.prototype.addVeeam2Palette = function()
  4. {
  5. this.setCurrentSearchEntryLibrary('veeam2', 'veeam2Auxiliary');
  6. this.addVeeam2AuxiliaryPalette();
  7. this.setCurrentSearchEntryLibrary('veeam2', 'veeam2Data Center');
  8. this.addVeeam2DataCenterPalette();
  9. this.setCurrentSearchEntryLibrary('veeam2', 'veeam2Features');
  10. this.addVeeam2FeaturesPalette();
  11. this.setCurrentSearchEntryLibrary('veeam2', 'veeam2General');
  12. this.addVeeam2GeneralPalette();
  13. this.setCurrentSearchEntryLibrary('veeam2', 'veeam2Products and Components');
  14. this.addVeeam2ProductsComponentsPalette();
  15. this.setCurrentSearchEntryLibrary('veeam2', 'veeam2Software');
  16. this.addVeeam2SoftwarePalette();
  17. this.setCurrentSearchEntryLibrary('veeam2', 'veeam2States');
  18. this.addVeeam2StatesPalette();
  19. this.setCurrentSearchEntryLibrary('veeam2', 'veeam2Storage');
  20. this.addVeeam2StoragePalette();
  21. this.setCurrentSearchEntryLibrary('veeam2', 'veeam23D');
  22. this.addVeeam23DPalette();
  23. this.setCurrentSearchEntryLibrary();
  24. };
  25. Sidebar.prototype.addVeeam2AuxiliaryPalette = function()
  26. {
  27. // Space savers
  28. var sb = this;
  29. var gn = 'mxgraph.veeam2';
  30. var dt = 'veeam vmware virtual machine auxiliary';
  31. var w = 100;
  32. var h = 100;
  33. var fns =
  34. [
  35. this.createVertexTemplateEntry('pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#13B24B;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam2.veeam_logo;',
  36. w * 1.36, h * 0.24, '', 'Veeam logo', null, null, this.getTagsForStencil(gn, 'logo', dt).join(' ')),
  37. this.createVertexTemplateEntry('align=left;verticalAlign=middle;fontFamily=Tahoma;strokeColor=#ECECEC;strokeWidth=2;html=1;whiteSpace=wrap;spacing=6;fontStyle=0',
  38. w * 1.5, h * 1.1, 'Please use Tahome font family, not less than 9 pt\n\nABCDEFGHIJKLM\nabcdefghijklm\n0123456789', 'Font', null, null, this.getTagsForStencil(gn, 'font', dt).join(' ')),
  39. this.createVertexTemplateEntry('align=left;verticalAlign=middle;fontFamily=Tahoma;fillColor=#005f4b;strokeColor=none;fontColor=#ffffff;strokeWidth=2;html=1;whiteSpace=wrap;spacing=6;fontStyle=0',
  40. w * 1.5, h * 1.1, 'Veeam Sapphire\n\nR: 0\nG: 95\nB: 75\n\n #005f4b', 'Veeam Sapphire', null, null, this.getTagsForStencil(gn, 'sapphite', dt).join(' ')),
  41. this.createVertexTemplateEntry('align=left;verticalAlign=middle;fontFamily=Tahoma;fillColor=#df8c42;strokeColor=none;fontColor=#ffffff;strokeWidth=2;html=1;whiteSpace=wrap;spacing=6;fontStyle=0',
  42. w * 1.5, h * 1.1, 'Orange\n\nR: 223\nG: 140\nB: 66\n\n #df8c42', 'Veeam Sapphire', null, null, this.getTagsForStencil(gn, 'orange', dt).join(' ')),
  43. this.createVertexTemplateEntry('align=left;verticalAlign=middle;fontFamily=Tahoma;fillColor=#d9d9d9;strokeColor=none;fontColor=#ffffff;strokeWidth=2;html=1;whiteSpace=wrap;spacing=6;fontStyle=0',
  44. w * 1.5, h * 1.1, 'Grey 2\n\nR: 217\nG: 217\nB: 217\n\n #d9d9d9', 'Grey 2', null, null, this.getTagsForStencil(gn, 'grey', dt).join(' ')),
  45. this.createVertexTemplateEntry('triangle;whiteSpace=wrap;html=1;gradientColor=#D3D3D3;strokeColor=none;gradientDirection=east;',
  46. w * 0.4, h * 1.6, '', 'Inclusion', null, null, this.getTagsForStencil(gn, 'inclusion', dt).join(' ')),
  47. this.createVertexTemplateEntry('rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#d3d3d3;strokeWidth=2;',
  48. w * 1.5, h * 1.1, '', 'Frame (grey 2)', null, null, this.getTagsForStencil(gn, 'grey frame', dt).join(' ')),
  49. this.createVertexTemplateEntry('rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#00B336;strokeWidth=2;',
  50. w * 1.5, h * 1.1, '', 'Frame (topaz)', null, null, this.getTagsForStencil(gn, 'topaz frame', dt).join(' ')),
  51. this.createEdgeTemplateEntry('edgeStyle=none;rounded=0;html=1;entryX=0;entryY=0.5;jettySize=auto;orthogonalLoop=1;strokeColor=#00B336;strokeWidth=2;fontColor=#000000;jumpStyle=none;endArrow=block;endFill=1;startArrow=block;startFill=1;', w, 0,
  52. '', 'Connector (topaz)', null, dt + 'connector topaz'),
  53. this.createEdgeTemplateEntry('edgeStyle=none;rounded=0;html=1;entryX=0;entryY=0.5;jettySize=auto;orthogonalLoop=1;strokeColor=#404040;strokeWidth=2;fontColor=#000000;jumpStyle=none;endArrow=block;endFill=1;startArrow=block;startFill=1;', w, 0,
  54. '', 'Connector (grey 3)', null, dt + 'connector grey'),
  55. this.createEdgeTemplateEntry('edgeStyle=none;rounded=0;html=1;entryX=0;entryY=0.5;jettySize=auto;orthogonalLoop=1;strokeColor=#D9D9D9;strokeWidth=2;fontColor=#000000;jumpStyle=none;endArrow=oval;endFill=1;startArrow=oval;startFill=1;', w, 0,
  56. '', 'Connector (grey 2)', null, dt + 'connector grey'),
  57. this.createEdgeTemplateEntry('edgeStyle=none;rounded=0;html=1;entryX=0;entryY=0.5;jettySize=auto;orthogonalLoop=1;strokeColor=#00B336;strokeWidth=2;fontColor=#000000;jumpStyle=none;endArrow=oval;endFill=1;startArrow=oval;startFill=1;', w, 0,
  58. '', 'Connector #2 (topaz)', null, dt + 'connector topaz'),
  59. this.createEdgeTemplateEntry('edgeStyle=none;rounded=0;html=1;entryX=0;entryY=0.5;jettySize=auto;orthogonalLoop=1;strokeColor=#404040;strokeWidth=2;fontColor=#000000;jumpStyle=none;endArrow=block;endFill=1;startArrow=none;', w, 0,
  60. '', 'Arrow (grey 3)', null, dt + 'arrow grey'),
  61. this.createEdgeTemplateEntry('edgeStyle=none;rounded=0;html=1;entryX=0;entryY=0.5;jettySize=auto;orthogonalLoop=1;strokeColor=#00B336;strokeWidth=2;fontColor=#000000;jumpStyle=none;endArrow=block;endFill=1;startArrow=none;', w, 0,
  62. '', 'Arrow (topaz)', null, dt + 'arrow topaz'),
  63. this.createEdgeTemplateEntry('edgeStyle=none;rounded=0;html=1;entryX=0;entryY=0.5;jettySize=auto;orthogonalLoop=1;strokeColor=#00B336;strokeWidth=2;fontColor=#000000;jumpStyle=none;endArrow=none;endFill=0;startArrow=none;dashed=1;', w, 0,
  64. '', 'Dotted line (topaz)', null, dt + 'dotted line topaz'),
  65. this.createEdgeTemplateEntry('edgeStyle=none;rounded=0;html=1;entryX=0;entryY=0.5;jettySize=auto;orthogonalLoop=1;strokeColor=#404040;strokeWidth=2;fontColor=#000000;jumpStyle=none;endArrow=none;endFill=0;startArrow=none;dashed=1;', w, 0,
  66. '', 'Dotted line (grey 3)', null, dt + 'dotted line grey'),
  67. this.createVertexTemplateEntry('ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;fontFamily=Tahoma;spacingBottom=4;spacingRight=2;strokeColor=#d3d3d3;',
  68. w * 0.2, h * 0.2, '1', 'Number one', null, null, this.getTagsForStencil(gn, 'number one', dt).join(' ')),
  69. this.createVertexTemplateEntry('ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;fontFamily=Tahoma;spacingBottom=4;spacingRight=2;strokeColor=#d3d3d3;',
  70. w * 0.2, h * 0.2, '2', 'Number two', null, null, this.getTagsForStencil(gn, 'number two', dt).join(' ')),
  71. this.createVertexTemplateEntry('ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;fontFamily=Tahoma;spacingBottom=4;spacingRight=2;strokeColor=#d3d3d3;',
  72. w * 0.2, h * 0.2, '3', 'Number three', null, null, this.getTagsForStencil(gn, 'number three', dt).join(' ')),
  73. this.createVertexTemplateEntry('ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;fontFamily=Tahoma;spacingBottom=4;spacingRight=2;strokeColor=#d3d3d3;',
  74. w * 0.2, h * 0.2, '4', 'Number four', null, null, this.getTagsForStencil(gn, 'number four', dt).join(' ')),
  75. this.createVertexTemplateEntry('ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;fontFamily=Tahoma;spacingBottom=4;spacingRight=2;strokeColor=#d3d3d3;',
  76. w * 0.2, h * 0.2, '5', 'Number five', null, null, this.getTagsForStencil(gn, 'number five', dt).join(' ')),
  77. this.createVertexTemplateEntry('ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;fontFamily=Tahoma;spacingBottom=4;spacingRight=2;strokeColor=#d3d3d3;',
  78. w * 0.2, h * 0.2, '6', 'Number six', null, null, this.getTagsForStencil(gn, 'number six', dt).join(' ')),
  79. this.createVertexTemplateEntry('ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;fontFamily=Tahoma;spacingBottom=4;spacingRight=2;strokeColor=#d3d3d3;',
  80. w * 0.2, h * 0.2, '7', 'Number seven', null, null, this.getTagsForStencil(gn, 'number seven', dt).join(' ')),
  81. this.createVertexTemplateEntry('ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;fontFamily=Tahoma;spacingBottom=4;spacingRight=2;strokeColor=#d3d3d3;',
  82. w * 0.2, h * 0.2, '8', 'Number eight', null, null, this.getTagsForStencil(gn, 'number eight', dt).join(' ')),
  83. this.createVertexTemplateEntry('ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=2;fontFamily=Tahoma;spacingBottom=4;spacingRight=2;strokeColor=#d3d3d3;',
  84. w * 0.2, h * 0.2, '9', 'Number nine', null, null, this.getTagsForStencil(gn, 'number nine', dt).join(' '))
  85. ];
  86. this.addPalette('veeam2Auxiliary', 'Veeam / Auxiliary', false, mxUtils.bind(this, function(content)
  87. {
  88. for (var i = 0; i < fns.length; i++)
  89. {
  90. content.appendChild(fns[i](content));
  91. }
  92. }));
  93. };
  94. Sidebar.prototype.addVeeam2DataCenterPalette = function()
  95. {
  96. var s = 'sketch=0;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#005F4B;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam2.';
  97. var s2 = 'sketch=0;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#DF8C42;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam2.';
  98. // Space savers
  99. var sb = this;
  100. var gn = 'mxgraph.veeam2';
  101. var dt = 'veeam vm vmware virtual machine data center';
  102. var w = 100;
  103. var h = 100;
  104. var fns =
  105. [
  106. this.createVertexTemplateEntry(s + 'datacenter;',
  107. w * 0.83, h * 0.53, '', 'Datacenter', null, null, this.getTagsForStencil(gn, 'datacenter', dt).join(' ')),
  108. this.createVertexTemplateEntry(s + 'cloud;',
  109. w * 0.4, h * 0.25, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')),
  110. this.createVertexTemplateEntry(s2 + 'azure;',
  111. w * 0.34, h * 0.34, '', 'Azure', null, null, this.getTagsForStencil(gn, 'azure', dt).join(' ')),
  112. this.createVertexTemplateEntry(s2 + 'aws;',
  113. w * 0.34, h * 0.34, '', 'AWS', null, null, this.getTagsForStencil(gn, 'aws', dt).join(' ')),
  114. this.createVertexTemplateEntry(s + 'server;',
  115. w * 0.23, h * 0.39, '', 'Server', null, null, this.getTagsForStencil(gn, 'server', dt).join(' ')),
  116. this.createVertexTemplateEntry(s + 'server_cluster;',
  117. w * 0.56, h * 0.28, '', 'Server Cluster', null, null, this.getTagsForStencil(gn, 'server cluster', dt).join(' ')),
  118. this.createVertexTemplateEntry(s + '1u_server;',
  119. w * 0.4, h * 0.11, '', '1U Server', null, null, this.getTagsForStencil(gn, '1u one unit server', dt).join(' ')),
  120. this.createVertexTemplateEntry(s + 'server_stack;',
  121. w * 0.4, h * 0.4, '', 'Server Stack', null, null, this.getTagsForStencil(gn, 'server stack', dt).join(' ')),
  122. this.createVertexTemplateEntry(s + 'monitor;',
  123. w * 0.51, h * 0.4, '', 'Monitor', null, null, this.getTagsForStencil(gn, 'monitor', dt).join(' ')),
  124. this.createVertexTemplateEntry(s + 'laptop;',
  125. w * 0.48, h * 0.28, '', 'Laptop', null, null, this.getTagsForStencil(gn, 'laptop', dt).join(' ')),
  126. this.createVertexTemplateEntry(s + 'workstation;',
  127. w * 0.38, h * 0.28, '', 'Workstation', null, null, this.getTagsForStencil(gn, 'workstation', dt).join(' ')),
  128. this.createVertexTemplateEntry(s + 'virtual_host;',
  129. w * 0.82, h * 0.79, '', 'Virtual Host', null, null, this.getTagsForStencil(gn, 'virtual host', dt).join(' ')),
  130. this.createVertexTemplateEntry(s + 'esxi_host;',
  131. w * 0.82, h * 0.79, '', 'ESXi Host', null, null, this.getTagsForStencil(gn, 'esxi host', dt).join(' ')),
  132. this.createVertexTemplateEntry(s + 'hyper_v_host;',
  133. w * 0.82, h * 0.79, '', 'Hyper-V Host', null, null, this.getTagsForStencil(gn, 'hyper hyperv host', dt).join(' ')),
  134. this.createVertexTemplateEntry(s + 'ahv_host;',
  135. w * 0.82, h * 0.79, '', 'AHV Host', null, null, this.getTagsForStencil(gn, 'ahv host', dt).join(' ')),
  136. this.createVertexTemplateEntry(s + 'esxi_hyper_v_ahv_host;',
  137. w * 0.82, h * 0.79, '', 'ESXi/Hyper-V/AHV Host', null, null, this.getTagsForStencil(gn, 'esxi hyper hyperv ahv host', dt).join(' ')),
  138. this.createVertexTemplateEntry(s + 'esxi_hyper_v_host;',
  139. w * 0.82, h * 0.79, '', 'ESXi/Hyper-V Host', null, null, this.getTagsForStencil(gn, 'esxi hyper hyperv host', dt).join(' ')),
  140. this.createVertexTemplateEntry(s + 'cpu;',
  141. w * 0.28, h * 0.28, '', 'CPU', null, null, this.getTagsForStencil(gn, 'cpu central processing unit', dt).join(' ')),
  142. this.createVertexTemplateEntry(s + 'cpu_socket;',
  143. w * 0.28, h * 0.28, '', 'CPU Socket', null, null, this.getTagsForStencil(gn, 'cpu socket central processing unit', dt).join(' ')),
  144. this.createVertexTemplateEntry(s + 'ram;',
  145. w * 0.4, h * 0.19, '', 'RAM', null, null, this.getTagsForStencil(gn, 'ram random access memory', dt).join(' ')),
  146. this.createVertexTemplateEntry(s + 'hdd;',
  147. w * 0.28, h * 0.35, '', 'HDD', null, null, this.getTagsForStencil(gn, 'hdd hard disk drive', dt).join(' ')),
  148. this.createVertexTemplateEntry(s + 'network_card;',
  149. w * 0.38, h * 0.27, '', 'Network Card', null, null, this.getTagsForStencil(gn, 'network card', dt).join(' ')),
  150. this.createVertexTemplateEntry(s + 'hardware_controller;',
  151. w * 0.38, h * 0.28, '', 'Hardware Controller', null, null, this.getTagsForStencil(gn, 'hardware controller', dt).join(' ')),
  152. this.createVertexTemplateEntry(s + 'physical_switch;',
  153. w * 0.53, h * 0.15, '', 'Physical Switch', null, null, this.getTagsForStencil(gn, 'physical switch', dt).join(' ')),
  154. this.createVertexTemplateEntry(s + 'vmware_vswitch;',
  155. w * 0.4, h * 0.11, '', 'VMware vSwitch', null, null, this.getTagsForStencil(gn, 'vswitch', dt).join(' ')),
  156. this.createVertexTemplateEntry(s + 'usb_drive;',
  157. w * 0.4, h * 0.17, '', 'USB Drive', null, null, this.getTagsForStencil(gn, 'usb drive', dt).join(' ')),
  158. this.createVertexTemplateEntry(s + 'sd_card;',
  159. w * 0.23, h * 0.28, '', 'SD Card', null, null, this.getTagsForStencil(gn, 'sd card', dt).join(' ')),
  160. this.createVertexTemplateEntry(s + 'virtual_machine;',
  161. w * 0.28, h * 0.28, '', 'Virtual Machine', null, null, this.getTagsForStencil(gn, '', dt).join(' ')),
  162. this.createVertexTemplateEntry(s + 'vm_snapshot;',
  163. w * 0.38, h * 0.38, '', 'VM Snapshot', null, null, this.getTagsForStencil(gn, 'vnapshot', dt).join(' ')),
  164. this.createVertexTemplateEntry(s + 'vm_with_a_snapshot;',
  165. w * 0.42, h * 0.42, '', 'VM with a Snapshot', null, null, this.getTagsForStencil(gn, 'with vnapshot', dt).join(' ')),
  166. this.createVertexTemplateEntry(s + 'vm_checked;',
  167. w * 0.36, h * 0.36, '', 'VM Checked', null, null, this.getTagsForStencil(gn, 'checked', dt).join(' ')),
  168. this.createVertexTemplateEntry(s + 'vm_failed;',
  169. w * 0.36, h * 0.36, '', 'VM Failed', null, null, this.getTagsForStencil(gn, 'failed', dt).join(' ')),
  170. this.createVertexTemplateEntry(s + 'vm_turn_on_off;',
  171. w * 0.36, h * 0.36, '', 'VM turn on/off', null, null, this.getTagsForStencil(gn, 'turn on off', dt).join(' ')),
  172. this.createVertexTemplateEntry(s + 'vm_paused_saved_state;',
  173. w * 0.36, h * 0.36, '', 'VM paused/saved state', null, null, this.getTagsForStencil(gn, 'paused saved state', dt).join(' ')),
  174. this.createVertexTemplateEntry(s + 'vm_locked;',
  175. w * 0.36, h * 0.36, '', 'VM locked', null, null, this.getTagsForStencil(gn, 'locked', dt).join(' ')),
  176. this.createVertexTemplateEntry(s + 'vm_running;',
  177. w * 0.36, h * 0.36, '', 'VM running', null, null, this.getTagsForStencil(gn, 'running', dt).join(' ')),
  178. this.createVertexTemplateEntry(s + 'linux_vm;',
  179. w * 0.36, h * 0.36, '', 'Linux VM', null, null, this.getTagsForStencil(gn, 'linux', dt).join(' ')),
  180. this.createVertexTemplateEntry(s + 'windows_vm;',
  181. w * 0.36, h * 0.36, '', 'Windows VM', null, null, this.getTagsForStencil(gn, 'windows', dt).join(' ')),
  182. this.createVertexTemplateEntry(s + 'vapp;',
  183. w * 0.28, h * 0.28, '', 'vApp', null, null, this.getTagsForStencil(gn, 'vapp', dt).join(' ')),
  184. this.createVertexTemplateEntry(s + 'vapp_running;',
  185. w * 0.36, h * 0.36, '', 'vApp Running', null, null, this.getTagsForStencil(gn, 'vapp running', dt).join(' '))
  186. ];
  187. this.addPalette('veeam2Data Center', 'Veeam / Data Center', false, mxUtils.bind(this, function(content)
  188. {
  189. for (var i = 0; i < fns.length; i++)
  190. {
  191. content.appendChild(fns[i](content));
  192. }
  193. }));
  194. };
  195. Sidebar.prototype.addVeeam2FeaturesPalette = function()
  196. {
  197. var s2 = 'sketch=0;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#DF8C42;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam2.';
  198. // Space savers
  199. var sb = this;
  200. var gn = 'mxgraph.veeam2';
  201. var dt = 'veeam vm vmware virtual machine features';
  202. var w = 100;
  203. var h = 100;
  204. var fns =
  205. [
  206. this.createVertexTemplateEntry('pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#13B24B;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam2.veeam_logo;',
  207. w * 1.36, h * 0.24, '', 'Veeam logo', null, null, this.getTagsForStencil(gn, 'logo', dt).join(' ')),
  208. this.createVertexTemplateEntry(s2 + 'backup_from_storage_snapshots;',
  209. w * 0.34, h * 0.34, '', 'Backup from Storage Snapshots', null, null, this.getTagsForStencil(gn, 'backup from storage snapshots', dt).join(' ')),
  210. this.createVertexTemplateEntry(s2 + 'cdp;',
  211. w * 0.34, h * 0.34, '', 'CDP', null, null, this.getTagsForStencil(gn, 'cdp', dt).join(' ')),
  212. this.createVertexTemplateEntry(s2 + 'datalabs;',
  213. w * 0.34, h * 0.34, '', 'Datalabs', null, null, this.getTagsForStencil(gn, 'datalabs', dt).join(' ')),
  214. this.createVertexTemplateEntry(s2 + 'failover;',
  215. w * 0.34, h * 0.34, '', 'Failover', null, null, this.getTagsForStencil(gn, 'failover', dt).join(' ')),
  216. this.createVertexTemplateEntry(s2 + 'instant_vm_recovery;',
  217. w * 0.34, h * 0.34, '', 'Instant VM recovery', null, null, this.getTagsForStencil(gn, 'instant recovery', dt).join(' ')),
  218. this.createVertexTemplateEntry(s2 + 'nas_backup;',
  219. w * 0.34, h * 0.34, '', 'NAS Backup', null, null, this.getTagsForStencil(gn, 'nas backup', dt).join(' ')),
  220. this.createVertexTemplateEntry(s2 + 'object_storage_support;',
  221. w * 0.34, h * 0.34, '', 'Object Storage Support', null, null, this.getTagsForStencil(gn, 'object storage support', dt).join(' ')),
  222. this.createVertexTemplateEntry(s2 + 'on_demand_sandbox;',
  223. w * 0.34, h * 0.34, '', 'On-demand Sandbox', null, null, this.getTagsForStencil(gn, 'on demand sandbox', dt).join(' ')),
  224. this.createVertexTemplateEntry(s2 + 'restful_api;',
  225. w * 0.34, h * 0.34, '', 'RESTful API', null, null, this.getTagsForStencil(gn, 'restful api application programming interface', dt).join(' ')),
  226. this.createVertexTemplateEntry(s2 + 'scale_out_backup_repository2;',
  227. w * 0.34, h * 0.34, '', 'Scale-out Backup Repository', null, null, this.getTagsForStencil(gn, 'scale out backup repository', dt).join(' ')),
  228. this.createVertexTemplateEntry(s2 + 'scheduled_backups;',
  229. w * 0.34, h * 0.34, '', 'Scheduled Backups', null, null, this.getTagsForStencil(gn, 'scheduled backups', dt).join(' ')),
  230. this.createVertexTemplateEntry(s2 + 'surebackup;',
  231. w * 0.34, h * 0.34, '', 'SureBackup', null, null, this.getTagsForStencil(gn, 'surebackup', dt).join(' ')),
  232. this.createVertexTemplateEntry(s2 + 'surereplica;',
  233. w * 0.34, h * 0.34, '', 'SureReplica', null, null, this.getTagsForStencil(gn, 'surereplica', dt).join(' ')),
  234. this.createVertexTemplateEntry(s2 + 'vbr_console;',
  235. w * 0.34, h * 0.34, '', 'VBR console', null, null, this.getTagsForStencil(gn, 'vbr console', dt).join(' ')),
  236. this.createVertexTemplateEntry(s2 + 'veeam_cloud_connect;',
  237. w * 0.34, h * 0.34, '', 'Veeam Cloud Connect', null, null, this.getTagsForStencil(gn, 'cloud connect', dt).join(' ')),
  238. this.createVertexTemplateEntry(s2 + 'veeam_cloud_mobility;',
  239. w * 0.34, h * 0.34, '', 'Veeam Cloud Mobility', null, null, this.getTagsForStencil(gn, 'cloud mobility', dt).join(' ')),
  240. this.createVertexTemplateEntry(s2 + 'veeamzip;',
  241. w * 0.34, h * 0.34, '', 'VeeamZIP', null, null, this.getTagsForStencil(gn, 'veeamzip zip', dt).join(' ')),
  242. this.createVertexTemplateEntry(s2 + 'veeam_explorers;',
  243. w * 0.34, h * 0.34, '', 'Veeam Explorers', null, null, this.getTagsForStencil(gn, 'veeam explorers', dt).join(' ')),
  244. this.createVertexTemplateEntry(s2 + 'universal_storage_api;',
  245. w * 0.34, h * 0.34, '', 'Universal Storage API', null, null, this.getTagsForStencil(gn, 'universal storage api application programming interface', dt).join(' '))
  246. ];
  247. this.addPalette('veeam2Features', 'Veeam / Features', false, mxUtils.bind(this, function(content)
  248. {
  249. for (var i = 0; i < fns.length; i++)
  250. {
  251. content.appendChild(fns[i](content));
  252. }
  253. }));
  254. };
  255. Sidebar.prototype.addVeeam2GeneralPalette = function()
  256. {
  257. var s = 'sketch=0;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#005F4B;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam2.';
  258. // Space savers
  259. var sb = this;
  260. var gn = 'mxgraph.veeam2';
  261. var dt = 'veeam vm vmware virtual machine general';
  262. var w = 100;
  263. var h = 100;
  264. var fns =
  265. [
  266. this.createVertexTemplateEntry(s + 'enterprise_business;',
  267. w * 0.38, h * 0.33, '', 'Enterprise (business)', null, null, this.getTagsForStencil(gn, 'enterprise business', dt).join(' ')),
  268. this.createVertexTemplateEntry(s + 'smb_business;',
  269. w * 0.38, h * 0.27, '', 'SMB (business)', null, null, this.getTagsForStencil(gn, 'smb business', dt).join(' ')),
  270. this.createVertexTemplateEntry(s + 'automation;',
  271. w * 0.28, h * 0.28, '', 'Automation', null, null, this.getTagsForStencil(gn, 'automation', dt).join(' ')),
  272. this.createVertexTemplateEntry(s + 'service_application;',
  273. w * 0.28, h * 0.28, '', 'Service Application', null, null, this.getTagsForStencil(gn, 'service application', dt).join(' ')),
  274. this.createVertexTemplateEntry(s + 'cloud;',
  275. w * 0.4, h * 0.25, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')),
  276. this.createVertexTemplateEntry(s + 'database;',
  277. w * 0.23, h * 0.28, '', 'Database', null, null, this.getTagsForStencil(gn, 'database', dt).join(' ')),
  278. this.createVertexTemplateEntry(s + 'report;',
  279. w * 0.28, h * 0.39, '', 'Report', null, null, this.getTagsForStencil(gn, 'report', dt).join(' ')),
  280. this.createVertexTemplateEntry(s + 'task_list;',
  281. w * 0.28, h * 0.39, '', 'Task List', null, null, this.getTagsForStencil(gn, 'task list', dt).join(' ')),
  282. this.createVertexTemplateEntry(s + 'dr_plan;',
  283. w * 0.28, h * 0.42, '', 'DR Plan', null, null, this.getTagsForStencil(gn, 'dr plan', dt).join(' ')),
  284. this.createVertexTemplateEntry(s + 'folder;',
  285. w * 0.28, h * 0.24, '', 'Folder', null, null, this.getTagsForStencil(gn, 'folder', dt).join(' ')),
  286. this.createVertexTemplateEntry(s + 'file;',
  287. w * 0.28, h * 0.39, '', 'File', null, null, this.getTagsForStencil(gn, 'file', dt).join(' ')),
  288. this.createVertexTemplateEntry(s + 'audio_file;',
  289. w * 0.28, h * 0.39, '', 'Audio File', null, null, this.getTagsForStencil(gn, 'audio file', dt).join(' ')),
  290. this.createVertexTemplateEntry(s + 'data_file;',
  291. w * 0.28, h * 0.39, '', 'Data File', null, null, this.getTagsForStencil(gn, 'data file', dt).join(' ')),
  292. this.createVertexTemplateEntry(s + 'iso_file;',
  293. w * 0.28, h * 0.39, '', 'ISO File', null, null, this.getTagsForStencil(gn, 'iso file', dt).join(' ')),
  294. this.createVertexTemplateEntry(s + 'metadata_file;',
  295. w * 0.28, h * 0.39, '', 'Metadata File', null, null, this.getTagsForStencil(gn, 'metadata file', dt).join(' ')),
  296. this.createVertexTemplateEntry(s + 'license_file;',
  297. w * 0.28, h * 0.39, '', 'License File', null, null, this.getTagsForStencil(gn, 'license file', dt).join(' ')),
  298. this.createVertexTemplateEntry(s + 'video_file;',
  299. w * 0.28, h * 0.39, '', 'Video File', null, null, this.getTagsForStencil(gn, 'video file', dt).join(' ')),
  300. this.createVertexTemplateEntry(s + 'alarm;',
  301. w * 0.28, h * 0.28, '', 'Alarm', null, null, this.getTagsForStencil(gn, 'alarm', dt).join(' ')),
  302. this.createVertexTemplateEntry(s + 'backup_browser;',
  303. w * 0.28, h * 0.28, '', 'Backup Browser', null, null, this.getTagsForStencil(gn, 'backup browser', dt).join(' ')),
  304. this.createVertexTemplateEntry(s + 'calendar;',
  305. w * 0.28, h * 0.28, '', 'Calendar', null, null, this.getTagsForStencil(gn, 'calendar', dt).join(' ')),
  306. this.createVertexTemplateEntry(s + 'command_line;',
  307. w * 0.28, h * 0.28, '', 'Command Line', null, null, this.getTagsForStencil(gn, 'command line', dt).join(' ')),
  308. this.createVertexTemplateEntry(s + 'cd;',
  309. w * 0.28, h * 0.28, '', 'CD', null, null, this.getTagsForStencil(gn, 'cd compact disc', dt).join(' ')),
  310. this.createVertexTemplateEntry(s + 'controller;',
  311. w * 0.28, h * 0.28, '', 'Controller', null, null, this.getTagsForStencil(gn, 'controller', dt).join(' ')),
  312. this.createVertexTemplateEntry(s + 'deduplication;',
  313. w * 0.28, h * 0.28, '', 'Deduplication', null, null, this.getTagsForStencil(gn, 'deduplication', dt).join(' ')),
  314. this.createVertexTemplateEntry(s + 'download;',
  315. w * 0.28, h * 0.28, '', 'Download', null, null, this.getTagsForStencil(gn, 'download', dt).join(' ')),
  316. this.createVertexTemplateEntry(s + 'dns;',
  317. w * 0.28, h * 0.28, '', 'DNS', null, null, this.getTagsForStencil(gn, 'dns domain name store', dt).join(' ')),
  318. this.createVertexTemplateEntry(s + 'globe;',
  319. w * 0.28, h * 0.28, '', 'Globe', null, null, this.getTagsForStencil(gn, 'globe', dt).join(' ')),
  320. this.createVertexTemplateEntry(s + 'key;',
  321. w * 0.28, h * 0.28, '', 'Key', null, null, this.getTagsForStencil(gn, 'key', dt).join(' ')),
  322. this.createVertexTemplateEntry(s + 'encryption_key;',
  323. w * 0.36, h * 0.36, '', 'Encryption Key', null, null, this.getTagsForStencil(gn, 'encryption key', dt).join(' ')),
  324. this.createVertexTemplateEntry(s + 'letter;',
  325. w * 0.28, h * 0.2, '', 'Letter', null, null, this.getTagsForStencil(gn, 'letter', dt).join(' ')),
  326. this.createVertexTemplateEntry(s + 'exchange_objects;',
  327. w * 0.28, h * 0.28, '', 'Exchange objects', null, null, this.getTagsForStencil(gn, 'exchange objects', dt).join(' ')),
  328. this.createVertexTemplateEntry(s + 'magnifying_glass;',
  329. w * 0.28, h * 0.28, '', 'Magnifying Glass', null, null, this.getTagsForStencil(gn, 'magnifying glass', dt).join(' ')),
  330. this.createVertexTemplateEntry(s + 'restore;',
  331. w * 0.28, h * 0.28, '', 'Restore', null, null, this.getTagsForStencil(gn, 'restore', dt).join(' ')),
  332. this.createVertexTemplateEntry(s + 'role;',
  333. w * 0.28, h * 0.39, '', 'Role', null, null, this.getTagsForStencil(gn, 'role', dt).join(' ')),
  334. this.createVertexTemplateEntry(s + 'interface_console;',
  335. w * 0.28, h * 0.28, '', 'Interface / Console', null, null, this.getTagsForStencil(gn, 'interface console', dt).join(' ')),
  336. this.createVertexTemplateEntry(s + 'monitoring_console;',
  337. w * 0.28, h * 0.28, '', 'Monitoring Console', null, null, this.getTagsForStencil(gn, 'monitoring console', dt).join(' ')),
  338. this.createVertexTemplateEntry(s + 'web_console;',
  339. w * 0.28, h * 0.28, '', 'Web Console', null, null, this.getTagsForStencil(gn, 'web console', dt).join(' ')),
  340. this.createVertexTemplateEntry(s + 'file_browser;',
  341. w * 0.28, h * 0.28, '', 'File Browser', null, null, this.getTagsForStencil(gn, 'file browser', dt).join(' ')),
  342. this.createVertexTemplateEntry(s + 'table;',
  343. w * 0.28, h * 0.28, '', 'Table', null, null, this.getTagsForStencil(gn, 'table', dt).join(' ')),
  344. this.createVertexTemplateEntry(s + 'time_clocks;',
  345. w * 0.28, h * 0.28, '', 'Time / Clocks', null, null, this.getTagsForStencil(gn, 'time clocks', dt).join(' ')),
  346. this.createVertexTemplateEntry(s + 'tag;',
  347. w * 0.28, h * 0.28, '', 'Tag', null, null, this.getTagsForStencil(gn, 'tag', dt).join(' ')),
  348. this.createVertexTemplateEntry(s + 'transport;',
  349. w * 0.38, h * 0.23, '', 'Transport', null, null, this.getTagsForStencil(gn, 'transport', dt).join(' ')),
  350. this.createVertexTemplateEntry(s + 'vpn;',
  351. w * 0.28, h * 0.28, '', 'VPN', null, null, this.getTagsForStencil(gn, 'vpn virtual private network', dt).join(' ')),
  352. this.createVertexTemplateEntry(s + 'user;',
  353. w * 0.28, h * 0.28, '', 'User', null, null, this.getTagsForStencil(gn, 'user', dt).join(' ')),
  354. this.createVertexTemplateEntry(s + 'user_group;',
  355. w * 0.28, h * 0.28, '', 'User Group', null, null, this.getTagsForStencil(gn, 'user group', dt).join(' '))
  356. ];
  357. this.addPalette('veeam2General', 'Veeam / General', false, mxUtils.bind(this, function(content)
  358. {
  359. for (var i = 0; i < fns.length; i++)
  360. {
  361. content.appendChild(fns[i](content));
  362. }
  363. }));
  364. };
  365. Sidebar.prototype.addVeeam2ProductsComponentsPalette = function()
  366. {
  367. var s = 'sketch=0;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#005F4B;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam2.';
  368. var s2 = 'sketch=0;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#DF8C42;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam2.';
  369. // Space savers
  370. var sb = this;
  371. var gn = 'mxgraph.veeam2';
  372. var dt = 'veeam vm vmware virtual machine products and components';
  373. var w = 100;
  374. var h = 100;
  375. var fns =
  376. [
  377. this.createVertexTemplateEntry('pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#13B24B;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam2.veeam_logo;',
  378. w * 1.36, h * 0.24, '', 'Veeam logo', null, null, this.getTagsForStencil(gn, 'logo', dt).join(' ')),
  379. this.createVertexTemplateEntry(s2 + 'veeam_availability_suite;',
  380. w * 0.34, h * 0.34, '', 'Veeam Availability Suite', null, null, this.getTagsForStencil(gn, 'availability suite', dt).join(' ')),
  381. this.createVertexTemplateEntry(s + 'vas_server;',
  382. w * 0.4, h * 0.52, '', 'VAS server', null, null, this.getTagsForStencil(gn, 'vas server', dt).join(' ')),
  383. this.createVertexTemplateEntry(s2 + 'veeam_backup_replication;',
  384. w * 0.34, h * 0.34, '', 'Veeam Backup & Replication', null, null, this.getTagsForStencil(gn, 'backup and replication', dt).join(' ')),
  385. this.createVertexTemplateEntry(s + 'vbr_server;',
  386. w * 0.4, h * 0.52, '', 'VBR server', null, null, this.getTagsForStencil(gn, 'vbr server', dt).join(' ')),
  387. this.createVertexTemplateEntry(s + 'proxy_server;',
  388. w * 0.4, h * 0.52, '', 'Proxy Server', null, null, this.getTagsForStencil(gn, 'proxy server', dt).join(' ')),
  389. this.createVertexTemplateEntry(s + 'repository_server;',
  390. w * 0.4, h * 0.52, '', 'Repository Server', null, null, this.getTagsForStencil(gn, 'repository server', dt).join(' ')),
  391. this.createVertexTemplateEntry(s + 'mount_server;',
  392. w * 0.4, h * 0.52, '', 'Mount Server', null, null, this.getTagsForStencil(gn, 'mount server', dt).join(' ')),
  393. this.createVertexTemplateEntry(s + 'tape_server;',
  394. w * 0.4, h * 0.52, '', 'Tape Server', null, null, this.getTagsForStencil(gn, 'tape server', dt).join(' ')),
  395. this.createVertexTemplateEntry(s2 + 'veeam_backup_enterprise_manager;',
  396. w * 0.34, h * 0.34, '', 'Veeam Backup Enterprise Manager', null, null, this.getTagsForStencil(gn, 'backup enterprise manager', dt).join(' ')),
  397. this.createVertexTemplateEntry(s + 'vbem_server;',
  398. w * 0.4, h * 0.52, '', 'VBEM Server', null, null, this.getTagsForStencil(gn, 'vbem server', dt).join(' ')),
  399. this.createVertexTemplateEntry(s + 'search_server;',
  400. w * 0.4, h * 0.52, '', 'Search Server', null, null, this.getTagsForStencil(gn, 'search server', dt).join(' ')),
  401. this.createVertexTemplateEntry(s2 + 'veeam_cloud_connect;',
  402. w * 0.34, h * 0.34, '', 'Veeam Cloud Connect', null, null, this.getTagsForStencil(gn, 'cloud connect', dt).join(' ')),
  403. this.createVertexTemplateEntry(s2 + 'veeam_one;',
  404. w * 0.34, h * 0.34, '', 'Veeam ONE', null, null, this.getTagsForStencil(gn, 'one', dt).join(' ')),
  405. this.createVertexTemplateEntry(s + 'one_server;',
  406. w * 0.4, h * 0.52, '', 'ONE Server', null, null, this.getTagsForStencil(gn, 'one server', dt).join(' ')),
  407. this.createVertexTemplateEntry(s2 + 'veeam_one_reporter;',
  408. w * 0.34, h * 0.34, '', 'Veeam ONE Reporter', null, null, this.getTagsForStencil(gn, 'one reporter', dt).join(' ')),
  409. this.createVertexTemplateEntry(s2 + 'veeam_agents;',
  410. w * 0.34, h * 0.34, '', 'Veeam Agents', null, null, this.getTagsForStencil(gn, 'agents', dt).join(' ')),
  411. this.createVertexTemplateEntry(s + 'server_with_veeam_agent;',
  412. w * 0.4, h * 0.52, '', 'Server with Veeam Agent', null, null, this.getTagsForStencil(gn, 'server with agent', dt).join(' ')),
  413. this.createVertexTemplateEntry(s2 + 'veeam_agent_for_windows;',
  414. w * 0.34, h * 0.34, '', 'Veeam Agent for Windows', null, null, this.getTagsForStencil(gn, 'agent for windows', dt).join(' ')),
  415. this.createVertexTemplateEntry(s2 + 'veeam_agent_for_linux;',
  416. w * 0.34, h * 0.34, '', 'Veeam Agent for Linux', null, null, this.getTagsForStencil(gn, 'agent for linux', dt).join(' ')),
  417. this.createVertexTemplateEntry(s2 + 'veeam_agent_for_oracle_solaris;',
  418. w * 0.34, h * 0.34, '', 'Veeam Agent for Oracle Solaris', null, null, this.getTagsForStencil(gn, 'agent for oracle solaris', dt).join(' ')),
  419. this.createVertexTemplateEntry(s2 + 'veeam_agent_for_ibm_aix;',
  420. w * 0.34, h * 0.34, '', 'Veeam Agent for IBM AIX', null, null, this.getTagsForStencil(gn, 'agent for ibm aix', dt).join(' ')),
  421. this.createVertexTemplateEntry(s2 + 'veeam_explorer_for_exchange;',
  422. w * 0.34, h * 0.34, '', 'Veeam Explorer for Exchange', null, null, this.getTagsForStencil(gn, 'explorer for exchange', dt).join(' ')),
  423. this.createVertexTemplateEntry(s2 + 'veeam_explorer_for_active_directory;',
  424. w * 0.34, h * 0.34, '', 'Veeam Explorer for Active Directory', null, null, this.getTagsForStencil(gn, 'explorer for active directory', dt).join(' ')),
  425. this.createVertexTemplateEntry(s2 + 'veeam_explorer_for_oracle;',
  426. w * 0.34, h * 0.34, '', 'Veeam Explorer for Oracle', null, null, this.getTagsForStencil(gn, 'explorer for oracle', dt).join(' ')),
  427. this.createVertexTemplateEntry(s2 + 'veeam_explorer_for_onedrive;',
  428. w * 0.34, h * 0.34, '', 'Veeam Explorer for OneDrive', null, null, this.getTagsForStencil(gn, 'explorer for onedrive', dt).join(' ')),
  429. this.createVertexTemplateEntry(s2 + 'veeam_explorer_for_storage_snapshots;',
  430. w * 0.34, h * 0.34, '', 'Veeam Explorer for Storage Snapshots', null, null, this.getTagsForStencil(gn, 'explorer for storage snapshots', dt).join(' ')),
  431. this.createVertexTemplateEntry(s2 + 'veeam_explorer_for_sql;',
  432. w * 0.34, h * 0.34, '', 'Veeam Explorer for SQL', null, null, this.getTagsForStencil(gn, 'explorer for sql', dt).join(' ')),
  433. this.createVertexTemplateEntry(s2 + 'veeam_explorer_for_sharepoint;',
  434. w * 0.34, h * 0.34, '', 'Veeam Explorer for SharePoint', null, null, this.getTagsForStencil(gn, 'explorer for sharepoint', dt).join(' ')),
  435. this.createVertexTemplateEntry(s2 + 'veeam_plugin_for_oracle_rman;',
  436. w * 0.34, h * 0.34, '', 'Veeam Plugin for Oracle RMAN', null, null, this.getTagsForStencil(gn, 'plugin for oracle rman', dt).join(' ')),
  437. this.createVertexTemplateEntry(s2 + 'veeam_plugin_for_sap_hana;',
  438. w * 0.34, h * 0.34, '', 'Veeam Plugin for SAP HANA', null, null, this.getTagsForStencil(gn, 'plugin for sap hana', dt).join(' ')),
  439. this.createVertexTemplateEntry(s2 + 'veeam_plugin_for_sap_on_oracle;',
  440. w * 0.34, h * 0.34, '', 'Veeam Plugin for SAP on Oracle', null, null, this.getTagsForStencil(gn, 'plugin for sap on oracle', dt).join(' ')),
  441. this.createVertexTemplateEntry(s2 + 'veeam_backup_for_office_365;',
  442. w * 0.34, h * 0.34, '', 'Veeam Backup for Office 365', null, null, this.getTagsForStencil(gn, 'plugin for office 365', dt).join(' ')),
  443. this.createVertexTemplateEntry(s + 'vbo_server;',
  444. w * 0.4, h * 0.52, '', 'VBO Server', null, null, this.getTagsForStencil(gn, 'vbo server', dt).join(' ')),
  445. this.createVertexTemplateEntry(s2 + 'veeam_mp;',
  446. w * 0.34, h * 0.34, '', 'Veeam MP', null, null, this.getTagsForStencil(gn, 'mp', dt).join(' ')),
  447. this.createVertexTemplateEntry(s2 + 'veeam_pn;',
  448. w * 0.34, h * 0.34, '', 'Veeam PN', null, null, this.getTagsForStencil(gn, 'pn', dt).join(' ')),
  449. this.createVertexTemplateEntry(s + 'vpn_server;',
  450. w * 0.4, h * 0.52, '', 'VPN Server', null, null, this.getTagsForStencil(gn, 'vpn server', dt).join(' ')),
  451. this.createVertexTemplateEntry(s2 + 'veeam_availability_orchestrator;',
  452. w * 0.34, h * 0.34, '', 'Veeam Availability Orchestrator', null, null, this.getTagsForStencil(gn, 'availability orchestrator', dt).join(' ')),
  453. this.createVertexTemplateEntry(s + 'vao_server;',
  454. w * 0.4, h * 0.52, '', 'VAO Server', null, null, this.getTagsForStencil(gn, 'vao server', dt).join(' ')),
  455. this.createVertexTemplateEntry(s2 + 'veeam_service_provider_console;',
  456. w * 0.34, h * 0.34, '', 'Veeam Service Provider Console', null, null, this.getTagsForStencil(gn, 'service provider console', dt).join(' ')),
  457. this.createVertexTemplateEntry(s + 'vspc_server;',
  458. w * 0.4, h * 0.52, '', 'VSPC Server', null, null, this.getTagsForStencil(gn, 'vspc server', dt).join(' ')),
  459. this.createVertexTemplateEntry(s2 + 'agent;',
  460. w * 0.21, h * 0.21, '', 'Agent', null, null, this.getTagsForStencil(gn, 'agent', dt).join(' ')),
  461. this.createVertexTemplateEntry(s2 + 'transport_service;',
  462. w * 0.21, h * 0.21, '', 'Transport Service', null, null, this.getTagsForStencil(gn, 'transport service', dt).join(' ')),
  463. this.createVertexTemplateEntry(s2 + 'data_mover;',
  464. w * 0.21, h * 0.21, '', 'Data Mover', null, null, this.getTagsForStencil(gn, 'data mover', dt).join(' ')),
  465. this.createVertexTemplateEntry(s + 'veeam_proxy;',
  466. w * 0.21, h * 0.21, '', 'Veeam Proxy', null, null, this.getTagsForStencil(gn, 'veeam proxy', dt).join(' ')),
  467. this.createVertexTemplateEntry(s + 'wan_accelerator;',
  468. w * 0.21, h * 0.21, '', 'WAN Accelerator', null, null, this.getTagsForStencil(gn, 'wan accelerator wide area network', dt).join(' ')),
  469. this.createVertexTemplateEntry(s + 'flr_helper_appliance;',
  470. w * 0.21, h * 0.21, '', 'FLR Helper Appliance', null, null, this.getTagsForStencil(gn, 'flr helper appliance', dt).join(' ')),
  471. this.createVertexTemplateEntry(s + 'network_proxy;',
  472. w * 0.28, h * 0.28, '', 'Network Proxy', null, null, this.getTagsForStencil(gn, 'network proxy', dt).join(' ')),
  473. this.createVertexTemplateEntry(s + 'veeam_repository;',
  474. w * 0.37, h * 0.38, '', 'Veeam Repository', null, null, this.getTagsForStencil(gn, 'repository', dt).join(' ')),
  475. this.createVertexTemplateEntry(s + 'windows_repository;',
  476. w * 0.37, h * 0.38, '', 'Windows Repository', null, null, this.getTagsForStencil(gn, 'windows repository', dt).join(' ')),
  477. this.createVertexTemplateEntry(s + 'linux_repository;',
  478. w * 0.37, h * 0.38, '', 'Linux Repository', null, null, this.getTagsForStencil(gn, 'linux repository', dt).join(' ')),
  479. this.createVertexTemplateEntry(s + 'cloud_repository;',
  480. w * 0.37, h * 0.38, '', 'Cloud Repository', null, null, this.getTagsForStencil(gn, 'cloud repository', dt).join(' ')),
  481. this.createVertexTemplateEntry(s + 'scale_out_backup_repository;',
  482. w * 0.37, h * 0.38, '', 'Scale-Out Backup Repository', null, null, this.getTagsForStencil(gn, 'scale out backup repository', dt).join(' ')),
  483. this.createVertexTemplateEntry(s + 'vbo_repository;',
  484. w * 0.37, h * 0.38, '', 'VBO Repository', null, null, this.getTagsForStencil(gn, 'vbo repository', dt).join(' ')),
  485. this.createVertexTemplateEntry(s + 'vbr_repository;',
  486. w * 0.37, h * 0.38, '', 'VBR Repository', null, null, this.getTagsForStencil(gn, 'vbr repository', dt).join(' '))
  487. ];
  488. this.addPalette('veeam2Products and Components', 'Veeam / Products and Components', false, mxUtils.bind(this, function(content)
  489. {
  490. for (var i = 0; i < fns.length; i++)
  491. {
  492. content.appendChild(fns[i](content));
  493. }
  494. }));
  495. };
  496. Sidebar.prototype.addVeeam2SoftwarePalette = function()
  497. {
  498. var s = 'sketch=0;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#005F4B;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam2.';
  499. var s2 = 'sketch=0;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#DF8C42;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam2.';
  500. // Space savers
  501. var sb = this;
  502. var gn = 'mxgraph.veeam2';
  503. var dt = 'veeam vm vmware virtual machine software';
  504. var w = 100;
  505. var h = 100;
  506. var fns =
  507. [
  508. this.createVertexTemplateEntry(s2 + 'antivirus;',
  509. w * 0.34, h * 0.34, '', 'Antivirus', null, null, this.getTagsForStencil(gn, 'antivirus', dt).join(' ')),
  510. this.createVertexTemplateEntry(s2 + 'firewall;',
  511. w * 0.34, h * 0.34, '', 'Firewall', null, null, this.getTagsForStencil(gn, 'firewall', dt).join(' ')),
  512. this.createVertexTemplateEntry(s2 + 'application;',
  513. w * 0.34, h * 0.34, '', 'Application', null, null, this.getTagsForStencil(gn, 'application', dt).join(' ')),
  514. this.createVertexTemplateEntry(s2 + 'linux;',
  515. w * 0.34, h * 0.34, '', 'Linux', null, null, this.getTagsForStencil(gn, 'linux', dt).join(' ')),
  516. this.createVertexTemplateEntry(s + 'linux_server;',
  517. w * 0.4, h * 0.52, '', 'Linux Server', null, null, this.getTagsForStencil(gn, 'linux server', dt).join(' ')),
  518. this.createVertexTemplateEntry(s2 + 'microsoft_active_directory;',
  519. w * 0.34, h * 0.34, '', 'Microsoft Active Directory', null, null, this.getTagsForStencil(gn, 'microsoft ms active directory', dt).join(' ')),
  520. this.createVertexTemplateEntry(s + 'domain_controller;',
  521. w * 0.4, h * 0.52, '', 'Domain Controller', null, null, this.getTagsForStencil(gn, 'domain controller', dt).join(' ')),
  522. this.createVertexTemplateEntry(s2 + 'microsoft_exchange;',
  523. w * 0.34, h * 0.34, '', 'Microsoft Exchange', null, null, this.getTagsForStencil(gn, 'microsoft ms exchange', dt).join(' ')),
  524. this.createVertexTemplateEntry(s + 'exchange_server;',
  525. w * 0.4, h * 0.52, '', 'Exchange Server', null, null, this.getTagsForStencil(gn, 'exchange server', dt).join(' ')),
  526. this.createVertexTemplateEntry(s2 + 'microsoft_scom;',
  527. w * 0.34, h * 0.34, '', 'Microsoft SCOM', null, null, this.getTagsForStencil(gn, 'microsoft ms scom', dt).join(' ')),
  528. this.createVertexTemplateEntry(s2 + 'microsoft_scvmm;',
  529. w * 0.34, h * 0.34, '', 'Microsoft SCVMM', null, null, this.getTagsForStencil(gn, 'microsoft ms scvmm', dt).join(' ')),
  530. this.createVertexTemplateEntry(s2 + 'microsoft_sharepoint;',
  531. w * 0.34, h * 0.34, '', 'Microsoft SharePoint', null, null, this.getTagsForStencil(gn, 'microsoft ms sharepoint', dt).join(' ')),
  532. this.createVertexTemplateEntry(s + 'sharepoint_server;',
  533. w * 0.4, h * 0.52, '', 'Sharepoint Server', null, null, this.getTagsForStencil(gn, 'sharepoint server', dt).join(' ')),
  534. this.createVertexTemplateEntry(s2 + 'microsoft_sql;',
  535. w * 0.34, h * 0.34, '', 'Microsoft SQL', null, null, this.getTagsForStencil(gn, 'microsoft ms sql', dt).join(' ')),
  536. this.createVertexTemplateEntry(s + 'sql_server;',
  537. w * 0.4, h * 0.52, '', 'SQL Server', null, null, this.getTagsForStencil(gn, 'sql server', dt).join(' ')),
  538. this.createVertexTemplateEntry(s2 + 'microsoft_teams;',
  539. w * 0.34, h * 0.34, '', 'Microsoft Teams', null, null, this.getTagsForStencil(gn, 'microsoft ms teams', dt).join(' ')),
  540. this.createVertexTemplateEntry(s2 + 'microsoft_windows;',
  541. w * 0.34, h * 0.34, '', 'Microsoft Windows', null, null, this.getTagsForStencil(gn, 'microsoft ms windows', dt).join(' ')),
  542. this.createVertexTemplateEntry(s + 'windows_server;',
  543. w * 0.4, h * 0.52, '', 'Windows Server', null, null, this.getTagsForStencil(gn, 'windows server', dt).join(' ')),
  544. this.createVertexTemplateEntry(s2 + 'microsoft_onedrive;',
  545. w * 0.34, h * 0.34, '', 'Microsoft OneDrive', null, null, this.getTagsForStencil(gn, 'microsoft ms onedrive', dt).join(' ')),
  546. this.createVertexTemplateEntry(s2 + 'microsoft_outlook;',
  547. w * 0.34, h * 0.34, '', 'Microsoft Outlook', null, null, this.getTagsForStencil(gn, 'microsoft ms outlook', dt).join(' ')),
  548. this.createVertexTemplateEntry(s2 + 'microsoft_office;',
  549. w * 0.34, h * 0.34, '', 'Microsoft Office', null, null, this.getTagsForStencil(gn, 'microsoft ms office', dt).join(' ')),
  550. this.createVertexTemplateEntry(s2 + 'power_shell;',
  551. w * 0.34, h * 0.34, '', 'PowerShell', null, null, this.getTagsForStencil(gn, 'powershell', dt).join(' ')),
  552. this.createVertexTemplateEntry(s2 + 'oracle_rman;',
  553. w * 0.34, h * 0.34, '', 'Oracle RMAN', null, null, this.getTagsForStencil(gn, 'oracle rman', dt).join(' ')),
  554. this.createVertexTemplateEntry(s2 + 'sap_brtools;',
  555. w * 0.34, h * 0.34, '', 'SAP BRTools', null, null, this.getTagsForStencil(gn, 'sap brtools', dt).join(' ')),
  556. this.createVertexTemplateEntry(s2 + 'sap_hana;',
  557. w * 0.34, h * 0.34, '', 'SAP HANA', null, null, this.getTagsForStencil(gn, 'sap hana', dt).join(' ')),
  558. this.createVertexTemplateEntry(s2 + 'nutanix;',
  559. w * 0.34, h * 0.34, '', 'Nutanix', null, null, this.getTagsForStencil(gn, 'nutanix', dt).join(' ')),
  560. this.createVertexTemplateEntry(s + 'server_nutanix;',
  561. w * 0.4, h * 0.52, '', 'Server Nutanix', null, null, this.getTagsForStencil(gn, 'server nutanix', dt).join(' ')),
  562. this.createVertexTemplateEntry(s2 + 'vmware_vcloud_director;',
  563. w * 0.34, h * 0.34, '', 'VMware vCloud Director', null, null, this.getTagsForStencil(gn, 'vmware vcloud director', dt).join(' ')),
  564. this.createVertexTemplateEntry(s + 'vcloud_director_server;',
  565. w * 0.4, h * 0.52, '', 'vCloud Director Server', null, null, this.getTagsForStencil(gn, 'vcloud director server', dt).join(' ')),
  566. this.createVertexTemplateEntry(s2 + 'vmware_vsphere;',
  567. w * 0.34, h * 0.34, '', 'VMware vSphere', null, null, this.getTagsForStencil(gn, 'vmware vsphere', dt).join(' ')),
  568. this.createVertexTemplateEntry(s + 'vcenter_server;',
  569. w * 0.4, h * 0.52, '', 'vCenter Server', null, null, this.getTagsForStencil(gn, 'vcenter server', dt).join(' ')),
  570. this.createVertexTemplateEntry(s2 + 'database2;',
  571. w * 0.34, h * 0.34, '', 'Database', null, null, this.getTagsForStencil(gn, 'database db', dt).join(' ')),
  572. this.createVertexTemplateEntry(s + 'database_server;',
  573. w * 0.4, h * 0.52, '', 'Database Server', null, null, this.getTagsForStencil(gn, 'database server db', dt).join(' ')),
  574. this.createVertexTemplateEntry(s2 + 'microsoft_sql_db;',
  575. w * 0.34, h * 0.34, '', 'Microsoft SQL DB', null, null, this.getTagsForStencil(gn, 'microsoft sql db database', dt).join(' ')),
  576. this.createVertexTemplateEntry(s2 + 'oracle_db;',
  577. w * 0.34, h * 0.34, '', 'Oracle DB', null, null, this.getTagsForStencil(gn, 'oracle db database', dt).join(' ')),
  578. this.createVertexTemplateEntry(s2 + 'sap_hana_db;',
  579. w * 0.34, h * 0.34, '', 'SAP HANA DB', null, null, this.getTagsForStencil(gn, 'sap hana db database', dt).join(' ')),
  580. this.createVertexTemplateEntry(s2 + 'open_vpn;',
  581. w * 0.34, h * 0.34, '', 'OpenVPN', null, null, this.getTagsForStencil(gn, 'openvpn open vpn virtual private network', dt).join(' ')),
  582. this.createVertexTemplateEntry(s2 + 'wireguard;',
  583. w * 0.34, h * 0.34, '', 'WireGuard', null, null, this.getTagsForStencil(gn, 'wireguard', dt).join(' '))
  584. ];
  585. this.addPalette('veeam2Software', 'Veeam / Software', false, mxUtils.bind(this, function(content)
  586. {
  587. for (var i = 0; i < fns.length; i++)
  588. {
  589. content.appendChild(fns[i](content));
  590. }
  591. }));
  592. };
  593. Sidebar.prototype.addVeeam2StatesPalette = function()
  594. {
  595. var s2 = 'sketch=0;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#DF8C42;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam2.';
  596. // Space savers
  597. var sb = this;
  598. var gn = 'mxgraph.veeam2';
  599. var dt = 'veeam vm vmware virtual machine states';
  600. var w = 100;
  601. var h = 100;
  602. var fns =
  603. [
  604. this.createVertexTemplateEntry(s2 + 'turn_on_off;',
  605. w * 0.21, h * 0.21, '', 'Turn on / off', null, null, this.getTagsForStencil(gn, 'turn on off', dt).join(' ')),
  606. this.createVertexTemplateEntry(s2 + 'running_playing;',
  607. w * 0.21, h * 0.21, '', 'Running / Playing', null, null, this.getTagsForStencil(gn, 'running playing', dt).join(' ')),
  608. this.createVertexTemplateEntry(s2 + 'critical;',
  609. w * 0.21, h * 0.21, '', 'Critical', null, null, this.getTagsForStencil(gn, 'critical', dt).join(' ')),
  610. this.createVertexTemplateEntry(s2 + 'failed;',
  611. w * 0.21, h * 0.21, '', 'Failed', null, null, this.getTagsForStencil(gn, 'failed', dt).join(' ')),
  612. this.createVertexTemplateEntry(s2 + 'unavailable;',
  613. w * 0.21, h * 0.21, '', 'Unavailable', null, null, this.getTagsForStencil(gn, 'unavailable', dt).join(' ')),
  614. this.createVertexTemplateEntry(s2 + 'paused;',
  615. w * 0.21, h * 0.21, '', 'Paused / saved', null, null, this.getTagsForStencil(gn, 'paused', dt).join(' ')),
  616. this.createVertexTemplateEntry(s2 + 'zipped;',
  617. w * 0.21, h * 0.21, '', 'Zipped', null, null, this.getTagsForStencil(gn, 'zipped', dt).join(' ')),
  618. this.createVertexTemplateEntry(s2 + 'recording;',
  619. w * 0.21, h * 0.21, '', 'Recording', null, null, this.getTagsForStencil(gn, 'recording', dt).join(' ')),
  620. this.createVertexTemplateEntry(s2 + 'locked;',
  621. w * 0.21, h * 0.21, '', 'Locked', null, null, this.getTagsForStencil(gn, 'locked', dt).join(' ')),
  622. this.createVertexTemplateEntry(s2 + 'unlocked;',
  623. w * 0.21, h * 0.21, '', 'Unlocked', null, null, this.getTagsForStencil(gn, 'unlocked', dt).join(' ')),
  624. this.createVertexTemplateEntry(s2 + 'encrypted;',
  625. w * 0.21, h * 0.21, '', 'encrypted', null, null, this.getTagsForStencil(gn, 'enrypted', dt).join(' ')),
  626. this.createVertexTemplateEntry(s2 + 'delayed;',
  627. w * 0.21, h * 0.21, '', 'Delayed', null, null, this.getTagsForStencil(gn, 'delayed', dt).join(' ')),
  628. this.createVertexTemplateEntry(s2 + 'restored;',
  629. w * 0.21, h * 0.21, '', 'Restored', null, null, this.getTagsForStencil(gn, 'restored', dt).join(' ')),
  630. this.createVertexTemplateEntry(s2 + 'exported;',
  631. w * 0.21, h * 0.21, '', 'Exported', null, null, this.getTagsForStencil(gn, 'exported', dt).join(' ')),
  632. this.createVertexTemplateEntry(s2 + 'ejected;',
  633. w * 0.21, h * 0.21, '', 'Ejected', null, null, this.getTagsForStencil(gn, 'ejected', dt).join(' ')),
  634. this.createVertexTemplateEntry(s2 + 'instant;',
  635. w * 0.21, h * 0.21, '', 'Instant', null, null, this.getTagsForStencil(gn, 'instant', dt).join(' '))
  636. ];
  637. this.addPalette('veeam2States', 'Veeam / States', false, mxUtils.bind(this, function(content)
  638. {
  639. for (var i = 0; i < fns.length; i++)
  640. {
  641. content.appendChild(fns[i](content));
  642. }
  643. }));
  644. };
  645. Sidebar.prototype.addVeeam2StoragePalette = function()
  646. {
  647. var s = 'sketch=0;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#005F4B;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam2.';
  648. var s2 = 'sketch=0;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#DF8C42;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam2.';
  649. // Space savers
  650. var sb = this;
  651. var gn = 'mxgraph.veeam2';
  652. var dt = 'veeam vm vmware virtual machine storage';
  653. var w = 100;
  654. var h = 100;
  655. var fns =
  656. [
  657. this.createVertexTemplateEntry(s + 'object_storage;',
  658. w * 0.28, h * 0.28, '', 'Object Storage', null, null, this.getTagsForStencil(gn, 'object storage', dt).join(' ')),
  659. this.createVertexTemplateEntry(s2 + 'azure_blob;',
  660. w * 0.34, h * 0.34, '', 'Azure Blob', null, null, this.getTagsForStencil(gn, 'azure blob', dt).join(' ')),
  661. this.createVertexTemplateEntry(s2 + 'aws_s3;',
  662. w * 0.34, h * 0.34, '', 'AWS S3', null, null, this.getTagsForStencil(gn, 'aws s3', dt).join(' ')),
  663. this.createVertexTemplateEntry(s2 + 'ibm_object_storage;',
  664. w * 0.34, h * 0.34, '', 'IBM Object Storage', null, null, this.getTagsForStencil(gn, 'ibm object storage', dt).join(' ')),
  665. this.createVertexTemplateEntry(s + 's3_compatible;',
  666. w * 0.28, h * 0.28, '', 'S3-compatible', null, null, this.getTagsForStencil(gn, 's3 compatible', dt).join(' ')),
  667. this.createVertexTemplateEntry(s2 + 'vmware_vsan;',
  668. w * 0.34, h * 0.34, '', 'VMware vSAN', null, null, this.getTagsForStencil(gn, 'vmware vsan', dt).join(' ')),
  669. this.createVertexTemplateEntry(s + 'nas;',
  670. w * 0.28, h * 0.28, '', 'NAS', null, null, this.getTagsForStencil(gn, 'nas', dt).join(' ')),
  671. this.createVertexTemplateEntry(s + 'shared_folder;',
  672. w * 0.28, h * 0.24, '', 'Shared Folder', null, null, this.getTagsForStencil(gn, 'shared folder', dt).join(' ')),
  673. this.createVertexTemplateEntry(s + 'folder;',
  674. w * 0.28, h * 0.24, '', 'Folder', null, null, this.getTagsForStencil(gn, 'folder', dt).join(' ')),
  675. this.createVertexTemplateEntry(s + 'datastore_empty;',
  676. w * 0.28, h * 0.35, '', 'Datastore empty', null, null, this.getTagsForStencil(gn, 'datastore empty', dt).join(' ')),
  677. this.createVertexTemplateEntry(s + 'datastore_33_full;',
  678. w * 0.28, h * 0.35, '', 'Datastore 33% full', null, null, this.getTagsForStencil(gn, 'datastore 33 percentage third full 33%', dt).join(' ')),
  679. this.createVertexTemplateEntry(s + 'datastore_66_full;',
  680. w * 0.28, h * 0.35, '', 'Datastore 66% full', null, null, this.getTagsForStencil(gn, 'datastore 66 percentage two thirds full 66%', dt).join(' ')),
  681. this.createVertexTemplateEntry(s + 'datastore;',
  682. w * 0.28, h * 0.35, '', 'Datastore', null, null, this.getTagsForStencil(gn, 'datastore', dt).join(' ')),
  683. this.createVertexTemplateEntry(s + 'sd_card;',
  684. w * 0.23, h * 0.28, '', 'SD Card', null, null, this.getTagsForStencil(gn, 'sd card', dt).join(' ')),
  685. this.createVertexTemplateEntry(s + 'storage;',
  686. w * 0.4, h * 0.11, '', 'Storage', null, null, this.getTagsForStencil(gn, 'storage', dt).join(' ')),
  687. this.createVertexTemplateEntry(s + 'storage_snapshot;',
  688. w * 0.4, h * 0.11, '', 'Storage Snapshot', null, null, this.getTagsForStencil(gn, 'storage snapshot', dt).join(' ')),
  689. this.createVertexTemplateEntry(s + 'storage_with_snapshot;',
  690. w * 0.43, h * 0.15, '', 'Storage with Snapshot', null, null, this.getTagsForStencil(gn, 'storage with snapshot', dt).join(' ')),
  691. this.createVertexTemplateEntry(s + 'storage_stack;',
  692. w * 0.4, h * 0.4, '', 'Storage Stack', null, null, this.getTagsForStencil(gn, 'storage stack', dt).join(' ')),
  693. this.createVertexTemplateEntry(s + 'deduplicating_storage;',
  694. w * 0.4, h * 0.11, '', 'Deduplicating Storage', null, null, this.getTagsForStencil(gn, 'deduplicating storage', dt).join(' ')),
  695. this.createVertexTemplateEntry(s + 'data_volume;',
  696. w * 0.4, h * 0.11, '', 'Data Volume', null, null, this.getTagsForStencil(gn, 'data volume', dt).join(' ')),
  697. this.createVertexTemplateEntry(s + 'data_volume_snapshot;',
  698. w * 0.4, h * 0.11, '', 'Data Volume Snapshot', null, null, this.getTagsForStencil(gn, 'data volume snapshot', dt).join(' ')),
  699. this.createVertexTemplateEntry(s + 'data_volume_with_snapshot;',
  700. w * 0.43, h * 0.15, '', 'Data Volume with Snapshot', null, null, this.getTagsForStencil(gn, 'data volume with snapshot', dt).join(' ')),
  701. this.createVertexTemplateEntry(s + 'file;',
  702. w * 0.28, h * 0.39, '', 'File', null, null, this.getTagsForStencil(gn, 'file', dt).join(' ')),
  703. this.createVertexTemplateEntry(s + 'backup_file;',
  704. w * 0.28, h * 0.39, '', 'Backup file', null, null, this.getTagsForStencil(gn, 'backup file', dt).join(' ')),
  705. this.createVertexTemplateEntry(s + 'veeam_full_backup;',
  706. w * 0.28, h * 0.39, '', 'Veeam Full Backup', null, null, this.getTagsForStencil(gn, 'full backup', dt).join(' ')),
  707. this.createVertexTemplateEntry(s + 'veeam_incremental_backup;',
  708. w * 0.28, h * 0.39, '', 'Veeam Incremental Backup', null, null, this.getTagsForStencil(gn, 'incremental backup', dt).join(' ')),
  709. this.createVertexTemplateEntry(s + 'veeam_reversed_incremental_backup;',
  710. w * 0.28, h * 0.39, '', 'Veeam Reversed Incremental Backup', null, null, this.getTagsForStencil(gn, 'reversed incremental backup', dt).join(' ')),
  711. this.createVertexTemplateEntry(s + 'veeam_backup_chain_metadata;',
  712. w * 0.28, h * 0.39, '', 'Veeam Backup Chain Metadata', null, null, this.getTagsForStencil(gn, 'backup chain metadata', dt).join(' ')),
  713. this.createVertexTemplateEntry(s + 'vbr_configuration_backup;',
  714. w * 0.28, h * 0.39, '', 'VBR Configuration Backup', null, null, this.getTagsForStencil(gn, 'vbr configuration backup', dt).join(' ')),
  715. this.createVertexTemplateEntry(s + 'vbr_transaction_log_backup;',
  716. w * 0.28, h * 0.39, '', 'VBR Transaction Log Backup', null, null, this.getTagsForStencil(gn, 'vbr transaction log backup', dt).join(' ')),
  717. this.createVertexTemplateEntry(s + 'tape;',
  718. w * 0.38, h * 0.22, '', 'Tape', null, null, this.getTagsForStencil(gn, 'tape', dt).join(' ')),
  719. this.createVertexTemplateEntry(s + 'tape_checkout;',
  720. w * 0.46, h * 0.30, '', 'Tape Checkout', null, null, this.getTagsForStencil(gn, 'tape checkout', dt).join(' ')),
  721. this.createVertexTemplateEntry(s + 'tape_encrypted;',
  722. w * 0.46, h * 0.30, '', 'Tape Encrypted', null, null, this.getTagsForStencil(gn, 'tape encrypted', dt).join(' ')),
  723. this.createVertexTemplateEntry(s + 'tape_locked;',
  724. w * 0.46, h * 0.30, '', 'Tape Locked', null, null, this.getTagsForStencil(gn, 'tape locked', dt).join(' ')),
  725. this.createVertexTemplateEntry(s + 'tape_recording;',
  726. w * 0.46, h * 0.30, '', 'Tape Recording', null, null, this.getTagsForStencil(gn, 'tape recording', dt).join(' ')),
  727. this.createVertexTemplateEntry(s + 'tape_media_pool;',
  728. w * 0.28, h * 0.24, '', 'Tape Media Pool', null, null, this.getTagsForStencil(gn, 'tape media pool', dt).join(' ')),
  729. this.createVertexTemplateEntry(s + 'tape_library;',
  730. w * 0.28, h * 0.35, '', 'Tape Library', null, null, this.getTagsForStencil(gn, 'tape library', dt).join(' ')),
  731. this.createVertexTemplateEntry(s + 'tape_writing_device;',
  732. w * 0.38, h * 0.14, '', 'Tape Writing Device', null, null, this.getTagsForStencil(gn, 'tape writing device', dt).join(' '))
  733. ];
  734. this.addPalette('veeam2Storage', 'Veeam / Storage', false, mxUtils.bind(this, function(content)
  735. {
  736. for (var i = 0; i < fns.length; i++)
  737. {
  738. content.appendChild(fns[i](content));
  739. }
  740. }));
  741. };
  742. Sidebar.prototype.addVeeam23DPalette = function()
  743. {
  744. var sn = 'sketch=0;shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.';
  745. // Space savers
  746. var sb = this;
  747. var gn = 'mxgraph.veeam.3d';
  748. var dt = 'veeam 3d vmware virtual machine ';
  749. var w = 2.0;
  750. var h = 2.0;
  751. var fns =
  752. [
  753. this.createVertexTemplateEntry(sn + '1ftvm;',
  754. w * 34, h * 31, '', '1FTVM', null, null, this.getTagsForStencil(gn, '1ftvm', dt).join(' ')),
  755. this.createVertexTemplateEntry(sn + '1ftvm_error;',
  756. w * 34, h * 31, '', '1FTVM Error', null, null, this.getTagsForStencil(gn, '1ftvm error', dt).join(' ')),
  757. this.createVertexTemplateEntry(sn + '1ftvm_running;',
  758. w * 34, h * 31, '', '1FTVM Running', null, null, this.getTagsForStencil(gn, '1ftvm running', dt).join(' ')),
  759. this.createVertexTemplateEntry(sn + '1ftvm_unavailable;',
  760. w * 34, h * 31, '', '1FTVM Unavailable', null, null, this.getTagsForStencil(gn, '1ftvm unavailable', dt).join(' ')),
  761. this.createVertexTemplateEntry(sn + '1ftvm_warning;',
  762. w * 34, h * 31, '', '1FTVM Warning', null, null, this.getTagsForStencil(gn, '1ftvm warning', dt).join(' ')),
  763. this.createVertexTemplateEntry(sn + '2ftvm;',
  764. w * 34, h * 31, '', '2FTVM', null, null, this.getTagsForStencil(gn, '2ftvm', dt).join(' ')),
  765. this.createVertexTemplateEntry(sn + '2ftvm_error;',
  766. w * 34, h * 31, '', '2FTVM Error', null, null, this.getTagsForStencil(gn, '2ftvm error', dt).join(' ')),
  767. this.createVertexTemplateEntry(sn + '2ftvm_running;',
  768. w * 34, h * 31, '', '2FTVM Running', null, null, this.getTagsForStencil(gn, '2ftvm running', dt).join(' ')),
  769. this.createVertexTemplateEntry(sn + '2ftvm_unavailable;',
  770. w * 34, h * 31, '', '2FTVM Unavailable', null, null, this.getTagsForStencil(gn, '2ftvm unavailable', dt).join(' ')),
  771. this.createVertexTemplateEntry(sn + '2ftvm_warning;',
  772. w * 34, h * 31, '', '2FTVM Warning', null, null, this.getTagsForStencil(gn, '2ftvm warning', dt).join(' ')),
  773. this.createVertexTemplateEntry(sn + 'backup_repository;',
  774. w * 31, h * 31, '', 'Backup Repository', null, null, this.getTagsForStencil(gn, 'backup repository', dt).join(' ')),
  775. this.createVertexTemplateEntry(sn + 'backup_repository_2;',
  776. w * 31, h * 31, '', 'Backup Repository', null, null, this.getTagsForStencil(gn, 'backup repository', dt).join(' ')),
  777. this.createVertexTemplateEntry(sn + 'cd;',
  778. w * 34, h * 13, '', 'CD', null, null, this.getTagsForStencil(gn, 'cd', dt).join(' ')),
  779. this.createVertexTemplateEntry(sn + 'database;',
  780. w * 29, h * 31, '', 'Database', null, null, this.getTagsForStencil(gn, 'database', dt).join(' ')),
  781. this.createVertexTemplateEntry(sn + 'datastore;',
  782. w * 22, h * 30, '', 'Datastore', null, null, this.getTagsForStencil(gn, 'datastore', dt).join(' ')),
  783. this.createVertexTemplateEntry(sn + 'datastore_snapshot;',
  784. w * 27, h * 17, '', 'Datastore Snapshot', null, null, this.getTagsForStencil(gn, 'datastore snapshot', dt).join(' ')),
  785. this.createVertexTemplateEntry(sn + 'datastore_volume;',
  786. w * 27, h * 17, '', 'Datastore Volume', null, null, this.getTagsForStencil(gn, 'datastore volume', dt).join(' ')),
  787. this.createVertexTemplateEntry(sn + 'esx_esxi;',
  788. w * 19, h * 26, '', 'ESX ESXi', null, null, this.getTagsForStencil(gn, 'esx esxi', dt).join(' ')),
  789. this.createVertexTemplateEntry(sn + 'failover_protective_snapshot;',
  790. w * 23, h * 23, '', 'Failover Protective Snapshot', null, null, this.getTagsForStencil(gn, 'failover protective snapshot', dt).join(' ')),
  791. this.createVertexTemplateEntry(sn + 'failover_protective_snapshot_locked;',
  792. w * 28, h * 23, '', 'Failover Protective Snapshot Locked', null, null, this.getTagsForStencil(gn, 'failover protective snapshot locked', dt).join(' ')),
  793. this.createVertexTemplateEntry(sn + 'failover_protective_snapshot_running;',
  794. w * 29, h * 23, '', 'Failover Protective Snapshot Running', null, null, this.getTagsForStencil(gn, 'failover protective snapshot running', dt).join(' ')),
  795. this.createVertexTemplateEntry(sn + 'free_datastore;',
  796. w * 22, h * 30, '', 'Free Datastore', null, null, this.getTagsForStencil(gn, 'free datastore', dt).join(' ')),
  797. this.createVertexTemplateEntry(sn + 'full_datastore;',
  798. w * 22, h * 30, '', 'Full Datastore', null, null, this.getTagsForStencil(gn, 'full datastore', dt).join(' ')),
  799. this.createVertexTemplateEntry(sn + 'hard_drive;fillColor=#637D8A;gradientColor=#324752;strokeColor=none;',
  800. w * 31, h * 14, '', 'Hard Drive', null, null, this.getTagsForStencil(gn, 'hard drive', dt).join(' ')),
  801. this.createVertexTemplateEntry(sn + 'hyper_v_host;',
  802. w * 55, h * 49, '', 'Hyper-V Host', null, null, this.getTagsForStencil(gn, 'hyper-v host', dt).join(' ')),
  803. this.createVertexTemplateEntry(sn + 'lost_space;',
  804. w * 22, h * 30, '', 'Lost Space', null, null, this.getTagsForStencil(gn, 'lost space', dt).join(' ')),
  805. this.createVertexTemplateEntry(sn + 'lun;',
  806. w * 36, h * 20, '', 'LUN', null, null, this.getTagsForStencil(gn, 'lun', dt).join(' ')),
  807. this.createVertexTemplateEntry(sn + 'medium_datastore;',
  808. w * 22, h * 30, '', 'Medium Datastore', null, null, this.getTagsForStencil(gn, 'medium datastore', dt).join(' ')),
  809. this.createVertexTemplateEntry(sn + 'network_card;',
  810. w * 19, h * 20, '', 'Network Card', null, null, this.getTagsForStencil(gn, 'network card', dt).join(' ')),
  811. this.createVertexTemplateEntry(sn + 'physical_storage;',
  812. w * 54, h * 30, '', 'Physical Storage', null, null, this.getTagsForStencil(gn, 'physical_storage', dt).join(' ')),
  813. this.createVertexTemplateEntry(sn + 'proxy;',
  814. w * 23, h * 23, '', 'Proxy', null, null, this.getTagsForStencil(gn, 'proxy', dt).join(' ')),
  815. this.createVertexTemplateEntry(sn + 'proxy_appliance;',
  816. w * 23, h * 23, '', 'Proxy Appliance', null, null, this.getTagsForStencil(gn, 'proxy appliance', dt).join(' ')),
  817. this.createVertexTemplateEntry(sn + 'remote_site;',
  818. w * 23, h * 30, '', 'Remote Site', null, null, this.getTagsForStencil(gn, 'remote site', dt).join(' ')),
  819. this.createVertexTemplateEntry(sn + 'remote_storage;',
  820. w * 26, h * 31, '', 'Remote Storage', null, null, this.getTagsForStencil(gn, 'remote storage', dt).join(' ')),
  821. this.createVertexTemplateEntry(sn + 'resource_pool;',
  822. w * 28, h * 16, '', 'Resource Pool', null, null, this.getTagsForStencil(gn, 'resource pool', dt).join(' ')),
  823. this.createVertexTemplateEntry(sn + 'service_vnic;',
  824. w * 36, h * 32, '', 'Service vNIC', null, null, this.getTagsForStencil(gn, 'service vnic', dt).join(' ')),
  825. this.createVertexTemplateEntry(sn + 'switch;',
  826. w * 55, h * 29, '', 'Switch', null, null, this.getTagsForStencil(gn, 'switch', dt).join(' ')),
  827. this.createVertexTemplateEntry(sn + 'tape;',
  828. w * 29, h * 29, '', 'Tape', null, null, this.getTagsForStencil(gn, 'tape', dt).join(' ')),
  829. this.createVertexTemplateEntry(sn + 'tape_checked;',
  830. w * 35, h * 29, '', 'Tape Checked', null, null, this.getTagsForStencil(gn, 'tape checked', dt).join(' ')),
  831. this.createVertexTemplateEntry(sn + 'tape_ejecting;',
  832. w * 35, h * 29, '', 'Tape Ejecting', null, null, this.getTagsForStencil(gn, 'tape ejecting', dt).join(' ')),
  833. this.createVertexTemplateEntry(sn + 'tape_library;',
  834. w * 31, h * 37, '', 'Tape Library', null, null, this.getTagsForStencil(gn, 'tape library', dt).join(' ')),
  835. this.createVertexTemplateEntry(sn + 'tape_licensed;',
  836. w * 35, h * 29, '', 'Tape Licensed', null, null, this.getTagsForStencil(gn, 'tape licensed', dt).join(' ')),
  837. this.createVertexTemplateEntry(sn + 'tape_recording;',
  838. w * 35, h * 29, '', 'Tape Recording', null, null, this.getTagsForStencil(gn, 'tape recording', dt).join(' ')),
  839. this.createVertexTemplateEntry(sn + 'tape_server;',
  840. w * 23, h * 23, '', 'Tape Server', null, null, this.getTagsForStencil(gn, 'tape server', dt).join(' ')),
  841. this.createVertexTemplateEntry(sn + 'vapp;',
  842. w * 46, h * 31, '', 'vApp', null, null, this.getTagsForStencil(gn, 'vapp', dt).join(' ')),
  843. this.createVertexTemplateEntry(sn + 'vapp_started;',
  844. w * 46, h * 31, '', 'vApp Started', null, null, this.getTagsForStencil(gn, 'vapp started', dt).join(' ')),
  845. this.createVertexTemplateEntry(sn + 'veeam_availability_suite;',
  846. w * 23, h * 23, '', 'Veeam Availability Suite', null, null, this.getTagsForStencil(gn, 'veeam availability suite', dt).join(' ')),
  847. this.createVertexTemplateEntry(sn + 'veeam_backup_and_replication_server;',
  848. w * 23, h * 23, '', 'Veeam Backup and Replication Server', null, null, this.getTagsForStencil(gn, 'veeam backup and replication server', dt).join(' ')),
  849. this.createVertexTemplateEntry(sn + 'veeam_backup_enterprise_manager_server;',
  850. w * 23, h * 23, '', 'Veeam Backup Enterprise Manager Server', null, null, this.getTagsForStencil(gn, 'veeam backup enterprise manager server', dt).join(' ')),
  851. this.createVertexTemplateEntry(sn + 'veeam_backup_search_server;',
  852. w * 23, h * 23, '', 'Veeam Backup Search Server', null, null, this.getTagsForStencil(gn, 'veeam backup search server', dt).join(' ')),
  853. this.createVertexTemplateEntry(sn + 'veeam_one_business_view;',
  854. w * 23, h * 23, '', 'Veeam ONE Business View', null, null, this.getTagsForStencil(gn, 'veeam one business view', dt).join(' ')),
  855. this.createVertexTemplateEntry(sn + 'veeam_one_monitor;',
  856. w * 23, h * 23, '', 'Veeam ONE Monitor', null, null, this.getTagsForStencil(gn, 'veeam one monitor', dt).join(' ')),
  857. this.createVertexTemplateEntry(sn + 'veeam_one_reporter;',
  858. w * 23, h * 23, '', 'Veeam ONE Reporter', null, null, this.getTagsForStencil(gn, 'veeam one reporter', dt).join(' ')),
  859. this.createVertexTemplateEntry(sn + 'veeam_one_server;',
  860. w * 23, h * 23, '', 'Veeam ONE Server', null, null, this.getTagsForStencil(gn, 'veeam one server', dt).join(' ')),
  861. this.createVertexTemplateEntry(sn + 'virtual_machine;',
  862. w * 23, h * 23, '', 'Virtual Machine', null, null, this.getTagsForStencil(gn, 'virtual machine', dt).join(' ')),
  863. this.createVertexTemplateEntry(sn + 'vmware_host;',
  864. w * 55, h * 49, '', 'VMware Host', null, null, this.getTagsForStencil(gn, 'vmware host', dt).join(' ')),
  865. this.createVertexTemplateEntry(sn + 'vm_failed;',
  866. w * 28, h * 23, '', 'VM Failed', null, null, this.getTagsForStencil(gn, 'vm failed', dt).join(' ')),
  867. this.createVertexTemplateEntry(sn + 'vm_linux;',
  868. w * 23, h * 30, '', 'VM Linux', null, null, this.getTagsForStencil(gn, 'vm linux', dt).join(' ')),
  869. this.createVertexTemplateEntry(sn + 'vm_no_network;',
  870. w * 29, h * 23, '', 'VM No Network', null, null, this.getTagsForStencil(gn, 'vm no network', dt).join(' ')),
  871. this.createVertexTemplateEntry(sn + 'vm_problem;',
  872. w * 28, h * 23, '', 'VM Problem', null, null, this.getTagsForStencil(gn, 'vm problem', dt).join(' ')),
  873. this.createVertexTemplateEntry(sn + 'vm_running;',
  874. w * 28, h * 23, '', 'VM Running', null, null, this.getTagsForStencil(gn, 'vm running', dt).join(' ')),
  875. this.createVertexTemplateEntry(sn + 'vm_saved_state;',
  876. w * 29, h * 24, '', 'VM Saved State', null, null, this.getTagsForStencil(gn, 'vm saved state', dt).join(' ')),
  877. this.createVertexTemplateEntry(sn + 'vm_windows;',
  878. w * 23, h * 30, '', 'VM Windows', null, null, this.getTagsForStencil(gn, 'vm windows', dt).join(' ')),
  879. this.createVertexTemplateEntry(sn + 'vnic;',
  880. w * 31, h * 31, '', 'vNIC', null, null, this.getTagsForStencil(gn, 'vnic', dt).join(' ')),
  881. this.createVertexTemplateEntry(sn + 'wan_accelerator;',
  882. w * 23, h * 23, '', 'WAN Accelerator', null, null, this.getTagsForStencil(gn, 'wan accelerator', dt).join(' ')),
  883. this.createVertexTemplateEntry(sn + 'workstation;',
  884. w * 38, h * 31, '', 'Workstation', null, null, this.getTagsForStencil(gn, 'workstation', dt).join(' '))
  885. ];
  886. this.addPalette('veeam23D', 'Veeam / 3D', false, mxUtils.bind(this, function(content)
  887. {
  888. for (var i = 0; i < fns.length; i++)
  889. {
  890. content.appendChild(fns[i](content));
  891. }
  892. }));
  893. };
  894. })();