@foblex/flow 17.2.0 → 17.2.1

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 (294) 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/start-drag-sequence/start-drag-sequence.execution.d.ts +1 -1
  5. package/domain/f-selection/get-current-selection/i-current-selection.d.ts +3 -3
  6. package/domain/providers.d.ts +1 -1
  7. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +42 -37
  8. package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.execution.mjs +13 -10
  9. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +2 -2
  10. package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +6 -3
  11. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.execution.mjs +4 -4
  12. package/esm2022/domain/f-selection/get-current-selection/i-current-selection.mjs +1 -1
  13. package/esm2022/f-draggable/domain/f-drag-started-event.mjs +9 -0
  14. package/esm2022/f-draggable/domain/index.mjs +2 -1
  15. package/esm2022/f-draggable/f-canvas/f-canvas.drag-handler.mjs +19 -0
  16. package/esm2022/f-draggable/f-canvas/index.mjs +5 -0
  17. package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.mjs +29 -0
  18. package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.request.mjs +7 -0
  19. package/esm2022/f-draggable/f-canvas/move-finalize/index.mjs +3 -0
  20. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.mjs +53 -0
  21. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.request.mjs +7 -0
  22. package/esm2022/f-draggable/f-canvas/move-preparation/index.mjs +3 -0
  23. package/esm2022/f-draggable/f-canvas/providers.mjs +7 -0
  24. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.mjs +61 -0
  25. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.request.mjs +7 -0
  26. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/index.mjs +3 -0
  27. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.mjs +40 -0
  28. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.request.mjs +9 -0
  29. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/index.mjs +3 -0
  30. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.mjs +48 -0
  31. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.mjs +9 -0
  32. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.mjs +54 -0
  33. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.request.mjs +9 -0
  34. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/index.mjs +3 -0
  35. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.mjs +49 -0
  36. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.mjs +9 -0
  37. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/index.mjs +3 -0
  38. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/index.mjs +6 -0
  39. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +95 -0
  40. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.event.mjs +11 -0
  41. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.execution.mjs +47 -0
  42. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.request.mjs +7 -0
  43. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/index.mjs +3 -0
  44. package/esm2022/f-draggable/f-connection/f-create-connection/i-f-create-connection-drag-result.mjs +2 -0
  45. package/esm2022/f-draggable/f-connection/f-create-connection/index.mjs +7 -0
  46. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.mjs +105 -0
  47. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.event.mjs +15 -0
  48. package/esm2022/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.mjs +2 -0
  49. package/esm2022/f-draggable/f-connection/f-reassign-connection/index.mjs +6 -0
  50. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.execution.mjs +63 -0
  51. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.request.mjs +7 -0
  52. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/index.mjs +3 -0
  53. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/f-reassign-connection-preparation.execution.mjs +72 -0
  54. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/f-reassign-connection-preparation.request.mjs +9 -0
  55. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/index.mjs +3 -0
  56. package/esm2022/f-draggable/f-connection/index.mjs +4 -0
  57. package/esm2022/f-draggable/f-connection/providers.mjs +13 -0
  58. package/esm2022/f-draggable/f-drag-handler/f-drag-handler-result.mjs +20 -0
  59. package/esm2022/f-draggable/f-drag-handler/i-f-drag-handler.mjs +2 -0
  60. package/esm2022/f-draggable/f-drag-handler/index.mjs +3 -0
  61. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  62. package/esm2022/f-draggable/f-draggable-data-context.mjs +1 -1
  63. package/esm2022/f-draggable/f-draggable.directive.mjs +21 -16
  64. package/esm2022/f-draggable/f-selection-change-event.mjs +8 -8
  65. package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +137 -0
  66. package/esm2022/f-draggable/f-single-select/f-single-select.request.mjs +9 -0
  67. package/esm2022/f-draggable/f-single-select/index.mjs +4 -0
  68. package/esm2022/f-draggable/f-single-select/providers.mjs +5 -0
  69. package/esm2022/f-draggable/index.mjs +5 -6
  70. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +1 -1
  71. package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +2 -1
  72. package/esm2022/f-draggable/node/node-drag-to-parent.drag-handler.mjs +2 -1
  73. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +1 -1
  74. package/esm2022/f-draggable/node/node.drag-handler.mjs +2 -1
  75. package/esm2022/f-draggable/node/summary-node.drag-handler.mjs +6 -1
  76. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +6 -1
  77. package/esm2022/f-draggable/providers.mjs +4 -4
  78. package/esm2022/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.execution.mjs +41 -0
  79. package/esm2022/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.request.mjs +7 -0
  80. package/esm2022/f-external-item/domain/create-placeholder/index.mjs +3 -0
  81. package/esm2022/f-external-item/domain/create-preview/f-external-item-create-preview.execution.mjs +52 -0
  82. package/esm2022/f-external-item/domain/create-preview/f-external-item-create-preview.request.mjs +7 -0
  83. package/esm2022/f-external-item/domain/create-preview/index.mjs +3 -0
  84. package/esm2022/f-external-item/domain/f-external-item.drag-handler.mjs +71 -0
  85. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.execution.mjs +62 -0
  86. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.request.mjs +7 -0
  87. package/esm2022/f-external-item/domain/finalize/index.mjs +3 -0
  88. package/esm2022/f-external-item/domain/i-f-external-item-drag-result.mjs +2 -0
  89. package/esm2022/f-external-item/domain/index.mjs +7 -4
  90. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.execution.mjs +47 -0
  91. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.request.mjs +7 -0
  92. package/esm2022/f-external-item/domain/preparation/index.mjs +3 -0
  93. package/esm2022/f-external-item/domain/providers.mjs +9 -5
  94. package/esm2022/f-external-item/f-external-item-base.mjs +2 -3
  95. package/esm2022/f-external-item/f-external-item-placeholder.directive.mjs +26 -0
  96. package/esm2022/f-external-item/f-external-item-preview.directive.mjs +26 -0
  97. package/esm2022/f-external-item/f-external-item-token.mjs +3 -0
  98. package/esm2022/f-external-item/f-external-item.directive.mjs +25 -17
  99. package/esm2022/f-external-item/f-external-item.service.mjs +6 -6
  100. package/esm2022/f-external-item/index.mjs +6 -4
  101. package/esm2022/f-flow.module.mjs +13 -17
  102. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +2 -1
  103. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +2 -1
  104. package/esm2022/f-selection-area/f-selection-area.component.mjs +1 -1
  105. package/esm2022/f-zoom/f-zoom.directive.mjs +7 -1
  106. package/f-connection/providers.d.ts +1 -1
  107. package/f-draggable/domain/f-drag-started-event.d.ts +5 -0
  108. package/f-draggable/domain/index.d.ts +1 -0
  109. package/f-draggable/f-canvas/f-canvas.drag-handler.d.ts +10 -0
  110. package/f-draggable/f-canvas/index.d.ts +4 -0
  111. package/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.d.ts +10 -0
  112. 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
  113. package/f-draggable/f-canvas/move-finalize/index.d.ts +2 -0
  114. package/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.d.ts +15 -0
  115. 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
  116. package/f-draggable/f-canvas/move-preparation/index.d.ts +2 -0
  117. package/f-draggable/f-canvas/providers.d.ts +3 -0
  118. package/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.d.ts +19 -0
  119. package/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.request.d.ts +5 -0
  120. package/f-draggable/f-connection/f-create-connection/create-finalize/index.d.ts +2 -0
  121. package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.d.ts +12 -0
  122. 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
  123. package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/index.d.ts +2 -0
  124. package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.d.ts +15 -0
  125. 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
  126. package/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.d.ts +14 -0
  127. 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
  128. package/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/index.d.ts +2 -0
  129. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.d.ts +14 -0
  130. 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
  131. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/index.d.ts +2 -0
  132. package/f-draggable/f-connection/f-create-connection/create-preparation/index.d.ts +5 -0
  133. 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
  134. package/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.execution.d.ts +16 -0
  135. 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
  136. package/f-draggable/f-connection/f-create-connection/get-first-connectable-output/index.d.ts +2 -0
  137. 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
  138. package/f-draggable/f-connection/f-create-connection/index.d.ts +6 -0
  139. 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
  140. package/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.d.ts +8 -0
  141. package/f-draggable/{connections/reassign-connection → f-connection/f-reassign-connection}/index.d.ts +2 -1
  142. package/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.execution.d.ts +20 -0
  143. 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
  144. package/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/index.d.ts +2 -0
  145. 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
  146. 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
  147. package/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/index.d.ts +2 -0
  148. package/f-draggable/f-connection/index.d.ts +3 -0
  149. package/f-draggable/f-connection/providers.d.ts +3 -0
  150. package/f-draggable/f-drag-handler/f-drag-handler-result.d.ts +9 -0
  151. package/f-draggable/{i-draggable-item.d.ts → f-drag-handler/i-f-drag-handler.d.ts} +3 -2
  152. package/f-draggable/f-drag-handler/index.d.ts +2 -0
  153. package/f-draggable/f-draggable-base.d.ts +3 -3
  154. package/f-draggable/f-draggable-data-context.d.ts +2 -2
  155. package/f-draggable/f-draggable.directive.d.ts +4 -3
  156. package/f-draggable/f-selection-change-event.d.ts +4 -4
  157. package/f-draggable/{single-select/single-select.execution.d.ts → f-single-select/f-single-select.execution.d.ts} +5 -5
  158. package/f-draggable/{single-select/single-select.request.d.ts → f-single-select/f-single-select.request.d.ts} +1 -1
  159. package/f-draggable/f-single-select/index.d.ts +3 -0
  160. package/f-draggable/f-single-select/providers.d.ts +2 -0
  161. package/f-draggable/index.d.ts +4 -5
  162. package/f-draggable/node/line-alignment.drag-handler.d.ts +3 -2
  163. package/f-draggable/node/node-drag-to-parent.drag-handler.d.ts +3 -2
  164. package/f-draggable/node/node.drag-handler.d.ts +3 -2
  165. package/f-draggable/node/summary-node.drag-handler.d.ts +4 -2
  166. package/f-draggable/node-resize/node-resize.drag-handler.d.ts +4 -2
  167. package/f-draggable/providers.d.ts +1 -1
  168. package/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.execution.d.ts +13 -0
  169. package/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.request.d.ts +5 -0
  170. package/f-external-item/domain/create-placeholder/index.d.ts +2 -0
  171. package/f-external-item/domain/create-preview/f-external-item-create-preview.execution.d.ts +14 -0
  172. package/f-external-item/domain/create-preview/f-external-item-create-preview.request.d.ts +5 -0
  173. package/f-external-item/domain/create-preview/index.d.ts +2 -0
  174. package/f-external-item/domain/f-external-item.drag-handler.d.ts +24 -0
  175. package/f-external-item/domain/finalize/f-external-item-finalize.execution.d.ts +21 -0
  176. 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
  177. package/f-external-item/domain/finalize/index.d.ts +2 -0
  178. package/f-external-item/domain/i-f-external-item-drag-result.d.ts +5 -0
  179. package/f-external-item/domain/index.d.ts +6 -3
  180. package/f-external-item/domain/preparation/f-external-item-preparation.execution.d.ts +15 -0
  181. 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
  182. package/f-external-item/domain/preparation/index.d.ts +2 -0
  183. package/f-external-item/domain/providers.d.ts +5 -1
  184. package/f-external-item/f-external-item-base.d.ts +4 -2
  185. package/f-external-item/f-external-item-placeholder.directive.d.ts +10 -0
  186. package/f-external-item/f-external-item-preview.directive.d.ts +10 -0
  187. package/f-external-item/f-external-item-token.d.ts +3 -0
  188. package/f-external-item/f-external-item.directive.d.ts +9 -6
  189. package/f-external-item/f-external-item.service.d.ts +1 -1
  190. package/f-external-item/index.d.ts +5 -3
  191. package/f-flow.module.d.ts +14 -15
  192. package/f-minimap/domain/f-minimap.drag-handler.d.ts +3 -2
  193. package/f-minimap/domain/providers.d.ts +1 -1
  194. package/f-node/providers.d.ts +1 -1
  195. package/f-selection-area/domain/selection-area.drag-handle.d.ts +3 -2
  196. package/f-zoom/f-zoom.directive.d.ts +3 -0
  197. package/fesm2022/foblex-flow.mjs +1185 -970
  198. package/fesm2022/foblex-flow.mjs.map +1 -1
  199. package/package.json +2 -2
  200. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +0 -29
  201. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.mjs +0 -7
  202. package/esm2022/f-draggable/canvas/canvas-move-finalize/index.mjs +0 -3
  203. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +0 -55
  204. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.mjs +0 -7
  205. package/esm2022/f-draggable/canvas/canvas-move-preparation/index.mjs +0 -3
  206. package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +0 -19
  207. package/esm2022/f-draggable/canvas/index.mjs +0 -5
  208. package/esm2022/f-draggable/canvas/providers.mjs +0 -7
  209. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +0 -68
  210. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.mjs +0 -7
  211. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/index.mjs +0 -3
  212. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.mjs +0 -40
  213. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.request.mjs +0 -9
  214. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.mjs +0 -3
  215. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +0 -54
  216. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs +0 -9
  217. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.mjs +0 -3
  218. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +0 -49
  219. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs +0 -9
  220. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs +0 -3
  221. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +0 -48
  222. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs +0 -9
  223. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +0 -6
  224. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +0 -90
  225. package/esm2022/f-draggable/connections/create-connection/f-create-connection.event.mjs +0 -11
  226. 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
  227. 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
  228. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs +0 -3
  229. package/esm2022/f-draggable/connections/create-connection/index.mjs +0 -6
  230. package/esm2022/f-draggable/connections/i-create-reassign-connection-drag-data.mjs +0 -2
  231. package/esm2022/f-draggable/connections/index.mjs +0 -5
  232. package/esm2022/f-draggable/connections/providers.mjs +0 -13
  233. package/esm2022/f-draggable/connections/reassign-connection/f-reassign-connection.event.mjs +0 -15
  234. package/esm2022/f-draggable/connections/reassign-connection/index.mjs +0 -5
  235. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.mjs +0 -3
  236. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +0 -64
  237. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.mjs +0 -7
  238. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.mjs +0 -3
  239. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +0 -72
  240. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs +0 -9
  241. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +0 -103
  242. package/esm2022/f-draggable/i-draggable-item.mjs +0 -2
  243. package/esm2022/f-draggable/single-select/index.mjs +0 -4
  244. package/esm2022/f-draggable/single-select/providers.mjs +0 -5
  245. package/esm2022/f-draggable/single-select/single-select.execution.mjs +0 -137
  246. package/esm2022/f-draggable/single-select/single-select.request.mjs +0 -9
  247. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +0 -68
  248. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.request.mjs +0 -7
  249. package/esm2022/f-external-item/domain/external-item-finalize/index.mjs +0 -4
  250. package/esm2022/f-external-item/domain/external-item-finalize/providers.mjs +0 -5
  251. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +0 -47
  252. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.request.mjs +0 -7
  253. package/esm2022/f-external-item/domain/external-item-preparation/index.mjs +0 -4
  254. package/esm2022/f-external-item/domain/external-item-preparation/providers.mjs +0 -5
  255. package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +0 -40
  256. package/esm2022/f-external-item/providers.mjs +0 -5
  257. package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.d.ts +0 -10
  258. package/f-draggable/canvas/canvas-move-finalize/index.d.ts +0 -2
  259. package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.d.ts +0 -15
  260. package/f-draggable/canvas/canvas-move-preparation/index.d.ts +0 -2
  261. package/f-draggable/canvas/canvas.drag-handler.d.ts +0 -11
  262. package/f-draggable/canvas/index.d.ts +0 -4
  263. package/f-draggable/canvas/providers.d.ts +0 -3
  264. package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.d.ts +0 -23
  265. package/f-draggable/connections/create-connection/create-connection-finalize/index.d.ts +0 -2
  266. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.d.ts +0 -12
  267. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.d.ts +0 -2
  268. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.d.ts +0 -14
  269. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.d.ts +0 -2
  270. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.d.ts +0 -14
  271. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.d.ts +0 -2
  272. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +0 -15
  273. package/f-draggable/connections/create-connection/create-connection-preparation/index.d.ts +0 -5
  274. 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
  275. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.d.ts +0 -2
  276. package/f-draggable/connections/create-connection/index.d.ts +0 -5
  277. package/f-draggable/connections/index.d.ts +0 -4
  278. package/f-draggable/connections/providers.d.ts +0 -3
  279. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.d.ts +0 -2
  280. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.d.ts +0 -20
  281. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.d.ts +0 -2
  282. package/f-draggable/single-select/index.d.ts +0 -3
  283. package/f-draggable/single-select/providers.d.ts +0 -2
  284. package/f-external-item/domain/external-item-finalize/external-item-finalize.execution.d.ts +0 -24
  285. package/f-external-item/domain/external-item-finalize/index.d.ts +0 -3
  286. package/f-external-item/domain/external-item-finalize/providers.d.ts +0 -2
  287. package/f-external-item/domain/external-item-preparation/external-item-preparation.execution.d.ts +0 -15
  288. package/f-external-item/domain/external-item-preparation/external-item-preparation.request.d.ts +0 -5
  289. package/f-external-item/domain/external-item-preparation/index.d.ts +0 -3
  290. package/f-external-item/domain/external-item-preparation/providers.d.ts +0 -2
  291. package/f-external-item/domain/external-item.drag-handler.d.ts +0 -16
  292. package/f-external-item/providers.d.ts +0 -2
  293. /package/f-draggable/{connections/create-connection → f-connection/f-create-connection}/f-create-connection.event.d.ts +0 -0
  294. /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';
@@ -2874,48 +2874,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
2874
2874
  }] });
2875
2875
 
2876
2876
  let RedrawConnectionsExecution = class RedrawConnectionsExecution {
2877
- fComponentsStore;
2878
- fMediator;
2879
- constructor(fComponentsStore, fMediator) {
2880
- this.fComponentsStore = fComponentsStore;
2881
- this.fMediator = fMediator;
2882
- }
2877
+ _fMediator = inject(FMediator);
2878
+ _fComponentsStore = inject(FComponentsStore);
2883
2879
  handle(request) {
2884
2880
  this._resetConnectors();
2885
- if (this.fComponentsStore.fTempConnection) {
2886
- this.setMarkers(this.fComponentsStore.fTempConnection);
2881
+ if (this._fComponentsStore.fTempConnection) {
2882
+ this._setMarkers(this._fComponentsStore.fTempConnection);
2887
2883
  }
2888
- if (this.fComponentsStore.fSnapConnection) {
2889
- this.setMarkers(this.fComponentsStore.fSnapConnection);
2884
+ if (this._fComponentsStore.fSnapConnection) {
2885
+ this._setMarkers(this._fComponentsStore.fSnapConnection);
2890
2886
  }
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
- }
2887
+ this._fComponentsStore.fConnections.forEach((x) => {
2888
+ this._setupConnection(this._getOutput(x.fOutputId), this._getInput(x.fInputId), x);
2897
2889
  });
2898
2890
  }
2891
+ _getOutput(id) {
2892
+ const result = this._fComponentsStore.fOutputs.find((x) => x.fId === id);
2893
+ if (!result) {
2894
+ throw new Error(`Output with id ${id} not found`);
2895
+ }
2896
+ return result;
2897
+ }
2898
+ _getInput(id) {
2899
+ const result = this._fComponentsStore.fInputs.find((x) => x.fId === id);
2900
+ if (!result) {
2901
+ throw new Error(`Input with id ${id} not found`);
2902
+ }
2903
+ return result;
2904
+ }
2899
2905
  _resetConnectors() {
2900
- this.fComponentsStore.fOutputs.forEach((x) => x.resetConnected());
2901
- this.fComponentsStore.fInputs.forEach((x) => x.resetConnected());
2906
+ this._fComponentsStore.fOutputs.forEach((x) => x.resetConnected());
2907
+ this._fComponentsStore.fInputs.forEach((x) => x.resetConnected());
2902
2908
  }
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;
2909
+ _setupConnection(fOutput, fInput, fConnection) {
2910
+ fOutput.setConnected(fInput);
2911
+ fInput.setConnected(fOutput);
2912
+ const line = this._getLine(fOutput, fInput, fConnection);
2913
+ this._setMarkers(fConnection);
2914
+ fConnection.setLine(line.point1, fOutput.fConnectableSide, line.point2, fInput.fConnectableSide);
2915
+ fConnection.initialize();
2916
+ fConnection.isSelected() ? fConnection.markAsSelected() : null;
2911
2917
  }
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));
2918
+ _getLine(output, input, connection) {
2919
+ 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
2920
  }
2915
- setMarkers(connection) {
2916
- this.fMediator.execute(new CreateConnectionMarkersRequest(connection));
2921
+ _setMarkers(connection) {
2922
+ this._fMediator.execute(new CreateConnectionMarkersRequest(connection));
2917
2923
  }
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 });
2924
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RedrawConnectionsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2919
2925
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RedrawConnectionsExecution });
2920
2926
  };
2921
2927
  RedrawConnectionsExecution = __decorate([
@@ -2923,7 +2929,7 @@ RedrawConnectionsExecution = __decorate([
2923
2929
  ], RedrawConnectionsExecution);
2924
2930
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RedrawConnectionsExecution, decorators: [{
2925
2931
  type: Injectable
2926
- }], ctorParameters: () => [{ type: FComponentsStore }, { type: i2$1.FMediator }] });
2932
+ }] });
2927
2933
 
2928
2934
  class RemoveConnectionForCreateFromStoreRequest {
2929
2935
  }
@@ -3149,229 +3155,362 @@ class FindInputAtPositionRequest {
3149
3155
  }
3150
3156
  }
3151
3157
 
3152
- class CanvasMoveFinalizeRequest {
3153
- event;
3154
- constructor(event) {
3155
- this.event = event;
3158
+ let FindInputAtPositionExecution = class FindInputAtPositionExecution {
3159
+ _fMediator = inject(FMediator);
3160
+ _fComponentsStore = inject(FComponentsStore);
3161
+ _fBrowser = inject(BrowserService);
3162
+ get _transform() {
3163
+ return this._fComponentsStore.fCanvas.transform;
3156
3164
  }
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);
3165
+ get _fHost() {
3166
+ return this._fComponentsStore.fFlow.hostElement;
3169
3167
  }
3170
- markSelectionAsChanged() {
3171
- this.isSelectedChanged = true;
3168
+ get _fNodes() {
3169
+ return this._fComponentsStore.fNodes;
3172
3170
  }
3173
- isEmpty() {
3174
- return !this.draggableItems.length;
3171
+ get _fSnapConnection() {
3172
+ return this._fComponentsStore.fSnapConnection;
3175
3173
  }
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;
3174
+ handle(payload) {
3175
+ const fInputs = this._findInputsAtPosition(payload);
3176
+ return fInputs.length > 0 ? fInputs[0] : undefined;
3188
3177
  }
3189
- prepareDragSequence() {
3190
- this.onPointerDownPosition = this._fComponentsStore.fCanvas.transform.position;
3178
+ _findInputsAtPosition(request) {
3179
+ const result = [];
3180
+ result.push(...this._getConnectableInputsAtPosition(request));
3181
+ const fClosestInput = this._calculateClosetInput(request);
3182
+ if (fClosestInput) {
3183
+ result.unshift(fClosestInput.fConnector);
3184
+ }
3185
+ const fInput = this._getFirstConnectableInputOfNodeAtPosition(request);
3186
+ if (fInput) {
3187
+ result.push(fInput);
3188
+ }
3189
+ return result;
3191
3190
  }
3192
- onPointerMove(difference) {
3193
- this._fComponentsStore.fCanvas.setPosition(Point.fromPoint(this.onPointerDownPosition).add(difference));
3194
- this._fComponentsStore.fCanvas.redraw();
3191
+ _getConnectableInputsAtPosition(request) {
3192
+ return request.canBeConnectedInputs.filter((x) => {
3193
+ return RectExtensions.isIncludePoint(x.fRect, this._getPointInFlow(request.pointerPosition));
3194
+ }).map((x) => x.fConnector);
3195
3195
  }
3196
- onPointerUp() {
3197
- this._fComponentsStore.fCanvas.emitCanvasChangeEvent();
3196
+ _getPointInFlow(position) {
3197
+ return Point.fromPoint(position)
3198
+ .elementTransform(this._fHost)
3199
+ .sub(this._transform.scaledPosition).sub(this._transform.position)
3200
+ .div(this._transform.scale);
3198
3201
  }
3199
- }
3200
-
3201
- let CanvasMoveFinalizeExecution = class CanvasMoveFinalizeExecution {
3202
- _fDraggableDataContext = inject(FDraggableDataContext);
3203
- handle(request) {
3204
- if (!this._isValid()) {
3205
- return;
3202
+ //if the closest input is valid, return it
3203
+ _calculateClosetInput(request) {
3204
+ if (!this._fSnapConnection) {
3205
+ return undefined;
3206
3206
  }
3207
- this._fDraggableDataContext.draggableItems.forEach((x) => x.onPointerUp?.());
3207
+ const fClosestInput = this._fMediator.execute(new CalculateClosestInputRequest(this._getPointInFlow(request.pointerPosition), request.canBeConnectedInputs));
3208
+ return this._isValidClosestInput(fClosestInput) ? fClosestInput : undefined;
3208
3209
  }
3209
- _isValid() {
3210
- return this._fDraggableDataContext.draggableItems.some((x) => x instanceof CanvasDragHandler);
3210
+ _isValidClosestInput(fClosestInput) {
3211
+ return !!fClosestInput && fClosestInput.distance < this._fSnapConnection.fSnapThreshold;
3212
+ }
3213
+ //if node placed in position and fConnectOnNode is true, return the first connectable input of the node
3214
+ _getFirstConnectableInputOfNodeAtPosition(request) {
3215
+ return this._getElementsFromPoint(request.pointerPosition)
3216
+ .map((x) => this._findConnectableNode(x))
3217
+ .filter((x) => !!x)
3218
+ .map((x) => this._findFirstConnectableInputOfNode(request.canBeConnectedInputs, x))
3219
+ .find((x) => !!x);
3220
+ }
3221
+ _getElementsFromPoint(position) {
3222
+ return this._fBrowser.document.elementsFromPoint(position.x, position.y);
3223
+ }
3224
+ _findConnectableNode(element) {
3225
+ return this._fNodes.find((x) => x.isContains(element) && x.fConnectOnNode);
3211
3226
  }
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 });
3227
+ _findFirstConnectableInputOfNode(connectableInputs, fNode) {
3228
+ return connectableInputs.find((x) => x.fConnector.fNodeId === fNode.fId)?.fConnector;
3229
+ }
3230
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindInputAtPositionExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3231
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindInputAtPositionExecution });
3214
3232
  };
3215
- CanvasMoveFinalizeExecution = __decorate([
3216
- FExecutionRegister(CanvasMoveFinalizeRequest)
3217
- ], CanvasMoveFinalizeExecution);
3218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMoveFinalizeExecution, decorators: [{
3233
+ FindInputAtPositionExecution = __decorate([
3234
+ FExecutionRegister(FindInputAtPositionRequest)
3235
+ ], FindInputAtPositionExecution);
3236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindInputAtPositionExecution, decorators: [{
3219
3237
  type: Injectable
3220
3238
  }] });
3221
3239
 
3222
- class CanvasMovePreparationRequest {
3223
- event;
3224
- constructor(event) {
3225
- this.event = event;
3240
+ class GetAllCanBeConnectedInputsAndRectsRequest {
3241
+ fOutputOrOutlet;
3242
+ constructor(fOutputOrOutlet) {
3243
+ this.fOutputOrOutlet = fOutputOrOutlet;
3226
3244
  }
3227
3245
  }
3228
3246
 
3229
- let CanvasMovePreparationExecution = class CanvasMovePreparationExecution {
3230
- _fComponentsStore = inject(FComponentsStore);
3231
- _fDraggableDataContext = inject(FDraggableDataContext);
3232
- get _fHost() {
3233
- return this._fComponentsStore.fFlow.hostElement;
3247
+ class GetConnectorAndRectRequest {
3248
+ fConnector;
3249
+ constructor(fConnector) {
3250
+ this.fConnector = fConnector;
3234
3251
  }
3252
+ }
3253
+
3254
+ let GetConnectorAndRectExecution = class GetConnectorAndRectExecution {
3255
+ _fMediator = inject(FMediator);
3235
3256
  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
- ];
3257
+ return {
3258
+ fConnector: request.fConnector,
3259
+ fRect: this._getConnectorRect(request.fConnector)
3260
+ };
3245
3261
  }
3246
- _isValid(request) {
3247
- return this._fDraggableDataContext.isEmpty() &&
3248
- (this._isBackgroundElement(request.event.targetElement) || this._isDragOnHost(request.event.targetElement));
3262
+ _getConnectorRect(fConnector) {
3263
+ return this._fMediator.execute(new GetNormalizedElementRectRequest(fConnector.hostElement, true));
3249
3264
  }
3250
- _isBackgroundElement(targetElement) {
3251
- return this._fComponentsStore.fBackground?.hostElement.contains(targetElement);
3265
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorAndRectExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3266
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorAndRectExecution });
3267
+ };
3268
+ GetConnectorAndRectExecution = __decorate([
3269
+ FExecutionRegister(GetConnectorAndRectRequest)
3270
+ ], GetConnectorAndRectExecution);
3271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorAndRectExecution, decorators: [{
3272
+ type: Injectable
3273
+ }] });
3274
+
3275
+ let GetAllCanBeConnectedInputsAndRectsExecution = class GetAllCanBeConnectedInputsAndRectsExecution {
3276
+ _fMediator = inject(FMediator);
3277
+ _fComponentsStore = inject(FComponentsStore);
3278
+ get _fInputs() {
3279
+ return this._fComponentsStore.fInputs;
3252
3280
  }
3253
- _isDragOnHost(targetElement) {
3254
- return this._fHost.contains(targetElement) && !this._getNode(targetElement);
3281
+ handle(payload) {
3282
+ return this._getCanBeConnectedInputs(payload.fOutputOrOutlet).map((x) => {
3283
+ return this._fMediator.execute(new GetConnectorAndRectRequest(x));
3284
+ });
3255
3285
  }
3256
- _getNode(targetElement) {
3257
- let result = this._fComponentsStore.fNodes
3258
- .find(x => x.isContains(targetElement));
3259
- if (result && result.fDraggingDisabled) {
3260
- result = undefined;
3286
+ _getCanBeConnectedInputs(fOutputOrOutlet) {
3287
+ let fInputs = [];
3288
+ if (fOutputOrOutlet.canBeConnectedInputs?.length) {
3289
+ fInputs = this._fInputs.filter((x) => fOutputOrOutlet.canBeConnectedInputs.includes(x.fId));
3261
3290
  }
3262
- return result;
3291
+ else {
3292
+ fInputs = this._fInputs.filter((x) => x.canBeConnected);
3293
+ if (!fOutputOrOutlet.isSelfConnectable) {
3294
+ fInputs = this._filterSelfConnectable(fInputs, fOutputOrOutlet);
3295
+ }
3296
+ }
3297
+ return fInputs;
3298
+ }
3299
+ _filterSelfConnectable(fInputs, fOutputOrOutlet) {
3300
+ return fInputs.filter((x) => fOutputOrOutlet.fNodeId !== x.fNodeId);
3263
3301
  }
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 });
3302
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetAllCanBeConnectedInputsAndRectsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3303
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetAllCanBeConnectedInputsAndRectsExecution });
3266
3304
  };
3267
- CanvasMovePreparationExecution = __decorate([
3268
- FExecutionRegister(CanvasMovePreparationRequest)
3269
- ], CanvasMovePreparationExecution);
3270
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMovePreparationExecution, decorators: [{
3305
+ GetAllCanBeConnectedInputsAndRectsExecution = __decorate([
3306
+ FExecutionRegister(GetAllCanBeConnectedInputsAndRectsRequest)
3307
+ ], GetAllCanBeConnectedInputsAndRectsExecution);
3308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetAllCanBeConnectedInputsAndRectsExecution, decorators: [{
3271
3309
  type: Injectable
3272
3310
  }] });
3273
3311
 
3274
- const CANVAS_PROVIDERS = [
3275
- CanvasMoveFinalizeExecution,
3276
- CanvasMovePreparationExecution,
3277
- ];
3278
-
3279
- class CreateConnectionFinalizeRequest {
3280
- event;
3281
- constructor(event) {
3282
- this.event = event;
3312
+ class MarkAllCanBeConnectedInputsRequest {
3313
+ fInputs;
3314
+ constructor(fInputs) {
3315
+ this.fInputs = fInputs;
3283
3316
  }
3284
3317
  }
3285
3318
 
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
- }
3295
-
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
- });
3319
+ const F_CSS_CLASS = {
3320
+ DRAG_AND_DROP: {
3321
+ DRAGGING: 'f-dragging',
3322
+ CONNECTIONS_DRAGGING: 'f-connections-dragging',
3323
+ },
3324
+ CONNECTOR: {
3325
+ OUTPUT_CONNECTED: 'f-node-output-connected',
3326
+ OUTPUT_NOT_CONNECTABLE: 'f-node-output-not-connectable',
3327
+ INPUT_CONNECTED: 'f-node-input-connected',
3328
+ INPUT_NOT_CONNECTABLE: 'f-node-input-not-connectable',
3329
+ INPUT_CAN_BE_CONNECTED_TO: 'f-node-input-can-be-connected-to',
3330
+ }
3331
+ };
3307
3332
 
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`);
3333
+ let MarkAllCanBeConnectedInputsExecution = class MarkAllCanBeConnectedInputsExecution {
3334
+ _fComponentsStore = inject(FComponentsStore);
3335
+ handle(payload) {
3336
+ this._fComponentsStore.flowHost.classList.add(F_CSS_CLASS.DRAG_AND_DROP.CONNECTIONS_DRAGGING);
3337
+ payload.fInputs.forEach((fInput) => this._markCanBeConnectedTo(fInput));
3338
+ }
3339
+ _markCanBeConnectedTo(fInput) {
3340
+ fInput.hostElement.classList.add(F_CSS_CLASS.CONNECTOR.INPUT_CAN_BE_CONNECTED_TO);
3341
+ }
3342
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkAllCanBeConnectedInputsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3343
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkAllCanBeConnectedInputsExecution });
3344
+ };
3345
+ MarkAllCanBeConnectedInputsExecution = __decorate([
3346
+ FExecutionRegister(MarkAllCanBeConnectedInputsRequest)
3347
+ ], MarkAllCanBeConnectedInputsExecution);
3348
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkAllCanBeConnectedInputsExecution, decorators: [{
3349
+ type: Injectable
3350
+ }] });
3351
+
3352
+ class RemoveInputFromStoreRequest {
3353
+ fComponent;
3354
+ constructor(fComponent) {
3355
+ this.fComponent = fComponent;
3356
+ }
3316
3357
  }
3317
3358
 
3318
- class GetCanBeConnectedOutputByOutletRequest {
3319
- fOutlet;
3320
- constructor(fOutlet) {
3321
- this.fOutlet = fOutlet;
3359
+ let RemoveInputFromStoreExecution = class RemoveInputFromStoreExecution {
3360
+ _fComponentsStore = inject(FComponentsStore);
3361
+ handle(request) {
3362
+ this._fComponentsStore.removeComponent(this._fComponentsStore.fInputs, request.fComponent);
3363
+ }
3364
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveInputFromStoreExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3365
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveInputFromStoreExecution });
3366
+ };
3367
+ RemoveInputFromStoreExecution = __decorate([
3368
+ FExecutionRegister(RemoveInputFromStoreRequest)
3369
+ ], RemoveInputFromStoreExecution);
3370
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveInputFromStoreExecution, decorators: [{
3371
+ type: Injectable
3372
+ }] });
3373
+
3374
+ class RemoveOutletFromStoreRequest {
3375
+ fComponent;
3376
+ constructor(fComponent) {
3377
+ this.fComponent = fComponent;
3322
3378
  }
3323
3379
  }
3324
3380
 
3325
- let GetCanBeConnectedOutputByOutletExecution = class GetCanBeConnectedOutputByOutletExecution {
3326
- _fComponentStore = inject(FComponentsStore);
3327
- get _fNodes() {
3328
- return this._fComponentStore.fNodes;
3381
+ let RemoveOutletFromStoreExecution = class RemoveOutletFromStoreExecution {
3382
+ _fComponentsStore = inject(FComponentsStore);
3383
+ handle(request) {
3384
+ this._fComponentsStore.removeComponent(this._fComponentsStore.fOutlets, request.fComponent);
3329
3385
  }
3330
- get _fOutputs() {
3331
- return this._fComponentStore.fOutputs;
3386
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutletFromStoreExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3387
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutletFromStoreExecution });
3388
+ };
3389
+ RemoveOutletFromStoreExecution = __decorate([
3390
+ FExecutionRegister(RemoveOutletFromStoreRequest)
3391
+ ], RemoveOutletFromStoreExecution);
3392
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutletFromStoreExecution, decorators: [{
3393
+ type: Injectable
3394
+ }] });
3395
+
3396
+ class RemoveOutputFromStoreRequest {
3397
+ fComponent;
3398
+ constructor(fComponent) {
3399
+ this.fComponent = fComponent;
3332
3400
  }
3333
- _fNode;
3401
+ }
3402
+
3403
+ let RemoveOutputFromStoreExecution = class RemoveOutputFromStoreExecution {
3404
+ _fComponentsStore = inject(FComponentsStore);
3334
3405
  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];
3406
+ this._fComponentsStore.removeComponent(this._fComponentsStore.fOutputs, request.fComponent);
3343
3407
  }
3344
- _isValid(request) {
3345
- return !!this._getNode(request.fOutlet);
3408
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutputFromStoreExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3409
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutputFromStoreExecution });
3410
+ };
3411
+ RemoveOutputFromStoreExecution = __decorate([
3412
+ FExecutionRegister(RemoveOutputFromStoreRequest)
3413
+ ], RemoveOutputFromStoreExecution);
3414
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutputFromStoreExecution, decorators: [{
3415
+ type: Injectable
3416
+ }] });
3417
+
3418
+ class UnmarkAllCanBeConnectedInputsRequest {
3419
+ fInputs;
3420
+ constructor(fInputs) {
3421
+ this.fInputs = fInputs;
3346
3422
  }
3347
- _getNode(fOutlet) {
3348
- this._fNode = this._fNodes.find((x) => x.isContains(fOutlet.hostElement));
3349
- return this._fNode;
3423
+ }
3424
+
3425
+ let UnmarkAllCanBeConnectedInputsExecution = class UnmarkAllCanBeConnectedInputsExecution {
3426
+ _fComponentsStore = inject(FComponentsStore);
3427
+ handle(payload) {
3428
+ this._fComponentsStore.flowHost.classList.remove(F_CSS_CLASS.DRAG_AND_DROP.CONNECTIONS_DRAGGING);
3429
+ payload.fInputs.forEach((fInput) => this._unmarkCanBeConnectedTo(fInput));
3350
3430
  }
3351
- _getConnectableOutputs() {
3352
- return this._fOutputs
3353
- .filter((x) => this._fNode.isContains(x.hostElement) && x.canBeConnected);
3431
+ _unmarkCanBeConnectedTo(fInput) {
3432
+ fInput.hostElement.classList.remove(F_CSS_CLASS.CONNECTOR.INPUT_CAN_BE_CONNECTED_TO);
3354
3433
  }
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 });
3434
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UnmarkAllCanBeConnectedInputsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3435
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UnmarkAllCanBeConnectedInputsExecution });
3357
3436
  };
3358
- GetCanBeConnectedOutputByOutletExecution = __decorate([
3359
- FExecutionRegister(GetCanBeConnectedOutputByOutletRequest)
3360
- ], GetCanBeConnectedOutputByOutletExecution);
3361
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCanBeConnectedOutputByOutletExecution, decorators: [{
3437
+ UnmarkAllCanBeConnectedInputsExecution = __decorate([
3438
+ FExecutionRegister(UnmarkAllCanBeConnectedInputsRequest)
3439
+ ], UnmarkAllCanBeConnectedInputsExecution);
3440
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UnmarkAllCanBeConnectedInputsExecution, decorators: [{
3362
3441
  type: Injectable
3363
3442
  }] });
3364
3443
 
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;
3444
+ const F_CONNECTORS_FEATURES = [
3445
+ AddInputToStoreExecution,
3446
+ AddOutletToStoreExecution,
3447
+ AddOutputToStoreExecution,
3448
+ CalculateClosestInputExecution,
3449
+ FindInputAtPositionExecution,
3450
+ GetAllCanBeConnectedInputsAndRectsExecution,
3451
+ GetConnectorAndRectExecution,
3452
+ MarkAllCanBeConnectedInputsExecution,
3453
+ RemoveInputFromStoreExecution,
3454
+ RemoveOutletFromStoreExecution,
3455
+ RemoveOutputFromStoreExecution,
3456
+ UnmarkAllCanBeConnectedInputsExecution
3457
+ ];
3458
+
3459
+ class AddDndToStoreRequest {
3460
+ fComponent;
3461
+ constructor(fComponent) {
3462
+ this.fComponent = fComponent;
3463
+ }
3464
+ }
3465
+
3466
+ let AddDndToStoreExecution = class AddDndToStoreExecution {
3467
+ _fComponentsStore = inject(FComponentsStore);
3468
+ handle(request) {
3469
+ this._fComponentsStore.fDraggable = request.fComponent;
3470
+ }
3471
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AddDndToStoreExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3472
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AddDndToStoreExecution });
3473
+ };
3474
+ AddDndToStoreExecution = __decorate([
3475
+ FExecutionRegister(AddDndToStoreRequest)
3476
+ ], AddDndToStoreExecution);
3477
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AddDndToStoreExecution, decorators: [{
3478
+ type: Injectable
3479
+ }] });
3480
+
3481
+ class EmitSelectionChangeEventRequest {
3482
+ }
3483
+
3484
+ class FCanvasMoveFinalizeRequest {
3485
+ event;
3486
+ constructor(event) {
3487
+ this.event = event;
3488
+ }
3489
+ }
3490
+
3491
+ class FDraggableDataContext {
3492
+ selectedItems = [];
3493
+ isSelectedChanged = false;
3494
+ onPointerDownScale = 1;
3495
+ onPointerDownPosition = new Point(0, 0);
3496
+ draggableItems = [];
3497
+ reset() {
3498
+ this.draggableItems = [];
3499
+ this.onPointerDownScale = 1;
3500
+ this.onPointerDownPosition = new Point(0, 0);
3501
+ }
3502
+ markSelectionAsChanged() {
3503
+ this.isSelectedChanged = true;
3504
+ }
3505
+ isEmpty() {
3506
+ return !this.draggableItems.length;
3373
3507
  }
3508
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDataContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3509
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDataContext });
3374
3510
  }
3511
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDataContext, decorators: [{
3512
+ type: Injectable
3513
+ }] });
3375
3514
 
3376
3515
  class FInjector {
3377
3516
  static _injector;
@@ -3392,57 +3531,275 @@ function fInject(token) {
3392
3531
  return FInjector.get().get(token);
3393
3532
  }
3394
3533
 
3395
- class CreateConnectionDragHandler {
3396
- _fOutputOrOutlet;
3397
- _fMediator = fInject(FMediator);
3534
+ class FCanvasDragHandler {
3535
+ fEventType = 'canvas-move';
3398
3536
  _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
- }
3537
+ _onPointerDownPosition = PointExtensions.initialize();
3412
3538
  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());
3539
+ this._onPointerDownPosition = this._fComponentsStore.fCanvas.transform.position;
3419
3540
  }
3420
- _getAndMarkCanBeConnectedInputs() {
3421
- this._canBeConnectedInputs = this._fMediator.execute(new GetAllCanBeConnectedInputsAndRectsRequest(this._fOutputOrOutlet));
3422
- this._fMediator.execute(new MarkAllCanBeConnectedInputsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
3541
+ onPointerMove(difference) {
3542
+ this._fComponentsStore.fCanvas.setPosition(Point.fromPoint(this._onPointerDownPosition).add(difference));
3543
+ this._fComponentsStore.fCanvas.redraw();
3423
3544
  }
3424
- _initializeSnapConnection() {
3425
- if (!this._fSnapConnection) {
3545
+ onPointerUp() {
3546
+ this._fComponentsStore.fCanvas.emitCanvasChangeEvent();
3547
+ }
3548
+ }
3549
+
3550
+ let FCanvasMoveFinalizeExecution = class FCanvasMoveFinalizeExecution {
3551
+ _fDraggableDataContext = inject(FDraggableDataContext);
3552
+ handle(request) {
3553
+ if (!this._isValid()) {
3426
3554
  return;
3427
3555
  }
3428
- this._fSnapConnection.fOutputId = this._fOutputOrOutlet.fId;
3429
- this._fSnapConnection.initialize();
3430
- }
3431
- _initializeConnectionForCreate() {
3432
- this._fConnection.fOutputId = this._fOutputOrOutlet.fId;
3433
- this._fConnection.initialize();
3556
+ this._fDraggableDataContext.draggableItems.forEach((x) => x.onPointerUp?.());
3434
3557
  }
3435
- onPointerMove(difference) {
3436
- const fClosestInput = this._findClosestInput(difference);
3437
- this._drawConnectionForCreate(this._toConnectorRect.addPoint(difference), fClosestInput?.fConnector.fConnectableSide || EFConnectableSide.TOP);
3438
- if (this._fSnapConnection) {
3439
- this._drawSnapConnection(this._getClosestInputForSnapConnection(fClosestInput));
3440
- }
3558
+ _isValid() {
3559
+ return this._fDraggableDataContext.draggableItems.some((x) => x instanceof FCanvasDragHandler);
3441
3560
  }
3442
- _drawConnectionForCreate(toConnectorRect, fSide) {
3443
- const line = this._fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, toConnectorRect, this._fConnection.fBehavior, this._fOutputWithRect.fConnector.fConnectableSide, fSide));
3444
- this._fConnection.setLine(line.point1, this._fOutputWithRect.fConnector.fConnectableSide, line.point2, fSide);
3445
- this._fConnection.redraw();
3561
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCanvasMoveFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3562
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCanvasMoveFinalizeExecution });
3563
+ };
3564
+ FCanvasMoveFinalizeExecution = __decorate([
3565
+ FExecutionRegister(FCanvasMoveFinalizeRequest)
3566
+ ], FCanvasMoveFinalizeExecution);
3567
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCanvasMoveFinalizeExecution, decorators: [{
3568
+ type: Injectable
3569
+ }] });
3570
+
3571
+ class FCanvasMovePreparationRequest {
3572
+ event;
3573
+ constructor(event) {
3574
+ this.event = event;
3575
+ }
3576
+ }
3577
+
3578
+ let FCanvasMovePreparationExecution = class FCanvasMovePreparationExecution {
3579
+ _fComponentsStore = inject(FComponentsStore);
3580
+ _fDraggableDataContext = inject(FDraggableDataContext);
3581
+ get _fHost() {
3582
+ return this._fComponentsStore.fFlow.hostElement;
3583
+ }
3584
+ handle(request) {
3585
+ if (!this._isValid(request)) {
3586
+ return;
3587
+ }
3588
+ this._fDraggableDataContext.onPointerDownScale = 1;
3589
+ this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
3590
+ .elementTransform(this._fHost);
3591
+ this._fDraggableDataContext.draggableItems = [new FCanvasDragHandler()];
3592
+ }
3593
+ _isValid(request) {
3594
+ return this._fDraggableDataContext.isEmpty() &&
3595
+ (this._isBackgroundElement(request.event.targetElement) || this._isDragOnHost(request.event.targetElement));
3596
+ }
3597
+ _isBackgroundElement(targetElement) {
3598
+ return this._fComponentsStore.fBackground?.hostElement.contains(targetElement);
3599
+ }
3600
+ _isDragOnHost(targetElement) {
3601
+ return this._fHost.contains(targetElement) && !this._getNode(targetElement);
3602
+ }
3603
+ _getNode(targetElement) {
3604
+ let result = this._fComponentsStore.fNodes
3605
+ .find(x => x.isContains(targetElement));
3606
+ if (result && result.fDraggingDisabled) {
3607
+ result = undefined;
3608
+ }
3609
+ return result;
3610
+ }
3611
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCanvasMovePreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3612
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCanvasMovePreparationExecution });
3613
+ };
3614
+ FCanvasMovePreparationExecution = __decorate([
3615
+ FExecutionRegister(FCanvasMovePreparationRequest)
3616
+ ], FCanvasMovePreparationExecution);
3617
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCanvasMovePreparationExecution, decorators: [{
3618
+ type: Injectable
3619
+ }] });
3620
+
3621
+ const CANVAS_PROVIDERS = [
3622
+ FCanvasMoveFinalizeExecution,
3623
+ FCanvasMovePreparationExecution,
3624
+ ];
3625
+
3626
+ class FDragHandlerResult {
3627
+ _data;
3628
+ setData(data) {
3629
+ this._data = { ...this._data, ...data };
3630
+ }
3631
+ getData() {
3632
+ return this._data;
3633
+ }
3634
+ clear() {
3635
+ this._data = undefined;
3636
+ }
3637
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDragHandlerResult, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3638
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDragHandlerResult });
3639
+ }
3640
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDragHandlerResult, decorators: [{
3641
+ type: Injectable
3642
+ }] });
3643
+
3644
+ class FCreateConnectionFinalizeRequest {
3645
+ event;
3646
+ constructor(event) {
3647
+ this.event = event;
3648
+ }
3649
+ }
3650
+
3651
+ function createErrorClass(impl) {
3652
+ const _super = (instance) => {
3653
+ Error.call(instance);
3654
+ };
3655
+ const constructor = impl(_super);
3656
+ constructor.prototype = Object.create(Error.prototype);
3657
+ constructor.prototype.constructor = constructor;
3658
+ return constructor;
3659
+ }
3660
+
3661
+ const NotFoundError = createErrorClass((_super) => function error(message) {
3662
+ _super(this);
3663
+ this.message = message || 'The requested resource was not found.';
3664
+ this.code = 404;
3665
+ });
3666
+
3667
+ const ConflictError = createErrorClass((_super) => function error(message) {
3668
+ _super(this);
3669
+ this.message = message || 'Conflict error occurred.';
3670
+ this.code = 409;
3671
+ });
3672
+
3673
+ function OutputNotFound(id) {
3674
+ return new NotFoundError(`Output with fOutputId ${id} not found. Make sure there is no f-connection to a non-existent fOutput.`);
3675
+ }
3676
+ function InputNotFound(id) {
3677
+ return new NotFoundError(`Input with fInputId ${id} not found. Make sure there is no f-connection to a non-existent fInput.`);
3678
+ }
3679
+ function RequiredOutput() {
3680
+ return new ConflictError(`The fNode must contain at least one fOutput if there is an fOutlet`);
3681
+ }
3682
+
3683
+ class GetFirstConnectableOutputRequest {
3684
+ fOutlet;
3685
+ constructor(fOutlet) {
3686
+ this.fOutlet = fOutlet;
3687
+ }
3688
+ }
3689
+
3690
+ let GetFirstConnectableOutputExecution = class GetFirstConnectableOutputExecution {
3691
+ _fComponentStore = inject(FComponentsStore);
3692
+ get _fNodes() {
3693
+ return this._fComponentStore.fNodes;
3694
+ }
3695
+ get _fOutputs() {
3696
+ return this._fComponentStore.fOutputs;
3697
+ }
3698
+ _fNode;
3699
+ handle(request) {
3700
+ if (!this._isValid(request)) {
3701
+ return;
3702
+ }
3703
+ const fOutputs = this._getConnectableOutputs();
3704
+ if (!fOutputs.length) {
3705
+ throw new Error('The fNode must contain at least one fOutput if there is an fOutlet');
3706
+ }
3707
+ return fOutputs[0];
3708
+ }
3709
+ _isValid(request) {
3710
+ return !!this._getNode(request.fOutlet);
3711
+ }
3712
+ _getNode(fOutlet) {
3713
+ this._fNode = this._fNodes.find((x) => x.isContains(fOutlet.hostElement));
3714
+ return this._fNode;
3715
+ }
3716
+ _getConnectableOutputs() {
3717
+ return this._fOutputs
3718
+ .filter((x) => this._fNode.isContains(x.hostElement) && x.canBeConnected);
3719
+ }
3720
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFirstConnectableOutputExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3721
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFirstConnectableOutputExecution });
3722
+ };
3723
+ GetFirstConnectableOutputExecution = __decorate([
3724
+ FExecutionRegister(GetFirstConnectableOutputRequest)
3725
+ ], GetFirstConnectableOutputExecution);
3726
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetFirstConnectableOutputExecution, decorators: [{
3727
+ type: Injectable
3728
+ }] });
3729
+
3730
+ class FCreateConnectionEvent {
3731
+ fOutputId;
3732
+ fInputId;
3733
+ fDropPosition;
3734
+ constructor(fOutputId, fInputId, fDropPosition) {
3735
+ this.fOutputId = fOutputId;
3736
+ this.fInputId = fInputId;
3737
+ this.fDropPosition = fDropPosition;
3738
+ }
3739
+ }
3740
+
3741
+ class FCreateConnectionDragHandler {
3742
+ _fOutputOrOutlet;
3743
+ fEventType = 'create-connection';
3744
+ fData;
3745
+ _fResult = fInject((FDragHandlerResult));
3746
+ _fMediator = fInject(FMediator);
3747
+ _fComponentsStore = fInject(FComponentsStore);
3748
+ _toConnectorRect = new RoundedRect();
3749
+ get _fConnection() {
3750
+ return this._fComponentsStore.fTempConnection;
3751
+ }
3752
+ get _fSnapConnection() {
3753
+ return this._fComponentsStore.fSnapConnection;
3754
+ }
3755
+ _fOutputWithRect;
3756
+ _canBeConnectedInputs = [];
3757
+ constructor(_fOutputOrOutlet, _onPointerDownPosition) {
3758
+ this._fOutputOrOutlet = _fOutputOrOutlet;
3759
+ this._toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(_onPointerDownPosition.x, _onPointerDownPosition.y));
3760
+ this.fData = {
3761
+ fOutputOrOutletId: this._fOutputOrOutlet.fId,
3762
+ };
3763
+ }
3764
+ prepareDragSequence() {
3765
+ this._getAndMarkCanBeConnectedInputs();
3766
+ this._initializeSnapConnection();
3767
+ this._initializeConnectionForCreate();
3768
+ this._fOutputWithRect = this._fMediator.execute(new GetConnectorAndRectRequest(this._fOutputOrOutlet));
3769
+ this._fConnection.show();
3770
+ this.onPointerMove(PointExtensions.initialize());
3771
+ this._fResult.setData({
3772
+ toConnectorRect: this._toConnectorRect,
3773
+ canBeConnectedInputs: this._canBeConnectedInputs,
3774
+ fOutputId: this._fOutputOrOutlet.fId,
3775
+ });
3776
+ }
3777
+ _getAndMarkCanBeConnectedInputs() {
3778
+ this._canBeConnectedInputs = this._fMediator.execute(new GetAllCanBeConnectedInputsAndRectsRequest(this._fOutputOrOutlet));
3779
+ this._fMediator.execute(new MarkAllCanBeConnectedInputsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
3780
+ }
3781
+ _initializeSnapConnection() {
3782
+ if (!this._fSnapConnection) {
3783
+ return;
3784
+ }
3785
+ this._fSnapConnection.fOutputId = this._fOutputOrOutlet.fId;
3786
+ this._fSnapConnection.initialize();
3787
+ }
3788
+ _initializeConnectionForCreate() {
3789
+ this._fConnection.fOutputId = this._fOutputOrOutlet.fId;
3790
+ this._fConnection.initialize();
3791
+ }
3792
+ onPointerMove(difference) {
3793
+ const fClosestInput = this._findClosestInput(difference);
3794
+ this._drawConnectionForCreate(this._toConnectorRect.addPoint(difference), fClosestInput?.fConnector.fConnectableSide || EFConnectableSide.TOP);
3795
+ if (this._fSnapConnection) {
3796
+ this._drawSnapConnection(this._getClosestInputForSnapConnection(fClosestInput));
3797
+ }
3798
+ }
3799
+ _drawConnectionForCreate(toConnectorRect, fSide) {
3800
+ const line = this._fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, toConnectorRect, this._fConnection.fBehavior, this._fOutputWithRect.fConnector.fConnectableSide, fSide));
3801
+ this._fConnection.setLine(line.point1, this._fOutputWithRect.fConnector.fConnectableSide, line.point2, fSide);
3802
+ this._fConnection.redraw();
3446
3803
  }
3447
3804
  _drawSnapConnection(fClosestInput) {
3448
3805
  if (fClosestInput) {
@@ -3467,26 +3824,15 @@ class CreateConnectionDragHandler {
3467
3824
  this._fSnapConnection?.hide();
3468
3825
  this._fMediator.execute(new UnmarkAllCanBeConnectedInputsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
3469
3826
  }
3470
- getData() {
3471
- return {
3472
- toConnectorRect: this._toConnectorRect,
3473
- fOutputId: this._fOutputOrOutlet.fId,
3474
- canBeConnectedInputs: this._canBeConnectedInputs
3475
- };
3476
- }
3477
3827
  }
3478
3828
 
3479
- let CreateConnectionFinalizeExecution = class CreateConnectionFinalizeExecution {
3480
- fComponentsStore;
3481
- fDraggableDataContext;
3482
- fMediator;
3829
+ let FCreateConnectionFinalizeExecution = class FCreateConnectionFinalizeExecution {
3830
+ _fResult = inject(FDragHandlerResult);
3831
+ _fMediator = inject(FMediator);
3832
+ _fComponentsStore = inject(FComponentsStore);
3833
+ _fDraggableDataContext = inject(FDraggableDataContext);
3483
3834
  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;
3835
+ return this._fDraggableDataContext.draggableItems[0];
3490
3836
  }
3491
3837
  handle(request) {
3492
3838
  if (!this._isValid()) {
@@ -3496,40 +3842,37 @@ let CreateConnectionFinalizeExecution = class CreateConnectionFinalizeExecution
3496
3842
  this._fDragHandler.onPointerUp();
3497
3843
  }
3498
3844
  _isValid() {
3499
- return this.fDraggableDataContext.draggableItems.some((x) => x instanceof CreateConnectionDragHandler);
3845
+ return this._fDraggableDataContext.draggableItems.some((x) => x instanceof FCreateConnectionDragHandler);
3500
3846
  }
3501
3847
  getTargetOutput(output) {
3502
3848
  if (!output) {
3503
- throw OutputNotFound(this._getDragHandlerData().fOutputId);
3849
+ throw OutputNotFound(this._fResult.getData().fOutputId);
3504
3850
  }
3505
- return isNodeOutlet(output.hostElement) ? this.fMediator.execute(new GetCanBeConnectedOutputByOutletRequest(output)) : output;
3851
+ return isNodeOutlet(output.hostElement) ? this._fMediator.execute(new GetFirstConnectableOutputRequest(output)) : output;
3506
3852
  }
3507
3853
  getOutput() {
3508
- return this.fComponentsStore.fOutputs.find((x) => x.fId === this._getDragHandlerData().fOutputId);
3854
+ return this._fComponentsStore.fOutputs.find((x) => x.fId === this._fResult.getData().fOutputId);
3509
3855
  }
3510
3856
  getOutlet() {
3511
- return this.fComponentsStore.fOutlets.find((x) => x.fId === this._getDragHandlerData().fOutputId);
3857
+ return this._fComponentsStore.fOutlets.find((x) => x.fId === this._fResult.getData().fOutputId);
3512
3858
  }
3513
3859
  emitEvent(event) {
3514
- this.fComponentsStore.fDraggable?.fCreateConnection.emit(new FCreateConnectionEvent(this.getTargetOutput(this.getOutput() || this.getOutlet()).fId, this._getInputUnderPointer(event)?.fId, event.getPosition()));
3860
+ this._fComponentsStore.fDraggable?.fCreateConnection.emit(new FCreateConnectionEvent(this.getTargetOutput(this.getOutput() || this.getOutlet()).fId, this._getInputUnderPointer(event)?.fId, event.getPosition()));
3515
3861
  }
3516
3862
  _getInputUnderPointer(event) {
3517
- return this.fMediator.execute(new FindInputAtPositionRequest(event.getPosition(), this._getDragHandlerData().toConnectorRect, this._getDragHandlerData().canBeConnectedInputs));
3863
+ return this._fMediator.execute(new FindInputAtPositionRequest(event.getPosition(), this._fResult.getData().toConnectorRect, this._fResult.getData().canBeConnectedInputs));
3518
3864
  }
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 });
3865
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3866
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFinalizeExecution });
3524
3867
  };
3525
- CreateConnectionFinalizeExecution = __decorate([
3526
- FExecutionRegister(CreateConnectionFinalizeRequest)
3527
- ], CreateConnectionFinalizeExecution);
3528
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFinalizeExecution, decorators: [{
3868
+ FCreateConnectionFinalizeExecution = __decorate([
3869
+ FExecutionRegister(FCreateConnectionFinalizeRequest)
3870
+ ], FCreateConnectionFinalizeExecution);
3871
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFinalizeExecution, decorators: [{
3529
3872
  type: Injectable
3530
- }], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: i2$1.FMediator }] });
3873
+ }] });
3531
3874
 
3532
- class CreateConnectionDragHandlerPreparationRequest {
3875
+ class FCreateConnectionDragHandlerPreparationRequest {
3533
3876
  onPointerDownPosition;
3534
3877
  fOutputOrOutlet;
3535
3878
  constructor(onPointerDownPosition, fOutputOrOutlet) {
@@ -3538,7 +3881,7 @@ class CreateConnectionDragHandlerPreparationRequest {
3538
3881
  }
3539
3882
  }
3540
3883
 
3541
- let CreateConnectionDragHandlerPreparationExecution = class CreateConnectionDragHandlerPreparationExecution {
3884
+ let FCreateConnectionDragHandlerPreparationExecution = class FCreateConnectionDragHandlerPreparationExecution {
3542
3885
  _fComponentsStore = inject(FComponentsStore);
3543
3886
  _fDraggableDataContext = inject(FDraggableDataContext);
3544
3887
  get _fHost() {
@@ -3555,20 +3898,20 @@ let CreateConnectionDragHandlerPreparationExecution = class CreateConnectionDrag
3555
3898
  const positionRelativeToCanvasComponent = Point.fromPoint(positionRelativeToFlowComponent).mult(this._transform.scale)
3556
3899
  .sub(this._transform.position).sub(this._transform.scaledPosition).div(this._transform.scale);
3557
3900
  this._fDraggableDataContext.draggableItems = [
3558
- new CreateConnectionDragHandler(request.fOutputOrOutlet, positionRelativeToCanvasComponent)
3901
+ new FCreateConnectionDragHandler(request.fOutputOrOutlet, positionRelativeToCanvasComponent)
3559
3902
  ];
3560
3903
  }
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 });
3904
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionDragHandlerPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3905
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionDragHandlerPreparationExecution });
3563
3906
  };
3564
- CreateConnectionDragHandlerPreparationExecution = __decorate([
3565
- FExecutionRegister(CreateConnectionDragHandlerPreparationRequest)
3566
- ], CreateConnectionDragHandlerPreparationExecution);
3567
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionDragHandlerPreparationExecution, decorators: [{
3907
+ FCreateConnectionDragHandlerPreparationExecution = __decorate([
3908
+ FExecutionRegister(FCreateConnectionDragHandlerPreparationRequest)
3909
+ ], FCreateConnectionDragHandlerPreparationExecution);
3910
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionDragHandlerPreparationExecution, decorators: [{
3568
3911
  type: Injectable
3569
3912
  }] });
3570
3913
 
3571
- class CreateConnectionFromOutletPreparationRequest {
3914
+ class FCreateConnectionFromOutletPreparationRequest {
3572
3915
  event;
3573
3916
  fNode;
3574
3917
  constructor(event, fNode) {
@@ -3577,7 +3920,7 @@ class CreateConnectionFromOutletPreparationRequest {
3577
3920
  }
3578
3921
  }
3579
3922
 
3580
- let CreateConnectionFromOutletPreparationExecution = class CreateConnectionFromOutletPreparationExecution {
3923
+ let FCreateConnectionFromOutletPreparationExecution = class FCreateConnectionFromOutletPreparationExecution {
3581
3924
  _fMediator = inject(FMediator);
3582
3925
  _fComponentsStore = inject(FComponentsStore);
3583
3926
  handle(request) {
@@ -3607,22 +3950,22 @@ let CreateConnectionFromOutletPreparationExecution = class CreateConnectionFromO
3607
3950
  .filter((x) => fNode.isContains(x.hostElement));
3608
3951
  }
3609
3952
  _createDragHandler(position, fOutputOrOutlet) {
3610
- this._fMediator.execute(new CreateConnectionDragHandlerPreparationRequest(position, fOutputOrOutlet));
3953
+ this._fMediator.execute(new FCreateConnectionDragHandlerPreparationRequest(position, fOutputOrOutlet));
3611
3954
  }
3612
3955
  _getConnectableOutput(fOutlet) {
3613
- return this._fMediator.execute(new GetCanBeConnectedOutputByOutletRequest(fOutlet));
3956
+ return this._fMediator.execute(new GetFirstConnectableOutputRequest(fOutlet));
3614
3957
  }
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 });
3958
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFromOutletPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3959
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFromOutletPreparationExecution });
3617
3960
  };
3618
- CreateConnectionFromOutletPreparationExecution = __decorate([
3619
- FExecutionRegister(CreateConnectionFromOutletPreparationRequest)
3620
- ], CreateConnectionFromOutletPreparationExecution);
3621
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFromOutletPreparationExecution, decorators: [{
3961
+ FCreateConnectionFromOutletPreparationExecution = __decorate([
3962
+ FExecutionRegister(FCreateConnectionFromOutletPreparationRequest)
3963
+ ], FCreateConnectionFromOutletPreparationExecution);
3964
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFromOutletPreparationExecution, decorators: [{
3622
3965
  type: Injectable
3623
3966
  }] });
3624
3967
 
3625
- class CreateConnectionFromOutputPreparationRequest {
3968
+ class FCreateConnectionFromOutputPreparationRequest {
3626
3969
  event;
3627
3970
  fNode;
3628
3971
  constructor(event, fNode) {
@@ -3631,7 +3974,7 @@ class CreateConnectionFromOutputPreparationRequest {
3631
3974
  }
3632
3975
  }
3633
3976
 
3634
- let CreateConnectionFromOutputPreparationExecution = class CreateConnectionFromOutputPreparationExecution {
3977
+ let FCreateConnectionFromOutputPreparationExecution = class FCreateConnectionFromOutputPreparationExecution {
3635
3978
  _fMediator = inject(FMediator);
3636
3979
  _fComponentsStore = inject(FComponentsStore);
3637
3980
  handle(request) {
@@ -3640,7 +3983,7 @@ let CreateConnectionFromOutputPreparationExecution = class CreateConnectionFromO
3640
3983
  }
3641
3984
  const fOutput = this._getOutput(request.event.targetElement);
3642
3985
  if (fOutput.canBeConnected) {
3643
- this._fMediator.execute(new CreateConnectionDragHandlerPreparationRequest(request.event.getPosition(), fOutput));
3986
+ this._fMediator.execute(new FCreateConnectionDragHandlerPreparationRequest(request.event.getPosition(), fOutput));
3644
3987
  }
3645
3988
  }
3646
3989
  _isValid(request) {
@@ -3661,17 +4004,17 @@ let CreateConnectionFromOutputPreparationExecution = class CreateConnectionFromO
3661
4004
  }
3662
4005
  return result;
3663
4006
  }
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 });
4007
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFromOutputPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4008
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFromOutputPreparationExecution });
3666
4009
  };
3667
- CreateConnectionFromOutputPreparationExecution = __decorate([
3668
- FExecutionRegister(CreateConnectionFromOutputPreparationRequest)
3669
- ], CreateConnectionFromOutputPreparationExecution);
3670
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFromOutputPreparationExecution, decorators: [{
4010
+ FCreateConnectionFromOutputPreparationExecution = __decorate([
4011
+ FExecutionRegister(FCreateConnectionFromOutputPreparationRequest)
4012
+ ], FCreateConnectionFromOutputPreparationExecution);
4013
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionFromOutputPreparationExecution, decorators: [{
3671
4014
  type: Injectable
3672
4015
  }] });
3673
4016
 
3674
- class CreateConnectionPreparationRequest {
4017
+ class FCreateConnectionPreparationRequest {
3675
4018
  event;
3676
4019
  fTrigger;
3677
4020
  constructor(event, fTrigger) {
@@ -3680,7 +4023,7 @@ class CreateConnectionPreparationRequest {
3680
4023
  }
3681
4024
  }
3682
4025
 
3683
- let CreateConnectionPreparationExecution = class CreateConnectionPreparationExecution {
4026
+ let FCreateConnectionPreparationExecution = class FCreateConnectionPreparationExecution {
3684
4027
  _fMediator = inject(FMediator);
3685
4028
  _fComponentsStore = inject(FComponentsStore);
3686
4029
  _fDraggableDataContext = inject(FDraggableDataContext);
@@ -3690,10 +4033,10 @@ let CreateConnectionPreparationExecution = class CreateConnectionPreparationExec
3690
4033
  return;
3691
4034
  }
3692
4035
  if (isNodeOutlet(request.event.targetElement)) {
3693
- this._fMediator.execute(new CreateConnectionFromOutletPreparationRequest(request.event, this._fNode));
4036
+ this._fMediator.execute(new FCreateConnectionFromOutletPreparationRequest(request.event, this._fNode));
3694
4037
  }
3695
4038
  else if (isNodeOutput(request.event.targetElement)) {
3696
- this._fMediator.execute(new CreateConnectionFromOutputPreparationRequest(request.event, this._fNode));
4039
+ this._fMediator.execute(new FCreateConnectionFromOutputPreparationRequest(request.event, this._fNode));
3697
4040
  }
3698
4041
  }
3699
4042
  _isValid(request) {
@@ -3707,25 +4050,28 @@ let CreateConnectionPreparationExecution = class CreateConnectionPreparationExec
3707
4050
  _isValidConditions() {
3708
4051
  return this._fDraggableDataContext.isEmpty() && !!this._fComponentsStore.fTempConnection;
3709
4052
  }
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 });
4053
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4054
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionPreparationExecution });
3712
4055
  };
3713
- CreateConnectionPreparationExecution = __decorate([
3714
- FExecutionRegister(CreateConnectionPreparationRequest)
3715
- ], CreateConnectionPreparationExecution);
3716
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionPreparationExecution, decorators: [{
4056
+ FCreateConnectionPreparationExecution = __decorate([
4057
+ FExecutionRegister(FCreateConnectionPreparationRequest)
4058
+ ], FCreateConnectionPreparationExecution);
4059
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCreateConnectionPreparationExecution, decorators: [{
3717
4060
  type: Injectable
3718
4061
  }] });
3719
4062
 
3720
- class ReassignConnectionFinalizeRequest {
4063
+ class FReassignConnectionFinalizeRequest {
3721
4064
  event;
3722
4065
  constructor(event) {
3723
4066
  this.event = event;
3724
4067
  }
3725
4068
  }
3726
4069
 
3727
- class ReassignConnectionDragHandler {
4070
+ class FReassignConnectionDragHandler {
3728
4071
  _fConnection;
4072
+ fEventType = 'reassign-connection';
4073
+ fData;
4074
+ _fResult = fInject((FDragHandlerResult));
3729
4075
  _fMediator = fInject(FMediator);
3730
4076
  _fComponentsStore = fInject(FComponentsStore);
3731
4077
  _toConnectorRect = new RoundedRect();
@@ -3752,12 +4098,20 @@ class ReassignConnectionDragHandler {
3752
4098
  constructor(_fConnection) {
3753
4099
  this._fConnection = _fConnection;
3754
4100
  this._toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(this._fConnection.line.point2.x, this._fConnection.line.point2.y));
4101
+ this.fData = {
4102
+ fConnectionId: this._fConnection.fId
4103
+ };
3755
4104
  }
3756
4105
  prepareDragSequence() {
3757
4106
  this._getAndMarkCanBeConnectedInputs();
3758
4107
  this._initializeSnapConnection();
3759
4108
  this._fOutputWithRect = this._fMediator.execute(new GetConnectorAndRectRequest(this._fOutput));
3760
4109
  this._fInputWithRect = this._fMediator.execute(new GetConnectorAndRectRequest(this._fInput));
4110
+ this._fResult.setData({
4111
+ toConnectorRect: this._toConnectorRect,
4112
+ canBeConnectedInputs: this._canBeConnectedInputs,
4113
+ fConnection: this._fConnection
4114
+ });
3761
4115
  }
3762
4116
  _getAndMarkCanBeConnectedInputs() {
3763
4117
  this._canBeConnectedInputs = this._fMediator.execute(new GetAllCanBeConnectedInputsAndRectsRequest(this._fOutput));
@@ -3810,16 +4164,6 @@ class ReassignConnectionDragHandler {
3810
4164
  this._fSnapConnection?.hide();
3811
4165
  this._fMediator.execute(new UnmarkAllCanBeConnectedInputsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
3812
4166
  }
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
4167
  }
3824
4168
 
3825
4169
  class FReassignConnectionEvent {
@@ -3837,7 +4181,8 @@ class FReassignConnectionEvent {
3837
4181
  }
3838
4182
  }
3839
4183
 
3840
- let ReassignConnectionFinalizeExecution = class ReassignConnectionFinalizeExecution {
4184
+ let FReassignConnectionFinalizeExecution = class FReassignConnectionFinalizeExecution {
4185
+ _fResult = inject(FDragHandlerResult);
3841
4186
  _fMediator = inject(FMediator);
3842
4187
  _fComponentsStore = inject(FComponentsStore);
3843
4188
  _fDraggableDataContext = inject(FDraggableDataContext);
@@ -3855,7 +4200,7 @@ let ReassignConnectionFinalizeExecution = class ReassignConnectionFinalizeExecut
3855
4200
  this._fDragHandler.onPointerUp();
3856
4201
  }
3857
4202
  _isDroppedConnectionReassignEvent() {
3858
- return this._fDraggableDataContext.draggableItems.some((x) => x instanceof ReassignConnectionDragHandler);
4203
+ return this._fDraggableDataContext.draggableItems.some((x) => x instanceof FReassignConnectionDragHandler);
3859
4204
  }
3860
4205
  _applyReassignEvent(event) {
3861
4206
  const fInput = this._getInputUnderPointer(event);
@@ -3865,32 +4210,29 @@ let ReassignConnectionFinalizeExecution = class ReassignConnectionFinalizeExecut
3865
4210
  this._emitReassignConnectionEvent(event, fInput);
3866
4211
  }
3867
4212
  _getInputUnderPointer(event) {
3868
- return this._fMediator.execute(new FindInputAtPositionRequest(event.getPosition(), this._getDragHandlerData().toConnectorRect, this._getDragHandlerData().canBeConnectedInputs));
4213
+ return this._fMediator.execute(new FindInputAtPositionRequest(event.getPosition(), this._fResult.getData().toConnectorRect, this._fResult.getData().canBeConnectedInputs));
3869
4214
  }
3870
4215
  _isReassignToDifferentInput(fInput) {
3871
- return this._fDragHandler.getConnection().fInputId !== fInput.fId;
4216
+ return this._fResult.getData().fConnection.fInputId !== fInput.fId;
3872
4217
  }
3873
4218
  _emitReassignConnectionEvent(event, fInput) {
3874
4219
  this._fDraggable.fReassignConnection.emit(this._getEventData(event, fInput));
3875
4220
  }
3876
4221
  _getEventData(event, fInput) {
3877
- const fConnection = this._fDragHandler.getConnection();
4222
+ const fConnection = this._fResult.getData().fConnection;
3878
4223
  return new FReassignConnectionEvent(fConnection.fId, fConnection.fOutputId, fConnection.fInputId, fInput?.fId, event.getPosition());
3879
4224
  }
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 });
4225
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FReassignConnectionFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4226
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FReassignConnectionFinalizeExecution });
3885
4227
  };
3886
- ReassignConnectionFinalizeExecution = __decorate([
3887
- FExecutionRegister(ReassignConnectionFinalizeRequest)
3888
- ], ReassignConnectionFinalizeExecution);
3889
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeExecution, decorators: [{
4228
+ FReassignConnectionFinalizeExecution = __decorate([
4229
+ FExecutionRegister(FReassignConnectionFinalizeRequest)
4230
+ ], FReassignConnectionFinalizeExecution);
4231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FReassignConnectionFinalizeExecution, decorators: [{
3890
4232
  type: Injectable
3891
4233
  }] });
3892
4234
 
3893
- class ReassignConnectionPreparationRequest {
4235
+ class FReassignConnectionPreparationRequest {
3894
4236
  event;
3895
4237
  fTrigger;
3896
4238
  constructor(event, fTrigger) {
@@ -3899,7 +4241,7 @@ class ReassignConnectionPreparationRequest {
3899
4241
  }
3900
4242
  }
3901
4243
 
3902
- let ReassignConnectionPreparationExecution = class ReassignConnectionPreparationExecution {
4244
+ let FReassignConnectionPreparationExecution = class FReassignConnectionPreparationExecution {
3903
4245
  _fMediator = inject(FMediator);
3904
4246
  _fComponentsStore = inject(FComponentsStore);
3905
4247
  _fDraggableDataContext = inject(FDraggableDataContext);
@@ -3921,7 +4263,7 @@ let ReassignConnectionPreparationExecution = class ReassignConnectionPreparation
3921
4263
  this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
3922
4264
  .elementTransform(this._fHost).div(this._transform.scale);
3923
4265
  this._fDraggableDataContext.draggableItems = [
3924
- new ReassignConnectionDragHandler(this._fConnection)
4266
+ new FReassignConnectionDragHandler(this._fConnection)
3925
4267
  ];
3926
4268
  setTimeout(() => this._updateConnectionLayer());
3927
4269
  }
@@ -3950,25 +4292,25 @@ let ReassignConnectionPreparationExecution = class ReassignConnectionPreparation
3950
4292
  _updateConnectionLayer() {
3951
4293
  this._fMediator.execute(new UpdateItemAndChildrenLayersRequest(this._fConnection, this._fComponentsStore.fCanvas.fConnectionsContainer.nativeElement));
3952
4294
  }
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 });
4295
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FReassignConnectionPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4296
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FReassignConnectionPreparationExecution });
3955
4297
  };
3956
- ReassignConnectionPreparationExecution = __decorate([
3957
- FExecutionRegister(ReassignConnectionPreparationRequest)
3958
- ], ReassignConnectionPreparationExecution);
3959
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionPreparationExecution, decorators: [{
4298
+ FReassignConnectionPreparationExecution = __decorate([
4299
+ FExecutionRegister(FReassignConnectionPreparationRequest)
4300
+ ], FReassignConnectionPreparationExecution);
4301
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FReassignConnectionPreparationExecution, decorators: [{
3960
4302
  type: Injectable
3961
4303
  }] });
3962
4304
 
3963
4305
  const CONNECTIONS_PROVIDERS = [
3964
- CreateConnectionFinalizeExecution,
3965
- CreateConnectionDragHandlerPreparationExecution,
3966
- CreateConnectionFromOutletPreparationExecution,
3967
- GetCanBeConnectedOutputByOutletExecution,
3968
- CreateConnectionFromOutputPreparationExecution,
3969
- CreateConnectionPreparationExecution,
3970
- ReassignConnectionFinalizeExecution,
3971
- ReassignConnectionPreparationExecution,
4306
+ FCreateConnectionFinalizeExecution,
4307
+ FCreateConnectionDragHandlerPreparationExecution,
4308
+ FCreateConnectionFromOutletPreparationExecution,
4309
+ GetFirstConnectableOutputExecution,
4310
+ FCreateConnectionFromOutputPreparationExecution,
4311
+ FCreateConnectionPreparationExecution,
4312
+ FReassignConnectionFinalizeExecution,
4313
+ FReassignConnectionPreparationExecution,
3972
4314
  ];
3973
4315
 
3974
4316
  class GetNormalizedParentNodeRectRequest {
@@ -4126,30 +4468,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
4126
4468
  type: Injectable
4127
4469
  }] });
4128
4470
 
4471
+ class FDragStartedEvent {
4472
+ fEventType;
4473
+ fData;
4474
+ constructor(fEventType, fData) {
4475
+ this.fEventType = fEventType;
4476
+ this.fData = fData;
4477
+ }
4478
+ }
4479
+
4129
4480
  const DRAG_AND_DROP_COMMON_PROVIDERS = [
4130
4481
  GetNormalizedParentNodeRectExecution,
4131
4482
  IsArrayHasParentNodeExecution,
4132
4483
  IsConnectionUnderNodeExecution,
4133
4484
  ];
4134
4485
 
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
4486
  class BaseConnectionDragHandler {
4154
4487
  fConnection;
4155
4488
  _fMediator = fInject(FMediator);
@@ -4493,6 +4826,7 @@ class NodeDragHandler {
4493
4826
  fNode;
4494
4827
  fSourceHandlers;
4495
4828
  fTargetHandlers;
4829
+ fEventType = 'move-node';
4496
4830
  _onPointerDownPosition = PointExtensions.initialize();
4497
4831
  constructor(fNode, fSourceHandlers = [], fTargetHandlers = []) {
4498
4832
  this.fNode = fNode;
@@ -4561,6 +4895,8 @@ class SummaryNodeDragHandler {
4561
4895
  limits;
4562
4896
  fHandlers;
4563
4897
  commonRect;
4898
+ fEventType = 'move-node';
4899
+ fData;
4564
4900
  // private _fMediator = fInject(FMediator);
4565
4901
  _fComponentStore = fInject(FComponentsStore);
4566
4902
  _fBoundsLimiter;
@@ -4570,6 +4906,9 @@ class SummaryNodeDragHandler {
4570
4906
  this.commonRect = commonRect;
4571
4907
  //this._onPointerDownPosition = this._getDraggedNodesBoundingRect();
4572
4908
  this._fBoundsLimiter = new PointBoundsLimiter(this.commonRect, limits);
4909
+ this.fData = {
4910
+ fNodeIds: this.fHandlers.map((x) => x.fNode.fId)
4911
+ };
4573
4912
  }
4574
4913
  // private _getDraggedNodesBoundingRect(): IRect {
4575
4914
  // return RectExtensions.union(this.fHandlers.map((x) => {
@@ -4703,6 +5042,7 @@ class LineAlignmentDragHandler {
4703
5042
  _draggedNodeRect;
4704
5043
  _rects;
4705
5044
  _restrictions;
5045
+ fEventType = 'line-alignment';
4706
5046
  _fComponentsStore = fInject(FComponentsStore);
4707
5047
  _debounceTimer = null;
4708
5048
  _transform;
@@ -4913,6 +5253,7 @@ class NodeDragToParentDragHandler {
4913
5253
  fComponentsStore;
4914
5254
  fDraggableDataContext;
4915
5255
  notDraggedNodesRects;
5256
+ fEventType = 'move-node-to-parent';
4916
5257
  DEBOUNCE_TIME = 15;
4917
5258
  get _transform() {
4918
5259
  return this.fComponentsStore.fCanvas.transform;
@@ -5544,12 +5885,17 @@ class NodeResizeFinalizeRequest {
5544
5885
  class NodeResizeDragHandler {
5545
5886
  _fNode;
5546
5887
  _fResizeHandleType;
5888
+ fEventType = 'node-resize';
5889
+ fData;
5547
5890
  _fMediator = fInject(FMediator);
5548
5891
  _originalRect;
5549
5892
  _resizeRestrictions;
5550
5893
  constructor(_fNode, _fResizeHandleType) {
5551
5894
  this._fNode = _fNode;
5552
5895
  this._fResizeHandleType = _fResizeHandleType;
5896
+ this.fData = {
5897
+ fNodeId: _fNode.fId,
5898
+ };
5553
5899
  }
5554
5900
  prepareDragSequence() {
5555
5901
  this._originalRect = this._getOriginalNodeRect();
@@ -5700,7 +6046,7 @@ const NODE_RESIZE_PROVIDERS = [
5700
6046
  NodeResizePreparationExecution,
5701
6047
  ];
5702
6048
 
5703
- class SingleSelectRequest {
6049
+ class FSingleSelectRequest {
5704
6050
  event;
5705
6051
  fMultiSelectTrigger;
5706
6052
  constructor(event, fMultiSelectTrigger) {
@@ -5746,7 +6092,7 @@ class SingleSelectRequest {
5746
6092
  * - Adding or removing an element from the selection triggers the corresponding methods.
5747
6093
  * - Selection state is tracked in the shared context for future use.
5748
6094
  */
5749
- let SingleSelectExecution = class SingleSelectExecution {
6095
+ let FSingleSelectExecution = class FSingleSelectExecution {
5750
6096
  _fMediator = inject(FMediator);
5751
6097
  _fComponentsStore = inject(FComponentsStore);
5752
6098
  _fDraggableDataContext = inject(FDraggableDataContext);
@@ -5827,18 +6173,18 @@ let SingleSelectExecution = class SingleSelectExecution {
5827
6173
  fItem.markAsSelected();
5828
6174
  this._fDraggableDataContext.markSelectionAsChanged();
5829
6175
  }
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 });
6176
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSingleSelectExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6177
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSingleSelectExecution });
5832
6178
  };
5833
- SingleSelectExecution = __decorate([
5834
- FExecutionRegister(SingleSelectRequest)
5835
- ], SingleSelectExecution);
5836
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SingleSelectExecution, decorators: [{
6179
+ FSingleSelectExecution = __decorate([
6180
+ FExecutionRegister(FSingleSelectRequest)
6181
+ ], FSingleSelectExecution);
6182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSingleSelectExecution, decorators: [{
5837
6183
  type: Injectable
5838
6184
  }] });
5839
6185
 
5840
6186
  const SINGLE_SELECT_PROVIDERS = [
5841
- SingleSelectExecution,
6187
+ FSingleSelectExecution,
5842
6188
  ];
5843
6189
 
5844
6190
  class FDraggableBase extends DragAndDropBase {
@@ -5852,33 +6198,151 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
5852
6198
  type: Directive
5853
6199
  }], ctorParameters: () => [{ type: undefined }] });
5854
6200
 
5855
- class ExternalItemFinalizeRequest {
5856
- event;
6201
+ class FExternalItemCreatePlaceholderRequest {
6202
+ fExternalItem;
6203
+ constructor(fExternalItem) {
6204
+ this.fExternalItem = fExternalItem;
6205
+ }
6206
+ }
6207
+
6208
+ let FExternalItemCreatePlaceholderExecution = class FExternalItemCreatePlaceholderExecution {
6209
+ _fBrowser = inject(BrowserService);
6210
+ _containerRef = inject(ViewContainerRef);
6211
+ handle(request) {
6212
+ const { hostElement, fPlaceholder } = request.fExternalItem;
6213
+ const result = fPlaceholder ?
6214
+ this._fromTemplate(fPlaceholder) :
6215
+ this._fromHost(hostElement);
6216
+ result.classList.add('f-external-item-placeholder');
6217
+ result.style.pointerEvents = 'none';
6218
+ return result;
6219
+ }
6220
+ _fromTemplate(template) {
6221
+ return getOrCreateRootNodeForViewRef(this._createViewRef(template), this._fBrowser.document);
6222
+ }
6223
+ _fromHost(element) {
6224
+ return deepCloneNode(element);
6225
+ }
6226
+ _createViewRef(template) {
6227
+ const result = this._containerRef.createEmbeddedView(template);
6228
+ result.detectChanges();
6229
+ return result;
6230
+ }
6231
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemCreatePlaceholderExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6232
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemCreatePlaceholderExecution });
6233
+ };
6234
+ FExternalItemCreatePlaceholderExecution = __decorate([
6235
+ FExecutionRegister(FExternalItemCreatePlaceholderRequest)
6236
+ ], FExternalItemCreatePlaceholderExecution);
6237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemCreatePlaceholderExecution, decorators: [{
6238
+ type: Injectable
6239
+ }] });
6240
+
6241
+ class FExternalItemCreatePreviewRequest {
6242
+ fExternalItem;
6243
+ constructor(fExternalItem) {
6244
+ this.fExternalItem = fExternalItem;
6245
+ }
6246
+ }
6247
+
6248
+ let FExternalItemCreatePreviewExecution = class FExternalItemCreatePreviewExecution {
6249
+ _fBrowser = inject(BrowserService);
6250
+ _containerRef = inject(ViewContainerRef);
6251
+ handle(request) {
6252
+ const { hostElement, fPreview } = request.fExternalItem;
6253
+ const result = fPreview ?
6254
+ this._fromTemplate(fPreview) :
6255
+ this._fromHost(hostElement);
6256
+ this._setPreviewStyles(result);
6257
+ disableDragInteractions(result);
6258
+ result.classList.add('f-external-item-preview');
6259
+ return result;
6260
+ }
6261
+ _fromTemplate(template) {
6262
+ return getOrCreateRootNodeForViewRef(this._createViewRef(template), this._fBrowser.document);
6263
+ }
6264
+ _fromHost(element) {
6265
+ return deepCloneNode(element);
6266
+ }
6267
+ _createViewRef(template) {
6268
+ const result = this._containerRef.createEmbeddedView(template);
6269
+ result.detectChanges();
6270
+ return result;
6271
+ }
6272
+ _setPreviewStyles(element) {
6273
+ extendStyles(element.style, {
6274
+ 'pointer-events': 'none',
6275
+ 'margin': 'showPopover' in element ? '0 auto 0 0' : '0',
6276
+ 'position': 'fixed',
6277
+ 'top': '0',
6278
+ 'left': '0',
6279
+ 'z-index': '1000',
6280
+ }, new Set(['position',]));
6281
+ }
6282
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemCreatePreviewExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6283
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemCreatePreviewExecution });
6284
+ };
6285
+ FExternalItemCreatePreviewExecution = __decorate([
6286
+ FExecutionRegister(FExternalItemCreatePreviewRequest)
6287
+ ], FExternalItemCreatePreviewExecution);
6288
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemCreatePreviewExecution, decorators: [{
6289
+ type: Injectable
6290
+ }] });
6291
+
6292
+ class FExternalItemFinalizeRequest {
6293
+ event;
5857
6294
  constructor(event) {
5858
6295
  this.event = event;
5859
6296
  }
5860
6297
  }
5861
6298
 
5862
- class ExternalItemDragHandler {
5863
- externalItem;
6299
+ class FExternalItemDragHandler {
6300
+ _fExternalItem;
6301
+ fEventType = 'external-item';
6302
+ fData;
6303
+ _fResult = fInject((FDragHandlerResult));
6304
+ _fMediator = fInject(FMediator);
5864
6305
  _fBrowser = fInject(BrowserService);
5865
- placeholder;
5866
- onPointerDownRect = RectExtensions.initialize();
5867
- difference = PointExtensions.initialize();
5868
- constructor(externalItem) {
5869
- this.externalItem = externalItem;
6306
+ _preview;
6307
+ _placeholder;
6308
+ _onPointerDownRect = RectExtensions.initialize();
6309
+ get _fItemHost() {
6310
+ return this._fExternalItem.hostElement;
5870
6311
  }
5871
- getStyle(position) {
5872
- return `position: absolute; left: 0; top: 0; transform: translate(${position.x}px, ${position.y}px)`;
6312
+ constructor(_fExternalItem) {
6313
+ this._fExternalItem = _fExternalItem;
6314
+ this.fData = { fData: _fExternalItem.fData };
5873
6315
  }
5874
6316
  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);
6317
+ this._onPointerDownRect = this._getExternalItemRect();
6318
+ this._createAndAppendPreview();
6319
+ this._createAndAppendPlaceholder();
6320
+ this._setFResultData();
6321
+ }
6322
+ _createAndAppendPreview() {
6323
+ this._preview = this._fMediator.execute(new FExternalItemCreatePreviewRequest(this._fExternalItem));
6324
+ if (this._fExternalItem.fPreviewMatchSize) {
6325
+ this._matchElementSize(this._preview, this._onPointerDownRect);
6326
+ }
6327
+ this._preview.style.transform = setTransform(this._onPointerDownRect);
6328
+ this._fBrowser.document.body.appendChild(this._preview);
6329
+ }
6330
+ _createAndAppendPlaceholder() {
6331
+ this._placeholder = this._fMediator.execute(new FExternalItemCreatePlaceholderRequest(this._fExternalItem));
6332
+ this._fItemHost.parentElement.replaceChild(this._placeholder, this._fItemHost);
6333
+ }
6334
+ _matchElementSize(target, sourceRect) {
6335
+ target.style.width = `${sourceRect.width}px`;
6336
+ target.style.height = `${sourceRect.height}px`;
6337
+ }
6338
+ _setFResultData() {
6339
+ this._fResult.setData({
6340
+ preview: this._preview,
6341
+ fExternalItem: this._fExternalItem,
6342
+ });
5879
6343
  }
5880
- getExternalItemRect() {
5881
- const rect = this.externalItem.hostElement.getBoundingClientRect();
6344
+ _getExternalItemRect() {
6345
+ const rect = this._fExternalItem.hostElement.getBoundingClientRect();
5882
6346
  const scrollTop = this._fBrowser.window.pageYOffset || this._fBrowser.document.documentElement.scrollTop;
5883
6347
  const scrollLeft = this._fBrowser.window.pageXOffset || this._fBrowser.document.documentElement.scrollLeft;
5884
6348
  const offsetTop = rect.top + scrollTop;
@@ -5886,14 +6350,17 @@ class ExternalItemDragHandler {
5886
6350
  return RectExtensions.initialize(offsetLeft, offsetTop, rect.width, rect.height);
5887
6351
  }
5888
6352
  onPointerMove(difference) {
5889
- this.difference = difference;
5890
- const position = Point.fromPoint(this.onPointerDownRect).add(this.difference);
5891
- this.placeholder.setAttribute('style', this.getStyle(position));
6353
+ const position = Point.fromPoint(this._onPointerDownRect).add(difference);
6354
+ this._preview.style.transform = setTransform(position);
5892
6355
  }
5893
6356
  onPointerUp() {
5894
- this._fBrowser.document.body.removeChild(this.placeholder);
6357
+ this._fBrowser.document.body.removeChild(this._preview);
6358
+ this._placeholder.parentElement.replaceChild(this._fItemHost, this._placeholder);
5895
6359
  }
5896
6360
  }
6361
+ function setTransform({ x, y }) {
6362
+ return `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`;
6363
+ }
5897
6364
 
5898
6365
  class FCreateNodeEvent {
5899
6366
  rect;
@@ -5904,73 +6371,64 @@ class FCreateNodeEvent {
5904
6371
  }
5905
6372
  }
5906
6373
 
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;
6374
+ let FExternalItemFinalizeExecution = class FExternalItemFinalizeExecution {
6375
+ _fResult = inject(FDragHandlerResult);
6376
+ _fMediator = inject(FMediator);
6377
+ _fComponentsStore = inject(FComponentsStore);
6378
+ _fDraggableDataContext = inject(FDraggableDataContext);
6379
+ _fBrowser = inject(BrowserService);
6380
+ get _fHost() {
6381
+ return this._fComponentsStore.fFlow.hostElement;
5917
6382
  }
5918
- get dragHandler() {
5919
- return this.fDraggableDataContext.draggableItems[0];
6383
+ get _fCreateNode() {
6384
+ return this._fComponentsStore.fDraggable.fCreateNode;
5920
6385
  }
5921
- constructor(fComponentsStore, fDraggableDataContext, fMediator, fBrowser) {
5922
- this.fComponentsStore = fComponentsStore;
5923
- this.fDraggableDataContext = fDraggableDataContext;
5924
- this.fMediator = fMediator;
5925
- this.fBrowser = fBrowser;
6386
+ get _fDragHandler() {
6387
+ return this._fDraggableDataContext.draggableItems[0];
5926
6388
  }
5927
6389
  handle(request) {
5928
6390
  if (!this._isValid()) {
5929
6391
  return;
5930
6392
  }
5931
- this.emitEvent(this.getExternalItemElementsFromPoint(request.event.getPosition()));
5932
- this.dragHandler.onPointerUp();
6393
+ this._emitEvent(this._getElementsFromPoint(request.event.getPosition()));
6394
+ this._fDragHandler.onPointerUp();
5933
6395
  }
5934
6396
  _isValid() {
5935
- return this.fDraggableDataContext.draggableItems.some((x) => x instanceof ExternalItemDragHandler);
6397
+ return this._fDraggableDataContext.draggableItems.some((x) => x instanceof FExternalItemDragHandler);
5936
6398
  }
5937
- getExternalItemElementsFromPoint(position) {
5938
- return this.fBrowser.document.elementsFromPoint(position.x, position.y)
5939
- .filter(x => !x.closest('.f-external-item'));
6399
+ _getElementsFromPoint(position) {
6400
+ return this._fBrowser.document.elementsFromPoint(position.x, position.y)
6401
+ .filter(x => !x.closest('.f-external-item') && !x.closest('.f-external-item-preview'));
5940
6402
  }
5941
- emitEvent(elements) {
6403
+ _emitEvent(elements) {
5942
6404
  if (this.isPointerInCanvasRect(elements)) {
5943
- this.fCreateNode.emit(new FCreateNodeEvent(this.getRectInCanvas(), this.dragHandler.externalItem.fData));
6405
+ this._fCreateNode.emit(new FCreateNodeEvent(this._getPreviewRect(), this._fResult.getData().fExternalItem.fData));
5944
6406
  }
5945
6407
  }
5946
6408
  isPointerInCanvasRect(elements) {
5947
- return elements.length ? this.flowHost.contains(elements[0]) : false;
6409
+ return elements.length ? this._fHost.contains(elements[0]) : false;
5948
6410
  }
5949
- getRectInCanvas() {
5950
- return this.fMediator.execute(new GetNormalizedElementRectRequest(this.dragHandler.placeholder, false));
6411
+ _getPreviewRect() {
6412
+ return this._fMediator.execute(new GetNormalizedElementRectRequest(this._fResult.getData().preview, false));
5951
6413
  }
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 });
6414
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6415
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemFinalizeExecution });
5954
6416
  };
5955
- ExternalItemFinalizeExecution = __decorate([
5956
- FExecutionRegister(ExternalItemFinalizeRequest)
5957
- ], ExternalItemFinalizeExecution);
5958
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeExecution, decorators: [{
6417
+ FExternalItemFinalizeExecution = __decorate([
6418
+ FExecutionRegister(FExternalItemFinalizeRequest)
6419
+ ], FExternalItemFinalizeExecution);
6420
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemFinalizeExecution, decorators: [{
5959
6421
  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
- ];
6422
+ }] });
5965
6423
 
5966
- class ExternalItemPreparationRequest {
6424
+ class FExternalItemPreparationRequest {
5967
6425
  event;
5968
6426
  constructor(event) {
5969
6427
  this.event = event;
5970
6428
  }
5971
6429
  }
5972
6430
 
5973
- let ExternalItemPreparationExecution = class ExternalItemPreparationExecution {
6431
+ let FExternalItemPreparationExecution = class FExternalItemPreparationExecution {
5974
6432
  _fExternalItemService = inject(FExternalItemService);
5975
6433
  _fDraggableDataContext = inject(FDraggableDataContext);
5976
6434
  _fComponentsStore = inject(FComponentsStore);
@@ -5984,7 +6442,7 @@ let ExternalItemPreparationExecution = class ExternalItemPreparationExecution {
5984
6442
  this._fDraggableDataContext.onPointerDownScale = 1;
5985
6443
  this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition()).elementTransform(this._fHost);
5986
6444
  this._fDraggableDataContext.draggableItems = [
5987
- new ExternalItemDragHandler(this._getExternalItem(request.event.targetElement))
6445
+ new FExternalItemDragHandler(this._getExternalItem(request.event.targetElement))
5988
6446
  ];
5989
6447
  }
5990
6448
  _isValid(request) {
@@ -5996,20 +6454,16 @@ let ExternalItemPreparationExecution = class ExternalItemPreparationExecution {
5996
6454
  _getExternalItem(targetElement) {
5997
6455
  return this._fExternalItemService.getItem(getExternalItem(targetElement));
5998
6456
  }
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 });
6457
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6458
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemPreparationExecution });
6001
6459
  };
6002
- ExternalItemPreparationExecution = __decorate([
6003
- FExecutionRegister(ExternalItemPreparationRequest)
6004
- ], ExternalItemPreparationExecution);
6005
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemPreparationExecution, decorators: [{
6460
+ FExternalItemPreparationExecution = __decorate([
6461
+ FExecutionRegister(FExternalItemPreparationRequest)
6462
+ ], FExternalItemPreparationExecution);
6463
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemPreparationExecution, decorators: [{
6006
6464
  type: Injectable
6007
6465
  }] });
6008
6466
 
6009
- const EXTERNAL_ITEM_PREPARATION_PROVIDERS = [
6010
- ExternalItemPreparationExecution,
6011
- ];
6012
-
6013
6467
  class PreventDefaultIsExternalItemRequest {
6014
6468
  event;
6015
6469
  constructor(event) {
@@ -6055,12 +6509,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6055
6509
  }] });
6056
6510
 
6057
6511
  const F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS = [
6058
- ...EXTERNAL_ITEM_FINALIZE_PROVIDERS,
6059
- ...EXTERNAL_ITEM_PREPARATION_PROVIDERS,
6512
+ FExternalItemCreatePlaceholderExecution,
6513
+ FExternalItemCreatePreviewExecution,
6514
+ FExternalItemFinalizeExecution,
6515
+ FExternalItemPreparationExecution,
6060
6516
  PreventDefaultIsExternalItemExecution,
6061
6517
  ];
6062
6518
 
6063
- const F_EXTERNAL_ITEM = new InjectionToken('F_EXTERNAL_ITEM');
6064
6519
  class FExternalItemBase {
6065
6520
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6066
6521
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FExternalItemBase, ngImport: i0 });
@@ -6070,17 +6525,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6070
6525
  }] });
6071
6526
 
6072
6527
  class FExternalItemService {
6073
- items = [];
6528
+ _items = [];
6074
6529
  registerItem(item) {
6075
- this.items.push(item);
6530
+ this._items.push(item);
6076
6531
  }
6077
6532
  getItem(element) {
6078
- return this.items.find(item => item.hostElement === element);
6533
+ return this._items.find(item => item.hostElement === element);
6079
6534
  }
6080
6535
  removeItem(item) {
6081
- const index = this.items.indexOf(item);
6536
+ const index = this._items.indexOf(item);
6082
6537
  if (index !== -1) {
6083
- this.items.splice(index, 1);
6538
+ this._items.splice(index, 1);
6084
6539
  }
6085
6540
  }
6086
6541
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -6093,23 +6548,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6093
6548
  }]
6094
6549
  }] });
6095
6550
 
6551
+ const F_EXTERNAL_ITEM = new InjectionToken('F_EXTERNAL_ITEM');
6552
+
6096
6553
  let uniqueId$3 = 0;
6097
6554
  class FExternalItemDirective extends FExternalItemBase {
6098
- elementReference;
6099
- fExternalItemService;
6555
+ _elementReference = inject(ElementRef);
6556
+ _fExternalItemService = inject(FExternalItemService);
6100
6557
  fExternalItemId = `f-external-item-${uniqueId$3++}`;
6101
6558
  get hostElement() {
6102
- return this.elementReference.nativeElement;
6559
+ return this._elementReference.nativeElement;
6103
6560
  }
6104
6561
  fData;
6105
6562
  fDisabled = false;
6106
- constructor(elementReference, fExternalItemService) {
6107
- super();
6108
- this.elementReference = elementReference;
6109
- this.fExternalItemService = fExternalItemService;
6110
- }
6563
+ fPreview;
6564
+ fPreviewMatchSize = true;
6565
+ fPlaceholder;
6111
6566
  ngOnInit() {
6112
- this.fExternalItemService.registerItem(this);
6567
+ this._fExternalItemService.registerItem(this);
6113
6568
  this.disablePointerEvents(Array.from(this.hostElement.children));
6114
6569
  }
6115
6570
  disablePointerEvents(children) {
@@ -6119,10 +6574,10 @@ class FExternalItemDirective extends FExternalItemBase {
6119
6574
  });
6120
6575
  }
6121
6576
  ngOnDestroy() {
6122
- this.fExternalItemService.removeItem(this);
6577
+ this._fExternalItemService.removeItem(this);
6123
6578
  }
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: [
6579
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6580
+ 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
6581
  { provide: F_EXTERNAL_ITEM, useExisting: FExternalItemDirective }
6127
6582
  ], usesInheritance: true, ngImport: i0 });
6128
6583
  }
@@ -6130,6 +6585,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6130
6585
  type: Directive,
6131
6586
  args: [{
6132
6587
  selector: "[fExternalItem]",
6588
+ standalone: true,
6133
6589
  host: {
6134
6590
  '[attr.id]': 'fExternalItemId',
6135
6591
  class: "f-component f-external-item",
@@ -6139,23 +6595,74 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6139
6595
  { provide: F_EXTERNAL_ITEM, useExisting: FExternalItemDirective }
6140
6596
  ],
6141
6597
  }]
6142
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: FExternalItemService }], propDecorators: { fExternalItemId: [{
6598
+ }], propDecorators: { fExternalItemId: [{
6143
6599
  type: Input
6144
6600
  }], fData: [{
6145
6601
  type: Input
6146
6602
  }], fDisabled: [{
6603
+ type: Input,
6604
+ args: [{ transform: booleanAttribute }]
6605
+ }], fPreview: [{
6606
+ type: Input
6607
+ }], fPreviewMatchSize: [{
6608
+ type: Input,
6609
+ args: [{ transform: booleanAttribute }]
6610
+ }], fPlaceholder: [{
6147
6611
  type: Input
6148
6612
  }] } });
6149
6613
 
6150
- const F_EXTERNAL_ITEM_PROVIDERS = [
6151
- FExternalItemDirective
6152
- ];
6614
+ class FExternalItemPlaceholderDirective {
6615
+ _fExternalItem = inject(F_EXTERNAL_ITEM);
6616
+ _templateRef = inject(TemplateRef);
6617
+ ngOnInit() {
6618
+ this._fExternalItem.fPlaceholder = this._templateRef;
6619
+ }
6620
+ ngOnDestroy() {
6621
+ this._fExternalItem.fPlaceholder = undefined;
6622
+ }
6623
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemPlaceholderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6624
+ 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 });
6625
+ }
6626
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemPlaceholderDirective, decorators: [{
6627
+ type: Directive,
6628
+ args: [{
6629
+ selector: "ng-template[fExternalItemPlaceholder]",
6630
+ standalone: true,
6631
+ host: {
6632
+ class: "f-component f-external-item-placeholder",
6633
+ }
6634
+ }]
6635
+ }] });
6636
+
6637
+ class FExternalItemPreviewDirective {
6638
+ _fExternalItem = inject(F_EXTERNAL_ITEM);
6639
+ _templateRef = inject(TemplateRef);
6640
+ ngOnInit() {
6641
+ this._fExternalItem.fPreview = this._templateRef;
6642
+ }
6643
+ ngOnDestroy() {
6644
+ this._fExternalItem.fPreview = undefined;
6645
+ }
6646
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemPreviewDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6647
+ 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 });
6648
+ }
6649
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FExternalItemPreviewDirective, decorators: [{
6650
+ type: Directive,
6651
+ args: [{
6652
+ selector: "ng-template[fExternalItemPreview]",
6653
+ standalone: true,
6654
+ host: {
6655
+ class: "f-component f-external-item-preview",
6656
+ },
6657
+ }]
6658
+ }] });
6153
6659
 
6154
6660
  const F_DRAG_AND_DROP_PLUGIN = new InjectionToken('F_DRAG_AND_DROP_PLUGIN');
6155
6661
 
6156
6662
  class FDraggableDirective extends FDraggableBase {
6157
6663
  _fBrowser;
6158
6664
  _elementReference = inject(ElementRef);
6665
+ _fResult = inject(FDragHandlerResult);
6159
6666
  _fMediator = inject(FMediator);
6160
6667
  _fPlatform = inject(PlatformService);
6161
6668
  _injector = inject(Injector);
@@ -6193,11 +6700,12 @@ class FDraggableDirective extends FDraggableBase {
6193
6700
  }
6194
6701
  onPointerDown(event) {
6195
6702
  FInjector.set(this._injector);
6703
+ this._fResult.clear();
6196
6704
  this._fMediator.execute(new InitializeDragSequenceRequest());
6197
6705
  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));
6706
+ this._fMediator.execute(new FSingleSelectRequest(event, this.fMultiSelectTrigger));
6707
+ this._fMediator.execute(new FReassignConnectionPreparationRequest(event, this.fReassignConnectionTrigger));
6708
+ this._fMediator.execute(new FCreateConnectionPreparationRequest(event, this.fCreateConnectionTrigger));
6201
6709
  const isMouseLeftOrTouch = event.isMouseLeftButton();
6202
6710
  if (!isMouseLeftOrTouch) {
6203
6711
  this.finalizeDragSequence();
@@ -6209,8 +6717,8 @@ class FDraggableDirective extends FDraggableBase {
6209
6717
  this._fMediator.execute(new NodeResizePreparationRequest(event));
6210
6718
  this._fMediator.execute(new NodeMovePreparationRequest(event));
6211
6719
  this._fMediator.execute(new NodeDragToParentPreparationRequest(event));
6212
- this._fMediator.execute(new CanvasMovePreparationRequest(event));
6213
- this._fMediator.execute(new ExternalItemPreparationRequest(event));
6720
+ this._fMediator.execute(new FCanvasMovePreparationRequest(event));
6721
+ this._fMediator.execute(new FExternalItemPreparationRequest(event));
6214
6722
  this._fMediator.execute(new PrepareDragSequenceRequest());
6215
6723
  }
6216
6724
  onSelect(event) {
@@ -6222,19 +6730,20 @@ class FDraggableDirective extends FDraggableBase {
6222
6730
  }
6223
6731
  onPointerUp(event) {
6224
6732
  this.plugins.forEach((x) => x.onPointerUp?.(event));
6225
- this._fMediator.execute(new ReassignConnectionFinalizeRequest(event));
6226
- this._fMediator.execute(new CreateConnectionFinalizeRequest(event));
6733
+ this._fMediator.execute(new FReassignConnectionFinalizeRequest(event));
6734
+ this._fMediator.execute(new FCreateConnectionFinalizeRequest(event));
6227
6735
  this._fMediator.execute(new NodeResizeFinalizeRequest(event));
6228
6736
  this._fMediator.execute(new NodeMoveFinalizeRequest(event));
6229
6737
  this._fMediator.execute(new NodeDragToParentFinalizeRequest(event));
6230
- this._fMediator.execute(new CanvasMoveFinalizeRequest(event));
6231
- this._fMediator.execute(new ExternalItemFinalizeRequest(event));
6738
+ this._fMediator.execute(new FCanvasMoveFinalizeRequest(event));
6739
+ this._fMediator.execute(new FExternalItemFinalizeRequest(event));
6232
6740
  this._fMediator.execute(new EndDragSequenceRequest());
6233
6741
  FInjector.clear();
6234
6742
  }
6235
6743
  finalizeDragSequence() {
6236
6744
  this._fMediator.execute(new EmitSelectionChangeEventRequest());
6237
6745
  FInjector.clear();
6746
+ this._fResult.clear();
6238
6747
  }
6239
6748
  ngOnDestroy() {
6240
6749
  this._fMediator.execute(new RemoveDndFromStoreRequest());
@@ -6242,13 +6751,14 @@ class FDraggableDirective extends FDraggableBase {
6242
6751
  FInjector.clear();
6243
6752
  }
6244
6753
  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 });
6754
+ 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
6755
  }
6247
6756
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDirective, decorators: [{
6248
6757
  type: Directive,
6249
6758
  args: [{
6250
6759
  selector: "f-flow[fDraggable]",
6251
- exportAs: 'fDraggable'
6760
+ exportAs: 'fDraggable',
6761
+ providers: [FDragHandlerResult]
6252
6762
  }]
6253
6763
  }], ctorParameters: () => [{ type: undefined, decorators: [{
6254
6764
  type: Inject,
@@ -6298,13 +6808,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6298
6808
  }] } });
6299
6809
 
6300
6810
  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;
6811
+ fNodeIds;
6812
+ fGroupIds;
6813
+ fConnectionIds;
6814
+ constructor(fNodeIds, fGroupIds, fConnectionIds) {
6815
+ this.fNodeIds = fNodeIds;
6816
+ this.fGroupIds = fGroupIds;
6817
+ this.fConnectionIds = fConnectionIds;
6308
6818
  }
6309
6819
  }
6310
6820
 
@@ -6372,6 +6882,7 @@ class FMinimapDragHandler {
6372
6882
  canvasPosition;
6373
6883
  eventPoint;
6374
6884
  minimap;
6885
+ fEventType = 'minimap';
6375
6886
  lastDifference = null;
6376
6887
  constructor(fComponentsStore, fMediator, flowRect, canvasPosition, eventPoint, minimap) {
6377
6888
  this.fComponentsStore = fComponentsStore;
@@ -6674,6 +7185,7 @@ class SelectionAreaDragHandle {
6674
7185
  _fSelectionArea;
6675
7186
  _fDraggableDataContext;
6676
7187
  _fMediator;
7188
+ fEventType = 'selection-area';
6677
7189
  _canBeSelected = [];
6678
7190
  _selectedByMove = [];
6679
7191
  get _fCanvasPosition() {
@@ -6701,490 +7213,168 @@ class SelectionAreaDragHandle {
6701
7213
  this._selectedByMove = [];
6702
7214
  this._canBeSelected.forEach((item) => {
6703
7215
  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;
7216
+ const fItemRect = RectExtensions.addPoint(item.fRect, this._fCanvasPosition);
7217
+ const isIntersect = RectExtensions.intersectionWithRect(fItemRect, fSelectionAreaRect);
7218
+ if (isIntersect) {
7219
+ item.element.markAsSelected();
7220
+ this._selectedByMove.push(item.element);
7221
+ }
7222
+ });
7223
+ this._fMediator.execute(new NotifyTransformChangedRequest());
7061
7224
  }
7062
- }
7063
-
7064
- let RemoveInputFromStoreExecution = class RemoveInputFromStoreExecution {
7065
- _fComponentsStore = inject(FComponentsStore);
7066
- handle(request) {
7067
- this._fComponentsStore.removeComponent(this._fComponentsStore.fInputs, request.fComponent);
7225
+ _getMinimumPoint(point1, point2) {
7226
+ return PointExtensions.initialize(Math.min(point1.x, point2.x), Math.min(point1.y, point2.y));
7068
7227
  }
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;
7228
+ onPointerUp() {
7229
+ this._fSelectionArea.hide();
7230
+ this._fDraggableDataContext.selectedItems.push(...this._selectedByMove);
7231
+ if (this._selectedByMove.length > 0) {
7232
+ this._fDraggableDataContext.isSelectedChanged = true;
7233
+ }
7083
7234
  }
7084
7235
  }
7085
7236
 
7086
- let RemoveOutletFromStoreExecution = class RemoveOutletFromStoreExecution {
7087
- _fComponentsStore = inject(FComponentsStore);
7237
+ let SelectionAreaFinalizeExecution = class SelectionAreaFinalizeExecution {
7238
+ _fDraggableDataContext = inject(FDraggableDataContext);
7088
7239
  handle(request) {
7089
- this._fComponentsStore.removeComponent(this._fComponentsStore.fOutlets, request.fComponent);
7240
+ if (!this._isValid()) {
7241
+ return;
7242
+ }
7243
+ this._fDraggableDataContext.draggableItems.forEach((x) => {
7244
+ x.onPointerUp?.();
7245
+ });
7090
7246
  }
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 });
7247
+ _isValid() {
7248
+ return this._fDraggableDataContext.draggableItems.some((x) => x instanceof SelectionAreaDragHandle);
7249
+ }
7250
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7251
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaFinalizeExecution });
7093
7252
  };
7094
- RemoveOutletFromStoreExecution = __decorate([
7095
- FExecutionRegister(RemoveOutletFromStoreRequest)
7096
- ], RemoveOutletFromStoreExecution);
7097
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutletFromStoreExecution, decorators: [{
7253
+ SelectionAreaFinalizeExecution = __decorate([
7254
+ FExecutionRegister(SelectionAreaFinalizeRequest)
7255
+ ], SelectionAreaFinalizeExecution);
7256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaFinalizeExecution, decorators: [{
7098
7257
  type: Injectable
7099
7258
  }] });
7100
7259
 
7101
- class RemoveOutputFromStoreRequest {
7102
- fComponent;
7103
- constructor(fComponent) {
7104
- this.fComponent = fComponent;
7260
+ class SelectionAreaPreparationRequest {
7261
+ event;
7262
+ fSelectionArea;
7263
+ fTrigger;
7264
+ constructor(event, fSelectionArea, fTrigger) {
7265
+ this.event = event;
7266
+ this.fSelectionArea = fSelectionArea;
7267
+ this.fTrigger = fTrigger;
7105
7268
  }
7106
7269
  }
7107
7270
 
7108
- let RemoveOutputFromStoreExecution = class RemoveOutputFromStoreExecution {
7271
+ let SelectionAreaPreparationExecution = class SelectionAreaPreparationExecution {
7272
+ _fMediator = inject(FMediator);
7109
7273
  _fComponentsStore = inject(FComponentsStore);
7274
+ _fDraggableDataContext = inject(FDraggableDataContext);
7275
+ get _fHost() {
7276
+ return this._fComponentsStore.fFlow.hostElement;
7277
+ }
7110
7278
  handle(request) {
7111
- this._fComponentsStore.removeComponent(this._fComponentsStore.fOutputs, request.fComponent);
7279
+ if (!this._isValid(request)) {
7280
+ return;
7281
+ }
7282
+ this._fDraggableDataContext.draggableItems = [
7283
+ new SelectionAreaDragHandle(this._fComponentsStore, request.fSelectionArea, this._fDraggableDataContext, this._fMediator)
7284
+ ];
7285
+ this._fDraggableDataContext.onPointerDownScale = 1;
7286
+ this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
7287
+ .elementTransform(this._fHost);
7112
7288
  }
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 });
7289
+ _isValid(request) {
7290
+ return this._fDraggableDataContext.isEmpty()
7291
+ && isValidEventTrigger(request.event.originalEvent, request.fTrigger);
7292
+ }
7293
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7294
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaPreparationExecution });
7115
7295
  };
7116
- RemoveOutputFromStoreExecution = __decorate([
7117
- FExecutionRegister(RemoveOutputFromStoreRequest)
7118
- ], RemoveOutputFromStoreExecution);
7119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RemoveOutputFromStoreExecution, decorators: [{
7296
+ SelectionAreaPreparationExecution = __decorate([
7297
+ FExecutionRegister(SelectionAreaPreparationRequest)
7298
+ ], SelectionAreaPreparationExecution);
7299
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SelectionAreaPreparationExecution, decorators: [{
7120
7300
  type: Injectable
7121
7301
  }] });
7122
7302
 
7123
- class UnmarkAllCanBeConnectedInputsRequest {
7124
- fInputs;
7125
- constructor(fInputs) {
7126
- this.fInputs = fInputs;
7127
- }
7303
+ const F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS = [
7304
+ SelectionAreaPreparationExecution,
7305
+ SelectionAreaFinalizeExecution
7306
+ ];
7307
+
7308
+ class FSelectionAreaBase {
7309
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSelectionAreaBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7310
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FSelectionAreaBase, ngImport: i0 });
7128
7311
  }
7312
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSelectionAreaBase, decorators: [{
7313
+ type: Directive
7314
+ }] });
7129
7315
 
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));
7316
+ class FSelectionAreaComponent extends FSelectionAreaBase {
7317
+ _fMediator = inject(FMediator);
7318
+ _elementReference = inject(ElementRef);
7319
+ fTrigger = (event) => {
7320
+ return event.shiftKey;
7321
+ };
7322
+ get hostElement() {
7323
+ return this._elementReference.nativeElement;
7135
7324
  }
7136
- _unmarkCanBeConnectedTo(fInput) {
7137
- fInput.hostElement.classList.remove(F_CSS_CLASS.CONNECTOR.INPUT_CAN_BE_CONNECTED_TO);
7325
+ ngOnInit() {
7326
+ this.hostElement.style.display = 'none';
7138
7327
  }
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;
7328
+ hide() {
7329
+ this.hostElement.style.display = 'none';
7330
+ }
7331
+ show() {
7332
+ this.hostElement.style.display = 'block';
7333
+ }
7334
+ draw(object) {
7335
+ const style = this.hostElement.style;
7336
+ style.left = object.x + 'px';
7337
+ style.top = object.y + 'px';
7338
+ style.width = object.width + 'px';
7339
+ style.height = object.height + 'px';
7340
+ }
7341
+ onPointerDown(event) {
7342
+ this._fMediator.execute(new SelectionAreaPreparationRequest(event, this, this.fTrigger));
7168
7343
  }
7344
+ onPointerUp(event) {
7345
+ this._fMediator.execute(new SelectionAreaFinalizeRequest(event));
7346
+ }
7347
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSelectionAreaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7348
+ 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: [
7349
+ { provide: F_DRAG_AND_DROP_PLUGIN, useExisting: FSelectionAreaComponent },
7350
+ ], usesInheritance: true, ngImport: i0, template: ``, isInline: true, styles: [":host{position:absolute}\n"] });
7169
7351
  }
7352
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FSelectionAreaComponent, decorators: [{
7353
+ type: Component,
7354
+ args: [{ selector: "f-selection-area", template: ``, host: {
7355
+ 'class': 'f-selection-area f-component'
7356
+ }, providers: [
7357
+ { provide: F_DRAG_AND_DROP_PLUGIN, useExisting: FSelectionAreaComponent },
7358
+ ], styles: [":host{position:absolute}\n"] }]
7359
+ }], propDecorators: { fTrigger: [{
7360
+ type: Input
7361
+ }] } });
7170
7362
 
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
- }] });
7363
+ const F_SELECTION_AREA_PROVIDERS = [
7364
+ FSelectionAreaComponent
7365
+ ];
7185
7366
 
7186
- class EmitSelectionChangeEventRequest {
7187
- }
7367
+ const F_DRAGGABLE_PROVIDERS = [
7368
+ ...CANVAS_PROVIDERS,
7369
+ ...CONNECTIONS_PROVIDERS,
7370
+ ...DRAG_AND_DROP_COMMON_PROVIDERS,
7371
+ ...SINGLE_SELECT_PROVIDERS,
7372
+ ...F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS,
7373
+ ...NODE_PROVIDERS,
7374
+ ...NODE_RESIZE_PROVIDERS,
7375
+ ...F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS,
7376
+ ...F_MINIMAP_DRAG_AND_DROP_PROVIDERS
7377
+ ];
7188
7378
 
7189
7379
  class ClearSelectionRequest {
7190
7380
  }
@@ -7260,9 +7450,9 @@ let GetCurrentSelectionExecution = class GetCurrentSelectionExecution {
7260
7450
  _fDraggableDataContext = inject(FDraggableDataContext);
7261
7451
  handle() {
7262
7452
  return {
7263
- nodes: this._getSelectedNodes(),
7264
- groups: this._getSelectedGroups(),
7265
- connections: this._getSelectedConnections()
7453
+ fNodeIds: this._getSelectedNodes(),
7454
+ fGroupIds: this._getSelectedGroups(),
7455
+ fConnectionIds: this._getSelectedConnections()
7266
7456
  };
7267
7457
  }
7268
7458
  _getSelectedNodes() {
@@ -7596,7 +7786,7 @@ let EmitSelectionChangeEventExecution = class EmitSelectionChangeEventExecution
7596
7786
  return this._fMediator.execute(new GetCurrentSelectionRequest());
7597
7787
  }
7598
7788
  _emitSelectionChange(selection) {
7599
- this._fSelectionChange.emit(new FSelectionChangeEvent(selection.nodes, selection.groups, selection.connections));
7789
+ this._fSelectionChange.emit(new FSelectionChangeEvent(selection.fNodeIds, selection.fGroupIds, selection.fConnectionIds));
7600
7790
  }
7601
7791
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: EmitSelectionChangeEventExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7602
7792
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: EmitSelectionChangeEventExecution });
@@ -7692,6 +7882,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
7692
7882
  type: Injectable
7693
7883
  }] });
7694
7884
 
7885
+ class IsDragStartedRequest {
7886
+ }
7887
+
7888
+ let IsDragStartedExecution = class IsDragStartedExecution {
7889
+ _fComponentsStore = inject(FComponentsStore);
7890
+ handle(request) {
7891
+ return !!this._fComponentsStore.fDraggable?.isDragStarted;
7892
+ }
7893
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsDragStartedExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7894
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsDragStartedExecution });
7895
+ };
7896
+ IsDragStartedExecution = __decorate([
7897
+ FExecutionRegister(IsDragStartedRequest)
7898
+ ], IsDragStartedExecution);
7899
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsDragStartedExecution, decorators: [{
7900
+ type: Injectable
7901
+ }] });
7902
+
7695
7903
  class PrepareDragSequenceRequest {
7696
7904
  }
7697
7905
 
@@ -7701,10 +7909,10 @@ class StartDragSequenceRequest {
7701
7909
  let StartDragSequenceExecution = class StartDragSequenceExecution {
7702
7910
  _fMediator = inject(FMediator);
7703
7911
  _fComponentsStore = inject(FComponentsStore);
7912
+ _fDraggableDataContext = inject(FDraggableDataContext);
7704
7913
  get _hostElement() {
7705
7914
  return this._fComponentsStore.fDraggable.hostElement;
7706
7915
  }
7707
- _fDraggableDataContext = inject(FDraggableDataContext);
7708
7916
  handle(request) {
7709
7917
  if (this._fDraggableDataContext.draggableItems.length > 0) {
7710
7918
  this._hostElement.classList.add(F_CSS_CLASS.DRAG_AND_DROP.DRAGGING);
@@ -7713,7 +7921,10 @@ let StartDragSequenceExecution = class StartDragSequenceExecution {
7713
7921
  }
7714
7922
  }
7715
7923
  _emitDragStarted() {
7716
- this._fComponentsStore.fDraggable?.fDragStarted?.emit();
7924
+ this._fComponentsStore.fDraggable?.fDragStarted?.emit({
7925
+ fEventType: this._fDraggableDataContext.draggableItems[0].fEventType,
7926
+ fData: { ...this._fDraggableDataContext.draggableItems[0].fData }
7927
+ });
7717
7928
  }
7718
7929
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: StartDragSequenceExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7719
7930
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: StartDragSequenceExecution });
@@ -9320,6 +9531,9 @@ class FZoomDirective extends FZoomBase {
9320
9531
  this._listenTriggers();
9321
9532
  }
9322
9533
  }
9534
+ /**
9535
+ * @deprecated`,
9536
+ */
9323
9537
  fZoomTriggers = [
9324
9538
  { event: EFTriggerEvent.WHEEL, action: EFZoomAction.WHEEL },
9325
9539
  { event: EFTriggerEvent.DOUBLE_CLICK, action: EFZoomAction.DOUBLE_CLICK }
@@ -9351,6 +9565,9 @@ class FZoomDirective extends FZoomBase {
9351
9565
  }
9352
9566
  this._disposeListeners();
9353
9567
  this._validateTriggers();
9568
+ if (!this._isEnabled) {
9569
+ return;
9570
+ }
9354
9571
  this.fZoomTriggers.forEach((x) => {
9355
9572
  this._triggersListener.push(this._rendered.listen(this._fHost, x.event, this._getAction(x)));
9356
9573
  });
@@ -9478,7 +9695,7 @@ const F_ZOOM_PROVIDERS = [
9478
9695
 
9479
9696
  class FFlowModule {
9480
9697
  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] });
9698
+ 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
9699
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FFlowModule, imports: [CommonModule] });
9483
9700
  }
9484
9701
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FFlowModule, decorators: [{
@@ -9490,7 +9707,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
9490
9707
  ...F_ZOOM_PROVIDERS,
9491
9708
  ...F_CONNECTION_PROVIDERS,
9492
9709
  ...F_CONNECTORS_PROVIDERS,
9493
- ...F_EXTERNAL_ITEM_PROVIDERS,
9494
9710
  ...F_FLOW_PROVIDERS,
9495
9711
  ...F_LINE_ALIGNMENT_PROVIDERS,
9496
9712
  ...F_MINIMAP_PROVIDERS,
@@ -9507,7 +9723,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
9507
9723
  ...F_ZOOM_PROVIDERS,
9508
9724
  ...F_CONNECTION_PROVIDERS,
9509
9725
  ...F_CONNECTORS_PROVIDERS,
9510
- ...F_EXTERNAL_ITEM_PROVIDERS,
9511
9726
  ...F_FLOW_PROVIDERS,
9512
9727
  ...F_LINE_ALIGNMENT_PROVIDERS,
9513
9728
  ...F_MINIMAP_PROVIDERS,
@@ -9522,5 +9737,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
9522
9737
  * Generated bundle index. Do not edit.
9523
9738
  */
9524
9739
 
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 };
9740
+ 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
9741
  //# sourceMappingURL=foblex-flow.mjs.map