Sidebar-GCP2.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. (function()
  2. {
  3. Sidebar.prototype.addGCP2Palette = function()
  4. {
  5. this.addGCP2ComputePalette();
  6. this.addGCP2APIPlatformEcosystemsPalette();
  7. this.addGCP2IdentitySecurityPalette();
  8. this.addGCP2BigDataPalette();
  9. this.addGCP2DataTransferPalette();
  10. this.addGCP2CloudAIPalette();
  11. this.addGCP2InternetOfThingsPalette();
  12. this.addGCP2StorageDatabasesPalette();
  13. this.addGCP2ManagementToolsPalette();
  14. this.addGCP2NetworkingPalette();
  15. this.addGCP2DeveloperToolsPalette();
  16. };
  17. Sidebar.prototype.addGCP2ComputePalette = function()
  18. {
  19. var dt = 'gcp google cloud platform compute';
  20. var fns = [];
  21. this.addGCP2CardSet('Compute\nEngine', 'compute_engine', 120, 160, dt + 'compute engine', fns);
  22. this.addGCP2CardSet('GPU', 'gpu', 100, 110, dt + 'gpu graphics processing unit', fns);
  23. this.addGCP2CardSet('App\nEngine', 'app_engine', 110, 130, dt + 'app engine application', fns);
  24. this.addGCP2CardSet('Cloud\nFunctions', 'cloud_functions', 130, 160, dt + 'functions', fns);
  25. this.addGCP2CardSet('Kubernetes\nEngine', 'container_engine', 130, 180, dt + 'kubernetes engine', fns);
  26. this.addGCP2CardSet('Container-\nOptimized OS', 'container_optimized_os', 150, 200, dt + 'container optimized os operating system', fns);
  27. this.addPalette('gcp2Compute', 'GCP / Compute', false, mxUtils.bind(this, function(content)
  28. {
  29. for (var i = 0; i < fns.length; i++)
  30. {
  31. content.appendChild(fns[i](content));
  32. }
  33. }));
  34. };
  35. Sidebar.prototype.addGCP2APIPlatformEcosystemsPalette = function()
  36. {
  37. var dt = 'gcp google cloud platform api ecosystems';
  38. var fns = [];
  39. this.addGCP2CardSet('API\nAnalytics', 'api_analytics', 120, 150, dt + 'api analytics application programming interface', fns);
  40. this.addGCP2CardSet('Apigee\nSense', 'apigee_sense', 110, 150, dt + 'apigee sense', fns);
  41. this.addGCP2CardSet('API\nMonetization', 'api_monetization', 140, 170, dt + 'api monetization application programming interface', fns);
  42. this.addGCP2CardSet('Cloud\nEndpoints', 'cloud_endpoints', 130, 160, dt + 'cloud endpoints', fns);
  43. this.addGCP2CardSet('Apigee API\nPlatform', 'apigee_api_platform', 130, 180, dt + 'apigee api platform application programming interface', fns);
  44. this.addGCP2CardSet('Developer\nPortal', 'developer_portal', 130, 160, dt + 'developer portal', fns);
  45. this.addPalette('gcp2API Platform and Ecosystems', 'GCP / API Platform and Ecosystems', false, mxUtils.bind(this, function(content)
  46. {
  47. for (var i = 0; i < fns.length; i++)
  48. {
  49. content.appendChild(fns[i](content));
  50. }
  51. }));
  52. };
  53. Sidebar.prototype.addGCP2IdentitySecurityPalette = function()
  54. {
  55. var dt = 'gcp google cloud platform identity security';
  56. var fns = [];
  57. this.addGCP2CardSet('Cloud\nIAM', 'cloud_iam', 100, 130, dt + 'cloud iam', fns);
  58. this.addGCP2CardSet('BeyondCorp', 'beyondcorp', 140, 140, dt + 'beyondcorp', fns);
  59. this.addGCP2CardSet('Cloud Resource\nManager', 'cloud_iam', 160, 210, dt + 'cloud resource manager', fns);
  60. this.addGCP2CardSet('Data Loss\nPrevention API', 'data_loss_prevention_api', 150, 210, dt + 'data loss prevention api application programming interface', fns);
  61. this.addGCP2CardSet('Cloud Security\nScanner', 'cloud_security_scanner', 150, 200, dt + 'cloud security scanner', fns);
  62. this.addGCP2CardSet('Key Management\nService', 'key_management_service', 170, 210, dt + 'key management service', fns);
  63. this.addGCP2CardSet('Identity-Aware\nProxy', 'identity_aware_proxy', 150, 190, dt + 'identity aware proxy', fns);
  64. this.addGCP2CardSet('Security Key\nEnforcement', 'security_key_enforcement', 150, 210, dt + 'security key enforcement', fns);
  65. this.addPalette('gcp2Identity and Security', 'GCP / Identity and Security', false, mxUtils.bind(this, function(content)
  66. {
  67. for (var i = 0; i < fns.length; i++)
  68. {
  69. content.appendChild(fns[i](content));
  70. }
  71. }));
  72. };
  73. Sidebar.prototype.addGCP2BigDataPalette = function()
  74. {
  75. var dt = 'gcp google cloud platform big data';
  76. var fns = [];
  77. this.addGCP2CardSet('BigQuery', 'bigquery', 120, 130, dt + 'bigquery', fns);
  78. this.addGCP2CardSet('Cloud\nDatalab', 'cloud_datalab', 110, 150, dt + 'datalab', fns);
  79. this.addGCP2CardSet('Cloud\nDataflow', 'cloud_dataflow', 120, 150, dt + 'dataflow', fns);
  80. this.addGCP2CardSet('Cloud\nPub/Sub', 'cloud_pubsub', 120, 150, dt + 'pub sub', fns);
  81. this.addGCP2CardSet('Cloud\nDataproc', 'cloud_dataproc', 120, 160, dt + 'dataproc', fns);
  82. this.addGCP2CardSet('Genomics', 'genomics', 130, 130, dt + 'genomics', fns);
  83. this.addGCP2CardSet('Cloud\nDataprep', 'cloud_dataprep', 120, 160, dt + 'dataprep', fns);
  84. this.addGCP2CardSet('Data\nStudio', 'data_studio', 110, 140, dt + 'data studio', fns);
  85. this.addPalette('gcp2Big Data', 'GCP / Big Data', false, mxUtils.bind(this, function(content)
  86. {
  87. for (var i = 0; i < fns.length; i++)
  88. {
  89. content.appendChild(fns[i](content));
  90. }
  91. }));
  92. };
  93. Sidebar.prototype.addGCP2DataTransferPalette = function()
  94. {
  95. var dt = 'gcp google cloud platform data transfer';
  96. var fns = [];
  97. this.addGCP2CardSet('Transfer\nAppliance', 'transfer_appliance', 120, 170, dt + 'transfer appliance', fns);
  98. this.addPalette('gcp2Data Transfer', 'GCP / Data Transfer', false, mxUtils.bind(this, function(content)
  99. {
  100. for (var i = 0; i < fns.length; i++)
  101. {
  102. content.appendChild(fns[i](content));
  103. }
  104. }));
  105. };
  106. Sidebar.prototype.addGCP2CloudAIPalette = function()
  107. {
  108. var dt = 'gcp google cloud platform ai artificial intelligence';
  109. var fns = [];
  110. this.addGCP2CardSet('Cloud Machine\nLearning', 'cloud_machine_learning', 150, 200, dt + 'cloud machine learning', fns);
  111. this.addGCP2CardSet('Natural\nLanguage API', 'cloud_natural_language_api', 150, 190, dt + 'natural language api application programming interface', fns);
  112. this.addGCP2CardSet('Vision\nAPI', 'cloud_vision_api', 110, 130, dt + 'vision api application programming interface', fns);
  113. this.addGCP2CardSet('Translation\nAPI', 'cloud_translation_api', 130, 150, dt + 'translation api application programming interface', fns);
  114. this.addGCP2CardSet('Speech\nAPI', 'cloud_speech_api', 110, 140, dt + 'speech api application programming interface', fns);
  115. this.addGCP2CardSet('Jobs\nAPI', 'cloud_jobs_api', 100, 120, dt + 'jobs api application programming interface', fns);
  116. this.addGCP2CardSet('Cloud Video\nIntelligence API', 'cloud_video_intelligence_api', 160, 230, dt + 'cloud video intelligence api application programming interface', fns);
  117. this.addGCP2CardSet('Advanced\nSolutions Lab', 'advanced_solutions_lab', 150, 200, dt + 'advanced solutions lab', fns);
  118. this.addPalette('gcp2Cloud AI', 'GCP / Cloud AI', false, mxUtils.bind(this, function(content)
  119. {
  120. for (var i = 0; i < fns.length; i++)
  121. {
  122. content.appendChild(fns[i](content));
  123. }
  124. }));
  125. };
  126. Sidebar.prototype.addGCP2InternetOfThingsPalette = function()
  127. {
  128. var dt = 'gcp google cloud platform iot internet of things';
  129. var fns = [];
  130. this.addGCP2CardSet('Cloud\nIoT Core', 'cloud_iot_core', 120, 160, dt + 'core', fns);
  131. this.addPalette('gcp2Internet of Things', 'GCP / Internet of Things', false, mxUtils.bind(this, function(content)
  132. {
  133. for (var i = 0; i < fns.length; i++)
  134. {
  135. content.appendChild(fns[i](content));
  136. }
  137. }));
  138. };
  139. Sidebar.prototype.addGCP2StorageDatabasesPalette = function()
  140. {
  141. var dt = 'gcp google cloud platform storage databases';
  142. var fns = [];
  143. this.addGCP2CardSet('Cloud\nStorage', 'cloud_storage', 110, 150, dt, fns);
  144. this.addGCP2CardSet('Cloud\nSQL', 'cloud_sql', 100, 130, dt + 'sql', fns);
  145. this.addGCP2CardSet('Cloud\nBigtable', 'cloud_bigtable', 120, 150, dt + 'bigtable', fns);
  146. this.addGCP2CardSet('Cloud\nSpanner', 'cloud_spanner', 120, 150, dt + 'spanner', fns);
  147. this.addGCP2CardSet('Cloud\nDatastore', 'cloud_datastore', 120, 160, dt + 'datastore', fns);
  148. this.addGCP2CardSet('Persistent\nDisk', 'persistent_disk', 130, 150, dt + 'persistent disk', fns);
  149. this.addGCP2CardSet('Cloud\nMemorystore', 'cloud_memorystore', 140, 180, dt + 'memorystore', fns);
  150. this.addGCP2CardSet('Cloud\nFilestore', 'cloud_filestore', 120, 150, dt + 'filestore', fns);
  151. this.addPalette('gcp2Storage and Databases', 'GCP / Storage and Databases', false, mxUtils.bind(this, function(content)
  152. {
  153. for (var i = 0; i < fns.length; i++)
  154. {
  155. content.appendChild(fns[i](content));
  156. }
  157. }));
  158. };
  159. Sidebar.prototype.addGCP2ManagementToolsPalette = function()
  160. {
  161. var dt = 'gcp google cloud platform management tools';
  162. var fns = [];
  163. this.addGCP2CardSet('Stackdriver', 'stackdriver', 130, 130, dt + 'stackdriver', fns);
  164. this.addGCP2CardSet('Debugger', 'debugger', 130, 130, dt + 'debugger', fns);
  165. this.addGCP2CardSet('Monitoring', 'cloud_deployment_manager', 130, 130, dt + 'monitoring', fns);
  166. this.addGCP2CardSet('Deployment\nManager', 'cloud_deployment_manager', 140, 190, dt + 'deployment manager', fns);
  167. this.addGCP2CardSet('Logging', 'logging', 120, 120, dt + 'logging', fns);
  168. this.addGCP2CardSet('Cloud\nConsole', 'placeholder', 120, 150, dt + 'console', fns);
  169. this.addGCP2CardSet('Error\nReporting', 'error_reporting', 120, 150, dt + 'error reporting', fns);
  170. this.addGCP2CardSet('Cloud\nShell', 'placeholder', 110, 140, dt + 'shell', fns);
  171. this.addGCP2CardSet('Trace', 'trace', 100, 110, dt + 'trace', fns);
  172. this.addGCP2CardSet('Cloud\nMobile App', 'placeholder', 130, 170, dt + 'mobile app', fns);
  173. this.addGCP2CardSet('Profiler', 'profiler', 110, 110, dt + 'profiler', fns);
  174. this.addGCP2CardSet('Billing\nAPI', 'placeholder', 100, 130, dt + 'billing api application programming interface', fns);
  175. this.addGCP2CardSet('Cloud\nAPIs', 'cloud_apis', 100, 130, dt + 'api application programming interface', fns);
  176. this.addPalette('gcp2Management Tools', 'GCP / Management Tools', false, mxUtils.bind(this, function(content)
  177. {
  178. for (var i = 0; i < fns.length; i++)
  179. {
  180. content.appendChild(fns[i](content));
  181. }
  182. }));
  183. };
  184. Sidebar.prototype.addGCP2NetworkingPalette = function()
  185. {
  186. var dt = 'gcp google cloud platform networking';
  187. var fns = [];
  188. this.addGCP2CardSet('Virtual\nPrivate Cloud', 'virtual_private_cloud', 140, 180, dt + 'virtual private', fns);
  189. this.addGCP2CardSet('Dedicated\nInterconnect', 'dedicated_interconnect', 140, 200, dt + 'dedicated interconnect', fns);
  190. this.addGCP2CardSet('Cloud Load\nBalancing', 'cloud_load_balancing', 130, 190, dt + 'load balancing', fns);
  191. this.addGCP2CardSet('Cloud \nDNS', 'cloud_dns', 110, 130, dt + 'dns domain name server', fns);
  192. this.addGCP2CardSet('Cloud \nCDN', 'cloud_cdn', 100, 130, dt + 'cdn content delivery network', fns);
  193. this.addGCP2CardSet('Cloud\nNetwork', 'cloud_network', 120, 150, dt + 'network', fns);
  194. this.addGCP2CardSet('Cloud External\nIP Addresses', 'cloud_external_ip_addresses', 150, 230, dt + 'external ip addresses internet protocol', fns);
  195. this.addGCP2CardSet('Cloud\nRoutes', 'cloud_routes', 110, 150, dt + 'routes', fns);
  196. this.addGCP2CardSet('Cloud\nFirewall Rules', 'cloud_firewall_rules', 150, 180, dt + 'firewall rules', fns);
  197. this.addGCP2CardSet('Cloud\nVPN', 'cloud_vpn', 100, 130, dt + 'vpn virtual private network', fns);
  198. this.addGCP2CardSet('Cloud\nRouter', 'cloud_router', 110, 140, dt + 'router', fns);
  199. this.addGCP2CardSet('Cloud\nArmor', 'cloud_armor', 110, 140, dt + 'armor', fns);
  200. this.addGCP2CardSet('Standard\nNetwork Tier', 'standard_network_tier', 140, 190, dt + 'standard network tier', fns);
  201. this.addGCP2CardSet('Premium\nNetwork Tier', 'premium_network_tier', 140, 190, dt + 'premium network tier', fns);
  202. this.addGCP2CardSet('Partner\nInterconnect', 'partner_interconnect', 140, 180, dt + 'partner interconnect', fns);
  203. this.addPalette('gcp2Networking', 'GCP / Networking', false, mxUtils.bind(this, function(content)
  204. {
  205. for (var i = 0; i < fns.length; i++)
  206. {
  207. content.appendChild(fns[i](content));
  208. }
  209. }));
  210. };
  211. Sidebar.prototype.addGCP2DeveloperToolsPalette = function()
  212. {
  213. var dt = 'gcp google cloud platform dev developer tools';
  214. var fns = [];
  215. this.addGCP2CardSet('Cloud\nSDK', 'placeholder', 100, 130, dt + 'sdk software development kit', fns);
  216. this.addGCP2CardSet('Cloud\nBuild', 'container_builder', 100, 130, dt + 'build', fns);
  217. this.addGCP2CardSet('Deployment\nManager', 'cloud_deployment_manager', 140, 190, dt + 'deployment manager', fns);
  218. this.addGCP2CardSet('Cloud Tools for\nVisual Studio', 'cloud_tools_for_powershell', 150, 230, dt + 'tools for visual studio', fns);
  219. this.addGCP2CardSet('Cloud Source\nRepositories', 'placeholder', 140, 210, dt + 'cloud source repositories', fns);
  220. this.addGCP2CardSet('Maven App\nEngine Plugin', 'placeholder', 150, 210, dt + 'maven app engine plugin', fns);
  221. this.addGCP2CardSet('Cloud Tools\nfor Eclipse', 'placeholder', 150, 210, dt + 'tools for eclipse', fns);
  222. this.addGCP2CardSet('Cloud Tools\nfor IntelliJ', 'placeholder', 140, 190, dt + 'tools for intellij', fns);
  223. this.addGCP2CardSet('Cloud\nTest Lab', 'placeholder', 120, 150, dt + 'test lab', fns);
  224. this.addGCP2CardSet('Cloud Tools for\nPowerShell', 'cloud_tools_for_powershell', 150, 220, dt + 'tools for powershell', fns);
  225. this.addGCP2CardSet('IDE Plugins', 'cloud_tools_for_powershell', 140, 140, dt + 'ide plugins integrated development environment', fns);
  226. this.addGCP2CardSet('Container\nRegistry', 'container_registry', 120, 170, dt + 'container registry', fns);
  227. this.addGCP2CardSet('Gradle App\nEnginge Plugin', 'placeholder', 150, 220, dt + 'gradle app engine plugin application', fns);
  228. this.addPalette('gcp2Developer Tools', 'GCP / Developer Tools', false, mxUtils.bind(this, function(content)
  229. {
  230. for (var i = 0; i < fns.length; i++)
  231. {
  232. content.appendChild(fns[i](content));
  233. }
  234. }));
  235. };
  236. Sidebar.prototype.addGCP2CardSet = function(label, icon, w1, w2, dt, fns)
  237. {
  238. var sb = this;
  239. var s = 'dashed=0;html=1;fillColor=#5184F3;strokeColor=none;' + mxConstants.STYLE_SHAPE + '=mxgraph.gcp2.';
  240. var gn = 'mxgraph.gcp2';
  241. var label1 = label.replace('\n', ' ');
  242. var label1 = label1.replace('- ', '-');
  243. fns.push(
  244. this.addEntry(dt, function()
  245. {
  246. var bg = new mxCell('', new mxGeometry(0, 0, w1, 60), 'strokeColor=#dddddd;fillColor=#ffffff;shadow=1;strokeWidth=1;');
  247. bg.vertex = true;
  248. var icon1 = new mxCell(label, new mxGeometry(0, 0.5, 50, 44), s + icon + ';part=1;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=5;fontColor=#999999;fontSize=12;');
  249. icon1.geometry.relative = true;
  250. icon1.geometry.offset = new mxPoint(5, -22);
  251. icon1.vertex = true;
  252. bg.insert(icon1);
  253. return sb.createVertexTemplateFromCells([bg], bg.geometry.width, bg.geometry.height, label1);
  254. })
  255. );
  256. fns.push(
  257. this.addEntry(dt, function()
  258. {
  259. var bg = new mxCell('', new mxGeometry(0, 0, w2, 60), 'strokeColor=#dddddd;fillColor=#ffffff;shadow=1;strokeWidth=1;');
  260. bg.vertex = true;
  261. var icon1 = new mxCell('<font color="#000000">Name</font><br>' + label1, new mxGeometry(0, 0.5, 50, 44), s + icon + ';part=1;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=5;fontColor=#999999;fontSize=12;');
  262. icon1.geometry.relative = true;
  263. icon1.geometry.offset = new mxPoint(5, -22);
  264. icon1.vertex = true;
  265. bg.insert(icon1);
  266. return sb.createVertexTemplateFromCells([bg], bg.geometry.width, bg.geometry.height, label1);
  267. })
  268. );
  269. fns.push(
  270. this.addEntry(dt, function()
  271. {
  272. var bg1 = new mxCell('', new mxGeometry(8, 5, w2, 60), 'strokeColor=#dddddd;fillColor=#ffffff;shadow=1;strokeWidth=1;');
  273. bg1.vertex = true;
  274. var bg2 = new mxCell('', new mxGeometry(0, 0, w2, 60), 'strokeColor=#dddddd;fillColor=#ffffff;shadow=1;strokeWidth=1;');
  275. bg2.vertex = true;
  276. var icon1 = new mxCell('<font color="#000000">Name</font><br>' + label1, new mxGeometry(0, 0.5, 50, 44), s + icon + ';part=1;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=5;fontColor=#999999;fontSize=12;');
  277. icon1.geometry.relative = true;
  278. icon1.geometry.offset = new mxPoint(5, -22);
  279. icon1.vertex = true;
  280. bg2.insert(icon1);
  281. return sb.createVertexTemplateFromCells([bg1, bg2], bg1.geometry.width + 8, bg1.geometry.height + 5, label1);
  282. })
  283. );
  284. };
  285. })();