@foblex/flow 17.1.1 → 17.2.0

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 (327) hide show
  1. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.d.ts +3 -3
  2. package/domain/f-connectors/providers.d.ts +1 -1
  3. package/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.d.ts +1 -0
  4. package/domain/f-draggable/providers.d.ts +1 -1
  5. package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +1 -0
  6. package/domain/f-event-trigger.d.ts +4 -0
  7. package/domain/f-selection/clear-selection/clear-selection.execution.d.ts +1 -3
  8. package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +4 -6
  9. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.d.ts +6 -0
  10. package/domain/f-selection/get-can-be-selected-items/index.d.ts +1 -1
  11. package/domain/f-selection/providers.d.ts +1 -1
  12. package/domain/index.d.ts +1 -0
  13. package/domain/providers.d.ts +1 -1
  14. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +4 -4
  15. package/domain/update-item-and-children-layers/update-item-and-children-layers.request.d.ts +3 -3
  16. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +2 -2
  17. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +3 -3
  18. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +3 -3
  19. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +3 -3
  20. package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.execution.mjs +2 -2
  21. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +9 -9
  22. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.mjs +4 -4
  23. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.mjs +2 -2
  24. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +3 -3
  25. package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +5 -1
  26. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +2 -2
  27. package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +6 -2
  28. package/esm2022/domain/f-event-trigger.mjs +7 -0
  29. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +4 -4
  30. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +2 -2
  31. package/esm2022/domain/f-selection/clear-selection/clear-selection.execution.mjs +9 -12
  32. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +8 -11
  33. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.mjs +2 -0
  34. package/esm2022/domain/f-selection/get-can-be-selected-items/index.mjs +2 -2
  35. package/esm2022/domain/f-selection/select/select.execution.mjs +4 -4
  36. package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +4 -4
  37. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +3 -3
  38. package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +1 -1
  39. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +2 -2
  40. package/esm2022/domain/index.mjs +2 -1
  41. package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +4 -4
  42. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +14 -14
  43. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +2 -2
  44. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +3 -3
  45. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs +1 -1
  46. package/esm2022/f-backgroud/f-background.component.mjs +4 -4
  47. package/esm2022/f-canvas/f-canvas.component.mjs +13 -13
  48. package/esm2022/f-connection/common/f-connection-base.mjs +3 -3
  49. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +4 -2
  50. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +2 -1
  51. package/esm2022/f-connection/f-connection/f-connection.component.mjs +4 -4
  52. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +4 -4
  53. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +3 -3
  54. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +4 -4
  55. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +3 -3
  56. package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +1 -1
  57. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +3 -3
  58. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +1 -1
  59. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +3 -3
  60. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +3 -3
  61. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.mjs +40 -0
  62. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.request.mjs +9 -0
  63. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.mjs +3 -0
  64. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +36 -38
  65. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs +4 -2
  66. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +31 -23
  67. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs +4 -2
  68. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs +1 -2
  69. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +8 -12
  70. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs +4 -2
  71. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +2 -2
  72. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +15 -14
  73. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +27 -24
  74. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.mjs +4 -4
  75. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs +1 -2
  76. package/esm2022/f-draggable/connections/providers.mjs +3 -5
  77. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +2 -2
  78. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +2 -2
  79. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs +4 -2
  80. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +8 -7
  81. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +3 -3
  82. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +2 -2
  83. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  84. package/esm2022/f-draggable/f-draggable-data-context.mjs +1 -1
  85. package/esm2022/f-draggable/f-draggable.directive.mjs +55 -24
  86. package/esm2022/f-draggable/f-injector.mjs +19 -0
  87. package/esm2022/f-draggable/index.mjs +2 -1
  88. package/esm2022/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.mjs +56 -0
  89. package/esm2022/f-draggable/node/connection-drag-handlers/index.mjs +5 -0
  90. package/esm2022/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.mjs +11 -0
  91. package/esm2022/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.mjs +22 -0
  92. package/esm2022/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.mjs +11 -0
  93. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +47 -45
  94. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.mjs +69 -0
  95. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.mjs +7 -0
  96. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.mjs +3 -0
  97. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.mjs +49 -0
  98. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.request.mjs +9 -0
  99. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.mjs +3 -0
  100. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +27 -35
  101. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.mjs +4 -4
  102. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +33 -46
  103. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.mjs +4 -4
  104. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.mjs +2 -0
  105. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.mjs +2 -0
  106. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +5 -4
  107. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +5 -5
  108. package/esm2022/f-draggable/node/index.mjs +4 -6
  109. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.mjs +7 -18
  110. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.mjs +7 -1
  111. package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +5 -4
  112. package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.mjs +3 -3
  113. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/index.mjs +1 -3
  114. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +13 -6
  115. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +13 -9
  116. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +5 -4
  117. package/esm2022/f-draggable/node/node.drag-handler.mjs +12 -29
  118. package/esm2022/f-draggable/node/point-bounds-limiter.mjs +41 -0
  119. package/esm2022/f-draggable/node/providers.mjs +3 -3
  120. package/esm2022/f-draggable/node/summary-node.drag-handler.mjs +36 -0
  121. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +26 -22
  122. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +1 -1
  123. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +18 -18
  124. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +1 -1
  125. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +3 -3
  126. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +8 -11
  127. package/esm2022/f-draggable/node-resize/node-resize-preparation/index.mjs +1 -3
  128. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +46 -34
  129. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +47 -34
  130. package/esm2022/f-draggable/node-resize/providers.mjs +3 -3
  131. package/esm2022/f-draggable/node-resize/resize-direction.mjs +5 -1
  132. package/esm2022/f-draggable/single-select/single-select.execution.mjs +101 -70
  133. package/esm2022/f-draggable/single-select/single-select.request.mjs +4 -2
  134. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +2 -2
  135. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +27 -27
  136. package/esm2022/f-external-item/domain/external-item-preparation/index.mjs +1 -2
  137. package/esm2022/f-external-item/domain/external-item-preparation/providers.mjs +1 -3
  138. package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +9 -8
  139. package/esm2022/f-flow/f-flow.component.mjs +15 -15
  140. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +2 -2
  141. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.mjs +2 -2
  142. package/esm2022/f-minimap/domain/minimap-drag-finalize/index.mjs +1 -2
  143. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +8 -1
  144. package/esm2022/f-minimap/domain/minimap-drag-finalize/providers.mjs +1 -3
  145. package/esm2022/f-minimap/domain/minimap-drag-preparation/index.mjs +1 -2
  146. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +10 -2
  147. package/esm2022/f-minimap/domain/minimap-drag-preparation/providers.mjs +1 -3
  148. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +2 -2
  149. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +2 -2
  150. package/esm2022/f-minimap/f-minimap-view.directive.mjs +2 -2
  151. package/esm2022/f-minimap/f-minimap.component.mjs +4 -4
  152. package/esm2022/f-node/f-group.directive.mjs +16 -10
  153. package/esm2022/f-node/f-node-base.mjs +1 -1
  154. package/esm2022/f-node/f-node.directive.mjs +16 -10
  155. package/esm2022/f-node/f-resize-handle/e-f-resize-handle-type.mjs +6 -2
  156. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +3 -3
  157. package/esm2022/f-selection-area/domain/providers.mjs +5 -5
  158. package/esm2022/f-selection-area/domain/selection-area-finalize/index.mjs +1 -3
  159. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +14 -10
  160. package/esm2022/f-selection-area/domain/selection-area-preparation/index.mjs +1 -3
  161. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +25 -23
  162. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +4 -2
  163. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +32 -29
  164. package/esm2022/f-selection-area/f-selection-area.component.mjs +11 -6
  165. package/esm2022/mixins/change-selection/change-selection.mjs +7 -7
  166. package/esm2022/mixins/change-selection/i-selectable.mjs +2 -0
  167. package/esm2022/mixins/change-selection/index.mjs +2 -2
  168. package/f-connection/common/f-connection-base.d.ts +5 -5
  169. package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +1 -0
  170. package/f-connection/providers.d.ts +1 -1
  171. package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +1 -0
  172. package/f-connectors/f-node-output/f-node-output-base.d.ts +1 -0
  173. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.d.ts +12 -0
  174. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.request.d.ts +7 -0
  175. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.d.ts +2 -0
  176. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.d.ts +6 -6
  177. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.d.ts +3 -1
  178. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.d.ts +6 -6
  179. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.d.ts +3 -1
  180. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.d.ts +0 -1
  181. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +1 -2
  182. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.d.ts +3 -1
  183. package/f-draggable/connections/create-connection/create-connection-preparation/index.d.ts +1 -1
  184. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +3 -5
  185. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.d.ts +7 -7
  186. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.d.ts +2 -2
  187. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.d.ts +0 -1
  188. package/f-draggable/connections/providers.d.ts +2 -2
  189. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.d.ts +3 -1
  190. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +2 -4
  191. package/f-draggable/f-draggable-base.d.ts +4 -1
  192. package/f-draggable/f-draggable-data-context.d.ts +2 -2
  193. package/f-draggable/f-draggable.directive.d.ts +16 -3
  194. package/f-draggable/f-injector.d.ts +8 -0
  195. package/f-draggable/index.d.ts +1 -0
  196. package/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.d.ts +21 -0
  197. package/f-draggable/node/connection-drag-handlers/index.d.ts +4 -0
  198. package/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.d.ts +7 -0
  199. package/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.d.ts +10 -0
  200. package/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.d.ts +7 -0
  201. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +14 -13
  202. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.d.ts +19 -0
  203. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.d.ts +5 -0
  204. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.d.ts +2 -0
  205. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.d.ts +15 -0
  206. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/{calculate-node-move-restrictions/calculate-node-move-restrictions.request.d.ts → calculate-node-move-limits/calculate-node-move-limits.request.d.ts} +1 -1
  207. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.d.ts +2 -0
  208. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.d.ts +5 -10
  209. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.d.ts +4 -4
  210. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.d.ts +8 -13
  211. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.d.ts +4 -4
  212. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.d.ts +5 -0
  213. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.d.ts +3 -0
  214. package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +4 -3
  215. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +3 -3
  216. package/f-draggable/node/index.d.ts +3 -5
  217. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.d.ts +0 -2
  218. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.d.ts +5 -0
  219. package/f-draggable/node/line-alignment.drag-handler.d.ts +2 -3
  220. package/f-draggable/node/node-drag-to-parent-preparation/index.d.ts +0 -2
  221. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.d.ts +1 -0
  222. package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +2 -0
  223. package/f-draggable/node/node.drag-handler.d.ts +6 -9
  224. package/f-draggable/node/point-bounds-limiter.d.ts +15 -0
  225. package/f-draggable/node/providers.d.ts +2 -1
  226. package/f-draggable/node/summary-node.drag-handler.d.ts +14 -0
  227. package/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +5 -5
  228. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +5 -4
  229. package/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +3 -3
  230. package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.d.ts +1 -3
  231. package/f-draggable/node-resize/node-resize-preparation/index.d.ts +0 -2
  232. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.d.ts +13 -11
  233. package/f-draggable/node-resize/node-resize.drag-handler.d.ts +16 -12
  234. package/f-draggable/node-resize/providers.d.ts +2 -1
  235. package/f-draggable/node-resize/resize-direction.d.ts +16 -0
  236. package/f-draggable/providers.d.ts +1 -1
  237. package/f-draggable/single-select/single-select.execution.d.ts +54 -20
  238. package/f-draggable/single-select/single-select.request.d.ts +3 -1
  239. package/f-external-item/domain/external-item-preparation/external-item-preparation.execution.d.ts +7 -11
  240. package/f-external-item/domain/external-item-preparation/index.d.ts +0 -1
  241. package/f-external-item/domain/external-item-preparation/providers.d.ts +1 -2
  242. package/f-external-item/domain/external-item.drag-handler.d.ts +2 -3
  243. package/f-external-item/domain/providers.d.ts +1 -1
  244. package/f-minimap/domain/minimap-drag-finalize/index.d.ts +0 -1
  245. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.d.ts +1 -0
  246. package/f-minimap/domain/minimap-drag-finalize/providers.d.ts +1 -2
  247. package/f-minimap/domain/minimap-drag-preparation/index.d.ts +0 -1
  248. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.d.ts +1 -0
  249. package/f-minimap/domain/minimap-drag-preparation/providers.d.ts +1 -2
  250. package/f-minimap/domain/providers.d.ts +1 -1
  251. package/f-node/f-node-base.d.ts +3 -3
  252. package/f-node/f-resize-handle/e-f-resize-handle-type.d.ts +6 -2
  253. package/f-node/providers.d.ts +1 -1
  254. package/f-selection-area/domain/providers.d.ts +3 -1
  255. package/f-selection-area/domain/selection-area-finalize/index.d.ts +0 -2
  256. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.d.ts +2 -3
  257. package/f-selection-area/domain/selection-area-preparation/index.d.ts +0 -2
  258. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.d.ts +6 -8
  259. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.d.ts +3 -1
  260. package/f-selection-area/domain/selection-area.drag-handle.d.ts +7 -6
  261. package/f-selection-area/f-selection-area.component.d.ts +3 -1
  262. package/f-storage/providers.d.ts +1 -1
  263. package/fesm2022/foblex-flow.mjs +1160 -1156
  264. package/fesm2022/foblex-flow.mjs.map +1 -1
  265. package/mixins/change-selection/change-selection.d.ts +2 -2
  266. package/mixins/change-selection/i-selectable.d.ts +10 -0
  267. package/mixins/change-selection/index.d.ts +1 -1
  268. package/package.json +2 -2
  269. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected.d.ts +0 -6
  270. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected.mjs +0 -2
  271. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +0 -47
  272. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs +0 -9
  273. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.mjs +0 -3
  274. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +0 -36
  275. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.mjs +0 -28
  276. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +0 -55
  277. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +0 -17
  278. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +0 -17
  279. package/esm2022/f-draggable/node/connection.drag-handler.mjs +0 -23
  280. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.mjs +0 -40
  281. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.mjs +0 -7
  282. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.mjs +0 -3
  283. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.mjs +0 -42
  284. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.request.mjs +0 -9
  285. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.mjs +0 -3
  286. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +0 -2
  287. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.mjs +0 -26
  288. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/providers.mjs +0 -7
  289. package/esm2022/f-draggable/node/node-resize-by-child.drag-handler.mjs +0 -16
  290. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +0 -44
  291. package/esm2022/f-draggable/node-resize/node-resize-preparation/providers.mjs +0 -7
  292. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +0 -30
  293. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +0 -26
  294. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +0 -30
  295. package/esm2022/f-selection-area/domain/selection-area-finalize/providers.mjs +0 -7
  296. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +0 -26
  297. package/esm2022/f-selection-area/domain/selection-area-preparation/providers.mjs +0 -7
  298. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +0 -32
  299. package/esm2022/mixins/change-selection/i-can-change-selection.mjs +0 -2
  300. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.d.ts +0 -17
  301. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.d.ts +0 -7
  302. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.d.ts +0 -2
  303. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.d.ts +0 -14
  304. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.d.ts +0 -12
  305. package/f-draggable/node/connection-base-drag-handler.d.ts +0 -24
  306. package/f-draggable/node/connection-source.drag-handler.d.ts +0 -11
  307. package/f-draggable/node/connection-target.drag-handler.d.ts +0 -11
  308. package/f-draggable/node/connection.drag-handler.d.ts +0 -14
  309. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.d.ts +0 -13
  310. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.d.ts +0 -5
  311. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.d.ts +0 -2
  312. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.d.ts +0 -12
  313. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.d.ts +0 -2
  314. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.d.ts +0 -6
  315. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.d.ts +0 -11
  316. package/f-draggable/node/node-drag-to-parent-preparation/providers.d.ts +0 -3
  317. package/f-draggable/node/node-resize-by-child.drag-handler.d.ts +0 -11
  318. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.d.ts +0 -17
  319. package/f-draggable/node-resize/node-resize-preparation/providers.d.ts +0 -3
  320. package/f-external-item/domain/external-item-preparation/external-item-preparation.validator.d.ts +0 -12
  321. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.d.ts +0 -11
  322. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.d.ts +0 -13
  323. package/f-selection-area/domain/selection-area-finalize/providers.d.ts +0 -3
  324. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.d.ts +0 -11
  325. package/f-selection-area/domain/selection-area-preparation/providers.d.ts +0 -3
  326. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.d.ts +0 -13
  327. package/mixins/change-selection/i-can-change-selection.d.ts +0 -10
@@ -1,20 +1,24 @@
1
1
  import { IPoint } from '@foblex/2d';
2
2
  import { IDraggableItem } from '../i-draggable-item';
3
3
  import { EFResizeHandleType, FNodeBase } from '../../f-node';
4
- import { FMediator } from '@foblex/mediator';
5
4
  export declare class NodeResizeDragHandler implements IDraggableItem {
6
- private fMediator;
7
- fNode: FNodeBase;
8
- fResizeHandleType: EFResizeHandleType;
9
- private originalRect;
10
- private restrictions;
11
- private childRestrictions;
12
- constructor(fMediator: FMediator, fNode: FNodeBase, fResizeHandleType: EFResizeHandleType);
5
+ private _fNode;
6
+ private _fResizeHandleType;
7
+ private _fMediator;
8
+ private _originalRect;
9
+ private _resizeRestrictions;
10
+ constructor(_fNode: FNodeBase, _fResizeHandleType: EFResizeHandleType);
13
11
  prepareDragSequence(): void;
12
+ private _getOriginalNodeRect;
13
+ private _getNodeResizeRestrictions;
14
14
  onPointerMove(difference: IPoint): void;
15
- private changeSize;
16
- private changePosition;
17
- private applyChildRestrictions;
18
- private applyParentRestrictions;
15
+ private _calculateChangedRect;
16
+ private _calculateSize;
17
+ private _calculatePosition;
18
+ private _applyResizeChanges;
19
+ private _updateNodeRendering;
20
+ private _applyChildRestrictions;
21
+ private _applyParentRestrictions;
19
22
  onPointerUp(): void;
23
+ private _getNewRect;
20
24
  }
@@ -1,7 +1,8 @@
1
+ import { NodeResizePreparationExecution } from './node-resize-preparation';
1
2
  import { GetNodeResizeRestrictionsExecution } from './get-node-resize-restrictions';
2
3
  import { ApplyChildResizeRestrictionsExecution } from './apply-child-resize-restrictions';
3
4
  import { ApplyParentResizeRestrictionsExecution } from './apply-parent-resize-restrictions';
4
5
  import { CalculateChangedSizeExecution } from './calculate-changed-size';
5
6
  import { CalculateChangedPositionExecution } from './calculate-changed-position';
6
7
  import { GetNormalizedChildrenNodesRectExecution } from './get-normalized-children-nodes-rect';
7
- export declare const NODE_RESIZE_PROVIDERS: (typeof ApplyChildResizeRestrictionsExecution | typeof ApplyParentResizeRestrictionsExecution | typeof CalculateChangedPositionExecution | typeof CalculateChangedSizeExecution | typeof GetNormalizedChildrenNodesRectExecution | typeof GetNodeResizeRestrictionsExecution | typeof import("./node-resize-finalize").NodeResizeFinalizeExecution | typeof import("./node-resize-preparation").NodeResizePreparationExecution | typeof import("./node-resize-preparation").NodeResizePreparationValidator)[];
8
+ export declare const NODE_RESIZE_PROVIDERS: (typeof ApplyChildResizeRestrictionsExecution | typeof ApplyParentResizeRestrictionsExecution | typeof CalculateChangedPositionExecution | typeof CalculateChangedSizeExecution | typeof GetNormalizedChildrenNodesRectExecution | typeof GetNodeResizeRestrictionsExecution | typeof import("./node-resize-finalize").NodeResizeFinalizeExecution | typeof NodeResizePreparationExecution)[];
@@ -1,16 +1,32 @@
1
1
  export declare const RESIZE_DIRECTIONS: {
2
+ left: {
3
+ x: number;
4
+ y: number;
5
+ };
2
6
  "left-top": {
3
7
  x: number;
4
8
  y: number;
5
9
  };
10
+ top: {
11
+ x: number;
12
+ y: number;
13
+ };
6
14
  "right-top": {
7
15
  x: number;
8
16
  y: number;
9
17
  };
18
+ right: {
19
+ x: number;
20
+ y: number;
21
+ };
10
22
  "right-bottom": {
11
23
  x: number;
12
24
  y: number;
13
25
  };
26
+ bottom: {
27
+ x: number;
28
+ y: number;
29
+ };
14
30
  "left-bottom": {
15
31
  x: number;
16
32
  y: number;
@@ -1 +1 @@
1
- export declare const F_DRAGGABLE_PROVIDERS: (typeof import("./canvas").CanvasMoveFinalizeExecution | typeof import("./canvas").CanvasMovePreparationExecution | typeof import("./connections").CreateConnectionFinalizeExecution | typeof import("./connections").CreateConnectionDragHandlerExecution | typeof import("./connections").CreateConnectionFromOutletPreparationExecution | typeof import("./connections").GetCanBeConnectedOutputByOutletExecution | typeof import("./connections").GetCanBeConnectedOutputByOutletValidator | typeof import("./connections").CreateConnectionFromOutputPreparationExecution | typeof import("./connections").CreateConnectionFromOutputPreparationValidator | typeof import("./connections").CreateConnectionPreparationExecution | typeof import("./connections").ReassignConnectionFinalizeExecution | typeof import("./connections").ReassignConnectionPreparationExecution | typeof import("./domain").GetNormalizedParentNodeRectExecution | typeof import("./domain").IsArrayHasParentNodeExecution | typeof import("./domain").IsConnectionUnderNodeExecution | typeof import("./single-select").SingleSelectExecution | typeof import("../f-external-item").ExternalItemFinalizeExecution | typeof import("../f-external-item").ExternalItemPreparationExecution | typeof import("../f-external-item").ExternalItemPreparationValidator | typeof import("../f-external-item").PreventDefaultIsExternalItemExecution | typeof import("./node").CalculateCommonNodeMoveRestrictionsExecution | typeof import("./node").CalculateNodeMoveRestrictionsExecution | typeof import("./node").PutInputConnectionHandlersToArrayExecution | typeof import("./node").PutOutputConnectionHandlersToArrayExecution | typeof import("./node").CreateMoveNodesDragModelFromSelectionExecution | typeof import("./node").LineAlignmentPreparationExecution | typeof import("./node").NodeMoveFinalizeExecution | typeof import("./node").NodeMovePreparationExecution | typeof import("./node").NodeDragToParentPreparationExecution | typeof import("./node").NodeDragToParentPreparationValidator | typeof import("./node").NodeDragToParentFinalizeExecution | typeof import("./node-resize").ApplyChildResizeRestrictionsExecution | typeof import("./node-resize").ApplyParentResizeRestrictionsExecution | typeof import("./node-resize").CalculateChangedPositionExecution | typeof import("./node-resize").CalculateChangedSizeExecution | typeof import("./node-resize").GetNormalizedChildrenNodesRectExecution | typeof import("./node-resize").GetNodeResizeRestrictionsExecution | typeof import("./node-resize").NodeResizeFinalizeExecution | typeof import("./node-resize").NodeResizePreparationExecution | typeof import("./node-resize").NodeResizePreparationValidator | typeof import("../f-selection-area").SelectionAreaFinalizeExecution | typeof import("../f-selection-area").SelectionAreaFinalizeValidator | typeof import("../f-selection-area").SelectionAreaPreparationExecution | typeof import("../f-selection-area").SelectionAreaPreparationValidator | typeof import("@foblex/flow").CalculateFlowPointFromMinimapPointExecution | typeof import("@foblex/flow").MinimapDragFinalizeExecution | typeof import("@foblex/flow").MinimapDragFinalizeValidator | typeof import("@foblex/flow").MinimapDragPreparationExecution | typeof import("@foblex/flow").MinimapDragPreparationValidator | typeof import("@foblex/flow").MinimapDrawNodesExecution | typeof import("@foblex/flow").MinimapCalculateSvgScaleAndViewBoxExecution | typeof import("@foblex/flow").MinimapCalculateViewBoxExecution)[];
1
+ export declare const F_DRAGGABLE_PROVIDERS: (typeof import("../f-selection-area").SelectionAreaPreparationExecution | typeof import("../f-selection-area").SelectionAreaFinalizeExecution | typeof import("@foblex/flow").MinimapDragFinalizeExecution | typeof import("@foblex/flow").MinimapDragPreparationExecution | typeof import("../f-external-item").ExternalItemPreparationExecution | typeof import("./node-resize").ApplyChildResizeRestrictionsExecution | typeof import("./node-resize").ApplyParentResizeRestrictionsExecution | typeof import("./node-resize").CalculateChangedPositionExecution | typeof import("./node-resize").CalculateChangedSizeExecution | typeof import("./node-resize").GetNormalizedChildrenNodesRectExecution | typeof import("./node-resize").GetNodeResizeRestrictionsExecution | typeof import("./node-resize").NodeResizeFinalizeExecution | typeof import("./node-resize").NodeResizePreparationExecution | typeof import("./node").CalculateCommonNodeMoveLimitsExecution | typeof import("./node").CalculateNodeMoveLimitsExecution | typeof import("./node").PutInputConnectionHandlersToArrayExecution | typeof import("./node").PutOutputConnectionHandlersToArrayExecution | typeof import("./node").CreateMoveNodesDragModelFromSelectionExecution | typeof import("./node").LineAlignmentPreparationExecution | typeof import("./node").NodeMoveFinalizeExecution | typeof import("./node").NodeMovePreparationExecution | typeof import("./node").NodeDragToParentPreparationExecution | typeof import("./node").NodeDragToParentFinalizeExecution | typeof import("./canvas").CanvasMoveFinalizeExecution | typeof import("./canvas").CanvasMovePreparationExecution | typeof import("./connections").CreateConnectionFinalizeExecution | typeof import("./connections").CreateConnectionDragHandlerPreparationExecution | typeof import("./connections").CreateConnectionFromOutletPreparationExecution | typeof import("./connections").GetCanBeConnectedOutputByOutletExecution | typeof import("./connections").CreateConnectionFromOutputPreparationExecution | typeof import("./connections").CreateConnectionPreparationExecution | typeof import("./connections").ReassignConnectionFinalizeExecution | typeof import("./connections").ReassignConnectionPreparationExecution | typeof import("./domain").GetNormalizedParentNodeRectExecution | typeof import("./domain").IsArrayHasParentNodeExecution | typeof import("./domain").IsConnectionUnderNodeExecution | typeof import("./single-select").SingleSelectExecution | typeof import("../f-external-item").ExternalItemFinalizeExecution | typeof import("../f-external-item").PreventDefaultIsExternalItemExecution | typeof import("@foblex/flow").CalculateFlowPointFromMinimapPointExecution | typeof import("@foblex/flow").MinimapDrawNodesExecution | typeof import("@foblex/flow").MinimapCalculateSvgScaleAndViewBoxExecution | typeof import("@foblex/flow").MinimapCalculateViewBoxExecution)[];
@@ -1,28 +1,62 @@
1
- import { FMediator, IExecution } from '@foblex/mediator';
1
+ import { IExecution } from '@foblex/mediator';
2
2
  import { SingleSelectRequest } from './single-select.request';
3
- import { FComponentsStore } from '../../f-storage';
4
- import { FDraggableDataContext } from '../f-draggable-data-context';
5
- import { PlatformService } from '@foblex/platform';
6
3
  import * as i0 from "@angular/core";
4
+ /**
5
+ * Implements the functionality for selecting elements in a graphical interface.
6
+ * This class handles both single and multi-selection, updating the selection state
7
+ * of elements and managing related data.
8
+ *
9
+ * Logic flow:
10
+ * 1. **Validate the selection event**:
11
+ * - The event is considered valid if it occurs within the flow boundaries
12
+ * and there are no active draggable data operations.
13
+ *
14
+ * 2. **Determine the target element to select**:
15
+ * - The target element is determined based on the event’s target.
16
+ * It can be a node, a group of nodes, or a connection.
17
+ * - If no element is found, the current selection state is cleared.
18
+ *
19
+ * 3. **Update element layers**:
20
+ * - If an element is found, its visual layer and the layers of its child elements are updated.
21
+ *
22
+ * 4. **Single or multi-selection**:
23
+ * - If the event meets the criteria for multi-selection (e.g., a modifier key is pressed),
24
+ * multi-selection logic is applied.
25
+ * - Otherwise, single-selection logic is used.
26
+ *
27
+ * 5. **Single-selection logic**:
28
+ * - If the element is not selected and can be selected:
29
+ * - Clear the selection of all other elements.
30
+ * - Mark the current element as selected.
31
+ * - If the element cannot be selected, the current selection is cleared.
32
+ *
33
+ * 6. **Multi-selection logic**:
34
+ * - If the element is already selected, it is removed from the selection.
35
+ * - If the element is not selected and can be selected, it is added to the selection.
36
+ *
37
+ * 7. **Manage selection state**:
38
+ * - Adding or removing an element from the selection triggers the corresponding methods.
39
+ * - Selection state is tracked in the shared context for future use.
40
+ */
7
41
  export declare class SingleSelectExecution implements IExecution<SingleSelectRequest, void> {
8
- private fPlatform;
9
- private fComponentsStore;
10
- private fDraggableDataContext;
11
- private fMediator;
12
- constructor(fPlatform: PlatformService, fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, fMediator: FMediator);
42
+ private _fMediator;
43
+ private _fComponentsStore;
44
+ private _fDraggableDataContext;
13
45
  handle(request: SingleSelectRequest): void;
14
46
  private _isValid;
15
- private getSelectableItem;
16
- private _findNode;
17
- private getConnectionHandler;
18
- private isMultiselectEnabled;
19
- private isShiftPressed;
20
- private isCommandButton;
21
- private singleSelect;
22
- private multiSelect;
23
- private deselectItem;
24
- private selectItem;
25
- private clearSelection;
47
+ private _isEventInFlowBounds;
48
+ private _getItemToSelect;
49
+ private _getNodeOrGroup;
50
+ private _getConnection;
51
+ private _updateItemAndChildrenLayers;
52
+ private _isMultiSelect;
53
+ private _singleSelect;
54
+ private _isItemNotSelectedAndSelectable;
55
+ private _clearSelection;
56
+ private _multiSelect;
57
+ private _deselectItem;
58
+ private _removeItemFromSelectedItems;
59
+ private _selectItem;
26
60
  static ɵfac: i0.ɵɵFactoryDeclaration<SingleSelectExecution, never>;
27
61
  static ɵprov: i0.ɵɵInjectableDeclaration<SingleSelectExecution>;
28
62
  }
@@ -1,5 +1,7 @@
1
1
  import { IPointerEvent } from '@foblex/drag-toolkit';
2
+ import { FEventTrigger } from '../../domain';
2
3
  export declare class SingleSelectRequest {
3
4
  event: IPointerEvent;
4
- constructor(event: IPointerEvent);
5
+ fMultiSelectTrigger: FEventTrigger;
6
+ constructor(event: IPointerEvent, fMultiSelectTrigger: FEventTrigger);
5
7
  }
@@ -1,19 +1,15 @@
1
1
  import { ExternalItemPreparationRequest } from './external-item-preparation.request';
2
2
  import { IExecution } from '@foblex/mediator';
3
- import { FComponentsStore } from '../../../f-storage';
4
- import { FExternalItemService } from '../../../f-external-item';
5
- import { FDraggableDataContext } from '../../../f-draggable';
6
- import { BrowserService } from '@foblex/platform';
7
3
  import * as i0 from "@angular/core";
8
4
  export declare class ExternalItemPreparationExecution implements IExecution<ExternalItemPreparationRequest, void> {
9
- private fComponentsStore;
10
- private fDraggableDataContext;
11
- private fExternalItemService;
12
- private fBrowser;
13
- private get flowHost();
14
- constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, fExternalItemService: FExternalItemService, fBrowser: BrowserService);
5
+ private _fExternalItemService;
6
+ private _fDraggableDataContext;
7
+ private _fComponentsStore;
8
+ private get _fHost();
15
9
  handle(request: ExternalItemPreparationRequest): void;
16
- private getExternalItem;
10
+ private _isValid;
11
+ private _isValidExternalItem;
12
+ private _getExternalItem;
17
13
  static ɵfac: i0.ɵɵFactoryDeclaration<ExternalItemPreparationExecution, never>;
18
14
  static ɵprov: i0.ɵɵInjectableDeclaration<ExternalItemPreparationExecution>;
19
15
  }
@@ -1,4 +1,3 @@
1
1
  export * from './providers';
2
2
  export * from './external-item-preparation.execution';
3
3
  export * from './external-item-preparation.request';
4
- export * from './external-item-preparation.validator';
@@ -1,3 +1,2 @@
1
1
  import { ExternalItemPreparationExecution } from './external-item-preparation.execution';
2
- import { ExternalItemPreparationValidator } from './external-item-preparation.validator';
3
- export declare const EXTERNAL_ITEM_PREPARATION_PROVIDERS: (typeof ExternalItemPreparationExecution | typeof ExternalItemPreparationValidator)[];
2
+ export declare const EXTERNAL_ITEM_PREPARATION_PROVIDERS: (typeof ExternalItemPreparationExecution)[];
@@ -1,14 +1,13 @@
1
1
  import { IPoint } from '@foblex/2d';
2
2
  import { FExternalItemBase } from '../../f-external-item';
3
3
  import { IDraggableItem } from '../../f-draggable';
4
- import { BrowserService } from '@foblex/platform';
5
4
  export declare class ExternalItemDragHandler implements IDraggableItem {
6
5
  externalItem: FExternalItemBase;
7
- private fBrowser;
6
+ private _fBrowser;
8
7
  placeholder: HTMLElement | SVGElement | undefined;
9
8
  private onPointerDownRect;
10
9
  private difference;
11
- constructor(externalItem: FExternalItemBase, fBrowser: BrowserService);
10
+ constructor(externalItem: FExternalItemBase);
12
11
  private getStyle;
13
12
  prepareDragSequence(): void;
14
13
  private getExternalItemRect;
@@ -1,2 +1,2 @@
1
1
  import { PreventDefaultIsExternalItemExecution } from './prevent-default-is-external-item';
2
- export declare const F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS: (typeof import("./external-item-finalize").ExternalItemFinalizeExecution | typeof import("./external-item-preparation").ExternalItemPreparationExecution | typeof import("./external-item-preparation").ExternalItemPreparationValidator | typeof PreventDefaultIsExternalItemExecution)[];
2
+ export declare const F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS: (typeof import("./external-item-preparation").ExternalItemPreparationExecution | typeof import("./external-item-finalize").ExternalItemFinalizeExecution | typeof PreventDefaultIsExternalItemExecution)[];
@@ -1,4 +1,3 @@
1
1
  export * from './providers';
2
2
  export * from './minimap-drag-finalize.execution';
3
3
  export * from './minimap-drag-finalize.request';
4
- export * from './minimap-drag-finalize.validator';
@@ -6,6 +6,7 @@ export declare class MinimapDragFinalizeExecution implements IExecution<MinimapD
6
6
  private fDraggableDataContext;
7
7
  constructor(fDraggableDataContext: FDraggableDataContext);
8
8
  handle(request: MinimapDragFinalizeRequest): void;
9
+ private _isValid;
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<MinimapDragFinalizeExecution, never>;
10
11
  static ɵprov: i0.ɵɵInjectableDeclaration<MinimapDragFinalizeExecution>;
11
12
  }
@@ -1,3 +1,2 @@
1
1
  import { MinimapDragFinalizeExecution } from './minimap-drag-finalize.execution';
2
- import { MinimapDragFinalizeValidator } from './minimap-drag-finalize.validator';
3
- export declare const MINIMAP_DRAG_FINALIZE_PROVIDERS: (typeof MinimapDragFinalizeExecution | typeof MinimapDragFinalizeValidator)[];
2
+ export declare const MINIMAP_DRAG_FINALIZE_PROVIDERS: (typeof MinimapDragFinalizeExecution)[];
@@ -1,4 +1,3 @@
1
1
  export * from './providers';
2
2
  export * from './minimap-drag-preparation.execution';
3
3
  export * from './minimap-drag-preparation.request';
4
- export * from './minimap-drag-preparation.validator';
@@ -10,6 +10,7 @@ export declare class MinimapDragPreparationExecution implements IExecution<Minim
10
10
  private get flowHost();
11
11
  constructor(fComponentsStore: FComponentsStore, fMediator: FMediator, fDraggableDataContext: FDraggableDataContext);
12
12
  handle(request: MinimapDragPreparationRequest): void;
13
+ private _isValid;
13
14
  private getNewPosition;
14
15
  private getFlowRect;
15
16
  static ɵfac: i0.ɵɵFactoryDeclaration<MinimapDragPreparationExecution, never>;
@@ -1,3 +1,2 @@
1
1
  import { MinimapDragPreparationExecution } from './minimap-drag-preparation.execution';
2
- import { MinimapDragPreparationValidator } from './minimap-drag-preparation.validator';
3
- export declare const MINIMAP_DRAG_PREPARATION_PROVIDERS: (typeof MinimapDragPreparationExecution | typeof MinimapDragPreparationValidator)[];
2
+ export declare const MINIMAP_DRAG_PREPARATION_PROVIDERS: (typeof MinimapDragPreparationExecution)[];
@@ -2,4 +2,4 @@ import { CalculateFlowPointFromMinimapPointExecution } from './calculate-flow-po
2
2
  import { MinimapDrawNodesExecution } from './minimap-draw-nodes';
3
3
  import { MinimapCalculateViewBoxExecution } from './minimap-calculate-view-box';
4
4
  import { MinimapCalculateSvgScaleAndViewBoxExecution } from './minimap-calculate-svg-scale-and-view-box';
5
- export declare const F_MINIMAP_DRAG_AND_DROP_PROVIDERS: (typeof CalculateFlowPointFromMinimapPointExecution | typeof import("./minimap-drag-finalize").MinimapDragFinalizeExecution | typeof import("./minimap-drag-finalize").MinimapDragFinalizeValidator | typeof import("./minimap-drag-preparation").MinimapDragPreparationExecution | typeof import("./minimap-drag-preparation").MinimapDragPreparationValidator | typeof MinimapDrawNodesExecution | typeof MinimapCalculateSvgScaleAndViewBoxExecution | typeof MinimapCalculateViewBoxExecution)[];
5
+ export declare const F_MINIMAP_DRAG_AND_DROP_PROVIDERS: (typeof import("./minimap-drag-finalize").MinimapDragFinalizeExecution | typeof import("./minimap-drag-preparation").MinimapDragPreparationExecution | typeof CalculateFlowPointFromMinimapPointExecution | typeof MinimapDrawNodesExecution | typeof MinimapCalculateSvgScaleAndViewBoxExecution | typeof MinimapCalculateViewBoxExecution)[];
@@ -2,15 +2,15 @@ import { EventEmitter, InjectionToken } from '@angular/core';
2
2
  import { IPoint, IRect, ISize } from '@foblex/2d';
3
3
  import { FConnectorBase } from '../f-connectors';
4
4
  import { IHasHostElement } from '../i-has-host-element';
5
- import { ICanChangeSelection } from '../mixins';
5
+ import { ISelectable } from '../mixins';
6
6
  import { FChannel } from '../reactivity';
7
7
  export declare const F_NODE: InjectionToken<FNodeBase>;
8
- declare const MIXIN_BASE: import("../mixins").Constructor<ICanChangeSelection> & import("../mixins").AbstractConstructor<ICanChangeSelection> & {
8
+ declare const MIXIN_BASE: import("../mixins").Constructor<ISelectable> & import("../mixins").AbstractConstructor<ISelectable> & {
9
9
  new (hostElement: HTMLElement): {
10
10
  hostElement: HTMLElement;
11
11
  };
12
12
  };
13
- export declare abstract class FNodeBase extends MIXIN_BASE implements ICanChangeSelection, IHasHostElement {
13
+ export declare abstract class FNodeBase extends MIXIN_BASE implements ISelectable, IHasHostElement {
14
14
  abstract fId: string;
15
15
  abstract fParentId: string | null | undefined;
16
16
  readonly stateChanges: FChannel;
@@ -1,6 +1,10 @@
1
1
  export declare enum EFResizeHandleType {
2
+ LEFT = "left",
2
3
  LEFT_TOP = "left-top",
4
+ TOP = "top",
3
5
  RIGHT_TOP = "right-top",
4
- LEFT_BOTTOM = "left-bottom",
5
- RIGHT_BOTTOM = "right-bottom"
6
+ RIGHT = "right",
7
+ RIGHT_BOTTOM = "right-bottom",
8
+ BOTTOM = "bottom",
9
+ LEFT_BOTTOM = "left-bottom"
6
10
  }
@@ -2,4 +2,4 @@ import { FNodeDirective } from './f-node.directive';
2
2
  import { FResizeHandleDirective } from './f-resize-handle';
3
3
  import { FGroupDirective } from './f-group.directive';
4
4
  import { FDragHandleDirective } from './f-drag-handle.directive';
5
- export declare const F_NODE_PROVIDERS: (typeof FGroupDirective | typeof FNodeDirective | typeof FDragHandleDirective | typeof FResizeHandleDirective)[];
5
+ export declare const F_NODE_PROVIDERS: (typeof FResizeHandleDirective | typeof FNodeDirective | typeof FGroupDirective | typeof FDragHandleDirective)[];
@@ -1 +1,3 @@
1
- export declare const F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS: (typeof import("./selection-area-finalize").SelectionAreaFinalizeExecution | typeof import("./selection-area-finalize").SelectionAreaFinalizeValidator | typeof import("./selection-area-preparation").SelectionAreaPreparationExecution | typeof import("./selection-area-preparation").SelectionAreaPreparationValidator)[];
1
+ import { SelectionAreaPreparationExecution } from './selection-area-preparation';
2
+ import { SelectionAreaFinalizeExecution } from './selection-area-finalize';
3
+ export declare const F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS: (typeof SelectionAreaPreparationExecution | typeof SelectionAreaFinalizeExecution)[];
@@ -1,4 +1,2 @@
1
- export * from './providers';
2
1
  export * from './selection-area-finalize.execution';
3
2
  export * from './selection-area-finalize.request';
4
- export * from './selection-area-finalize.validator';
@@ -1,11 +1,10 @@
1
1
  import { SelectionAreaFinalizeRequest } from './selection-area-finalize.request';
2
2
  import { IExecution } from '@foblex/mediator';
3
- import { FDraggableDataContext } from '../../../f-draggable';
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class SelectionAreaFinalizeExecution implements IExecution<SelectionAreaFinalizeRequest, void> {
6
- private fDraggableDataContext;
7
- constructor(fDraggableDataContext: FDraggableDataContext);
5
+ private _fDraggableDataContext;
8
6
  handle(request: SelectionAreaFinalizeRequest): void;
7
+ private _isValid;
9
8
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectionAreaFinalizeExecution, never>;
10
9
  static ɵprov: i0.ɵɵInjectableDeclaration<SelectionAreaFinalizeExecution>;
11
10
  }
@@ -1,4 +1,2 @@
1
- export * from './providers';
2
1
  export * from './selection-area-preparation.execution';
3
2
  export * from './selection-area-preparation.request';
4
- export * from './selection-area-preparation.validator';
@@ -1,15 +1,13 @@
1
1
  import { SelectionAreaPreparationRequest } from './selection-area-preparation.request';
2
- import { FMediator, IExecution } from '@foblex/mediator';
3
- import { FComponentsStore } from '../../../f-storage';
4
- import { FDraggableDataContext } from '../../../f-draggable';
2
+ import { IExecution } from '@foblex/mediator';
5
3
  import * as i0 from "@angular/core";
6
4
  export declare class SelectionAreaPreparationExecution implements IExecution<SelectionAreaPreparationRequest, void> {
7
- private fComponentsStore;
8
- private fDraggableDataContext;
9
- private fMediator;
10
- private get flowHost();
11
- constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, fMediator: FMediator);
5
+ private _fMediator;
6
+ private _fComponentsStore;
7
+ private _fDraggableDataContext;
8
+ private get _fHost();
12
9
  handle(request: SelectionAreaPreparationRequest): void;
10
+ private _isValid;
13
11
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectionAreaPreparationExecution, never>;
14
12
  static ɵprov: i0.ɵɵInjectableDeclaration<SelectionAreaPreparationExecution>;
15
13
  }
@@ -1,7 +1,9 @@
1
1
  import { IPointerEvent } from '@foblex/drag-toolkit';
2
2
  import { FSelectionAreaBase } from '../../f-selection-area-base';
3
+ import { FEventTrigger } from '../../../domain';
3
4
  export declare class SelectionAreaPreparationRequest {
4
5
  event: IPointerEvent;
5
6
  fSelectionArea: FSelectionAreaBase;
6
- constructor(event: IPointerEvent, fSelectionArea: FSelectionAreaBase);
7
+ fTrigger: FEventTrigger;
8
+ constructor(event: IPointerEvent, fSelectionArea: FSelectionAreaBase, fTrigger: FEventTrigger);
7
9
  }
@@ -4,15 +4,16 @@ import { FMediator } from '@foblex/mediator';
4
4
  import { FDraggableDataContext, IDraggableItem } from '../../f-draggable';
5
5
  import { FSelectionAreaBase } from '../f-selection-area-base';
6
6
  export declare class SelectionAreaDragHandle implements IDraggableItem {
7
- private fComponentsStore;
8
- private fSelectionArea;
9
- private fDraggableDataContext;
10
- private fMediator;
7
+ private _fComponentsStore;
8
+ private _fSelectionArea;
9
+ private _fDraggableDataContext;
10
+ private _fMediator;
11
11
  private _canBeSelected;
12
12
  private _selectedByMove;
13
- private get canvasPosition();
14
- constructor(fComponentsStore: FComponentsStore, fSelectionArea: FSelectionAreaBase, fDraggableDataContext: FDraggableDataContext, fMediator: FMediator);
13
+ private get _fCanvasPosition();
14
+ constructor(_fComponentsStore: FComponentsStore, _fSelectionArea: FSelectionAreaBase, _fDraggableDataContext: FDraggableDataContext, _fMediator: FMediator);
15
15
  prepareDragSequence(): void;
16
16
  onPointerMove(difference: IPoint): void;
17
+ private _getMinimumPoint;
17
18
  onPointerUp(): void;
18
19
  }
@@ -3,10 +3,12 @@ import { FSelectionAreaBase } from './f-selection-area-base';
3
3
  import { IFDragAndDropPlugin } from '../f-draggable';
4
4
  import { IPointerEvent } from '@foblex/drag-toolkit';
5
5
  import { IRect } from '@foblex/2d';
6
+ import { FEventTrigger } from '../domain';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare class FSelectionAreaComponent extends FSelectionAreaBase implements OnInit, IFDragAndDropPlugin {
8
9
  private _fMediator;
9
10
  private _elementReference;
11
+ fTrigger: FEventTrigger;
10
12
  get hostElement(): HTMLElement;
11
13
  ngOnInit(): void;
12
14
  hide(): void;
@@ -15,5 +17,5 @@ export declare class FSelectionAreaComponent extends FSelectionAreaBase implemen
15
17
  onPointerDown(event: IPointerEvent): void;
16
18
  onPointerUp(event: IPointerEvent): void;
17
19
  static ɵfac: i0.ɵɵFactoryDeclaration<FSelectionAreaComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<FSelectionAreaComponent, "f-selection-area", never, {}, {}, never, never, false, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<FSelectionAreaComponent, "f-selection-area", never, { "fTrigger": { "alias": "fTrigger"; "required": false; }; }, {}, never, never, false, never>;
19
21
  }
@@ -4,4 +4,4 @@ import { FComponentsStore } from './f-components-store';
4
4
  import { ListenCountChangesExecution } from './features/listen-count-changes';
5
5
  import { ListenTransformChangesExecution } from './features/listen-transform-changes';
6
6
  import { NotifyTransformChangedExecution } from './features/notify-transform-changed';
7
- export declare const F_STORAGE_PROVIDERS: (typeof NotifyDataChangedExecution | typeof ListenCountChangesExecution | typeof ListenDataChangesExecution | typeof ListenTransformChangesExecution | typeof NotifyTransformChangedExecution | typeof FComponentsStore)[];
7
+ export declare const F_STORAGE_PROVIDERS: (typeof FComponentsStore | typeof NotifyDataChangedExecution | typeof ListenCountChangesExecution | typeof ListenDataChangesExecution | typeof ListenTransformChangesExecution | typeof NotifyTransformChangedExecution)[];