@eventcatalog/core 0.2.6 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +39 -39
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1bay4w0 +1 -1
  6. package/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack +0 -0
  8. package/.next/cache/webpack/server-production/0.pack +0 -0
  9. package/.next/cache/webpack/server-production/index.pack +0 -0
  10. package/.next/prerender-manifest.json +1 -1
  11. package/.next/routes-manifest.json +1 -1
  12. package/.next/server/chunks/484.js +94 -58
  13. package/.next/server/pages/404.html +1 -1
  14. package/.next/server/pages/500.html +1 -1
  15. package/.next/server/pages/domains/Orders/events/OrderComplete/logs.html +1 -0
  16. package/.next/server/pages/domains/Orders/events/OrderComplete/logs.json +1 -0
  17. package/.next/server/pages/domains/Orders/events/OrderComplete.html +40 -0
  18. package/.next/server/pages/domains/Orders/events/OrderComplete.json +1 -0
  19. package/.next/server/pages/domains/Orders/events/OrderConfirmed/logs.html +1 -0
  20. package/.next/server/pages/domains/Orders/events/OrderConfirmed/logs.json +1 -0
  21. package/.next/server/pages/domains/Orders/events/OrderConfirmed.html +40 -0
  22. package/.next/server/pages/domains/Orders/events/OrderConfirmed.json +1 -0
  23. package/.next/server/pages/domains/Orders/events/OrderRequested/logs.html +1 -0
  24. package/.next/server/pages/domains/Orders/events/OrderRequested/logs.json +1 -0
  25. package/.next/server/pages/domains/Orders/events/OrderRequested.html +40 -0
  26. package/.next/server/pages/domains/Orders/events/OrderRequested.json +1 -0
  27. package/.next/server/pages/domains/Orders/services/Orders Service.html +2 -0
  28. package/.next/server/pages/domains/Orders/services/Orders Service.json +1 -0
  29. package/.next/server/pages/domains/Orders.html +2 -0
  30. package/.next/server/pages/domains/Orders.json +1 -0
  31. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/logs.html +1 -1
  32. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.html +2 -2
  33. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +1 -1
  34. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.html +2 -2
  35. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +1 -1
  36. package/.next/server/pages/domains/Shopping/events/AddedItemToCart.html +2 -2
  37. package/.next/server/pages/domains/Shopping/events/AddedItemToCart.json +1 -1
  38. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart/logs.html +1 -1
  39. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart.html +2 -2
  40. package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart.json +1 -1
  41. package/.next/server/pages/domains/Shopping.html +2 -2
  42. package/.next/server/pages/domains/Shopping.json +1 -1
  43. package/.next/server/pages/domains.html +3 -2
  44. package/.next/server/pages/domains.json +1 -1
  45. package/.next/server/pages/events/PaymentProcessed/logs.html +1 -1
  46. package/.next/server/pages/events/PaymentProcessed/logs.json +1 -1
  47. package/.next/server/pages/events/PaymentProcessed.html +2 -2
  48. package/.next/server/pages/events/PaymentProcessed.json +1 -1
  49. package/.next/server/pages/events/ShipmentDelivered/logs.html +1 -1
  50. package/.next/server/pages/events/ShipmentDelivered/logs.json +1 -1
  51. package/.next/server/pages/events/ShipmentDelivered.html +2 -2
  52. package/.next/server/pages/events/ShipmentDelivered.json +1 -1
  53. package/.next/server/pages/events/ShipmentDispatched/logs.html +1 -1
  54. package/.next/server/pages/events/ShipmentDispatched/logs.json +1 -1
  55. package/.next/server/pages/events/ShipmentDispatched.html +2 -2
  56. package/.next/server/pages/events/ShipmentDispatched.json +1 -1
  57. package/.next/server/pages/events/ShipmentPrepared/logs.html +1 -1
  58. package/.next/server/pages/events/ShipmentPrepared/logs.json +1 -1
  59. package/.next/server/pages/events/ShipmentPrepared.html +2 -2
  60. package/.next/server/pages/events/ShipmentPrepared.json +1 -1
  61. package/.next/server/pages/events.html +6 -6
  62. package/.next/server/pages/events.json +1 -1
  63. package/.next/server/pages/index.html +1 -1
  64. package/.next/server/pages/overview.html +1 -1
  65. package/.next/server/pages/overview.json +1 -1
  66. package/.next/server/pages/services/Orders Service.html +1 -0
  67. package/.next/server/pages/services/Orders Service.json +1 -0
  68. package/.next/server/pages/services/Payment Service.html +2 -2
  69. package/.next/server/pages/services/Payment Service.json +1 -1
  70. package/.next/server/pages/services/Shipping Service.html +2 -2
  71. package/.next/server/pages/services/Shipping Service.json +1 -1
  72. package/.next/server/pages/services.html +3 -2
  73. package/.next/server/pages/services.json +1 -1
  74. package/.next/server/pages/users/dboyne.html +10 -8
  75. package/.next/server/pages/users/dboyne.json +1 -1
  76. package/.next/server/pages/users/mSmith.html +8 -7
  77. package/.next/server/pages/users/mSmith.json +1 -1
  78. package/.next/server/pages/visualiser.html +5 -3
  79. package/.next/server/pages/visualiser.js +75 -13
  80. package/.next/server/pages/visualiser.json +1 -1
  81. package/.next/static/{uU7KyJvHmITLw1dYsKWVm → 053__bBTIZvPKam2MmLPC}/_buildManifest.js +1 -1
  82. package/.next/static/{uU7KyJvHmITLw1dYsKWVm → 053__bBTIZvPKam2MmLPC}/_middlewareManifest.js +0 -0
  83. package/.next/static/{uU7KyJvHmITLw1dYsKWVm → 053__bBTIZvPKam2MmLPC}/_ssgManifest.js +0 -0
  84. package/.next/static/chunks/109-7e910ba645edff2d.js +1 -0
  85. package/.next/static/chunks/b744740b-594b36f2f589c271.js +1 -0
  86. package/.next/static/chunks/pages/visualiser-5ba1bdaa135986ba.js +1 -0
  87. package/.next/static/chunks/{webpack-7adfcbd8c9cf8b5d.js → webpack-e5e3b0fb197a3a00.js} +1 -1
  88. package/.next/static/css/0a26a4437a9215b6.css +3 -0
  89. package/.next/trace +57 -57
  90. package/CHANGELOG.md +18 -0
  91. package/components/Mdx/NodeGraph/GraphElements.tsx +35 -8
  92. package/components/Mdx/NodeGraph/GraphLayout.ts +50 -2
  93. package/components/Mdx/NodeGraph/NodeGraph.tsx +24 -41
  94. package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphElements.spec.ts.snap +37 -11
  95. package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphLayout.spec.ts.snap +6 -6
  96. package/out/404/index.html +1 -1
  97. package/out/_next/data/053__bBTIZvPKam2MmLPC/domains/Orders/events/OrderComplete/logs.json +1 -0
  98. package/out/_next/data/053__bBTIZvPKam2MmLPC/domains/Orders/events/OrderComplete.json +1 -0
  99. package/out/_next/data/053__bBTIZvPKam2MmLPC/domains/Orders/events/OrderConfirmed/logs.json +1 -0
  100. package/out/_next/data/053__bBTIZvPKam2MmLPC/domains/Orders/events/OrderConfirmed.json +1 -0
  101. package/out/_next/data/053__bBTIZvPKam2MmLPC/domains/Orders/events/OrderRequested/logs.json +1 -0
  102. package/out/_next/data/053__bBTIZvPKam2MmLPC/domains/Orders/events/OrderRequested.json +1 -0
  103. package/out/_next/data/053__bBTIZvPKam2MmLPC/domains/Orders/services/Orders Service.json +1 -0
  104. package/out/_next/data/053__bBTIZvPKam2MmLPC/domains/Orders.json +1 -0
  105. package/out/_next/data/{uU7KyJvHmITLw1dYsKWVm → 053__bBTIZvPKam2MmLPC}/domains/Shopping/events/AddedItemToCart/logs.json +0 -0
  106. package/out/_next/data/{uU7KyJvHmITLw1dYsKWVm → 053__bBTIZvPKam2MmLPC}/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +1 -1
  107. package/out/_next/data/{uU7KyJvHmITLw1dYsKWVm → 053__bBTIZvPKam2MmLPC}/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +1 -1
  108. package/out/_next/data/{uU7KyJvHmITLw1dYsKWVm → 053__bBTIZvPKam2MmLPC}/domains/Shopping/events/AddedItemToCart.json +1 -1
  109. package/out/_next/data/{uU7KyJvHmITLw1dYsKWVm → 053__bBTIZvPKam2MmLPC}/domains/Shopping/events/RemovedItemFromCart/logs.json +0 -0
  110. package/out/_next/data/{uU7KyJvHmITLw1dYsKWVm → 053__bBTIZvPKam2MmLPC}/domains/Shopping/events/RemovedItemFromCart.json +1 -1
  111. package/out/_next/data/053__bBTIZvPKam2MmLPC/domains/Shopping.json +1 -0
  112. package/out/_next/data/053__bBTIZvPKam2MmLPC/domains.json +1 -0
  113. package/out/_next/data/053__bBTIZvPKam2MmLPC/events/PaymentProcessed/logs.json +1 -0
  114. package/out/_next/data/053__bBTIZvPKam2MmLPC/events/PaymentProcessed.json +1 -0
  115. package/out/_next/data/053__bBTIZvPKam2MmLPC/events/ShipmentDelivered/logs.json +1 -0
  116. package/out/_next/data/053__bBTIZvPKam2MmLPC/events/ShipmentDelivered.json +1 -0
  117. package/out/_next/data/053__bBTIZvPKam2MmLPC/events/ShipmentDispatched/logs.json +1 -0
  118. package/out/_next/data/053__bBTIZvPKam2MmLPC/events/ShipmentDispatched.json +1 -0
  119. package/out/_next/data/053__bBTIZvPKam2MmLPC/events/ShipmentPrepared/logs.json +1 -0
  120. package/out/_next/data/053__bBTIZvPKam2MmLPC/events/ShipmentPrepared.json +1 -0
  121. package/out/_next/data/053__bBTIZvPKam2MmLPC/events.json +1 -0
  122. package/out/_next/data/053__bBTIZvPKam2MmLPC/overview.json +1 -0
  123. package/out/_next/data/053__bBTIZvPKam2MmLPC/services/Orders Service.json +1 -0
  124. package/out/_next/data/053__bBTIZvPKam2MmLPC/services/Payment Service.json +1 -0
  125. package/out/_next/data/053__bBTIZvPKam2MmLPC/services/Shipping Service.json +1 -0
  126. package/out/_next/data/053__bBTIZvPKam2MmLPC/services.json +1 -0
  127. package/out/_next/data/053__bBTIZvPKam2MmLPC/users/dboyne.json +1 -0
  128. package/out/_next/data/053__bBTIZvPKam2MmLPC/users/mSmith.json +1 -0
  129. package/out/_next/data/053__bBTIZvPKam2MmLPC/visualiser.json +1 -0
  130. package/out/_next/static/{uU7KyJvHmITLw1dYsKWVm → 053__bBTIZvPKam2MmLPC}/_buildManifest.js +1 -1
  131. package/out/_next/static/{uU7KyJvHmITLw1dYsKWVm → 053__bBTIZvPKam2MmLPC}/_middlewareManifest.js +0 -0
  132. package/out/_next/static/{uU7KyJvHmITLw1dYsKWVm → 053__bBTIZvPKam2MmLPC}/_ssgManifest.js +0 -0
  133. package/out/_next/static/chunks/109-7e910ba645edff2d.js +1 -0
  134. package/out/_next/static/chunks/b744740b-594b36f2f589c271.js +1 -0
  135. package/out/_next/static/chunks/pages/visualiser-5ba1bdaa135986ba.js +1 -0
  136. package/out/_next/static/chunks/{webpack-7adfcbd8c9cf8b5d.js → webpack-e5e3b0fb197a3a00.js} +1 -1
  137. package/out/_next/static/css/0a26a4437a9215b6.css +3 -0
  138. package/out/domains/Orders/events/OrderComplete/index.html +40 -0
  139. package/out/domains/Orders/events/OrderComplete/logs/index.html +1 -0
  140. package/out/domains/Orders/events/OrderConfirmed/index.html +40 -0
  141. package/out/domains/Orders/events/OrderConfirmed/logs/index.html +1 -0
  142. package/out/domains/Orders/events/OrderRequested/index.html +40 -0
  143. package/out/domains/Orders/events/OrderRequested/logs/index.html +1 -0
  144. package/out/domains/Orders/index.html +2 -0
  145. package/out/domains/Orders/services/Orders Service/index.html +2 -0
  146. package/out/domains/Shopping/events/AddedItemToCart/index.html +2 -2
  147. package/out/domains/Shopping/events/AddedItemToCart/logs/index.html +1 -1
  148. package/out/domains/Shopping/events/AddedItemToCart/v/0.0.1/index.html +2 -2
  149. package/out/domains/Shopping/events/AddedItemToCart/v/0.0.2/index.html +2 -2
  150. package/out/domains/Shopping/events/RemovedItemFromCart/index.html +2 -2
  151. package/out/domains/Shopping/events/RemovedItemFromCart/logs/index.html +1 -1
  152. package/out/domains/Shopping/index.html +2 -2
  153. package/out/domains/index.html +3 -2
  154. package/out/events/PaymentProcessed/index.html +2 -2
  155. package/out/events/PaymentProcessed/logs/index.html +1 -1
  156. package/out/events/ShipmentDelivered/index.html +2 -2
  157. package/out/events/ShipmentDelivered/logs/index.html +1 -1
  158. package/out/events/ShipmentDispatched/index.html +2 -2
  159. package/out/events/ShipmentDispatched/logs/index.html +1 -1
  160. package/out/events/ShipmentPrepared/index.html +2 -2
  161. package/out/events/ShipmentPrepared/logs/index.html +1 -1
  162. package/out/events/index.html +6 -6
  163. package/out/index.html +1 -1
  164. package/out/overview/index.html +1 -1
  165. package/out/services/Orders Service/index.html +1 -0
  166. package/out/services/Payment Service/index.html +2 -2
  167. package/out/services/Shipping Service/index.html +2 -2
  168. package/out/services/index.html +3 -2
  169. package/out/users/dboyne/index.html +10 -8
  170. package/out/users/mSmith/index.html +8 -7
  171. package/out/visualiser/index.html +5 -3
  172. package/package.json +1 -1
  173. package/pages/visualiser.tsx +55 -3
  174. package/.next/server/pages/events/OrderComplete/logs.html +0 -1
  175. package/.next/server/pages/events/OrderComplete/logs.json +0 -1
  176. package/.next/server/pages/events/OrderComplete.html +0 -40
  177. package/.next/server/pages/events/OrderComplete.json +0 -1
  178. package/.next/server/pages/events/OrderConfirmed/logs.html +0 -1
  179. package/.next/server/pages/events/OrderConfirmed/logs.json +0 -1
  180. package/.next/server/pages/events/OrderConfirmed.html +0 -40
  181. package/.next/server/pages/events/OrderConfirmed.json +0 -1
  182. package/.next/server/pages/events/OrderRequested/logs.html +0 -1
  183. package/.next/server/pages/events/OrderRequested/logs.json +0 -1
  184. package/.next/server/pages/events/OrderRequested.html +0 -40
  185. package/.next/server/pages/events/OrderRequested.json +0 -1
  186. package/.next/static/chunks/109-c7517eb568876b36.js +0 -1
  187. package/.next/static/chunks/b744740b-32af777c67e2c3ff.js +0 -1
  188. package/.next/static/chunks/pages/visualiser-d4ac3f309ff00b17.js +0 -1
  189. package/.next/static/css/70ede87da43120f8.css +0 -3
  190. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/domains/Shopping.json +0 -1
  191. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/domains.json +0 -1
  192. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/events/OrderComplete/logs.json +0 -1
  193. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/events/OrderComplete.json +0 -1
  194. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/events/OrderConfirmed/logs.json +0 -1
  195. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/events/OrderConfirmed.json +0 -1
  196. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/events/OrderRequested/logs.json +0 -1
  197. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/events/OrderRequested.json +0 -1
  198. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/events/PaymentProcessed/logs.json +0 -1
  199. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/events/PaymentProcessed.json +0 -1
  200. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/events/ShipmentDelivered/logs.json +0 -1
  201. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/events/ShipmentDelivered.json +0 -1
  202. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/events/ShipmentDispatched/logs.json +0 -1
  203. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/events/ShipmentDispatched.json +0 -1
  204. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/events/ShipmentPrepared/logs.json +0 -1
  205. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/events/ShipmentPrepared.json +0 -1
  206. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/events.json +0 -1
  207. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/overview.json +0 -1
  208. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/services/Payment Service.json +0 -1
  209. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/services/Shipping Service.json +0 -1
  210. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/services.json +0 -1
  211. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/users/dboyne.json +0 -1
  212. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/users/mSmith.json +0 -1
  213. package/out/_next/data/uU7KyJvHmITLw1dYsKWVm/visualiser.json +0 -1
  214. package/out/_next/static/chunks/109-c7517eb568876b36.js +0 -1
  215. package/out/_next/static/chunks/b744740b-32af777c67e2c3ff.js +0 -1
  216. package/out/_next/static/chunks/pages/visualiser-d4ac3f309ff00b17.js +0 -1
  217. package/out/_next/static/css/70ede87da43120f8.css +0 -3
  218. package/out/events/OrderComplete/index.html +0 -40
  219. package/out/events/OrderComplete/logs/index.html +0 -1
  220. package/out/events/OrderConfirmed/index.html +0 -40
  221. package/out/events/OrderConfirmed/logs/index.html +0 -1
  222. package/out/events/OrderRequested/index.html +0 -40
  223. package/out/events/OrderRequested/logs/index.html +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @eventcatalog/core
2
2
 
3
+ ## 0.2.9
4
+
5
+ ### Patch Changes
6
+
7
+ - [`3740427`](https://github.com/boyney123/eventcatalog/commit/37404275e021c4d55ae43f5efbf12e321bf65025) [#230](https://github.com/boyney123/eventcatalog/pull/230) Thanks [@boyney123](https://github.com/boyney123)! - fix: visualiser now supports long names in diagram (again)
8
+
9
+ ## 0.2.8
10
+
11
+ ### Patch Changes
12
+
13
+ - [`2985a14`](https://github.com/boyney123/eventcatalog/commit/2985a14ecdebb5f15ea0ff6512ee88f8863e676f) [#227](https://github.com/boyney123/eventcatalog/pull/227) Thanks [@boyney123](https://github.com/boyney123)! - feat: adding new node in visualiser to show all events and services
14
+
15
+ ## 0.2.7
16
+
17
+ ### Patch Changes
18
+
19
+ - [`4e03a95`](https://github.com/boyney123/eventcatalog/commit/4e03a95f1420c36169232723f277e88b12c3d5f7) [#224](https://github.com/boyney123/eventcatalog/pull/224) Thanks [@boyney123](https://github.com/boyney123)! - feat: visualiser on click now sets query params
20
+
3
21
  ## 0.2.6
4
22
 
5
23
  ### Patch Changes
@@ -25,11 +25,23 @@ const buildNodeEdge = ({ id, target, source, label, isAnimated = true }): Edge =
25
25
  labelBgStyle: { fill: 'white', color: '#fff', fillOpacity: 0.5 },
26
26
  });
27
27
 
28
- const buildNodeData = ({ name, label, type, maxWidth }: { name: string; label: string; type: NODE_TYPES; maxWidth?: number }) => {
28
+ const buildNodeData = ({
29
+ name,
30
+ label,
31
+ type,
32
+ maxWidth,
33
+ renderInColumn,
34
+ }: {
35
+ name: string;
36
+ label: string;
37
+ type: NODE_TYPES;
38
+ maxWidth?: number;
39
+ renderInColumn?: number;
40
+ }) => {
29
41
  const width = calcWidth(label);
30
42
  const linkType = type === 'service' ? 'services' : 'events';
31
43
  const link = generateLink(name, linkType);
32
- return { label, link, width, maxWidth };
44
+ return { label, link, width, maxWidth, renderInColumn };
33
45
  };
34
46
 
35
47
  const getNodeLabel = ({ type, label, includeIcon }: { type: NODE_TYPES; label: any; includeIcon: boolean }) => {
@@ -77,7 +89,7 @@ export const getEventElements = (
77
89
  const labelToRender = getNodeLabel({ type: 'service', label, includeIcon: includeNodeIcons });
78
90
  return {
79
91
  id,
80
- data: buildNodeData({ name: label, label: labelToRender, type: 'service', maxWidth: nodeMaxWidth }),
92
+ data: buildNodeData({ name: label, label: labelToRender, type: 'service', maxWidth: nodeMaxWidth, renderInColumn: 1 }),
81
93
  style: { border: `2px solid ${producerColor}`, width: nodeWidth, ...nodeStyles },
82
94
  type: 'input',
83
95
  position,
@@ -88,7 +100,7 @@ export const getEventElements = (
88
100
  const labelToRender = getNodeLabel({ type: 'service', label, includeIcon: includeNodeIcons });
89
101
  return {
90
102
  id,
91
- data: buildNodeData({ name: label, label: labelToRender, type: 'service', maxWidth: maxConsumersWidth }),
103
+ data: buildNodeData({ name: label, label: labelToRender, type: 'service', maxWidth: maxConsumersWidth, renderInColumn: 3 }),
92
104
  style: { border: `2px solid ${consumerColor}`, width, ...nodeStyles },
93
105
  type: 'output',
94
106
  position,
@@ -102,6 +114,7 @@ export const getEventElements = (
102
114
  label: getNodeLabel({ type: 'event', label: eventName, includeIcon: includeNodeIcons }),
103
115
  type: 'event',
104
116
  maxWidth: eventNodeWidth,
117
+ renderInColumn: 2,
105
118
  }),
106
119
  style: {
107
120
  border: `2px solid ${rootNodeColor}`,
@@ -114,7 +127,7 @@ export const getEventElements = (
114
127
  // Build connections
115
128
  const producersEdges: Edge[] = producers.map(({ id, label }) =>
116
129
  buildNodeEdge({
117
- id: `epe-${label.replace(/ /g, '_')}`,
130
+ id: `epe-${label.replace(/ /g, '_')}-${eventNameAsNodeID}`,
118
131
  source: id,
119
132
  target: eventNameAsNodeID,
120
133
  isAnimated,
@@ -123,7 +136,7 @@ export const getEventElements = (
123
136
  );
124
137
  const consumersEdges: Edge[] = consumers.map(({ id, label }) =>
125
138
  buildNodeEdge({
126
- id: `ece-${label.replace(/ /g, '_')}`,
139
+ id: `ece-${label.replace(/ /g, '_')}-${eventNameAsNodeID}`,
127
140
  target: id,
128
141
  source: eventNameAsNodeID,
129
142
  isAnimated,
@@ -171,7 +184,13 @@ export const getServiceElements = (
171
184
  const labelToRender = getNodeLabel({ type: 'event', label: node.name, includeIcon: includeNodeIcons });
172
185
  return {
173
186
  id: `pub-${node.name.replace(/ /g, '_')}`,
174
- data: buildNodeData({ name: node.name, label: labelToRender, type: 'event', maxWidth: maxPublishesWidth }),
187
+ data: buildNodeData({
188
+ name: node.name,
189
+ label: labelToRender,
190
+ type: 'event',
191
+ maxWidth: maxPublishesWidth,
192
+ renderInColumn: 3,
193
+ }),
175
194
  style: { border: `2px solid ${publishColor}`, width: nodeWidth, ...nodeStyles },
176
195
  type: 'output',
177
196
  position,
@@ -184,7 +203,14 @@ export const getServiceElements = (
184
203
  const labelToRender = getNodeLabel({ type: 'event', label: node.name, includeIcon: includeNodeIcons });
185
204
  return {
186
205
  id: `sub-${node.name.replace(/ /g, '_')}`,
187
- data: buildNodeData({ name: node.name, label: labelToRender, type: 'event', maxWidth: nodeMaxWidth, ...nodeStyles }),
206
+ data: buildNodeData({
207
+ name: node.name,
208
+ label: labelToRender,
209
+ type: 'event',
210
+ maxWidth: nodeMaxWidth,
211
+ ...nodeStyles,
212
+ renderInColumn: 1,
213
+ }),
188
214
  style: {
189
215
  border: `2px solid ${subscribeColor}`,
190
216
  width: nodeWidth,
@@ -202,6 +228,7 @@ export const getServiceElements = (
202
228
  label: getNodeLabel({ type: 'service', label: serviceName, includeIcon: includeNodeIcons }),
203
229
  type: 'service',
204
230
  maxWidth: calcWidth(serviceName),
231
+ renderInColumn: 2,
205
232
  }),
206
233
  style: {
207
234
  border: `2px solid ${rootNodeColor}`,
@@ -6,6 +6,27 @@ const nodeDefaultHeight = 36;
6
6
  const offset = 48;
7
7
  const verticalOffset = offset / 1.5;
8
8
 
9
+ const getMaxWidthElementFromPreviousColumn = (elements, column) => {
10
+ const elementsInColumn = elements.filter((element) => element?.data?.renderInColumn === column);
11
+
12
+ if (elementsInColumn.length === 0) return {};
13
+ if (elementsInColumn.length === 1) return elementsInColumn[0];
14
+
15
+ const maxWidthElement = elementsInColumn.reduce((currentElement, element) => {
16
+ const currentElementWidth = currentElement?.data?.maxWidth || currentElement?.data?.width || nodeDefaultWidth;
17
+ const elementWidth = element?.data?.maxWidth || element?.data.width || nodeDefaultWidth;
18
+ return elementWidth > currentElementWidth ? element : currentElement;
19
+ }, elementsInColumn[0]);
20
+
21
+ return maxWidthElement;
22
+ };
23
+
24
+ const getXPositionFromElement = (elem) => {
25
+ const elementWidth = elem?.data?.maxWidth || elem.width || nodeDefaultWidth;
26
+ const currentXPositionOfElement = elem.position.x;
27
+ return currentXPositionOfElement + elementWidth;
28
+ };
29
+
9
30
  export default function createGraphLayout(elements: Elements, isHorizontal: boolean): Elements {
10
31
  const dagreGraph = new dagre.graphlib.Graph();
11
32
 
@@ -29,16 +50,43 @@ export default function createGraphLayout(elements: Elements, isHorizontal: bool
29
50
  // Calculate the layout, to get the node positions with their widths and heights
30
51
  dagre.layout(dagreGraph);
31
52
 
32
- return elements.map((element) => {
53
+ const allNodes = elements.filter((element) => element.data);
54
+ const allEdges = elements.filter((element) => !element.data);
55
+
56
+ const sortedNodesByColumn = allNodes.sort((nodeA, nodeB) =>
57
+ // eslint-disable-next-line no-nested-ternary
58
+ nodeA.data.renderInColumn > nodeB.data.renderInColumn ? 1 : nodeB.data.renderInColumn > nodeA.data.renderInColumn ? -1 : 0
59
+ );
60
+ const allData = [...sortedNodesByColumn, ...allEdges];
61
+
62
+ return allData.map((element) => {
33
63
  if (isNode(element)) {
34
64
  const node = dagreGraph.node(element.id);
35
65
  element.targetPosition = isHorizontal ? Position.Left : Position.Top;
36
66
  element.sourcePosition = isHorizontal ? Position.Right : Position.Bottom;
67
+
68
+ const paddingBetweenNodes = element.data.renderInColumn > 1 ? 75 : 0;
69
+ const currentColumnToRenderIn = element?.data?.renderInColumn;
70
+ const maxWidthElementFromPreviousColumn = getMaxWidthElementFromPreviousColumn(elements, currentColumnToRenderIn - 1);
71
+
72
+ const nodeX =
73
+ Object.keys(maxWidthElementFromPreviousColumn).length > 0
74
+ ? getXPositionFromElement(maxWidthElementFromPreviousColumn)
75
+ : 0;
76
+
37
77
  element.position = {
38
- x: offset / 2 + node.x - (element?.data?.maxWidth || node.width) / 2,
78
+ x: nodeX + paddingBetweenNodes,
39
79
  y: node.y - node.height / 2,
40
80
  };
81
+
82
+ // This is due to an issue with ReactFlow giving errors when we set the width in the styles.
83
+ if (element.style.width) {
84
+ if (element.style.width <= nodeDefaultWidth) {
85
+ element.style.width = undefined;
86
+ }
87
+ }
41
88
  }
89
+
42
90
  return element;
43
91
  });
44
92
  }
@@ -1,13 +1,19 @@
1
- import React, { useCallback, useEffect, useRef, useState } from 'react';
1
+ import React, { useCallback, useEffect, useState } from 'react';
2
2
  import Link from 'next/link';
3
- import ReactFlow, { Controls, ReactFlowProvider, useStoreState, Background, useZoomPanHelper } from 'react-flow-renderer';
3
+ import ReactFlow, { Controls, ReactFlowProvider, Background, useZoomPanHelper } from 'react-flow-renderer';
4
4
  import { Domain, Event, Service } from '@eventcatalog/types';
5
5
  import { getEventElements, getServiceElements } from './GraphElements';
6
6
  import createGraphLayout, { calcCanvasHeight } from './GraphLayout';
7
7
 
8
+ interface CombinedEventsAndServices {
9
+ events: Event[];
10
+ services: Service[];
11
+ name?: string;
12
+ }
13
+
8
14
  interface NodeGraphBuilderProps {
9
- data: Event | Service | Domain;
10
- source: 'event' | 'service' | 'domain';
15
+ data: Event | Service | Domain | CombinedEventsAndServices;
16
+ source: 'event' | 'service' | 'domain' | 'all';
11
17
  title?: string;
12
18
  subtitle?: string;
13
19
  rootNodeColor?: string;
@@ -44,14 +50,17 @@ function NodeGraphBuilder({
44
50
  title,
45
51
  subtitle,
46
52
  }: NodeGraphBuilderProps) {
47
- const getElements = () => {
48
- if (source === 'domain') {
49
- const domainData = data as Domain;
50
- const totalEventElements = domainData.events.map((event) => getEventElements(event, rootNodeColor, isAnimated, true, true));
51
- const totalServiceElements = domainData.services.map((service) =>
53
+ const getElements = useCallback(() => {
54
+ if (source === 'domain' || source === 'all') {
55
+ const graphData = source === 'domain' ? (data as Domain) : (data as CombinedEventsAndServices);
56
+ const totalEventElements = graphData.events.map((event) => getEventElements(event, rootNodeColor, isAnimated, true, true));
57
+ const totalServiceElements = graphData.services.map((service) =>
52
58
  getServiceElements(service, rootNodeColor, isAnimated, true, true)
53
59
  );
54
- return totalEventElements.flat().concat(totalServiceElements.flat());
60
+ const eventsWithServices = totalEventElements.flat().concat(totalServiceElements.flat());
61
+ // after we merge make sure all elements are unique for the diagram
62
+ // @ts-ignore
63
+ return [...new Map(eventsWithServices.map((item) => [item.id, item])).values()];
55
64
  }
56
65
 
57
66
  if (source === 'event') {
@@ -59,45 +68,19 @@ function NodeGraphBuilder({
59
68
  }
60
69
 
61
70
  return getServiceElements(data as Service, rootNodeColor, isAnimated, includeEdgeLabels, includeNodeIcons);
62
- };
71
+ }, [data, includeEdgeLabels, includeNodeIcons, isAnimated, rootNodeColor, source]);
63
72
 
64
- // Initialize graph layout
65
- const isInitializedRef = useRef(false);
66
- const nodes = useStoreState((state) => state.nodes);
67
- const edges = useStoreState((state) => state.edges);
68
73
  const { fitView: resetView } = useZoomPanHelper();
69
74
 
70
- // Calculate initial element layout
71
- const graphElements = createGraphLayout(getElements(), isHorizontal);
72
- const [elements, setElements] = useState(graphElements);
75
+ const [elements, setElements] = useState([]);
73
76
 
74
- // if data changes, reset the elements
75
77
  useEffect(() => {
76
- const updatedElements = createGraphLayout(getElements(), isHorizontal);
77
- setElements(updatedElements);
78
+ const elementsForGraph = createGraphLayout(getElements(), isHorizontal);
79
+ setElements(elementsForGraph);
78
80
  setTimeout(() => {
79
81
  resetView();
80
82
  }, 1);
81
- // eslint-disable-next-line react-hooks/exhaustive-deps
82
- }, [data]);
83
-
84
- // Rerender graph layout to get rendered width/height for nodes/edges
85
- useEffect(() => {
86
- if (
87
- isInitializedRef.current === false &&
88
- nodes.length > 0 &&
89
- // eslint-disable-next-line no-underscore-dangle
90
- nodes?.[0]?.__rf.width != null
91
- ) {
92
- // Calculate element layout
93
- const updateElements = () => {
94
- const updatedElements = createGraphLayout([...nodes, ...edges], isHorizontal);
95
- setElements(updatedElements);
96
- isInitializedRef.current = true;
97
- };
98
- updateElements();
99
- }
100
- }, [nodes, edges, isInitializedRef, isHorizontal]);
83
+ }, [data, getElements, isHorizontal, resetView]);
101
84
 
102
85
  // ReactFlow operations
103
86
  const onElementClick = (event, element) => window.open(element.data.link, '_self');
@@ -7,6 +7,7 @@ Array [
7
7
  "label": "Service 1",
8
8
  "link": "/docs/services/Service 1",
9
9
  "maxWidth": -332,
10
+ "renderInColumn": 1,
10
11
  "width": 150,
11
12
  },
12
13
  "id": "pr-Service_1",
@@ -26,6 +27,7 @@ Array [
26
27
  "label": "Service 2",
27
28
  "link": "/docs/services/Service 2",
28
29
  "maxWidth": -332,
30
+ "renderInColumn": 1,
29
31
  "width": 150,
30
32
  },
31
33
  "id": "pr-Service_2",
@@ -45,6 +47,7 @@ Array [
45
47
  "label": "very very very very very very very very very very very very long name Service 3",
46
48
  "link": "/docs/services/very very very very very very very very very very very very long name Service 3",
47
49
  "maxWidth": 632,
50
+ "renderInColumn": 1,
48
51
  "width": 632,
49
52
  },
50
53
  "id": "pr-very_very_very_very_very_very_very_very_very_very_very_very_long_name_Service_3",
@@ -64,6 +67,7 @@ Array [
64
67
  "label": "My Event",
65
68
  "link": "/docs/events/My Event",
66
69
  "maxWidth": 150,
70
+ "renderInColumn": 2,
67
71
  "width": 150,
68
72
  },
69
73
  "id": "ev-My_Event",
@@ -82,6 +86,7 @@ Array [
82
86
  "label": "Service 4",
83
87
  "link": "/docs/services/Service 4",
84
88
  "maxWidth": 616,
89
+ "renderInColumn": 3,
85
90
  "width": 150,
86
91
  },
87
92
  "id": "co-Service_4",
@@ -101,6 +106,7 @@ Array [
101
106
  "label": "Service 5",
102
107
  "link": "/docs/services/Service 5",
103
108
  "maxWidth": 616,
109
+ "renderInColumn": 3,
104
110
  "width": 150,
105
111
  },
106
112
  "id": "co-Service_5",
@@ -120,6 +126,7 @@ Array [
120
126
  "label": "Service 6",
121
127
  "link": "/docs/services/Service 6",
122
128
  "maxWidth": 616,
129
+ "renderInColumn": 3,
123
130
  "width": 150,
124
131
  },
125
132
  "id": "co-Service_6",
@@ -139,6 +146,7 @@ Array [
139
146
  "label": "Service 7",
140
147
  "link": "/docs/services/Service 7",
141
148
  "maxWidth": 616,
149
+ "renderInColumn": 3,
142
150
  "width": 150,
143
151
  },
144
152
  "id": "co-Service_7",
@@ -158,6 +166,7 @@ Array [
158
166
  "label": "Service 8",
159
167
  "link": "/docs/services/Service 8",
160
168
  "maxWidth": 616,
169
+ "renderInColumn": 3,
161
170
  "width": 150,
162
171
  },
163
172
  "id": "co-Service_8",
@@ -177,6 +186,7 @@ Array [
177
186
  "label": "very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.8",
178
187
  "link": "/docs/services/very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.8",
179
188
  "maxWidth": 616,
189
+ "renderInColumn": 3,
180
190
  "width": 616,
181
191
  },
182
192
  "id": "co-very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.8",
@@ -194,7 +204,7 @@ Array [
194
204
  Object {
195
205
  "animated": true,
196
206
  "arrowHeadType": "arrowclosed",
197
- "id": "epe-Service_1",
207
+ "id": "epe-Service_1-ev-My_Event",
198
208
  "label": "",
199
209
  "labelBgBorderRadius": 4,
200
210
  "labelBgPadding": Array [
@@ -216,7 +226,7 @@ Array [
216
226
  Object {
217
227
  "animated": true,
218
228
  "arrowHeadType": "arrowclosed",
219
- "id": "epe-Service_2",
229
+ "id": "epe-Service_2-ev-My_Event",
220
230
  "label": "",
221
231
  "labelBgBorderRadius": 4,
222
232
  "labelBgPadding": Array [
@@ -238,7 +248,7 @@ Array [
238
248
  Object {
239
249
  "animated": true,
240
250
  "arrowHeadType": "arrowclosed",
241
- "id": "epe-very_very_very_very_very_very_very_very_very_very_very_very_long_name_Service_3",
251
+ "id": "epe-very_very_very_very_very_very_very_very_very_very_very_very_long_name_Service_3-ev-My_Event",
242
252
  "label": "",
243
253
  "labelBgBorderRadius": 4,
244
254
  "labelBgPadding": Array [
@@ -260,7 +270,7 @@ Array [
260
270
  Object {
261
271
  "animated": true,
262
272
  "arrowHeadType": "arrowclosed",
263
- "id": "ece-Service_4",
273
+ "id": "ece-Service_4-ev-My_Event",
264
274
  "label": "",
265
275
  "labelBgBorderRadius": 4,
266
276
  "labelBgPadding": Array [
@@ -282,7 +292,7 @@ Array [
282
292
  Object {
283
293
  "animated": true,
284
294
  "arrowHeadType": "arrowclosed",
285
- "id": "ece-Service_5",
295
+ "id": "ece-Service_5-ev-My_Event",
286
296
  "label": "",
287
297
  "labelBgBorderRadius": 4,
288
298
  "labelBgPadding": Array [
@@ -304,7 +314,7 @@ Array [
304
314
  Object {
305
315
  "animated": true,
306
316
  "arrowHeadType": "arrowclosed",
307
- "id": "ece-Service_6",
317
+ "id": "ece-Service_6-ev-My_Event",
308
318
  "label": "",
309
319
  "labelBgBorderRadius": 4,
310
320
  "labelBgPadding": Array [
@@ -326,7 +336,7 @@ Array [
326
336
  Object {
327
337
  "animated": true,
328
338
  "arrowHeadType": "arrowclosed",
329
- "id": "ece-Service_7",
339
+ "id": "ece-Service_7-ev-My_Event",
330
340
  "label": "",
331
341
  "labelBgBorderRadius": 4,
332
342
  "labelBgPadding": Array [
@@ -348,7 +358,7 @@ Array [
348
358
  Object {
349
359
  "animated": true,
350
360
  "arrowHeadType": "arrowclosed",
351
- "id": "ece-Service_8",
361
+ "id": "ece-Service_8-ev-My_Event",
352
362
  "label": "",
353
363
  "labelBgBorderRadius": 4,
354
364
  "labelBgPadding": Array [
@@ -370,7 +380,7 @@ Array [
370
380
  Object {
371
381
  "animated": true,
372
382
  "arrowHeadType": "arrowclosed",
373
- "id": "ece-very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.8",
383
+ "id": "ece-very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.8-ev-My_Event",
374
384
  "label": "",
375
385
  "labelBgBorderRadius": 4,
376
386
  "labelBgPadding": Array [
@@ -399,6 +409,7 @@ Array [
399
409
  "label": "Service 1",
400
410
  "link": "/docs/services/Service 1",
401
411
  "maxWidth": 150,
412
+ "renderInColumn": 1,
402
413
  "width": 150,
403
414
  },
404
415
  "id": "pr-Service_1",
@@ -418,6 +429,7 @@ Array [
418
429
  "label": "My Event",
419
430
  "link": "/docs/events/My Event",
420
431
  "maxWidth": 150,
432
+ "renderInColumn": 2,
421
433
  "width": 150,
422
434
  },
423
435
  "id": "ev-My_Event",
@@ -436,6 +448,7 @@ Array [
436
448
  "label": "Service 2",
437
449
  "link": "/docs/services/Service 2",
438
450
  "maxWidth": 150,
451
+ "renderInColumn": 3,
439
452
  "width": 150,
440
453
  },
441
454
  "id": "co-Service_2",
@@ -453,7 +466,7 @@ Array [
453
466
  Object {
454
467
  "animated": true,
455
468
  "arrowHeadType": "arrowclosed",
456
- "id": "epe-Service_1",
469
+ "id": "epe-Service_1-ev-My_Event",
457
470
  "label": "",
458
471
  "labelBgBorderRadius": 4,
459
472
  "labelBgPadding": Array [
@@ -475,7 +488,7 @@ Array [
475
488
  Object {
476
489
  "animated": true,
477
490
  "arrowHeadType": "arrowclosed",
478
- "id": "ece-Service_2",
491
+ "id": "ece-Service_2-ev-My_Event",
479
492
  "label": "",
480
493
  "labelBgBorderRadius": 4,
481
494
  "labelBgPadding": Array [
@@ -504,6 +517,7 @@ Array [
504
517
  "label": "very very very very very very very very very very very very long name event 5",
505
518
  "link": "/docs/events/very very very very very very very very very very very very long name event 5",
506
519
  "maxWidth": 616,
520
+ "renderInColumn": 1,
507
521
  "width": 616,
508
522
  },
509
523
  "id": "sub-very_very_very_very_very_very_very_very_very_very_very_very_long_name_event_5",
@@ -523,6 +537,7 @@ Array [
523
537
  "label": "My Event 6",
524
538
  "link": "/docs/events/My Event 6",
525
539
  "maxWidth": -316,
540
+ "renderInColumn": 1,
526
541
  "width": 150,
527
542
  },
528
543
  "id": "sub-My_Event_6",
@@ -542,6 +557,7 @@ Array [
542
557
  "label": "My Event 7",
543
558
  "link": "/docs/events/My Event 7",
544
559
  "maxWidth": -316,
560
+ "renderInColumn": 1,
545
561
  "width": 150,
546
562
  },
547
563
  "id": "sub-My_Event_7",
@@ -561,6 +577,7 @@ Array [
561
577
  "label": "My Event 8",
562
578
  "link": "/docs/events/My Event 8",
563
579
  "maxWidth": -316,
580
+ "renderInColumn": 1,
564
581
  "width": 150,
565
582
  },
566
583
  "id": "sub-My_Event_8",
@@ -580,6 +597,7 @@ Array [
580
597
  "label": "My Event 9",
581
598
  "link": "/docs/events/My Event 9",
582
599
  "maxWidth": -316,
600
+ "renderInColumn": 1,
583
601
  "width": 150,
584
602
  },
585
603
  "id": "sub-My_Event_9",
@@ -599,6 +617,7 @@ Array [
599
617
  "label": "My Service",
600
618
  "link": "/docs/services/My Service",
601
619
  "maxWidth": 150,
620
+ "renderInColumn": 2,
602
621
  "width": 150,
603
622
  },
604
623
  "id": "ser-My_Service",
@@ -617,6 +636,7 @@ Array [
617
636
  "label": "My Event",
618
637
  "link": "/docs/events/My Event",
619
638
  "maxWidth": 616,
639
+ "renderInColumn": 3,
620
640
  "width": 150,
621
641
  },
622
642
  "id": "pub-My_Event",
@@ -636,6 +656,7 @@ Array [
636
656
  "label": "My Event 2",
637
657
  "link": "/docs/events/My Event 2",
638
658
  "maxWidth": 616,
659
+ "renderInColumn": 3,
639
660
  "width": 150,
640
661
  },
641
662
  "id": "pub-My_Event_2",
@@ -655,6 +676,7 @@ Array [
655
676
  "label": "My Event 3",
656
677
  "link": "/docs/events/My Event 3",
657
678
  "maxWidth": 616,
679
+ "renderInColumn": 3,
658
680
  "width": 150,
659
681
  },
660
682
  "id": "pub-My_Event_3",
@@ -674,6 +696,7 @@ Array [
674
696
  "label": "very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.4",
675
697
  "link": "/docs/events/very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.4",
676
698
  "maxWidth": 616,
699
+ "renderInColumn": 3,
677
700
  "width": 616,
678
701
  },
679
702
  "id": "pub-very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.4",
@@ -896,6 +919,7 @@ Array [
896
919
  "label": "My Event 2",
897
920
  "link": "/docs/events/My Event 2",
898
921
  "maxWidth": 150,
922
+ "renderInColumn": 1,
899
923
  "width": 150,
900
924
  },
901
925
  "id": "sub-My_Event_2",
@@ -915,6 +939,7 @@ Array [
915
939
  "label": "My Service",
916
940
  "link": "/docs/services/My Service",
917
941
  "maxWidth": 150,
942
+ "renderInColumn": 2,
918
943
  "width": 150,
919
944
  },
920
945
  "id": "ser-My_Service",
@@ -933,6 +958,7 @@ Array [
933
958
  "label": "My Event",
934
959
  "link": "/docs/events/My Event",
935
960
  "maxWidth": 150,
961
+ "renderInColumn": 3,
936
962
  "width": 150,
937
963
  },
938
964
  "id": "pub-My_Event",
@@ -11,13 +11,13 @@ Array [
11
11
  },
12
12
  "id": "s-My_Event_2",
13
13
  "position": Object {
14
- "x": 24,
14
+ "x": 0,
15
15
  "y": 0,
16
16
  },
17
17
  "sourcePosition": "right",
18
18
  "style": Object {
19
19
  "border": "2px solid #75d7b6",
20
- "width": 150,
20
+ "width": undefined,
21
21
  },
22
22
  "targetPosition": "left",
23
23
  "type": "input",
@@ -31,13 +31,13 @@ Array [
31
31
  },
32
32
  "id": "c-My_Service",
33
33
  "position": Object {
34
- "x": 270,
34
+ "x": 0,
35
35
  "y": 0,
36
36
  },
37
37
  "sourcePosition": "right",
38
38
  "style": Object {
39
39
  "border": "2px solid #2563eb",
40
- "width": 150,
40
+ "width": undefined,
41
41
  },
42
42
  "targetPosition": "left",
43
43
  },
@@ -50,13 +50,13 @@ Array [
50
50
  },
51
51
  "id": "p-My_Event",
52
52
  "position": Object {
53
- "x": 516,
53
+ "x": 0,
54
54
  "y": 0,
55
55
  },
56
56
  "sourcePosition": "right",
57
57
  "style": Object {
58
58
  "border": "2px solid #818cf8",
59
- "width": 150,
59
+ "width": undefined,
60
60
  },
61
61
  "targetPosition": "left",
62
62
  "type": "output",