@foblex/flow 17.0.4 → 17.0.6

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 (245) hide show
  1. package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.execution.d.ts +10 -0
  2. package/domain/{get-connection-line/get-connection-line.request.d.ts → f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.request.d.ts} +3 -3
  3. package/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.d.ts +3 -0
  4. package/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.d.ts +3 -0
  5. package/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.d.ts +3 -0
  6. package/domain/f-connection/calculate-connection-line-by-behavior/index.d.ts +5 -0
  7. package/domain/f-connection/index.d.ts +1 -0
  8. package/domain/f-connection/providers.d.ts +2 -1
  9. package/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.d.ts +2 -0
  10. package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-connections/get-flow-state-connections.execution.d.ts +1 -1
  11. package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-nodes/get-flow-state-nodes.execution.d.ts +1 -1
  12. package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state.execution.d.ts +1 -1
  13. package/domain/{get-flow-state → f-flow/get-flow-state}/i-f-flow-state-connection.d.ts +1 -1
  14. package/domain/{get-flow-state → f-flow/get-flow-state}/i-f-flow-state-connector.d.ts +1 -1
  15. package/domain/f-flow/index.d.ts +1 -0
  16. package/domain/f-flow/providers.d.ts +1 -1
  17. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.execution.d.ts +12 -0
  18. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.request.d.ts +2 -0
  19. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/index.d.ts +2 -0
  20. package/{f-draggable/domain → domain/f-node}/get-parent-nodes/get-parent-nodes.execution.d.ts +2 -4
  21. package/domain/f-node/index.d.ts +3 -0
  22. package/domain/f-node/providers.d.ts +4 -1
  23. package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +18 -0
  24. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected.d.ts +6 -0
  25. package/domain/f-selection/get-can-be-selected-items/index.d.ts +3 -0
  26. package/domain/f-selection/get-current-selection/get-current-selection.execution.d.ts +13 -0
  27. package/domain/f-selection/get-current-selection/get-current-selection.request.d.ts +2 -0
  28. package/domain/f-selection/get-current-selection/i-current-selection.d.ts +5 -0
  29. package/domain/f-selection/get-current-selection/index.d.ts +3 -0
  30. package/domain/f-selection/index.d.ts +2 -1
  31. package/domain/f-selection/providers.d.ts +4 -3
  32. package/domain/{get-element-rect-in-flow/get-element-rect-in-flow-request.d.ts → get-element-rounded-rect/get-element-rounded-rect-request.d.ts} +1 -1
  33. package/domain/get-element-rounded-rect/get-element-rounded-rect.execution.d.ts +13 -0
  34. package/domain/get-element-rounded-rect/index.d.ts +2 -0
  35. package/domain/{create-rounded-rect-from-element/create-rounded-rect-from-element-request.d.ts → get-normalized-element-rect/get-normalized-element-rect-request.d.ts} +1 -1
  36. package/domain/get-normalized-element-rect/get-normalized-element-rect.execution.d.ts +15 -0
  37. package/domain/get-normalized-element-rect/index.d.ts +2 -0
  38. package/domain/{get-position-in-flow/get-position-in-flow-request.d.ts → get-normalized-point/get-normalized-point-request.d.ts} +1 -1
  39. package/domain/get-normalized-point/get-normalized-point.execution.d.ts +11 -0
  40. package/domain/get-normalized-point/index.d.ts +2 -0
  41. package/domain/index.d.ts +3 -7
  42. package/domain/providers.d.ts +4 -7
  43. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.execution.mjs +29 -0
  44. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.request.mjs +15 -0
  45. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.mjs +5 -0
  46. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.mjs +32 -0
  47. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +14 -0
  48. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/index.mjs +6 -0
  49. package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.mjs +3 -3
  50. package/esm2022/domain/f-connection/index.mjs +2 -1
  51. package/esm2022/domain/f-connection/providers.mjs +3 -1
  52. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +4 -4
  53. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +10 -4
  54. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.mjs +3 -0
  55. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +34 -0
  56. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/index.mjs +3 -0
  57. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.mjs +7 -0
  58. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +51 -0
  59. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/index.mjs +3 -0
  60. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +41 -0
  61. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.request.mjs +3 -0
  62. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-connection.mjs +2 -0
  63. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-connector.mjs +2 -0
  64. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-node.mjs +2 -0
  65. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state.mjs +2 -0
  66. package/esm2022/domain/f-flow/get-flow-state/index.mjs +10 -0
  67. package/esm2022/domain/f-flow/get-flow-state/providers.mjs +9 -0
  68. package/esm2022/domain/f-flow/index.mjs +2 -1
  69. package/esm2022/domain/f-flow/providers.mjs +3 -1
  70. package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.execution.mjs +4 -2
  71. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.execution.mjs +31 -0
  72. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.request.mjs +3 -0
  73. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/index.mjs +3 -0
  74. package/esm2022/domain/f-node/get-node-padding/get-node-padding.execution.mjs +34 -0
  75. package/esm2022/domain/f-node/get-node-padding/get-node-padding.request.mjs +9 -0
  76. package/esm2022/domain/f-node/get-node-padding/index.mjs +3 -0
  77. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.execution.mjs +34 -0
  78. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.request.mjs +7 -0
  79. package/esm2022/domain/f-node/get-parent-nodes/index.mjs +3 -0
  80. package/esm2022/domain/f-node/index.mjs +4 -1
  81. package/esm2022/domain/f-node/providers.mjs +7 -1
  82. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items-request.mjs +3 -0
  83. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +57 -0
  84. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected.mjs +2 -0
  85. package/esm2022/domain/f-selection/get-can-be-selected-items/index.mjs +4 -0
  86. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.execution.mjs +41 -0
  87. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.request.mjs +3 -0
  88. package/esm2022/domain/f-selection/get-current-selection/i-current-selection.mjs +2 -0
  89. package/esm2022/domain/f-selection/get-current-selection/index.mjs +4 -0
  90. package/esm2022/domain/f-selection/index.mjs +3 -2
  91. package/esm2022/domain/f-selection/providers.mjs +6 -4
  92. package/esm2022/domain/get-element-rounded-rect/get-element-rounded-rect-request.mjs +7 -0
  93. package/esm2022/domain/get-element-rounded-rect/get-element-rounded-rect.execution.mjs +32 -0
  94. package/esm2022/domain/{get-element-rect-in-flow → get-element-rounded-rect}/index.mjs +3 -3
  95. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect-request.mjs +7 -0
  96. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +40 -0
  97. package/esm2022/domain/get-normalized-element-rect/index.mjs +3 -0
  98. package/esm2022/domain/get-normalized-point/get-normalized-point-request.mjs +7 -0
  99. package/esm2022/domain/get-normalized-point/get-normalized-point.execution.mjs +27 -0
  100. package/esm2022/domain/get-normalized-point/index.mjs +3 -0
  101. package/esm2022/domain/index.mjs +4 -8
  102. package/esm2022/domain/providers.mjs +7 -15
  103. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +4 -4
  104. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +4 -4
  105. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +6 -6
  106. package/esm2022/f-draggable/domain/index.mjs +1 -4
  107. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +2 -2
  108. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +3 -3
  109. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.request.mjs +1 -1
  110. package/esm2022/f-draggable/domain/providers.mjs +1 -7
  111. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  112. package/esm2022/f-draggable/f-draggable.directive.mjs +8 -2
  113. package/esm2022/f-draggable/f-selection-change-event.mjs +4 -2
  114. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +3 -3
  115. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +3 -3
  116. package/esm2022/f-draggable/node/connection.drag-handler.mjs +3 -3
  117. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +32 -35
  118. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +12 -15
  119. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +3 -3
  120. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +37 -31
  121. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +41 -43
  122. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +19 -23
  123. package/esm2022/f-draggable/node/node.drag-handler.mjs +25 -10
  124. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +3 -2
  125. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +4 -5
  126. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +3 -3
  127. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +3 -3
  128. package/esm2022/f-flow/f-flow.component.mjs +6 -6
  129. package/esm2022/f-flow.module.mjs +1 -1
  130. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +4 -4
  131. package/esm2022/f-node/f-drag-handle.directive.mjs +22 -0
  132. package/esm2022/f-node/index.mjs +3 -3
  133. package/esm2022/f-node/is-node.mjs +4 -0
  134. package/esm2022/f-node/providers.mjs +2 -2
  135. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +12 -11
  136. package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.d.ts +1 -1
  137. package/f-draggable/domain/index.d.ts +0 -3
  138. package/f-draggable/domain/providers.d.ts +1 -4
  139. package/f-draggable/f-draggable-base.d.ts +2 -0
  140. package/f-draggable/f-draggable.directive.d.ts +4 -2
  141. package/f-draggable/f-selection-change-event.d.ts +4 -2
  142. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +7 -9
  143. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.d.ts +3 -4
  144. package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +11 -11
  145. package/f-draggable/node/node-move-preparation/node-move-preparation.execution.d.ts +11 -14
  146. package/f-draggable/node/node-move-preparation/node-move-preparation.validator.d.ts +6 -9
  147. package/f-draggable/node/node.drag-handler.d.ts +9 -5
  148. package/f-draggable/providers.d.ts +1 -1
  149. package/f-flow/f-flow.component.d.ts +3 -4
  150. package/f-flow.module.d.ts +1 -1
  151. package/f-minimap/domain/providers.d.ts +1 -1
  152. package/f-node/{f-drag-handle/f-drag-handle.directive.d.ts → f-drag-handle.directive.d.ts} +1 -1
  153. package/f-node/index.d.ts +2 -2
  154. package/f-node/providers.d.ts +2 -2
  155. package/f-selection-area/domain/selection-area.drag-handle.d.ts +2 -2
  156. package/f-storage/providers.d.ts +1 -1
  157. package/fesm2022/foblex-flow.mjs +591 -603
  158. package/fesm2022/foblex-flow.mjs.map +1 -1
  159. package/package.json +1 -1
  160. package/domain/create-rounded-rect-from-element/create-rounded-rect-from-element.execution.d.ts +0 -15
  161. package/domain/create-rounded-rect-from-element/index.d.ts +0 -2
  162. package/domain/f-selection/get-selection/get-selection.execution.d.ts +0 -11
  163. package/domain/f-selection/get-selection/get-selection.request.d.ts +0 -2
  164. package/domain/f-selection/get-selection/index.d.ts +0 -2
  165. package/domain/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +0 -19
  166. package/domain/get-can-be-selected-items/i-selectable-with-rect.d.ts +0 -6
  167. package/domain/get-can-be-selected-items/index.d.ts +0 -2
  168. package/domain/get-connection-line/get-connection-line.execution.d.ts +0 -13
  169. package/domain/get-connection-line/index.d.ts +0 -2
  170. package/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.d.ts +0 -16
  171. package/domain/get-element-rect-in-flow/index.d.ts +0 -2
  172. package/domain/get-position-in-flow/get-position-in-flow.execution.d.ts +0 -14
  173. package/domain/get-position-in-flow/index.d.ts +0 -2
  174. package/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.d.ts +0 -14
  175. package/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.d.ts +0 -2
  176. package/domain/get-scaled-node-rects-with-flow-position/index.d.ts +0 -2
  177. package/esm2022/domain/create-rounded-rect-from-element/create-rounded-rect-from-element-request.mjs +0 -7
  178. package/esm2022/domain/create-rounded-rect-from-element/create-rounded-rect-from-element.execution.mjs +0 -40
  179. package/esm2022/domain/create-rounded-rect-from-element/index.mjs +0 -3
  180. package/esm2022/domain/f-selection/get-selection/get-selection.execution.mjs +0 -36
  181. package/esm2022/domain/f-selection/get-selection/get-selection.request.mjs +0 -3
  182. package/esm2022/domain/f-selection/get-selection/index.mjs +0 -3
  183. package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items-request.mjs +0 -3
  184. package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +0 -60
  185. package/esm2022/domain/get-can-be-selected-items/i-selectable-with-rect.mjs +0 -2
  186. package/esm2022/domain/get-can-be-selected-items/index.mjs +0 -3
  187. package/esm2022/domain/get-connection-line/get-connection-line.execution.mjs +0 -65
  188. package/esm2022/domain/get-connection-line/get-connection-line.request.mjs +0 -15
  189. package/esm2022/domain/get-connection-line/index.mjs +0 -3
  190. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow-request.mjs +0 -7
  191. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.mjs +0 -43
  192. package/esm2022/domain/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.mjs +0 -3
  193. package/esm2022/domain/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +0 -34
  194. package/esm2022/domain/get-flow-state/get-flow-state-connections/index.mjs +0 -3
  195. package/esm2022/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.mjs +0 -7
  196. package/esm2022/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +0 -51
  197. package/esm2022/domain/get-flow-state/get-flow-state-nodes/index.mjs +0 -3
  198. package/esm2022/domain/get-flow-state/get-flow-state.execution.mjs +0 -41
  199. package/esm2022/domain/get-flow-state/get-flow-state.request.mjs +0 -3
  200. package/esm2022/domain/get-flow-state/i-f-flow-state-connection.mjs +0 -2
  201. package/esm2022/domain/get-flow-state/i-f-flow-state-connector.mjs +0 -2
  202. package/esm2022/domain/get-flow-state/i-f-flow-state-node.mjs +0 -2
  203. package/esm2022/domain/get-flow-state/i-f-flow-state.mjs +0 -2
  204. package/esm2022/domain/get-flow-state/index.mjs +0 -10
  205. package/esm2022/domain/get-flow-state/providers.mjs +0 -9
  206. package/esm2022/domain/get-position-in-flow/get-position-in-flow-request.mjs +0 -7
  207. package/esm2022/domain/get-position-in-flow/get-position-in-flow.execution.mjs +0 -33
  208. package/esm2022/domain/get-position-in-flow/index.mjs +0 -3
  209. package/esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.mjs +0 -35
  210. package/esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.mjs +0 -3
  211. package/esm2022/domain/get-scaled-node-rects-with-flow-position/index.mjs +0 -3
  212. package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.execution.mjs +0 -34
  213. package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.request.mjs +0 -9
  214. package/esm2022/f-draggable/domain/get-node-padding/index.mjs +0 -3
  215. package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.mjs +0 -30
  216. package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.mjs +0 -7
  217. package/esm2022/f-draggable/domain/get-normalized-node-rect/index.mjs +0 -3
  218. package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.mjs +0 -37
  219. package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.mjs +0 -7
  220. package/esm2022/f-draggable/domain/get-parent-nodes/index.mjs +0 -3
  221. package/esm2022/f-node/domain/index.mjs +0 -2
  222. package/esm2022/f-node/domain/is-node.mjs +0 -4
  223. package/esm2022/f-node/f-drag-handle/f-drag-handle.directive.mjs +0 -22
  224. package/esm2022/f-node/f-drag-handle/index.mjs +0 -2
  225. package/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.d.ts +0 -13
  226. package/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.d.ts +0 -5
  227. package/f-draggable/domain/get-normalized-node-rect/index.d.ts +0 -2
  228. package/f-node/domain/index.d.ts +0 -1
  229. package/f-node/f-drag-handle/index.d.ts +0 -1
  230. /package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-connections/get-flow-state-connections-request.d.ts +0 -0
  231. /package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-connections/index.d.ts +0 -0
  232. /package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-nodes/get-flow-state-nodes-request.d.ts +0 -0
  233. /package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-nodes/index.d.ts +0 -0
  234. /package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state.request.d.ts +0 -0
  235. /package/domain/{get-flow-state → f-flow/get-flow-state}/i-f-flow-state-node.d.ts +0 -0
  236. /package/domain/{get-flow-state → f-flow/get-flow-state}/i-f-flow-state.d.ts +0 -0
  237. /package/domain/{get-flow-state → f-flow/get-flow-state}/index.d.ts +0 -0
  238. /package/domain/{get-flow-state → f-flow/get-flow-state}/providers.d.ts +0 -0
  239. /package/{f-draggable/domain → domain/f-node}/get-node-padding/get-node-padding.execution.d.ts +0 -0
  240. /package/{f-draggable/domain → domain/f-node}/get-node-padding/get-node-padding.request.d.ts +0 -0
  241. /package/{f-draggable/domain → domain/f-node}/get-node-padding/index.d.ts +0 -0
  242. /package/{f-draggable/domain → domain/f-node}/get-parent-nodes/get-parent-nodes.request.d.ts +0 -0
  243. /package/{f-draggable/domain → domain/f-node}/get-parent-nodes/index.d.ts +0 -0
  244. /package/domain/{get-can-be-selected-items → f-selection/get-can-be-selected-items}/get-can-be-selected-items-request.d.ts +0 -0
  245. /package/f-node/{domain/is-node.d.ts → is-node.d.ts} +0 -0
@@ -1,11 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Injectable, inject, Directive, ElementRef, Input, HostBinding, EventEmitter, DestroyRef, Output, booleanAttribute, Inject, Component, ChangeDetectionStrategy, ViewChild, Optional, ContentChildren, NgZone, ContentChild, NgModule } from '@angular/core';
3
- import { RoundedRect, RectExtensions, TransformModelExtensions, PointExtensions, Point, SizeExtensions, LineExtensions, GetIntersections, Line, setRectToElement, adjustRectToMinSize, setRectToViewBox } from '@foblex/2d';
2
+ import { InjectionToken, inject, Injectable, Directive, ElementRef, Input, HostBinding, EventEmitter, DestroyRef, Output, booleanAttribute, Inject, Component, ChangeDetectionStrategy, ViewChild, Optional, ContentChildren, NgZone, ContentChild, NgModule } from '@angular/core';
3
+ import { RectExtensions, RoundedRect, TransformModelExtensions, PointExtensions, Point, SizeExtensions, LineExtensions, GetIntersections, Line, setRectToElement, adjustRectToMinSize, setRectToViewBox } from '@foblex/2d';
4
4
  import { __decorate } from 'tslib';
5
5
  import * as i2 from '@foblex/mediator';
6
6
  import { FExecutionRegister, FMediator, FValidatorRegister } from '@foblex/mediator';
7
7
  import * as i1 from '@foblex/platform';
8
- import { EOperationSystem, BrowserService } from '@foblex/platform';
8
+ import { BrowserService, EOperationSystem } from '@foblex/platform';
9
9
  import { normalizeDomElementId, castToEnum, flatMap, isClosestElementHasClass, getDataAttrValueFromClosestElementWithClass, deepCloneNode, castToBoolean } from '@foblex/utils';
10
10
  import * as i2$1 from '@angular/common';
11
11
  import { CommonModule } from '@angular/common';
@@ -13,44 +13,36 @@ import { DragAndDropBase, EventExtensions } from '@foblex/drag-toolkit';
13
13
 
14
14
  const F_BACKGROUND_PATTERN = new InjectionToken('F_BACKGROUND_PATTERN');
15
15
 
16
- class CreateRoundedRectFromElementRequest {
16
+ class GetElementRoundedRectRequest {
17
17
  element;
18
18
  constructor(element) {
19
19
  this.element = element;
20
20
  }
21
21
  }
22
22
 
23
- let CreateRoundedRectFromElementExecution = class CreateRoundedRectFromElementExecution {
24
- fBrowser;
25
- constructor(fBrowser) {
26
- this.fBrowser = fBrowser;
27
- }
23
+ let GetElementRoundedRectExecution = class GetElementRoundedRectExecution {
24
+ _fBrowser = inject(BrowserService);
28
25
  handle(request) {
29
- return this.setRadiusFromElement(RoundedRect.fromRect(RectExtensions.fromElement(request.element)), request.element);
26
+ return this._getRoundedRect(RectExtensions.fromElement(request.element), request.element, this._getComputedStyle(request.element));
30
27
  }
31
- setRadiusFromElement(rect, element) {
32
- const styles = this.getComputedStyle(element);
33
- rect.radius1 = this.toPixels(styles.borderTopLeftRadius, element, styles.fontSize);
34
- rect.radius2 = this.toPixels(styles.borderTopRightRadius, element, styles.fontSize);
35
- rect.radius3 = this.toPixels(styles.borderBottomRightRadius, element, styles.fontSize);
36
- rect.radius4 = this.toPixels(styles.borderBottomLeftRadius, element, styles.fontSize);
37
- return rect;
28
+ _getRoundedRect(rect, element, styles) {
29
+ return new RoundedRect(rect.x, rect.y, rect.width, rect.height, this._toPixels(styles.borderTopLeftRadius, element, styles.fontSize), this._toPixels(styles.borderTopRightRadius, element, styles.fontSize), this._toPixels(styles.borderBottomRightRadius, element, styles.fontSize), this._toPixels(styles.borderBottomLeftRadius, element, styles.fontSize));
38
30
  }
39
- getComputedStyle(element) {
40
- return this.fBrowser.window.getComputedStyle(element);
31
+ _getComputedStyle(element) {
32
+ return this._fBrowser.window.getComputedStyle(element);
41
33
  }
42
- toPixels(value, element, fontSize) {
43
- return this.fBrowser.toPixels(value, element.clientWidth, element.clientHeight, fontSize) || 0;
34
+ _toPixels(value, element, fontSize) {
35
+ return this._fBrowser.toPixels(value, element.clientWidth, element.clientHeight, fontSize) || 0;
44
36
  }
45
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateRoundedRectFromElementExecution, deps: [{ token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Injectable });
46
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateRoundedRectFromElementExecution });
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetElementRoundedRectExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
38
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetElementRoundedRectExecution });
47
39
  };
48
- CreateRoundedRectFromElementExecution = __decorate([
49
- FExecutionRegister(CreateRoundedRectFromElementRequest)
50
- ], CreateRoundedRectFromElementExecution);
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateRoundedRectFromElementExecution, decorators: [{
40
+ GetElementRoundedRectExecution = __decorate([
41
+ FExecutionRegister(GetElementRoundedRectRequest)
42
+ ], GetElementRoundedRectExecution);
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetElementRoundedRectExecution, decorators: [{
52
44
  type: Injectable
53
- }], ctorParameters: () => [{ type: i1.BrowserService }] });
45
+ }] });
54
46
 
55
47
  class AddBackgroundToStoreRequest {
56
48
  fBackground;
@@ -984,44 +976,41 @@ class GetConnectorWithRectRequest {
984
976
  }
985
977
  }
986
978
 
987
- class GetElementRectInFlowRequest {
979
+ class GetNormalizedElementRectRequest {
988
980
  element;
989
981
  constructor(element) {
990
982
  this.element = element;
991
983
  }
992
984
  }
993
985
 
994
- let GetElementRectInFlowExecution = class GetElementRectInFlowExecution {
986
+ let GetNormalizedElementRectExecution = class GetNormalizedElementRectExecution {
995
987
  _fComponentsStore = inject(FComponentsStore);
996
988
  _fMediator = inject(FMediator);
997
989
  get _transform() {
998
990
  return this._fComponentsStore.fCanvas.transform;
999
991
  }
1000
- get flowHost() {
1001
- return this._fComponentsStore.flowHost;
1002
- }
1003
992
  handle(request) {
1004
- const systemRect = this._getElementRoundRect(request.element);
1005
- const position = this.transformElementPositionInFlow(systemRect);
1006
- const size = this.transformElementSizeInFlow(systemRect);
993
+ const systemRect = this._getElementRoundedRect(request.element);
994
+ const position = this._normalizePosition(systemRect);
995
+ const size = this._normalizeSize(systemRect);
1007
996
  return new RoundedRect(position.x, position.y, size.width, size.height, systemRect.radius1, systemRect.radius2, systemRect.radius3, systemRect.radius4);
1008
997
  }
1009
- _getElementRoundRect(element) {
1010
- return this._fMediator.send(new CreateRoundedRectFromElementRequest(element));
998
+ _getElementRoundedRect(element) {
999
+ return this._fMediator.send(new GetElementRoundedRectRequest(element));
1011
1000
  }
1012
- transformElementPositionInFlow(rect) {
1013
- return Point.fromPoint(rect).elementTransform(this.flowHost).sub(this._transform.scaledPosition).sub(this._transform.position).div(this._transform.scale);
1001
+ _normalizePosition(rect) {
1002
+ return Point.fromPoint(rect).elementTransform(this._fComponentsStore.flowHost).sub(this._transform.scaledPosition).sub(this._transform.position).div(this._transform.scale);
1014
1003
  }
1015
- transformElementSizeInFlow(rect) {
1004
+ _normalizeSize(rect) {
1016
1005
  return SizeExtensions.initialize(rect.width / this._transform.scale, rect.height / this._transform.scale);
1017
1006
  }
1018
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetElementRectInFlowExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1019
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetElementRectInFlowExecution });
1007
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedElementRectExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1008
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedElementRectExecution });
1020
1009
  };
1021
- GetElementRectInFlowExecution = __decorate([
1022
- FExecutionRegister(GetElementRectInFlowRequest)
1023
- ], GetElementRectInFlowExecution);
1024
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetElementRectInFlowExecution, decorators: [{
1010
+ GetNormalizedElementRectExecution = __decorate([
1011
+ FExecutionRegister(GetNormalizedElementRectRequest)
1012
+ ], GetNormalizedElementRectExecution);
1013
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedElementRectExecution, decorators: [{
1025
1014
  type: Injectable
1026
1015
  }] });
1027
1016
 
@@ -1033,7 +1022,7 @@ let GetConnectorWithRectExecution = class GetConnectorWithRectExecution {
1033
1022
  handle(request) {
1034
1023
  return {
1035
1024
  fConnector: request.connector,
1036
- fRect: this.fMediator.send(new GetElementRectInFlowRequest(request.connector.hostElement))
1025
+ fRect: this.fMediator.send(new GetNormalizedElementRectRequest(request.connector.hostElement))
1037
1026
  };
1038
1027
  }
1039
1028
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorWithRectExecution, deps: [{ token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -1094,10 +1083,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
1094
1083
  type: Injectable
1095
1084
  }], ctorParameters: () => [{ type: FComponentsStore }, { type: i2.FMediator }] });
1096
1085
 
1097
- class RedrawConnectionsRequest {
1098
- }
1099
-
1100
- class GetConnectionLineRequest {
1086
+ class CalculateConnectionLineByBehaviorRequest {
1101
1087
  outputRect;
1102
1088
  inputRect;
1103
1089
  behavior;
@@ -1258,30 +1244,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
1258
1244
  type: Directive
1259
1245
  }] });
1260
1246
 
1261
- function isNode(element) {
1262
- return !!element.closest('[fNode]');
1263
- }
1264
-
1265
- const F_DRAG_HANDLE = new InjectionToken('F_DRAG_HANDLE');
1266
- class FDragHandleDirective {
1267
- _elementReference = inject(ElementRef);
1268
- get hostElement() {
1269
- return this._elementReference.nativeElement;
1270
- }
1271
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDragHandleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1272
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FDragHandleDirective, selector: "[fDragHandle]", host: { classAttribute: "f-drag-handle f-component" }, providers: [{ provide: F_DRAG_HANDLE, useExisting: FDragHandleDirective }], ngImport: i0 });
1273
- }
1274
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDragHandleDirective, decorators: [{
1275
- type: Directive,
1276
- args: [{
1277
- selector: "[fDragHandle]",
1278
- host: {
1279
- class: "f-drag-handle f-component"
1280
- },
1281
- providers: [{ provide: F_DRAG_HANDLE, useExisting: FDragHandleDirective }],
1282
- }]
1283
- }] });
1284
-
1285
1247
  var EFResizeHandleType;
1286
1248
  (function (EFResizeHandleType) {
1287
1249
  EFResizeHandleType["LEFT_TOP"] = "left-top";
@@ -1352,6 +1314,26 @@ class FRotateHandleDirective {
1352
1314
  }
1353
1315
  }
1354
1316
 
1317
+ const F_DRAG_HANDLE = new InjectionToken('F_DRAG_HANDLE');
1318
+ class FDragHandleDirective {
1319
+ _elementReference = inject(ElementRef);
1320
+ get hostElement() {
1321
+ return this._elementReference.nativeElement;
1322
+ }
1323
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDragHandleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1324
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FDragHandleDirective, selector: "[fDragHandle]", host: { classAttribute: "f-drag-handle f-component" }, providers: [{ provide: F_DRAG_HANDLE, useExisting: FDragHandleDirective }], ngImport: i0 });
1325
+ }
1326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDragHandleDirective, decorators: [{
1327
+ type: Directive,
1328
+ args: [{
1329
+ selector: "[fDragHandle]",
1330
+ host: {
1331
+ class: "f-drag-handle f-component"
1332
+ },
1333
+ providers: [{ provide: F_DRAG_HANDLE, useExisting: FDragHandleDirective }],
1334
+ }]
1335
+ }] });
1336
+
1355
1337
  const F_SELECTED_CLASS = 'f-selected';
1356
1338
  function mixinChangeSelection(base) {
1357
1339
  return class extends base {
@@ -1673,6 +1655,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
1673
1655
  type: Input
1674
1656
  }] } });
1675
1657
 
1658
+ function isNode(element) {
1659
+ return !!element.closest('[fNode]');
1660
+ }
1661
+
1676
1662
  const F_NODE_PROVIDERS = [
1677
1663
  FGroupDirective,
1678
1664
  FNodeDirective,
@@ -2946,36 +2932,27 @@ const F_CONNECTION_PROVIDERS = [
2946
2932
  FSnapConnectionComponent
2947
2933
  ];
2948
2934
 
2949
- let GetConnectionLineExecution = class GetConnectionLineExecution {
2950
- behaviorHandlers = {
2951
- [EFConnectionBehavior.FLOATING.toString()]: this.floatingBehavior,
2952
- [EFConnectionBehavior.FIXED_CENTER.toString()]: this.fixedCenterBehavior,
2953
- [EFConnectionBehavior.FIXED.toString()]: this.fixedOutboundBehaviour,
2954
- };
2955
- handle(payload) {
2956
- return this.behaviorHandlers[payload.behavior](payload);
2957
- }
2958
- floatingBehavior(payload) {
2959
- const fromResult = GetIntersections.getRoundedRectIntersections(payload.outputRect.gravityCenter, payload.inputRect.gravityCenter, payload.outputRect)[0];
2960
- const toResult = GetIntersections.getRoundedRectIntersections(payload.inputRect.gravityCenter, payload.outputRect.gravityCenter, payload.inputRect)[0];
2961
- return new Line(fromResult ? fromResult : payload.outputRect.gravityCenter, toResult ? toResult : payload.inputRect.gravityCenter);
2962
- }
2963
- fixedCenterBehavior(payload) {
2964
- return new Line(payload.outputRect.gravityCenter, payload.inputRect.gravityCenter);
2965
- }
2966
- fixedOutboundBehaviour(payload) {
2967
- return new Line(positionFixedOutbound[payload.outputSide === EFConnectableSide.AUTO ? EFConnectableSide.BOTTOM : payload.outputSide](payload.outputRect), positionFixedOutbound[payload.inputSide === EFConnectableSide.AUTO ? EFConnectableSide.TOP : payload.inputSide](payload.inputRect));
2968
- }
2969
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectionLineExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2970
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectionLineExecution });
2971
- };
2972
- GetConnectionLineExecution = __decorate([
2973
- FExecutionRegister(GetConnectionLineRequest)
2974
- ], GetConnectionLineExecution);
2975
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectionLineExecution, decorators: [{
2976
- type: Injectable
2977
- }] });
2978
- const positionFixedOutbound = {
2935
+ function floatingBehavior(payload) {
2936
+ return _getIntersectionsLine(_fromRoundedRectIntersections(payload), _toRoundedRectIntersections(payload), payload);
2937
+ }
2938
+ function _fromRoundedRectIntersections(payload) {
2939
+ return GetIntersections.getRoundedRectIntersections(payload.outputRect.gravityCenter, payload.inputRect.gravityCenter, payload.outputRect)[0];
2940
+ }
2941
+ function _toRoundedRectIntersections(payload) {
2942
+ return GetIntersections.getRoundedRectIntersections(payload.inputRect.gravityCenter, payload.outputRect.gravityCenter, payload.inputRect)[0];
2943
+ }
2944
+ function _getIntersectionsLine(from, to, payload) {
2945
+ return new Line(from ? from : payload.outputRect.gravityCenter, to ? to : payload.inputRect.gravityCenter);
2946
+ }
2947
+
2948
+ function fixedCenterBehavior(payload) {
2949
+ return new Line(payload.outputRect.gravityCenter, payload.inputRect.gravityCenter);
2950
+ }
2951
+
2952
+ function fixedOutboundBehavior(payload) {
2953
+ return new Line(positions[payload.outputSide === EFConnectableSide.AUTO ? EFConnectableSide.BOTTOM : payload.outputSide](payload.outputRect), positions[payload.inputSide === EFConnectableSide.AUTO ? EFConnectableSide.TOP : payload.inputSide](payload.inputRect));
2954
+ }
2955
+ const positions = {
2979
2956
  [EFConnectableSide.TOP]: (rect) => {
2980
2957
  const result = new Point();
2981
2958
  result.y = rect.y;
@@ -3002,6 +2979,28 @@ const positionFixedOutbound = {
3002
2979
  },
3003
2980
  };
3004
2981
 
2982
+ let CalculateConnectionLineByBehaviorExecution = class CalculateConnectionLineByBehaviorExecution {
2983
+ _handlers = {
2984
+ [EFConnectionBehavior.FLOATING.toString()]: floatingBehavior,
2985
+ [EFConnectionBehavior.FIXED_CENTER.toString()]: fixedCenterBehavior,
2986
+ [EFConnectionBehavior.FIXED.toString()]: fixedOutboundBehavior,
2987
+ };
2988
+ handle(payload) {
2989
+ return this._handlers[payload.behavior](payload);
2990
+ }
2991
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateConnectionLineByBehaviorExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2992
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateConnectionLineByBehaviorExecution });
2993
+ };
2994
+ CalculateConnectionLineByBehaviorExecution = __decorate([
2995
+ FExecutionRegister(CalculateConnectionLineByBehaviorRequest)
2996
+ ], CalculateConnectionLineByBehaviorExecution);
2997
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateConnectionLineByBehaviorExecution, decorators: [{
2998
+ type: Injectable
2999
+ }] });
3000
+
3001
+ class RedrawConnectionsRequest {
3002
+ }
3003
+
3005
3004
  let RedrawConnectionsExecution = class RedrawConnectionsExecution {
3006
3005
  fComponentsStore;
3007
3006
  fMediator;
@@ -3039,7 +3038,7 @@ let RedrawConnectionsExecution = class RedrawConnectionsExecution {
3039
3038
  connection.isSelected() ? connection.select() : null;
3040
3039
  }
3041
3040
  getLine(output, input, connection) {
3042
- return this.fMediator.send(new GetConnectionLineRequest(this.fMediator.send(new GetElementRectInFlowRequest(output.hostElement)), this.fMediator.send(new GetElementRectInFlowRequest(input.hostElement)), connection.fBehavior, output.fConnectableSide, input.fConnectableSide));
3041
+ return this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fMediator.send(new GetNormalizedElementRectRequest(output.hostElement)), this.fMediator.send(new GetNormalizedElementRectRequest(input.hostElement)), connection.fBehavior, output.fConnectableSide, input.fConnectableSide));
3043
3042
  }
3044
3043
  setMarkers(connection) {
3045
3044
  this.fMediator.send(new CreateConnectionMarkersRequest(connection));
@@ -3150,6 +3149,7 @@ const F_CONNECTION_FEATURES = [
3150
3149
  CreateConnectionMarkersExecution,
3151
3150
  FindClosestInputUsingSnapThresholdExecution,
3152
3151
  GetAllCanBeConnectedInputPositionsExecution,
3152
+ CalculateConnectionLineByBehaviorExecution,
3153
3153
  GetConnectorWithRectExecution,
3154
3154
  RedrawConnectionsExecution,
3155
3155
  RemoveConnectionForCreateFromStoreExecution,
@@ -3808,13 +3808,13 @@ class CreateConnectionDragHandler {
3808
3808
  }
3809
3809
  }
3810
3810
  drawTempConnection(fInputRect) {
3811
- const line = this.fMediator.send(new GetConnectionLineRequest(this.fOutputWithRect.fRect, fInputRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, EFConnectableSide.TOP));
3811
+ const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, EFConnectableSide.TOP));
3812
3812
  this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, EFConnectableSide.TOP);
3813
3813
  this.fConnection.redraw();
3814
3814
  }
3815
3815
  drawSnapConnection(fInputWithRect) {
3816
3816
  if (fInputWithRect) {
3817
- const line = this.fMediator.send(new GetConnectionLineRequest(this.fOutputWithRect.fRect, fInputWithRect.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fInputWithRect.fConnector.fConnectableSide));
3817
+ const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputWithRect.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fInputWithRect.fConnector.fConnectableSide));
3818
3818
  this.fSnapConnection.show();
3819
3819
  this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fInputWithRect.fConnector.fConnectableSide);
3820
3820
  this.fSnapConnection.redraw();
@@ -4193,13 +4193,13 @@ class ReassignConnectionDragHandler {
4193
4193
  }
4194
4194
  }
4195
4195
  drawConnection(fInputWithRect) {
4196
- const line = this.fMediator.send(new GetConnectionLineRequest(this.fOutputWithRect.fRect, fInputWithRect.fRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fInputWithRect.fConnector.fConnectableSide));
4196
+ const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputWithRect.fRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fInputWithRect.fConnector.fConnectableSide));
4197
4197
  this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fInputWithRect.fConnector.fConnectableSide);
4198
4198
  this.fConnection.redraw();
4199
4199
  }
4200
4200
  drawSnapConnection(fInputWithRect) {
4201
4201
  if (fInputWithRect) {
4202
- const line = this.fMediator.send(new GetConnectionLineRequest(this.fOutputWithRect.fRect, fInputWithRect.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fInputWithRect.fConnector.fConnectableSide));
4202
+ const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputWithRect.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fInputWithRect.fConnector.fConnectableSide));
4203
4203
  this.fSnapConnection.show();
4204
4204
  this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fInputWithRect.fConnector.fConnectableSide);
4205
4205
  this.fSnapConnection.redraw();
@@ -4355,71 +4355,6 @@ const CONNECTIONS_PROVIDERS = [
4355
4355
  ReassignConnectionPreparationValidator,
4356
4356
  ];
4357
4357
 
4358
- class GetNodePaddingRequest {
4359
- fNode;
4360
- rect;
4361
- constructor(fNode, rect) {
4362
- this.fNode = fNode;
4363
- this.rect = rect;
4364
- }
4365
- }
4366
-
4367
- let GetNodePaddingExecution = class GetNodePaddingExecution {
4368
- fBrowser;
4369
- constructor(fBrowser) {
4370
- this.fBrowser = fBrowser;
4371
- }
4372
- handle(request) {
4373
- return request.fNode.fIncludePadding ? this.getPaddingData(request.fNode, request.rect) : [0, 0, 0, 0];
4374
- }
4375
- getPaddingData(node, rect) {
4376
- const style = this.fBrowser.window.getComputedStyle(node.hostElement);
4377
- return [
4378
- this.fBrowser.toPixels(style.paddingLeft, rect.width, rect.height, style.fontSize),
4379
- this.fBrowser.toPixels(style.paddingTop, rect.width, rect.height, style.fontSize),
4380
- this.fBrowser.toPixels(style.paddingRight, rect.width, rect.height, style.fontSize),
4381
- this.fBrowser.toPixels(style.paddingBottom, rect.width, rect.height, style.fontSize)
4382
- ];
4383
- }
4384
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution, deps: [{ token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Injectable });
4385
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution });
4386
- };
4387
- GetNodePaddingExecution = __decorate([
4388
- FExecutionRegister(GetNodePaddingRequest)
4389
- ], GetNodePaddingExecution);
4390
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution, decorators: [{
4391
- type: Injectable
4392
- }], ctorParameters: () => [{ type: i1.BrowserService }] });
4393
-
4394
- class GetNormalizedNodeRectRequest {
4395
- fNode;
4396
- constructor(fNode) {
4397
- this.fNode = fNode;
4398
- }
4399
- }
4400
-
4401
- let GetNormalizedNodeRectExecution = class GetNormalizedNodeRectExecution {
4402
- fComponentsStore;
4403
- constructor(fComponentsStore) {
4404
- this.fComponentsStore = fComponentsStore;
4405
- }
4406
- handle(request) {
4407
- return this.normalizeRect(RectExtensions.fromElement(request.fNode.hostElement), request.fNode.position);
4408
- }
4409
- normalizeRect(scaledRect, position) {
4410
- const rect = RectExtensions.div(scaledRect, this.fComponentsStore.fCanvas.transform.scale);
4411
- return RectExtensions.initialize(position.x, position.y, rect.width, rect.height);
4412
- }
4413
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedNodeRectExecution, deps: [{ token: FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
4414
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedNodeRectExecution });
4415
- };
4416
- GetNormalizedNodeRectExecution = __decorate([
4417
- FExecutionRegister(GetNormalizedNodeRectRequest)
4418
- ], GetNormalizedNodeRectExecution);
4419
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedNodeRectExecution, decorators: [{
4420
- type: Injectable
4421
- }], ctorParameters: () => [{ type: FComponentsStore }] });
4422
-
4423
4358
  class GetNormalizedParentNodeRectRequest {
4424
4359
  fNode;
4425
4360
  constructor(fNode) {
@@ -4446,12 +4381,12 @@ let GetNormalizedParentNodeRectExecution = class GetNormalizedParentNodeRectExec
4446
4381
  return this.fComponentsStore.fNodes.find((x) => x.fId === fId);
4447
4382
  }
4448
4383
  getParentRect(node) {
4449
- const rect = this.getNormalizedNodeRect(node);
4384
+ const rect = this._getNodeRect(node);
4450
4385
  const padding = this.getNodePadding(node, rect);
4451
4386
  return RectExtensions.initialize(rect.x + padding[0], rect.y + padding[1], rect.width - padding[0] - padding[2], rect.height - padding[1] - padding[3]);
4452
4387
  }
4453
- getNormalizedNodeRect(node) {
4454
- return this.fMediator.send(new GetNormalizedNodeRectRequest(node));
4388
+ _getNodeRect(fNode) {
4389
+ return this.fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement));
4455
4390
  }
4456
4391
  getNodePadding(node, rect) {
4457
4392
  return this.fMediator.send(new GetNodePaddingRequest(node, rect));
@@ -4466,6 +4401,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
4466
4401
  type: Injectable
4467
4402
  }], ctorParameters: () => [{ type: FComponentsStore }, { type: i2.FMediator }] });
4468
4403
 
4404
+ class IsArrayHasParentNodeRequest {
4405
+ fNode;
4406
+ fNodes;
4407
+ constructor(fNode, fNodes) {
4408
+ this.fNode = fNode;
4409
+ this.fNodes = fNodes;
4410
+ }
4411
+ }
4412
+
4469
4413
  class GetParentNodesRequest {
4470
4414
  fNode;
4471
4415
  constructor(fNode) {
@@ -4474,26 +4418,23 @@ class GetParentNodesRequest {
4474
4418
  }
4475
4419
 
4476
4420
  let GetParentNodesExecution = class GetParentNodesExecution {
4477
- fComponentsStore;
4478
- constructor(fComponentsStore) {
4479
- this.fComponentsStore = fComponentsStore;
4480
- }
4421
+ _fComponentsStore = inject(FComponentsStore);
4481
4422
  handle(request) {
4482
- return this.getParentNodes(request.fNode, new Set(), []);
4423
+ return this._getParentNodes(request.fNode, new Set(), []);
4483
4424
  }
4484
- getParentNodes(fNode, visited, result) {
4425
+ _getParentNodes(fNode, visited, result) {
4485
4426
  if (visited.has(fNode.fId)) {
4486
4427
  throw new Error('Circular reference detected in the node hierarchy. Node id: ' + fNode.fId);
4487
4428
  }
4488
4429
  visited.add(fNode.fId);
4489
- const parent = this.fComponentsStore.fNodes.find((x) => x.fId === fNode.fParentId);
4430
+ const parent = this._fComponentsStore.fNodes.find((x) => x.fId === fNode.fParentId);
4490
4431
  if (!parent) {
4491
4432
  return result;
4492
4433
  }
4493
4434
  result.push(parent);
4494
- return this.getParentNodes(parent, visited, result);
4435
+ return this._getParentNodes(parent, visited, result);
4495
4436
  }
4496
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetParentNodesExecution, deps: [{ token: FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
4437
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetParentNodesExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4497
4438
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetParentNodesExecution });
4498
4439
  };
4499
4440
  GetParentNodesExecution = __decorate([
@@ -4501,16 +4442,7 @@ GetParentNodesExecution = __decorate([
4501
4442
  ], GetParentNodesExecution);
4502
4443
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetParentNodesExecution, decorators: [{
4503
4444
  type: Injectable
4504
- }], ctorParameters: () => [{ type: FComponentsStore }] });
4505
-
4506
- class IsArrayHasParentNodeRequest {
4507
- fNode;
4508
- fNodes;
4509
- constructor(fNode, fNodes) {
4510
- this.fNode = fNode;
4511
- this.fNodes = fNodes;
4512
- }
4513
- }
4445
+ }] });
4514
4446
 
4515
4447
  let IsArrayHasParentNodeExecution = class IsArrayHasParentNodeExecution {
4516
4448
  fMediator;
@@ -4597,7 +4529,7 @@ let IsConnectionUnderNodeExecution = class IsConnectionUnderNodeExecution {
4597
4529
  return connectors.map((x) => x.fId);
4598
4530
  }
4599
4531
  _calculateConnectionsUnderNode(fNode) {
4600
- const fNodeRect = this._fMediator.send(new GetElementRectInFlowRequest(fNode.hostElement));
4532
+ const fNodeRect = this._fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement));
4601
4533
  return this._fComponentsStore.fConnections.filter((x) => {
4602
4534
  return this._isConnectionHasIntersectionsWithNode(x, fNodeRect);
4603
4535
  });
@@ -4632,10 +4564,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
4632
4564
  }] });
4633
4565
 
4634
4566
  const DRAG_AND_DROP_COMMON_PROVIDERS = [
4635
- GetNodePaddingExecution,
4636
- GetNormalizedNodeRectExecution,
4637
4567
  GetNormalizedParentNodeRectExecution,
4638
- GetParentNodesExecution,
4639
4568
  IsArrayHasParentNodeExecution,
4640
4569
  IsConnectionUnderNodeExecution,
4641
4570
  IsConnectionUnderNodeValidator,
@@ -4735,7 +4664,7 @@ class ConnectionDragHandler extends ConnectionBaseDragHandler {
4735
4664
  this.redrawConnection(this.getNewLineValue(difference));
4736
4665
  }
4737
4666
  getNewLineValue(difference) {
4738
- return this.fMediator.send(new GetConnectionLineRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect).addPoint(this.getDifference({ ...difference }, this.sourceRestrictions)), RoundedRect.fromRoundedRect(this.fInputWithRect.fRect).addPoint(this.getDifference({ ...difference }, this.targetRestrictions)), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
4667
+ return this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect).addPoint(this.getDifference({ ...difference }, this.sourceRestrictions)), RoundedRect.fromRoundedRect(this.fInputWithRect.fRect).addPoint(this.getDifference({ ...difference }, this.targetRestrictions)), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
4739
4668
  }
4740
4669
  }
4741
4670
 
@@ -4751,7 +4680,7 @@ class ConnectionTargetDragHandler extends ConnectionBaseDragHandler {
4751
4680
  this.redrawConnection(this.getNewLineValue(difference));
4752
4681
  }
4753
4682
  getNewLineValue(difference) {
4754
- return this.fMediator.send(new GetConnectionLineRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect), RoundedRect.fromRoundedRect(this.fInputWithRect.fRect).addPoint(this.getDifference({ ...difference }, { min: this.minDistance, max: this.maxDistance })), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
4683
+ return this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect), RoundedRect.fromRoundedRect(this.fInputWithRect.fRect).addPoint(this.getDifference({ ...difference }, { min: this.minDistance, max: this.maxDistance })), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
4755
4684
  }
4756
4685
  }
4757
4686
 
@@ -4840,7 +4769,7 @@ class ConnectionSourceDragHandler extends ConnectionBaseDragHandler {
4840
4769
  this.redrawConnection(this.getNewLineValue(difference));
4841
4770
  }
4842
4771
  getNewLineValue(difference) {
4843
- return this.fMediator.send(new GetConnectionLineRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect).addPoint(this.getDifference({ ...difference }, { min: this.minDistance, max: this.maxDistance })), RoundedRect.fromRoundedRect(this.fInputWithRect.fRect), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
4772
+ return this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect).addPoint(this.getDifference({ ...difference }, { min: this.minDistance, max: this.maxDistance })), RoundedRect.fromRoundedRect(this.fInputWithRect.fRect), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
4844
4773
  }
4845
4774
  }
4846
4775
 
@@ -4916,14 +4845,11 @@ class GetNodeMoveRestrictionsRequest {
4916
4845
  }
4917
4846
 
4918
4847
  let GetNodeMoveRestrictionsExecution = class GetNodeMoveRestrictionsExecution {
4919
- fMediator;
4920
- constructor(fMediator) {
4921
- this.fMediator = fMediator;
4922
- }
4848
+ _fMediator = inject(FMediator);
4923
4849
  handle(request) {
4924
4850
  if (request.fNode.fParentId && !request.hasParentNodeInSelected) {
4925
4851
  const fParentNodeRect = this.getParentNodeRect(request.fNode);
4926
- const fCurrentNodeRect = this.getCurrentNodeRect(request.fNode);
4852
+ const fCurrentNodeRect = this._getNodeRect(request.fNode);
4927
4853
  return {
4928
4854
  min: PointExtensions.initialize(fParentNodeRect.x - fCurrentNodeRect.x, fParentNodeRect.y - fCurrentNodeRect.y),
4929
4855
  max: PointExtensions.initialize((fParentNodeRect.x + fParentNodeRect.width) - (fCurrentNodeRect.x + fCurrentNodeRect.width), (fParentNodeRect.y + fParentNodeRect.height) - (fCurrentNodeRect.y + fCurrentNodeRect.height))
@@ -4931,13 +4857,13 @@ let GetNodeMoveRestrictionsExecution = class GetNodeMoveRestrictionsExecution {
4931
4857
  }
4932
4858
  return { ...DEFAULT_RESTRICTIONS };
4933
4859
  }
4934
- getCurrentNodeRect(fNode) {
4935
- return this.fMediator.send(new GetNormalizedNodeRectRequest(fNode));
4860
+ _getNodeRect(fNode) {
4861
+ return this._fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement));
4936
4862
  }
4937
4863
  getParentNodeRect(fNode) {
4938
- return this.fMediator.send(new GetNormalizedParentNodeRectRequest(fNode));
4864
+ return this._fMediator.send(new GetNormalizedParentNodeRectRequest(fNode));
4939
4865
  }
4940
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeMoveRestrictionsExecution, deps: [{ token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
4866
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeMoveRestrictionsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4941
4867
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeMoveRestrictionsExecution });
4942
4868
  };
4943
4869
  GetNodeMoveRestrictionsExecution = __decorate([
@@ -4945,7 +4871,7 @@ GetNodeMoveRestrictionsExecution = __decorate([
4945
4871
  ], GetNodeMoveRestrictionsExecution);
4946
4872
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeMoveRestrictionsExecution, decorators: [{
4947
4873
  type: Injectable
4948
- }], ctorParameters: () => [{ type: i2.FMediator }] });
4874
+ }] });
4949
4875
  const DEFAULT_RESTRICTIONS = {
4950
4876
  min: PointExtensions.initialize(-Infinity, -Infinity),
4951
4877
  max: PointExtensions.initialize(Infinity, Infinity)
@@ -4960,38 +4886,53 @@ class CreateMoveNodesDragModelFromSelectionRequest {
4960
4886
 
4961
4887
  class NodeDragHandler {
4962
4888
  fDraggableDataContext;
4889
+ fComponentsStore;
4963
4890
  fNode;
4964
4891
  minDistance;
4965
4892
  maxDistance;
4966
- onPointerDownPosition = PointExtensions.initialize();
4967
- constructor(fDraggableDataContext, fNode, minDistance, maxDistance) {
4893
+ _onPointerDownPosition = PointExtensions.initialize();
4894
+ constructor(fDraggableDataContext, fComponentsStore, fNode, minDistance, maxDistance) {
4968
4895
  this.fDraggableDataContext = fDraggableDataContext;
4896
+ this.fComponentsStore = fComponentsStore;
4969
4897
  this.fNode = fNode;
4970
4898
  this.minDistance = minDistance;
4971
4899
  this.maxDistance = maxDistance;
4972
- this.onPointerDownPosition = { ...fNode.position };
4900
+ this._onPointerDownPosition = { ...fNode.position };
4973
4901
  }
4974
4902
  onPointerMove(difference) {
4975
- const restrictedDifference = this.getDifference(difference, { min: this.minDistance, max: this.maxDistance });
4976
- this.redrawNode(this.getNewPosition(restrictedDifference));
4903
+ const restrictedDifference = this._getDifference(difference, { min: this.minDistance, max: this.maxDistance });
4904
+ this._redraw(this._getPosition(restrictedDifference));
4977
4905
  this.fDraggableDataContext.fLineAlignment?.handle(restrictedDifference);
4978
4906
  }
4979
- getNewPosition(difference) {
4980
- return Point.fromPoint(this.onPointerDownPosition).add(difference);
4907
+ _getPosition(difference) {
4908
+ return Point.fromPoint(this._onPointerDownPosition).add(difference);
4981
4909
  }
4982
- getDifference(difference, restrictions) {
4910
+ _getDifference(difference, restrictions) {
4983
4911
  return {
4984
4912
  x: Math.min(Math.max(difference.x, restrictions.min.x), restrictions.max.x),
4985
4913
  y: Math.min(Math.max(difference.y, restrictions.min.y), restrictions.max.y)
4986
4914
  };
4987
4915
  }
4988
- redrawNode(position) {
4916
+ _redraw(position) {
4989
4917
  this.fNode.updatePosition(position);
4990
4918
  this.fNode.redraw();
4991
4919
  }
4992
4920
  onPointerUp() {
4993
4921
  this.fNode.positionChange.emit(this.fNode.position);
4994
4922
  }
4923
+ getDifferenceWithCellSize(difference) {
4924
+ const restrictedDifference = this._getDifference(difference, { min: this.minDistance, max: this.maxDistance });
4925
+ const position = this._getPosition(restrictedDifference);
4926
+ return Point.fromPoint(this._applyCellSize(position)).sub(this._onPointerDownPosition);
4927
+ }
4928
+ _applyCellSize(position) {
4929
+ const hCellSize = this.fComponentsStore.fDraggable.hCellSize;
4930
+ const vCellSize = this.fComponentsStore.fDraggable.vCellSize;
4931
+ return {
4932
+ x: Math.round(position.x / hCellSize) * hCellSize,
4933
+ y: Math.round(position.y / vCellSize) * vCellSize
4934
+ };
4935
+ }
4995
4936
  }
4996
4937
 
4997
4938
  //TODO: Implement this class
@@ -5010,36 +4951,34 @@ class NodeResizeByChildDragHandler {
5010
4951
  }
5011
4952
 
5012
4953
  let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNodesDragModelFromSelectionExecution {
5013
- fComponentsStore;
5014
- fDraggableDataContext;
5015
- fMediator;
5016
- constructor(fComponentsStore, fDraggableDataContext, fMediator) {
5017
- this.fComponentsStore = fComponentsStore;
5018
- this.fDraggableDataContext = fDraggableDataContext;
5019
- this.fMediator = fMediator;
5020
- }
4954
+ _fMediator = inject(FMediator);
4955
+ _fComponentsStore = inject(FComponentsStore);
4956
+ _fDraggableDataContext = inject(FDraggableDataContext);
5021
4957
  handle(request) {
5022
- const itemsToDrag = this.getNodesWithRestrictions(this.getSelectedNodes(request.nodeWithDisabledSelection));
4958
+ const itemsToDrag = this._getNodesWithRestrictions(this._getSelectedNodes(request.nodeWithDisabledSelection));
5023
4959
  return this.getDragHandlersWithConnections(this.getDragHandlersFromNodes(itemsToDrag), this.getAllOutputIds(itemsToDrag), this.getAllInputIds(itemsToDrag));
5024
4960
  }
5025
- getSelectedNodes(nodeWithDisabledSelection) {
5026
- const result = this.fDraggableDataContext.selectedItems
5027
- .map((x) => this._findNode(x.hostElement))
5028
- .filter((x) => !!x);
4961
+ _getSelectedNodes(nodeWithDisabledSelection) {
4962
+ const result = this._getNodesFromSelection();
5029
4963
  if (nodeWithDisabledSelection) {
5030
4964
  result.push(nodeWithDisabledSelection);
5031
4965
  }
5032
4966
  return result;
5033
4967
  }
4968
+ _getNodesFromSelection() {
4969
+ return this._fDraggableDataContext.selectedItems
4970
+ .map((x) => this._findNode(x.hostElement))
4971
+ .filter((x) => !!x);
4972
+ }
5034
4973
  _findNode(hostElement) {
5035
- return this.fComponentsStore.fNodes.find(n => n.isContains(hostElement));
4974
+ return this._fComponentsStore.fNodes.find(n => n.isContains(hostElement));
5036
4975
  }
5037
- getNodesWithRestrictions(selectedNodes) {
4976
+ _getNodesWithRestrictions(nodesToDrag) {
5038
4977
  const result = [];
5039
- selectedNodes.forEach((x) => {
5040
- const hasParentNodeInSelected = this.fMediator.send(new IsArrayHasParentNodeRequest(x, selectedNodes));
5041
- const restrictions = this.fMediator.send(new GetNodeMoveRestrictionsRequest(x, hasParentNodeInSelected));
5042
- const parentNodes = this.fMediator.send(new GetParentNodesRequest(x));
4978
+ nodesToDrag.forEach((x) => {
4979
+ const hasParentNodeInSelected = this._fMediator.send(new IsArrayHasParentNodeRequest(x, nodesToDrag));
4980
+ const restrictions = this._fMediator.send(new GetNodeMoveRestrictionsRequest(x, hasParentNodeInSelected));
4981
+ const parentNodes = this._fMediator.send(new GetParentNodesRequest(x));
5043
4982
  result.push({ node: x, parentNodes, ...restrictions }, ...this.getChildrenItemsToDrag(x, restrictions));
5044
4983
  });
5045
4984
  return result;
@@ -5048,36 +4987,36 @@ let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNodesDragMo
5048
4987
  return this.getChildrenNodes(node.fId).map((x) => ({ node: x, ...restrictions }));
5049
4988
  }
5050
4989
  getChildrenNodes(fId) {
5051
- return this.fMediator.send(new GetDeepChildrenNodesAndGroupsRequest(fId));
4990
+ return this._fMediator.send(new GetDeepChildrenNodesAndGroupsRequest(fId));
5052
4991
  }
5053
4992
  getAllOutputIds(items) {
5054
4993
  return flatMap(items, (item) => this.getOutputsForNode(item.node).map((x) => x.fId));
5055
4994
  }
5056
4995
  getOutputsForNode(node) {
5057
- return this.fComponentsStore.fOutputs.filter((x) => node.isContains(x.hostElement));
4996
+ return this._fComponentsStore.fOutputs.filter((x) => node.isContains(x.hostElement));
5058
4997
  }
5059
4998
  getAllInputIds(items) {
5060
4999
  return flatMap(items, (item) => this.getInputsForNode(item.node).map((x) => x.fId));
5061
5000
  }
5062
5001
  getInputsForNode(node) {
5063
- return this.fComponentsStore.fInputs.filter((x) => node.isContains(x.hostElement));
5002
+ return this._fComponentsStore.fInputs.filter((x) => node.isContains(x.hostElement));
5064
5003
  }
5065
5004
  getDragHandlersFromNodes(items) {
5066
5005
  let result = [];
5067
5006
  items.forEach((node) => {
5068
- result.push(new NodeDragHandler(this.fDraggableDataContext, node.node, node.min, node.max), ...(node.parentNodes || []).map(() => new NodeResizeByChildDragHandler(this.fDraggableDataContext)));
5007
+ result.push(new NodeDragHandler(this._fDraggableDataContext, this._fComponentsStore, node.node, node.min, node.max), ...(node.parentNodes || []).map(() => new NodeResizeByChildDragHandler(this._fDraggableDataContext)));
5069
5008
  });
5070
5009
  return result;
5071
5010
  }
5072
5011
  getDragHandlersWithConnections(handlers, outputIds, inputIds) {
5073
5012
  let result = handlers;
5074
5013
  handlers.filter((x) => x instanceof NodeDragHandler).forEach((dragHandler) => {
5075
- this.fMediator.send(new PutOutputConnectionHandlersToArrayRequest(dragHandler, inputIds, result));
5076
- this.fMediator.send(new PutInputConnectionHandlersToArrayRequest(dragHandler, outputIds, result));
5014
+ this._fMediator.send(new PutOutputConnectionHandlersToArrayRequest(dragHandler, inputIds, result));
5015
+ this._fMediator.send(new PutInputConnectionHandlersToArrayRequest(dragHandler, outputIds, result));
5077
5016
  });
5078
5017
  return result;
5079
5018
  }
5080
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
5019
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5081
5020
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution });
5082
5021
  };
5083
5022
  CreateMoveNodesDragModelFromSelectionExecution = __decorate([
@@ -5085,7 +5024,7 @@ CreateMoveNodesDragModelFromSelectionExecution = __decorate([
5085
5024
  ], CreateMoveNodesDragModelFromSelectionExecution);
5086
5025
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution, decorators: [{
5087
5026
  type: Injectable
5088
- }], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: i2.FMediator }] });
5027
+ }] });
5089
5028
 
5090
5029
  const CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS = [
5091
5030
  GetNodeMoveRestrictionsExecution,
@@ -5260,7 +5199,7 @@ let NodeDragToParentPreparationExecution = class NodeDragToParentPreparationExec
5260
5199
  }
5261
5200
  getNotDraggedNodesRects() {
5262
5201
  return this.getNotDraggedNodes(this.getDraggedNodes()).map((x) => {
5263
- const rect = this.fMediator.send(new GetElementRectInFlowRequest(x.hostElement));
5202
+ const rect = this.fMediator.send(new GetNormalizedElementRectRequest(x.hostElement));
5264
5203
  return {
5265
5204
  node: x,
5266
5205
  rect: RectExtensions.initialize(rect.x + this.fCanvasPosition.x, rect.y + this.fCanvasPosition.y, rect.width * this.transform.scale, rect.height * this.transform.scale)
@@ -5316,56 +5255,55 @@ class NodeMovePreparationRequest {
5316
5255
  }
5317
5256
 
5318
5257
  let NodeMovePreparationExecution = class NodeMovePreparationExecution {
5319
- fComponentsStore;
5320
- fDraggableDataContext;
5321
- fMediator;
5322
- get transform() {
5323
- return this.fComponentsStore.fCanvas.transform;
5324
- }
5325
- get flowHost() {
5326
- return this.fComponentsStore.fFlow.hostElement;
5258
+ _fMediator = inject(FMediator);
5259
+ _fComponentsStore = inject(FComponentsStore);
5260
+ _fDraggableDataContext = inject(FDraggableDataContext);
5261
+ get _transform() {
5262
+ return this._fComponentsStore.fCanvas.transform;
5327
5263
  }
5328
- constructor(fComponentsStore, fDraggableDataContext, fMediator) {
5329
- this.fComponentsStore = fComponentsStore;
5330
- this.fDraggableDataContext = fDraggableDataContext;
5331
- this.fMediator = fMediator;
5264
+ get _fHost() {
5265
+ return this._fComponentsStore.fFlow.hostElement;
5332
5266
  }
5333
5267
  handle(request) {
5334
- const node = this.getNode(request.event.targetElement);
5335
- if (!node) {
5268
+ const itemsToDrag = this._calculateDraggableItems(this._getNode(request.event.targetElement));
5269
+ this._initializeLineAlignment(itemsToDrag);
5270
+ this._fDraggableDataContext.onPointerDownScale = this._transform.scale;
5271
+ this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
5272
+ .elementTransform(this._fHost).div(this._transform.scale);
5273
+ this._fDraggableDataContext.draggableItems = itemsToDrag;
5274
+ }
5275
+ _getNode(targetElement) {
5276
+ const result = this._fComponentsStore.fNodes.find(n => n.isContains(targetElement));
5277
+ if (!result) {
5336
5278
  throw new Error('Node not found');
5337
5279
  }
5338
- let itemsToDrag = [];
5339
- if (!node.fSelectionDisabled) {
5340
- this.selectAndUpdateNodeLayer(node);
5341
- itemsToDrag = this.createDragModelFromSelection();
5280
+ return result;
5281
+ }
5282
+ //We drag nodes from selection model
5283
+ _calculateDraggableItems(fNode) {
5284
+ let result = [];
5285
+ if (!fNode.fSelectionDisabled) {
5286
+ // Need to select node before drag
5287
+ this._fMediator.send(new SelectAndUpdateNodeLayerRequest(fNode));
5288
+ result = this._dragModelFromSelection();
5342
5289
  }
5343
5290
  else {
5344
- itemsToDrag = this.createDragModelFromSelection(node);
5291
+ // User can drag node that can't be selected
5292
+ result = this._dragModelFromSelection(fNode);
5345
5293
  }
5346
- this.initializeLineAlignment(this.filterNodesFromDraggableItems(itemsToDrag));
5347
- this.fDraggableDataContext.onPointerDownScale = this.transform.scale;
5348
- this.fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
5349
- .elementTransform(this.flowHost).div(this.transform.scale);
5350
- this.fDraggableDataContext.draggableItems = itemsToDrag;
5351
- }
5352
- selectAndUpdateNodeLayer(node) {
5353
- this.fMediator.send(new SelectAndUpdateNodeLayerRequest(node));
5354
- }
5355
- getNode(targetElement) {
5356
- return this.fComponentsStore.fNodes.find(n => n.isContains(targetElement));
5294
+ return result;
5357
5295
  }
5358
- createDragModelFromSelection(nodeWithDisabledSelection) {
5359
- return this.fMediator.send(new CreateMoveNodesDragModelFromSelectionRequest(nodeWithDisabledSelection));
5296
+ _dragModelFromSelection(nodeWithDisabledSelection) {
5297
+ return this._fMediator.send(new CreateMoveNodesDragModelFromSelectionRequest(nodeWithDisabledSelection));
5360
5298
  }
5361
- initializeLineAlignment(nodesToDrag) {
5362
- this.fDraggableDataContext.fLineAlignment?.initialize(this.fComponentsStore.fNodes, nodesToDrag);
5299
+ _initializeLineAlignment(itemsToDrag) {
5300
+ this._fDraggableDataContext.fLineAlignment?.initialize(this._fComponentsStore.fNodes, this._filterNodesFromDraggableItems(itemsToDrag));
5363
5301
  }
5364
- filterNodesFromDraggableItems(items) {
5302
+ _filterNodesFromDraggableItems(items) {
5365
5303
  return items.filter((x) => x instanceof NodeDragHandler)
5366
5304
  .map(x => x.fNode);
5367
5305
  }
5368
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationExecution, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
5306
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5369
5307
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationExecution });
5370
5308
  };
5371
5309
  NodeMovePreparationExecution = __decorate([
@@ -5373,33 +5311,29 @@ NodeMovePreparationExecution = __decorate([
5373
5311
  ], NodeMovePreparationExecution);
5374
5312
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationExecution, decorators: [{
5375
5313
  type: Injectable
5376
- }], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: i2.FMediator }] });
5314
+ }] });
5377
5315
 
5378
5316
  let NodeMovePreparationValidator = class NodeMovePreparationValidator {
5379
- fComponentsStore;
5380
- fDraggableDataContext;
5381
- constructor(fComponentsStore, fDraggableDataContext) {
5382
- this.fComponentsStore = fComponentsStore;
5383
- this.fDraggableDataContext = fDraggableDataContext;
5384
- }
5317
+ _fComponentsStore = inject(FComponentsStore);
5318
+ _fDraggableDataContext = inject(FDraggableDataContext);
5385
5319
  handle(request) {
5386
- return this.isDragHandlesEmpty()
5387
- && this.isDragHandleElement(request.event.targetElement)
5388
- && this.isNodeCanBeDragged(this.getNode(request.event.targetElement));
5320
+ return this._isDragHandlesEmpty()
5321
+ && this._isDragHandleElement(request.event.targetElement)
5322
+ && this._isNodeCanBeDragged(this._getNode(request.event.targetElement));
5389
5323
  }
5390
- isDragHandlesEmpty() {
5391
- return !this.fDraggableDataContext.draggableItems.length;
5324
+ _isDragHandlesEmpty() {
5325
+ return !this._fDraggableDataContext.draggableItems.length;
5392
5326
  }
5393
- getNode(targetElement) {
5394
- return this.fComponentsStore.fNodes.find(n => n.isContains(targetElement));
5327
+ _isDragHandleElement(element) {
5328
+ return isClosestElementHasClass(element, '.f-drag-handle');
5395
5329
  }
5396
- isNodeCanBeDragged(node) {
5397
- return !!node && !node.fDraggingDisabled;
5330
+ _isNodeCanBeDragged(fNode) {
5331
+ return !!fNode && !fNode.fDraggingDisabled;
5398
5332
  }
5399
- isDragHandleElement(targetElement) {
5400
- return isClosestElementHasClass(targetElement, '.f-drag-handle');
5333
+ _getNode(element) {
5334
+ return this._fComponentsStore.fNodes.find(x => x.isContains(element));
5401
5335
  }
5402
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationValidator, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
5336
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationValidator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5403
5337
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationValidator });
5404
5338
  };
5405
5339
  NodeMovePreparationValidator = __decorate([
@@ -5407,7 +5341,7 @@ NodeMovePreparationValidator = __decorate([
5407
5341
  ], NodeMovePreparationValidator);
5408
5342
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationValidator, decorators: [{
5409
5343
  type: Injectable
5410
- }], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }] });
5344
+ }] });
5411
5345
 
5412
5346
  const NODE_MOVE_PREPARATION_PROVIDERS = [
5413
5347
  NodeMovePreparationExecution,
@@ -5422,44 +5356,50 @@ class NodeMoveFinalizeRequest {
5422
5356
  }
5423
5357
 
5424
5358
  let NodeMoveFinalizeExecution = class NodeMoveFinalizeExecution {
5425
- fComponentsStore;
5426
- fDraggableDataContext;
5427
- fMediator;
5428
- get flowHost() {
5429
- return this.fComponentsStore.fFlow.hostElement;
5430
- }
5431
- constructor(fComponentsStore, fDraggableDataContext, fMediator) {
5432
- this.fComponentsStore = fComponentsStore;
5433
- this.fDraggableDataContext = fDraggableDataContext;
5434
- this.fMediator = fMediator;
5359
+ _fMediator = inject(FMediator);
5360
+ _fComponentsStore = inject(FComponentsStore);
5361
+ _fDraggableDataContext = inject(FDraggableDataContext);
5362
+ get _fHost() {
5363
+ return this._fComponentsStore.fFlow.hostElement;
5435
5364
  }
5436
5365
  handle(request) {
5437
- const difference = this.getDifferenceWithLineAlignment(this.getDifferenceBetweenPreparationAndFinalize(request.event.getPosition()));
5438
- this.getItems().forEach((x) => {
5366
+ const difference = this._getDifferenceWithLineAlignment(this._getDifferenceBetweenPreparationAndFinalize(request.event.getPosition()));
5367
+ const firstNodeOrGroup = this._fDraggableDataContext.draggableItems
5368
+ .find((x) => x instanceof NodeDragHandler);
5369
+ const differenceWithCellSize = firstNodeOrGroup.getDifferenceWithCellSize(difference);
5370
+ this._finalizeMove(differenceWithCellSize);
5371
+ this._fMediator.send(new IsConnectionUnderNodeRequest());
5372
+ this._fDraggableDataContext.fLineAlignment?.complete();
5373
+ }
5374
+ _finalizeMove(difference) {
5375
+ this._getItems().forEach((x) => {
5439
5376
  x.onPointerMove({ ...difference });
5440
5377
  x.onPointerUp?.();
5441
5378
  });
5442
- this.fMediator.send(new IsConnectionUnderNodeRequest());
5443
- this.fDraggableDataContext.fLineAlignment?.complete();
5444
5379
  }
5445
- getItems() {
5446
- return this.fDraggableDataContext.draggableItems
5380
+ _getItems() {
5381
+ return this._fDraggableDataContext.draggableItems
5447
5382
  .filter((x) => !(x instanceof NodeDragToParentDragHandler));
5448
5383
  }
5449
- getDifferenceBetweenPreparationAndFinalize(position) {
5450
- return Point.fromPoint(position).elementTransform(this.flowHost)
5451
- .div(this.fDraggableDataContext.onPointerDownScale)
5452
- .sub(this.fDraggableDataContext.onPointerDownPosition);
5384
+ _getDifferenceBetweenPreparationAndFinalize(position) {
5385
+ return Point.fromPoint(position).elementTransform(this._fHost)
5386
+ .div(this._fDraggableDataContext.onPointerDownScale)
5387
+ .sub(this._fDraggableDataContext.onPointerDownPosition);
5453
5388
  }
5454
- getDifferenceWithLineAlignment(difference) {
5455
- const intersection = this.fDraggableDataContext.fLineAlignment?.findNearestCoordinate(difference);
5389
+ _getDifferenceWithLineAlignment(difference) {
5390
+ return this._applyLineAlignmentDifference(difference, this._getLineAlignmentDifference(difference));
5391
+ }
5392
+ _getLineAlignmentDifference(difference) {
5393
+ return this._fDraggableDataContext.fLineAlignment?.findNearestCoordinate(difference);
5394
+ }
5395
+ _applyLineAlignmentDifference(difference, intersection) {
5456
5396
  if (intersection) {
5457
5397
  difference.x = intersection.xResult.value ? (difference.x - intersection.xResult.distance) : difference.x;
5458
5398
  difference.y = intersection.yResult.value ? (difference.y - intersection.yResult.distance) : difference.y;
5459
5399
  }
5460
5400
  return difference;
5461
5401
  }
5462
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
5402
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5463
5403
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution });
5464
5404
  };
5465
5405
  NodeMoveFinalizeExecution = __decorate([
@@ -5467,7 +5407,7 @@ NodeMoveFinalizeExecution = __decorate([
5467
5407
  ], NodeMoveFinalizeExecution);
5468
5408
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution, decorators: [{
5469
5409
  type: Injectable
5470
- }], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: i2.FMediator }] });
5410
+ }] });
5471
5411
 
5472
5412
  let NodeMoveFinalizeValidator = class NodeMoveFinalizeValidator {
5473
5413
  fDraggableDataContext;
@@ -5700,8 +5640,8 @@ let GetNormalizedChildrenNodesRectExecution = class GetNormalizedChildrenNodesRe
5700
5640
  getChildrenNodes(fId) {
5701
5641
  return this.fMediator.send(new GetDeepChildrenNodesAndGroupsRequest(fId));
5702
5642
  }
5703
- normalizeRect(node) {
5704
- return this.fMediator.send(new GetNormalizedNodeRectRequest(node));
5643
+ normalizeRect(fNode) {
5644
+ return this.fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement));
5705
5645
  }
5706
5646
  concatRectWithParentPadding(rect, padding) {
5707
5647
  return RectExtensions.initialize(rect.x - padding[0], rect.y - padding[1], rect.width + padding[0] + padding[2], rect.height + +padding[1] + padding[3]);
@@ -5794,7 +5734,7 @@ class NodeResizeDragHandler {
5794
5734
  this.fResizeHandleType = fResizeHandleType;
5795
5735
  }
5796
5736
  prepareDragSequence() {
5797
- this.originalRect = this.fMediator.send(new GetNormalizedNodeRectRequest(this.fNode));
5737
+ this.originalRect = this.fMediator.send(new GetNormalizedElementRectRequest(this.fNode.hostElement));
5798
5738
  this.restrictions = this.fMediator.send(new GetNodeResizeRestrictionsRequest(this.fNode, this.originalRect));
5799
5739
  if (this.restrictions.childRect) {
5800
5740
  this.childRestrictions = (rect, restrictionsRect) => {
@@ -6135,7 +6075,7 @@ let ExternalItemFinalizeExecution = class ExternalItemFinalizeExecution {
6135
6075
  return elements.length ? this.flowHost.contains(elements[0]) : false;
6136
6076
  }
6137
6077
  getRectInCanvas() {
6138
- return this.fMediator.send(new GetElementRectInFlowRequest(this.dragHandler.placeholder));
6078
+ return this.fMediator.send(new GetNormalizedElementRectRequest(this.dragHandler.placeholder));
6139
6079
  }
6140
6080
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeExecution, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }, { token: i2.FMediator }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Injectable });
6141
6081
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeExecution });
@@ -6432,6 +6372,8 @@ class FDraggableDirective extends FDraggableBase {
6432
6372
  fReassignConnection = new EventEmitter();
6433
6373
  fCreateConnection = new EventEmitter();
6434
6374
  fDropToGroup = new EventEmitter();
6375
+ vCellSize = 1;
6376
+ hCellSize = 1;
6435
6377
  plugins;
6436
6378
  constructor(ngZone, _fBrowser) {
6437
6379
  super(ngZone);
@@ -6490,7 +6432,7 @@ class FDraggableDirective extends FDraggableBase {
6490
6432
  super.unsubscribe();
6491
6433
  }
6492
6434
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDirective, deps: [{ token: NgZone, optional: true }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Directive });
6493
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled"] }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup" }, queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
6435
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled"], vCellSize: "vCellSize", hCellSize: "hCellSize" }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup" }, queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
6494
6436
  }
6495
6437
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDirective, decorators: [{
6496
6438
  type: Directive,
@@ -6518,6 +6460,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6518
6460
  type: Output
6519
6461
  }], fDropToGroup: [{
6520
6462
  type: Output
6463
+ }], vCellSize: [{
6464
+ type: Input
6465
+ }], hCellSize: [{
6466
+ type: Input
6521
6467
  }], plugins: [{
6522
6468
  type: ContentChildren,
6523
6469
  args: [F_DRAG_AND_DROP_PLUGIN, { descendants: true }]
@@ -6525,9 +6471,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6525
6471
 
6526
6472
  class FSelectionChangeEvent {
6527
6473
  nodes;
6474
+ groups;
6528
6475
  connections;
6529
- constructor(nodes, connections) {
6476
+ constructor(nodes, groups, connections) {
6530
6477
  this.nodes = nodes;
6478
+ this.groups = groups;
6531
6479
  this.connections = connections;
6532
6480
  }
6533
6481
  }
@@ -6941,18 +6889,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6941
6889
  type: Injectable
6942
6890
  }], ctorParameters: () => [{ type: FDraggableDataContext }] });
6943
6891
 
6944
- class GetCanBeSelectedItemsRequest {
6945
- }
6946
-
6947
6892
  class SelectionAreaDragHandle {
6948
6893
  fComponentsStore;
6949
6894
  fSelectionArea;
6950
6895
  fDraggableDataContext;
6951
6896
  fMediator;
6952
- canBeSelected = [];
6953
- selectedByMove = [];
6897
+ _canBeSelected = [];
6898
+ _selectedByMove = [];
6954
6899
  get canvasPosition() {
6955
- return Point.fromPoint(this.fComponentsStore.fCanvas.transform.position).add(this.fComponentsStore.fCanvas.transform.scaledPosition);
6900
+ return Point.fromPoint(this.fComponentsStore.fCanvas.transform.position)
6901
+ .add(this.fComponentsStore.fCanvas.transform.scaledPosition);
6956
6902
  }
6957
6903
  constructor(fComponentsStore, fSelectionArea, fDraggableDataContext, fMediator) {
6958
6904
  this.fComponentsStore = fComponentsStore;
@@ -6961,7 +6907,7 @@ class SelectionAreaDragHandle {
6961
6907
  this.fMediator = fMediator;
6962
6908
  }
6963
6909
  prepareDragSequence() {
6964
- this.canBeSelected = this.fMediator.send(new GetCanBeSelectedItemsRequest());
6910
+ this._canBeSelected = this.fMediator.send(new GetCanBeSelectedItemsRequest());
6965
6911
  this.fSelectionArea.show();
6966
6912
  this.fSelectionArea.draw(RectExtensions.initialize(this.fDraggableDataContext.onPointerDownPosition.x, this.fDraggableDataContext.onPointerDownPosition.y));
6967
6913
  }
@@ -6972,22 +6918,22 @@ class SelectionAreaDragHandle {
6972
6918
  const width = Math.abs(difference.x);
6973
6919
  const height = Math.abs(difference.y);
6974
6920
  this.fSelectionArea.draw(RectExtensions.initialize(x, y, width, height));
6975
- this.selectedByMove = [];
6976
- this.canBeSelected.forEach((item) => {
6921
+ this._selectedByMove = [];
6922
+ this._canBeSelected.forEach((item) => {
6977
6923
  item.element.deselect();
6978
6924
  const itemRect = RectExtensions.addPoint(item.rect, this.canvasPosition);
6979
6925
  const isIntersect = RectExtensions.intersectionWithRect(itemRect, RectExtensions.initialize(x, y, width, height));
6980
6926
  if (isIntersect) {
6981
6927
  item.element.select();
6982
- this.selectedByMove.push(item.element);
6928
+ this._selectedByMove.push(item.element);
6983
6929
  }
6984
6930
  });
6985
6931
  this.fMediator.send(new NotifyTransformChangedRequest());
6986
6932
  }
6987
6933
  onPointerUp() {
6988
6934
  this.fSelectionArea.hide();
6989
- this.fDraggableDataContext.selectedItems.push(...this.selectedByMove);
6990
- if (this.selectedByMove.length > 0) {
6935
+ this.fDraggableDataContext.selectedItems.push(...this._selectedByMove);
6936
+ if (this._selectedByMove.length > 0) {
6991
6937
  this.fDraggableDataContext.isSelectedChanged = true;
6992
6938
  }
6993
6939
  }
@@ -7179,37 +7125,93 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
7179
7125
  type: Injectable
7180
7126
  }], ctorParameters: () => [{ type: FDraggableDataContext }] });
7181
7127
 
7182
- class GetSelectionRequest {
7128
+ class GetCanBeSelectedItemsRequest {
7183
7129
  }
7184
7130
 
7185
- let GetSelectionExecution = class GetSelectionExecution {
7131
+ let GetCanBeSelectedItemsExecution = class GetCanBeSelectedItemsExecution {
7186
7132
  fDraggableDataContext;
7133
+ _fMediator = inject(FMediator);
7134
+ _fComponentsStore = inject(FComponentsStore);
7135
+ get fNodes() {
7136
+ return this._fComponentsStore.fNodes;
7137
+ }
7138
+ get fConnections() {
7139
+ return this._fComponentsStore.fConnections;
7140
+ }
7141
+ get transform() {
7142
+ return this._fComponentsStore.fCanvas.transform;
7143
+ }
7187
7144
  constructor(fDraggableDataContext) {
7188
7145
  this.fDraggableDataContext = fDraggableDataContext;
7189
7146
  }
7190
7147
  handle() {
7191
- let selectedNodes = [];
7192
- let selectedConnections = [];
7193
- this.fDraggableDataContext.selectedItems.forEach((x) => {
7194
- if (x.hostElement.classList.contains('f-node')) {
7195
- selectedNodes.push(x.hostElement.dataset['fNodeId']);
7196
- }
7197
- else {
7198
- selectedConnections.push(x.hostElement.id);
7199
- }
7148
+ return [...this.getNodesWithRects(), ...this.getConnectionsWithRects()].filter((x) => {
7149
+ return !this.fDraggableDataContext.selectedItems.includes(x.element);
7150
+ });
7151
+ }
7152
+ getNodesWithRects() {
7153
+ return this.fNodes.filter((x) => !x.fSelectionDisabled).map((x) => {
7154
+ return {
7155
+ element: x,
7156
+ rect: RectExtensions.mult(this._fMediator.send(new GetNormalizedElementRectRequest(x.hostElement)), this.transform.scale)
7157
+ };
7158
+ });
7159
+ }
7160
+ getConnectionsWithRects() {
7161
+ return this.fConnections.filter((x) => !x.fSelectionDisabled).map((x) => {
7162
+ return {
7163
+ element: x,
7164
+ rect: RectExtensions.mult(this._fMediator.send(new GetNormalizedElementRectRequest(x.boundingElement)), this.transform.scale)
7165
+ };
7200
7166
  });
7201
- return new FSelectionChangeEvent(selectedNodes, selectedConnections);
7202
7167
  }
7203
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetSelectionExecution, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
7204
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetSelectionExecution });
7168
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCanBeSelectedItemsExecution, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
7169
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCanBeSelectedItemsExecution });
7205
7170
  };
7206
- GetSelectionExecution = __decorate([
7207
- FExecutionRegister(GetSelectionRequest)
7208
- ], GetSelectionExecution);
7209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetSelectionExecution, decorators: [{
7171
+ GetCanBeSelectedItemsExecution = __decorate([
7172
+ FExecutionRegister(GetCanBeSelectedItemsRequest)
7173
+ ], GetCanBeSelectedItemsExecution);
7174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCanBeSelectedItemsExecution, decorators: [{
7210
7175
  type: Injectable
7211
7176
  }], ctorParameters: () => [{ type: FDraggableDataContext }] });
7212
7177
 
7178
+ class GetCurrentSelectionRequest {
7179
+ }
7180
+
7181
+ let GetCurrentSelectionExecution = class GetCurrentSelectionExecution {
7182
+ _fDraggableDataContext = inject(FDraggableDataContext);
7183
+ handle() {
7184
+ return {
7185
+ nodes: this._getSelectedNodes(),
7186
+ groups: this._getSelectedGroups(),
7187
+ connections: this._getSelectedConnections()
7188
+ };
7189
+ }
7190
+ _getSelectedNodes() {
7191
+ return this._fDraggableDataContext.selectedItems
7192
+ .filter(x => x.hostElement.classList.contains('f-node'))
7193
+ .map(x => x.hostElement.dataset['fNodeId']);
7194
+ }
7195
+ _getSelectedGroups() {
7196
+ return this._fDraggableDataContext.selectedItems
7197
+ .filter(x => x.hostElement.classList.contains('f-group'))
7198
+ .map(x => x.hostElement.dataset['fGroupId']);
7199
+ }
7200
+ _getSelectedConnections() {
7201
+ return this._fDraggableDataContext.selectedItems
7202
+ .filter(x => !x.hostElement.classList.contains('f-node') && !x.hostElement.classList.contains('f-group'))
7203
+ .map(x => x.hostElement.id);
7204
+ }
7205
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCurrentSelectionExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7206
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCurrentSelectionExecution });
7207
+ };
7208
+ GetCurrentSelectionExecution = __decorate([
7209
+ FExecutionRegister(GetCurrentSelectionRequest)
7210
+ ], GetCurrentSelectionExecution);
7211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCurrentSelectionExecution, decorators: [{
7212
+ type: Injectable
7213
+ }] });
7214
+
7213
7215
  class SelectRequest {
7214
7216
  nodes;
7215
7217
  connections;
@@ -7498,7 +7500,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
7498
7500
 
7499
7501
  const F_SELECTION_FEATURES = [
7500
7502
  ClearSelectionExecution,
7501
- GetSelectionExecution,
7503
+ GetCanBeSelectedItemsExecution,
7504
+ GetCurrentSelectionExecution,
7502
7505
  SelectExecution,
7503
7506
  SelectAllExecution,
7504
7507
  SelectAndUpdateNodeLayerExecution
@@ -7515,10 +7518,16 @@ let EmitSelectionChangeEventExecution = class EmitSelectionChangeEventExecution
7515
7518
  if (!this._fDraggableDataContext.isSelectedChanged) {
7516
7519
  return;
7517
7520
  }
7518
- this._fSelectionChange.emit(this._fMediator.send(new GetSelectionRequest()));
7521
+ this._emitSelectionChange(this._getSelection());
7519
7522
  this._fDraggableDataContext.isSelectedChanged = false;
7520
7523
  this._fMediator.send(new NotifyTransformChangedRequest());
7521
7524
  }
7525
+ _getSelection() {
7526
+ return this._fMediator.send(new GetCurrentSelectionRequest());
7527
+ }
7528
+ _emitSelectionChange(selection) {
7529
+ this._fSelectionChange.emit(new FSelectionChangeEvent(selection.nodes, selection.groups, selection.connections));
7530
+ }
7522
7531
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: EmitSelectionChangeEventExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7523
7532
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: EmitSelectionChangeEventExecution });
7524
7533
  };
@@ -7752,6 +7761,125 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
7752
7761
  type: Injectable
7753
7762
  }] });
7754
7763
 
7764
+ class GetFlowStateConnectionsRequest {
7765
+ }
7766
+
7767
+ let GetFlowStateConnectionsExecution = class GetFlowStateConnectionsExecution {
7768
+ fComponentsStore;
7769
+ constructor(fComponentsStore) {
7770
+ this.fComponentsStore = fComponentsStore;
7771
+ }
7772
+ handle(request) {
7773
+ return this.fComponentsStore.fConnections.map((x) => {
7774
+ return {
7775
+ id: x.fId,
7776
+ fOutputId: x.fOutputId,
7777
+ fInputId: x.fInputId,
7778
+ fType: x.fType,
7779
+ fBehavior: x.fBehavior,
7780
+ isSelected: x.isSelected()
7781
+ };
7782
+ });
7783
+ }
7784
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateConnectionsExecution, deps: [{ token: FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
7785
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateConnectionsExecution });
7786
+ };
7787
+ GetFlowStateConnectionsExecution = __decorate([
7788
+ FExecutionRegister(GetFlowStateConnectionsRequest)
7789
+ ], GetFlowStateConnectionsExecution);
7790
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateConnectionsExecution, decorators: [{
7791
+ type: Injectable
7792
+ }], ctorParameters: () => [{ type: FComponentsStore }] });
7793
+
7794
+ class GetFlowStateNodesRequest {
7795
+ type;
7796
+ constructor(type) {
7797
+ this.type = type;
7798
+ }
7799
+ }
7800
+
7801
+ let GetFlowStateNodesExecution = class GetFlowStateNodesExecution {
7802
+ fComponentsStore;
7803
+ constructor(fComponentsStore) {
7804
+ this.fComponentsStore = fComponentsStore;
7805
+ }
7806
+ handle(request) {
7807
+ return this.fComponentsStore.fNodes.filter((x) => x instanceof request.type).map((x) => {
7808
+ return {
7809
+ id: x.fId,
7810
+ parent: x.fParentId,
7811
+ position: x.position,
7812
+ size: x.size,
7813
+ fOutputs: this.getOutputs(x.hostElement),
7814
+ fInputs: this.getInputs(x.hostElement),
7815
+ isSelected: x.isSelected()
7816
+ };
7817
+ });
7818
+ }
7819
+ getOutputs(hostElement) {
7820
+ return this.fComponentsStore.fOutputs.filter((x) => hostElement.contains(x.hostElement)).map((x) => {
7821
+ return {
7822
+ id: x.fId,
7823
+ fConnectableSide: x.fConnectableSide
7824
+ };
7825
+ });
7826
+ }
7827
+ getInputs(hostElement) {
7828
+ return this.fComponentsStore.fInputs.filter((x) => hostElement.contains(x.hostElement)).map((x) => {
7829
+ return {
7830
+ id: x.fId,
7831
+ fConnectableSide: x.fConnectableSide
7832
+ };
7833
+ });
7834
+ }
7835
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateNodesExecution, deps: [{ token: FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
7836
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateNodesExecution });
7837
+ };
7838
+ GetFlowStateNodesExecution = __decorate([
7839
+ FExecutionRegister(GetFlowStateNodesRequest)
7840
+ ], GetFlowStateNodesExecution);
7841
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateNodesExecution, decorators: [{
7842
+ type: Injectable
7843
+ }], ctorParameters: () => [{ type: FComponentsStore }] });
7844
+
7845
+ class GetFlowStateRequest {
7846
+ }
7847
+
7848
+ let GetFlowStateExecution = class GetFlowStateExecution {
7849
+ fComponentsStore;
7850
+ fMediator;
7851
+ constructor(fComponentsStore, fMediator) {
7852
+ this.fComponentsStore = fComponentsStore;
7853
+ this.fMediator = fMediator;
7854
+ }
7855
+ handle(payload) {
7856
+ return {
7857
+ position: this.getCanvasPosition(this.fComponentsStore.fCanvas.transform),
7858
+ scale: this.fComponentsStore.fCanvas.transform.scale,
7859
+ nodes: this.fMediator.send(new GetFlowStateNodesRequest(FNodeDirective)),
7860
+ groups: this.fMediator.send(new GetFlowStateNodesRequest(FGroupDirective)),
7861
+ connections: this.fMediator.send(new GetFlowStateConnectionsRequest())
7862
+ };
7863
+ }
7864
+ getCanvasPosition(transform) {
7865
+ return PointExtensions.sum(transform.position, transform.scaledPosition);
7866
+ }
7867
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateExecution, deps: [{ token: FComponentsStore }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
7868
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateExecution });
7869
+ };
7870
+ GetFlowStateExecution = __decorate([
7871
+ FExecutionRegister(GetFlowStateRequest)
7872
+ ], GetFlowStateExecution);
7873
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateExecution, decorators: [{
7874
+ type: Injectable
7875
+ }], ctorParameters: () => [{ type: FComponentsStore }, { type: i2.FMediator }] });
7876
+
7877
+ const GET_FLOW_STATE_PROVIDERS = [
7878
+ GetFlowStateExecution,
7879
+ GetFlowStateNodesExecution,
7880
+ GetFlowStateConnectionsExecution
7881
+ ];
7882
+
7755
7883
  class RemoveFlowFromStoreRequest {
7756
7884
  }
7757
7885
 
@@ -7774,6 +7902,7 @@ const F_FLOW_FEATURES = [
7774
7902
  AddFlowToStoreExecution,
7775
7903
  GetFlowExecution,
7776
7904
  GetFlowHostElementExecution,
7905
+ ...GET_FLOW_STATE_PROVIDERS,
7777
7906
  RemoveFlowFromStoreExecution
7778
7907
  ];
7779
7908
 
@@ -7853,7 +7982,9 @@ let CalculateNodesBoundingBoxExecution = class CalculateNodesBoundingBoxExecutio
7853
7982
  return RectExtensions.union(this._getNodesRects());
7854
7983
  }
7855
7984
  _getNodesRects() {
7856
- return this._fComponentsStore.fNodes.map((x) => this._getElementRect(x.hostElement));
7985
+ return this._fComponentsStore.fNodes.map((x) => {
7986
+ return this._getElementRect(x.hostElement);
7987
+ });
7857
7988
  }
7858
7989
  _getElementRect(element) {
7859
7990
  return RectExtensions.fromElement(element);
@@ -7868,6 +7999,68 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
7868
7999
  type: Injectable
7869
8000
  }] });
7870
8001
 
8002
+ class CalculateNodesBoundingBoxNormalizedPositionRequest {
8003
+ }
8004
+
8005
+ let CalculateNodesBoundingBoxNormalizedPositionExecution = class CalculateNodesBoundingBoxNormalizedPositionExecution {
8006
+ _fComponentsStore = inject(FComponentsStore);
8007
+ handle(request) {
8008
+ return RectExtensions.union(this._getNodesRects());
8009
+ }
8010
+ _getNodesRects() {
8011
+ return this._fComponentsStore.fNodes.map((x) => {
8012
+ return this._getElementRect(x, RectExtensions.fromElement(x.hostElement));
8013
+ });
8014
+ }
8015
+ _getElementRect(fNode, rect) {
8016
+ return RectExtensions.initialize(fNode.position.x, fNode.position.y, rect.width, rect.height);
8017
+ }
8018
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateNodesBoundingBoxNormalizedPositionExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
8019
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateNodesBoundingBoxNormalizedPositionExecution });
8020
+ };
8021
+ CalculateNodesBoundingBoxNormalizedPositionExecution = __decorate([
8022
+ FExecutionRegister(CalculateNodesBoundingBoxNormalizedPositionRequest)
8023
+ ], CalculateNodesBoundingBoxNormalizedPositionExecution);
8024
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateNodesBoundingBoxNormalizedPositionExecution, decorators: [{
8025
+ type: Injectable
8026
+ }] });
8027
+
8028
+ class GetNodePaddingRequest {
8029
+ fNode;
8030
+ rect;
8031
+ constructor(fNode, rect) {
8032
+ this.fNode = fNode;
8033
+ this.rect = rect;
8034
+ }
8035
+ }
8036
+
8037
+ let GetNodePaddingExecution = class GetNodePaddingExecution {
8038
+ fBrowser;
8039
+ constructor(fBrowser) {
8040
+ this.fBrowser = fBrowser;
8041
+ }
8042
+ handle(request) {
8043
+ return request.fNode.fIncludePadding ? this.getPaddingData(request.fNode, request.rect) : [0, 0, 0, 0];
8044
+ }
8045
+ getPaddingData(node, rect) {
8046
+ const style = this.fBrowser.window.getComputedStyle(node.hostElement);
8047
+ return [
8048
+ this.fBrowser.toPixels(style.paddingLeft, rect.width, rect.height, style.fontSize),
8049
+ this.fBrowser.toPixels(style.paddingTop, rect.width, rect.height, style.fontSize),
8050
+ this.fBrowser.toPixels(style.paddingRight, rect.width, rect.height, style.fontSize),
8051
+ this.fBrowser.toPixels(style.paddingBottom, rect.width, rect.height, style.fontSize)
8052
+ ];
8053
+ }
8054
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution, deps: [{ token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Injectable });
8055
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution });
8056
+ };
8057
+ GetNodePaddingExecution = __decorate([
8058
+ FExecutionRegister(GetNodePaddingRequest)
8059
+ ], GetNodePaddingExecution);
8060
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution, decorators: [{
8061
+ type: Injectable
8062
+ }], ctorParameters: () => [{ type: i1.BrowserService }] });
8063
+
7871
8064
  class GetNodesRequest {
7872
8065
  }
7873
8066
 
@@ -7944,240 +8137,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
7944
8137
  const F_NODE_FEATURES = [
7945
8138
  AddNodeToStoreExecution,
7946
8139
  CalculateNodesBoundingBoxExecution,
8140
+ CalculateNodesBoundingBoxNormalizedPositionExecution,
8141
+ GetNodePaddingExecution,
7947
8142
  GetNodesExecution,
8143
+ GetParentNodesExecution,
7948
8144
  UpdateNodeWhenStateOrSizeChangedExecution,
7949
8145
  RemoveNodeFromStoreExecution
7950
8146
  ];
7951
8147
 
7952
- let GetCanBeSelectedItemsExecution = class GetCanBeSelectedItemsExecution {
7953
- fComponentsStore;
7954
- fDraggableDataContext;
7955
- fMediator;
7956
- get fNodes() {
7957
- return this.fComponentsStore.fNodes;
7958
- }
7959
- get fConnections() {
7960
- return this.fComponentsStore.fConnections;
7961
- }
7962
- get transform() {
7963
- return this.fComponentsStore.fCanvas.transform;
7964
- }
7965
- constructor(fComponentsStore, fDraggableDataContext, fMediator) {
7966
- this.fComponentsStore = fComponentsStore;
7967
- this.fDraggableDataContext = fDraggableDataContext;
7968
- this.fMediator = fMediator;
7969
- }
7970
- handle() {
7971
- return [...this.getNodesWithRects(), ...this.getConnectionsWithRects()].filter((x) => {
7972
- return !this.fDraggableDataContext.selectedItems.includes(x.element);
7973
- });
7974
- }
7975
- getNodesWithRects() {
7976
- return this.fNodes.filter((x) => !x.fSelectionDisabled).map((x) => {
7977
- return {
7978
- element: x,
7979
- rect: RectExtensions.mult(this.fMediator.send(new GetElementRectInFlowRequest(x.hostElement)), this.transform.scale)
7980
- };
7981
- });
7982
- }
7983
- getConnectionsWithRects() {
7984
- return this.fConnections.filter((x) => !x.fSelectionDisabled).map((x) => {
7985
- return {
7986
- element: x,
7987
- rect: RectExtensions.mult(this.fMediator.send(new GetElementRectInFlowRequest(x.boundingElement)), this.transform.scale)
7988
- };
7989
- });
7990
- }
7991
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCanBeSelectedItemsExecution, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
7992
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCanBeSelectedItemsExecution });
7993
- };
7994
- GetCanBeSelectedItemsExecution = __decorate([
7995
- FExecutionRegister(GetCanBeSelectedItemsRequest)
7996
- ], GetCanBeSelectedItemsExecution);
7997
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCanBeSelectedItemsExecution, decorators: [{
7998
- type: Injectable
7999
- }], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: i2.FMediator }] });
8000
-
8001
- class GetFlowStateConnectionsRequest {
8002
- }
8003
-
8004
- let GetFlowStateConnectionsExecution = class GetFlowStateConnectionsExecution {
8005
- fComponentsStore;
8006
- constructor(fComponentsStore) {
8007
- this.fComponentsStore = fComponentsStore;
8008
- }
8009
- handle(request) {
8010
- return this.fComponentsStore.fConnections.map((x) => {
8011
- return {
8012
- id: x.fId,
8013
- fOutputId: x.fOutputId,
8014
- fInputId: x.fInputId,
8015
- fType: x.fType,
8016
- fBehavior: x.fBehavior,
8017
- isSelected: x.isSelected()
8018
- };
8019
- });
8020
- }
8021
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateConnectionsExecution, deps: [{ token: FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
8022
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateConnectionsExecution });
8023
- };
8024
- GetFlowStateConnectionsExecution = __decorate([
8025
- FExecutionRegister(GetFlowStateConnectionsRequest)
8026
- ], GetFlowStateConnectionsExecution);
8027
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateConnectionsExecution, decorators: [{
8028
- type: Injectable
8029
- }], ctorParameters: () => [{ type: FComponentsStore }] });
8030
-
8031
- class GetFlowStateNodesRequest {
8032
- type;
8033
- constructor(type) {
8034
- this.type = type;
8035
- }
8036
- }
8037
-
8038
- let GetFlowStateNodesExecution = class GetFlowStateNodesExecution {
8039
- fComponentsStore;
8040
- constructor(fComponentsStore) {
8041
- this.fComponentsStore = fComponentsStore;
8042
- }
8043
- handle(request) {
8044
- return this.fComponentsStore.fNodes.filter((x) => x instanceof request.type).map((x) => {
8045
- return {
8046
- id: x.fId,
8047
- parent: x.fParentId,
8048
- position: x.position,
8049
- size: x.size,
8050
- fOutputs: this.getOutputs(x.hostElement),
8051
- fInputs: this.getInputs(x.hostElement),
8052
- isSelected: x.isSelected()
8053
- };
8054
- });
8055
- }
8056
- getOutputs(hostElement) {
8057
- return this.fComponentsStore.fOutputs.filter((x) => hostElement.contains(x.hostElement)).map((x) => {
8058
- return {
8059
- id: x.fId,
8060
- fConnectableSide: x.fConnectableSide
8061
- };
8062
- });
8063
- }
8064
- getInputs(hostElement) {
8065
- return this.fComponentsStore.fInputs.filter((x) => hostElement.contains(x.hostElement)).map((x) => {
8066
- return {
8067
- id: x.fId,
8068
- fConnectableSide: x.fConnectableSide
8069
- };
8070
- });
8071
- }
8072
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateNodesExecution, deps: [{ token: FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
8073
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateNodesExecution });
8074
- };
8075
- GetFlowStateNodesExecution = __decorate([
8076
- FExecutionRegister(GetFlowStateNodesRequest)
8077
- ], GetFlowStateNodesExecution);
8078
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateNodesExecution, decorators: [{
8079
- type: Injectable
8080
- }], ctorParameters: () => [{ type: FComponentsStore }] });
8081
-
8082
- class GetFlowStateRequest {
8083
- }
8084
-
8085
- let GetFlowStateExecution = class GetFlowStateExecution {
8086
- fComponentsStore;
8087
- fMediator;
8088
- constructor(fComponentsStore, fMediator) {
8089
- this.fComponentsStore = fComponentsStore;
8090
- this.fMediator = fMediator;
8091
- }
8092
- handle(payload) {
8093
- return {
8094
- position: this.getCanvasPosition(this.fComponentsStore.fCanvas.transform),
8095
- scale: this.fComponentsStore.fCanvas.transform.scale,
8096
- nodes: this.fMediator.send(new GetFlowStateNodesRequest(FNodeDirective)),
8097
- groups: this.fMediator.send(new GetFlowStateNodesRequest(FGroupDirective)),
8098
- connections: this.fMediator.send(new GetFlowStateConnectionsRequest())
8099
- };
8100
- }
8101
- getCanvasPosition(transform) {
8102
- return PointExtensions.sum(transform.position, transform.scaledPosition);
8103
- }
8104
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateExecution, deps: [{ token: FComponentsStore }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
8105
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateExecution });
8106
- };
8107
- GetFlowStateExecution = __decorate([
8108
- FExecutionRegister(GetFlowStateRequest)
8109
- ], GetFlowStateExecution);
8110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFlowStateExecution, decorators: [{
8111
- type: Injectable
8112
- }], ctorParameters: () => [{ type: FComponentsStore }, { type: i2.FMediator }] });
8113
-
8114
- const GET_FLOW_STATE_PROVIDERS = [
8115
- GetFlowStateExecution,
8116
- GetFlowStateNodesExecution,
8117
- GetFlowStateConnectionsExecution
8118
- ];
8119
-
8120
- class GetScaledNodeRectsWithFlowPositionRequest {
8121
- }
8122
-
8123
- let GetScaledNodeRectsWithFlowPositionExecution = class GetScaledNodeRectsWithFlowPositionExecution {
8124
- fComponentsStore;
8125
- constructor(fComponentsStore) {
8126
- this.fComponentsStore = fComponentsStore;
8127
- }
8128
- handle(request) {
8129
- return RectExtensions.union(this.getNodesRects());
8130
- }
8131
- getNodesRects() {
8132
- return this.getNodes().map((x) => {
8133
- const rect = RectExtensions.fromElement(x.hostElement);
8134
- return RectExtensions.initialize(x.position.x, x.position.y, rect.width, rect.height);
8135
- });
8136
- }
8137
- getNodes() {
8138
- return this.fComponentsStore.fNodes;
8139
- }
8140
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetScaledNodeRectsWithFlowPositionExecution, deps: [{ token: FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
8141
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetScaledNodeRectsWithFlowPositionExecution });
8142
- };
8143
- GetScaledNodeRectsWithFlowPositionExecution = __decorate([
8144
- FExecutionRegister(GetScaledNodeRectsWithFlowPositionRequest)
8145
- ], GetScaledNodeRectsWithFlowPositionExecution);
8146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetScaledNodeRectsWithFlowPositionExecution, decorators: [{
8147
- type: Injectable
8148
- }], ctorParameters: () => [{ type: FComponentsStore }] });
8149
-
8150
- class GetPositionInFlowRequest {
8148
+ class GetNormalizedPointRequest {
8151
8149
  position;
8152
8150
  constructor(position) {
8153
8151
  this.position = position;
8154
8152
  }
8155
8153
  }
8156
8154
 
8157
- let GetPositionInFlowExecution = class GetPositionInFlowExecution {
8158
- fComponentsStore;
8159
- get transform() {
8160
- return this.fComponentsStore.fCanvas.transform;
8161
- }
8162
- get flowHost() {
8163
- return this.fComponentsStore.flowHost;
8164
- }
8165
- constructor(fComponentsStore) {
8166
- this.fComponentsStore = fComponentsStore;
8155
+ let GetNormalizedPointExecution = class GetNormalizedPointExecution {
8156
+ _fComponentsStore = inject(FComponentsStore);
8157
+ get _transform() {
8158
+ return this._fComponentsStore.fCanvas.transform;
8167
8159
  }
8168
8160
  handle(request) {
8169
- return Point.fromPoint(request.position).elementTransform(this.flowHost)
8170
- .sub(this.transform.scaledPosition).sub(this.transform.position).div(this.transform.scale);
8161
+ return Point.fromPoint(request.position).elementTransform(this._fComponentsStore.flowHost)
8162
+ .sub(this._transform.scaledPosition).sub(this._transform.position).div(this._transform.scale);
8171
8163
  }
8172
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetPositionInFlowExecution, deps: [{ token: FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
8173
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetPositionInFlowExecution });
8164
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedPointExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
8165
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedPointExecution });
8174
8166
  };
8175
- GetPositionInFlowExecution = __decorate([
8176
- FExecutionRegister(GetPositionInFlowRequest)
8177
- ], GetPositionInFlowExecution);
8178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetPositionInFlowExecution, decorators: [{
8167
+ GetNormalizedPointExecution = __decorate([
8168
+ FExecutionRegister(GetNormalizedPointRequest)
8169
+ ], GetNormalizedPointExecution);
8170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedPointExecution, decorators: [{
8179
8171
  type: Injectable
8180
- }], ctorParameters: () => [{ type: FComponentsStore }] });
8172
+ }] });
8181
8173
 
8182
8174
  class SortNodeLayersRequest {
8183
8175
  }
@@ -8339,15 +8331,11 @@ const COMMON_PROVIDERS = [
8339
8331
  ...F_FLOW_FEATURES,
8340
8332
  ...F_LINE_ALIGNMENT_FEATURES,
8341
8333
  ...F_NODE_FEATURES,
8342
- CreateRoundedRectFromElementExecution,
8334
+ GetElementRoundedRectExecution,
8343
8335
  ...F_SELECTION_FEATURES,
8344
- GetCanBeSelectedItemsExecution,
8345
8336
  GetDeepChildrenNodesAndGroupsExecution,
8346
- GetConnectionLineExecution,
8347
- GetElementRectInFlowExecution,
8348
- ...GET_FLOW_STATE_PROVIDERS,
8349
- GetScaledNodeRectsWithFlowPositionExecution,
8350
- GetPositionInFlowExecution,
8337
+ GetNormalizedElementRectExecution,
8338
+ GetNormalizedPointExecution,
8351
8339
  SortItemLayersExecution,
8352
8340
  SortItemsByParentExecution,
8353
8341
  SortNodeLayersExecution,
@@ -8916,14 +8904,14 @@ class FLineAlignmentComponent extends FLineAlignmentBase {
8916
8904
  this.size = this._fFlowHostElement.getBoundingClientRect();
8917
8905
  this.rects = [];
8918
8906
  const draggedNodeRects = currentNodes.map((x) => {
8919
- return this._fMediator.send(new GetElementRectInFlowRequest(x.hostElement));
8907
+ return this._fMediator.send(new GetNormalizedElementRectRequest(x.hostElement));
8920
8908
  });
8921
8909
  this.draggedNodeRect = RectExtensions.union(draggedNodeRects) || RectExtensions.initialize();
8922
8910
  const allNodesExcludeCurrents = allNodes.filter((x) => {
8923
8911
  return !currentNodes.includes(x);
8924
8912
  });
8925
8913
  this.rects = allNodesExcludeCurrents.map((x) => {
8926
- return this._fMediator.send(new GetElementRectInFlowRequest(x.hostElement));
8914
+ return this._fMediator.send(new GetNormalizedElementRectRequest(x.hostElement));
8927
8915
  });
8928
8916
  }
8929
8917
  handle(difference) {
@@ -9170,14 +9158,14 @@ class FFlowComponent extends FFlowBase {
9170
9158
  reset() {
9171
9159
  this._isLoaded = false;
9172
9160
  }
9173
- getAllNodesRect() {
9174
- return this._fMediator.send(new GetScaledNodeRectsWithFlowPositionRequest());
9161
+ getNodesBoundingBox() {
9162
+ return this._fMediator.send(new CalculateNodesBoundingBoxNormalizedPositionRequest());
9175
9163
  }
9176
9164
  getSelection() {
9177
- return this._fMediator.send(new GetSelectionRequest());
9165
+ return this._fMediator.send(new GetCurrentSelectionRequest());
9178
9166
  }
9179
9167
  getPositionInFlow(position) {
9180
- return this._fMediator.send(new GetPositionInFlowRequest(position));
9168
+ return this._fMediator.send(new GetNormalizedPointRequest(position));
9181
9169
  }
9182
9170
  getState() {
9183
9171
  return this._fMediator.send(new GetFlowStateRequest());
@@ -9425,5 +9413,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
9425
9413
  * Generated bundle index. Do not edit.
9426
9414
  */
9427
9415
 
9428
- export { AddBackgroundToStoreExecution, AddBackgroundToStoreRequest, AddCanvasToStoreExecution, AddCanvasToStoreRequest, AddConnectionForCreateToStoreExecution, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStoreExecution, AddConnectionMarkerToStoreRequest, AddConnectionToStoreExecution, AddConnectionToStoreRequest, AddDndToStoreExecution, AddDndToStoreRequest, AddFlowToStoreExecution, AddFlowToStoreRequest, AddInputToStoreExecution, AddInputToStoreRequest, AddLineAlignmentToStoreExecution, AddLineAlignmentToStoreRequest, AddNodeToStoreExecution, AddNodeToStoreRequest, AddOutletToStoreExecution, AddOutletToStoreRequest, AddOutputToStoreExecution, AddOutputToStoreRequest, AddPatternToBackgroundExecution, AddPatternToBackgroundRequest, AddSnapConnectionToStoreExecution, AddSnapConnectionToStoreRequest, ApplyChildResizeRestrictionsExecution, ApplyChildResizeRestrictionsRequest, ApplyParentResizeRestrictionsExecution, ApplyParentResizeRestrictionsRequest, CANVAS_MOVE_FINALIZE_PROVIDERS, CANVAS_MOVE_PREPARATION_PROVIDERS, CANVAS_PROVIDERS, COMMON_PROVIDERS, CONNECTIONS_PROVIDERS, CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest, CalculateChangedPositionExecution, CalculateChangedPositionRequest, CalculateChangedSizeExecution, CalculateChangedSizeRequest, CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, CalculateConnectorConnectableSideHandler, CalculateConnectorConnectableSideRequest, CalculateFlowPointFromMinimapPointExecution, CalculateFlowPointFromMinimapPointRequest, CalculateNodesBoundingBoxExecution, CalculateNodesBoundingBoxRequest, CanvasDragHandler, CanvasMoveFinalizeExecution, CanvasMoveFinalizeRequest, CanvasMoveFinalizeValidator, CanvasMovePreparationExecution, CanvasMovePreparationRequest, CanvasMovePreparationValidator, CenterGroupOrNodeExecution, CenterGroupOrNodeRequest, ClearSelectionExecution, ClearSelectionRequest, ConnectionBaseDragHandler, ConnectionDragHandler, ConnectionSourceDragHandler, ConnectionTargetDragHandler, CreateConnectionDragHandler, CreateConnectionDragHandlerExecution, CreateConnectionDragHandlerRequest, CreateConnectionFinalizeExecution, CreateConnectionFinalizeRequest, CreateConnectionFinalizeValidator, CreateConnectionFromOutletPreparationExecution, CreateConnectionFromOutletPreparationRequest, CreateConnectionFromOutputPreparationExecution, CreateConnectionFromOutputPreparationRequest, CreateConnectionFromOutputPreparationValidator, CreateConnectionMarkersExecution, CreateConnectionMarkersRequest, CreateConnectionPreparationExecution, CreateConnectionPreparationRequest, CreateConnectionPreparationValidator, CreateMoveNodesDragModelFromSelectionExecution, CreateMoveNodesDragModelFromSelectionRequest, CreateRoundedRectFromElementExecution, CreateRoundedRectFromElementRequest, DRAG_AND_DROP_COMMON_PROVIDERS, EFConnectableSide, EFConnectionBehavior, EFConnectionType, EFMarkerType, EFResizeHandleType, EXTERNAL_ITEM_FINALIZE_PROVIDERS, EXTERNAL_ITEM_PREPARATION_PROVIDERS, EmitSelectionChangeEventExecution, EmitSelectionChangeEventRequest, EndDragSequenceExecution, EndDragSequenceRequest, ExternalItemDragHandler, ExternalItemFinalizeExecution, ExternalItemFinalizeRequest, ExternalItemFinalizeValidator, ExternalItemPreparationExecution, ExternalItemPreparationRequest, ExternalItemPreparationValidator, FBackgroundBase, FBackgroundComponent, FBezierPathBuilder, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FChannel, FChannelHub, FCirclePatternComponent, FComponentsStore, FConnectionBase, FConnectionCenterDirective, FConnectionComponent, FConnectionDragHandleComponent, FConnectionFactory, FConnectionForCreateComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionTextComponent, FConnectionTextPathDirective, FConnectorBase, FCreateConnectionEvent, FCreateNodeEvent, FDragHandleDirective, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItemBase, FExternalItemDirective, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FLineAlignmentBase, FLineAlignmentComponent, FMarkerBase, FMarkerDirective, FMinimapCanvasDirective, FMinimapComponent, FMinimapData, FMinimapDragHandler, FMinimapFlowDirective, FMinimapViewDirective, FNodeBase, FNodeDirective, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FReassignConnectionEvent, FRectPatternComponent, FResizeChannel, FResizeHandleDirective, FRotateHandleDirective, FSegmentPathBuilder, FSelectionAreaBase, FSelectionAreaComponent, FSelectionChangeEvent, FSnapConnectionComponent, FStraightPathBuilder, FZoomBase, FZoomDirective, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_CANVAS, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_DRAG_HANDLE_CLASS, F_CONNECTION_FEATURES, F_CONNECTION_IDENTIFIERS, F_CONNECTION_PROVIDERS, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_DRAG_AND_DROP_PLUGIN, F_DRAG_HANDLE, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_LINE_ALIGNMENT, F_LINE_ALIGNMENT_FEATURES, F_LINE_ALIGNMENT_PROVIDERS, F_MARKER, F_MINIMAP_DRAG_AND_DROP_PROVIDERS, F_MINIMAP_PROVIDERS, F_NODE, F_NODE_FEATURES, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_NODE_PROVIDERS, F_RESIZE_HANDLE, F_SELECTED_CLASS, F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_ZOOM, F_ZOOM_PROVIDERS, FindClosestInputUsingSnapThresholdExecution, FindClosestInputUsingSnapThresholdRequest, FitToFlowExecution, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetAllCanBeConnectedInputPositionsExecution, GetAllCanBeConnectedInputPositionsRequest, GetCanBeConnectedOutputByOutletExecution, GetCanBeConnectedOutputByOutletRequest, GetCanBeConnectedOutputByOutletValidator, GetCanBeSelectedItemsExecution, GetCanvasExecution, GetCanvasRequest, GetConnectionLineExecution, GetConnectionLineRequest, GetConnectorWithRectExecution, GetConnectorWithRectRequest, GetDeepChildrenNodesAndGroupsExecution, GetDeepChildrenNodesAndGroupsRequest, GetElementRectInFlowExecution, GetElementRectInFlowRequest, GetFlowExecution, GetFlowHostElementExecution, GetFlowHostElementRequest, GetFlowRequest, GetFlowStateConnectionsExecution, GetFlowStateConnectionsRequest, GetFlowStateExecution, GetFlowStateNodesExecution, GetFlowStateNodesRequest, GetFlowStateRequest, GetInputUnderPointerExecution, GetInputUnderPointerRequest, GetInputUnderPointerValidator, GetNodeMoveRestrictionsExecution, GetNodeMoveRestrictionsRequest, GetNodePaddingExecution, GetNodePaddingRequest, GetNodeResizeRestrictionsExecution, GetNodeResizeRestrictionsRequest, GetNodesExecution, GetNodesRequest, GetNormalizedChildrenNodesRectExecution, GetNormalizedChildrenNodesRectRequest, GetNormalizedNodeRectExecution, GetNormalizedNodeRectRequest, GetNormalizedParentNodeRectExecution, GetNormalizedParentNodeRectRequest, GetParentNodesExecution, GetParentNodesRequest, GetPositionInFlowExecution, GetPositionInFlowRequest, GetScaledNodeRectsWithFlowPositionExecution, GetScaledNodeRectsWithFlowPositionRequest, GetSelectionExecution, GetSelectionRequest, InitializeDragSequenceExecution, InitializeDragSequenceRequest, InputCanvasPositionExecution, InputCanvasPositionRequest, InputCanvasScaleExecution, InputCanvasScaleRequest, IsArrayHasParentNodeExecution, IsArrayHasParentNodeRequest, IsConnectionUnderNodeExecution, IsConnectionUnderNodeRequest, IsConnectionUnderNodeValidator, IsDragStartedExecution, IsDragStartedRequest, LineElement, LineService, ListenCountChangesExecution, ListenCountChangesRequest, ListenDataChangesExecution, ListenDataChangesRequest, ListenTransformChangesExecution, ListenTransformChangesRequest, MINIMAP_DRAG_FINALIZE_PROVIDERS, MINIMAP_DRAG_PREPARATION_PROVIDERS, MinimapCalculateSvgScaleAndViewBoxExecution, MinimapCalculateSvgScaleAndViewBoxRequest, MinimapCalculateViewBoxExecution, MinimapCalculateViewBoxRequest, MinimapDragFinalizeExecution, MinimapDragFinalizeRequest, MinimapDragFinalizeValidator, MinimapDragPreparationExecution, MinimapDragPreparationRequest, MinimapDragPreparationValidator, MinimapDrawNodesExecution, MinimapDrawNodesRequest, MoveFrontElementsBeforeTargetElementExecution, MoveFrontElementsBeforeTargetElementRequest, NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS, NODE_DRAG_TO_PARENT_PREPARATION_PROVIDERS, NODE_MOVE_FINALIZE_PROVIDERS, NODE_MOVE_PREPARATION_PROVIDERS, NODE_PROVIDERS, NODE_RESIZE_FINALIZE_PROVIDERS, NODE_RESIZE_PREPARATION_PROVIDERS, NODE_RESIZE_PROVIDERS, NearestCoordinateFinder, NodeDragHandler, NodeDragToParentDragHandler, NodeDragToParentFinalizeExecution, NodeDragToParentFinalizeRequest, NodeDragToParentFinalizeValidator, NodeDragToParentPreparationExecution, NodeDragToParentPreparationRequest, NodeDragToParentPreparationValidator, NodeMoveFinalizeExecution, NodeMoveFinalizeRequest, NodeMoveFinalizeValidator, NodeMovePreparationExecution, NodeMovePreparationRequest, NodeMovePreparationValidator, NodeResizeByChildDragHandler, NodeResizeDragHandler, NodeResizeFinalizeExecution, NodeResizeFinalizeRequest, NodeResizeFinalizeValidator, NodeResizePreparationExecution, NodeResizePreparationRequest, NodeResizePreparationValidator, NotifyDataChangedExecution, NotifyDataChangedRequest, NotifyTransformChangedExecution, NotifyTransformChangedRequest, OnPointerMoveExecution, OnPointerMoveRequest, PrepareDragSequenceExecution, PrepareDragSequenceRequest, PreventDefaultIsExternalItemExecution, PreventDefaultIsExternalItemRequest, PutInputConnectionHandlersToArrayExecution, PutInputConnectionHandlersToArrayRequest, PutOutputConnectionHandlersToArrayExecution, PutOutputConnectionHandlersToArrayRequest, RESIZE_DIRECTIONS, ReassignConnectionDragHandler, ReassignConnectionFinalizeExecution, ReassignConnectionFinalizeRequest, ReassignConnectionFinalizeValidator, ReassignConnectionPreparationExecution, ReassignConnectionPreparationRequest, ReassignConnectionPreparationValidator, RedrawCanvasWithAnimationExecution, RedrawCanvasWithAnimationRequest, RedrawConnectionsExecution, RedrawConnectionsRequest, RemoveBackgroundFromStoreExecution, RemoveBackgroundFromStoreRequest, RemoveCanvasFromStoreExecution, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStoreExecution, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStoreExecution, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStoreExecution, RemoveConnectionMarkerFromStoreRequest, RemoveDndFromStoreExecution, RemoveDndFromStoreRequest, RemoveFlowFromStoreExecution, RemoveFlowFromStoreRequest, RemoveInputFromStoreExecution, RemoveInputFromStoreRequest, RemoveLineAlignmentFromStoreExecution, RemoveLineAlignmentFromStoreRequest, RemoveNodeFromStoreExecution, RemoveNodeFromStoreRequest, RemoveOutletFromStoreExecution, RemoveOutletFromStoreRequest, RemoveOutputFromStoreExecution, RemoveOutputFromStoreRequest, RemoveSnapConnectionFromStoreExecution, RemoveSnapConnectionFromStoreRequest, ResetScaleAndCenterExecution, ResetScaleAndCenterRequest, ResetScaleExecution, ResetScaleRequest, SELECTION_AREA_FINALIZE_PROVIDERS, SELECTION_AREA_PREPARATION_PROVIDERS, SINGLE_SELECT_PROVIDERS, SelectAllExecution, SelectAllRequest, SelectAndUpdateNodeLayerExecution, SelectAndUpdateNodeLayerRequest, SelectExecution, SelectRequest, SelectionAreaDragHandle, SelectionAreaFinalizeExecution, SelectionAreaFinalizeRequest, SelectionAreaFinalizeValidator, SelectionAreaPreparationExecution, SelectionAreaPreparationRequest, SelectionAreaPreparationValidator, SetBackgroundTransformExecution, SetBackgroundTransformRequest, SingleSelectExecution, SingleSelectRequest, SingleSelectValidator, SortItemLayersExecution, SortItemLayersRequest, SortItemsByParentExecution, SortItemsByParentRequest, SortNodeLayersExecution, SortNodeLayersRequest, StartDragSequenceExecution, StartDragSequenceRequest, UpdateItemAndChildrenLayersExecution, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChangedExecution, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScaleExecution, UpdateScaleRequest, createSVGElement, debounceTime, getExternalItem, getMarkerEndId, getMarkerSelectedEndId, getMarkerSelectedStartId, getMarkerStartId, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, mixinChangeSelection, mixinChangeVisibility, notifyOnStart, transitionEnd };
9416
+ export { AddBackgroundToStoreExecution, AddBackgroundToStoreRequest, AddCanvasToStoreExecution, AddCanvasToStoreRequest, AddConnectionForCreateToStoreExecution, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStoreExecution, AddConnectionMarkerToStoreRequest, AddConnectionToStoreExecution, AddConnectionToStoreRequest, AddDndToStoreExecution, AddDndToStoreRequest, AddFlowToStoreExecution, AddFlowToStoreRequest, AddInputToStoreExecution, AddInputToStoreRequest, AddLineAlignmentToStoreExecution, AddLineAlignmentToStoreRequest, AddNodeToStoreExecution, AddNodeToStoreRequest, AddOutletToStoreExecution, AddOutletToStoreRequest, AddOutputToStoreExecution, AddOutputToStoreRequest, AddPatternToBackgroundExecution, AddPatternToBackgroundRequest, AddSnapConnectionToStoreExecution, AddSnapConnectionToStoreRequest, ApplyChildResizeRestrictionsExecution, ApplyChildResizeRestrictionsRequest, ApplyParentResizeRestrictionsExecution, ApplyParentResizeRestrictionsRequest, CANVAS_MOVE_FINALIZE_PROVIDERS, CANVAS_MOVE_PREPARATION_PROVIDERS, CANVAS_PROVIDERS, COMMON_PROVIDERS, CONNECTIONS_PROVIDERS, CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest, CalculateChangedPositionExecution, CalculateChangedPositionRequest, CalculateChangedSizeExecution, CalculateChangedSizeRequest, CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, CalculateConnectionLineByBehaviorExecution, CalculateConnectionLineByBehaviorRequest, CalculateConnectorConnectableSideHandler, CalculateConnectorConnectableSideRequest, CalculateFlowPointFromMinimapPointExecution, CalculateFlowPointFromMinimapPointRequest, CalculateNodesBoundingBoxExecution, CalculateNodesBoundingBoxNormalizedPositionExecution, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CanvasDragHandler, CanvasMoveFinalizeExecution, CanvasMoveFinalizeRequest, CanvasMoveFinalizeValidator, CanvasMovePreparationExecution, CanvasMovePreparationRequest, CanvasMovePreparationValidator, CenterGroupOrNodeExecution, CenterGroupOrNodeRequest, ClearSelectionExecution, ClearSelectionRequest, ConnectionBaseDragHandler, ConnectionDragHandler, ConnectionSourceDragHandler, ConnectionTargetDragHandler, CreateConnectionDragHandler, CreateConnectionDragHandlerExecution, CreateConnectionDragHandlerRequest, CreateConnectionFinalizeExecution, CreateConnectionFinalizeRequest, CreateConnectionFinalizeValidator, CreateConnectionFromOutletPreparationExecution, CreateConnectionFromOutletPreparationRequest, CreateConnectionFromOutputPreparationExecution, CreateConnectionFromOutputPreparationRequest, CreateConnectionFromOutputPreparationValidator, CreateConnectionMarkersExecution, CreateConnectionMarkersRequest, CreateConnectionPreparationExecution, CreateConnectionPreparationRequest, CreateConnectionPreparationValidator, CreateMoveNodesDragModelFromSelectionExecution, CreateMoveNodesDragModelFromSelectionRequest, DRAG_AND_DROP_COMMON_PROVIDERS, EFConnectableSide, EFConnectionBehavior, EFConnectionType, EFMarkerType, EFResizeHandleType, EXTERNAL_ITEM_FINALIZE_PROVIDERS, EXTERNAL_ITEM_PREPARATION_PROVIDERS, EmitSelectionChangeEventExecution, EmitSelectionChangeEventRequest, EndDragSequenceExecution, EndDragSequenceRequest, ExternalItemDragHandler, ExternalItemFinalizeExecution, ExternalItemFinalizeRequest, ExternalItemFinalizeValidator, ExternalItemPreparationExecution, ExternalItemPreparationRequest, ExternalItemPreparationValidator, FBackgroundBase, FBackgroundComponent, FBezierPathBuilder, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FChannel, FChannelHub, FCirclePatternComponent, FComponentsStore, FConnectionBase, FConnectionCenterDirective, FConnectionComponent, FConnectionDragHandleComponent, FConnectionFactory, FConnectionForCreateComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionTextComponent, FConnectionTextPathDirective, FConnectorBase, FCreateConnectionEvent, FCreateNodeEvent, FDragHandleDirective, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItemBase, FExternalItemDirective, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FLineAlignmentBase, FLineAlignmentComponent, FMarkerBase, FMarkerDirective, FMinimapCanvasDirective, FMinimapComponent, FMinimapData, FMinimapDragHandler, FMinimapFlowDirective, FMinimapViewDirective, FNodeBase, FNodeDirective, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FReassignConnectionEvent, FRectPatternComponent, FResizeChannel, FResizeHandleDirective, FRotateHandleDirective, FSegmentPathBuilder, FSelectionAreaBase, FSelectionAreaComponent, FSelectionChangeEvent, FSnapConnectionComponent, FStraightPathBuilder, FZoomBase, FZoomDirective, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_CANVAS, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_DRAG_HANDLE_CLASS, F_CONNECTION_FEATURES, F_CONNECTION_IDENTIFIERS, F_CONNECTION_PROVIDERS, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_DRAG_AND_DROP_PLUGIN, F_DRAG_HANDLE, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_LINE_ALIGNMENT, F_LINE_ALIGNMENT_FEATURES, F_LINE_ALIGNMENT_PROVIDERS, F_MARKER, F_MINIMAP_DRAG_AND_DROP_PROVIDERS, F_MINIMAP_PROVIDERS, F_NODE, F_NODE_FEATURES, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_NODE_PROVIDERS, F_RESIZE_HANDLE, F_SELECTED_CLASS, F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_ZOOM, F_ZOOM_PROVIDERS, FindClosestInputUsingSnapThresholdExecution, FindClosestInputUsingSnapThresholdRequest, FitToFlowExecution, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetAllCanBeConnectedInputPositionsExecution, GetAllCanBeConnectedInputPositionsRequest, GetCanBeConnectedOutputByOutletExecution, GetCanBeConnectedOutputByOutletRequest, GetCanBeConnectedOutputByOutletValidator, GetCanBeSelectedItemsExecution, GetCanBeSelectedItemsRequest, GetCanvasExecution, GetCanvasRequest, GetConnectorWithRectExecution, GetConnectorWithRectRequest, GetCurrentSelectionExecution, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroupsExecution, GetDeepChildrenNodesAndGroupsRequest, GetElementRoundedRectExecution, GetElementRoundedRectRequest, GetFlowExecution, GetFlowHostElementExecution, GetFlowHostElementRequest, GetFlowRequest, GetFlowStateConnectionsExecution, GetFlowStateConnectionsRequest, GetFlowStateExecution, GetFlowStateNodesExecution, GetFlowStateNodesRequest, GetFlowStateRequest, GetInputUnderPointerExecution, GetInputUnderPointerRequest, GetInputUnderPointerValidator, GetNodeMoveRestrictionsExecution, GetNodeMoveRestrictionsRequest, GetNodePaddingExecution, GetNodePaddingRequest, GetNodeResizeRestrictionsExecution, GetNodeResizeRestrictionsRequest, GetNodesExecution, GetNodesRequest, GetNormalizedChildrenNodesRectExecution, GetNormalizedChildrenNodesRectRequest, GetNormalizedElementRectExecution, GetNormalizedElementRectRequest, GetNormalizedParentNodeRectExecution, GetNormalizedParentNodeRectRequest, GetNormalizedPointExecution, GetNormalizedPointRequest, GetParentNodesExecution, GetParentNodesRequest, InitializeDragSequenceExecution, InitializeDragSequenceRequest, InputCanvasPositionExecution, InputCanvasPositionRequest, InputCanvasScaleExecution, InputCanvasScaleRequest, IsArrayHasParentNodeExecution, IsArrayHasParentNodeRequest, IsConnectionUnderNodeExecution, IsConnectionUnderNodeRequest, IsConnectionUnderNodeValidator, IsDragStartedExecution, IsDragStartedRequest, LineElement, LineService, ListenCountChangesExecution, ListenCountChangesRequest, ListenDataChangesExecution, ListenDataChangesRequest, ListenTransformChangesExecution, ListenTransformChangesRequest, MINIMAP_DRAG_FINALIZE_PROVIDERS, MINIMAP_DRAG_PREPARATION_PROVIDERS, MinimapCalculateSvgScaleAndViewBoxExecution, MinimapCalculateSvgScaleAndViewBoxRequest, MinimapCalculateViewBoxExecution, MinimapCalculateViewBoxRequest, MinimapDragFinalizeExecution, MinimapDragFinalizeRequest, MinimapDragFinalizeValidator, MinimapDragPreparationExecution, MinimapDragPreparationRequest, MinimapDragPreparationValidator, MinimapDrawNodesExecution, MinimapDrawNodesRequest, MoveFrontElementsBeforeTargetElementExecution, MoveFrontElementsBeforeTargetElementRequest, NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS, NODE_DRAG_TO_PARENT_PREPARATION_PROVIDERS, NODE_MOVE_FINALIZE_PROVIDERS, NODE_MOVE_PREPARATION_PROVIDERS, NODE_PROVIDERS, NODE_RESIZE_FINALIZE_PROVIDERS, NODE_RESIZE_PREPARATION_PROVIDERS, NODE_RESIZE_PROVIDERS, NearestCoordinateFinder, NodeDragHandler, NodeDragToParentDragHandler, NodeDragToParentFinalizeExecution, NodeDragToParentFinalizeRequest, NodeDragToParentFinalizeValidator, NodeDragToParentPreparationExecution, NodeDragToParentPreparationRequest, NodeDragToParentPreparationValidator, NodeMoveFinalizeExecution, NodeMoveFinalizeRequest, NodeMoveFinalizeValidator, NodeMovePreparationExecution, NodeMovePreparationRequest, NodeMovePreparationValidator, NodeResizeByChildDragHandler, NodeResizeDragHandler, NodeResizeFinalizeExecution, NodeResizeFinalizeRequest, NodeResizeFinalizeValidator, NodeResizePreparationExecution, NodeResizePreparationRequest, NodeResizePreparationValidator, NotifyDataChangedExecution, NotifyDataChangedRequest, NotifyTransformChangedExecution, NotifyTransformChangedRequest, OnPointerMoveExecution, OnPointerMoveRequest, PrepareDragSequenceExecution, PrepareDragSequenceRequest, PreventDefaultIsExternalItemExecution, PreventDefaultIsExternalItemRequest, PutInputConnectionHandlersToArrayExecution, PutInputConnectionHandlersToArrayRequest, PutOutputConnectionHandlersToArrayExecution, PutOutputConnectionHandlersToArrayRequest, RESIZE_DIRECTIONS, ReassignConnectionDragHandler, ReassignConnectionFinalizeExecution, ReassignConnectionFinalizeRequest, ReassignConnectionFinalizeValidator, ReassignConnectionPreparationExecution, ReassignConnectionPreparationRequest, ReassignConnectionPreparationValidator, RedrawCanvasWithAnimationExecution, RedrawCanvasWithAnimationRequest, RedrawConnectionsExecution, RedrawConnectionsRequest, RemoveBackgroundFromStoreExecution, RemoveBackgroundFromStoreRequest, RemoveCanvasFromStoreExecution, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStoreExecution, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStoreExecution, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStoreExecution, RemoveConnectionMarkerFromStoreRequest, RemoveDndFromStoreExecution, RemoveDndFromStoreRequest, RemoveFlowFromStoreExecution, RemoveFlowFromStoreRequest, RemoveInputFromStoreExecution, RemoveInputFromStoreRequest, RemoveLineAlignmentFromStoreExecution, RemoveLineAlignmentFromStoreRequest, RemoveNodeFromStoreExecution, RemoveNodeFromStoreRequest, RemoveOutletFromStoreExecution, RemoveOutletFromStoreRequest, RemoveOutputFromStoreExecution, RemoveOutputFromStoreRequest, RemoveSnapConnectionFromStoreExecution, RemoveSnapConnectionFromStoreRequest, ResetScaleAndCenterExecution, ResetScaleAndCenterRequest, ResetScaleExecution, ResetScaleRequest, SELECTION_AREA_FINALIZE_PROVIDERS, SELECTION_AREA_PREPARATION_PROVIDERS, SINGLE_SELECT_PROVIDERS, SelectAllExecution, SelectAllRequest, SelectAndUpdateNodeLayerExecution, SelectAndUpdateNodeLayerRequest, SelectExecution, SelectRequest, SelectionAreaDragHandle, SelectionAreaFinalizeExecution, SelectionAreaFinalizeRequest, SelectionAreaFinalizeValidator, SelectionAreaPreparationExecution, SelectionAreaPreparationRequest, SelectionAreaPreparationValidator, SetBackgroundTransformExecution, SetBackgroundTransformRequest, SingleSelectExecution, SingleSelectRequest, SingleSelectValidator, SortItemLayersExecution, SortItemLayersRequest, SortItemsByParentExecution, SortItemsByParentRequest, SortNodeLayersExecution, SortNodeLayersRequest, StartDragSequenceExecution, StartDragSequenceRequest, UpdateItemAndChildrenLayersExecution, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChangedExecution, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScaleExecution, UpdateScaleRequest, createSVGElement, debounceTime, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, getExternalItem, getMarkerEndId, getMarkerSelectedEndId, getMarkerSelectedStartId, getMarkerStartId, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, mixinChangeSelection, mixinChangeVisibility, notifyOnStart, transitionEnd };
9429
9417
  //# sourceMappingURL=foblex-flow.mjs.map