@foblex/flow 17.2.0 → 17.2.2

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 (307) hide show
  1. package/domain/f-connection/redraw-connections/redraw-connections.execution.d.ts +7 -7
  2. package/domain/f-connectors/find-input-at-position/find-input-at-position.execution.d.ts +3 -2
  3. package/domain/f-connectors/providers.d.ts +1 -1
  4. package/domain/f-draggable/providers.d.ts +1 -1
  5. package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +1 -1
  6. package/domain/f-selection/get-current-selection/i-current-selection.d.ts +3 -3
  7. package/domain/f-selection/providers.d.ts +1 -1
  8. package/domain/providers.d.ts +1 -1
  9. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +42 -37
  10. package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.execution.mjs +13 -10
  11. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +2 -2
  12. package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +6 -3
  13. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.execution.mjs +4 -4
  14. package/esm2022/domain/f-selection/get-current-selection/i-current-selection.mjs +1 -1
  15. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +4 -10
  16. package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +4 -9
  17. package/esm2022/f-connection/f-connection/f-connection.component.mjs +3 -6
  18. package/esm2022/f-draggable/domain/f-drag-started-event.mjs +9 -0
  19. package/esm2022/f-draggable/domain/index.mjs +2 -1
  20. package/esm2022/f-draggable/f-canvas/f-canvas.drag-handler.mjs +19 -0
  21. package/esm2022/f-draggable/f-canvas/index.mjs +5 -0
  22. package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.mjs +29 -0
  23. package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.request.mjs +7 -0
  24. package/esm2022/f-draggable/f-canvas/move-finalize/index.mjs +3 -0
  25. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.mjs +53 -0
  26. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.request.mjs +7 -0
  27. package/esm2022/f-draggable/f-canvas/move-preparation/index.mjs +3 -0
  28. package/esm2022/f-draggable/f-canvas/providers.mjs +7 -0
  29. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.mjs +61 -0
  30. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.request.mjs +7 -0
  31. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/index.mjs +3 -0
  32. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.mjs +40 -0
  33. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.request.mjs +9 -0
  34. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/index.mjs +3 -0
  35. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.mjs +48 -0
  36. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.mjs +9 -0
  37. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.mjs +54 -0
  38. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.request.mjs +9 -0
  39. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/index.mjs +3 -0
  40. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.mjs +49 -0
  41. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.mjs +9 -0
  42. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/index.mjs +3 -0
  43. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/index.mjs +6 -0
  44. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +95 -0
  45. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.event.mjs +11 -0
  46. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.execution.mjs +47 -0
  47. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.request.mjs +7 -0
  48. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/index.mjs +3 -0
  49. package/esm2022/f-draggable/f-connection/f-create-connection/i-f-create-connection-drag-result.mjs +2 -0
  50. package/esm2022/f-draggable/f-connection/f-create-connection/index.mjs +7 -0
  51. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.mjs +105 -0
  52. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.event.mjs +15 -0
  53. package/esm2022/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.mjs +2 -0
  54. package/esm2022/f-draggable/f-connection/f-reassign-connection/index.mjs +6 -0
  55. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.execution.mjs +63 -0
  56. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.request.mjs +7 -0
  57. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/index.mjs +3 -0
  58. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/f-reassign-connection-preparation.execution.mjs +72 -0
  59. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/f-reassign-connection-preparation.request.mjs +9 -0
  60. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/index.mjs +3 -0
  61. package/esm2022/f-draggable/f-connection/index.mjs +4 -0
  62. package/esm2022/f-draggable/f-connection/providers.mjs +13 -0
  63. package/esm2022/f-draggable/f-drag-handler/f-drag-handler-result.mjs +20 -0
  64. package/esm2022/f-draggable/f-drag-handler/i-f-drag-handler.mjs +2 -0
  65. package/esm2022/f-draggable/f-drag-handler/index.mjs +3 -0
  66. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  67. package/esm2022/f-draggable/f-draggable-data-context.mjs +1 -1
  68. package/esm2022/f-draggable/f-draggable.directive.mjs +21 -16
  69. package/esm2022/f-draggable/f-selection-change-event.mjs +8 -8
  70. package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +137 -0
  71. package/esm2022/f-draggable/f-single-select/f-single-select.request.mjs +9 -0
  72. package/esm2022/f-draggable/f-single-select/index.mjs +4 -0
  73. package/esm2022/f-draggable/f-single-select/providers.mjs +5 -0
  74. package/esm2022/f-draggable/index.mjs +5 -6
  75. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +1 -1
  76. package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +2 -1
  77. package/esm2022/f-draggable/node/node-drag-to-parent.drag-handler.mjs +2 -1
  78. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +6 -3
  79. package/esm2022/f-draggable/node/node.drag-handler.mjs +2 -1
  80. package/esm2022/f-draggable/node/summary-node.drag-handler.mjs +6 -1
  81. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +6 -1
  82. package/esm2022/f-draggable/providers.mjs +4 -4
  83. package/esm2022/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.execution.mjs +41 -0
  84. package/esm2022/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.request.mjs +7 -0
  85. package/esm2022/f-external-item/domain/create-placeholder/index.mjs +3 -0
  86. package/esm2022/f-external-item/domain/create-preview/f-external-item-create-preview.execution.mjs +52 -0
  87. package/esm2022/f-external-item/domain/create-preview/f-external-item-create-preview.request.mjs +7 -0
  88. package/esm2022/f-external-item/domain/create-preview/index.mjs +3 -0
  89. package/esm2022/f-external-item/domain/f-external-item.drag-handler.mjs +71 -0
  90. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.execution.mjs +62 -0
  91. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.request.mjs +7 -0
  92. package/esm2022/f-external-item/domain/finalize/index.mjs +3 -0
  93. package/esm2022/f-external-item/domain/i-f-external-item-drag-result.mjs +2 -0
  94. package/esm2022/f-external-item/domain/index.mjs +7 -4
  95. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.execution.mjs +47 -0
  96. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.request.mjs +7 -0
  97. package/esm2022/f-external-item/domain/preparation/index.mjs +3 -0
  98. package/esm2022/f-external-item/domain/providers.mjs +9 -5
  99. package/esm2022/f-external-item/f-external-item-base.mjs +2 -3
  100. package/esm2022/f-external-item/f-external-item-placeholder.directive.mjs +26 -0
  101. package/esm2022/f-external-item/f-external-item-preview.directive.mjs +26 -0
  102. package/esm2022/f-external-item/f-external-item-token.mjs +3 -0
  103. package/esm2022/f-external-item/f-external-item.directive.mjs +25 -17
  104. package/esm2022/f-external-item/f-external-item.service.mjs +6 -6
  105. package/esm2022/f-external-item/index.mjs +6 -4
  106. package/esm2022/f-flow.module.mjs +13 -17
  107. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +2 -1
  108. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +2 -1
  109. package/esm2022/f-selection-area/f-selection-area.component.mjs +1 -1
  110. package/esm2022/f-zoom/f-zoom.directive.mjs +7 -1
  111. package/f-backgroud/providers.d.ts +1 -1
  112. package/f-connection/f-connection/f-connection.component.d.ts +1 -3
  113. package/f-connection/providers.d.ts +1 -1
  114. package/f-draggable/domain/f-drag-started-event.d.ts +5 -0
  115. package/f-draggable/domain/index.d.ts +1 -0
  116. package/f-draggable/f-canvas/f-canvas.drag-handler.d.ts +10 -0
  117. package/f-draggable/f-canvas/index.d.ts +4 -0
  118. package/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.d.ts +10 -0
  119. package/f-draggable/{canvas/canvas-move-finalize/canvas-move-finalize.request.d.ts → f-canvas/move-finalize/f-canvas-move-finalize.request.d.ts} +1 -1
  120. package/f-draggable/f-canvas/move-finalize/index.d.ts +2 -0
  121. package/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.d.ts +15 -0
  122. package/{f-external-item/domain/external-item-finalize/external-item-finalize.request.d.ts → f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.request.d.ts} +1 -1
  123. package/f-draggable/f-canvas/move-preparation/index.d.ts +2 -0
  124. package/f-draggable/f-canvas/providers.d.ts +3 -0
  125. package/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.d.ts +19 -0
  126. package/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.request.d.ts +5 -0
  127. package/f-draggable/f-connection/f-create-connection/create-finalize/index.d.ts +2 -0
  128. package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.d.ts +12 -0
  129. package/f-draggable/{connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.request.d.ts → f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.request.d.ts} +1 -1
  130. package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/index.d.ts +2 -0
  131. package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.d.ts +15 -0
  132. package/f-draggable/{connections/create-connection/create-connection-preparation/create-connection-preparation.request.d.ts → f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.d.ts} +1 -1
  133. package/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.d.ts +14 -0
  134. package/f-draggable/{connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.d.ts → f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.request.d.ts} +1 -1
  135. package/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/index.d.ts +2 -0
  136. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.d.ts +14 -0
  137. package/f-draggable/{connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.d.ts → f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.d.ts} +1 -1
  138. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/index.d.ts +2 -0
  139. package/f-draggable/f-connection/f-create-connection/create-preparation/index.d.ts +5 -0
  140. package/f-draggable/{connections/create-connection/create-connection.drag-handler.d.ts → f-connection/f-create-connection/f-create-connection.drag-handler.d.ts} +5 -4
  141. package/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.execution.d.ts +16 -0
  142. package/f-draggable/{connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.d.ts → f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.request.d.ts} +1 -1
  143. package/f-draggable/f-connection/f-create-connection/get-first-connectable-output/index.d.ts +2 -0
  144. package/f-draggable/{connections/i-create-reassign-connection-drag-data.d.ts → f-connection/f-create-connection/i-f-create-connection-drag-result.d.ts} +2 -2
  145. package/f-draggable/f-connection/f-create-connection/index.d.ts +6 -0
  146. package/f-draggable/{connections/reassign-connection/reassign-connection.drag-handler.d.ts → f-connection/f-reassign-connection/f-reassign-connection.drag-handler.d.ts} +5 -5
  147. package/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.d.ts +8 -0
  148. package/f-draggable/{connections/reassign-connection → f-connection/f-reassign-connection}/index.d.ts +2 -1
  149. package/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.execution.d.ts +20 -0
  150. package/f-draggable/{connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.d.ts → f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.request.d.ts} +1 -1
  151. package/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/index.d.ts +2 -0
  152. package/f-draggable/{connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.d.ts → f-connection/f-reassign-connection/reassign-connection-preparation/f-reassign-connection-preparation.execution.d.ts} +5 -5
  153. package/f-draggable/{connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.d.ts → f-connection/f-reassign-connection/reassign-connection-preparation/f-reassign-connection-preparation.request.d.ts} +1 -1
  154. package/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/index.d.ts +2 -0
  155. package/f-draggable/f-connection/index.d.ts +3 -0
  156. package/f-draggable/f-connection/providers.d.ts +3 -0
  157. package/f-draggable/f-drag-handler/f-drag-handler-result.d.ts +9 -0
  158. package/f-draggable/{i-draggable-item.d.ts → f-drag-handler/i-f-drag-handler.d.ts} +3 -2
  159. package/f-draggable/f-drag-handler/index.d.ts +2 -0
  160. package/f-draggable/f-draggable-base.d.ts +3 -3
  161. package/f-draggable/f-draggable-data-context.d.ts +2 -2
  162. package/f-draggable/f-draggable.directive.d.ts +4 -3
  163. package/f-draggable/f-selection-change-event.d.ts +4 -4
  164. package/f-draggable/{single-select/single-select.execution.d.ts → f-single-select/f-single-select.execution.d.ts} +5 -5
  165. package/f-draggable/{single-select/single-select.request.d.ts → f-single-select/f-single-select.request.d.ts} +1 -1
  166. package/f-draggable/f-single-select/index.d.ts +3 -0
  167. package/f-draggable/f-single-select/providers.d.ts +2 -0
  168. package/f-draggable/index.d.ts +4 -5
  169. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
  170. package/f-draggable/node/line-alignment.drag-handler.d.ts +3 -2
  171. package/f-draggable/node/node-drag-to-parent.drag-handler.d.ts +3 -2
  172. package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +1 -0
  173. package/f-draggable/node/node.drag-handler.d.ts +3 -2
  174. package/f-draggable/node/providers.d.ts +1 -1
  175. package/f-draggable/node/summary-node.drag-handler.d.ts +4 -2
  176. package/f-draggable/node-resize/node-resize.drag-handler.d.ts +4 -2
  177. package/f-draggable/providers.d.ts +1 -1
  178. package/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.execution.d.ts +13 -0
  179. package/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.request.d.ts +5 -0
  180. package/f-external-item/domain/create-placeholder/index.d.ts +2 -0
  181. package/f-external-item/domain/create-preview/f-external-item-create-preview.execution.d.ts +14 -0
  182. package/f-external-item/domain/create-preview/f-external-item-create-preview.request.d.ts +5 -0
  183. package/f-external-item/domain/create-preview/index.d.ts +2 -0
  184. package/f-external-item/domain/f-external-item.drag-handler.d.ts +24 -0
  185. package/f-external-item/domain/finalize/f-external-item-finalize.execution.d.ts +21 -0
  186. package/{f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.d.ts → f-external-item/domain/finalize/f-external-item-finalize.request.d.ts} +1 -1
  187. package/f-external-item/domain/finalize/index.d.ts +2 -0
  188. package/f-external-item/domain/i-f-external-item-drag-result.d.ts +5 -0
  189. package/f-external-item/domain/index.d.ts +6 -3
  190. package/f-external-item/domain/preparation/f-external-item-preparation.execution.d.ts +15 -0
  191. package/{f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.d.ts → f-external-item/domain/preparation/f-external-item-preparation.request.d.ts} +1 -1
  192. package/f-external-item/domain/preparation/index.d.ts +2 -0
  193. package/f-external-item/domain/providers.d.ts +5 -1
  194. package/f-external-item/f-external-item-base.d.ts +4 -2
  195. package/f-external-item/f-external-item-placeholder.directive.d.ts +10 -0
  196. package/f-external-item/f-external-item-preview.directive.d.ts +10 -0
  197. package/f-external-item/f-external-item-token.d.ts +3 -0
  198. package/f-external-item/f-external-item.directive.d.ts +9 -6
  199. package/f-external-item/f-external-item.service.d.ts +1 -1
  200. package/f-external-item/index.d.ts +5 -3
  201. package/f-flow.module.d.ts +14 -15
  202. package/f-minimap/domain/f-minimap.drag-handler.d.ts +3 -2
  203. package/f-minimap/domain/providers.d.ts +1 -1
  204. package/f-minimap/providers.d.ts +1 -1
  205. package/f-node/providers.d.ts +1 -1
  206. package/f-selection-area/domain/providers.d.ts +1 -1
  207. package/f-selection-area/domain/selection-area.drag-handle.d.ts +3 -2
  208. package/f-storage/providers.d.ts +1 -1
  209. package/f-zoom/f-zoom.directive.d.ts +3 -0
  210. package/fesm2022/foblex-flow.mjs +1191 -984
  211. package/fesm2022/foblex-flow.mjs.map +1 -1
  212. package/package.json +2 -2
  213. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +0 -29
  214. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.mjs +0 -7
  215. package/esm2022/f-draggable/canvas/canvas-move-finalize/index.mjs +0 -3
  216. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +0 -55
  217. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.mjs +0 -7
  218. package/esm2022/f-draggable/canvas/canvas-move-preparation/index.mjs +0 -3
  219. package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +0 -19
  220. package/esm2022/f-draggable/canvas/index.mjs +0 -5
  221. package/esm2022/f-draggable/canvas/providers.mjs +0 -7
  222. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +0 -68
  223. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.mjs +0 -7
  224. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/index.mjs +0 -3
  225. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.mjs +0 -40
  226. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.request.mjs +0 -9
  227. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.mjs +0 -3
  228. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +0 -54
  229. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs +0 -9
  230. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.mjs +0 -3
  231. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +0 -49
  232. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs +0 -9
  233. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs +0 -3
  234. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +0 -48
  235. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs +0 -9
  236. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +0 -6
  237. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +0 -90
  238. package/esm2022/f-draggable/connections/create-connection/f-create-connection.event.mjs +0 -11
  239. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +0 -47
  240. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.mjs +0 -7
  241. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs +0 -3
  242. package/esm2022/f-draggable/connections/create-connection/index.mjs +0 -6
  243. package/esm2022/f-draggable/connections/i-create-reassign-connection-drag-data.mjs +0 -2
  244. package/esm2022/f-draggable/connections/index.mjs +0 -5
  245. package/esm2022/f-draggable/connections/providers.mjs +0 -13
  246. package/esm2022/f-draggable/connections/reassign-connection/f-reassign-connection.event.mjs +0 -15
  247. package/esm2022/f-draggable/connections/reassign-connection/index.mjs +0 -5
  248. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.mjs +0 -3
  249. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +0 -64
  250. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.mjs +0 -7
  251. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.mjs +0 -3
  252. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +0 -72
  253. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs +0 -9
  254. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +0 -103
  255. package/esm2022/f-draggable/i-draggable-item.mjs +0 -2
  256. package/esm2022/f-draggable/single-select/index.mjs +0 -4
  257. package/esm2022/f-draggable/single-select/providers.mjs +0 -5
  258. package/esm2022/f-draggable/single-select/single-select.execution.mjs +0 -137
  259. package/esm2022/f-draggable/single-select/single-select.request.mjs +0 -9
  260. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +0 -68
  261. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.request.mjs +0 -7
  262. package/esm2022/f-external-item/domain/external-item-finalize/index.mjs +0 -4
  263. package/esm2022/f-external-item/domain/external-item-finalize/providers.mjs +0 -5
  264. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +0 -47
  265. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.request.mjs +0 -7
  266. package/esm2022/f-external-item/domain/external-item-preparation/index.mjs +0 -4
  267. package/esm2022/f-external-item/domain/external-item-preparation/providers.mjs +0 -5
  268. package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +0 -40
  269. package/esm2022/f-external-item/providers.mjs +0 -5
  270. package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.d.ts +0 -10
  271. package/f-draggable/canvas/canvas-move-finalize/index.d.ts +0 -2
  272. package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.d.ts +0 -15
  273. package/f-draggable/canvas/canvas-move-preparation/index.d.ts +0 -2
  274. package/f-draggable/canvas/canvas.drag-handler.d.ts +0 -11
  275. package/f-draggable/canvas/index.d.ts +0 -4
  276. package/f-draggable/canvas/providers.d.ts +0 -3
  277. package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.d.ts +0 -23
  278. package/f-draggable/connections/create-connection/create-connection-finalize/index.d.ts +0 -2
  279. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.d.ts +0 -12
  280. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.d.ts +0 -2
  281. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.d.ts +0 -14
  282. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.d.ts +0 -2
  283. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.d.ts +0 -14
  284. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.d.ts +0 -2
  285. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +0 -15
  286. package/f-draggable/connections/create-connection/create-connection-preparation/index.d.ts +0 -5
  287. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.d.ts +0 -16
  288. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.d.ts +0 -2
  289. package/f-draggable/connections/create-connection/index.d.ts +0 -5
  290. package/f-draggable/connections/index.d.ts +0 -4
  291. package/f-draggable/connections/providers.d.ts +0 -3
  292. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.d.ts +0 -2
  293. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.d.ts +0 -20
  294. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.d.ts +0 -2
  295. package/f-draggable/single-select/index.d.ts +0 -3
  296. package/f-draggable/single-select/providers.d.ts +0 -2
  297. package/f-external-item/domain/external-item-finalize/external-item-finalize.execution.d.ts +0 -24
  298. package/f-external-item/domain/external-item-finalize/index.d.ts +0 -3
  299. package/f-external-item/domain/external-item-finalize/providers.d.ts +0 -2
  300. package/f-external-item/domain/external-item-preparation/external-item-preparation.execution.d.ts +0 -15
  301. package/f-external-item/domain/external-item-preparation/external-item-preparation.request.d.ts +0 -5
  302. package/f-external-item/domain/external-item-preparation/index.d.ts +0 -3
  303. package/f-external-item/domain/external-item-preparation/providers.d.ts +0 -2
  304. package/f-external-item/domain/external-item.drag-handler.d.ts +0 -16
  305. package/f-external-item/providers.d.ts +0 -2
  306. /package/f-draggable/{connections/create-connection → f-connection/f-create-connection}/f-create-connection.event.d.ts +0 -0
  307. /package/f-draggable/{connections/reassign-connection → f-connection/f-reassign-connection}/f-reassign-connection.event.d.ts +0 -0
@@ -1,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, Injectable, Directive, ElementRef, Input, HostBinding, EventEmitter, DestroyRef, booleanAttribute, Output, Inject, Component, ChangeDetectionStrategy, ViewChild, Optional, numberAttribute, ContentChildren, Injector, NgZone, ContentChild, Renderer2, NgModule } from '@angular/core';
2
+ import { InjectionToken, inject, Injectable, Directive, ElementRef, Input, HostBinding, EventEmitter, DestroyRef, booleanAttribute, Output, Inject, Component, ChangeDetectionStrategy, ViewChild, Optional, numberAttribute, ContentChildren, ViewContainerRef, TemplateRef, Injector, NgZone, ContentChild, Renderer2, NgModule } from '@angular/core';
3
3
  import { RectExtensions, RoundedRect, TransformModelExtensions, PointExtensions, SizeExtensions, Point, LineExtensions, GetIntersections, findClosestAlignment, setRectToElement, adjustRectToMinSize, setRectToViewBox } from '@foblex/2d';
4
4
  import { __decorate } from 'tslib';
5
5
  import * as i2$1 from '@foblex/mediator';
6
6
  import { FExecutionRegister, FMediator } from '@foblex/mediator';
7
7
  import * as i1 from '@foblex/platform';
8
8
  import { BrowserService, PlatformService, EOperationSystem } from '@foblex/platform';
9
- import { normalizeDomElementId, castToEnum, flatMap, isClosestElementHasClass, getDataAttrValueFromClosestElementWithClass, deepCloneNode } from '@foblex/utils';
9
+ import { normalizeDomElementId, castToEnum, flatMap, isClosestElementHasClass, getDataAttrValueFromClosestElementWithClass, getOrCreateRootNodeForViewRef, deepCloneNode, disableDragInteractions, extendStyles } from '@foblex/utils';
10
10
  import * as i2 from '@angular/common';
11
11
  import { CommonModule } from '@angular/common';
12
12
  import { DragAndDropBase } from '@foblex/drag-toolkit';
@@ -2214,22 +2214,16 @@ class FConnectionPathComponent {
2214
2214
  this.hostElement.setAttribute('marker-end', `url(#${getMarkerEndId(this.base.fId)})`);
2215
2215
  }
2216
2216
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FConnectionPathComponent, deps: [{ token: i0.ElementRef }, { token: F_CONNECTION }], target: i0.ɵɵFactoryTarget.Component });
2217
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: FConnectionPathComponent, selector: "path[f-connection-path]", host: { properties: { "attr.id": "attrConnectionId", "attr.data-f-path-id": "fPathId", "attr.stroke": "linkToGradient" }, classAttribute: "f-component f-connection-path" }, providers: [{ provide: CONNECTION_PATH, useExisting: FConnectionPathComponent }], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2217
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: FConnectionPathComponent, selector: "path[f-connection-path]", host: { properties: { "attr.id": "attrConnectionId", "attr.data-f-path-id": "fPathId", "attr.stroke": "linkToGradient" }, classAttribute: "f-component f-connection-path" }, providers: [{ provide: CONNECTION_PATH, useExisting: FConnectionPathComponent }], ngImport: i0, template: '', isInline: true, styles: [":host{fill:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2218
2218
  }
2219
2219
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FConnectionPathComponent, decorators: [{
2220
2220
  type: Component,
2221
- args: [{
2222
- selector: "path[f-connection-path]",
2223
- template: '',
2224
- changeDetection: ChangeDetectionStrategy.OnPush,
2225
- host: {
2221
+ args: [{ selector: "path[f-connection-path]", template: '', changeDetection: ChangeDetectionStrategy.OnPush, host: {
2226
2222
  class: "f-component f-connection-path",
2227
2223
  '[attr.id]': 'attrConnectionId',
2228
2224
  '[attr.data-f-path-id]': 'fPathId',
2229
2225
  '[attr.stroke]': 'linkToGradient',
2230
- },
2231
- providers: [{ provide: CONNECTION_PATH, useExisting: FConnectionPathComponent }],
2232
- }]
2226
+ }, providers: [{ provide: CONNECTION_PATH, useExisting: FConnectionPathComponent }], styles: [":host{fill:none}\n"] }]
2233
2227
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
2234
2228
  type: Inject,
2235
2229
  args: [F_CONNECTION]
@@ -2252,19 +2246,14 @@ class FConnectionSelectionComponent {
2252
2246
  this.hostElement.setAttribute("d", `${path}`);
2253
2247
  }
2254
2248
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FConnectionSelectionComponent, deps: [{ token: i0.ElementRef }, { token: F_CONNECTION }], target: i0.ɵɵFactoryTarget.Component });
2255
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: FConnectionSelectionComponent, selector: "path[fConnectionSelection]", host: { properties: { "attr.id": "connectionForSelectionId" }, classAttribute: "f-component f-connection-selection" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2249
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: FConnectionSelectionComponent, selector: "path[fConnectionSelection]", host: { properties: { "attr.id": "connectionForSelectionId" }, classAttribute: "f-component f-connection-selection" }, ngImport: i0, template: '', isInline: true, styles: [":host{fill:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2256
2250
  }
2257
2251
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FConnectionSelectionComponent, decorators: [{
2258
2252
  type: Component,
2259
- args: [{
2260
- selector: "path[fConnectionSelection]",
2261
- template: '',
2262
- changeDetection: ChangeDetectionStrategy.OnPush,
2263
- host: {
2253
+ args: [{ selector: "path[fConnectionSelection]", template: '', changeDetection: ChangeDetectionStrategy.OnPush, host: {
2264
2254
  class: "f-component f-connection-selection",
2265
2255
  '[attr.id]': 'connectionForSelectionId',
2266
- },
2267
- }]
2256
+ }, styles: [":host{fill:none}\n"] }]
2268
2257
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
2269
2258
  type: Inject,
2270
2259
  args: [F_CONNECTION]
@@ -2874,48 +2863,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
2874
2863
  }] });
2875
2864
 
2876
2865
  let RedrawConnectionsExecution = class RedrawConnectionsExecution {
2877
- fComponentsStore;
2878
- fMediator;
2879
- constructor(fComponentsStore, fMediator) {
2880
- this.fComponentsStore = fComponentsStore;
2881
- this.fMediator = fMediator;
2882
- }
2866
+ _fMediator = inject(FMediator);
2867
+ _fComponentsStore = inject(FComponentsStore);
2883
2868
  handle(request) {
2884
2869
  this._resetConnectors();
2885
- if (this.fComponentsStore.fTempConnection) {
2886
- this.setMarkers(this.fComponentsStore.fTempConnection);
2870
+ if (this._fComponentsStore.fTempConnection) {
2871
+ this._setMarkers(this._fComponentsStore.fTempConnection);
2887
2872
  }
2888
- if (this.fComponentsStore.fSnapConnection) {
2889
- this.setMarkers(this.fComponentsStore.fSnapConnection);
2873
+ if (this._fComponentsStore.fSnapConnection) {
2874
+ this._setMarkers(this._fComponentsStore.fSnapConnection);
2890
2875
  }
2891
- this.fComponentsStore.fConnections.forEach((connection) => {
2892
- const output = this.fComponentsStore.fOutputs.find((x) => x.fId === connection.fOutputId);
2893
- const input = this.fComponentsStore.fInputs.find((x) => x.fId === connection.fInputId);
2894
- if (output && input) {
2895
- this._setupConnection(output, input, connection);
2896
- }
2876
+ this._fComponentsStore.fConnections.forEach((x) => {
2877
+ this._setupConnection(this._getOutput(x.fOutputId), this._getInput(x.fInputId), x);
2897
2878
  });
2898
2879
  }
2880
+ _getOutput(id) {
2881
+ const result = this._fComponentsStore.fOutputs.find((x) => x.fId === id);
2882
+ if (!result) {
2883
+ throw new Error(`Output with id ${id} not found`);
2884
+ }
2885
+ return result;
2886
+ }
2887
+ _getInput(id) {
2888
+ const result = this._fComponentsStore.fInputs.find((x) => x.fId === id);
2889
+ if (!result) {
2890
+ throw new Error(`Input with id ${id} not found`);
2891
+ }
2892
+ return result;
2893
+ }
2899
2894
  _resetConnectors() {
2900
- this.fComponentsStore.fOutputs.forEach((x) => x.resetConnected());
2901
- this.fComponentsStore.fInputs.forEach((x) => x.resetConnected());
2895
+ this._fComponentsStore.fOutputs.forEach((x) => x.resetConnected());
2896
+ this._fComponentsStore.fInputs.forEach((x) => x.resetConnected());
2902
2897
  }
2903
- _setupConnection(output, input, connection) {
2904
- output.setConnected(input);
2905
- input.setConnected(output);
2906
- const line = this.getLine(output, input, connection);
2907
- this.setMarkers(connection);
2908
- connection.setLine(line.point1, output.fConnectableSide, line.point2, input.fConnectableSide);
2909
- connection.initialize();
2910
- connection.isSelected() ? connection.markAsSelected() : null;
2898
+ _setupConnection(fOutput, fInput, fConnection) {
2899
+ fOutput.setConnected(fInput);
2900
+ fInput.setConnected(fOutput);
2901
+ const line = this._getLine(fOutput, fInput, fConnection);
2902
+ this._setMarkers(fConnection);
2903
+ fConnection.setLine(line.point1, fOutput.fConnectableSide, line.point2, fInput.fConnectableSide);
2904
+ fConnection.initialize();
2905
+ fConnection.isSelected() ? fConnection.markAsSelected() : null;
2911
2906
  }
2912
- getLine(output, input, connection) {
2913
- return this.fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this.fMediator.execute(new GetNormalizedElementRectRequest(output.hostElement, true)), this.fMediator.execute(new GetNormalizedElementRectRequest(input.hostElement, true)), connection.fBehavior, output.fConnectableSide, input.fConnectableSide));
2907
+ _getLine(output, input, connection) {
2908
+ return this._fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fMediator.execute(new GetNormalizedElementRectRequest(output.hostElement, true)), this._fMediator.execute(new GetNormalizedElementRectRequest(input.hostElement, true)), connection.fBehavior, output.fConnectableSide, input.fConnectableSide));
2914
2909
  }
2915
- setMarkers(connection) {
2916
- this.fMediator.execute(new CreateConnectionMarkersRequest(connection));
2910
+ _setMarkers(connection) {
2911
+ this._fMediator.execute(new CreateConnectionMarkersRequest(connection));
2917
2912
  }
2918
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RedrawConnectionsExecution, deps: [{ token: FComponentsStore }, { token: i2$1.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
2913
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RedrawConnectionsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2919
2914
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RedrawConnectionsExecution });
2920
2915
  };
2921
2916
  RedrawConnectionsExecution = __decorate([
@@ -2923,7 +2918,7 @@ RedrawConnectionsExecution = __decorate([
2923
2918
  ], RedrawConnectionsExecution);
2924
2919
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RedrawConnectionsExecution, decorators: [{
2925
2920
  type: Injectable
2926
- }], ctorParameters: () => [{ type: FComponentsStore }, { type: i2$1.FMediator }] });
2921
+ }] });
2927
2922
 
2928
2923
  class RemoveConnectionForCreateFromStoreRequest {
2929
2924
  }
@@ -3149,229 +3144,362 @@ class FindInputAtPositionRequest {
3149
3144
  }
3150
3145
  }
3151
3146
 
3152
- class CanvasMoveFinalizeRequest {
3153
- event;
3154
- constructor(event) {
3155
- this.event = event;
3147
+ let FindInputAtPositionExecution = class FindInputAtPositionExecution {
3148
+ _fMediator = inject(FMediator);
3149
+ _fComponentsStore = inject(FComponentsStore);
3150
+ _fBrowser = inject(BrowserService);
3151
+ get _transform() {
3152
+ return this._fComponentsStore.fCanvas.transform;
3156
3153
  }
3157
- }
3158
-
3159
- class FDraggableDataContext {
3160
- selectedItems = [];
3161
- isSelectedChanged = false;
3162
- onPointerDownScale = 1;
3163
- onPointerDownPosition = new Point(0, 0);
3164
- draggableItems = [];
3165
- reset() {
3166
- this.draggableItems = [];
3167
- this.onPointerDownScale = 1;
3168
- this.onPointerDownPosition = new Point(0, 0);
3154
+ get _fHost() {
3155
+ return this._fComponentsStore.fFlow.hostElement;
3169
3156
  }
3170
- markSelectionAsChanged() {
3171
- this.isSelectedChanged = true;
3157
+ get _fNodes() {
3158
+ return this._fComponentsStore.fNodes;
3172
3159
  }
3173
- isEmpty() {
3174
- return !this.draggableItems.length;
3160
+ get _fSnapConnection() {
3161
+ return this._fComponentsStore.fSnapConnection;
3175
3162
  }
3176
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDataContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3177
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDataContext });
3178
- }
3179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDataContext, decorators: [{
3180
- type: Injectable
3181
- }] });
3182
-
3183
- class CanvasDragHandler {
3184
- _fComponentsStore;
3185
- onPointerDownPosition = PointExtensions.initialize();
3186
- constructor(_fComponentsStore) {
3187
- this._fComponentsStore = _fComponentsStore;
3163
+ handle(payload) {
3164
+ const fInputs = this._findInputsAtPosition(payload);
3165
+ return fInputs.length > 0 ? fInputs[0] : undefined;
3188
3166
  }
3189
- prepareDragSequence() {
3190
- this.onPointerDownPosition = this._fComponentsStore.fCanvas.transform.position;
3167
+ _findInputsAtPosition(request) {
3168
+ const result = [];
3169
+ result.push(...this._getConnectableInputsAtPosition(request));
3170
+ const fClosestInput = this._calculateClosetInput(request);
3171
+ if (fClosestInput) {
3172
+ result.unshift(fClosestInput.fConnector);
3173
+ }
3174
+ const fInput = this._getFirstConnectableInputOfNodeAtPosition(request);
3175
+ if (fInput) {
3176
+ result.push(fInput);
3177
+ }
3178
+ return result;
3191
3179
  }
3192
- onPointerMove(difference) {
3193
- this._fComponentsStore.fCanvas.setPosition(Point.fromPoint(this.onPointerDownPosition).add(difference));
3194
- this._fComponentsStore.fCanvas.redraw();
3180
+ _getConnectableInputsAtPosition(request) {
3181
+ return request.canBeConnectedInputs.filter((x) => {
3182
+ return RectExtensions.isIncludePoint(x.fRect, this._getPointInFlow(request.pointerPosition));
3183
+ }).map((x) => x.fConnector);
3195
3184
  }
3196
- onPointerUp() {
3197
- this._fComponentsStore.fCanvas.emitCanvasChangeEvent();
3185
+ _getPointInFlow(position) {
3186
+ return Point.fromPoint(position)
3187
+ .elementTransform(this._fHost)
3188
+ .sub(this._transform.scaledPosition).sub(this._transform.position)
3189
+ .div(this._transform.scale);
3198
3190
  }
3199
- }
3200
-
3201
- let CanvasMoveFinalizeExecution = class CanvasMoveFinalizeExecution {
3202
- _fDraggableDataContext = inject(FDraggableDataContext);
3203
- handle(request) {
3204
- if (!this._isValid()) {
3205
- return;
3191
+ //if the closest input is valid, return it
3192
+ _calculateClosetInput(request) {
3193
+ if (!this._fSnapConnection) {
3194
+ return undefined;
3206
3195
  }
3207
- this._fDraggableDataContext.draggableItems.forEach((x) => x.onPointerUp?.());
3196
+ const fClosestInput = this._fMediator.execute(new CalculateClosestInputRequest(this._getPointInFlow(request.pointerPosition), request.canBeConnectedInputs));
3197
+ return this._isValidClosestInput(fClosestInput) ? fClosestInput : undefined;
3208
3198
  }
3209
- _isValid() {
3210
- return this._fDraggableDataContext.draggableItems.some((x) => x instanceof CanvasDragHandler);
3199
+ _isValidClosestInput(fClosestInput) {
3200
+ return !!fClosestInput && fClosestInput.distance < this._fSnapConnection.fSnapThreshold;
3201
+ }
3202
+ //if node placed in position and fConnectOnNode is true, return the first connectable input of the node
3203
+ _getFirstConnectableInputOfNodeAtPosition(request) {
3204
+ return this._getElementsFromPoint(request.pointerPosition)
3205
+ .map((x) => this._findConnectableNode(x))
3206
+ .filter((x) => !!x)
3207
+ .map((x) => this._findFirstConnectableInputOfNode(request.canBeConnectedInputs, x))
3208
+ .find((x) => !!x);
3209
+ }
3210
+ _getElementsFromPoint(position) {
3211
+ return this._fBrowser.document.elementsFromPoint(position.x, position.y);
3212
+ }
3213
+ _findConnectableNode(element) {
3214
+ return this._fNodes.find((x) => x.isContains(element) && x.fConnectOnNode);
3211
3215
  }
3212
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMoveFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3213
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMoveFinalizeExecution });
3216
+ _findFirstConnectableInputOfNode(connectableInputs, fNode) {
3217
+ return connectableInputs.find((x) => x.fConnector.fNodeId === fNode.fId)?.fConnector;
3218
+ }
3219
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindInputAtPositionExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3220
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindInputAtPositionExecution });
3214
3221
  };
3215
- CanvasMoveFinalizeExecution = __decorate([
3216
- FExecutionRegister(CanvasMoveFinalizeRequest)
3217
- ], CanvasMoveFinalizeExecution);
3218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMoveFinalizeExecution, decorators: [{
3222
+ FindInputAtPositionExecution = __decorate([
3223
+ FExecutionRegister(FindInputAtPositionRequest)
3224
+ ], FindInputAtPositionExecution);
3225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindInputAtPositionExecution, decorators: [{
3219
3226
  type: Injectable
3220
3227
  }] });
3221
3228
 
3222
- class CanvasMovePreparationRequest {
3223
- event;
3224
- constructor(event) {
3225
- this.event = event;
3229
+ class GetAllCanBeConnectedInputsAndRectsRequest {
3230
+ fOutputOrOutlet;
3231
+ constructor(fOutputOrOutlet) {
3232
+ this.fOutputOrOutlet = fOutputOrOutlet;
3226
3233
  }
3227
3234
  }
3228
3235
 
3229
- let CanvasMovePreparationExecution = class CanvasMovePreparationExecution {
3230
- _fComponentsStore = inject(FComponentsStore);
3231
- _fDraggableDataContext = inject(FDraggableDataContext);
3232
- get _fHost() {
3233
- return this._fComponentsStore.fFlow.hostElement;
3236
+ class GetConnectorAndRectRequest {
3237
+ fConnector;
3238
+ constructor(fConnector) {
3239
+ this.fConnector = fConnector;
3234
3240
  }
3241
+ }
3242
+
3243
+ let GetConnectorAndRectExecution = class GetConnectorAndRectExecution {
3244
+ _fMediator = inject(FMediator);
3235
3245
  handle(request) {
3236
- if (!this._isValid(request)) {
3237
- return;
3238
- }
3239
- this._fDraggableDataContext.onPointerDownScale = 1;
3240
- this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
3241
- .elementTransform(this._fHost);
3242
- this._fDraggableDataContext.draggableItems = [
3243
- new CanvasDragHandler(this._fComponentsStore)
3244
- ];
3246
+ return {
3247
+ fConnector: request.fConnector,
3248
+ fRect: this._getConnectorRect(request.fConnector)
3249
+ };
3245
3250
  }
3246
- _isValid(request) {
3247
- return this._fDraggableDataContext.isEmpty() &&
3248
- (this._isBackgroundElement(request.event.targetElement) || this._isDragOnHost(request.event.targetElement));
3251
+ _getConnectorRect(fConnector) {
3252
+ return this._fMediator.execute(new GetNormalizedElementRectRequest(fConnector.hostElement, true));
3249
3253
  }
3250
- _isBackgroundElement(targetElement) {
3251
- return this._fComponentsStore.fBackground?.hostElement.contains(targetElement);
3254
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorAndRectExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3255
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorAndRectExecution });
3256
+ };
3257
+ GetConnectorAndRectExecution = __decorate([
3258
+ FExecutionRegister(GetConnectorAndRectRequest)
3259
+ ], GetConnectorAndRectExecution);
3260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorAndRectExecution, decorators: [{
3261
+ type: Injectable
3262
+ }] });
3263
+
3264
+ let GetAllCanBeConnectedInputsAndRectsExecution = class GetAllCanBeConnectedInputsAndRectsExecution {
3265
+ _fMediator = inject(FMediator);
3266
+ _fComponentsStore = inject(FComponentsStore);
3267
+ get _fInputs() {
3268
+ return this._fComponentsStore.fInputs;
3252
3269
  }
3253
- _isDragOnHost(targetElement) {
3254
- return this._fHost.contains(targetElement) && !this._getNode(targetElement);
3270
+ handle(payload) {
3271
+ return this._getCanBeConnectedInputs(payload.fOutputOrOutlet).map((x) => {
3272
+ return this._fMediator.execute(new GetConnectorAndRectRequest(x));
3273
+ });
3255
3274
  }
3256
- _getNode(targetElement) {
3257
- let result = this._fComponentsStore.fNodes
3258
- .find(x => x.isContains(targetElement));
3259
- if (result && result.fDraggingDisabled) {
3260
- result = undefined;
3275
+ _getCanBeConnectedInputs(fOutputOrOutlet) {
3276
+ let fInputs = [];
3277
+ if (fOutputOrOutlet.canBeConnectedInputs?.length) {
3278
+ fInputs = this._fInputs.filter((x) => fOutputOrOutlet.canBeConnectedInputs.includes(x.fId));
3261
3279
  }
3262
- return result;
3280
+ else {
3281
+ fInputs = this._fInputs.filter((x) => x.canBeConnected);
3282
+ if (!fOutputOrOutlet.isSelfConnectable) {
3283
+ fInputs = this._filterSelfConnectable(fInputs, fOutputOrOutlet);
3284
+ }
3285
+ }
3286
+ return fInputs;
3287
+ }
3288
+ _filterSelfConnectable(fInputs, fOutputOrOutlet) {
3289
+ return fInputs.filter((x) => fOutputOrOutlet.fNodeId !== x.fNodeId);
3263
3290
  }
3264
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMovePreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3265
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMovePreparationExecution });
3291
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetAllCanBeConnectedInputsAndRectsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3292
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetAllCanBeConnectedInputsAndRectsExecution });
3266
3293
  };
3267
- CanvasMovePreparationExecution = __decorate([
3268
- FExecutionRegister(CanvasMovePreparationRequest)
3269
- ], CanvasMovePreparationExecution);
3270
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMovePreparationExecution, decorators: [{
3294
+ GetAllCanBeConnectedInputsAndRectsExecution = __decorate([
3295
+ FExecutionRegister(GetAllCanBeConnectedInputsAndRectsRequest)
3296
+ ], GetAllCanBeConnectedInputsAndRectsExecution);
3297
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetAllCanBeConnectedInputsAndRectsExecution, decorators: [{
3271
3298
  type: Injectable
3272
3299
  }] });
3273
3300
 
3274
- const CANVAS_PROVIDERS = [
3275
- CanvasMoveFinalizeExecution,
3276
- CanvasMovePreparationExecution,
3277
- ];
3278
-
3279
- class CreateConnectionFinalizeRequest {
3280
- event;
3281
- constructor(event) {
3282
- this.event = event;
3301
+ class MarkAllCanBeConnectedInputsRequest {
3302
+ fInputs;
3303
+ constructor(fInputs) {
3304
+ this.fInputs = fInputs;
3283
3305
  }
3284
3306
  }
3285
3307
 
3286
- function createErrorClass(impl) {
3287
- const _super = (instance) => {
3288
- Error.call(instance);
3289
- };
3290
- const constructor = impl(_super);
3291
- constructor.prototype = Object.create(Error.prototype);
3292
- constructor.prototype.constructor = constructor;
3293
- return constructor;
3294
- }
3308
+ const F_CSS_CLASS = {
3309
+ DRAG_AND_DROP: {
3310
+ DRAGGING: 'f-dragging',
3311
+ CONNECTIONS_DRAGGING: 'f-connections-dragging',
3312
+ },
3313
+ CONNECTOR: {
3314
+ OUTPUT_CONNECTED: 'f-node-output-connected',
3315
+ OUTPUT_NOT_CONNECTABLE: 'f-node-output-not-connectable',
3316
+ INPUT_CONNECTED: 'f-node-input-connected',
3317
+ INPUT_NOT_CONNECTABLE: 'f-node-input-not-connectable',
3318
+ INPUT_CAN_BE_CONNECTED_TO: 'f-node-input-can-be-connected-to',
3319
+ }
3320
+ };
3295
3321
 
3296
- const NotFoundError = createErrorClass((_super) => function error(message) {
3297
- _super(this);
3298
- this.message = message || 'The requested resource was not found.';
3299
- this.code = 404;
3300
- });
3301
-
3302
- const ConflictError = createErrorClass((_super) => function error(message) {
3303
- _super(this);
3304
- this.message = message || 'Conflict error occurred.';
3305
- this.code = 409;
3306
- });
3322
+ let MarkAllCanBeConnectedInputsExecution = class MarkAllCanBeConnectedInputsExecution {
3323
+ _fComponentsStore = inject(FComponentsStore);
3324
+ handle(payload) {
3325
+ this._fComponentsStore.flowHost.classList.add(F_CSS_CLASS.DRAG_AND_DROP.CONNECTIONS_DRAGGING);
3326
+ payload.fInputs.forEach((fInput) => this._markCanBeConnectedTo(fInput));
3327
+ }
3328
+ _markCanBeConnectedTo(fInput) {
3329
+ fInput.hostElement.classList.add(F_CSS_CLASS.CONNECTOR.INPUT_CAN_BE_CONNECTED_TO);
3330
+ }
3331
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkAllCanBeConnectedInputsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3332
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkAllCanBeConnectedInputsExecution });
3333
+ };
3334
+ MarkAllCanBeConnectedInputsExecution = __decorate([
3335
+ FExecutionRegister(MarkAllCanBeConnectedInputsRequest)
3336
+ ], MarkAllCanBeConnectedInputsExecution);
3337
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkAllCanBeConnectedInputsExecution, decorators: [{
3338
+ type: Injectable
3339
+ }] });
3307
3340
 
3308
- function OutputNotFound(id) {
3309
- return new NotFoundError(`Output with fOutputId ${id} not found. Make sure there is no f-connection to a non-existent fOutput.`);
3310
- }
3311
- function InputNotFound(id) {
3312
- return new NotFoundError(`Input with fInputId ${id} not found. Make sure there is no f-connection to a non-existent fInput.`);
3313
- }
3314
- function RequiredOutput() {
3315
- return new ConflictError(`The fNode must contain at least one fOutput if there is an fOutlet`);
3341
+ class RemoveInputFromStoreRequest {
3342
+ fComponent;
3343
+ constructor(fComponent) {
3344
+ this.fComponent = fComponent;
3345
+ }
3316
3346
  }
3317
3347
 
3318
- class GetCanBeConnectedOutputByOutletRequest {
3319
- fOutlet;
3320
- constructor(fOutlet) {
3321
- this.fOutlet = fOutlet;
3348
+ let RemoveInputFromStoreExecution = class RemoveInputFromStoreExecution {
3349
+ _fComponentsStore = inject(FComponentsStore);
3350
+ handle(request) {
3351
+ this._fComponentsStore.removeComponent(this._fComponentsStore.fInputs, request.fComponent);
3352
+ }
3353
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveInputFromStoreExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3354
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveInputFromStoreExecution });
3355
+ };
3356
+ RemoveInputFromStoreExecution = __decorate([
3357
+ FExecutionRegister(RemoveInputFromStoreRequest)
3358
+ ], RemoveInputFromStoreExecution);
3359
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveInputFromStoreExecution, decorators: [{
3360
+ type: Injectable
3361
+ }] });
3362
+
3363
+ class RemoveOutletFromStoreRequest {
3364
+ fComponent;
3365
+ constructor(fComponent) {
3366
+ this.fComponent = fComponent;
3322
3367
  }
3323
3368
  }
3324
3369
 
3325
- let GetCanBeConnectedOutputByOutletExecution = class GetCanBeConnectedOutputByOutletExecution {
3326
- _fComponentStore = inject(FComponentsStore);
3327
- get _fNodes() {
3328
- return this._fComponentStore.fNodes;
3370
+ let RemoveOutletFromStoreExecution = class RemoveOutletFromStoreExecution {
3371
+ _fComponentsStore = inject(FComponentsStore);
3372
+ handle(request) {
3373
+ this._fComponentsStore.removeComponent(this._fComponentsStore.fOutlets, request.fComponent);
3329
3374
  }
3330
- get _fOutputs() {
3331
- return this._fComponentStore.fOutputs;
3375
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutletFromStoreExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3376
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutletFromStoreExecution });
3377
+ };
3378
+ RemoveOutletFromStoreExecution = __decorate([
3379
+ FExecutionRegister(RemoveOutletFromStoreRequest)
3380
+ ], RemoveOutletFromStoreExecution);
3381
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutletFromStoreExecution, decorators: [{
3382
+ type: Injectable
3383
+ }] });
3384
+
3385
+ class RemoveOutputFromStoreRequest {
3386
+ fComponent;
3387
+ constructor(fComponent) {
3388
+ this.fComponent = fComponent;
3332
3389
  }
3333
- _fNode;
3390
+ }
3391
+
3392
+ let RemoveOutputFromStoreExecution = class RemoveOutputFromStoreExecution {
3393
+ _fComponentsStore = inject(FComponentsStore);
3334
3394
  handle(request) {
3335
- if (!this._isValid(request)) {
3336
- return;
3337
- }
3338
- const fOutputs = this._getConnectableOutputs();
3339
- if (!fOutputs.length) {
3340
- throw new Error('The fNode must contain at least one fOutput if there is an fOutlet');
3341
- }
3342
- return fOutputs[0];
3395
+ this._fComponentsStore.removeComponent(this._fComponentsStore.fOutputs, request.fComponent);
3343
3396
  }
3344
- _isValid(request) {
3345
- return !!this._getNode(request.fOutlet);
3397
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutputFromStoreExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3398
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutputFromStoreExecution });
3399
+ };
3400
+ RemoveOutputFromStoreExecution = __decorate([
3401
+ FExecutionRegister(RemoveOutputFromStoreRequest)
3402
+ ], RemoveOutputFromStoreExecution);
3403
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutputFromStoreExecution, decorators: [{
3404
+ type: Injectable
3405
+ }] });
3406
+
3407
+ class UnmarkAllCanBeConnectedInputsRequest {
3408
+ fInputs;
3409
+ constructor(fInputs) {
3410
+ this.fInputs = fInputs;
3346
3411
  }
3347
- _getNode(fOutlet) {
3348
- this._fNode = this._fNodes.find((x) => x.isContains(fOutlet.hostElement));
3349
- return this._fNode;
3412
+ }
3413
+
3414
+ let UnmarkAllCanBeConnectedInputsExecution = class UnmarkAllCanBeConnectedInputsExecution {
3415
+ _fComponentsStore = inject(FComponentsStore);
3416
+ handle(payload) {
3417
+ this._fComponentsStore.flowHost.classList.remove(F_CSS_CLASS.DRAG_AND_DROP.CONNECTIONS_DRAGGING);
3418
+ payload.fInputs.forEach((fInput) => this._unmarkCanBeConnectedTo(fInput));
3350
3419
  }
3351
- _getConnectableOutputs() {
3352
- return this._fOutputs
3353
- .filter((x) => this._fNode.isContains(x.hostElement) && x.canBeConnected);
3420
+ _unmarkCanBeConnectedTo(fInput) {
3421
+ fInput.hostElement.classList.remove(F_CSS_CLASS.CONNECTOR.INPUT_CAN_BE_CONNECTED_TO);
3354
3422
  }
3355
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCanBeConnectedOutputByOutletExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3356
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCanBeConnectedOutputByOutletExecution });
3423
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UnmarkAllCanBeConnectedInputsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3424
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UnmarkAllCanBeConnectedInputsExecution });
3357
3425
  };
3358
- GetCanBeConnectedOutputByOutletExecution = __decorate([
3359
- FExecutionRegister(GetCanBeConnectedOutputByOutletRequest)
3360
- ], GetCanBeConnectedOutputByOutletExecution);
3361
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCanBeConnectedOutputByOutletExecution, decorators: [{
3426
+ UnmarkAllCanBeConnectedInputsExecution = __decorate([
3427
+ FExecutionRegister(UnmarkAllCanBeConnectedInputsRequest)
3428
+ ], UnmarkAllCanBeConnectedInputsExecution);
3429
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UnmarkAllCanBeConnectedInputsExecution, decorators: [{
3362
3430
  type: Injectable
3363
3431
  }] });
3364
3432
 
3365
- class FCreateConnectionEvent {
3366
- fOutputId;
3367
- fInputId;
3368
- fDropPosition;
3369
- constructor(fOutputId, fInputId, fDropPosition) {
3370
- this.fOutputId = fOutputId;
3371
- this.fInputId = fInputId;
3372
- this.fDropPosition = fDropPosition;
3433
+ const F_CONNECTORS_FEATURES = [
3434
+ AddInputToStoreExecution,
3435
+ AddOutletToStoreExecution,
3436
+ AddOutputToStoreExecution,
3437
+ CalculateClosestInputExecution,
3438
+ FindInputAtPositionExecution,
3439
+ GetAllCanBeConnectedInputsAndRectsExecution,
3440
+ GetConnectorAndRectExecution,
3441
+ MarkAllCanBeConnectedInputsExecution,
3442
+ RemoveInputFromStoreExecution,
3443
+ RemoveOutletFromStoreExecution,
3444
+ RemoveOutputFromStoreExecution,
3445
+ UnmarkAllCanBeConnectedInputsExecution
3446
+ ];
3447
+
3448
+ class AddDndToStoreRequest {
3449
+ fComponent;
3450
+ constructor(fComponent) {
3451
+ this.fComponent = fComponent;
3452
+ }
3453
+ }
3454
+
3455
+ let AddDndToStoreExecution = class AddDndToStoreExecution {
3456
+ _fComponentsStore = inject(FComponentsStore);
3457
+ handle(request) {
3458
+ this._fComponentsStore.fDraggable = request.fComponent;
3459
+ }
3460
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AddDndToStoreExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3461
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AddDndToStoreExecution });
3462
+ };
3463
+ AddDndToStoreExecution = __decorate([
3464
+ FExecutionRegister(AddDndToStoreRequest)
3465
+ ], AddDndToStoreExecution);
3466
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AddDndToStoreExecution, decorators: [{
3467
+ type: Injectable
3468
+ }] });
3469
+
3470
+ class EmitSelectionChangeEventRequest {
3471
+ }
3472
+
3473
+ class FCanvasMoveFinalizeRequest {
3474
+ event;
3475
+ constructor(event) {
3476
+ this.event = event;
3477
+ }
3478
+ }
3479
+
3480
+ class FDraggableDataContext {
3481
+ selectedItems = [];
3482
+ isSelectedChanged = false;
3483
+ onPointerDownScale = 1;
3484
+ onPointerDownPosition = new Point(0, 0);
3485
+ draggableItems = [];
3486
+ reset() {
3487
+ this.draggableItems = [];
3488
+ this.onPointerDownScale = 1;
3489
+ this.onPointerDownPosition = new Point(0, 0);
3373
3490
  }
3491
+ markSelectionAsChanged() {
3492
+ this.isSelectedChanged = true;
3493
+ }
3494
+ isEmpty() {
3495
+ return !this.draggableItems.length;
3496
+ }
3497
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDataContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3498
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDataContext });
3374
3499
  }
3500
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDataContext, decorators: [{
3501
+ type: Injectable
3502
+ }] });
3375
3503
 
3376
3504
  class FInjector {
3377
3505
  static _injector;
@@ -3392,47 +3520,265 @@ function fInject(token) {
3392
3520
  return FInjector.get().get(token);
3393
3521
  }
3394
3522
 
3395
- class CreateConnectionDragHandler {
3396
- _fOutputOrOutlet;
3397
- _fMediator = fInject(FMediator);
3523
+ class FCanvasDragHandler {
3524
+ fEventType = 'canvas-move';
3398
3525
  _fComponentsStore = fInject(FComponentsStore);
3399
- _toConnectorRect = new RoundedRect();
3400
- get _fConnection() {
3401
- return this._fComponentsStore.fTempConnection;
3402
- }
3403
- get _fSnapConnection() {
3404
- return this._fComponentsStore.fSnapConnection;
3405
- }
3406
- _fOutputWithRect;
3407
- _canBeConnectedInputs = [];
3408
- constructor(_fOutputOrOutlet, _onPointerDownPosition) {
3409
- this._fOutputOrOutlet = _fOutputOrOutlet;
3410
- this._toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(_onPointerDownPosition.x, _onPointerDownPosition.y));
3411
- }
3526
+ _onPointerDownPosition = PointExtensions.initialize();
3412
3527
  prepareDragSequence() {
3413
- this._getAndMarkCanBeConnectedInputs();
3414
- this._initializeSnapConnection();
3415
- this._initializeConnectionForCreate();
3416
- this._fOutputWithRect = this._fMediator.execute(new GetConnectorAndRectRequest(this._fOutputOrOutlet));
3417
- this._fConnection.show();
3418
- this.onPointerMove(PointExtensions.initialize());
3528
+ this._onPointerDownPosition = this._fComponentsStore.fCanvas.transform.position;
3419
3529
  }
3420
- _getAndMarkCanBeConnectedInputs() {
3421
- this._canBeConnectedInputs = this._fMediator.execute(new GetAllCanBeConnectedInputsAndRectsRequest(this._fOutputOrOutlet));
3422
- this._fMediator.execute(new MarkAllCanBeConnectedInputsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
3530
+ onPointerMove(difference) {
3531
+ this._fComponentsStore.fCanvas.setPosition(Point.fromPoint(this._onPointerDownPosition).add(difference));
3532
+ this._fComponentsStore.fCanvas.redraw();
3423
3533
  }
3424
- _initializeSnapConnection() {
3425
- if (!this._fSnapConnection) {
3534
+ onPointerUp() {
3535
+ this._fComponentsStore.fCanvas.emitCanvasChangeEvent();
3536
+ }
3537
+ }
3538
+
3539
+ let FCanvasMoveFinalizeExecution = class FCanvasMoveFinalizeExecution {
3540
+ _fDraggableDataContext = inject(FDraggableDataContext);
3541
+ handle(request) {
3542
+ if (!this._isValid()) {
3426
3543
  return;
3427
3544
  }
3428
- this._fSnapConnection.fOutputId = this._fOutputOrOutlet.fId;
3429
- this._fSnapConnection.initialize();
3545
+ this._fDraggableDataContext.draggableItems.forEach((x) => x.onPointerUp?.());
3430
3546
  }
3431
- _initializeConnectionForCreate() {
3432
- this._fConnection.fOutputId = this._fOutputOrOutlet.fId;
3433
- this._fConnection.initialize();
3547
+ _isValid() {
3548
+ return this._fDraggableDataContext.draggableItems.some((x) => x instanceof FCanvasDragHandler);
3434
3549
  }
3435
- onPointerMove(difference) {
3550
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCanvasMoveFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3551
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCanvasMoveFinalizeExecution });
3552
+ };
3553
+ FCanvasMoveFinalizeExecution = __decorate([
3554
+ FExecutionRegister(FCanvasMoveFinalizeRequest)
3555
+ ], FCanvasMoveFinalizeExecution);
3556
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCanvasMoveFinalizeExecution, decorators: [{
3557
+ type: Injectable
3558
+ }] });
3559
+
3560
+ class FCanvasMovePreparationRequest {
3561
+ event;
3562
+ constructor(event) {
3563
+ this.event = event;
3564
+ }
3565
+ }
3566
+
3567
+ let FCanvasMovePreparationExecution = class FCanvasMovePreparationExecution {
3568
+ _fComponentsStore = inject(FComponentsStore);
3569
+ _fDraggableDataContext = inject(FDraggableDataContext);
3570
+ get _fHost() {
3571
+ return this._fComponentsStore.fFlow.hostElement;
3572
+ }
3573
+ handle(request) {
3574
+ if (!this._isValid(request)) {
3575
+ return;
3576
+ }
3577
+ this._fDraggableDataContext.onPointerDownScale = 1;
3578
+ this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
3579
+ .elementTransform(this._fHost);
3580
+ this._fDraggableDataContext.draggableItems = [new FCanvasDragHandler()];
3581
+ }
3582
+ _isValid(request) {
3583
+ return this._fDraggableDataContext.isEmpty() &&
3584
+ (this._isBackgroundElement(request.event.targetElement) || this._isDragOnHost(request.event.targetElement));
3585
+ }
3586
+ _isBackgroundElement(targetElement) {
3587
+ return this._fComponentsStore.fBackground?.hostElement.contains(targetElement);
3588
+ }
3589
+ _isDragOnHost(targetElement) {
3590
+ return this._fHost.contains(targetElement) && !this._getNode(targetElement);
3591
+ }
3592
+ _getNode(targetElement) {
3593
+ let result = this._fComponentsStore.fNodes
3594
+ .find(x => x.isContains(targetElement));
3595
+ if (result && result.fDraggingDisabled) {
3596
+ result = undefined;
3597
+ }
3598
+ return result;
3599
+ }
3600
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCanvasMovePreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3601
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCanvasMovePreparationExecution });
3602
+ };
3603
+ FCanvasMovePreparationExecution = __decorate([
3604
+ FExecutionRegister(FCanvasMovePreparationRequest)
3605
+ ], FCanvasMovePreparationExecution);
3606
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCanvasMovePreparationExecution, decorators: [{
3607
+ type: Injectable
3608
+ }] });
3609
+
3610
+ const CANVAS_PROVIDERS = [
3611
+ FCanvasMoveFinalizeExecution,
3612
+ FCanvasMovePreparationExecution,
3613
+ ];
3614
+
3615
+ class FDragHandlerResult {
3616
+ _data;
3617
+ setData(data) {
3618
+ this._data = { ...this._data, ...data };
3619
+ }
3620
+ getData() {
3621
+ return this._data;
3622
+ }
3623
+ clear() {
3624
+ this._data = undefined;
3625
+ }
3626
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDragHandlerResult, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3627
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDragHandlerResult });
3628
+ }
3629
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDragHandlerResult, decorators: [{
3630
+ type: Injectable
3631
+ }] });
3632
+
3633
+ class FCreateConnectionFinalizeRequest {
3634
+ event;
3635
+ constructor(event) {
3636
+ this.event = event;
3637
+ }
3638
+ }
3639
+
3640
+ function createErrorClass(impl) {
3641
+ const _super = (instance) => {
3642
+ Error.call(instance);
3643
+ };
3644
+ const constructor = impl(_super);
3645
+ constructor.prototype = Object.create(Error.prototype);
3646
+ constructor.prototype.constructor = constructor;
3647
+ return constructor;
3648
+ }
3649
+
3650
+ const NotFoundError = createErrorClass((_super) => function error(message) {
3651
+ _super(this);
3652
+ this.message = message || 'The requested resource was not found.';
3653
+ this.code = 404;
3654
+ });
3655
+
3656
+ const ConflictError = createErrorClass((_super) => function error(message) {
3657
+ _super(this);
3658
+ this.message = message || 'Conflict error occurred.';
3659
+ this.code = 409;
3660
+ });
3661
+
3662
+ function OutputNotFound(id) {
3663
+ return new NotFoundError(`Output with fOutputId ${id} not found. Make sure there is no f-connection to a non-existent fOutput.`);
3664
+ }
3665
+ function InputNotFound(id) {
3666
+ return new NotFoundError(`Input with fInputId ${id} not found. Make sure there is no f-connection to a non-existent fInput.`);
3667
+ }
3668
+ function RequiredOutput() {
3669
+ return new ConflictError(`The fNode must contain at least one fOutput if there is an fOutlet`);
3670
+ }
3671
+
3672
+ class GetFirstConnectableOutputRequest {
3673
+ fOutlet;
3674
+ constructor(fOutlet) {
3675
+ this.fOutlet = fOutlet;
3676
+ }
3677
+ }
3678
+
3679
+ let GetFirstConnectableOutputExecution = class GetFirstConnectableOutputExecution {
3680
+ _fComponentStore = inject(FComponentsStore);
3681
+ get _fNodes() {
3682
+ return this._fComponentStore.fNodes;
3683
+ }
3684
+ get _fOutputs() {
3685
+ return this._fComponentStore.fOutputs;
3686
+ }
3687
+ _fNode;
3688
+ handle(request) {
3689
+ if (!this._isValid(request)) {
3690
+ return;
3691
+ }
3692
+ const fOutputs = this._getConnectableOutputs();
3693
+ if (!fOutputs.length) {
3694
+ throw new Error('The fNode must contain at least one fOutput if there is an fOutlet');
3695
+ }
3696
+ return fOutputs[0];
3697
+ }
3698
+ _isValid(request) {
3699
+ return !!this._getNode(request.fOutlet);
3700
+ }
3701
+ _getNode(fOutlet) {
3702
+ this._fNode = this._fNodes.find((x) => x.isContains(fOutlet.hostElement));
3703
+ return this._fNode;
3704
+ }
3705
+ _getConnectableOutputs() {
3706
+ return this._fOutputs
3707
+ .filter((x) => this._fNode.isContains(x.hostElement) && x.canBeConnected);
3708
+ }
3709
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFirstConnectableOutputExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3710
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFirstConnectableOutputExecution });
3711
+ };
3712
+ GetFirstConnectableOutputExecution = __decorate([
3713
+ FExecutionRegister(GetFirstConnectableOutputRequest)
3714
+ ], GetFirstConnectableOutputExecution);
3715
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFirstConnectableOutputExecution, decorators: [{
3716
+ type: Injectable
3717
+ }] });
3718
+
3719
+ class FCreateConnectionEvent {
3720
+ fOutputId;
3721
+ fInputId;
3722
+ fDropPosition;
3723
+ constructor(fOutputId, fInputId, fDropPosition) {
3724
+ this.fOutputId = fOutputId;
3725
+ this.fInputId = fInputId;
3726
+ this.fDropPosition = fDropPosition;
3727
+ }
3728
+ }
3729
+
3730
+ class FCreateConnectionDragHandler {
3731
+ _fOutputOrOutlet;
3732
+ fEventType = 'create-connection';
3733
+ fData;
3734
+ _fResult = fInject((FDragHandlerResult));
3735
+ _fMediator = fInject(FMediator);
3736
+ _fComponentsStore = fInject(FComponentsStore);
3737
+ _toConnectorRect = new RoundedRect();
3738
+ get _fConnection() {
3739
+ return this._fComponentsStore.fTempConnection;
3740
+ }
3741
+ get _fSnapConnection() {
3742
+ return this._fComponentsStore.fSnapConnection;
3743
+ }
3744
+ _fOutputWithRect;
3745
+ _canBeConnectedInputs = [];
3746
+ constructor(_fOutputOrOutlet, _onPointerDownPosition) {
3747
+ this._fOutputOrOutlet = _fOutputOrOutlet;
3748
+ this._toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(_onPointerDownPosition.x, _onPointerDownPosition.y));
3749
+ this.fData = {
3750
+ fOutputOrOutletId: this._fOutputOrOutlet.fId,
3751
+ };
3752
+ }
3753
+ prepareDragSequence() {
3754
+ this._getAndMarkCanBeConnectedInputs();
3755
+ this._initializeSnapConnection();
3756
+ this._initializeConnectionForCreate();
3757
+ this._fOutputWithRect = this._fMediator.execute(new GetConnectorAndRectRequest(this._fOutputOrOutlet));
3758
+ this._fConnection.show();
3759
+ this.onPointerMove(PointExtensions.initialize());
3760
+ this._fResult.setData({
3761
+ toConnectorRect: this._toConnectorRect,
3762
+ canBeConnectedInputs: this._canBeConnectedInputs,
3763
+ fOutputId: this._fOutputOrOutlet.fId,
3764
+ });
3765
+ }
3766
+ _getAndMarkCanBeConnectedInputs() {
3767
+ this._canBeConnectedInputs = this._fMediator.execute(new GetAllCanBeConnectedInputsAndRectsRequest(this._fOutputOrOutlet));
3768
+ this._fMediator.execute(new MarkAllCanBeConnectedInputsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
3769
+ }
3770
+ _initializeSnapConnection() {
3771
+ if (!this._fSnapConnection) {
3772
+ return;
3773
+ }
3774
+ this._fSnapConnection.fOutputId = this._fOutputOrOutlet.fId;
3775
+ this._fSnapConnection.initialize();
3776
+ }
3777
+ _initializeConnectionForCreate() {
3778
+ this._fConnection.fOutputId = this._fOutputOrOutlet.fId;
3779
+ this._fConnection.initialize();
3780
+ }
3781
+ onPointerMove(difference) {
3436
3782
  const fClosestInput = this._findClosestInput(difference);
3437
3783
  this._drawConnectionForCreate(this._toConnectorRect.addPoint(difference), fClosestInput?.fConnector.fConnectableSide || EFConnectableSide.TOP);
3438
3784
  if (this._fSnapConnection) {
@@ -3467,26 +3813,15 @@ class CreateConnectionDragHandler {
3467
3813
  this._fSnapConnection?.hide();
3468
3814
  this._fMediator.execute(new UnmarkAllCanBeConnectedInputsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
3469
3815
  }
3470
- getData() {
3471
- return {
3472
- toConnectorRect: this._toConnectorRect,
3473
- fOutputId: this._fOutputOrOutlet.fId,
3474
- canBeConnectedInputs: this._canBeConnectedInputs
3475
- };
3476
- }
3477
3816
  }
3478
3817
 
3479
- let CreateConnectionFinalizeExecution = class CreateConnectionFinalizeExecution {
3480
- fComponentsStore;
3481
- fDraggableDataContext;
3482
- fMediator;
3818
+ let FCreateConnectionFinalizeExecution = class FCreateConnectionFinalizeExecution {
3819
+ _fResult = inject(FDragHandlerResult);
3820
+ _fMediator = inject(FMediator);
3821
+ _fComponentsStore = inject(FComponentsStore);
3822
+ _fDraggableDataContext = inject(FDraggableDataContext);
3483
3823
  get _fDragHandler() {
3484
- return this.fDraggableDataContext.draggableItems[0];
3485
- }
3486
- constructor(fComponentsStore, fDraggableDataContext, fMediator) {
3487
- this.fComponentsStore = fComponentsStore;
3488
- this.fDraggableDataContext = fDraggableDataContext;
3489
- this.fMediator = fMediator;
3824
+ return this._fDraggableDataContext.draggableItems[0];
3490
3825
  }
3491
3826
  handle(request) {
3492
3827
  if (!this._isValid()) {
@@ -3496,40 +3831,37 @@ let CreateConnectionFinalizeExecution = class CreateConnectionFinalizeExecution
3496
3831
  this._fDragHandler.onPointerUp();
3497
3832
  }
3498
3833
  _isValid() {
3499
- return this.fDraggableDataContext.draggableItems.some((x) => x instanceof CreateConnectionDragHandler);
3834
+ return this._fDraggableDataContext.draggableItems.some((x) => x instanceof FCreateConnectionDragHandler);
3500
3835
  }
3501
3836
  getTargetOutput(output) {
3502
3837
  if (!output) {
3503
- throw OutputNotFound(this._getDragHandlerData().fOutputId);
3838
+ throw OutputNotFound(this._fResult.getData().fOutputId);
3504
3839
  }
3505
- return isNodeOutlet(output.hostElement) ? this.fMediator.execute(new GetCanBeConnectedOutputByOutletRequest(output)) : output;
3840
+ return isNodeOutlet(output.hostElement) ? this._fMediator.execute(new GetFirstConnectableOutputRequest(output)) : output;
3506
3841
  }
3507
3842
  getOutput() {
3508
- return this.fComponentsStore.fOutputs.find((x) => x.fId === this._getDragHandlerData().fOutputId);
3843
+ return this._fComponentsStore.fOutputs.find((x) => x.fId === this._fResult.getData().fOutputId);
3509
3844
  }
3510
3845
  getOutlet() {
3511
- return this.fComponentsStore.fOutlets.find((x) => x.fId === this._getDragHandlerData().fOutputId);
3846
+ return this._fComponentsStore.fOutlets.find((x) => x.fId === this._fResult.getData().fOutputId);
3512
3847
  }
3513
3848
  emitEvent(event) {
3514
- this.fComponentsStore.fDraggable?.fCreateConnection.emit(new FCreateConnectionEvent(this.getTargetOutput(this.getOutput() || this.getOutlet()).fId, this._getInputUnderPointer(event)?.fId, event.getPosition()));
3849
+ this._fComponentsStore.fDraggable?.fCreateConnection.emit(new FCreateConnectionEvent(this.getTargetOutput(this.getOutput() || this.getOutlet()).fId, this._getInputUnderPointer(event)?.fId, event.getPosition()));
3515
3850
  }
3516
3851
  _getInputUnderPointer(event) {
3517
- return this.fMediator.execute(new FindInputAtPositionRequest(event.getPosition(), this._getDragHandlerData().toConnectorRect, this._getDragHandlerData().canBeConnectedInputs));
3852
+ return this._fMediator.execute(new FindInputAtPositionRequest(event.getPosition(), this._fResult.getData().toConnectorRect, this._fResult.getData().canBeConnectedInputs));
3518
3853
  }
3519
- _getDragHandlerData() {
3520
- return this._fDragHandler.getData();
3521
- }
3522
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFinalizeExecution, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }, { token: i2$1.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
3523
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFinalizeExecution });
3854
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3855
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFinalizeExecution });
3524
3856
  };
3525
- CreateConnectionFinalizeExecution = __decorate([
3526
- FExecutionRegister(CreateConnectionFinalizeRequest)
3527
- ], CreateConnectionFinalizeExecution);
3528
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFinalizeExecution, decorators: [{
3857
+ FCreateConnectionFinalizeExecution = __decorate([
3858
+ FExecutionRegister(FCreateConnectionFinalizeRequest)
3859
+ ], FCreateConnectionFinalizeExecution);
3860
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFinalizeExecution, decorators: [{
3529
3861
  type: Injectable
3530
- }], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: i2$1.FMediator }] });
3862
+ }] });
3531
3863
 
3532
- class CreateConnectionDragHandlerPreparationRequest {
3864
+ class FCreateConnectionDragHandlerPreparationRequest {
3533
3865
  onPointerDownPosition;
3534
3866
  fOutputOrOutlet;
3535
3867
  constructor(onPointerDownPosition, fOutputOrOutlet) {
@@ -3538,7 +3870,7 @@ class CreateConnectionDragHandlerPreparationRequest {
3538
3870
  }
3539
3871
  }
3540
3872
 
3541
- let CreateConnectionDragHandlerPreparationExecution = class CreateConnectionDragHandlerPreparationExecution {
3873
+ let FCreateConnectionDragHandlerPreparationExecution = class FCreateConnectionDragHandlerPreparationExecution {
3542
3874
  _fComponentsStore = inject(FComponentsStore);
3543
3875
  _fDraggableDataContext = inject(FDraggableDataContext);
3544
3876
  get _fHost() {
@@ -3555,20 +3887,20 @@ let CreateConnectionDragHandlerPreparationExecution = class CreateConnectionDrag
3555
3887
  const positionRelativeToCanvasComponent = Point.fromPoint(positionRelativeToFlowComponent).mult(this._transform.scale)
3556
3888
  .sub(this._transform.position).sub(this._transform.scaledPosition).div(this._transform.scale);
3557
3889
  this._fDraggableDataContext.draggableItems = [
3558
- new CreateConnectionDragHandler(request.fOutputOrOutlet, positionRelativeToCanvasComponent)
3890
+ new FCreateConnectionDragHandler(request.fOutputOrOutlet, positionRelativeToCanvasComponent)
3559
3891
  ];
3560
3892
  }
3561
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionDragHandlerPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3562
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionDragHandlerPreparationExecution });
3893
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionDragHandlerPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3894
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionDragHandlerPreparationExecution });
3563
3895
  };
3564
- CreateConnectionDragHandlerPreparationExecution = __decorate([
3565
- FExecutionRegister(CreateConnectionDragHandlerPreparationRequest)
3566
- ], CreateConnectionDragHandlerPreparationExecution);
3567
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionDragHandlerPreparationExecution, decorators: [{
3896
+ FCreateConnectionDragHandlerPreparationExecution = __decorate([
3897
+ FExecutionRegister(FCreateConnectionDragHandlerPreparationRequest)
3898
+ ], FCreateConnectionDragHandlerPreparationExecution);
3899
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionDragHandlerPreparationExecution, decorators: [{
3568
3900
  type: Injectable
3569
3901
  }] });
3570
3902
 
3571
- class CreateConnectionFromOutletPreparationRequest {
3903
+ class FCreateConnectionFromOutletPreparationRequest {
3572
3904
  event;
3573
3905
  fNode;
3574
3906
  constructor(event, fNode) {
@@ -3577,7 +3909,7 @@ class CreateConnectionFromOutletPreparationRequest {
3577
3909
  }
3578
3910
  }
3579
3911
 
3580
- let CreateConnectionFromOutletPreparationExecution = class CreateConnectionFromOutletPreparationExecution {
3912
+ let FCreateConnectionFromOutletPreparationExecution = class FCreateConnectionFromOutletPreparationExecution {
3581
3913
  _fMediator = inject(FMediator);
3582
3914
  _fComponentsStore = inject(FComponentsStore);
3583
3915
  handle(request) {
@@ -3607,22 +3939,22 @@ let CreateConnectionFromOutletPreparationExecution = class CreateConnectionFromO
3607
3939
  .filter((x) => fNode.isContains(x.hostElement));
3608
3940
  }
3609
3941
  _createDragHandler(position, fOutputOrOutlet) {
3610
- this._fMediator.execute(new CreateConnectionDragHandlerPreparationRequest(position, fOutputOrOutlet));
3942
+ this._fMediator.execute(new FCreateConnectionDragHandlerPreparationRequest(position, fOutputOrOutlet));
3611
3943
  }
3612
3944
  _getConnectableOutput(fOutlet) {
3613
- return this._fMediator.execute(new GetCanBeConnectedOutputByOutletRequest(fOutlet));
3945
+ return this._fMediator.execute(new GetFirstConnectableOutputRequest(fOutlet));
3614
3946
  }
3615
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFromOutletPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3616
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFromOutletPreparationExecution });
3947
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFromOutletPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3948
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFromOutletPreparationExecution });
3617
3949
  };
3618
- CreateConnectionFromOutletPreparationExecution = __decorate([
3619
- FExecutionRegister(CreateConnectionFromOutletPreparationRequest)
3620
- ], CreateConnectionFromOutletPreparationExecution);
3621
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFromOutletPreparationExecution, decorators: [{
3950
+ FCreateConnectionFromOutletPreparationExecution = __decorate([
3951
+ FExecutionRegister(FCreateConnectionFromOutletPreparationRequest)
3952
+ ], FCreateConnectionFromOutletPreparationExecution);
3953
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFromOutletPreparationExecution, decorators: [{
3622
3954
  type: Injectable
3623
3955
  }] });
3624
3956
 
3625
- class CreateConnectionFromOutputPreparationRequest {
3957
+ class FCreateConnectionFromOutputPreparationRequest {
3626
3958
  event;
3627
3959
  fNode;
3628
3960
  constructor(event, fNode) {
@@ -3631,7 +3963,7 @@ class CreateConnectionFromOutputPreparationRequest {
3631
3963
  }
3632
3964
  }
3633
3965
 
3634
- let CreateConnectionFromOutputPreparationExecution = class CreateConnectionFromOutputPreparationExecution {
3966
+ let FCreateConnectionFromOutputPreparationExecution = class FCreateConnectionFromOutputPreparationExecution {
3635
3967
  _fMediator = inject(FMediator);
3636
3968
  _fComponentsStore = inject(FComponentsStore);
3637
3969
  handle(request) {
@@ -3640,7 +3972,7 @@ let CreateConnectionFromOutputPreparationExecution = class CreateConnectionFromO
3640
3972
  }
3641
3973
  const fOutput = this._getOutput(request.event.targetElement);
3642
3974
  if (fOutput.canBeConnected) {
3643
- this._fMediator.execute(new CreateConnectionDragHandlerPreparationRequest(request.event.getPosition(), fOutput));
3975
+ this._fMediator.execute(new FCreateConnectionDragHandlerPreparationRequest(request.event.getPosition(), fOutput));
3644
3976
  }
3645
3977
  }
3646
3978
  _isValid(request) {
@@ -3661,17 +3993,17 @@ let CreateConnectionFromOutputPreparationExecution = class CreateConnectionFromO
3661
3993
  }
3662
3994
  return result;
3663
3995
  }
3664
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFromOutputPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3665
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFromOutputPreparationExecution });
3996
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFromOutputPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3997
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFromOutputPreparationExecution });
3666
3998
  };
3667
- CreateConnectionFromOutputPreparationExecution = __decorate([
3668
- FExecutionRegister(CreateConnectionFromOutputPreparationRequest)
3669
- ], CreateConnectionFromOutputPreparationExecution);
3670
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFromOutputPreparationExecution, decorators: [{
3999
+ FCreateConnectionFromOutputPreparationExecution = __decorate([
4000
+ FExecutionRegister(FCreateConnectionFromOutputPreparationRequest)
4001
+ ], FCreateConnectionFromOutputPreparationExecution);
4002
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFromOutputPreparationExecution, decorators: [{
3671
4003
  type: Injectable
3672
4004
  }] });
3673
4005
 
3674
- class CreateConnectionPreparationRequest {
4006
+ class FCreateConnectionPreparationRequest {
3675
4007
  event;
3676
4008
  fTrigger;
3677
4009
  constructor(event, fTrigger) {
@@ -3680,7 +4012,7 @@ class CreateConnectionPreparationRequest {
3680
4012
  }
3681
4013
  }
3682
4014
 
3683
- let CreateConnectionPreparationExecution = class CreateConnectionPreparationExecution {
4015
+ let FCreateConnectionPreparationExecution = class FCreateConnectionPreparationExecution {
3684
4016
  _fMediator = inject(FMediator);
3685
4017
  _fComponentsStore = inject(FComponentsStore);
3686
4018
  _fDraggableDataContext = inject(FDraggableDataContext);
@@ -3690,10 +4022,10 @@ let CreateConnectionPreparationExecution = class CreateConnectionPreparationExec
3690
4022
  return;
3691
4023
  }
3692
4024
  if (isNodeOutlet(request.event.targetElement)) {
3693
- this._fMediator.execute(new CreateConnectionFromOutletPreparationRequest(request.event, this._fNode));
4025
+ this._fMediator.execute(new FCreateConnectionFromOutletPreparationRequest(request.event, this._fNode));
3694
4026
  }
3695
4027
  else if (isNodeOutput(request.event.targetElement)) {
3696
- this._fMediator.execute(new CreateConnectionFromOutputPreparationRequest(request.event, this._fNode));
4028
+ this._fMediator.execute(new FCreateConnectionFromOutputPreparationRequest(request.event, this._fNode));
3697
4029
  }
3698
4030
  }
3699
4031
  _isValid(request) {
@@ -3707,25 +4039,28 @@ let CreateConnectionPreparationExecution = class CreateConnectionPreparationExec
3707
4039
  _isValidConditions() {
3708
4040
  return this._fDraggableDataContext.isEmpty() && !!this._fComponentsStore.fTempConnection;
3709
4041
  }
3710
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3711
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionPreparationExecution });
4042
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4043
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionPreparationExecution });
3712
4044
  };
3713
- CreateConnectionPreparationExecution = __decorate([
3714
- FExecutionRegister(CreateConnectionPreparationRequest)
3715
- ], CreateConnectionPreparationExecution);
3716
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionPreparationExecution, decorators: [{
4045
+ FCreateConnectionPreparationExecution = __decorate([
4046
+ FExecutionRegister(FCreateConnectionPreparationRequest)
4047
+ ], FCreateConnectionPreparationExecution);
4048
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionPreparationExecution, decorators: [{
3717
4049
  type: Injectable
3718
4050
  }] });
3719
4051
 
3720
- class ReassignConnectionFinalizeRequest {
4052
+ class FReassignConnectionFinalizeRequest {
3721
4053
  event;
3722
4054
  constructor(event) {
3723
4055
  this.event = event;
3724
4056
  }
3725
4057
  }
3726
4058
 
3727
- class ReassignConnectionDragHandler {
4059
+ class FReassignConnectionDragHandler {
3728
4060
  _fConnection;
4061
+ fEventType = 'reassign-connection';
4062
+ fData;
4063
+ _fResult = fInject((FDragHandlerResult));
3729
4064
  _fMediator = fInject(FMediator);
3730
4065
  _fComponentsStore = fInject(FComponentsStore);
3731
4066
  _toConnectorRect = new RoundedRect();
@@ -3752,12 +4087,20 @@ class ReassignConnectionDragHandler {
3752
4087
  constructor(_fConnection) {
3753
4088
  this._fConnection = _fConnection;
3754
4089
  this._toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(this._fConnection.line.point2.x, this._fConnection.line.point2.y));
4090
+ this.fData = {
4091
+ fConnectionId: this._fConnection.fId
4092
+ };
3755
4093
  }
3756
4094
  prepareDragSequence() {
3757
4095
  this._getAndMarkCanBeConnectedInputs();
3758
4096
  this._initializeSnapConnection();
3759
4097
  this._fOutputWithRect = this._fMediator.execute(new GetConnectorAndRectRequest(this._fOutput));
3760
4098
  this._fInputWithRect = this._fMediator.execute(new GetConnectorAndRectRequest(this._fInput));
4099
+ this._fResult.setData({
4100
+ toConnectorRect: this._toConnectorRect,
4101
+ canBeConnectedInputs: this._canBeConnectedInputs,
4102
+ fConnection: this._fConnection
4103
+ });
3761
4104
  }
3762
4105
  _getAndMarkCanBeConnectedInputs() {
3763
4106
  this._canBeConnectedInputs = this._fMediator.execute(new GetAllCanBeConnectedInputsAndRectsRequest(this._fOutput));
@@ -3810,16 +4153,6 @@ class ReassignConnectionDragHandler {
3810
4153
  this._fSnapConnection?.hide();
3811
4154
  this._fMediator.execute(new UnmarkAllCanBeConnectedInputsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
3812
4155
  }
3813
- getData() {
3814
- return {
3815
- toConnectorRect: this._toConnectorRect,
3816
- fOutputId: this._fConnection.fOutputId,
3817
- canBeConnectedInputs: this._canBeConnectedInputs
3818
- };
3819
- }
3820
- getConnection() {
3821
- return this._fConnection;
3822
- }
3823
4156
  }
3824
4157
 
3825
4158
  class FReassignConnectionEvent {
@@ -3837,7 +4170,8 @@ class FReassignConnectionEvent {
3837
4170
  }
3838
4171
  }
3839
4172
 
3840
- let ReassignConnectionFinalizeExecution = class ReassignConnectionFinalizeExecution {
4173
+ let FReassignConnectionFinalizeExecution = class FReassignConnectionFinalizeExecution {
4174
+ _fResult = inject(FDragHandlerResult);
3841
4175
  _fMediator = inject(FMediator);
3842
4176
  _fComponentsStore = inject(FComponentsStore);
3843
4177
  _fDraggableDataContext = inject(FDraggableDataContext);
@@ -3855,7 +4189,7 @@ let ReassignConnectionFinalizeExecution = class ReassignConnectionFinalizeExecut
3855
4189
  this._fDragHandler.onPointerUp();
3856
4190
  }
3857
4191
  _isDroppedConnectionReassignEvent() {
3858
- return this._fDraggableDataContext.draggableItems.some((x) => x instanceof ReassignConnectionDragHandler);
4192
+ return this._fDraggableDataContext.draggableItems.some((x) => x instanceof FReassignConnectionDragHandler);
3859
4193
  }
3860
4194
  _applyReassignEvent(event) {
3861
4195
  const fInput = this._getInputUnderPointer(event);
@@ -3865,32 +4199,29 @@ let ReassignConnectionFinalizeExecution = class ReassignConnectionFinalizeExecut
3865
4199
  this._emitReassignConnectionEvent(event, fInput);
3866
4200
  }
3867
4201
  _getInputUnderPointer(event) {
3868
- return this._fMediator.execute(new FindInputAtPositionRequest(event.getPosition(), this._getDragHandlerData().toConnectorRect, this._getDragHandlerData().canBeConnectedInputs));
4202
+ return this._fMediator.execute(new FindInputAtPositionRequest(event.getPosition(), this._fResult.getData().toConnectorRect, this._fResult.getData().canBeConnectedInputs));
3869
4203
  }
3870
4204
  _isReassignToDifferentInput(fInput) {
3871
- return this._fDragHandler.getConnection().fInputId !== fInput.fId;
4205
+ return this._fResult.getData().fConnection.fInputId !== fInput.fId;
3872
4206
  }
3873
4207
  _emitReassignConnectionEvent(event, fInput) {
3874
4208
  this._fDraggable.fReassignConnection.emit(this._getEventData(event, fInput));
3875
4209
  }
3876
4210
  _getEventData(event, fInput) {
3877
- const fConnection = this._fDragHandler.getConnection();
4211
+ const fConnection = this._fResult.getData().fConnection;
3878
4212
  return new FReassignConnectionEvent(fConnection.fId, fConnection.fOutputId, fConnection.fInputId, fInput?.fId, event.getPosition());
3879
4213
  }
3880
- _getDragHandlerData() {
3881
- return this._fDragHandler.getData();
3882
- }
3883
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3884
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeExecution });
4214
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FReassignConnectionFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4215
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FReassignConnectionFinalizeExecution });
3885
4216
  };
3886
- ReassignConnectionFinalizeExecution = __decorate([
3887
- FExecutionRegister(ReassignConnectionFinalizeRequest)
3888
- ], ReassignConnectionFinalizeExecution);
3889
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeExecution, decorators: [{
4217
+ FReassignConnectionFinalizeExecution = __decorate([
4218
+ FExecutionRegister(FReassignConnectionFinalizeRequest)
4219
+ ], FReassignConnectionFinalizeExecution);
4220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FReassignConnectionFinalizeExecution, decorators: [{
3890
4221
  type: Injectable
3891
4222
  }] });
3892
4223
 
3893
- class ReassignConnectionPreparationRequest {
4224
+ class FReassignConnectionPreparationRequest {
3894
4225
  event;
3895
4226
  fTrigger;
3896
4227
  constructor(event, fTrigger) {
@@ -3899,7 +4230,7 @@ class ReassignConnectionPreparationRequest {
3899
4230
  }
3900
4231
  }
3901
4232
 
3902
- let ReassignConnectionPreparationExecution = class ReassignConnectionPreparationExecution {
4233
+ let FReassignConnectionPreparationExecution = class FReassignConnectionPreparationExecution {
3903
4234
  _fMediator = inject(FMediator);
3904
4235
  _fComponentsStore = inject(FComponentsStore);
3905
4236
  _fDraggableDataContext = inject(FDraggableDataContext);
@@ -3921,7 +4252,7 @@ let ReassignConnectionPreparationExecution = class ReassignConnectionPreparation
3921
4252
  this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
3922
4253
  .elementTransform(this._fHost).div(this._transform.scale);
3923
4254
  this._fDraggableDataContext.draggableItems = [
3924
- new ReassignConnectionDragHandler(this._fConnection)
4255
+ new FReassignConnectionDragHandler(this._fConnection)
3925
4256
  ];
3926
4257
  setTimeout(() => this._updateConnectionLayer());
3927
4258
  }
@@ -3950,25 +4281,25 @@ let ReassignConnectionPreparationExecution = class ReassignConnectionPreparation
3950
4281
  _updateConnectionLayer() {
3951
4282
  this._fMediator.execute(new UpdateItemAndChildrenLayersRequest(this._fConnection, this._fComponentsStore.fCanvas.fConnectionsContainer.nativeElement));
3952
4283
  }
3953
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3954
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionPreparationExecution });
4284
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FReassignConnectionPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4285
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FReassignConnectionPreparationExecution });
3955
4286
  };
3956
- ReassignConnectionPreparationExecution = __decorate([
3957
- FExecutionRegister(ReassignConnectionPreparationRequest)
3958
- ], ReassignConnectionPreparationExecution);
3959
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionPreparationExecution, decorators: [{
4287
+ FReassignConnectionPreparationExecution = __decorate([
4288
+ FExecutionRegister(FReassignConnectionPreparationRequest)
4289
+ ], FReassignConnectionPreparationExecution);
4290
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FReassignConnectionPreparationExecution, decorators: [{
3960
4291
  type: Injectable
3961
4292
  }] });
3962
4293
 
3963
4294
  const CONNECTIONS_PROVIDERS = [
3964
- CreateConnectionFinalizeExecution,
3965
- CreateConnectionDragHandlerPreparationExecution,
3966
- CreateConnectionFromOutletPreparationExecution,
3967
- GetCanBeConnectedOutputByOutletExecution,
3968
- CreateConnectionFromOutputPreparationExecution,
3969
- CreateConnectionPreparationExecution,
3970
- ReassignConnectionFinalizeExecution,
3971
- ReassignConnectionPreparationExecution,
4295
+ FCreateConnectionFinalizeExecution,
4296
+ FCreateConnectionDragHandlerPreparationExecution,
4297
+ FCreateConnectionFromOutletPreparationExecution,
4298
+ GetFirstConnectableOutputExecution,
4299
+ FCreateConnectionFromOutputPreparationExecution,
4300
+ FCreateConnectionPreparationExecution,
4301
+ FReassignConnectionFinalizeExecution,
4302
+ FReassignConnectionPreparationExecution,
3972
4303
  ];
3973
4304
 
3974
4305
  class GetNormalizedParentNodeRectRequest {
@@ -4126,30 +4457,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
4126
4457
  type: Injectable
4127
4458
  }] });
4128
4459
 
4460
+ class FDragStartedEvent {
4461
+ fEventType;
4462
+ fData;
4463
+ constructor(fEventType, fData) {
4464
+ this.fEventType = fEventType;
4465
+ this.fData = fData;
4466
+ }
4467
+ }
4468
+
4129
4469
  const DRAG_AND_DROP_COMMON_PROVIDERS = [
4130
4470
  GetNormalizedParentNodeRectExecution,
4131
4471
  IsArrayHasParentNodeExecution,
4132
4472
  IsConnectionUnderNodeExecution,
4133
4473
  ];
4134
4474
 
4135
- class IsDragStartedRequest {
4136
- }
4137
-
4138
- let IsDragStartedExecution = class IsDragStartedExecution {
4139
- _fComponentsStore = inject(FComponentsStore);
4140
- handle(request) {
4141
- return !!this._fComponentsStore.fDraggable?.isDragStarted;
4142
- }
4143
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsDragStartedExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4144
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsDragStartedExecution });
4145
- };
4146
- IsDragStartedExecution = __decorate([
4147
- FExecutionRegister(IsDragStartedRequest)
4148
- ], IsDragStartedExecution);
4149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsDragStartedExecution, decorators: [{
4150
- type: Injectable
4151
- }] });
4152
-
4153
4475
  class BaseConnectionDragHandler {
4154
4476
  fConnection;
4155
4477
  _fMediator = fInject(FMediator);
@@ -4493,6 +4815,7 @@ class NodeDragHandler {
4493
4815
  fNode;
4494
4816
  fSourceHandlers;
4495
4817
  fTargetHandlers;
4818
+ fEventType = 'move-node';
4496
4819
  _onPointerDownPosition = PointExtensions.initialize();
4497
4820
  constructor(fNode, fSourceHandlers = [], fTargetHandlers = []) {
4498
4821
  this.fNode = fNode;
@@ -4561,6 +4884,8 @@ class SummaryNodeDragHandler {
4561
4884
  limits;
4562
4885
  fHandlers;
4563
4886
  commonRect;
4887
+ fEventType = 'move-node';
4888
+ fData;
4564
4889
  // private _fMediator = fInject(FMediator);
4565
4890
  _fComponentStore = fInject(FComponentsStore);
4566
4891
  _fBoundsLimiter;
@@ -4570,6 +4895,9 @@ class SummaryNodeDragHandler {
4570
4895
  this.commonRect = commonRect;
4571
4896
  //this._onPointerDownPosition = this._getDraggedNodesBoundingRect();
4572
4897
  this._fBoundsLimiter = new PointBoundsLimiter(this.commonRect, limits);
4898
+ this.fData = {
4899
+ fNodeIds: this.fHandlers.map((x) => x.fNode.fId)
4900
+ };
4573
4901
  }
4574
4902
  // private _getDraggedNodesBoundingRect(): IRect {
4575
4903
  // return RectExtensions.union(this.fHandlers.map((x) => {
@@ -4703,6 +5031,7 @@ class LineAlignmentDragHandler {
4703
5031
  _draggedNodeRect;
4704
5032
  _rects;
4705
5033
  _restrictions;
5034
+ fEventType = 'line-alignment';
4706
5035
  _fComponentsStore = fInject(FComponentsStore);
4707
5036
  _debounceTimer = null;
4708
5037
  _transform;
@@ -4913,6 +5242,7 @@ class NodeDragToParentDragHandler {
4913
5242
  fComponentsStore;
4914
5243
  fDraggableDataContext;
4915
5244
  notDraggedNodesRects;
5245
+ fEventType = 'move-node-to-parent';
4916
5246
  DEBOUNCE_TIME = 15;
4917
5247
  get _transform() {
4918
5248
  return this.fComponentsStore.fCanvas.transform;
@@ -5236,11 +5566,14 @@ let NodeMoveFinalizeExecution = class NodeMoveFinalizeExecution {
5236
5566
  }
5237
5567
  _applyLineAlignmentDifference(difference, intersection) {
5238
5568
  if (intersection) {
5239
- difference.x = intersection.xResult.value ? (difference.x - intersection.xResult.distance) : difference.x;
5240
- difference.y = intersection.yResult.value ? (difference.y - intersection.yResult.distance) : difference.y;
5569
+ difference.x = this._isIntersectValue(intersection.xResult) ? (difference.x - intersection.xResult.distance) : difference.x;
5570
+ difference.y = this._isIntersectValue(intersection.yResult) ? (difference.y - intersection.yResult.distance) : difference.y;
5241
5571
  }
5242
5572
  return difference;
5243
5573
  }
5574
+ _isIntersectValue(result) {
5575
+ return result.value !== undefined && result.value !== null;
5576
+ }
5244
5577
  _applyConnectionUnderDroppedNode() {
5245
5578
  if (this._isDraggedJustOneNode() && this._fComponentsStore.fDraggable?.fEmitOnNodeIntersect) {
5246
5579
  const fNode = this._getFirstNodeOrGroup();
@@ -5544,12 +5877,17 @@ class NodeResizeFinalizeRequest {
5544
5877
  class NodeResizeDragHandler {
5545
5878
  _fNode;
5546
5879
  _fResizeHandleType;
5880
+ fEventType = 'node-resize';
5881
+ fData;
5547
5882
  _fMediator = fInject(FMediator);
5548
5883
  _originalRect;
5549
5884
  _resizeRestrictions;
5550
5885
  constructor(_fNode, _fResizeHandleType) {
5551
5886
  this._fNode = _fNode;
5552
5887
  this._fResizeHandleType = _fResizeHandleType;
5888
+ this.fData = {
5889
+ fNodeId: _fNode.fId,
5890
+ };
5553
5891
  }
5554
5892
  prepareDragSequence() {
5555
5893
  this._originalRect = this._getOriginalNodeRect();
@@ -5700,7 +6038,7 @@ const NODE_RESIZE_PROVIDERS = [
5700
6038
  NodeResizePreparationExecution,
5701
6039
  ];
5702
6040
 
5703
- class SingleSelectRequest {
6041
+ class FSingleSelectRequest {
5704
6042
  event;
5705
6043
  fMultiSelectTrigger;
5706
6044
  constructor(event, fMultiSelectTrigger) {
@@ -5746,7 +6084,7 @@ class SingleSelectRequest {
5746
6084
  * - Adding or removing an element from the selection triggers the corresponding methods.
5747
6085
  * - Selection state is tracked in the shared context for future use.
5748
6086
  */
5749
- let SingleSelectExecution = class SingleSelectExecution {
6087
+ let FSingleSelectExecution = class FSingleSelectExecution {
5750
6088
  _fMediator = inject(FMediator);
5751
6089
  _fComponentsStore = inject(FComponentsStore);
5752
6090
  _fDraggableDataContext = inject(FDraggableDataContext);
@@ -5827,18 +6165,18 @@ let SingleSelectExecution = class SingleSelectExecution {
5827
6165
  fItem.markAsSelected();
5828
6166
  this._fDraggableDataContext.markSelectionAsChanged();
5829
6167
  }
5830
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SingleSelectExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5831
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SingleSelectExecution });
6168
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSingleSelectExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6169
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSingleSelectExecution });
5832
6170
  };
5833
- SingleSelectExecution = __decorate([
5834
- FExecutionRegister(SingleSelectRequest)
5835
- ], SingleSelectExecution);
5836
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SingleSelectExecution, decorators: [{
6171
+ FSingleSelectExecution = __decorate([
6172
+ FExecutionRegister(FSingleSelectRequest)
6173
+ ], FSingleSelectExecution);
6174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSingleSelectExecution, decorators: [{
5837
6175
  type: Injectable
5838
6176
  }] });
5839
6177
 
5840
6178
  const SINGLE_SELECT_PROVIDERS = [
5841
- SingleSelectExecution,
6179
+ FSingleSelectExecution,
5842
6180
  ];
5843
6181
 
5844
6182
  class FDraggableBase extends DragAndDropBase {
@@ -5852,48 +6190,169 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
5852
6190
  type: Directive
5853
6191
  }], ctorParameters: () => [{ type: undefined }] });
5854
6192
 
5855
- class ExternalItemFinalizeRequest {
5856
- event;
5857
- constructor(event) {
5858
- this.event = event;
6193
+ class FExternalItemCreatePlaceholderRequest {
6194
+ fExternalItem;
6195
+ constructor(fExternalItem) {
6196
+ this.fExternalItem = fExternalItem;
5859
6197
  }
5860
6198
  }
5861
6199
 
5862
- class ExternalItemDragHandler {
5863
- externalItem;
5864
- _fBrowser = fInject(BrowserService);
5865
- placeholder;
5866
- onPointerDownRect = RectExtensions.initialize();
5867
- difference = PointExtensions.initialize();
5868
- constructor(externalItem) {
5869
- this.externalItem = externalItem;
6200
+ let FExternalItemCreatePlaceholderExecution = class FExternalItemCreatePlaceholderExecution {
6201
+ _fBrowser = inject(BrowserService);
6202
+ _containerRef = inject(ViewContainerRef);
6203
+ handle(request) {
6204
+ const { hostElement, fPlaceholder } = request.fExternalItem;
6205
+ const result = fPlaceholder ?
6206
+ this._fromTemplate(fPlaceholder) :
6207
+ this._fromHost(hostElement);
6208
+ result.classList.add('f-external-item-placeholder');
6209
+ result.style.pointerEvents = 'none';
6210
+ return result;
5870
6211
  }
5871
- getStyle(position) {
5872
- return `position: absolute; left: 0; top: 0; transform: translate(${position.x}px, ${position.y}px)`;
6212
+ _fromTemplate(template) {
6213
+ return getOrCreateRootNodeForViewRef(this._createViewRef(template), this._fBrowser.document);
5873
6214
  }
5874
- prepareDragSequence() {
5875
- this.onPointerDownRect = this.getExternalItemRect();
5876
- this.placeholder = deepCloneNode(this.externalItem.hostElement);
5877
- this.placeholder.setAttribute('style', this.getStyle(Point.fromPoint(this.onPointerDownRect)));
5878
- this._fBrowser.document.body.appendChild(this.placeholder);
6215
+ _fromHost(element) {
6216
+ return deepCloneNode(element);
5879
6217
  }
5880
- getExternalItemRect() {
5881
- const rect = this.externalItem.hostElement.getBoundingClientRect();
5882
- const scrollTop = this._fBrowser.window.pageYOffset || this._fBrowser.document.documentElement.scrollTop;
5883
- const scrollLeft = this._fBrowser.window.pageXOffset || this._fBrowser.document.documentElement.scrollLeft;
6218
+ _createViewRef(template) {
6219
+ const result = this._containerRef.createEmbeddedView(template);
6220
+ result.detectChanges();
6221
+ return result;
6222
+ }
6223
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemCreatePlaceholderExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6224
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemCreatePlaceholderExecution });
6225
+ };
6226
+ FExternalItemCreatePlaceholderExecution = __decorate([
6227
+ FExecutionRegister(FExternalItemCreatePlaceholderRequest)
6228
+ ], FExternalItemCreatePlaceholderExecution);
6229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemCreatePlaceholderExecution, decorators: [{
6230
+ type: Injectable
6231
+ }] });
6232
+
6233
+ class FExternalItemCreatePreviewRequest {
6234
+ fExternalItem;
6235
+ constructor(fExternalItem) {
6236
+ this.fExternalItem = fExternalItem;
6237
+ }
6238
+ }
6239
+
6240
+ let FExternalItemCreatePreviewExecution = class FExternalItemCreatePreviewExecution {
6241
+ _fBrowser = inject(BrowserService);
6242
+ _containerRef = inject(ViewContainerRef);
6243
+ handle(request) {
6244
+ const { hostElement, fPreview } = request.fExternalItem;
6245
+ const result = fPreview ?
6246
+ this._fromTemplate(fPreview) :
6247
+ this._fromHost(hostElement);
6248
+ this._setPreviewStyles(result);
6249
+ disableDragInteractions(result);
6250
+ result.classList.add('f-external-item-preview');
6251
+ return result;
6252
+ }
6253
+ _fromTemplate(template) {
6254
+ return getOrCreateRootNodeForViewRef(this._createViewRef(template), this._fBrowser.document);
6255
+ }
6256
+ _fromHost(element) {
6257
+ return deepCloneNode(element);
6258
+ }
6259
+ _createViewRef(template) {
6260
+ const result = this._containerRef.createEmbeddedView(template);
6261
+ result.detectChanges();
6262
+ return result;
6263
+ }
6264
+ _setPreviewStyles(element) {
6265
+ extendStyles(element.style, {
6266
+ 'pointer-events': 'none',
6267
+ 'margin': 'showPopover' in element ? '0 auto 0 0' : '0',
6268
+ 'position': 'fixed',
6269
+ 'top': '0',
6270
+ 'left': '0',
6271
+ 'z-index': '1000',
6272
+ }, new Set(['position',]));
6273
+ }
6274
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemCreatePreviewExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6275
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemCreatePreviewExecution });
6276
+ };
6277
+ FExternalItemCreatePreviewExecution = __decorate([
6278
+ FExecutionRegister(FExternalItemCreatePreviewRequest)
6279
+ ], FExternalItemCreatePreviewExecution);
6280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemCreatePreviewExecution, decorators: [{
6281
+ type: Injectable
6282
+ }] });
6283
+
6284
+ class FExternalItemFinalizeRequest {
6285
+ event;
6286
+ constructor(event) {
6287
+ this.event = event;
6288
+ }
6289
+ }
6290
+
6291
+ class FExternalItemDragHandler {
6292
+ _fExternalItem;
6293
+ fEventType = 'external-item';
6294
+ fData;
6295
+ _fResult = fInject((FDragHandlerResult));
6296
+ _fMediator = fInject(FMediator);
6297
+ _fBrowser = fInject(BrowserService);
6298
+ _preview;
6299
+ _placeholder;
6300
+ _onPointerDownRect = RectExtensions.initialize();
6301
+ get _fItemHost() {
6302
+ return this._fExternalItem.hostElement;
6303
+ }
6304
+ constructor(_fExternalItem) {
6305
+ this._fExternalItem = _fExternalItem;
6306
+ this.fData = { fData: _fExternalItem.fData };
6307
+ }
6308
+ prepareDragSequence() {
6309
+ this._onPointerDownRect = this._getExternalItemRect();
6310
+ this._createAndAppendPreview();
6311
+ this._createAndAppendPlaceholder();
6312
+ this._setFResultData();
6313
+ }
6314
+ _createAndAppendPreview() {
6315
+ this._preview = this._fMediator.execute(new FExternalItemCreatePreviewRequest(this._fExternalItem));
6316
+ if (this._fExternalItem.fPreviewMatchSize) {
6317
+ this._matchElementSize(this._preview, this._onPointerDownRect);
6318
+ }
6319
+ this._preview.style.transform = setTransform(this._onPointerDownRect);
6320
+ this._fBrowser.document.body.appendChild(this._preview);
6321
+ }
6322
+ _createAndAppendPlaceholder() {
6323
+ this._placeholder = this._fMediator.execute(new FExternalItemCreatePlaceholderRequest(this._fExternalItem));
6324
+ this._fItemHost.parentElement.replaceChild(this._placeholder, this._fItemHost);
6325
+ }
6326
+ _matchElementSize(target, sourceRect) {
6327
+ target.style.width = `${sourceRect.width}px`;
6328
+ target.style.height = `${sourceRect.height}px`;
6329
+ }
6330
+ _setFResultData() {
6331
+ this._fResult.setData({
6332
+ preview: this._preview,
6333
+ fExternalItem: this._fExternalItem,
6334
+ });
6335
+ }
6336
+ _getExternalItemRect() {
6337
+ const rect = this._fExternalItem.hostElement.getBoundingClientRect();
6338
+ const scrollTop = this._fBrowser.window.pageYOffset || this._fBrowser.document.documentElement.scrollTop;
6339
+ const scrollLeft = this._fBrowser.window.pageXOffset || this._fBrowser.document.documentElement.scrollLeft;
5884
6340
  const offsetTop = rect.top + scrollTop;
5885
6341
  const offsetLeft = rect.left + scrollLeft;
5886
6342
  return RectExtensions.initialize(offsetLeft, offsetTop, rect.width, rect.height);
5887
6343
  }
5888
6344
  onPointerMove(difference) {
5889
- this.difference = difference;
5890
- const position = Point.fromPoint(this.onPointerDownRect).add(this.difference);
5891
- this.placeholder.setAttribute('style', this.getStyle(position));
6345
+ const position = Point.fromPoint(this._onPointerDownRect).add(difference);
6346
+ this._preview.style.transform = setTransform(position);
5892
6347
  }
5893
6348
  onPointerUp() {
5894
- this._fBrowser.document.body.removeChild(this.placeholder);
6349
+ this._fBrowser.document.body.removeChild(this._preview);
6350
+ this._placeholder.parentElement.replaceChild(this._fItemHost, this._placeholder);
5895
6351
  }
5896
6352
  }
6353
+ function setTransform({ x, y }) {
6354
+ return `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`;
6355
+ }
5897
6356
 
5898
6357
  class FCreateNodeEvent {
5899
6358
  rect;
@@ -5904,73 +6363,64 @@ class FCreateNodeEvent {
5904
6363
  }
5905
6364
  }
5906
6365
 
5907
- let ExternalItemFinalizeExecution = class ExternalItemFinalizeExecution {
5908
- fComponentsStore;
5909
- fDraggableDataContext;
5910
- fMediator;
5911
- fBrowser;
5912
- get flowHost() {
5913
- return this.fComponentsStore.fFlow.hostElement;
5914
- }
5915
- get fCreateNode() {
5916
- return this.fComponentsStore.fDraggable.fCreateNode;
6366
+ let FExternalItemFinalizeExecution = class FExternalItemFinalizeExecution {
6367
+ _fResult = inject(FDragHandlerResult);
6368
+ _fMediator = inject(FMediator);
6369
+ _fComponentsStore = inject(FComponentsStore);
6370
+ _fDraggableDataContext = inject(FDraggableDataContext);
6371
+ _fBrowser = inject(BrowserService);
6372
+ get _fHost() {
6373
+ return this._fComponentsStore.fFlow.hostElement;
5917
6374
  }
5918
- get dragHandler() {
5919
- return this.fDraggableDataContext.draggableItems[0];
6375
+ get _fCreateNode() {
6376
+ return this._fComponentsStore.fDraggable.fCreateNode;
5920
6377
  }
5921
- constructor(fComponentsStore, fDraggableDataContext, fMediator, fBrowser) {
5922
- this.fComponentsStore = fComponentsStore;
5923
- this.fDraggableDataContext = fDraggableDataContext;
5924
- this.fMediator = fMediator;
5925
- this.fBrowser = fBrowser;
6378
+ get _fDragHandler() {
6379
+ return this._fDraggableDataContext.draggableItems[0];
5926
6380
  }
5927
6381
  handle(request) {
5928
6382
  if (!this._isValid()) {
5929
6383
  return;
5930
6384
  }
5931
- this.emitEvent(this.getExternalItemElementsFromPoint(request.event.getPosition()));
5932
- this.dragHandler.onPointerUp();
6385
+ this._emitEvent(this._getElementsFromPoint(request.event.getPosition()));
6386
+ this._fDragHandler.onPointerUp();
5933
6387
  }
5934
6388
  _isValid() {
5935
- return this.fDraggableDataContext.draggableItems.some((x) => x instanceof ExternalItemDragHandler);
6389
+ return this._fDraggableDataContext.draggableItems.some((x) => x instanceof FExternalItemDragHandler);
5936
6390
  }
5937
- getExternalItemElementsFromPoint(position) {
5938
- return this.fBrowser.document.elementsFromPoint(position.x, position.y)
5939
- .filter(x => !x.closest('.f-external-item'));
6391
+ _getElementsFromPoint(position) {
6392
+ return this._fBrowser.document.elementsFromPoint(position.x, position.y)
6393
+ .filter(x => !x.closest('.f-external-item') && !x.closest('.f-external-item-preview'));
5940
6394
  }
5941
- emitEvent(elements) {
6395
+ _emitEvent(elements) {
5942
6396
  if (this.isPointerInCanvasRect(elements)) {
5943
- this.fCreateNode.emit(new FCreateNodeEvent(this.getRectInCanvas(), this.dragHandler.externalItem.fData));
6397
+ this._fCreateNode.emit(new FCreateNodeEvent(this._getPreviewRect(), this._fResult.getData().fExternalItem.fData));
5944
6398
  }
5945
6399
  }
5946
6400
  isPointerInCanvasRect(elements) {
5947
- return elements.length ? this.flowHost.contains(elements[0]) : false;
6401
+ return elements.length ? this._fHost.contains(elements[0]) : false;
5948
6402
  }
5949
- getRectInCanvas() {
5950
- return this.fMediator.execute(new GetNormalizedElementRectRequest(this.dragHandler.placeholder, false));
6403
+ _getPreviewRect() {
6404
+ return this._fMediator.execute(new GetNormalizedElementRectRequest(this._fResult.getData().preview, false));
5951
6405
  }
5952
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeExecution, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }, { token: i2$1.FMediator }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Injectable });
5953
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeExecution });
6406
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6407
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemFinalizeExecution });
5954
6408
  };
5955
- ExternalItemFinalizeExecution = __decorate([
5956
- FExecutionRegister(ExternalItemFinalizeRequest)
5957
- ], ExternalItemFinalizeExecution);
5958
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeExecution, decorators: [{
6409
+ FExternalItemFinalizeExecution = __decorate([
6410
+ FExecutionRegister(FExternalItemFinalizeRequest)
6411
+ ], FExternalItemFinalizeExecution);
6412
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemFinalizeExecution, decorators: [{
5959
6413
  type: Injectable
5960
- }], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: i2$1.FMediator }, { type: i1.BrowserService }] });
5961
-
5962
- const EXTERNAL_ITEM_FINALIZE_PROVIDERS = [
5963
- ExternalItemFinalizeExecution,
5964
- ];
6414
+ }] });
5965
6415
 
5966
- class ExternalItemPreparationRequest {
6416
+ class FExternalItemPreparationRequest {
5967
6417
  event;
5968
6418
  constructor(event) {
5969
6419
  this.event = event;
5970
6420
  }
5971
6421
  }
5972
6422
 
5973
- let ExternalItemPreparationExecution = class ExternalItemPreparationExecution {
6423
+ let FExternalItemPreparationExecution = class FExternalItemPreparationExecution {
5974
6424
  _fExternalItemService = inject(FExternalItemService);
5975
6425
  _fDraggableDataContext = inject(FDraggableDataContext);
5976
6426
  _fComponentsStore = inject(FComponentsStore);
@@ -5984,7 +6434,7 @@ let ExternalItemPreparationExecution = class ExternalItemPreparationExecution {
5984
6434
  this._fDraggableDataContext.onPointerDownScale = 1;
5985
6435
  this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition()).elementTransform(this._fHost);
5986
6436
  this._fDraggableDataContext.draggableItems = [
5987
- new ExternalItemDragHandler(this._getExternalItem(request.event.targetElement))
6437
+ new FExternalItemDragHandler(this._getExternalItem(request.event.targetElement))
5988
6438
  ];
5989
6439
  }
5990
6440
  _isValid(request) {
@@ -5996,20 +6446,16 @@ let ExternalItemPreparationExecution = class ExternalItemPreparationExecution {
5996
6446
  _getExternalItem(targetElement) {
5997
6447
  return this._fExternalItemService.getItem(getExternalItem(targetElement));
5998
6448
  }
5999
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6000
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemPreparationExecution });
6449
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6450
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemPreparationExecution });
6001
6451
  };
6002
- ExternalItemPreparationExecution = __decorate([
6003
- FExecutionRegister(ExternalItemPreparationRequest)
6004
- ], ExternalItemPreparationExecution);
6005
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemPreparationExecution, decorators: [{
6452
+ FExternalItemPreparationExecution = __decorate([
6453
+ FExecutionRegister(FExternalItemPreparationRequest)
6454
+ ], FExternalItemPreparationExecution);
6455
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemPreparationExecution, decorators: [{
6006
6456
  type: Injectable
6007
6457
  }] });
6008
6458
 
6009
- const EXTERNAL_ITEM_PREPARATION_PROVIDERS = [
6010
- ExternalItemPreparationExecution,
6011
- ];
6012
-
6013
6459
  class PreventDefaultIsExternalItemRequest {
6014
6460
  event;
6015
6461
  constructor(event) {
@@ -6055,12 +6501,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6055
6501
  }] });
6056
6502
 
6057
6503
  const F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS = [
6058
- ...EXTERNAL_ITEM_FINALIZE_PROVIDERS,
6059
- ...EXTERNAL_ITEM_PREPARATION_PROVIDERS,
6504
+ FExternalItemCreatePlaceholderExecution,
6505
+ FExternalItemCreatePreviewExecution,
6506
+ FExternalItemFinalizeExecution,
6507
+ FExternalItemPreparationExecution,
6060
6508
  PreventDefaultIsExternalItemExecution,
6061
6509
  ];
6062
6510
 
6063
- const F_EXTERNAL_ITEM = new InjectionToken('F_EXTERNAL_ITEM');
6064
6511
  class FExternalItemBase {
6065
6512
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6066
6513
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FExternalItemBase, ngImport: i0 });
@@ -6070,17 +6517,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6070
6517
  }] });
6071
6518
 
6072
6519
  class FExternalItemService {
6073
- items = [];
6520
+ _items = [];
6074
6521
  registerItem(item) {
6075
- this.items.push(item);
6522
+ this._items.push(item);
6076
6523
  }
6077
6524
  getItem(element) {
6078
- return this.items.find(item => item.hostElement === element);
6525
+ return this._items.find(item => item.hostElement === element);
6079
6526
  }
6080
6527
  removeItem(item) {
6081
- const index = this.items.indexOf(item);
6528
+ const index = this._items.indexOf(item);
6082
6529
  if (index !== -1) {
6083
- this.items.splice(index, 1);
6530
+ this._items.splice(index, 1);
6084
6531
  }
6085
6532
  }
6086
6533
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -6093,23 +6540,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6093
6540
  }]
6094
6541
  }] });
6095
6542
 
6543
+ const F_EXTERNAL_ITEM = new InjectionToken('F_EXTERNAL_ITEM');
6544
+
6096
6545
  let uniqueId$3 = 0;
6097
6546
  class FExternalItemDirective extends FExternalItemBase {
6098
- elementReference;
6099
- fExternalItemService;
6547
+ _elementReference = inject(ElementRef);
6548
+ _fExternalItemService = inject(FExternalItemService);
6100
6549
  fExternalItemId = `f-external-item-${uniqueId$3++}`;
6101
6550
  get hostElement() {
6102
- return this.elementReference.nativeElement;
6551
+ return this._elementReference.nativeElement;
6103
6552
  }
6104
6553
  fData;
6105
6554
  fDisabled = false;
6106
- constructor(elementReference, fExternalItemService) {
6107
- super();
6108
- this.elementReference = elementReference;
6109
- this.fExternalItemService = fExternalItemService;
6110
- }
6555
+ fPreview;
6556
+ fPreviewMatchSize = true;
6557
+ fPlaceholder;
6111
6558
  ngOnInit() {
6112
- this.fExternalItemService.registerItem(this);
6559
+ this._fExternalItemService.registerItem(this);
6113
6560
  this.disablePointerEvents(Array.from(this.hostElement.children));
6114
6561
  }
6115
6562
  disablePointerEvents(children) {
@@ -6119,10 +6566,10 @@ class FExternalItemDirective extends FExternalItemBase {
6119
6566
  });
6120
6567
  }
6121
6568
  ngOnDestroy() {
6122
- this.fExternalItemService.removeItem(this);
6569
+ this._fExternalItemService.removeItem(this);
6123
6570
  }
6124
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemDirective, deps: [{ token: i0.ElementRef }, { token: FExternalItemService }], target: i0.ɵɵFactoryTarget.Directive });
6125
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FExternalItemDirective, selector: "[fExternalItem]", inputs: { fExternalItemId: "fExternalItemId", fData: "fData", fDisabled: "fDisabled" }, host: { properties: { "attr.id": "fExternalItemId", "class.f-external-item-disabled": "fDisabled" }, classAttribute: "f-component f-external-item" }, providers: [
6571
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6572
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.4", type: FExternalItemDirective, isStandalone: true, selector: "[fExternalItem]", inputs: { fExternalItemId: "fExternalItemId", fData: "fData", fDisabled: ["fDisabled", "fDisabled", booleanAttribute], fPreview: "fPreview", fPreviewMatchSize: ["fPreviewMatchSize", "fPreviewMatchSize", booleanAttribute], fPlaceholder: "fPlaceholder" }, host: { properties: { "attr.id": "fExternalItemId", "class.f-external-item-disabled": "fDisabled" }, classAttribute: "f-component f-external-item" }, providers: [
6126
6573
  { provide: F_EXTERNAL_ITEM, useExisting: FExternalItemDirective }
6127
6574
  ], usesInheritance: true, ngImport: i0 });
6128
6575
  }
@@ -6130,6 +6577,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6130
6577
  type: Directive,
6131
6578
  args: [{
6132
6579
  selector: "[fExternalItem]",
6580
+ standalone: true,
6133
6581
  host: {
6134
6582
  '[attr.id]': 'fExternalItemId',
6135
6583
  class: "f-component f-external-item",
@@ -6139,23 +6587,74 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6139
6587
  { provide: F_EXTERNAL_ITEM, useExisting: FExternalItemDirective }
6140
6588
  ],
6141
6589
  }]
6142
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: FExternalItemService }], propDecorators: { fExternalItemId: [{
6590
+ }], propDecorators: { fExternalItemId: [{
6143
6591
  type: Input
6144
6592
  }], fData: [{
6145
6593
  type: Input
6146
6594
  }], fDisabled: [{
6595
+ type: Input,
6596
+ args: [{ transform: booleanAttribute }]
6597
+ }], fPreview: [{
6598
+ type: Input
6599
+ }], fPreviewMatchSize: [{
6600
+ type: Input,
6601
+ args: [{ transform: booleanAttribute }]
6602
+ }], fPlaceholder: [{
6147
6603
  type: Input
6148
6604
  }] } });
6149
6605
 
6150
- const F_EXTERNAL_ITEM_PROVIDERS = [
6151
- FExternalItemDirective
6152
- ];
6606
+ class FExternalItemPlaceholderDirective {
6607
+ _fExternalItem = inject(F_EXTERNAL_ITEM);
6608
+ _templateRef = inject(TemplateRef);
6609
+ ngOnInit() {
6610
+ this._fExternalItem.fPlaceholder = this._templateRef;
6611
+ }
6612
+ ngOnDestroy() {
6613
+ this._fExternalItem.fPlaceholder = undefined;
6614
+ }
6615
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemPlaceholderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6616
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FExternalItemPlaceholderDirective, isStandalone: true, selector: "ng-template[fExternalItemPlaceholder]", host: { classAttribute: "f-component f-external-item-placeholder" }, ngImport: i0 });
6617
+ }
6618
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemPlaceholderDirective, decorators: [{
6619
+ type: Directive,
6620
+ args: [{
6621
+ selector: "ng-template[fExternalItemPlaceholder]",
6622
+ standalone: true,
6623
+ host: {
6624
+ class: "f-component f-external-item-placeholder",
6625
+ }
6626
+ }]
6627
+ }] });
6628
+
6629
+ class FExternalItemPreviewDirective {
6630
+ _fExternalItem = inject(F_EXTERNAL_ITEM);
6631
+ _templateRef = inject(TemplateRef);
6632
+ ngOnInit() {
6633
+ this._fExternalItem.fPreview = this._templateRef;
6634
+ }
6635
+ ngOnDestroy() {
6636
+ this._fExternalItem.fPreview = undefined;
6637
+ }
6638
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemPreviewDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6639
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FExternalItemPreviewDirective, isStandalone: true, selector: "ng-template[fExternalItemPreview]", host: { classAttribute: "f-component f-external-item-preview" }, ngImport: i0 });
6640
+ }
6641
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemPreviewDirective, decorators: [{
6642
+ type: Directive,
6643
+ args: [{
6644
+ selector: "ng-template[fExternalItemPreview]",
6645
+ standalone: true,
6646
+ host: {
6647
+ class: "f-component f-external-item-preview",
6648
+ },
6649
+ }]
6650
+ }] });
6153
6651
 
6154
6652
  const F_DRAG_AND_DROP_PLUGIN = new InjectionToken('F_DRAG_AND_DROP_PLUGIN');
6155
6653
 
6156
6654
  class FDraggableDirective extends FDraggableBase {
6157
6655
  _fBrowser;
6158
6656
  _elementReference = inject(ElementRef);
6657
+ _fResult = inject(FDragHandlerResult);
6159
6658
  _fMediator = inject(FMediator);
6160
6659
  _fPlatform = inject(PlatformService);
6161
6660
  _injector = inject(Injector);
@@ -6193,11 +6692,12 @@ class FDraggableDirective extends FDraggableBase {
6193
6692
  }
6194
6693
  onPointerDown(event) {
6195
6694
  FInjector.set(this._injector);
6695
+ this._fResult.clear();
6196
6696
  this._fMediator.execute(new InitializeDragSequenceRequest());
6197
6697
  this.plugins.forEach((p) => p.onPointerDown?.(event));
6198
- this._fMediator.execute(new SingleSelectRequest(event, this.fMultiSelectTrigger));
6199
- this._fMediator.execute(new ReassignConnectionPreparationRequest(event, this.fReassignConnectionTrigger));
6200
- this._fMediator.execute(new CreateConnectionPreparationRequest(event, this.fCreateConnectionTrigger));
6698
+ this._fMediator.execute(new FSingleSelectRequest(event, this.fMultiSelectTrigger));
6699
+ this._fMediator.execute(new FReassignConnectionPreparationRequest(event, this.fReassignConnectionTrigger));
6700
+ this._fMediator.execute(new FCreateConnectionPreparationRequest(event, this.fCreateConnectionTrigger));
6201
6701
  const isMouseLeftOrTouch = event.isMouseLeftButton();
6202
6702
  if (!isMouseLeftOrTouch) {
6203
6703
  this.finalizeDragSequence();
@@ -6209,8 +6709,8 @@ class FDraggableDirective extends FDraggableBase {
6209
6709
  this._fMediator.execute(new NodeResizePreparationRequest(event));
6210
6710
  this._fMediator.execute(new NodeMovePreparationRequest(event));
6211
6711
  this._fMediator.execute(new NodeDragToParentPreparationRequest(event));
6212
- this._fMediator.execute(new CanvasMovePreparationRequest(event));
6213
- this._fMediator.execute(new ExternalItemPreparationRequest(event));
6712
+ this._fMediator.execute(new FCanvasMovePreparationRequest(event));
6713
+ this._fMediator.execute(new FExternalItemPreparationRequest(event));
6214
6714
  this._fMediator.execute(new PrepareDragSequenceRequest());
6215
6715
  }
6216
6716
  onSelect(event) {
@@ -6222,19 +6722,20 @@ class FDraggableDirective extends FDraggableBase {
6222
6722
  }
6223
6723
  onPointerUp(event) {
6224
6724
  this.plugins.forEach((x) => x.onPointerUp?.(event));
6225
- this._fMediator.execute(new ReassignConnectionFinalizeRequest(event));
6226
- this._fMediator.execute(new CreateConnectionFinalizeRequest(event));
6725
+ this._fMediator.execute(new FReassignConnectionFinalizeRequest(event));
6726
+ this._fMediator.execute(new FCreateConnectionFinalizeRequest(event));
6227
6727
  this._fMediator.execute(new NodeResizeFinalizeRequest(event));
6228
6728
  this._fMediator.execute(new NodeMoveFinalizeRequest(event));
6229
6729
  this._fMediator.execute(new NodeDragToParentFinalizeRequest(event));
6230
- this._fMediator.execute(new CanvasMoveFinalizeRequest(event));
6231
- this._fMediator.execute(new ExternalItemFinalizeRequest(event));
6730
+ this._fMediator.execute(new FCanvasMoveFinalizeRequest(event));
6731
+ this._fMediator.execute(new FExternalItemFinalizeRequest(event));
6232
6732
  this._fMediator.execute(new EndDragSequenceRequest());
6233
6733
  FInjector.clear();
6234
6734
  }
6235
6735
  finalizeDragSequence() {
6236
6736
  this._fMediator.execute(new EmitSelectionChangeEventRequest());
6237
6737
  FInjector.clear();
6738
+ this._fResult.clear();
6238
6739
  }
6239
6740
  ngOnDestroy() {
6240
6741
  this._fMediator.execute(new RemoveDndFromStoreRequest());
@@ -6242,13 +6743,14 @@ class FDraggableDirective extends FDraggableBase {
6242
6743
  FInjector.clear();
6243
6744
  }
6244
6745
  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 });
6245
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.4", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled", booleanAttribute], fMultiSelectTrigger: "fMultiSelectTrigger", fReassignConnectionTrigger: "fReassignConnectionTrigger", fCreateConnectionTrigger: "fCreateConnectionTrigger", fEmitOnNodeIntersect: ["fEmitOnNodeIntersect", "fEmitOnNodeIntersect", booleanAttribute], vCellSize: ["vCellSize", "vCellSize", numberAttribute], hCellSize: ["hCellSize", "hCellSize", numberAttribute], fCellSizeWhileDragging: ["fCellSizeWhileDragging", "fCellSizeWhileDragging", booleanAttribute] }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup", fDragStarted: "fDragStarted", fDragEnded: "fDragEnded" }, queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
6746
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.4", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled", booleanAttribute], fMultiSelectTrigger: "fMultiSelectTrigger", fReassignConnectionTrigger: "fReassignConnectionTrigger", fCreateConnectionTrigger: "fCreateConnectionTrigger", fEmitOnNodeIntersect: ["fEmitOnNodeIntersect", "fEmitOnNodeIntersect", booleanAttribute], vCellSize: ["vCellSize", "vCellSize", numberAttribute], hCellSize: ["hCellSize", "hCellSize", numberAttribute], fCellSizeWhileDragging: ["fCellSizeWhileDragging", "fCellSizeWhileDragging", booleanAttribute] }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup", fDragStarted: "fDragStarted", fDragEnded: "fDragEnded" }, providers: [FDragHandlerResult], queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
6246
6747
  }
6247
6748
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDirective, decorators: [{
6248
6749
  type: Directive,
6249
6750
  args: [{
6250
6751
  selector: "f-flow[fDraggable]",
6251
- exportAs: 'fDraggable'
6752
+ exportAs: 'fDraggable',
6753
+ providers: [FDragHandlerResult]
6252
6754
  }]
6253
6755
  }], ctorParameters: () => [{ type: undefined, decorators: [{
6254
6756
  type: Inject,
@@ -6298,13 +6800,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6298
6800
  }] } });
6299
6801
 
6300
6802
  class FSelectionChangeEvent {
6301
- nodes;
6302
- groups;
6303
- connections;
6304
- constructor(nodes, groups, connections) {
6305
- this.nodes = nodes;
6306
- this.groups = groups;
6307
- this.connections = connections;
6803
+ fNodeIds;
6804
+ fGroupIds;
6805
+ fConnectionIds;
6806
+ constructor(fNodeIds, fGroupIds, fConnectionIds) {
6807
+ this.fNodeIds = fNodeIds;
6808
+ this.fGroupIds = fGroupIds;
6809
+ this.fConnectionIds = fConnectionIds;
6308
6810
  }
6309
6811
  }
6310
6812
 
@@ -6372,6 +6874,7 @@ class FMinimapDragHandler {
6372
6874
  canvasPosition;
6373
6875
  eventPoint;
6374
6876
  minimap;
6877
+ fEventType = 'minimap';
6375
6878
  lastDifference = null;
6376
6879
  constructor(fComponentsStore, fMediator, flowRect, canvasPosition, eventPoint, minimap) {
6377
6880
  this.fComponentsStore = fComponentsStore;
@@ -6674,6 +7177,7 @@ class SelectionAreaDragHandle {
6674
7177
  _fSelectionArea;
6675
7178
  _fDraggableDataContext;
6676
7179
  _fMediator;
7180
+ fEventType = 'selection-area';
6677
7181
  _canBeSelected = [];
6678
7182
  _selectedByMove = [];
6679
7183
  get _fCanvasPosition() {
@@ -6701,490 +7205,168 @@ class SelectionAreaDragHandle {
6701
7205
  this._selectedByMove = [];
6702
7206
  this._canBeSelected.forEach((item) => {
6703
7207
  item.element.unmarkAsSelected();
6704
- const fItemRect = RectExtensions.addPoint(item.fRect, this._fCanvasPosition);
6705
- const isIntersect = RectExtensions.intersectionWithRect(fItemRect, fSelectionAreaRect);
6706
- if (isIntersect) {
6707
- item.element.markAsSelected();
6708
- this._selectedByMove.push(item.element);
6709
- }
6710
- });
6711
- this._fMediator.execute(new NotifyTransformChangedRequest());
6712
- }
6713
- _getMinimumPoint(point1, point2) {
6714
- return PointExtensions.initialize(Math.min(point1.x, point2.x), Math.min(point1.y, point2.y));
6715
- }
6716
- onPointerUp() {
6717
- this._fSelectionArea.hide();
6718
- this._fDraggableDataContext.selectedItems.push(...this._selectedByMove);
6719
- if (this._selectedByMove.length > 0) {
6720
- this._fDraggableDataContext.isSelectedChanged = true;
6721
- }
6722
- }
6723
- }
6724
-
6725
- let SelectionAreaFinalizeExecution = class SelectionAreaFinalizeExecution {
6726
- _fDraggableDataContext = inject(FDraggableDataContext);
6727
- handle(request) {
6728
- if (!this._isValid()) {
6729
- return;
6730
- }
6731
- this._fDraggableDataContext.draggableItems.forEach((x) => {
6732
- x.onPointerUp?.();
6733
- });
6734
- }
6735
- _isValid() {
6736
- return this._fDraggableDataContext.draggableItems.some((x) => x instanceof SelectionAreaDragHandle);
6737
- }
6738
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6739
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaFinalizeExecution });
6740
- };
6741
- SelectionAreaFinalizeExecution = __decorate([
6742
- FExecutionRegister(SelectionAreaFinalizeRequest)
6743
- ], SelectionAreaFinalizeExecution);
6744
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaFinalizeExecution, decorators: [{
6745
- type: Injectable
6746
- }] });
6747
-
6748
- class SelectionAreaPreparationRequest {
6749
- event;
6750
- fSelectionArea;
6751
- fTrigger;
6752
- constructor(event, fSelectionArea, fTrigger) {
6753
- this.event = event;
6754
- this.fSelectionArea = fSelectionArea;
6755
- this.fTrigger = fTrigger;
6756
- }
6757
- }
6758
-
6759
- let SelectionAreaPreparationExecution = class SelectionAreaPreparationExecution {
6760
- _fMediator = inject(FMediator);
6761
- _fComponentsStore = inject(FComponentsStore);
6762
- _fDraggableDataContext = inject(FDraggableDataContext);
6763
- get _fHost() {
6764
- return this._fComponentsStore.fFlow.hostElement;
6765
- }
6766
- handle(request) {
6767
- if (!this._isValid(request)) {
6768
- return;
6769
- }
6770
- this._fDraggableDataContext.draggableItems = [
6771
- new SelectionAreaDragHandle(this._fComponentsStore, request.fSelectionArea, this._fDraggableDataContext, this._fMediator)
6772
- ];
6773
- this._fDraggableDataContext.onPointerDownScale = 1;
6774
- this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
6775
- .elementTransform(this._fHost);
6776
- }
6777
- _isValid(request) {
6778
- return this._fDraggableDataContext.isEmpty()
6779
- && isValidEventTrigger(request.event.originalEvent, request.fTrigger);
6780
- }
6781
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6782
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaPreparationExecution });
6783
- };
6784
- SelectionAreaPreparationExecution = __decorate([
6785
- FExecutionRegister(SelectionAreaPreparationRequest)
6786
- ], SelectionAreaPreparationExecution);
6787
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaPreparationExecution, decorators: [{
6788
- type: Injectable
6789
- }] });
6790
-
6791
- const F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS = [
6792
- SelectionAreaPreparationExecution,
6793
- SelectionAreaFinalizeExecution
6794
- ];
6795
-
6796
- class FSelectionAreaBase {
6797
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSelectionAreaBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6798
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FSelectionAreaBase, ngImport: i0 });
6799
- }
6800
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSelectionAreaBase, decorators: [{
6801
- type: Directive
6802
- }] });
6803
-
6804
- class FSelectionAreaComponent extends FSelectionAreaBase {
6805
- _fMediator = inject(FMediator);
6806
- _elementReference = inject(ElementRef);
6807
- fTrigger = (event) => {
6808
- return event.shiftKey;
6809
- };
6810
- get hostElement() {
6811
- return this._elementReference.nativeElement;
6812
- }
6813
- ngOnInit() {
6814
- this.hostElement.style.display = 'none';
6815
- }
6816
- hide() {
6817
- this.hostElement.style.display = 'none';
6818
- }
6819
- show() {
6820
- this.hostElement.style.display = 'block';
6821
- }
6822
- draw(object) {
6823
- const style = this.hostElement.style;
6824
- style.left = object.x + 'px';
6825
- style.top = object.y + 'px';
6826
- style.width = object.width + 'px';
6827
- style.height = object.height + 'px';
6828
- }
6829
- onPointerDown(event) {
6830
- this._fMediator.execute(new SelectionAreaPreparationRequest(event, this, this.fTrigger));
6831
- }
6832
- onPointerUp(event) {
6833
- this._fMediator.execute(new SelectionAreaFinalizeRequest(event));
6834
- }
6835
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSelectionAreaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
6836
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: FSelectionAreaComponent, selector: "f-selection-area", inputs: { fTrigger: "fTrigger" }, host: { classAttribute: "f-selection-area f-component" }, providers: [
6837
- { provide: F_DRAG_AND_DROP_PLUGIN, useExisting: FSelectionAreaComponent },
6838
- ], usesInheritance: true, ngImport: i0, template: ``, isInline: true, styles: [":host{position:absolute}\n"] });
6839
- }
6840
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSelectionAreaComponent, decorators: [{
6841
- type: Component,
6842
- args: [{ selector: "f-selection-area", template: ``, host: {
6843
- 'class': 'f-selection-area f-component'
6844
- }, providers: [
6845
- { provide: F_DRAG_AND_DROP_PLUGIN, useExisting: FSelectionAreaComponent },
6846
- ], styles: [":host{position:absolute}\n"] }]
6847
- }], propDecorators: { fTrigger: [{
6848
- type: Input
6849
- }] } });
6850
-
6851
- const F_SELECTION_AREA_PROVIDERS = [
6852
- FSelectionAreaComponent
6853
- ];
6854
-
6855
- const F_DRAGGABLE_PROVIDERS = [
6856
- ...CANVAS_PROVIDERS,
6857
- ...CONNECTIONS_PROVIDERS,
6858
- ...DRAG_AND_DROP_COMMON_PROVIDERS,
6859
- ...SINGLE_SELECT_PROVIDERS,
6860
- ...F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS,
6861
- ...NODE_PROVIDERS,
6862
- ...NODE_RESIZE_PROVIDERS,
6863
- ...F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS,
6864
- ...F_MINIMAP_DRAG_AND_DROP_PROVIDERS
6865
- ];
6866
-
6867
- let FindInputAtPositionExecution = class FindInputAtPositionExecution {
6868
- _fMediator = inject(FMediator);
6869
- _fComponentsStore = inject(FComponentsStore);
6870
- _fDraggableDataContext = inject(FDraggableDataContext);
6871
- _fBrowser = inject(BrowserService);
6872
- get _fNodes() {
6873
- return this._fComponentsStore.fNodes;
6874
- }
6875
- get _fSnapConnection() {
6876
- return this._fComponentsStore.fSnapConnection;
6877
- }
6878
- handle(payload) {
6879
- const fInputs = this._findInputsAtPosition(payload);
6880
- return fInputs.length > 0 ? fInputs[0] : undefined;
6881
- }
6882
- _findInputsAtPosition(request) {
6883
- const result = [];
6884
- result.push(...this._getConnectableInputsAtPosition(request));
6885
- const fClosestInput = this._calculateClosetInput(request);
6886
- if (fClosestInput) {
6887
- result.unshift(fClosestInput.fConnector);
6888
- }
6889
- const fInput = this._getFirstConnectableInputOfNodeAtPosition(request);
6890
- if (fInput) {
6891
- result.push(fInput);
6892
- }
6893
- return result;
6894
- }
6895
- _getConnectableInputsAtPosition(request) {
6896
- return request.canBeConnectedInputs.filter((x) => {
6897
- return RectExtensions.isIncludePoint(x.fRect, this._calculateDifference(request.pointerPosition));
6898
- }).map((x) => x.fConnector);
6899
- }
6900
- _calculateDifference(position) {
6901
- return Point.fromPoint(position)
6902
- .elementTransform(this._fComponentsStore.flowHost)
6903
- .div(this._fDraggableDataContext.onPointerDownScale)
6904
- .sub(this._fDraggableDataContext.onPointerDownPosition);
6905
- }
6906
- //if the closest input is valid, return it
6907
- _calculateClosetInput(request) {
6908
- if (!this._fSnapConnection) {
6909
- return undefined;
6910
- }
6911
- const position = Point.fromPoint(request.toConnectorRect).add(this._calculateDifference(request.pointerPosition));
6912
- const fClosestInput = this._fMediator.execute(new CalculateClosestInputRequest(position, request.canBeConnectedInputs));
6913
- return this._isValidClosestInput(fClosestInput) ? fClosestInput : undefined;
6914
- }
6915
- _isValidClosestInput(fClosestInput) {
6916
- return !!fClosestInput && fClosestInput.distance < this._fSnapConnection.fSnapThreshold;
6917
- }
6918
- //if node placed in position and fConnectOnNode is true, return the first connectable input of the node
6919
- _getFirstConnectableInputOfNodeAtPosition(request) {
6920
- return this._getElementsFromPoint(request.pointerPosition)
6921
- .map((x) => this._findConnectableNode(x))
6922
- .filter((x) => !!x)
6923
- .map((x) => this._findFirstConnectableInputOfNode(request.canBeConnectedInputs, x))
6924
- .find((x) => !!x);
6925
- }
6926
- _getElementsFromPoint(position) {
6927
- return this._fBrowser.document.elementsFromPoint(position.x, position.y);
6928
- }
6929
- _findConnectableNode(element) {
6930
- return this._fNodes.find((x) => x.isContains(element) && x.fConnectOnNode);
6931
- }
6932
- _findFirstConnectableInputOfNode(connectableInputs, fNode) {
6933
- return connectableInputs.find((x) => x.fConnector.fNodeId === fNode.fId)?.fConnector;
6934
- }
6935
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindInputAtPositionExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6936
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindInputAtPositionExecution });
6937
- };
6938
- FindInputAtPositionExecution = __decorate([
6939
- FExecutionRegister(FindInputAtPositionRequest)
6940
- ], FindInputAtPositionExecution);
6941
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindInputAtPositionExecution, decorators: [{
6942
- type: Injectable
6943
- }] });
6944
-
6945
- class GetAllCanBeConnectedInputsAndRectsRequest {
6946
- fOutputOrOutlet;
6947
- constructor(fOutputOrOutlet) {
6948
- this.fOutputOrOutlet = fOutputOrOutlet;
6949
- }
6950
- }
6951
-
6952
- class GetConnectorAndRectRequest {
6953
- fConnector;
6954
- constructor(fConnector) {
6955
- this.fConnector = fConnector;
6956
- }
6957
- }
6958
-
6959
- let GetConnectorAndRectExecution = class GetConnectorAndRectExecution {
6960
- _fMediator = inject(FMediator);
6961
- handle(request) {
6962
- return {
6963
- fConnector: request.fConnector,
6964
- fRect: this._getConnectorRect(request.fConnector)
6965
- };
6966
- }
6967
- _getConnectorRect(fConnector) {
6968
- return this._fMediator.execute(new GetNormalizedElementRectRequest(fConnector.hostElement, true));
6969
- }
6970
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorAndRectExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6971
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorAndRectExecution });
6972
- };
6973
- GetConnectorAndRectExecution = __decorate([
6974
- FExecutionRegister(GetConnectorAndRectRequest)
6975
- ], GetConnectorAndRectExecution);
6976
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorAndRectExecution, decorators: [{
6977
- type: Injectable
6978
- }] });
6979
-
6980
- let GetAllCanBeConnectedInputsAndRectsExecution = class GetAllCanBeConnectedInputsAndRectsExecution {
6981
- _fMediator = inject(FMediator);
6982
- _fComponentsStore = inject(FComponentsStore);
6983
- get _fInputs() {
6984
- return this._fComponentsStore.fInputs;
6985
- }
6986
- handle(payload) {
6987
- return this._getCanBeConnectedInputs(payload.fOutputOrOutlet).map((x) => {
6988
- return this._fMediator.execute(new GetConnectorAndRectRequest(x));
6989
- });
6990
- }
6991
- _getCanBeConnectedInputs(fOutputOrOutlet) {
6992
- let fInputs = [];
6993
- if (fOutputOrOutlet.canBeConnectedInputs?.length) {
6994
- fInputs = this._fInputs.filter((x) => fOutputOrOutlet.canBeConnectedInputs.includes(x.fId));
6995
- }
6996
- else {
6997
- fInputs = this._fInputs.filter((x) => x.canBeConnected);
6998
- if (!fOutputOrOutlet.isSelfConnectable) {
6999
- fInputs = this._filterSelfConnectable(fInputs, fOutputOrOutlet);
7000
- }
7001
- }
7002
- return fInputs;
7003
- }
7004
- _filterSelfConnectable(fInputs, fOutputOrOutlet) {
7005
- return fInputs.filter((x) => fOutputOrOutlet.fNodeId !== x.fNodeId);
7006
- }
7007
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetAllCanBeConnectedInputsAndRectsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7008
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetAllCanBeConnectedInputsAndRectsExecution });
7009
- };
7010
- GetAllCanBeConnectedInputsAndRectsExecution = __decorate([
7011
- FExecutionRegister(GetAllCanBeConnectedInputsAndRectsRequest)
7012
- ], GetAllCanBeConnectedInputsAndRectsExecution);
7013
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetAllCanBeConnectedInputsAndRectsExecution, decorators: [{
7014
- type: Injectable
7015
- }] });
7016
-
7017
- class MarkAllCanBeConnectedInputsRequest {
7018
- fInputs;
7019
- constructor(fInputs) {
7020
- this.fInputs = fInputs;
7021
- }
7022
- }
7023
-
7024
- const F_CSS_CLASS = {
7025
- DRAG_AND_DROP: {
7026
- DRAGGING: 'f-dragging',
7027
- CONNECTIONS_DRAGGING: 'f-connections-dragging',
7028
- },
7029
- CONNECTOR: {
7030
- OUTPUT_CONNECTED: 'f-node-output-connected',
7031
- OUTPUT_NOT_CONNECTABLE: 'f-node-output-not-connectable',
7032
- INPUT_CONNECTED: 'f-node-input-connected',
7033
- INPUT_NOT_CONNECTABLE: 'f-node-input-not-connectable',
7034
- INPUT_CAN_BE_CONNECTED_TO: 'f-node-input-can-be-connected-to',
7035
- }
7036
- };
7037
-
7038
- let MarkAllCanBeConnectedInputsExecution = class MarkAllCanBeConnectedInputsExecution {
7039
- _fComponentsStore = inject(FComponentsStore);
7040
- handle(payload) {
7041
- this._fComponentsStore.flowHost.classList.add(F_CSS_CLASS.DRAG_AND_DROP.CONNECTIONS_DRAGGING);
7042
- payload.fInputs.forEach((fInput) => this._markCanBeConnectedTo(fInput));
7043
- }
7044
- _markCanBeConnectedTo(fInput) {
7045
- fInput.hostElement.classList.add(F_CSS_CLASS.CONNECTOR.INPUT_CAN_BE_CONNECTED_TO);
7046
- }
7047
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkAllCanBeConnectedInputsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7048
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkAllCanBeConnectedInputsExecution });
7049
- };
7050
- MarkAllCanBeConnectedInputsExecution = __decorate([
7051
- FExecutionRegister(MarkAllCanBeConnectedInputsRequest)
7052
- ], MarkAllCanBeConnectedInputsExecution);
7053
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkAllCanBeConnectedInputsExecution, decorators: [{
7054
- type: Injectable
7055
- }] });
7056
-
7057
- class RemoveInputFromStoreRequest {
7058
- fComponent;
7059
- constructor(fComponent) {
7060
- this.fComponent = fComponent;
7208
+ const fItemRect = RectExtensions.addPoint(item.fRect, this._fCanvasPosition);
7209
+ const isIntersect = RectExtensions.intersectionWithRect(fItemRect, fSelectionAreaRect);
7210
+ if (isIntersect) {
7211
+ item.element.markAsSelected();
7212
+ this._selectedByMove.push(item.element);
7213
+ }
7214
+ });
7215
+ this._fMediator.execute(new NotifyTransformChangedRequest());
7061
7216
  }
7062
- }
7063
-
7064
- let RemoveInputFromStoreExecution = class RemoveInputFromStoreExecution {
7065
- _fComponentsStore = inject(FComponentsStore);
7066
- handle(request) {
7067
- this._fComponentsStore.removeComponent(this._fComponentsStore.fInputs, request.fComponent);
7217
+ _getMinimumPoint(point1, point2) {
7218
+ return PointExtensions.initialize(Math.min(point1.x, point2.x), Math.min(point1.y, point2.y));
7068
7219
  }
7069
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveInputFromStoreExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7070
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveInputFromStoreExecution });
7071
- };
7072
- RemoveInputFromStoreExecution = __decorate([
7073
- FExecutionRegister(RemoveInputFromStoreRequest)
7074
- ], RemoveInputFromStoreExecution);
7075
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveInputFromStoreExecution, decorators: [{
7076
- type: Injectable
7077
- }] });
7078
-
7079
- class RemoveOutletFromStoreRequest {
7080
- fComponent;
7081
- constructor(fComponent) {
7082
- this.fComponent = fComponent;
7220
+ onPointerUp() {
7221
+ this._fSelectionArea.hide();
7222
+ this._fDraggableDataContext.selectedItems.push(...this._selectedByMove);
7223
+ if (this._selectedByMove.length > 0) {
7224
+ this._fDraggableDataContext.isSelectedChanged = true;
7225
+ }
7083
7226
  }
7084
7227
  }
7085
7228
 
7086
- let RemoveOutletFromStoreExecution = class RemoveOutletFromStoreExecution {
7087
- _fComponentsStore = inject(FComponentsStore);
7229
+ let SelectionAreaFinalizeExecution = class SelectionAreaFinalizeExecution {
7230
+ _fDraggableDataContext = inject(FDraggableDataContext);
7088
7231
  handle(request) {
7089
- this._fComponentsStore.removeComponent(this._fComponentsStore.fOutlets, request.fComponent);
7232
+ if (!this._isValid()) {
7233
+ return;
7234
+ }
7235
+ this._fDraggableDataContext.draggableItems.forEach((x) => {
7236
+ x.onPointerUp?.();
7237
+ });
7090
7238
  }
7091
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutletFromStoreExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7092
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutletFromStoreExecution });
7239
+ _isValid() {
7240
+ return this._fDraggableDataContext.draggableItems.some((x) => x instanceof SelectionAreaDragHandle);
7241
+ }
7242
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7243
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaFinalizeExecution });
7093
7244
  };
7094
- RemoveOutletFromStoreExecution = __decorate([
7095
- FExecutionRegister(RemoveOutletFromStoreRequest)
7096
- ], RemoveOutletFromStoreExecution);
7097
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutletFromStoreExecution, decorators: [{
7245
+ SelectionAreaFinalizeExecution = __decorate([
7246
+ FExecutionRegister(SelectionAreaFinalizeRequest)
7247
+ ], SelectionAreaFinalizeExecution);
7248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaFinalizeExecution, decorators: [{
7098
7249
  type: Injectable
7099
7250
  }] });
7100
7251
 
7101
- class RemoveOutputFromStoreRequest {
7102
- fComponent;
7103
- constructor(fComponent) {
7104
- this.fComponent = fComponent;
7252
+ class SelectionAreaPreparationRequest {
7253
+ event;
7254
+ fSelectionArea;
7255
+ fTrigger;
7256
+ constructor(event, fSelectionArea, fTrigger) {
7257
+ this.event = event;
7258
+ this.fSelectionArea = fSelectionArea;
7259
+ this.fTrigger = fTrigger;
7105
7260
  }
7106
7261
  }
7107
7262
 
7108
- let RemoveOutputFromStoreExecution = class RemoveOutputFromStoreExecution {
7263
+ let SelectionAreaPreparationExecution = class SelectionAreaPreparationExecution {
7264
+ _fMediator = inject(FMediator);
7109
7265
  _fComponentsStore = inject(FComponentsStore);
7266
+ _fDraggableDataContext = inject(FDraggableDataContext);
7267
+ get _fHost() {
7268
+ return this._fComponentsStore.fFlow.hostElement;
7269
+ }
7110
7270
  handle(request) {
7111
- this._fComponentsStore.removeComponent(this._fComponentsStore.fOutputs, request.fComponent);
7271
+ if (!this._isValid(request)) {
7272
+ return;
7273
+ }
7274
+ this._fDraggableDataContext.draggableItems = [
7275
+ new SelectionAreaDragHandle(this._fComponentsStore, request.fSelectionArea, this._fDraggableDataContext, this._fMediator)
7276
+ ];
7277
+ this._fDraggableDataContext.onPointerDownScale = 1;
7278
+ this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
7279
+ .elementTransform(this._fHost);
7112
7280
  }
7113
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutputFromStoreExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7114
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutputFromStoreExecution });
7281
+ _isValid(request) {
7282
+ return this._fDraggableDataContext.isEmpty()
7283
+ && isValidEventTrigger(request.event.originalEvent, request.fTrigger);
7284
+ }
7285
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7286
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaPreparationExecution });
7115
7287
  };
7116
- RemoveOutputFromStoreExecution = __decorate([
7117
- FExecutionRegister(RemoveOutputFromStoreRequest)
7118
- ], RemoveOutputFromStoreExecution);
7119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutputFromStoreExecution, decorators: [{
7288
+ SelectionAreaPreparationExecution = __decorate([
7289
+ FExecutionRegister(SelectionAreaPreparationRequest)
7290
+ ], SelectionAreaPreparationExecution);
7291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaPreparationExecution, decorators: [{
7120
7292
  type: Injectable
7121
7293
  }] });
7122
7294
 
7123
- class UnmarkAllCanBeConnectedInputsRequest {
7124
- fInputs;
7125
- constructor(fInputs) {
7126
- this.fInputs = fInputs;
7127
- }
7295
+ const F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS = [
7296
+ SelectionAreaPreparationExecution,
7297
+ SelectionAreaFinalizeExecution
7298
+ ];
7299
+
7300
+ class FSelectionAreaBase {
7301
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSelectionAreaBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7302
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FSelectionAreaBase, ngImport: i0 });
7128
7303
  }
7304
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSelectionAreaBase, decorators: [{
7305
+ type: Directive
7306
+ }] });
7129
7307
 
7130
- let UnmarkAllCanBeConnectedInputsExecution = class UnmarkAllCanBeConnectedInputsExecution {
7131
- _fComponentsStore = inject(FComponentsStore);
7132
- handle(payload) {
7133
- this._fComponentsStore.flowHost.classList.remove(F_CSS_CLASS.DRAG_AND_DROP.CONNECTIONS_DRAGGING);
7134
- payload.fInputs.forEach((fInput) => this._unmarkCanBeConnectedTo(fInput));
7308
+ class FSelectionAreaComponent extends FSelectionAreaBase {
7309
+ _fMediator = inject(FMediator);
7310
+ _elementReference = inject(ElementRef);
7311
+ fTrigger = (event) => {
7312
+ return event.shiftKey;
7313
+ };
7314
+ get hostElement() {
7315
+ return this._elementReference.nativeElement;
7135
7316
  }
7136
- _unmarkCanBeConnectedTo(fInput) {
7137
- fInput.hostElement.classList.remove(F_CSS_CLASS.CONNECTOR.INPUT_CAN_BE_CONNECTED_TO);
7317
+ ngOnInit() {
7318
+ this.hostElement.style.display = 'none';
7138
7319
  }
7139
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UnmarkAllCanBeConnectedInputsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7140
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UnmarkAllCanBeConnectedInputsExecution });
7141
- };
7142
- UnmarkAllCanBeConnectedInputsExecution = __decorate([
7143
- FExecutionRegister(UnmarkAllCanBeConnectedInputsRequest)
7144
- ], UnmarkAllCanBeConnectedInputsExecution);
7145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UnmarkAllCanBeConnectedInputsExecution, decorators: [{
7146
- type: Injectable
7147
- }] });
7148
-
7149
- const F_CONNECTORS_FEATURES = [
7150
- AddInputToStoreExecution,
7151
- AddOutletToStoreExecution,
7152
- AddOutputToStoreExecution,
7153
- CalculateClosestInputExecution,
7154
- FindInputAtPositionExecution,
7155
- GetAllCanBeConnectedInputsAndRectsExecution,
7156
- GetConnectorAndRectExecution,
7157
- MarkAllCanBeConnectedInputsExecution,
7158
- RemoveInputFromStoreExecution,
7159
- RemoveOutletFromStoreExecution,
7160
- RemoveOutputFromStoreExecution,
7161
- UnmarkAllCanBeConnectedInputsExecution
7162
- ];
7163
-
7164
- class AddDndToStoreRequest {
7165
- fComponent;
7166
- constructor(fComponent) {
7167
- this.fComponent = fComponent;
7320
+ hide() {
7321
+ this.hostElement.style.display = 'none';
7322
+ }
7323
+ show() {
7324
+ this.hostElement.style.display = 'block';
7325
+ }
7326
+ draw(object) {
7327
+ const style = this.hostElement.style;
7328
+ style.left = object.x + 'px';
7329
+ style.top = object.y + 'px';
7330
+ style.width = object.width + 'px';
7331
+ style.height = object.height + 'px';
7332
+ }
7333
+ onPointerDown(event) {
7334
+ this._fMediator.execute(new SelectionAreaPreparationRequest(event, this, this.fTrigger));
7168
7335
  }
7336
+ onPointerUp(event) {
7337
+ this._fMediator.execute(new SelectionAreaFinalizeRequest(event));
7338
+ }
7339
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSelectionAreaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7340
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: FSelectionAreaComponent, selector: "f-selection-area", inputs: { fTrigger: "fTrigger" }, host: { classAttribute: "f-selection-area f-component" }, providers: [
7341
+ { provide: F_DRAG_AND_DROP_PLUGIN, useExisting: FSelectionAreaComponent },
7342
+ ], usesInheritance: true, ngImport: i0, template: ``, isInline: true, styles: [":host{position:absolute}\n"] });
7169
7343
  }
7344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSelectionAreaComponent, decorators: [{
7345
+ type: Component,
7346
+ args: [{ selector: "f-selection-area", template: ``, host: {
7347
+ 'class': 'f-selection-area f-component'
7348
+ }, providers: [
7349
+ { provide: F_DRAG_AND_DROP_PLUGIN, useExisting: FSelectionAreaComponent },
7350
+ ], styles: [":host{position:absolute}\n"] }]
7351
+ }], propDecorators: { fTrigger: [{
7352
+ type: Input
7353
+ }] } });
7170
7354
 
7171
- let AddDndToStoreExecution = class AddDndToStoreExecution {
7172
- _fComponentsStore = inject(FComponentsStore);
7173
- handle(request) {
7174
- this._fComponentsStore.fDraggable = request.fComponent;
7175
- }
7176
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AddDndToStoreExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7177
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AddDndToStoreExecution });
7178
- };
7179
- AddDndToStoreExecution = __decorate([
7180
- FExecutionRegister(AddDndToStoreRequest)
7181
- ], AddDndToStoreExecution);
7182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AddDndToStoreExecution, decorators: [{
7183
- type: Injectable
7184
- }] });
7355
+ const F_SELECTION_AREA_PROVIDERS = [
7356
+ FSelectionAreaComponent
7357
+ ];
7185
7358
 
7186
- class EmitSelectionChangeEventRequest {
7187
- }
7359
+ const F_DRAGGABLE_PROVIDERS = [
7360
+ ...CANVAS_PROVIDERS,
7361
+ ...CONNECTIONS_PROVIDERS,
7362
+ ...DRAG_AND_DROP_COMMON_PROVIDERS,
7363
+ ...SINGLE_SELECT_PROVIDERS,
7364
+ ...F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS,
7365
+ ...NODE_PROVIDERS,
7366
+ ...NODE_RESIZE_PROVIDERS,
7367
+ ...F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS,
7368
+ ...F_MINIMAP_DRAG_AND_DROP_PROVIDERS
7369
+ ];
7188
7370
 
7189
7371
  class ClearSelectionRequest {
7190
7372
  }
@@ -7260,9 +7442,9 @@ let GetCurrentSelectionExecution = class GetCurrentSelectionExecution {
7260
7442
  _fDraggableDataContext = inject(FDraggableDataContext);
7261
7443
  handle() {
7262
7444
  return {
7263
- nodes: this._getSelectedNodes(),
7264
- groups: this._getSelectedGroups(),
7265
- connections: this._getSelectedConnections()
7445
+ fNodeIds: this._getSelectedNodes(),
7446
+ fGroupIds: this._getSelectedGroups(),
7447
+ fConnectionIds: this._getSelectedConnections()
7266
7448
  };
7267
7449
  }
7268
7450
  _getSelectedNodes() {
@@ -7596,7 +7778,7 @@ let EmitSelectionChangeEventExecution = class EmitSelectionChangeEventExecution
7596
7778
  return this._fMediator.execute(new GetCurrentSelectionRequest());
7597
7779
  }
7598
7780
  _emitSelectionChange(selection) {
7599
- this._fSelectionChange.emit(new FSelectionChangeEvent(selection.nodes, selection.groups, selection.connections));
7781
+ this._fSelectionChange.emit(new FSelectionChangeEvent(selection.fNodeIds, selection.fGroupIds, selection.fConnectionIds));
7600
7782
  }
7601
7783
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: EmitSelectionChangeEventExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7602
7784
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: EmitSelectionChangeEventExecution });
@@ -7692,6 +7874,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
7692
7874
  type: Injectable
7693
7875
  }] });
7694
7876
 
7877
+ class IsDragStartedRequest {
7878
+ }
7879
+
7880
+ let IsDragStartedExecution = class IsDragStartedExecution {
7881
+ _fComponentsStore = inject(FComponentsStore);
7882
+ handle(request) {
7883
+ return !!this._fComponentsStore.fDraggable?.isDragStarted;
7884
+ }
7885
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsDragStartedExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7886
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsDragStartedExecution });
7887
+ };
7888
+ IsDragStartedExecution = __decorate([
7889
+ FExecutionRegister(IsDragStartedRequest)
7890
+ ], IsDragStartedExecution);
7891
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsDragStartedExecution, decorators: [{
7892
+ type: Injectable
7893
+ }] });
7894
+
7695
7895
  class PrepareDragSequenceRequest {
7696
7896
  }
7697
7897
 
@@ -7701,10 +7901,10 @@ class StartDragSequenceRequest {
7701
7901
  let StartDragSequenceExecution = class StartDragSequenceExecution {
7702
7902
  _fMediator = inject(FMediator);
7703
7903
  _fComponentsStore = inject(FComponentsStore);
7904
+ _fDraggableDataContext = inject(FDraggableDataContext);
7704
7905
  get _hostElement() {
7705
7906
  return this._fComponentsStore.fDraggable.hostElement;
7706
7907
  }
7707
- _fDraggableDataContext = inject(FDraggableDataContext);
7708
7908
  handle(request) {
7709
7909
  if (this._fDraggableDataContext.draggableItems.length > 0) {
7710
7910
  this._hostElement.classList.add(F_CSS_CLASS.DRAG_AND_DROP.DRAGGING);
@@ -7713,7 +7913,10 @@ let StartDragSequenceExecution = class StartDragSequenceExecution {
7713
7913
  }
7714
7914
  }
7715
7915
  _emitDragStarted() {
7716
- this._fComponentsStore.fDraggable?.fDragStarted?.emit();
7916
+ this._fComponentsStore.fDraggable?.fDragStarted?.emit({
7917
+ fEventType: this._fDraggableDataContext.draggableItems[0].fEventType,
7918
+ fData: { ...this._fDraggableDataContext.draggableItems[0].fData }
7919
+ });
7717
7920
  }
7718
7921
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: StartDragSequenceExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7719
7922
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: StartDragSequenceExecution });
@@ -9320,6 +9523,9 @@ class FZoomDirective extends FZoomBase {
9320
9523
  this._listenTriggers();
9321
9524
  }
9322
9525
  }
9526
+ /**
9527
+ * @deprecated`,
9528
+ */
9323
9529
  fZoomTriggers = [
9324
9530
  { event: EFTriggerEvent.WHEEL, action: EFZoomAction.WHEEL },
9325
9531
  { event: EFTriggerEvent.DOUBLE_CLICK, action: EFZoomAction.DOUBLE_CLICK }
@@ -9351,6 +9557,9 @@ class FZoomDirective extends FZoomBase {
9351
9557
  }
9352
9558
  this._disposeListeners();
9353
9559
  this._validateTriggers();
9560
+ if (!this._isEnabled) {
9561
+ return;
9562
+ }
9354
9563
  this.fZoomTriggers.forEach((x) => {
9355
9564
  this._triggersListener.push(this._rendered.listen(this._fHost, x.event, this._getAction(x)));
9356
9565
  });
@@ -9478,7 +9687,7 @@ const F_ZOOM_PROVIDERS = [
9478
9687
 
9479
9688
  class FFlowModule {
9480
9689
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FFlowModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9481
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.4", ngImport: i0, type: FFlowModule, declarations: [FBackgroundComponent, FRectPatternComponent, FCirclePatternComponent, FCanvasComponent, FZoomDirective, FConnectionTextComponent, FConnectionTextPathDirective, FConnectionDragHandleComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionComponent, FConnectionCenterDirective, FConnectionForCreateComponent, FMarkerDirective, FSnapConnectionComponent, FNodeInputDirective, FNodeOutletDirective, FNodeOutputDirective, FExternalItemDirective, FFlowComponent, FLineAlignmentComponent, FMinimapComponent, FMinimapCanvasDirective, FMinimapViewDirective, FMinimapFlowDirective, FGroupDirective, FNodeDirective, FDragHandleDirective, FResizeHandleDirective, FSelectionAreaComponent, FDraggableDirective], imports: [CommonModule], exports: [FBackgroundComponent, FRectPatternComponent, FCirclePatternComponent, FCanvasComponent, FZoomDirective, FConnectionTextComponent, FConnectionTextPathDirective, FConnectionDragHandleComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionComponent, FConnectionCenterDirective, FConnectionForCreateComponent, FMarkerDirective, FSnapConnectionComponent, FNodeInputDirective, FNodeOutletDirective, FNodeOutputDirective, FExternalItemDirective, FFlowComponent, FLineAlignmentComponent, FMinimapComponent, FMinimapCanvasDirective, FMinimapViewDirective, FMinimapFlowDirective, FGroupDirective, FNodeDirective, FDragHandleDirective, FResizeHandleDirective, FSelectionAreaComponent, FDraggableDirective] });
9690
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.4", ngImport: i0, type: FFlowModule, declarations: [FBackgroundComponent, FRectPatternComponent, FCirclePatternComponent, FCanvasComponent, FZoomDirective, FConnectionTextComponent, FConnectionTextPathDirective, FConnectionDragHandleComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionComponent, FConnectionCenterDirective, FConnectionForCreateComponent, FMarkerDirective, FSnapConnectionComponent, FNodeInputDirective, FNodeOutletDirective, FNodeOutputDirective, FFlowComponent, FLineAlignmentComponent, FMinimapComponent, FMinimapCanvasDirective, FMinimapViewDirective, FMinimapFlowDirective, FGroupDirective, FNodeDirective, FDragHandleDirective, FResizeHandleDirective, FSelectionAreaComponent, FDraggableDirective], imports: [CommonModule], exports: [FBackgroundComponent, FRectPatternComponent, FCirclePatternComponent, FCanvasComponent, FZoomDirective, FConnectionTextComponent, FConnectionTextPathDirective, FConnectionDragHandleComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionComponent, FConnectionCenterDirective, FConnectionForCreateComponent, FMarkerDirective, FSnapConnectionComponent, FNodeInputDirective, FNodeOutletDirective, FNodeOutputDirective, FFlowComponent, FLineAlignmentComponent, FMinimapComponent, FMinimapCanvasDirective, FMinimapViewDirective, FMinimapFlowDirective, FGroupDirective, FNodeDirective, FDragHandleDirective, FResizeHandleDirective, FSelectionAreaComponent, FDraggableDirective] });
9482
9691
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FFlowModule, imports: [CommonModule] });
9483
9692
  }
9484
9693
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FFlowModule, decorators: [{
@@ -9490,7 +9699,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
9490
9699
  ...F_ZOOM_PROVIDERS,
9491
9700
  ...F_CONNECTION_PROVIDERS,
9492
9701
  ...F_CONNECTORS_PROVIDERS,
9493
- ...F_EXTERNAL_ITEM_PROVIDERS,
9494
9702
  ...F_FLOW_PROVIDERS,
9495
9703
  ...F_LINE_ALIGNMENT_PROVIDERS,
9496
9704
  ...F_MINIMAP_PROVIDERS,
@@ -9507,7 +9715,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
9507
9715
  ...F_ZOOM_PROVIDERS,
9508
9716
  ...F_CONNECTION_PROVIDERS,
9509
9717
  ...F_CONNECTORS_PROVIDERS,
9510
- ...F_EXTERNAL_ITEM_PROVIDERS,
9511
9718
  ...F_FLOW_PROVIDERS,
9512
9719
  ...F_LINE_ALIGNMENT_PROVIDERS,
9513
9720
  ...F_MINIMAP_PROVIDERS,
@@ -9522,5 +9729,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
9522
9729
  * Generated bundle index. Do not edit.
9523
9730
  */
9524
9731
 
9525
- 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, AddZoomToStoreExecution, AddZoomToStoreRequest, ApplyChildResizeRestrictionsExecution, ApplyChildResizeRestrictionsRequest, ApplyParentResizeRestrictionsExecution, ApplyParentResizeRestrictionsRequest, BaseConnectionDragHandler, 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, CalculateClosestInputExecution, CalculateClosestInputRequest, CalculateCommonNodeMoveLimitsExecution, CalculateCommonNodeMoveLimitsRequest, CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, CalculateConnectionLineByBehaviorExecution, CalculateConnectionLineByBehaviorRequest, CalculateFlowPointFromMinimapPointExecution, CalculateFlowPointFromMinimapPointRequest, CalculateNodeMoveLimitsExecution, CalculateNodeMoveLimitsRequest, CalculateNodesBoundingBoxExecution, CalculateNodesBoundingBoxNormalizedPositionExecution, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CanvasDragHandler, CanvasMoveFinalizeExecution, CanvasMoveFinalizeRequest, CanvasMovePreparationExecution, CanvasMovePreparationRequest, CenterGroupOrNodeExecution, CenterGroupOrNodeRequest, ClearSelectionExecution, ClearSelectionRequest, CreateConnectionDragHandler, CreateConnectionDragHandlerPreparationExecution, CreateConnectionDragHandlerPreparationRequest, CreateConnectionFinalizeExecution, CreateConnectionFinalizeRequest, CreateConnectionFromOutletPreparationExecution, CreateConnectionFromOutletPreparationRequest, CreateConnectionFromOutputPreparationExecution, CreateConnectionFromOutputPreparationRequest, CreateConnectionMarkersExecution, CreateConnectionMarkersRequest, CreateConnectionPreparationExecution, CreateConnectionPreparationRequest, CreateMoveNodesDragModelFromSelectionExecution, CreateMoveNodesDragModelFromSelectionRequest, DRAG_AND_DROP_COMMON_PROVIDERS, Deprecated, EFConnectableSide, EFConnectionBehavior, EFConnectionType, EFMarkerType, EFResizeHandleType, EFTriggerEvent, EFZoomAction, EFZoomDirection, EXTERNAL_ITEM_FINALIZE_PROVIDERS, EXTERNAL_ITEM_PREPARATION_PROVIDERS, EmitSelectionChangeEventExecution, EmitSelectionChangeEventRequest, EndDragSequenceExecution, EndDragSequenceRequest, ExternalItemDragHandler, ExternalItemFinalizeExecution, ExternalItemFinalizeRequest, ExternalItemPreparationExecution, ExternalItemPreparationRequest, 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, FInjector, 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_CSS_CLASS, 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_FEATURES, F_ZOOM_PROVIDERS, F_ZOOM_TAG, FindInputAtPositionExecution, FindInputAtPositionRequest, FitToFlowExecution, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetAllCanBeConnectedInputsAndRectsExecution, GetAllCanBeConnectedInputsAndRectsRequest, GetCanBeConnectedOutputByOutletExecution, GetCanBeConnectedOutputByOutletRequest, GetCanBeSelectedItemsExecution, GetCanBeSelectedItemsRequest, GetCanvasExecution, GetCanvasRequest, GetConnectorAndRectExecution, GetConnectorAndRectRequest, GetCurrentSelectionExecution, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroupsExecution, GetDeepChildrenNodesAndGroupsRequest, GetElementRoundedRectExecution, GetElementRoundedRectRequest, GetFlowExecution, GetFlowHostElementExecution, GetFlowHostElementRequest, GetFlowRequest, GetFlowStateConnectionsExecution, GetFlowStateConnectionsRequest, GetFlowStateExecution, GetFlowStateNodesExecution, GetFlowStateNodesRequest, GetFlowStateRequest, 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, IsDragStartedExecution, IsDragStartedRequest, LineAlignmentDragHandler, LineAlignmentPreparationExecution, LineAlignmentPreparationRequest, LineElement, LineService, ListenCountChangesExecution, ListenCountChangesRequest, ListenDataChangesExecution, ListenDataChangesRequest, ListenTransformChangesExecution, ListenTransformChangesRequest, LogExecutionTime, MINIMAP_DRAG_FINALIZE_PROVIDERS, MINIMAP_DRAG_PREPARATION_PROVIDERS, MarkAllCanBeConnectedInputsExecution, MarkAllCanBeConnectedInputsRequest, MinimapCalculateSvgScaleAndViewBoxExecution, MinimapCalculateSvgScaleAndViewBoxRequest, MinimapCalculateViewBoxExecution, MinimapCalculateViewBoxRequest, MinimapDragFinalizeExecution, MinimapDragFinalizeRequest, MinimapDragPreparationExecution, MinimapDragPreparationRequest, MinimapDrawNodesExecution, MinimapDrawNodesRequest, MoveFrontElementsBeforeTargetElementExecution, MoveFrontElementsBeforeTargetElementRequest, NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS, NODE_MOVE_PREPARATION_PROVIDERS, NODE_PROVIDERS, NODE_RESIZE_FINALIZE_PROVIDERS, NODE_RESIZE_PROVIDERS, NodeDragHandler, NodeDragToParentDragHandler, NodeDragToParentFinalizeExecution, NodeDragToParentFinalizeRequest, NodeDragToParentPreparationExecution, NodeDragToParentPreparationRequest, NodeMoveFinalizeExecution, NodeMoveFinalizeRequest, NodeMovePreparationExecution, NodeMovePreparationRequest, NodeResizeDragHandler, NodeResizeFinalizeExecution, NodeResizeFinalizeRequest, NodeResizePreparationExecution, NodeResizePreparationRequest, NotifyDataChangedExecution, NotifyDataChangedRequest, NotifyTransformChangedExecution, NotifyTransformChangedRequest, OnPointerMoveExecution, OnPointerMoveRequest, PointBoundsLimiter, PrepareDragSequenceExecution, PrepareDragSequenceRequest, PreventDefaultIsExternalItemExecution, PreventDefaultIsExternalItemRequest, PutInputConnectionHandlersToArrayExecution, PutInputConnectionHandlersToArrayRequest, PutOutputConnectionHandlersToArrayExecution, PutOutputConnectionHandlersToArrayRequest, RESIZE_DIRECTIONS, ReassignConnectionDragHandler, ReassignConnectionFinalizeExecution, ReassignConnectionFinalizeRequest, ReassignConnectionPreparationExecution, ReassignConnectionPreparationRequest, 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, RemoveZoomFromStoreExecution, RemoveZoomFromStoreRequest, ResetScaleAndCenterExecution, ResetScaleAndCenterRequest, ResetScaleExecution, ResetScaleRequest, ResetZoomExecution, ResetZoomRequest, SINGLE_SELECT_PROVIDERS, SelectAllExecution, SelectAllRequest, SelectAndUpdateNodeLayerExecution, SelectAndUpdateNodeLayerRequest, SelectExecution, SelectRequest, SelectionAreaDragHandle, SelectionAreaFinalizeExecution, SelectionAreaFinalizeRequest, SelectionAreaPreparationExecution, SelectionAreaPreparationRequest, SetBackgroundTransformExecution, SetBackgroundTransformRequest, SetZoomExecution, SetZoomRequest, SingleSelectExecution, SingleSelectRequest, SortItemLayersExecution, SortItemLayersRequest, SortItemsByParentExecution, SortItemsByParentRequest, SortNodeLayersExecution, SortNodeLayersRequest, SourceConnectionDragHandler, SourceTargetConnectionDragHandler, StartDragSequenceExecution, StartDragSequenceRequest, SummaryNodeDragHandler, TargetConnectionDragHandler, UnmarkAllCanBeConnectedInputsExecution, UnmarkAllCanBeConnectedInputsRequest, UpdateItemAndChildrenLayersExecution, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChangedExecution, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScaleExecution, UpdateScaleRequest, createSVGElement, debounceTime, defaultEventTrigger, fInject, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, getExternalItem, getMarkerEndId, getMarkerSelectedEndId, getMarkerSelectedStartId, getMarkerStartId, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, isValidEventTrigger, mixinChangeSelection, mixinChangeVisibility, notifyOnStart, transitionEnd };
9732
+ 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, AddZoomToStoreExecution, AddZoomToStoreRequest, ApplyChildResizeRestrictionsExecution, ApplyChildResizeRestrictionsRequest, ApplyParentResizeRestrictionsExecution, ApplyParentResizeRestrictionsRequest, BaseConnectionDragHandler, 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, CalculateClosestInputExecution, CalculateClosestInputRequest, CalculateCommonNodeMoveLimitsExecution, CalculateCommonNodeMoveLimitsRequest, CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, CalculateConnectionLineByBehaviorExecution, CalculateConnectionLineByBehaviorRequest, CalculateFlowPointFromMinimapPointExecution, CalculateFlowPointFromMinimapPointRequest, CalculateNodeMoveLimitsExecution, CalculateNodeMoveLimitsRequest, CalculateNodesBoundingBoxExecution, CalculateNodesBoundingBoxNormalizedPositionExecution, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CenterGroupOrNodeExecution, CenterGroupOrNodeRequest, ClearSelectionExecution, ClearSelectionRequest, CreateConnectionMarkersExecution, CreateConnectionMarkersRequest, CreateMoveNodesDragModelFromSelectionExecution, CreateMoveNodesDragModelFromSelectionRequest, DRAG_AND_DROP_COMMON_PROVIDERS, Deprecated, EFConnectableSide, EFConnectionBehavior, EFConnectionType, EFMarkerType, EFResizeHandleType, EFTriggerEvent, EFZoomAction, EFZoomDirection, EmitSelectionChangeEventExecution, EmitSelectionChangeEventRequest, EndDragSequenceExecution, EndDragSequenceRequest, FBackgroundBase, FBackgroundComponent, FBezierPathBuilder, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FCanvasDragHandler, FCanvasMoveFinalizeExecution, FCanvasMoveFinalizeRequest, FCanvasMovePreparationExecution, FCanvasMovePreparationRequest, FChannel, FChannelHub, FCirclePatternComponent, FComponentsStore, FConnectionBase, FConnectionCenterDirective, FConnectionComponent, FConnectionDragHandleComponent, FConnectionFactory, FConnectionForCreateComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionTextComponent, FConnectionTextPathDirective, FConnectorBase, FCreateConnectionDragHandler, FCreateConnectionDragHandlerPreparationExecution, FCreateConnectionDragHandlerPreparationRequest, FCreateConnectionEvent, FCreateConnectionFinalizeExecution, FCreateConnectionFinalizeRequest, FCreateConnectionFromOutletPreparationExecution, FCreateConnectionFromOutletPreparationRequest, FCreateConnectionFromOutputPreparationExecution, FCreateConnectionFromOutputPreparationRequest, FCreateConnectionPreparationExecution, FCreateConnectionPreparationRequest, FCreateNodeEvent, FDragHandleDirective, FDragHandlerResult, FDragStartedEvent, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItemBase, FExternalItemCreatePlaceholderExecution, FExternalItemCreatePlaceholderRequest, FExternalItemCreatePreviewExecution, FExternalItemCreatePreviewRequest, FExternalItemDirective, FExternalItemDragHandler, FExternalItemFinalizeExecution, FExternalItemFinalizeRequest, FExternalItemPlaceholderDirective, FExternalItemPreparationExecution, FExternalItemPreparationRequest, FExternalItemPreviewDirective, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FInjector, FLineAlignmentBase, FLineAlignmentComponent, FMarkerBase, FMarkerDirective, FMinimapCanvasDirective, FMinimapComponent, FMinimapData, FMinimapDragHandler, FMinimapFlowDirective, FMinimapViewDirective, FNodeBase, FNodeDirective, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FReassignConnectionDragHandler, FReassignConnectionEvent, FReassignConnectionFinalizeExecution, FReassignConnectionFinalizeRequest, FReassignConnectionPreparationExecution, FReassignConnectionPreparationRequest, FRectPatternComponent, FResizeChannel, FResizeHandleDirective, FRotateHandleDirective, FSegmentPathBuilder, FSelectionAreaBase, FSelectionAreaComponent, FSelectionChangeEvent, FSingleSelectExecution, FSingleSelectRequest, 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_CSS_CLASS, 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_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_FEATURES, F_ZOOM_PROVIDERS, F_ZOOM_TAG, FindInputAtPositionExecution, FindInputAtPositionRequest, FitToFlowExecution, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetAllCanBeConnectedInputsAndRectsExecution, GetAllCanBeConnectedInputsAndRectsRequest, GetCanBeSelectedItemsExecution, GetCanBeSelectedItemsRequest, GetCanvasExecution, GetCanvasRequest, GetConnectorAndRectExecution, GetConnectorAndRectRequest, GetCurrentSelectionExecution, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroupsExecution, GetDeepChildrenNodesAndGroupsRequest, GetElementRoundedRectExecution, GetElementRoundedRectRequest, GetFirstConnectableOutputExecution, GetFirstConnectableOutputRequest, GetFlowExecution, GetFlowHostElementExecution, GetFlowHostElementRequest, GetFlowRequest, GetFlowStateConnectionsExecution, GetFlowStateConnectionsRequest, GetFlowStateExecution, GetFlowStateNodesExecution, GetFlowStateNodesRequest, GetFlowStateRequest, 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, IsDragStartedExecution, IsDragStartedRequest, LineAlignmentDragHandler, LineAlignmentPreparationExecution, LineAlignmentPreparationRequest, LineElement, LineService, ListenCountChangesExecution, ListenCountChangesRequest, ListenDataChangesExecution, ListenDataChangesRequest, ListenTransformChangesExecution, ListenTransformChangesRequest, LogExecutionTime, MINIMAP_DRAG_FINALIZE_PROVIDERS, MINIMAP_DRAG_PREPARATION_PROVIDERS, MarkAllCanBeConnectedInputsExecution, MarkAllCanBeConnectedInputsRequest, MinimapCalculateSvgScaleAndViewBoxExecution, MinimapCalculateSvgScaleAndViewBoxRequest, MinimapCalculateViewBoxExecution, MinimapCalculateViewBoxRequest, MinimapDragFinalizeExecution, MinimapDragFinalizeRequest, MinimapDragPreparationExecution, MinimapDragPreparationRequest, MinimapDrawNodesExecution, MinimapDrawNodesRequest, MoveFrontElementsBeforeTargetElementExecution, MoveFrontElementsBeforeTargetElementRequest, NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS, NODE_MOVE_PREPARATION_PROVIDERS, NODE_PROVIDERS, NODE_RESIZE_FINALIZE_PROVIDERS, NODE_RESIZE_PROVIDERS, NodeDragHandler, NodeDragToParentDragHandler, NodeDragToParentFinalizeExecution, NodeDragToParentFinalizeRequest, NodeDragToParentPreparationExecution, NodeDragToParentPreparationRequest, NodeMoveFinalizeExecution, NodeMoveFinalizeRequest, NodeMovePreparationExecution, NodeMovePreparationRequest, NodeResizeDragHandler, NodeResizeFinalizeExecution, NodeResizeFinalizeRequest, NodeResizePreparationExecution, NodeResizePreparationRequest, NotifyDataChangedExecution, NotifyDataChangedRequest, NotifyTransformChangedExecution, NotifyTransformChangedRequest, OnPointerMoveExecution, OnPointerMoveRequest, PointBoundsLimiter, PrepareDragSequenceExecution, PrepareDragSequenceRequest, PreventDefaultIsExternalItemExecution, PreventDefaultIsExternalItemRequest, PutInputConnectionHandlersToArrayExecution, PutInputConnectionHandlersToArrayRequest, PutOutputConnectionHandlersToArrayExecution, PutOutputConnectionHandlersToArrayRequest, RESIZE_DIRECTIONS, 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, RemoveZoomFromStoreExecution, RemoveZoomFromStoreRequest, ResetScaleAndCenterExecution, ResetScaleAndCenterRequest, ResetScaleExecution, ResetScaleRequest, ResetZoomExecution, ResetZoomRequest, SINGLE_SELECT_PROVIDERS, SelectAllExecution, SelectAllRequest, SelectAndUpdateNodeLayerExecution, SelectAndUpdateNodeLayerRequest, SelectExecution, SelectRequest, SelectionAreaDragHandle, SelectionAreaFinalizeExecution, SelectionAreaFinalizeRequest, SelectionAreaPreparationExecution, SelectionAreaPreparationRequest, SetBackgroundTransformExecution, SetBackgroundTransformRequest, SetZoomExecution, SetZoomRequest, SortItemLayersExecution, SortItemLayersRequest, SortItemsByParentExecution, SortItemsByParentRequest, SortNodeLayersExecution, SortNodeLayersRequest, SourceConnectionDragHandler, SourceTargetConnectionDragHandler, StartDragSequenceExecution, StartDragSequenceRequest, SummaryNodeDragHandler, TargetConnectionDragHandler, UnmarkAllCanBeConnectedInputsExecution, UnmarkAllCanBeConnectedInputsRequest, UpdateItemAndChildrenLayersExecution, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChangedExecution, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScaleExecution, UpdateScaleRequest, createSVGElement, debounceTime, defaultEventTrigger, fInject, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, getExternalItem, getMarkerEndId, getMarkerSelectedEndId, getMarkerSelectedStartId, getMarkerStartId, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, isValidEventTrigger, mixinChangeSelection, mixinChangeVisibility, notifyOnStart, transitionEnd };
9526
9733
  //# sourceMappingURL=foblex-flow.mjs.map